Implement trackpad gestures education UI.

1. Use BottomSheetDialogFragment.
2. Use LottieAnimationView for animation
3. Add 5 animation assets

Demo: go/trackpad_education_demo

Bug: 247080509
Test: manual
Change-Id: Icac7a6cd51763ca20b7661d6f1d4cc95af5292e9
This commit is contained in:
danielwbhuang
2023-01-11 04:20:45 +08:00
committed by Daniel Huang
parent 4525cfb462
commit 40cab1692d
17 changed files with 751 additions and 6 deletions

View File

@@ -19,6 +19,7 @@ package com.android.settings.inputmethod;
import android.content.Context;
import android.util.FeatureFlagUtils;
import androidx.fragment.app.Fragment;
import androidx.preference.PreferenceScreen;
import com.android.settings.core.BasePreferenceController;
@@ -29,11 +30,18 @@ public class TouchGesturesButtonPreferenceController extends BasePreferenceContr
private static final int ORDER_TOP = 0;
private static final int ORDER_BOTTOM = 100;
private static final String PREFERENCE_KEY = "trackpad_touch_gesture";
private static final String GESTURE_DIALOG_TAG = "GESTURE_DIALOG_TAG";
private Fragment mParent;
public TouchGesturesButtonPreferenceController(Context context, String key) {
super(context, key);
}
public void setFragment(Fragment parent) {
mParent = parent;
}
@Override
public void displayPreference(PreferenceScreen screen) {
super.displayPreference(screen);
@@ -59,12 +67,8 @@ public class TouchGesturesButtonPreferenceController extends BasePreferenceContr
}
private void showTouchpadGestureEducation() {
// TODO: Waiting for the education UX design.
/* For example:
FragmentManager fragmentManager = mParent.getActivity().getSupportFragmentManager();
FragmentTransaction transaction = fragmentManager.beginTransaction();
TrackpadGestureDialogFragment fragment = new TrackpadGestureDialogFragment();
fragment.show(transaction, GESTURE_DIALOG_TAG);
*/
fragment.setTargetFragment(mParent, 0);
fragment.show(mParent.getActivity().getSupportFragmentManager(), GESTURE_DIALOG_TAG);
}
}