LoginActivity.java 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. package com.datarecovery.master.module.login;
  2. import android.app.Activity;
  3. import android.content.Context;
  4. import android.content.Intent;
  5. import android.os.Bundle;
  6. import android.view.View;
  7. import androidx.annotation.Nullable;
  8. import com.atmob.app.lib.base.BaseActivity;
  9. import com.atmob.common.runtime.ContextUtil;
  10. import com.datarecovery.master.R;
  11. import com.datarecovery.master.data.consts.Constants;
  12. import com.datarecovery.master.databinding.ActivityLoginBinding;
  13. import com.datarecovery.master.module.browser.BrowserActivity;
  14. import com.datarecovery.master.utils.SpannableUtil;
  15. import dagger.hilt.android.AndroidEntryPoint;
  16. @AndroidEntryPoint
  17. public class LoginActivity extends BaseActivity<ActivityLoginBinding> {
  18. private static final String REPORT_ID = "reportId";
  19. private LoginViewModel loginViewModel;
  20. public static void start(Context context, String reportId) {
  21. Intent intent = new Intent(context, LoginActivity.class);
  22. if (!(context instanceof Activity)) {
  23. intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
  24. }
  25. intent.putExtra(REPORT_ID, reportId);
  26. context.startActivity(intent);
  27. }
  28. @Override
  29. protected void onCreate(@Nullable Bundle savedInstanceState) {
  30. super.onCreate(savedInstanceState);
  31. initData();
  32. initView();
  33. initObserver();
  34. }
  35. private void initData() {
  36. loginViewModel.setReportId(getIntent().getStringExtra(REPORT_ID));
  37. }
  38. private void initView() {
  39. String agreeText = getString(R.string.login_agree_text);
  40. String userTermsText = getString(R.string.login_agree_user_terms_text);
  41. String privacyPolicyText = getString(R.string.login_agree_privacy_policy_text);
  42. SpannableUtil.getAgreementSpannableStringBuilder(binding.loginAgreeText, agreeText, new String[]{userTermsText, privacyPolicyText}, getResources().getColor(R.color.colorPrimary), false,
  43. v -> BrowserActivity.start(getBaseContext(), Constants.PRIVACY_POLICY), v -> BrowserActivity.start(getBaseContext(), Constants.USER_AGREEMENT));
  44. }
  45. private void initObserver() {
  46. loginViewModel.getFinishEvent().observe(this, o -> finish());
  47. }
  48. @Override
  49. protected boolean shouldImmersion() {
  50. return true;
  51. }
  52. @Override
  53. protected void initViewModel() {
  54. super.initViewModel();
  55. loginViewModel = getViewModelProvider().get(LoginViewModel.class);
  56. binding.setLoginViewModel(loginViewModel);
  57. }
  58. }