Loading src/com/android/server/telecom/InCallController.java +5 −0 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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; Loading Loading @@ -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; Loading Loading @@ -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(); Loading Loading @@ -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); Loading tests/src/com/android/server/telecom/tests/ComponentContextFixture.java +6 −0 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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; } Loading Loading @@ -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(); } Loading Loading @@ -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); Loading Loading
src/com/android/server/telecom/InCallController.java +5 −0 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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; Loading Loading @@ -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; Loading Loading @@ -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(); Loading Loading @@ -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); Loading
tests/src/com/android/server/telecom/tests/ComponentContextFixture.java +6 −0 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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; } Loading Loading @@ -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(); } Loading Loading @@ -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); Loading