Add new proximity sensors in Telecomm (2/3)
Add the following two APIs in Telecomm and use them in InCallUI
setProximitySensorOn
setProximitySensorOff(boolean turnScreenOnImmediately)
Bug: 16573954
Change-Id: I8219e9c659f4ea4493f5cd5c8bcaa95a98d180e2
diff --git a/src/com/android/telecomm/CallsManager.java b/src/com/android/telecomm/CallsManager.java
index 8d6d772..fc5a71a 100644
--- a/src/com/android/telecomm/CallsManager.java
+++ b/src/com/android/telecomm/CallsManager.java
@@ -79,6 +79,7 @@
private final HeadsetMediaButton mHeadsetMediaButton;
private final WiredHeadsetManager mWiredHeadsetManager;
private final TtyManager mTtyManager;
+ private final ProximitySensorManager mProximitySensorManager;
/**
* The call the user is currently interacting with. This is the call that should have audio
@@ -104,6 +105,7 @@
mRinger = new Ringer(mCallAudioManager, this, playerFactory, app);
mHeadsetMediaButton = new HeadsetMediaButton(app, this);
mTtyManager = new TtyManager(app, mWiredHeadsetManager);
+ mProximitySensorManager = new ProximitySensorManager(app);
mListeners.add(statusBarNotifier);
mListeners.add(new CallLogManager(app));
@@ -117,6 +119,7 @@
mListeners.add(mDtmfLocalTonePlayer);
mListeners.add(mHeadsetMediaButton);
mListeners.add(RespondViaSmsManager.getInstance());
+ mListeners.add(mProximitySensorManager);
}
@Override
@@ -510,6 +513,20 @@
mCallAudioManager.setAudioRoute(route);
}
+ /** Called by the in-call UI to turn the proximity sensor on. */
+ void turnOnProximitySensor() {
+ mProximitySensorManager.turnOn();
+ }
+
+ /**
+ * Called by the in-call UI to turn the proximity sensor off.
+ * @param screenOnImmediately If true, the screen will be turned on immediately. Otherwise,
+ * the screen will be kept off until the proximity sensor goes negative.
+ */
+ void turnOffProximitySensor(boolean screenOnImmediately) {
+ mProximitySensorManager.turnOff(screenOnImmediately);
+ }
+
void phoneAccountClicked(Call call) {
if (!mCalls.contains(call)) {
Log.i(this, "phoneAccountClicked in a non-existent call %s", call);