Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f28937b0 authored by Evan Severson's avatar Evan Severson
Browse files

Make the sensor privacy calls testable

Test: Build
Bug: 162549680
Change-Id: I0f159034690a1a802cae89c67ab8f68258aea702
parent 19d37240
Loading
Loading
Loading
Loading
+12 −0
Original line number Original line Diff line number Diff line
@@ -730,6 +730,18 @@ package android.graphics.drawable {


}
}


package android.hardware {

  public final class SensorPrivacyManager {
    method public boolean isIndividualSensorPrivacyEnabled(int);
    method @RequiresPermission(android.Manifest.permission.MANAGE_SENSOR_PRIVACY) public void setIndividualSensorPrivacy(int, boolean);
    method @RequiresPermission(android.Manifest.permission.MANAGE_SENSOR_PRIVACY) public void setIndividualSensorPrivacyForProfileGroup(int, boolean);
    field public static final int INDIVIDUAL_SENSOR_CAMERA = 2; // 0x2
    field public static final int INDIVIDUAL_SENSOR_MICROPHONE = 1; // 0x1
  }

}

package android.hardware.biometrics {
package android.hardware.biometrics {


  public class BiometricManager {
  public class BiometricManager {
+31 −2
Original line number Original line Diff line number Diff line
@@ -20,6 +20,7 @@ import android.annotation.IntDef;
import android.annotation.NonNull;
import android.annotation.NonNull;
import android.annotation.RequiresPermission;
import android.annotation.RequiresPermission;
import android.annotation.SystemService;
import android.annotation.SystemService;
import android.annotation.TestApi;
import android.content.Context;
import android.content.Context;
import android.os.IBinder;
import android.os.IBinder;
import android.os.RemoteException;
import android.os.RemoteException;
@@ -40,14 +41,19 @@ import java.lang.annotation.RetentionPolicy;
 *
 *
 * @hide
 * @hide
 */
 */
@TestApi
@SystemService(Context.SENSOR_PRIVACY_SERVICE)
@SystemService(Context.SENSOR_PRIVACY_SERVICE)
public final class SensorPrivacyManager {
public final class SensorPrivacyManager {


    /** Microphone */
    /** Microphone
     * @hide */
    @TestApi
    public static final int INDIVIDUAL_SENSOR_MICROPHONE =
    public static final int INDIVIDUAL_SENSOR_MICROPHONE =
            SensorPrivacyIndividualEnabledSensorProto.MICROPHONE;
            SensorPrivacyIndividualEnabledSensorProto.MICROPHONE;


    /** Camera */
    /** Camera
     * @hide */
    @TestApi
    public static final int INDIVIDUAL_SENSOR_CAMERA =
    public static final int INDIVIDUAL_SENSOR_CAMERA =
            SensorPrivacyIndividualEnabledSensorProto.CAMERA;
            SensorPrivacyIndividualEnabledSensorProto.CAMERA;


@@ -66,6 +72,8 @@ public final class SensorPrivacyManager {
     * A class implementing this interface can register with the {@link
     * A class implementing this interface can register with the {@link
     * android.hardware.SensorPrivacyManager} to receive notification when the sensor privacy
     * android.hardware.SensorPrivacyManager} to receive notification when the sensor privacy
     * state changes.
     * state changes.
     *
     * @hide
     */
     */
    public interface OnSensorPrivacyChangedListener {
    public interface OnSensorPrivacyChangedListener {
        /**
        /**
@@ -101,6 +109,8 @@ public final class SensorPrivacyManager {


    /**
    /**
     * Returns the single instance of the SensorPrivacyManager.
     * Returns the single instance of the SensorPrivacyManager.
     *
     * @hide
     */
     */
    public static SensorPrivacyManager getInstance(Context context) {
    public static SensorPrivacyManager getInstance(Context context) {
        synchronized (sInstanceLock) {
        synchronized (sInstanceLock) {
@@ -121,6 +131,8 @@ public final class SensorPrivacyManager {
     * Sets sensor privacy to the specified state.
     * Sets sensor privacy to the specified state.
     *
     *
     * @param enable the state to which sensor privacy should be set.
     * @param enable the state to which sensor privacy should be set.
     *
     * @hide
     */
     */
    @RequiresPermission(android.Manifest.permission.MANAGE_SENSOR_PRIVACY)
    @RequiresPermission(android.Manifest.permission.MANAGE_SENSOR_PRIVACY)
    public void setSensorPrivacy(boolean enable) {
    public void setSensorPrivacy(boolean enable) {
@@ -137,6 +149,8 @@ public final class SensorPrivacyManager {
     *
     *
     * @param listener the OnSensorPrivacyChangedListener to be notified when the state of sensor
     * @param listener the OnSensorPrivacyChangedListener to be notified when the state of sensor
     *                 privacy changes.
     *                 privacy changes.
     *
     * @hide
     */
     */
    public void addSensorPrivacyListener(final OnSensorPrivacyChangedListener listener) {
    public void addSensorPrivacyListener(final OnSensorPrivacyChangedListener listener) {
        synchronized (mListeners) {
        synchronized (mListeners) {
@@ -166,6 +180,8 @@ public final class SensorPrivacyManager {
     * @param sensor the sensor to listen to changes to
     * @param sensor the sensor to listen to changes to
     * @param listener the OnSensorPrivacyChangedListener to be notified when the state of sensor
     * @param listener the OnSensorPrivacyChangedListener to be notified when the state of sensor
     *                 privacy changes.
     *                 privacy changes.
     *
     * @hide
     */
     */
    public void addSensorPrivacyListener(@IndividualSensor int sensor,
    public void addSensorPrivacyListener(@IndividualSensor int sensor,
            final OnSensorPrivacyChangedListener listener) {
            final OnSensorPrivacyChangedListener listener) {
@@ -196,6 +212,8 @@ public final class SensorPrivacyManager {
     *
     *
     * @param listener the OnSensorPrivacyChangedListener to be unregistered from notifications when
     * @param listener the OnSensorPrivacyChangedListener to be unregistered from notifications when
     *                 sensor privacy changes.
     *                 sensor privacy changes.
     *
     * @hide
     */
     */
    public void removeSensorPrivacyListener(OnSensorPrivacyChangedListener listener) {
    public void removeSensorPrivacyListener(OnSensorPrivacyChangedListener listener) {
        synchronized (mListeners) {
        synchronized (mListeners) {
@@ -215,6 +233,8 @@ public final class SensorPrivacyManager {
     * Returns whether sensor privacy is currently enabled.
     * Returns whether sensor privacy is currently enabled.
     *
     *
     * @return true if sensor privacy is currently enabled, false otherwise.
     * @return true if sensor privacy is currently enabled, false otherwise.
     *
     * @hide
     */
     */
    public boolean isSensorPrivacyEnabled() {
    public boolean isSensorPrivacyEnabled() {
        try {
        try {
@@ -228,7 +248,10 @@ public final class SensorPrivacyManager {
     * Returns whether sensor privacy is currently enabled for a specific sensor.
     * Returns whether sensor privacy is currently enabled for a specific sensor.
     *
     *
     * @return true if sensor privacy is currently enabled, false otherwise.
     * @return true if sensor privacy is currently enabled, false otherwise.
     *
     * @hide
     */
     */
    @TestApi
    public boolean isIndividualSensorPrivacyEnabled(@IndividualSensor int sensor) {
    public boolean isIndividualSensorPrivacyEnabled(@IndividualSensor int sensor) {
        try {
        try {
            return mService.isIndividualSensorPrivacyEnabled(mContext.getUserId(), sensor);
            return mService.isIndividualSensorPrivacyEnabled(mContext.getUserId(), sensor);
@@ -242,7 +265,10 @@ public final class SensorPrivacyManager {
     *
     *
     * @param sensor the sensor which to change the state for
     * @param sensor the sensor which to change the state for
     * @param enable the state to which sensor privacy should be set.
     * @param enable the state to which sensor privacy should be set.
     *
     * @hide
     */
     */
    @TestApi
    @RequiresPermission(android.Manifest.permission.MANAGE_SENSOR_PRIVACY)
    @RequiresPermission(android.Manifest.permission.MANAGE_SENSOR_PRIVACY)
    public void setIndividualSensorPrivacy(@IndividualSensor int sensor,
    public void setIndividualSensorPrivacy(@IndividualSensor int sensor,
            boolean enable) {
            boolean enable) {
@@ -259,7 +285,10 @@ public final class SensorPrivacyManager {
     *
     *
     * @param sensor the sensor which to change the state for
     * @param sensor the sensor which to change the state for
     * @param enable the state to which sensor privacy should be set.
     * @param enable the state to which sensor privacy should be set.
     *
     * @hide
     */
     */
    @TestApi
    @RequiresPermission(android.Manifest.permission.MANAGE_SENSOR_PRIVACY)
    @RequiresPermission(android.Manifest.permission.MANAGE_SENSOR_PRIVACY)
    public void setIndividualSensorPrivacyForProfileGroup(@IndividualSensor int sensor,
    public void setIndividualSensorPrivacyForProfileGroup(@IndividualSensor int sensor,
            boolean enable) {
            boolean enable) {