summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cmds/statsd/src/atoms.proto2
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/phone/EdgeBackGestureHandler.java11
2 files changed, 9 insertions, 4 deletions
diff --git a/cmds/statsd/src/atoms.proto b/cmds/statsd/src/atoms.proto
index 974dd3f66356..db0ce9870442 100644
--- a/cmds/statsd/src/atoms.proto
+++ b/cmds/statsd/src/atoms.proto
@@ -3040,6 +3040,8 @@ message BackGesture {
optional int32 end_y = 7; // Y coordinate for ACTION_MOVE event.
optional int32 left_boundary = 8; // left edge width + left inset
optional int32 right_boundary = 9; // screen width - (right edge width + right inset)
+ optional float ml_model_score = 10; // The score between 0 and 1 which is the prediction output
+ // for the Back Gesture model.
enum WindowHorizontalLocation {
DEFAULT_LOCATION = 0;
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/EdgeBackGestureHandler.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/EdgeBackGestureHandler.java
index 2641bca04aea..ad071c865de4 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/EdgeBackGestureHandler.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/EdgeBackGestureHandler.java
@@ -204,6 +204,7 @@ public class EdgeBackGestureHandler extends CurrentUserTracker implements Displa
private boolean mUseMLModel;
private float mMLModelThreshold;
private String mPackageName;
+ private float mMLResults;
private final GestureNavigationSettingsObserver mGestureNavigationSettingsObserver;
@@ -518,10 +519,10 @@ public class EdgeBackGestureHandler extends CurrentUserTracker implements Displa
new long[]{(long) y},
};
- final float results = mBackGestureTfClassifierProvider.predict(featuresVector);
- if (results == -1) return -1;
+ mMLResults = mBackGestureTfClassifierProvider.predict(featuresVector);
+ if (mMLResults == -1) return -1;
- return results >= mMLModelThreshold ? 1 : 0;
+ return mMLResults >= mMLModelThreshold ? 1 : 0;
}
private boolean isWithinTouchRegion(int x, int y) {
@@ -598,7 +599,8 @@ public class EdgeBackGestureHandler extends CurrentUserTracker implements Displa
(int) mDownPoint.x, (int) mDownPoint.y,
(int) mEndPoint.x, (int) mEndPoint.y,
mEdgeWidthLeft + mLeftInset,
- mDisplaySize.x - (mEdgeWidthRight + mRightInset));
+ mDisplaySize.x - (mEdgeWidthRight + mRightInset),
+ mUseMLModel ? mMLResults : -2);
}
private void onMotionEvent(MotionEvent ev) {
@@ -607,6 +609,7 @@ public class EdgeBackGestureHandler extends CurrentUserTracker implements Displa
// Verify if this is in within the touch region and we aren't in immersive mode, and
// either the bouncer is showing or the notification panel is hidden
mIsOnLeftEdge = ev.getX() <= mEdgeWidthLeft + mLeftInset;
+ mMLResults = 0;
mLogGesture = false;
mInRejectedExclusion = false;
mAllowGesture = !mDisabledForQuickstep && mIsBackGestureAllowed