Merge "Added intro lottie for foldable." into tm-qpr-dev am: bc38bacaf2

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/20347039

Change-Id: I8d4a7381084408dbe2e9b670e251670c7b50e7d0
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Joshua Mccloskey
2022-11-04 18:56:24 +00:00
committed by Automerger Merge Worker
7 changed files with 60 additions and 9 deletions

View File

@@ -88,6 +88,7 @@ android_library {
"WifiTrackerLib",
"SettingsLibActivityEmbedding",
"Settings-change-ids",
"SystemUIUnfoldLib",
],
libs: [

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -18,6 +18,7 @@ package com.android.settings.biometrics.fingerprint;
import android.app.settings.SettingsEnums;
import android.content.Intent;
import android.content.res.Configuration;
import android.content.res.Resources;
import android.hardware.fingerprint.FingerprintManager;
import android.hardware.fingerprint.FingerprintSensorPropertiesInternal;
@@ -29,6 +30,7 @@ import android.view.View;
import android.view.View.OnClickListener;
import android.view.accessibility.AccessibilityManager;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import com.android.settings.R;
@@ -38,6 +40,8 @@ import com.android.settings.biometrics.BiometricEnrollSidecar;
import com.android.settings.biometrics.BiometricUtils;
import com.android.settings.password.ChooseLockSettingsHelper;
import com.android.settingslib.widget.LottieColorUtils;
import com.android.systemui.unfold.compat.ScreenSizeFoldProvider;
import com.android.systemui.unfold.updates.FoldProvider;
import com.airbnb.lottie.LottieAnimationView;
import com.google.android.setupcompat.template.FooterBarMixin;
@@ -49,7 +53,7 @@ import java.util.List;
* Activity explaining the fingerprint sensor location for fingerprint enrollment.
*/
public class FingerprintEnrollFindSensor extends BiometricEnrollBase implements
BiometricEnrollSidecar.Listener {
BiometricEnrollSidecar.Listener, FoldProvider.FoldCallback {
private static final String TAG = "FingerprintEnrollFindSensor";
private static final String SAVED_STATE_IS_NEXT_CLICKED = "is_next_clicked";
@@ -67,6 +71,8 @@ public class FingerprintEnrollFindSensor extends BiometricEnrollBase implements
private OrientationEventListener mOrientationEventListener;
private int mPreviousRotation = 0;
private ScreenSizeFoldProvider mScreenSizeFoldProvider;
private boolean mIsFolded;
@Override
protected void onCreate(Bundle savedInstanceState) {
@@ -78,6 +84,10 @@ public class FingerprintEnrollFindSensor extends BiometricEnrollBase implements
mCanAssumeUdfps = props != null && props.size() == 1 && props.get(0).isAnyUdfpsType();
mCanAssumeSfps = props != null && props.size() == 1 && props.get(0).isAnySidefpsType();
setContentView(getContentView());
mScreenSizeFoldProvider = new ScreenSizeFoldProvider(getApplicationContext());
mScreenSizeFoldProvider.registerCallback(this, getApplicationContext().getMainExecutor());
mScreenSizeFoldProvider
.onConfigurationChange(getApplicationContext().getResources().getConfiguration());
mFooterBarMixin = getLayout().getMixin(FooterBarMixin.class);
mFooterBarMixin.setSecondaryButton(
new FooterButton.Builder(this)
@@ -166,25 +176,47 @@ public class FingerprintEnrollFindSensor extends BiometricEnrollBase implements
}
private void updateSfpsFindSensorAnimationAsset() {
mScreenSizeFoldProvider
.onConfigurationChange(getApplicationContext().getResources().getConfiguration());
mIllustrationLottie = findViewById(R.id.illustration_lottie);
final int rotation = getApplicationContext().getDisplay().getRotation();
switch (rotation) {
case Surface.ROTATION_90:
if (mIsFolded) {
mIllustrationLottie.setAnimation(
R.raw.fingerprint_edu_lottie_folded_top_left);
} else {
mIllustrationLottie.setAnimation(
R.raw.fingerprint_edu_lottie_portrait_top_left);
}
break;
case Surface.ROTATION_180:
if (mIsFolded) {
mIllustrationLottie.setAnimation(
R.raw.fingerprint_edu_lottie_folded_bottom_left);
} else {
mIllustrationLottie.setAnimation(
R.raw.fingerprint_edu_lottie_landscape_bottom_left);
}
break;
case Surface.ROTATION_270:
if (mIsFolded) {
mIllustrationLottie.setAnimation(
R.raw.fingerprint_edu_lottie_folded_bottom_right);
} else {
mIllustrationLottie.setAnimation(
R.raw.fingerprint_edu_lottie_portrait_bottom_right);
}
break;
default:
if (mIsFolded) {
mIllustrationLottie.setAnimation(
R.raw.fingerprint_edu_lottie_folded_top_right);
} else {
mIllustrationLottie.setAnimation(
R.raw.fingerprint_edu_lottie_landscape_top_right);
}
break;
}
@@ -193,6 +225,12 @@ public class FingerprintEnrollFindSensor extends BiometricEnrollBase implements
mIllustrationLottie.playAnimation();
}
@Override
public void onConfigurationChanged(@NonNull Configuration newConfig) {
super.onConfigurationChanged(newConfig);
mScreenSizeFoldProvider.onConfigurationChange(newConfig);
}
@Override
protected void onResume() {
super.onResume();
@@ -286,6 +324,7 @@ public class FingerprintEnrollFindSensor extends BiometricEnrollBase implements
@Override
protected void onStop() {
super.onStop();
mScreenSizeFoldProvider.unregisterCallback(this);
if (mAnimation != null) {
mAnimation.pauseAnimation();
}
@@ -423,4 +462,10 @@ public class FingerprintEnrollFindSensor extends BiometricEnrollBase implements
}
mOrientationEventListener = null;
}
@Override
public void onFoldUpdated(boolean isFolded) {
Log.d(TAG, "onFoldUpdated= " + isFolded);
mIsFolded = isFolded;
}
}