diff options
11 files changed, 51 insertions, 29 deletions
diff --git a/packages/SystemUI/Android.bp b/packages/SystemUI/Android.bp index 8b226c926c99..4f587ebba89c 100644 --- a/packages/SystemUI/Android.bp +++ b/packages/SystemUI/Android.bp @@ -50,13 +50,6 @@ java_library { srcs: ["src/com/android/systemui/EventLogTags.logtags"], } -java_library { - name: "SystemUI-sensors", - srcs: [ - "src/com/android/systemui/util/sensors/ThresholdSensor.java", - ], -} - android_library { name: "SystemUI-core", srcs: [ diff --git a/packages/SystemUI/animation/Android.bp b/packages/SystemUI/animation/Android.bp index ab9ab831157c..1b15d20d2c52 100644 --- a/packages/SystemUI/animation/Android.bp +++ b/packages/SystemUI/animation/Android.bp @@ -36,7 +36,6 @@ android_library { static_libs: [ "PluginCoreLib", - "SystemUI-sensors", ], manifest: "AndroidManifest.xml", diff --git a/packages/SystemUI/plugin/Android.bp b/packages/SystemUI/plugin/Android.bp index 9f02fdbf3ec9..cafaaf854eed 100644 --- a/packages/SystemUI/plugin/Android.bp +++ b/packages/SystemUI/plugin/Android.bp @@ -34,7 +34,6 @@ java_library { static_libs: [ "androidx.annotation_annotation", "PluginCoreLib", - "SystemUI-sensors", "SystemUIAnimationLib", ], diff --git a/packages/SystemUI/plugin/src/com/android/systemui/plugins/FalsingManager.java b/packages/SystemUI/plugin/src/com/android/systemui/plugins/FalsingManager.java index b75252b46785..5ac8961aceeb 100644 --- a/packages/SystemUI/plugin/src/com/android/systemui/plugins/FalsingManager.java +++ b/packages/SystemUI/plugin/src/com/android/systemui/plugins/FalsingManager.java @@ -21,7 +21,6 @@ import android.net.Uri; import android.view.MotionEvent; import com.android.systemui.plugins.annotations.ProvidesInterface; -import com.android.systemui.util.sensors.ThresholdSensor; import java.io.FileDescriptor; import java.io.PrintWriter; @@ -118,7 +117,7 @@ public interface FalsingManager { void cleanup(); /** Call to report a ProximityEvent to the FalsingManager. */ - void onProximityEvent(ThresholdSensor.ThresholdSensorEvent proximityEvent); + void onProximityEvent(ProximityEvent proximityEvent); /** Adds a {@link FalsingBeliefListener}. */ void addFalsingBeliefListener(FalsingBeliefListener listener); @@ -141,4 +140,13 @@ public interface FalsingManager { interface FalsingTapListener { void onDoubleTapRequired(); } + + /** Passed to {@link FalsingManager#onProximityEvent}. */ + interface ProximityEvent { + /** Returns true when the proximity sensor was covered. */ + boolean getCovered(); + + /** Returns when the proximity sensor was covered in nanoseconds. */ + long getTimestampNs(); + } } diff --git a/packages/SystemUI/src/com/android/systemui/classifier/BrightLineFalsingManager.java b/packages/SystemUI/src/com/android/systemui/classifier/BrightLineFalsingManager.java index 58881d9a33f4..c821d100f553 100644 --- a/packages/SystemUI/src/com/android/systemui/classifier/BrightLineFalsingManager.java +++ b/packages/SystemUI/src/com/android/systemui/classifier/BrightLineFalsingManager.java @@ -35,7 +35,6 @@ import com.android.systemui.dagger.qualifiers.TestHarness; import com.android.systemui.dock.DockManager; import com.android.systemui.plugins.FalsingManager; import com.android.systemui.statusbar.policy.KeyguardStateController; -import com.android.systemui.util.sensors.ThresholdSensor; import java.io.FileDescriptor; import java.io.PrintWriter; @@ -317,7 +316,7 @@ public class BrightLineFalsingManager implements FalsingManager { } @Override - public void onProximityEvent(ThresholdSensor.ThresholdSensorEvent proximityEvent) { + public void onProximityEvent(ProximityEvent proximityEvent) { // TODO: some of these classifiers might allow us to abort early, meaning we don't have to // make these calls. mClassifiers.forEach((classifier) -> classifier.onProximityEvent(proximityEvent)); diff --git a/packages/SystemUI/src/com/android/systemui/classifier/FalsingClassifier.java b/packages/SystemUI/src/com/android/systemui/classifier/FalsingClassifier.java index 81b9f66e9bc3..d75752841023 100644 --- a/packages/SystemUI/src/com/android/systemui/classifier/FalsingClassifier.java +++ b/packages/SystemUI/src/com/android/systemui/classifier/FalsingClassifier.java @@ -18,7 +18,7 @@ package com.android.systemui.classifier; import android.view.MotionEvent; -import com.android.systemui.util.sensors.ProximitySensor; +import com.android.systemui.plugins.FalsingManager; import java.util.List; @@ -110,7 +110,7 @@ public abstract class FalsingClassifier { /** * Called when a ProximityEvent occurs (change in near/far). */ - void onProximityEvent(ProximitySensor.ThresholdSensorEvent proximityEvent) {} + void onProximityEvent(FalsingManager.ProximityEvent proximityEvent) {} /** * The phone screen has turned on and we need to begin falsing detection. diff --git a/packages/SystemUI/src/com/android/systemui/classifier/FalsingCollectorImpl.java b/packages/SystemUI/src/com/android/systemui/classifier/FalsingCollectorImpl.java index 94e5c8ad1536..0f202b085851 100644 --- a/packages/SystemUI/src/com/android/systemui/classifier/FalsingCollectorImpl.java +++ b/packages/SystemUI/src/com/android/systemui/classifier/FalsingCollectorImpl.java @@ -361,7 +361,7 @@ class FalsingCollectorImpl implements FalsingCollector { private void onProximityEvent(ThresholdSensor.ThresholdSensorEvent proximityEvent) { // TODO: some of these classifiers might allow us to abort early, meaning we don't have to // make these calls. - mFalsingManager.onProximityEvent(proximityEvent); + mFalsingManager.onProximityEvent(new ProximityEventImpl(proximityEvent)); } @@ -374,4 +374,21 @@ class FalsingCollectorImpl implements FalsingCollector { Log.d(TAG, msg, throwable); } } + + private static class ProximityEventImpl implements FalsingManager.ProximityEvent { + private ThresholdSensor.ThresholdSensorEvent mThresholdSensorEvent; + + ProximityEventImpl(ThresholdSensor.ThresholdSensorEvent thresholdSensorEvent) { + mThresholdSensorEvent = thresholdSensorEvent; + } + @Override + public boolean getCovered() { + return mThresholdSensorEvent.getBelow(); + } + + @Override + public long getTimestampNs() { + return mThresholdSensorEvent.getTimestampNs(); + } + } } diff --git a/packages/SystemUI/src/com/android/systemui/classifier/FalsingManagerFake.java b/packages/SystemUI/src/com/android/systemui/classifier/FalsingManagerFake.java index e8445d40836e..ee69e277cc46 100644 --- a/packages/SystemUI/src/com/android/systemui/classifier/FalsingManagerFake.java +++ b/packages/SystemUI/src/com/android/systemui/classifier/FalsingManagerFake.java @@ -20,7 +20,6 @@ import android.net.Uri; import com.android.internal.annotations.VisibleForTesting; import com.android.systemui.plugins.FalsingManager; -import com.android.systemui.util.sensors.ThresholdSensor; import java.io.FileDescriptor; import java.io.PrintWriter; @@ -133,7 +132,7 @@ public class FalsingManagerFake implements FalsingManager { } @Override - public void onProximityEvent(ThresholdSensor.ThresholdSensorEvent proximityEvent) { + public void onProximityEvent(ProximityEvent proximityEvent) { } diff --git a/packages/SystemUI/src/com/android/systemui/classifier/FalsingManagerProxy.java b/packages/SystemUI/src/com/android/systemui/classifier/FalsingManagerProxy.java index 6b819fbbbcf1..ee0dba0a5087 100644 --- a/packages/SystemUI/src/com/android/systemui/classifier/FalsingManagerProxy.java +++ b/packages/SystemUI/src/com/android/systemui/classifier/FalsingManagerProxy.java @@ -31,7 +31,6 @@ import com.android.systemui.plugins.FalsingPlugin; import com.android.systemui.plugins.PluginListener; import com.android.systemui.shared.plugins.PluginManager; import com.android.systemui.util.DeviceConfigProxy; -import com.android.systemui.util.sensors.ThresholdSensor; import java.io.FileDescriptor; import java.io.PrintWriter; @@ -186,7 +185,7 @@ public class FalsingManagerProxy implements FalsingManager, Dumpable { } @Override - public void onProximityEvent(ThresholdSensor.ThresholdSensorEvent proximityEvent) { + public void onProximityEvent(ProximityEvent proximityEvent) { mInternalFalsingManager.onProximityEvent(proximityEvent); } diff --git a/packages/SystemUI/src/com/android/systemui/classifier/ProximityClassifier.java b/packages/SystemUI/src/com/android/systemui/classifier/ProximityClassifier.java index 72d4303dc0ef..32d9ca59951d 100644 --- a/packages/SystemUI/src/com/android/systemui/classifier/ProximityClassifier.java +++ b/packages/SystemUI/src/com/android/systemui/classifier/ProximityClassifier.java @@ -25,8 +25,8 @@ import static com.android.systemui.classifier.Classifier.QUICK_SETTINGS; import android.provider.DeviceConfig; import android.view.MotionEvent; +import com.android.systemui.plugins.FalsingManager; import com.android.systemui.util.DeviceConfigProxy; -import com.android.systemui.util.sensors.ProximitySensor; import java.util.Locale; @@ -107,11 +107,11 @@ class ProximityClassifier extends FalsingClassifier { @Override public void onProximityEvent( - ProximitySensor.ThresholdSensorEvent proximityEvent) { - boolean near = proximityEvent.getBelow(); + FalsingManager.ProximityEvent proximityEvent) { + boolean covered = proximityEvent.getCovered(); long timestampNs = proximityEvent.getTimestampNs(); - logDebug("Sensor is: " + near + " at time " + timestampNs); - update(near, timestampNs); + logDebug("Sensor is: " + covered + " at time " + timestampNs); + update(covered, timestampNs); } @Override diff --git a/packages/SystemUI/tests/src/com/android/systemui/classifier/ProximityClassifierTest.java b/packages/SystemUI/tests/src/com/android/systemui/classifier/ProximityClassifierTest.java index 60786f6afe99..1c3922a57368 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/classifier/ProximityClassifierTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/classifier/ProximityClassifierTest.java @@ -29,8 +29,8 @@ import android.view.MotionEvent; import androidx.test.filters.SmallTest; +import com.android.systemui.plugins.FalsingManager; import com.android.systemui.util.DeviceConfigProxyFake; -import com.android.systemui.util.sensors.ProximitySensor; import org.junit.After; import org.junit.Before; @@ -149,8 +149,17 @@ public class ProximityClassifierTest extends ClassifierTest { motionEvent.recycle(); } - private ProximitySensor.ThresholdSensorEvent createSensorEvent( - boolean covered, long timestampMs) { - return new ProximitySensor.ThresholdSensorEvent(covered, timestampMs * NS_PER_MS); + private FalsingManager.ProximityEvent createSensorEvent(boolean covered, long timestampMs) { + return new FalsingManager.ProximityEvent() { + @Override + public boolean getCovered() { + return covered; + } + + @Override + public long getTimestampNs() { + return timestampMs * NS_PER_MS; + } + }; } } |