Merge "Update SFPS enrollment education assets and add light/dark theme colors" into tm-qpr-dev

This commit is contained in:
Grace Cheng
2022-09-09 16:24:06 +00:00
committed by Android (Google) Code Review
6 changed files with 49 additions and 41 deletions

View File

@@ -31,26 +31,16 @@
android:clipToPadding="false" android:clipToPadding="false"
android:clipChildren="false"> android:clipChildren="false">
<!-- Animation res MUST be set in code because asset is dependent on device orientation -->
<com.airbnb.lottie.LottieAnimationView <com.airbnb.lottie.LottieAnimationView
android:id="@+id/illustration_lottie" android:id="@+id/illustration_lottie"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:scaleType="centerInside" android:scaleType="centerInside"
app:lottie_imageAssetsFolder="images"
app:lottie_autoPlay="true"
app:lottie_loop="true"
app:lottie_rawRes="@raw/fingerprint_edu_lottie"/>
<com.airbnb.lottie.LottieAnimationView
android:id="@+id/illustration_lottie_portrait"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:scaleType="centerInside"
android:visibility="gone" android:visibility="gone"
app:lottie_imageAssetsFolder="images" app:lottie_imageAssetsFolder="images"
app:lottie_autoPlay="true" app:lottie_autoPlay="true"
app:lottie_loop="true" app:lottie_loop="true"/>
app:lottie_rawRes="@raw/fingerprint_edu_lottie_portrait"/>
</LinearLayout> </LinearLayout>
</com.google.android.setupdesign.GlifLayout> </com.google.android.setupdesign.GlifLayout>

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

@@ -36,6 +36,7 @@ import com.android.settings.biometrics.BiometricEnrollBase;
import com.android.settings.biometrics.BiometricEnrollSidecar; 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.airbnb.lottie.LottieAnimationView; import com.airbnb.lottie.LottieAnimationView;
import com.google.android.setupcompat.template.FooterBarMixin; import com.google.android.setupcompat.template.FooterBarMixin;
@@ -55,6 +56,9 @@ public class FingerprintEnrollFindSensor extends BiometricEnrollBase implements
@Nullable @Nullable
private FingerprintFindSensorAnimation mAnimation; private FingerprintFindSensorAnimation mAnimation;
@Nullable
private LottieAnimationView mIllustrationLottie;
private FingerprintEnrollSidecar mSidecar; private FingerprintEnrollSidecar mSidecar;
private boolean mNextClicked; private boolean mNextClicked;
private boolean mCanAssumeUdfps; private boolean mCanAssumeUdfps;
@@ -97,38 +101,14 @@ public class FingerprintEnrollFindSensor extends BiometricEnrollBase implements
.build() .build()
); );
LottieAnimationView lottieAnimationView = findViewById(R.id.illustration_lottie); mIllustrationLottie = findViewById(R.id.illustration_lottie);
AccessibilityManager am = getSystemService(AccessibilityManager.class); AccessibilityManager am = getSystemService(AccessibilityManager.class);
if (am.isEnabled()) { if (am.isEnabled()) {
lottieAnimationView.setAnimation(R.raw.udfps_edu_a11y_lottie); mIllustrationLottie.setAnimation(R.raw.udfps_edu_a11y_lottie);
} }
} else if (mCanAssumeSfps) { } else if (mCanAssumeSfps) {
setHeaderText(R.string.security_settings_sfps_enroll_find_sensor_title); setHeaderText(R.string.security_settings_sfps_enroll_find_sensor_title);
setDescriptionText(R.string.security_settings_sfps_enroll_find_sensor_message); setDescriptionText(R.string.security_settings_sfps_enroll_find_sensor_message);
final LottieAnimationView lottieAnimationView = findViewById(R.id.illustration_lottie);
final LottieAnimationView lottieAnimationViewPortrait =
findViewById(R.id.illustration_lottie_portrait);
final int rotation = getApplicationContext().getDisplay().getRotation();
switch(rotation) {
case Surface.ROTATION_90:
lottieAnimationView.setVisibility(View.GONE);
lottieAnimationViewPortrait.setVisibility(View.VISIBLE);
break;
case Surface.ROTATION_180:
lottieAnimationView.setVisibility(View.VISIBLE);
lottieAnimationView.setRotation(180);
lottieAnimationViewPortrait.setVisibility(View.GONE);
break;
case Surface.ROTATION_270:
lottieAnimationView.setVisibility(View.GONE);
lottieAnimationViewPortrait.setVisibility(View.VISIBLE);
lottieAnimationViewPortrait.setRotation(180);
break;
default:
lottieAnimationView.setVisibility(View.VISIBLE);
lottieAnimationViewPortrait.setVisibility(View.GONE);
break;
}
} else { } else {
setHeaderText(R.string.security_settings_fingerprint_enroll_find_sensor_title); setHeaderText(R.string.security_settings_fingerprint_enroll_find_sensor_title);
setDescriptionText(R.string.security_settings_fingerprint_enroll_find_sensor_message); setDescriptionText(R.string.security_settings_fingerprint_enroll_find_sensor_message);
@@ -170,14 +150,13 @@ public class FingerprintEnrollFindSensor extends BiometricEnrollBase implements
mAnimation = null; mAnimation = null;
if (mCanAssumeUdfps) { if (mCanAssumeUdfps) {
LottieAnimationView lottieAnimationView = findViewById(R.id.illustration_lottie); mIllustrationLottie.setOnClickListener(new OnClickListener() {
lottieAnimationView.setOnClickListener(new OnClickListener() {
@Override @Override
public void onClick(View v) { public void onClick(View v) {
onStartButtonClick(v); onStartButtonClick(v);
} }
}); });
} else { } else if (!mCanAssumeSfps) {
View animationView = findViewById(R.id.fingerprint_sensor_location_animation); View animationView = findViewById(R.id.fingerprint_sensor_location_animation);
if (animationView instanceof FingerprintFindSensorAnimation) { if (animationView instanceof FingerprintFindSensorAnimation) {
mAnimation = (FingerprintFindSensorAnimation) animationView; mAnimation = (FingerprintFindSensorAnimation) animationView;
@@ -185,6 +164,41 @@ public class FingerprintEnrollFindSensor extends BiometricEnrollBase implements
} }
} }
private void updateSfpsFindSensorAnimationAsset() {
mIllustrationLottie = findViewById(R.id.illustration_lottie);
LottieColorUtils.applyDynamicColors(getApplicationContext(), mIllustrationLottie);
mIllustrationLottie.setVisibility(View.VISIBLE);
final int rotation = getApplicationContext().getDisplay().getRotation();
switch (rotation) {
case Surface.ROTATION_90:
mIllustrationLottie.setAnimation(
R.raw.fingerprint_edu_lottie_portrait_top_left);
break;
case Surface.ROTATION_180:
mIllustrationLottie.setAnimation(
R.raw.fingerprint_edu_lottie_landscape_bottom_left);
break;
case Surface.ROTATION_270:
mIllustrationLottie.setAnimation(
R.raw.fingerprint_edu_lottie_portrait_bottom_right);
break;
default:
mIllustrationLottie.setAnimation(
R.raw.fingerprint_edu_lottie_landscape_top_right);
break;
}
mIllustrationLottie.playAnimation();
}
@Override
protected void onResume() {
super.onResume();
if (mCanAssumeSfps) {
updateSfpsFindSensorAnimationAsset();
}
}
@Override @Override
protected void onSaveInstanceState(Bundle outState) { protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState); super.onSaveInstanceState(outState);