Loading src/com/android/settings/biometrics2/factory/BiometricsViewModelFactory.java +24 −10 Original line number Diff line number Diff line Loading @@ -29,6 +29,7 @@ import androidx.lifecycle.viewmodel.CreationExtras; import com.android.internal.widget.LockPatternUtils; import com.android.settings.biometrics.fingerprint.FingerprintUpdater; import com.android.settings.biometrics2.data.repository.FingerprintRepository; import com.android.settings.biometrics2.ui.model.EnrollmentRequest; import com.android.settings.biometrics2.ui.viewmodel.AutoCredentialViewModel; import com.android.settings.biometrics2.ui.viewmodel.AutoCredentialViewModel.ChallengeGenerator; import com.android.settings.biometrics2.ui.viewmodel.DeviceFoldedViewModel; Loading @@ -47,8 +48,11 @@ public class BiometricsViewModelFactory implements ViewModelProvider.Factory { private static final String TAG = "BiometricsViewModelFact"; public static final CreationExtras.Key<ChallengeGenerator> CHALLENGE_GENERATOR = new CreationExtras.Key<ChallengeGenerator>() {}; public static final CreationExtras.Key<ChallengeGenerator> CHALLENGE_GENERATOR_KEY = new CreationExtras.Key<>() {}; public static final CreationExtras.Key<EnrollmentRequest> ENROLLMENT_REQUEST_KEY = new CreationExtras.Key<>() {}; public static final CreationExtras.Key<Integer> USER_ID_KEY = new CreationExtras.Key<>() {}; @NonNull @Override Loading @@ -68,7 +72,7 @@ public class BiometricsViewModelFactory implements ViewModelProvider.Factory { if (modelClass.isAssignableFrom(AutoCredentialViewModel.class)) { final LockPatternUtils lockPatternUtils = featureFactory.getSecurityFeatureProvider().getLockPatternUtils(application); final ChallengeGenerator challengeGenerator = extras.get(CHALLENGE_GENERATOR); final ChallengeGenerator challengeGenerator = extras.get(CHALLENGE_GENERATOR_KEY); if (challengeGenerator != null) { return (T) new AutoCredentialViewModel(application, lockPatternUtils, challengeGenerator); Loading @@ -79,21 +83,31 @@ public class BiometricsViewModelFactory implements ViewModelProvider.Factory { } else if (modelClass.isAssignableFrom(DeviceRotationViewModel.class)) { return (T) new DeviceRotationViewModel(application); } else if (modelClass.isAssignableFrom(FingerprintEnrollFindSensorViewModel.class)) { return (T) new FingerprintEnrollFindSensorViewModel(application); final EnrollmentRequest request = extras.get(ENROLLMENT_REQUEST_KEY); if (request != null) { return (T) new FingerprintEnrollFindSensorViewModel(application, request.isSuw()); } } else if (modelClass.isAssignableFrom(FingerprintEnrollIntroViewModel.class)) { final FingerprintRepository repository = provider.getFingerprintRepository(application); if (repository != null) { return (T) new FingerprintEnrollIntroViewModel(application, repository); final EnrollmentRequest request = extras.get(ENROLLMENT_REQUEST_KEY); final Integer userId = extras.get(USER_ID_KEY); if (repository != null && request != null && userId != null) { return (T) new FingerprintEnrollIntroViewModel(application, repository, request, userId); } } else if (modelClass.isAssignableFrom(FingerprintEnrollmentViewModel.class)) { final FingerprintRepository repository = provider.getFingerprintRepository(application); if (repository != null) { final EnrollmentRequest request = extras.get(ENROLLMENT_REQUEST_KEY); if (repository != null && request != null) { return (T) new FingerprintEnrollmentViewModel(application, repository, application.getSystemService(KeyguardManager.class)); application.getSystemService(KeyguardManager.class), request); } } else if (modelClass.isAssignableFrom(FingerprintEnrollProgressViewModel.class)) { final Integer userId = extras.get(USER_ID_KEY); if (userId != null) { return (T) new FingerprintEnrollProgressViewModel(application, new FingerprintUpdater(application)); new FingerprintUpdater(application), userId); } } return create(modelClass); } Loading src/com/android/settings/biometrics2/ui/model/CredentialModel.java +4 −1 Original line number Diff line number Diff line Loading @@ -82,7 +82,10 @@ public final class CredentialModel { @Nullable private Long mClearGkPwHandleMillis = null; public CredentialModel(@NonNull Bundle bundle, @NonNull Clock clock) { public CredentialModel(@Nullable Bundle bundle, @NonNull Clock clock) { if (bundle == null) { bundle = new Bundle(); } mUserId = bundle.getInt(Intent.EXTRA_USER_ID, UserHandle.myUserId()); mSensorId = bundle.getInt(EXTRA_KEY_SENSOR_ID, INVALID_SENSOR_ID); mChallenge = bundle.getLong(EXTRA_KEY_CHALLENGE, INVALID_CHALLENGE); Loading src/com/android/settings/biometrics2/ui/view/FingerprintEnrollIntroFragment.java +1 −8 Original line number Diff line number Diff line Loading @@ -163,7 +163,7 @@ public class FingerprintEnrollIntroFragment extends Fragment { mIconShield.setVisibility(View.GONE); } mSecondaryFooterButton.setText(context, mViewModel.getEnrollmentRequest().isAfterSuwOrSuwSuggestedAction() mViewModel.getRequest().isAfterSuwOrSuwSuggestedAction() ? R.string.security_settings_fingerprint_enroll_introduction_cancel : R.string.security_settings_fingerprint_enroll_introduction_no_thanks); Loading Loading @@ -209,16 +209,9 @@ public class FingerprintEnrollIntroFragment extends Fragment { public void onAttach(@NonNull Context context) { mViewModel = new ViewModelProvider(getActivity()) .get(FingerprintEnrollIntroViewModel.class); getLifecycle().addObserver(mViewModel); super.onAttach(context); } @Override public void onDetach() { getLifecycle().removeObserver(mViewModel); super.onDetach(); } @NonNull private PorterDuffColorFilter getIconColorFilter(@NonNull Context context) { if (mIconColorFilter == null) { Loading src/com/android/settings/biometrics2/ui/view/FingerprintEnrollmentActivity.java +21 −12 Original line number Diff line number Diff line Loading @@ -19,7 +19,9 @@ package com.android.settings.biometrics2.ui.view; import static androidx.activity.result.contract.ActivityResultContracts.StartActivityForResult; import static androidx.lifecycle.ViewModelProvider.AndroidViewModelFactory.APPLICATION_KEY; import static com.android.settings.biometrics2.factory.BiometricsViewModelFactory.CHALLENGE_GENERATOR; import static com.android.settings.biometrics2.factory.BiometricsViewModelFactory.CHALLENGE_GENERATOR_KEY; import static com.android.settings.biometrics2.factory.BiometricsViewModelFactory.ENROLLMENT_REQUEST_KEY; import static com.android.settings.biometrics2.factory.BiometricsViewModelFactory.USER_ID_KEY; import static com.android.settings.biometrics2.ui.viewmodel.AutoCredentialViewModel.CREDENTIAL_FAIL_NEED_TO_CHOOSE_LOCK; import static com.android.settings.biometrics2.ui.viewmodel.AutoCredentialViewModel.CREDENTIAL_FAIL_NEED_TO_CONFIRM_LOCK; import static com.android.settings.biometrics2.ui.viewmodel.AutoCredentialViewModel.CREDENTIAL_IS_GENERATING_CHALLENGE; Loading @@ -37,9 +39,11 @@ import android.annotation.StyleRes; import android.app.Application; import android.content.Intent; import android.content.res.ColorStateList; import android.content.res.Configuration; import android.content.res.Resources; import android.graphics.Color; import android.os.Bundle; import android.os.SystemClock; import android.util.Log; import androidx.activity.result.ActivityResult; Loading @@ -63,9 +67,11 @@ import com.android.settings.biometrics.fingerprint.FingerprintEnrollEnrolling; import com.android.settings.biometrics.fingerprint.SetupFingerprintEnrollEnrolling; import com.android.settings.biometrics2.data.repository.FingerprintRepository; import com.android.settings.biometrics2.factory.BiometricsViewModelFactory; import com.android.settings.biometrics2.ui.model.CredentialModel; import com.android.settings.biometrics2.ui.model.EnrollmentRequest; import com.android.settings.biometrics2.ui.viewmodel.AutoCredentialViewModel; import com.android.settings.biometrics2.ui.viewmodel.AutoCredentialViewModel.FingerprintChallengeGenerator; import com.android.settings.biometrics2.ui.viewmodel.DeviceFoldedViewModel; import com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollFindSensorViewModel; import com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollIntroViewModel; import com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollProgressViewModel; Loading Loading @@ -126,7 +132,6 @@ public class FingerprintEnrollmentActivity extends FragmentActivity { mViewModelProvider = new ViewModelProvider(this); mViewModel = mViewModelProvider.get(FingerprintEnrollmentViewModel.class); mViewModel.setRequest(new EnrollmentRequest(getIntent(), getApplicationContext())); mViewModel.setSavedInstanceState(savedInstanceState); mAutoCredentialViewModel = mViewModelProvider.get(AutoCredentialViewModel.class); Loading Loading @@ -173,7 +178,6 @@ public class FingerprintEnrollmentActivity extends FragmentActivity { } // observe LiveData getLifecycle().addObserver(mViewModel); mViewModel.getSetResultLiveData().observe(this, this::onSetActivityResult); mAutoCredentialViewModel.getGenerateChallengeFailedLiveData().observe(this, Loading @@ -193,9 +197,6 @@ public class FingerprintEnrollmentActivity extends FragmentActivity { final FingerprintEnrollIntroViewModel introViewModel = mViewModelProvider.get(FingerprintEnrollIntroViewModel.class); introViewModel.setEnrollmentRequest(mViewModel.getRequest()); introViewModel.setUserId(mAutoCredentialViewModel.getUserId()); // Clear ActionLiveData in FragmentViewModel to prevent getting previous action during // recreate, like press 'Agree' then press 'back' in FingerprintEnrollFindSensor activity. introViewModel.clearActionLiveData(); Loading Loading @@ -224,12 +225,10 @@ public class FingerprintEnrollmentActivity extends FragmentActivity { if (initProgressViewModel) { final FingerprintEnrollProgressViewModel progressViewModel = mViewModelProvider.get(FingerprintEnrollProgressViewModel.class); progressViewModel.setUserId(mAutoCredentialViewModel.getUserId()); progressViewModel.setToken(mAutoCredentialViewModel.getToken()); } final FingerprintEnrollFindSensorViewModel findSensorViewModel = mViewModelProvider.get(FingerprintEnrollFindSensorViewModel.class); findSensorViewModel.setIsSuw(mViewModel.getRequest().isSuw()); getSupportFragmentManager().beginTransaction() .setReorderingAllowed(true) .setCustomAnimations(R.anim.sud_slide_next_in, R.anim.sud_slide_next_out, Loading Loading @@ -408,9 +407,19 @@ public class FingerprintEnrollmentActivity extends FragmentActivity { super.getDefaultViewModelCreationExtras().get(APPLICATION_KEY); final MutableCreationExtras ret = new MutableCreationExtras(); ret.set(APPLICATION_KEY, application); final FingerprintRepository repository = FeatureFactory.getFactory(application) .getBiometricsRepositoryProvider().getFingerprintRepository(application); ret.set(CHALLENGE_GENERATOR, new FingerprintChallengeGenerator(repository)); ret.set(CHALLENGE_GENERATOR_KEY, new FingerprintChallengeGenerator(repository)); ret.set(ENROLLMENT_REQUEST_KEY, new EnrollmentRequest(getIntent(), getApplicationContext())); Bundle extras = getIntent().getExtras(); final CredentialModel credentialModel = new CredentialModel(extras, SystemClock.elapsedRealtimeClock()); ret.set(USER_ID_KEY, credentialModel.getUserId()); return ret; } Loading @@ -433,9 +442,9 @@ public class FingerprintEnrollmentActivity extends FragmentActivity { } @Override protected void onDestroy() { getLifecycle().removeObserver(mViewModel); super.onDestroy(); public void onConfigurationChanged(@NonNull Configuration newConfig) { mViewModelProvider.get(DeviceFoldedViewModel.class).onConfigurationChanged(newConfig); super.onConfigurationChanged(newConfig); } @Override Loading src/com/android/settings/biometrics2/ui/viewmodel/AutoCredentialViewModel.java +1 −2 Original line number Diff line number Diff line Loading @@ -201,8 +201,7 @@ public class AutoCredentialViewModel extends AndroidViewModel { } else { bundle = intent.getExtras(); } mCredentialModel = new CredentialModel(bundle != null ? bundle : new Bundle(), SystemClock.elapsedRealtimeClock()); mCredentialModel = new CredentialModel(bundle, SystemClock.elapsedRealtimeClock()); if (DEBUG) { Log.d(TAG, "setCredentialModel " + mCredentialModel + ", savedInstanceState exist:" Loading Loading
src/com/android/settings/biometrics2/factory/BiometricsViewModelFactory.java +24 −10 Original line number Diff line number Diff line Loading @@ -29,6 +29,7 @@ import androidx.lifecycle.viewmodel.CreationExtras; import com.android.internal.widget.LockPatternUtils; import com.android.settings.biometrics.fingerprint.FingerprintUpdater; import com.android.settings.biometrics2.data.repository.FingerprintRepository; import com.android.settings.biometrics2.ui.model.EnrollmentRequest; import com.android.settings.biometrics2.ui.viewmodel.AutoCredentialViewModel; import com.android.settings.biometrics2.ui.viewmodel.AutoCredentialViewModel.ChallengeGenerator; import com.android.settings.biometrics2.ui.viewmodel.DeviceFoldedViewModel; Loading @@ -47,8 +48,11 @@ public class BiometricsViewModelFactory implements ViewModelProvider.Factory { private static final String TAG = "BiometricsViewModelFact"; public static final CreationExtras.Key<ChallengeGenerator> CHALLENGE_GENERATOR = new CreationExtras.Key<ChallengeGenerator>() {}; public static final CreationExtras.Key<ChallengeGenerator> CHALLENGE_GENERATOR_KEY = new CreationExtras.Key<>() {}; public static final CreationExtras.Key<EnrollmentRequest> ENROLLMENT_REQUEST_KEY = new CreationExtras.Key<>() {}; public static final CreationExtras.Key<Integer> USER_ID_KEY = new CreationExtras.Key<>() {}; @NonNull @Override Loading @@ -68,7 +72,7 @@ public class BiometricsViewModelFactory implements ViewModelProvider.Factory { if (modelClass.isAssignableFrom(AutoCredentialViewModel.class)) { final LockPatternUtils lockPatternUtils = featureFactory.getSecurityFeatureProvider().getLockPatternUtils(application); final ChallengeGenerator challengeGenerator = extras.get(CHALLENGE_GENERATOR); final ChallengeGenerator challengeGenerator = extras.get(CHALLENGE_GENERATOR_KEY); if (challengeGenerator != null) { return (T) new AutoCredentialViewModel(application, lockPatternUtils, challengeGenerator); Loading @@ -79,21 +83,31 @@ public class BiometricsViewModelFactory implements ViewModelProvider.Factory { } else if (modelClass.isAssignableFrom(DeviceRotationViewModel.class)) { return (T) new DeviceRotationViewModel(application); } else if (modelClass.isAssignableFrom(FingerprintEnrollFindSensorViewModel.class)) { return (T) new FingerprintEnrollFindSensorViewModel(application); final EnrollmentRequest request = extras.get(ENROLLMENT_REQUEST_KEY); if (request != null) { return (T) new FingerprintEnrollFindSensorViewModel(application, request.isSuw()); } } else if (modelClass.isAssignableFrom(FingerprintEnrollIntroViewModel.class)) { final FingerprintRepository repository = provider.getFingerprintRepository(application); if (repository != null) { return (T) new FingerprintEnrollIntroViewModel(application, repository); final EnrollmentRequest request = extras.get(ENROLLMENT_REQUEST_KEY); final Integer userId = extras.get(USER_ID_KEY); if (repository != null && request != null && userId != null) { return (T) new FingerprintEnrollIntroViewModel(application, repository, request, userId); } } else if (modelClass.isAssignableFrom(FingerprintEnrollmentViewModel.class)) { final FingerprintRepository repository = provider.getFingerprintRepository(application); if (repository != null) { final EnrollmentRequest request = extras.get(ENROLLMENT_REQUEST_KEY); if (repository != null && request != null) { return (T) new FingerprintEnrollmentViewModel(application, repository, application.getSystemService(KeyguardManager.class)); application.getSystemService(KeyguardManager.class), request); } } else if (modelClass.isAssignableFrom(FingerprintEnrollProgressViewModel.class)) { final Integer userId = extras.get(USER_ID_KEY); if (userId != null) { return (T) new FingerprintEnrollProgressViewModel(application, new FingerprintUpdater(application)); new FingerprintUpdater(application), userId); } } return create(modelClass); } Loading
src/com/android/settings/biometrics2/ui/model/CredentialModel.java +4 −1 Original line number Diff line number Diff line Loading @@ -82,7 +82,10 @@ public final class CredentialModel { @Nullable private Long mClearGkPwHandleMillis = null; public CredentialModel(@NonNull Bundle bundle, @NonNull Clock clock) { public CredentialModel(@Nullable Bundle bundle, @NonNull Clock clock) { if (bundle == null) { bundle = new Bundle(); } mUserId = bundle.getInt(Intent.EXTRA_USER_ID, UserHandle.myUserId()); mSensorId = bundle.getInt(EXTRA_KEY_SENSOR_ID, INVALID_SENSOR_ID); mChallenge = bundle.getLong(EXTRA_KEY_CHALLENGE, INVALID_CHALLENGE); Loading
src/com/android/settings/biometrics2/ui/view/FingerprintEnrollIntroFragment.java +1 −8 Original line number Diff line number Diff line Loading @@ -163,7 +163,7 @@ public class FingerprintEnrollIntroFragment extends Fragment { mIconShield.setVisibility(View.GONE); } mSecondaryFooterButton.setText(context, mViewModel.getEnrollmentRequest().isAfterSuwOrSuwSuggestedAction() mViewModel.getRequest().isAfterSuwOrSuwSuggestedAction() ? R.string.security_settings_fingerprint_enroll_introduction_cancel : R.string.security_settings_fingerprint_enroll_introduction_no_thanks); Loading Loading @@ -209,16 +209,9 @@ public class FingerprintEnrollIntroFragment extends Fragment { public void onAttach(@NonNull Context context) { mViewModel = new ViewModelProvider(getActivity()) .get(FingerprintEnrollIntroViewModel.class); getLifecycle().addObserver(mViewModel); super.onAttach(context); } @Override public void onDetach() { getLifecycle().removeObserver(mViewModel); super.onDetach(); } @NonNull private PorterDuffColorFilter getIconColorFilter(@NonNull Context context) { if (mIconColorFilter == null) { Loading
src/com/android/settings/biometrics2/ui/view/FingerprintEnrollmentActivity.java +21 −12 Original line number Diff line number Diff line Loading @@ -19,7 +19,9 @@ package com.android.settings.biometrics2.ui.view; import static androidx.activity.result.contract.ActivityResultContracts.StartActivityForResult; import static androidx.lifecycle.ViewModelProvider.AndroidViewModelFactory.APPLICATION_KEY; import static com.android.settings.biometrics2.factory.BiometricsViewModelFactory.CHALLENGE_GENERATOR; import static com.android.settings.biometrics2.factory.BiometricsViewModelFactory.CHALLENGE_GENERATOR_KEY; import static com.android.settings.biometrics2.factory.BiometricsViewModelFactory.ENROLLMENT_REQUEST_KEY; import static com.android.settings.biometrics2.factory.BiometricsViewModelFactory.USER_ID_KEY; import static com.android.settings.biometrics2.ui.viewmodel.AutoCredentialViewModel.CREDENTIAL_FAIL_NEED_TO_CHOOSE_LOCK; import static com.android.settings.biometrics2.ui.viewmodel.AutoCredentialViewModel.CREDENTIAL_FAIL_NEED_TO_CONFIRM_LOCK; import static com.android.settings.biometrics2.ui.viewmodel.AutoCredentialViewModel.CREDENTIAL_IS_GENERATING_CHALLENGE; Loading @@ -37,9 +39,11 @@ import android.annotation.StyleRes; import android.app.Application; import android.content.Intent; import android.content.res.ColorStateList; import android.content.res.Configuration; import android.content.res.Resources; import android.graphics.Color; import android.os.Bundle; import android.os.SystemClock; import android.util.Log; import androidx.activity.result.ActivityResult; Loading @@ -63,9 +67,11 @@ import com.android.settings.biometrics.fingerprint.FingerprintEnrollEnrolling; import com.android.settings.biometrics.fingerprint.SetupFingerprintEnrollEnrolling; import com.android.settings.biometrics2.data.repository.FingerprintRepository; import com.android.settings.biometrics2.factory.BiometricsViewModelFactory; import com.android.settings.biometrics2.ui.model.CredentialModel; import com.android.settings.biometrics2.ui.model.EnrollmentRequest; import com.android.settings.biometrics2.ui.viewmodel.AutoCredentialViewModel; import com.android.settings.biometrics2.ui.viewmodel.AutoCredentialViewModel.FingerprintChallengeGenerator; import com.android.settings.biometrics2.ui.viewmodel.DeviceFoldedViewModel; import com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollFindSensorViewModel; import com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollIntroViewModel; import com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollProgressViewModel; Loading Loading @@ -126,7 +132,6 @@ public class FingerprintEnrollmentActivity extends FragmentActivity { mViewModelProvider = new ViewModelProvider(this); mViewModel = mViewModelProvider.get(FingerprintEnrollmentViewModel.class); mViewModel.setRequest(new EnrollmentRequest(getIntent(), getApplicationContext())); mViewModel.setSavedInstanceState(savedInstanceState); mAutoCredentialViewModel = mViewModelProvider.get(AutoCredentialViewModel.class); Loading Loading @@ -173,7 +178,6 @@ public class FingerprintEnrollmentActivity extends FragmentActivity { } // observe LiveData getLifecycle().addObserver(mViewModel); mViewModel.getSetResultLiveData().observe(this, this::onSetActivityResult); mAutoCredentialViewModel.getGenerateChallengeFailedLiveData().observe(this, Loading @@ -193,9 +197,6 @@ public class FingerprintEnrollmentActivity extends FragmentActivity { final FingerprintEnrollIntroViewModel introViewModel = mViewModelProvider.get(FingerprintEnrollIntroViewModel.class); introViewModel.setEnrollmentRequest(mViewModel.getRequest()); introViewModel.setUserId(mAutoCredentialViewModel.getUserId()); // Clear ActionLiveData in FragmentViewModel to prevent getting previous action during // recreate, like press 'Agree' then press 'back' in FingerprintEnrollFindSensor activity. introViewModel.clearActionLiveData(); Loading Loading @@ -224,12 +225,10 @@ public class FingerprintEnrollmentActivity extends FragmentActivity { if (initProgressViewModel) { final FingerprintEnrollProgressViewModel progressViewModel = mViewModelProvider.get(FingerprintEnrollProgressViewModel.class); progressViewModel.setUserId(mAutoCredentialViewModel.getUserId()); progressViewModel.setToken(mAutoCredentialViewModel.getToken()); } final FingerprintEnrollFindSensorViewModel findSensorViewModel = mViewModelProvider.get(FingerprintEnrollFindSensorViewModel.class); findSensorViewModel.setIsSuw(mViewModel.getRequest().isSuw()); getSupportFragmentManager().beginTransaction() .setReorderingAllowed(true) .setCustomAnimations(R.anim.sud_slide_next_in, R.anim.sud_slide_next_out, Loading Loading @@ -408,9 +407,19 @@ public class FingerprintEnrollmentActivity extends FragmentActivity { super.getDefaultViewModelCreationExtras().get(APPLICATION_KEY); final MutableCreationExtras ret = new MutableCreationExtras(); ret.set(APPLICATION_KEY, application); final FingerprintRepository repository = FeatureFactory.getFactory(application) .getBiometricsRepositoryProvider().getFingerprintRepository(application); ret.set(CHALLENGE_GENERATOR, new FingerprintChallengeGenerator(repository)); ret.set(CHALLENGE_GENERATOR_KEY, new FingerprintChallengeGenerator(repository)); ret.set(ENROLLMENT_REQUEST_KEY, new EnrollmentRequest(getIntent(), getApplicationContext())); Bundle extras = getIntent().getExtras(); final CredentialModel credentialModel = new CredentialModel(extras, SystemClock.elapsedRealtimeClock()); ret.set(USER_ID_KEY, credentialModel.getUserId()); return ret; } Loading @@ -433,9 +442,9 @@ public class FingerprintEnrollmentActivity extends FragmentActivity { } @Override protected void onDestroy() { getLifecycle().removeObserver(mViewModel); super.onDestroy(); public void onConfigurationChanged(@NonNull Configuration newConfig) { mViewModelProvider.get(DeviceFoldedViewModel.class).onConfigurationChanged(newConfig); super.onConfigurationChanged(newConfig); } @Override Loading
src/com/android/settings/biometrics2/ui/viewmodel/AutoCredentialViewModel.java +1 −2 Original line number Diff line number Diff line Loading @@ -201,8 +201,7 @@ public class AutoCredentialViewModel extends AndroidViewModel { } else { bundle = intent.getExtras(); } mCredentialModel = new CredentialModel(bundle != null ? bundle : new Bundle(), SystemClock.elapsedRealtimeClock()); mCredentialModel = new CredentialModel(bundle, SystemClock.elapsedRealtimeClock()); if (DEBUG) { Log.d(TAG, "setCredentialModel " + mCredentialModel + ", savedInstanceState exist:" Loading