Added intro lottie for foldable.
Test: Verified lotties during fingerpritn enrollment flow. Fixes: 246684274 Change-Id: Ic9e95dd650dd5018d13751d251fdac53e1fb13d0 Merged-In: Ic9e95dd650dd5018d13751d251fdac53e1fb13d0
This commit is contained in:
committed by
Joshua Mccloskey
parent
2552ae08ae
commit
67c6ec3ef4
@@ -88,6 +88,7 @@ android_library {
|
|||||||
"WifiTrackerLib",
|
"WifiTrackerLib",
|
||||||
"SettingsLibActivityEmbedding",
|
"SettingsLibActivityEmbedding",
|
||||||
"Settings-change-ids",
|
"Settings-change-ids",
|
||||||
|
"SystemUIUnfoldLib",
|
||||||
],
|
],
|
||||||
|
|
||||||
libs: [
|
libs: [
|
||||||
|
File diff suppressed because one or more lines are too long
1
res/raw/fingerprint_edu_lottie_folded_bottom_left.json
Normal file
1
res/raw/fingerprint_edu_lottie_folded_bottom_left.json
Normal file
File diff suppressed because one or more lines are too long
1
res/raw/fingerprint_edu_lottie_folded_bottom_right.json
Normal file
1
res/raw/fingerprint_edu_lottie_folded_bottom_right.json
Normal file
File diff suppressed because one or more lines are too long
1
res/raw/fingerprint_edu_lottie_folded_top_left.json
Normal file
1
res/raw/fingerprint_edu_lottie_folded_top_left.json
Normal file
File diff suppressed because one or more lines are too long
1
res/raw/fingerprint_edu_lottie_folded_top_right.json
Normal file
1
res/raw/fingerprint_edu_lottie_folded_top_right.json
Normal file
File diff suppressed because one or more lines are too long
@@ -18,6 +18,7 @@ package com.android.settings.biometrics.fingerprint;
|
|||||||
|
|
||||||
import android.app.settings.SettingsEnums;
|
import android.app.settings.SettingsEnums;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
|
import android.content.res.Configuration;
|
||||||
import android.content.res.Resources;
|
import android.content.res.Resources;
|
||||||
import android.hardware.fingerprint.FingerprintManager;
|
import android.hardware.fingerprint.FingerprintManager;
|
||||||
import android.hardware.fingerprint.FingerprintSensorPropertiesInternal;
|
import android.hardware.fingerprint.FingerprintSensorPropertiesInternal;
|
||||||
@@ -29,6 +30,7 @@ import android.view.View;
|
|||||||
import android.view.View.OnClickListener;
|
import android.view.View.OnClickListener;
|
||||||
import android.view.accessibility.AccessibilityManager;
|
import android.view.accessibility.AccessibilityManager;
|
||||||
|
|
||||||
|
import androidx.annotation.NonNull;
|
||||||
import androidx.annotation.Nullable;
|
import androidx.annotation.Nullable;
|
||||||
|
|
||||||
import com.android.settings.R;
|
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.biometrics.BiometricUtils;
|
||||||
import com.android.settings.password.ChooseLockSettingsHelper;
|
import com.android.settings.password.ChooseLockSettingsHelper;
|
||||||
import com.android.settingslib.widget.LottieColorUtils;
|
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.airbnb.lottie.LottieAnimationView;
|
||||||
import com.google.android.setupcompat.template.FooterBarMixin;
|
import com.google.android.setupcompat.template.FooterBarMixin;
|
||||||
@@ -49,7 +53,7 @@ import java.util.List;
|
|||||||
* Activity explaining the fingerprint sensor location for fingerprint enrollment.
|
* Activity explaining the fingerprint sensor location for fingerprint enrollment.
|
||||||
*/
|
*/
|
||||||
public class FingerprintEnrollFindSensor extends BiometricEnrollBase implements
|
public class FingerprintEnrollFindSensor extends BiometricEnrollBase implements
|
||||||
BiometricEnrollSidecar.Listener {
|
BiometricEnrollSidecar.Listener, FoldProvider.FoldCallback {
|
||||||
|
|
||||||
private static final String TAG = "FingerprintEnrollFindSensor";
|
private static final String TAG = "FingerprintEnrollFindSensor";
|
||||||
private static final String SAVED_STATE_IS_NEXT_CLICKED = "is_next_clicked";
|
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 OrientationEventListener mOrientationEventListener;
|
||||||
private int mPreviousRotation = 0;
|
private int mPreviousRotation = 0;
|
||||||
|
private ScreenSizeFoldProvider mScreenSizeFoldProvider;
|
||||||
|
private boolean mIsFolded;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onCreate(Bundle savedInstanceState) {
|
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();
|
mCanAssumeUdfps = props != null && props.size() == 1 && props.get(0).isAnyUdfpsType();
|
||||||
mCanAssumeSfps = props != null && props.size() == 1 && props.get(0).isAnySidefpsType();
|
mCanAssumeSfps = props != null && props.size() == 1 && props.get(0).isAnySidefpsType();
|
||||||
setContentView(getContentView());
|
setContentView(getContentView());
|
||||||
|
mScreenSizeFoldProvider = new ScreenSizeFoldProvider(getApplicationContext());
|
||||||
|
mScreenSizeFoldProvider.registerCallback(this, getApplicationContext().getMainExecutor());
|
||||||
|
mScreenSizeFoldProvider
|
||||||
|
.onConfigurationChange(getApplicationContext().getResources().getConfiguration());
|
||||||
mFooterBarMixin = getLayout().getMixin(FooterBarMixin.class);
|
mFooterBarMixin = getLayout().getMixin(FooterBarMixin.class);
|
||||||
mFooterBarMixin.setSecondaryButton(
|
mFooterBarMixin.setSecondaryButton(
|
||||||
new FooterButton.Builder(this)
|
new FooterButton.Builder(this)
|
||||||
@@ -166,25 +176,47 @@ public class FingerprintEnrollFindSensor extends BiometricEnrollBase implements
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void updateSfpsFindSensorAnimationAsset() {
|
private void updateSfpsFindSensorAnimationAsset() {
|
||||||
|
mScreenSizeFoldProvider
|
||||||
|
.onConfigurationChange(getApplicationContext().getResources().getConfiguration());
|
||||||
mIllustrationLottie = findViewById(R.id.illustration_lottie);
|
mIllustrationLottie = findViewById(R.id.illustration_lottie);
|
||||||
final int rotation = getApplicationContext().getDisplay().getRotation();
|
final int rotation = getApplicationContext().getDisplay().getRotation();
|
||||||
|
|
||||||
switch (rotation) {
|
switch (rotation) {
|
||||||
case Surface.ROTATION_90:
|
case Surface.ROTATION_90:
|
||||||
|
if (mIsFolded) {
|
||||||
|
mIllustrationLottie.setAnimation(
|
||||||
|
R.raw.fingerprint_edu_lottie_folded_top_left);
|
||||||
|
} else {
|
||||||
mIllustrationLottie.setAnimation(
|
mIllustrationLottie.setAnimation(
|
||||||
R.raw.fingerprint_edu_lottie_portrait_top_left);
|
R.raw.fingerprint_edu_lottie_portrait_top_left);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case Surface.ROTATION_180:
|
case Surface.ROTATION_180:
|
||||||
|
if (mIsFolded) {
|
||||||
|
mIllustrationLottie.setAnimation(
|
||||||
|
R.raw.fingerprint_edu_lottie_folded_bottom_left);
|
||||||
|
} else {
|
||||||
mIllustrationLottie.setAnimation(
|
mIllustrationLottie.setAnimation(
|
||||||
R.raw.fingerprint_edu_lottie_landscape_bottom_left);
|
R.raw.fingerprint_edu_lottie_landscape_bottom_left);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case Surface.ROTATION_270:
|
case Surface.ROTATION_270:
|
||||||
|
if (mIsFolded) {
|
||||||
|
mIllustrationLottie.setAnimation(
|
||||||
|
R.raw.fingerprint_edu_lottie_folded_bottom_right);
|
||||||
|
} else {
|
||||||
mIllustrationLottie.setAnimation(
|
mIllustrationLottie.setAnimation(
|
||||||
R.raw.fingerprint_edu_lottie_portrait_bottom_right);
|
R.raw.fingerprint_edu_lottie_portrait_bottom_right);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
if (mIsFolded) {
|
||||||
|
mIllustrationLottie.setAnimation(
|
||||||
|
R.raw.fingerprint_edu_lottie_folded_top_right);
|
||||||
|
} else {
|
||||||
mIllustrationLottie.setAnimation(
|
mIllustrationLottie.setAnimation(
|
||||||
R.raw.fingerprint_edu_lottie_landscape_top_right);
|
R.raw.fingerprint_edu_lottie_landscape_top_right);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -193,6 +225,12 @@ public class FingerprintEnrollFindSensor extends BiometricEnrollBase implements
|
|||||||
mIllustrationLottie.playAnimation();
|
mIllustrationLottie.playAnimation();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onConfigurationChanged(@NonNull Configuration newConfig) {
|
||||||
|
super.onConfigurationChanged(newConfig);
|
||||||
|
mScreenSizeFoldProvider.onConfigurationChange(newConfig);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onResume() {
|
protected void onResume() {
|
||||||
super.onResume();
|
super.onResume();
|
||||||
@@ -286,6 +324,7 @@ public class FingerprintEnrollFindSensor extends BiometricEnrollBase implements
|
|||||||
@Override
|
@Override
|
||||||
protected void onStop() {
|
protected void onStop() {
|
||||||
super.onStop();
|
super.onStop();
|
||||||
|
mScreenSizeFoldProvider.unregisterCallback(this);
|
||||||
if (mAnimation != null) {
|
if (mAnimation != null) {
|
||||||
mAnimation.pauseAnimation();
|
mAnimation.pauseAnimation();
|
||||||
}
|
}
|
||||||
@@ -423,4 +462,10 @@ public class FingerprintEnrollFindSensor extends BiometricEnrollBase implements
|
|||||||
}
|
}
|
||||||
mOrientationEventListener = null;
|
mOrientationEventListener = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onFoldUpdated(boolean isFolded) {
|
||||||
|
Log.d(TAG, "onFoldUpdated= " + isFolded);
|
||||||
|
mIsFolded = isFolded;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user