Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 594c0702 authored by Winson Chung's avatar Winson Chung Committed by Automerger Merge Worker
Browse files

Merge changes from topic "back_gesture_model_qpr" into rvc-qpr-dev am: 898602ef

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/13005359

Change-Id: I8017c38ef9536b49ee2b7c1bed328c3e4ac1ec75
parents 81b13214 898602ef
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -433,6 +433,11 @@ public final class SystemUiDeviceConfigFlags {
     */
    public static final String USE_BACK_GESTURE_ML_MODEL = "use_back_gesture_ml_model";

    /**
     * (string) The name of the ML model for Back Gesture.
     */
    public static final String BACK_GESTURE_ML_MODEL_NAME = "back_gesture_ml_model_name";

    /**
     * (float) Threshold for Back Gesture ML model prediction.
     */
+1 −1
Original line number Diff line number Diff line
@@ -190,7 +190,7 @@ public class SystemUIFactory {
     * This method is overridden in vendor specific implementation of Sys UI.
     */
    public BackGestureTfClassifierProvider createBackGestureTfClassifierProvider(
            AssetManager am) {
            AssetManager am, String modelName) {
        return new BackGestureTfClassifierProvider();
    }
}
+19 −14
Original line number Diff line number Diff line
@@ -137,7 +137,9 @@ public class EdgeBackGestureHandler extends CurrentUserTracker implements Displa
                            && (properties.getKeyset().contains(
                                    SystemUiDeviceConfigFlags.BACK_GESTURE_ML_MODEL_THRESHOLD)
                            || properties.getKeyset().contains(
                                    SystemUiDeviceConfigFlags.USE_BACK_GESTURE_ML_MODEL))) {
                                    SystemUiDeviceConfigFlags.USE_BACK_GESTURE_ML_MODEL)
                            || properties.getKeyset().contains(
                                    SystemUiDeviceConfigFlags.BACK_GESTURE_ML_MODEL_NAME))) {
                        updateMLModelState();
                    }
                }
@@ -478,8 +480,10 @@ public class EdgeBackGestureHandler extends CurrentUserTracker implements Displa
        }

        if (newState) {
            String mlModelName = DeviceConfig.getString(DeviceConfig.NAMESPACE_SYSTEMUI,
                    SystemUiDeviceConfigFlags.BACK_GESTURE_ML_MODEL_NAME, "backgesture");
            mBackGestureTfClassifierProvider = SystemUIFactory.getInstance()
                    .createBackGestureTfClassifierProvider(mContext.getAssets());
                    .createBackGestureTfClassifierProvider(mContext.getAssets(), mlModelName);
            mMLModelThreshold = DeviceConfig.getFloat(DeviceConfig.NAMESPACE_SYSTEMUI,
                    SystemUiDeviceConfigFlags.BACK_GESTURE_ML_MODEL_THRESHOLD, 0.9f);
            if (mBackGestureTfClassifierProvider.isActive()) {
@@ -529,9 +533,6 @@ public class EdgeBackGestureHandler extends CurrentUserTracker implements Displa
        boolean withinRange = false;
        float results = -1;

        if (mUseMLModel &&  (results = getBackGesturePredictionsCategory(x, y)) != -1) {
            withinRange = results == 1 ? true : false;
        } else {
        // Disallow if we are in the bottom gesture area
        if (y >= (mDisplaySize.y - mBottomGestureHeight)) {
            return false;
@@ -544,6 +545,10 @@ public class EdgeBackGestureHandler extends CurrentUserTracker implements Displa
                && x < (mDisplaySize.x - 2 * (mEdgeWidthRight + mRightInset))) {
            return false;
        }

        if (mUseMLModel &&  (results = getBackGesturePredictionsCategory(x, y)) != -1) {
            withinRange = results == 1 ? true : false;
        } else {
            // Denotes whether we should proceed with the gesture.
            // Even if it is false, we may want to log it assuming
            // it is not invalid due to exclusion.