diff --git a/packages/SystemUI/src/com/android/systemui/classifier/AnglesClassifier.java b/packages/SystemUI/src/com/android/systemui/classifier/AnglesClassifier.java index e18ac74d44656..cdf4ba7d99d7c 100644 --- a/packages/SystemUI/src/com/android/systemui/classifier/AnglesClassifier.java +++ b/packages/SystemUI/src/com/android/systemui/classifier/AnglesClassifier.java @@ -16,6 +16,9 @@ package com.android.systemui.classifier; +import android.os.Build; +import android.os.SystemProperties; +import android.util.Log; import android.view.MotionEvent; import java.util.ArrayList; @@ -49,13 +52,18 @@ import java.util.List; public class AnglesClassifier extends StrokeClassifier { private HashMap mStrokeMap = new HashMap<>(); + public static final boolean VERBOSE = SystemProperties.getBoolean("debug.falsing_log.ang", + Build.IS_DEBUGGABLE); + + private static String TAG = "ANG"; + public AnglesClassifier(ClassifierData classifierData) { mClassifierData = classifierData; } @Override public String getTag() { - return "ANG"; + return TAG; } @Override @@ -170,18 +178,31 @@ public class AnglesClassifier extends StrokeClassifier { public float getAnglesVariance() { float anglesVariance = getAnglesVariance(mSumSquares, mSum, mCount); + if (VERBOSE) { + FalsingLog.i(TAG, "getAnglesVariance: (first pass) " + anglesVariance); + FalsingLog.i(TAG, " - mFirstLength=" + mFirstLength); + FalsingLog.i(TAG, " - mLength=" + mLength); + } if (mFirstLength < mLength / 2f) { anglesVariance = Math.min(anglesVariance, mFirstAngleVariance + getAnglesVariance(mSecondSumSquares, mSecondSum, mSecondCount)); + if (VERBOSE) FalsingLog.i(TAG, "getAnglesVariance: (second pass) " + anglesVariance); } return anglesVariance; } public float getAnglesPercentage() { if (mAnglesCount == 0.0f) { + if (VERBOSE) FalsingLog.i(TAG, "getAnglesPercentage: count==0, result=1"); return 1.0f; } - return (Math.max(mLeftAngles, mRightAngles) + mStraightAngles) / mAnglesCount; + final float result = (Math.max(mLeftAngles, mRightAngles) + mStraightAngles) / mAnglesCount; + if (VERBOSE) { + FalsingLog.i(TAG, "getAnglesPercentage: left=" + mLeftAngles + " right=" + + mRightAngles + " straight=" + mStraightAngles + " count=" + mAnglesCount + + " result=" + result); + } + return result; } } -} \ No newline at end of file +} diff --git a/packages/SystemUI/src/com/android/systemui/classifier/AnglesVarianceEvaluator.java b/packages/SystemUI/src/com/android/systemui/classifier/AnglesVarianceEvaluator.java index 6883dd0af3d35..5f6c1b762c827 100644 --- a/packages/SystemUI/src/com/android/systemui/classifier/AnglesVarianceEvaluator.java +++ b/packages/SystemUI/src/com/android/systemui/classifier/AnglesVarianceEvaluator.java @@ -20,8 +20,6 @@ public class AnglesVarianceEvaluator { public static float evaluate(float value, int type) { final boolean secureUnlock = type == Classifier.BOUNCER_UNLOCK; float evaluation = 0.0f; - if (value > 0.05) evaluation++; - if (value > 0.10) evaluation++; if (value > 0.20) evaluation++; if (value > 0.40 && !secureUnlock) evaluation++; if (value > 0.80 && !secureUnlock) evaluation++; diff --git a/packages/SystemUI/src/com/android/systemui/classifier/SpeedAnglesClassifier.java b/packages/SystemUI/src/com/android/systemui/classifier/SpeedAnglesClassifier.java index 6df72b15937fb..66f0cf68d8c16 100644 --- a/packages/SystemUI/src/com/android/systemui/classifier/SpeedAnglesClassifier.java +++ b/packages/SystemUI/src/com/android/systemui/classifier/SpeedAnglesClassifier.java @@ -16,6 +16,8 @@ package com.android.systemui.classifier; +import android.os.Build; +import android.os.SystemProperties; import android.view.MotionEvent; import java.util.ArrayList; @@ -34,6 +36,10 @@ import java.util.List; * should be in this interval. */ public class SpeedAnglesClassifier extends StrokeClassifier { + public static final boolean VERBOSE = SystemProperties.getBoolean("debug.falsing_log.spd_ang", + Build.IS_DEBUGGABLE); + public static final String TAG = "SPD_ANG"; + private HashMap mStrokeMap = new HashMap<>(); public SpeedAnglesClassifier(ClassifierData classifierData) { @@ -42,7 +48,7 @@ public class SpeedAnglesClassifier extends StrokeClassifier { @Override public String getTag() { - return "SPD_ANG"; + return TAG; } @Override @@ -135,14 +141,24 @@ public class SpeedAnglesClassifier extends StrokeClassifier { } public float getAnglesVariance() { - return mSumSquares / mCount - (mSum / mCount) * (mSum / mCount); + final float v = mSumSquares / mCount - (mSum / mCount) * (mSum / mCount); + if (VERBOSE) { + FalsingLog.i(TAG, "getAnglesVariance: sum^2=" + mSumSquares + + " count=" + mCount + " result=" + v); + } + return v; } public float getAnglesPercentage() { if (mAnglesCount == 0.0f) { return 1.0f; } - return (mAcceleratingAngles) / mAnglesCount; + final float v = (mAcceleratingAngles) / mAnglesCount; + if (VERBOSE) { + FalsingLog.i(TAG, "getAnglesPercentage: angles=" + mAcceleratingAngles + + " count=" + mAnglesCount + " result=" + v); + } + return v; } } } \ No newline at end of file