summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2021-08-07 23:08:51 +0000
committerAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2021-08-07 23:08:51 +0000
commitc4d173b67bc16c054015d9d8930317e387e79c93 (patch)
tree6e6fe610048c742756d272eee3abbf5f1f188aeb
parent6d451d7377d64415225deb883bcd9c34356bc1a8 (diff)
parentc01a6bb97e95d73a9a948ea27e000f2e1312e9bf (diff)
downloadTelecomm-android12-s2-release.tar.gz
Change-Id: I97be5b03617124e39672b3271b517ad073935e7c
-rw-r--r--src/com/android/server/telecom/InCallController.java5
-rw-r--r--tests/src/com/android/server/telecom/tests/ComponentContextFixture.java6
2 files changed, 11 insertions, 0 deletions
diff --git a/src/com/android/server/telecom/InCallController.java b/src/com/android/server/telecom/InCallController.java
index 66029c53b..ca76456f6 100644
--- a/src/com/android/server/telecom/InCallController.java
+++ b/src/com/android/server/telecom/InCallController.java
@@ -35,6 +35,7 @@ import android.content.ServiceConnection;
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
import android.content.pm.ServiceInfo;
+import android.hardware.SensorPrivacyManager;
import android.os.Binder;
import android.os.Bundle;
import android.os.Handler;
@@ -986,6 +987,7 @@ public class InCallController extends CallsManagerListenerBase implements
private final Context mContext;
private final AppOpsManager mAppOpsManager;
+ private final SensorPrivacyManager mSensorPrivacyManager;
private final TelecomSystem.SyncRoot mLock;
private final CallsManager mCallsManager;
private final SystemStateHelper mSystemStateHelper;
@@ -1042,6 +1044,7 @@ public class InCallController extends CallsManagerListenerBase implements
CarModeTracker carModeTracker, ClockProxy clockProxy) {
mContext = context;
mAppOpsManager = context.getSystemService(AppOpsManager.class);
+ mSensorPrivacyManager = context.getSystemService(SensorPrivacyManager.class);
mLock = lock;
mCallsManager = callsManager;
mSystemStateHelper = systemStateHelper;
@@ -1397,6 +1400,7 @@ public class InCallController extends CallsManagerListenerBase implements
if (shouldStart) {
mAppOpsManager.startOp(AppOpsManager.OP_PHONE_CALL_CAMERA, myUid(),
mContext.getOpPackageName(), false, null, null);
+ mSensorPrivacyManager.showSensorUseDialog(SensorPrivacyManager.Sensors.CAMERA);
}
} else {
boolean hadCall = !mCallsUsingCamera.isEmpty();
@@ -2274,6 +2278,7 @@ public class InCallController extends CallsManagerListenerBase implements
if (mIsCallUsingMicrophone) {
mAppOpsManager.startOp(AppOpsManager.OP_PHONE_CALL_MICROPHONE, myUid(),
mContext.getOpPackageName(), false, null, null);
+ mSensorPrivacyManager.showSensorUseDialog(SensorPrivacyManager.Sensors.MICROPHONE);
} else {
mAppOpsManager.finishOp(AppOpsManager.OP_PHONE_CALL_MICROPHONE, myUid(),
mContext.getOpPackageName(), null);
diff --git a/tests/src/com/android/server/telecom/tests/ComponentContextFixture.java b/tests/src/com/android/server/telecom/tests/ComponentContextFixture.java
index 6dfc6dc64..ebb336e12 100644
--- a/tests/src/com/android/server/telecom/tests/ComponentContextFixture.java
+++ b/tests/src/com/android/server/telecom/tests/ComponentContextFixture.java
@@ -50,6 +50,7 @@ import android.content.pm.ResolveInfo;
import android.content.pm.ServiceInfo;
import android.content.res.Configuration;
import android.content.res.Resources;
+import android.hardware.SensorPrivacyManager;
import android.location.Country;
import android.location.CountryDetector;
import android.media.AudioManager;
@@ -221,6 +222,8 @@ public class ComponentContextFixture implements TestFixture<Context> {
return mVibratorManager;
case Context.PERMISSION_CHECKER_SERVICE:
return mPermissionCheckerManager;
+ case Context.SENSOR_PRIVACY_SERVICE:
+ return mSensorPrivacyManager;
default:
return null;
}
@@ -248,6 +251,8 @@ public class ComponentContextFixture implements TestFixture<Context> {
return Context.VIBRATOR_MANAGER_SERVICE;
} else if (svcClass == PermissionCheckerManager.class) {
return Context.PERMISSION_CHECKER_SERVICE;
+ } else if (svcClass == SensorPrivacyManager.class) {
+ return Context.SENSOR_PRIVACY_SERVICE;
}
throw new UnsupportedOperationException();
}
@@ -527,6 +532,7 @@ public class ComponentContextFixture implements TestFixture<Context> {
private final PermissionCheckerManager mPermissionCheckerManager =
mock(PermissionCheckerManager.class);
private final PermissionInfo mPermissionInfo = mock(PermissionInfo.class);
+ private final SensorPrivacyManager mSensorPrivacyManager = mock(SensorPrivacyManager.class);
private TelecomManager mTelecomManager = mock(TelecomManager.class);