| | |
| | | import androidx.annotation.Nullable; |
| | | import androidx.annotation.StringRes; |
| | | import androidx.lifecycle.Observer; |
| | | import androidx.lifecycle.ViewModelProvider; |
| | | |
| | | import com.duqing.missions.R; |
| | | import com.duqing.missions.base.BaseTitleBarActivity; |
| | | import com.duqing.missions.base.activities.BaseTitleBarActivity; |
| | | import com.duqing.missions.databinding.ActivityLoginBinding; |
| | | |
| | | |
| | | public class LoginActivity extends BaseTitleBarActivity<ActivityLoginBinding> { |
| | | public class LoginActivity extends BaseTitleBarActivity<ActivityLoginBinding,LoginViewModel> { |
| | | |
| | | private LoginViewModel loginViewModel; |
| | | |
| | | @Override |
| | | public void initViews() { |
| | | |
| | | loginViewModel = new ViewModelProvider(this, new LoginViewModelFactory()).get(LoginViewModel.class); |
| | | |
| | | final EditText phoneEdit = binding.editPhone; |
| | | final EditText passwordEditText = binding.editPassword; |
| | | final Button loginButton = binding.login; |
| | | loginViewModel.getLoginFormState().observe(this, new Observer<LoginFormState>() { |
| | | viewModel.getLoginFormState().observe(this, new Observer<LoginFormState>() { |
| | | @Override |
| | | public void onChanged(@Nullable LoginFormState loginFormState) { |
| | | if (loginFormState == null) { |
| | |
| | | } |
| | | }); |
| | | |
| | | loginViewModel.getLoginResult().observe(this, new Observer<LoginResult>() { |
| | | viewModel.getLoginResult().observe(this, new Observer<LoginResult>() { |
| | | @Override |
| | | public void onChanged(@Nullable LoginResult loginResult) { |
| | | if (loginResult == null) { |
| | |
| | | |
| | | @Override |
| | | public void afterTextChanged(Editable s) { |
| | | loginViewModel.loginDataChanged(phoneEdit.getText().toString(), |
| | | viewModel.loginDataChanged(phoneEdit.getText().toString(), |
| | | passwordEditText.getText().toString()); |
| | | } |
| | | }; |
| | |
| | | @Override |
| | | public boolean onEditorAction(TextView v, int actionId, KeyEvent event) { |
| | | if (actionId == EditorInfo.IME_ACTION_DONE) { |
| | | loginViewModel.login(phoneEdit.getText().toString(), |
| | | viewModel.login(phoneEdit.getText().toString(), |
| | | passwordEditText.getText().toString()); |
| | | } |
| | | return false; |
| | |
| | | loginButton.setOnClickListener(new View.OnClickListener() { |
| | | @Override |
| | | public void onClick(View v) { |
| | | loginViewModel.login(phoneEdit.getText().toString(), |
| | | viewModel.login(phoneEdit.getText().toString(), |
| | | passwordEditText.getText().toString()); |
| | | } |
| | | }); |