Update theme transition for fingerprint in U

Apply suw transition for fingerprint
1. Fix incorrect animation between Lock and Fingeprint in Suw
2. Fix incorrect animation between Fingeprint and FaceLock in Suw
3. Remove unnecessary overridePendingAnimation during Enorlling
4. Fix no animation in biometrics v2 because of incorrect calling order
   in FragmentTransaction

Bug: 269063515
Test: Manually test transition animation for fingerprint enrollments
Change-Id: I12475dae5cb2905c81b24d3b57438b898afa1e27
This commit is contained in:
Milton Wu
2023-02-22 11:31:33 +08:00
parent 89c6471454
commit 05d275bf07
3 changed files with 22 additions and 8 deletions

View File

@@ -22,6 +22,8 @@ import static android.provider.Settings.EXTRA_BIOMETRIC_AUTHENTICATORS_ALLOWED;
import static com.android.settings.biometrics.BiometricEnrollBase.RESULT_CONSENT_DENIED; import static com.android.settings.biometrics.BiometricEnrollBase.RESULT_CONSENT_DENIED;
import static com.android.settings.biometrics.BiometricEnrollBase.RESULT_CONSENT_GRANTED; import static com.android.settings.biometrics.BiometricEnrollBase.RESULT_CONSENT_GRANTED;
import static com.google.android.setupdesign.transition.TransitionHelper.TRANSITION_FADE_THROUGH;
import android.annotation.NonNull; import android.annotation.NonNull;
import android.app.Activity; import android.app.Activity;
import android.app.admin.DevicePolicyManager; import android.app.admin.DevicePolicyManager;
@@ -55,6 +57,7 @@ import com.android.settings.password.ChooseLockPattern;
import com.android.settings.password.ChooseLockSettingsHelper; import com.android.settings.password.ChooseLockSettingsHelper;
import com.google.android.setupcompat.util.WizardManagerHelper; import com.google.android.setupcompat.util.WizardManagerHelper;
import com.google.android.setupdesign.transition.TransitionHelper;
import java.util.List; import java.util.List;
@@ -457,6 +460,9 @@ public class BiometricEnrollActivity extends InstrumentedActivity {
final boolean isOk = final boolean isOk =
isSuccessfulConfirmOrChooseCredential(requestCode, resultCode); isSuccessfulConfirmOrChooseCredential(requestCode, resultCode);
if (isOk && (mHasFeatureFace || mHasFeatureFingerprint)) { if (isOk && (mHasFeatureFace || mHasFeatureFingerprint)) {
// Apply forward animation during the transition from ChooseLock/ConfirmLock to
// SetupFingerprintEnrollIntroduction/FingerprintEnrollmentActivity
TransitionHelper.applyForwardTransition(this, TRANSITION_FADE_THROUGH);
updateGatekeeperPasswordHandle(data); updateGatekeeperPasswordHandle(data);
if (mHasFeatureFingerprint) { if (mHasFeatureFingerprint) {
launchFingerprintOnlyEnroll(); launchFingerprintOnlyEnroll();
@@ -473,6 +479,10 @@ public class BiometricEnrollActivity extends InstrumentedActivity {
mIsSingleEnrolling = false; mIsSingleEnrolling = false;
if ((resultCode == BiometricEnrollBase.RESULT_SKIP if ((resultCode == BiometricEnrollBase.RESULT_SKIP
|| resultCode == BiometricEnrollBase.RESULT_FINISHED) && mHasFeatureFace) { || resultCode == BiometricEnrollBase.RESULT_FINISHED) && mHasFeatureFace) {
// Apply forward animation during the transition from
// SetupFingerprintEnroll*/FingerprintEnrollmentActivity to
// SetupFaceEnrollIntroduction
TransitionHelper.applyForwardTransition(this, TRANSITION_FADE_THROUGH);
launchFaceOnlyEnroll(); launchFaceOnlyEnroll();
} else { } else {
finishOrLaunchHandToParent(resultCode); finishOrLaunchHandToParent(resultCode);

View File

@@ -21,7 +21,6 @@ import android.content.Intent;
import android.os.UserHandle; import android.os.UserHandle;
import android.view.View; import android.view.View;
import com.android.settings.R;
import com.android.settings.password.ChooseLockSettingsHelper; import com.android.settings.password.ChooseLockSettingsHelper;
/** /**
@@ -120,7 +119,6 @@ public abstract class BiometricsEnrollEnrolling extends BiometricEnrollBase
intent.putExtra(Intent.EXTRA_USER_ID, mUserId); intent.putExtra(Intent.EXTRA_USER_ID, mUserId);
} }
startActivity(intent); startActivity(intent);
overridePendingTransition(R.anim.sud_slide_next_in, R.anim.sud_slide_next_out);
finish(); finish();
} }

View File

@@ -267,9 +267,11 @@ public class FingerprintEnrollmentActivity extends FragmentActivity {
} else { } else {
getSupportFragmentManager().beginTransaction() getSupportFragmentManager().beginTransaction()
.setReorderingAllowed(true) .setReorderingAllowed(true)
.setCustomAnimations(R.anim.shared_x_axis_activity_open_enter_dynamic_color,
R.anim.shared_x_axis_activity_open_exit,
R.anim.shared_x_axis_activity_close_enter_dynamic_color,
R.anim.shared_x_axis_activity_close_exit)
.replace(R.id.fragment_container_view, fragmentClass, null, tag) .replace(R.id.fragment_container_view, fragmentClass, null, tag)
.setCustomAnimations(R.anim.sud_slide_next_in, R.anim.sud_slide_next_out,
R.anim.sud_slide_back_in, R.anim.sud_slide_back_out)
.addToBackStack(tag) .addToBackStack(tag)
.commit(); .commit();
} }
@@ -373,20 +375,24 @@ public class FingerprintEnrollmentActivity extends FragmentActivity {
// Replace enrolling page // Replace enrolling page
getSupportFragmentManager().beginTransaction() getSupportFragmentManager().beginTransaction()
.setReorderingAllowed(true) .setReorderingAllowed(true)
.setCustomAnimations(R.anim.shared_x_axis_activity_open_enter_dynamic_color,
R.anim.shared_x_axis_activity_open_exit,
R.anim.shared_x_axis_activity_close_enter_dynamic_color,
R.anim.shared_x_axis_activity_close_exit)
.replace(R.id.fragment_container_view, FingerprintEnrollFinishFragment.class, .replace(R.id.fragment_container_view, FingerprintEnrollFinishFragment.class,
null, FINISH_TAG) null, FINISH_TAG)
.setCustomAnimations(R.anim.sud_slide_next_in, R.anim.sud_slide_next_out,
R.anim.sud_slide_back_in, R.anim.sud_slide_back_out)
.commit(); .commit();
} else { } else {
// Remove Enrolling page from backstack, and add Finish page. Latest backstack will // Remove Enrolling page from backstack, and add Finish page. Latest backstack will
// be changed from Intro->FindSensor->Enrolling to Intro->FindSensor->Finish // be changed from Intro->FindSensor->Enrolling to Intro->FindSensor->Finish
getSupportFragmentManager().beginTransaction() getSupportFragmentManager().beginTransaction()
.setReorderingAllowed(true) .setReorderingAllowed(true)
.setCustomAnimations(R.anim.shared_x_axis_activity_open_enter_dynamic_color,
R.anim.shared_x_axis_activity_open_exit,
R.anim.shared_x_axis_activity_close_enter_dynamic_color,
R.anim.shared_x_axis_activity_close_exit)
.replace(R.id.fragment_container_view, FingerprintEnrollFinishFragment.class, .replace(R.id.fragment_container_view, FingerprintEnrollFinishFragment.class,
null, FINISH_TAG) null, FINISH_TAG)
.setCustomAnimations(R.anim.sud_slide_next_in, R.anim.sud_slide_next_out,
R.anim.sud_slide_back_in, R.anim.sud_slide_back_out)
.addToBackStack(FINISH_TAG) .addToBackStack(FINISH_TAG)
.commit(); .commit();
} }