Use lottie animation for fingerprint edu

The landscape layout can be removed now, since for UDFPS,
we do not use this page for the "find sensor" functionality anymore.
Instead, we show the edu animation.

Bug: 187460696
Test: manual

Change-Id: Ic2e15ecf73c42b8a0cea4ea8996b1b7dd2f3b4f2
This commit is contained in:
Kevin Chyn
2021-05-25 14:04:25 -07:00
parent d51e6cb7a4
commit 1bad80b36b
5 changed files with 20214 additions and 99 deletions

View File

@@ -1,94 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2021 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<com.google.android.setupdesign.GlifLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/setup_wizard_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout="@layout/sud_glif_blank_template"
style="?attr/fingerprint_layout_theme">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal"
android:clipToPadding="false"
android:clipChildren="false">
<LinearLayout
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="match_parent"
android:layout_marginStart="?attr/sudMarginStart"
android:layout_marginBottom="@dimen/sud_content_frame_padding_bottom"
android:clipChildren="false"
android:clipToPadding="false"
android:orientation="vertical">
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clipChildren="false"
android:clipToPadding="false"
android:fillViewport="true">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:clipChildren="false"
android:clipToPadding="false">
<ImageView
android:id="@+id/sud_layout_icon"
style="@style/SudGlifIcon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="?attr/sudGlifHeaderGravity"
android:layout_marginStart="0dp"
android:layout_marginEnd="0dp"
android:src="@drawable/ic_fingerprint_header" />
<TextView
android:id="@+id/suc_layout_title"
style="@style/SudGlifHeaderTitle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="0dp"
android:layout_marginEnd="0dp" />
<TextView
android:id="@+id/sud_layout_subtitle"
style="@style/SudDescription.Glif"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<Space
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_weight="1" />
</LinearLayout>
</ScrollView>
</LinearLayout>
</LinearLayout>
</com.google.android.setupdesign.GlifLayout>

View File

@@ -16,8 +16,20 @@
<com.google.android.setupdesign.GlifLayout <com.google.android.setupdesign.GlifLayout
xmlns:android="http://schemas.android.com/apk/res/android" xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/setup_wizard_layout" android:id="@+id/setup_wizard_layout"
style="?attr/fingerprint_layout_theme" style="?attr/fingerprint_layout_theme"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent"> android:layout_height="match_parent">
<com.airbnb.lottie.LottieAnimationView
android:id="@+id/illustration_lottie"
android:layout_width="match_parent"
android:layout_height="400dp"
android:scaleType="centerInside"
app:lottie_imageAssetsFolder="images"
app:lottie_autoPlay="true"
app:lottie_loop="true"
app:lottie_rawRes="@raw/udfps_edu_lottie" />
</com.google.android.setupdesign.GlifLayout> </com.google.android.setupdesign.GlifLayout>

File diff suppressed because it is too large Load Diff

11949
res/raw/udfps_edu_lottie.json Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -22,9 +22,11 @@ import android.hardware.fingerprint.FingerprintManager;
import android.hardware.fingerprint.FingerprintSensorPropertiesInternal; import android.hardware.fingerprint.FingerprintSensorPropertiesInternal;
import android.os.Bundle; import android.os.Bundle;
import android.view.View; import android.view.View;
import android.view.accessibility.AccessibilityManager;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import com.airbnb.lottie.LottieAnimationView;
import com.android.settings.R; import com.android.settings.R;
import com.android.settings.Utils; import com.android.settings.Utils;
import com.android.settings.biometrics.BiometricEnrollBase; import com.android.settings.biometrics.BiometricEnrollBase;
@@ -80,6 +82,13 @@ public class FingerprintEnrollFindSensor extends BiometricEnrollBase implements
.setTheme(R.style.SudGlifButton_Primary) .setTheme(R.style.SudGlifButton_Primary)
.build() .build()
); );
LottieAnimationView lottieAnimationView = findViewById(R.id.illustration_lottie);
AccessibilityManager am = getSystemService(AccessibilityManager.class);
if (am.isEnabled()) {
lottieAnimationView.setAnimation(R.raw.udfps_edu_a11y_lottie);
}
} 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);
@@ -126,11 +135,7 @@ public class FingerprintEnrollFindSensor extends BiometricEnrollBase implements
protected int getContentView() { protected int getContentView() {
if (mCanAssumeUdfps) { if (mCanAssumeUdfps) {
if (BiometricUtils.isReverseLandscape(getApplicationContext())) { return R.layout.udfps_enroll_find_sensor_layout;
return R.layout.udfps_enroll_find_sensor_land;
} else {
return R.layout.udfps_enroll_find_sensor_layout;
}
} }
return R.layout.fingerprint_enroll_find_sensor; return R.layout.fingerprint_enroll_find_sensor;
} }