From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: MSe1969 Date: Fri, 15 Mar 2019 22:29:43 +0100 Subject: [PATCH] AppOps/PrivacyGuard: New Sensor checks [Settings] Add two AppOps for sensor access: - OP_MOTION_SENSORS (default: allow, strict) - OP_OTHER_SENSORS (default: allow) Add new Sensor template, relocate BODY_SENSORS into it Change-Id: I9b51c47e27a330823ecb4472b9a7818718ef4209 --- res/values-de/cm_strings.xml | 5 +++++ res/values-fr/cm_strings.xml | 5 +++++ res/values/cm_strings.xml | 5 +++++ res/values/lineage_arrays.xml | 9 +++++++++ .../settings/applications/appops/AppOpsState.java | 13 ++++++++++--- 5 files changed, 34 insertions(+), 3 deletions(-) diff --git a/res/values-de/cm_strings.xml b/res/values-de/cm_strings.xml index dee07db2b4..02cafb1b05 100644 --- a/res/values-de/cm_strings.xml +++ b/res/values-de/cm_strings.xml @@ -39,6 +39,7 @@ Gerät Im Hintergrund ausführen Systemstart + Sensoren Root-Zugriff Andere Anrufeübergabe aus einer anderen App anzunehmen @@ -76,8 +77,10 @@ Einstellungen ändern Standort mit hohem Stromverbrauch beobachten Standort beobachten + Nutzung Bewegungssensoren Mikrofon ein-/ausschalten Benachbarte Netze + Sonstige Sensoren Anrufe beantworten Bild im Bild verwenden Audio wiedergeben @@ -162,8 +165,10 @@ Einstellungen ändern Standort mit hohem Stromverbrauch beobachten Standort beobachten + Bewegungssensoren Mikrofon ein-/ausschalten Benachbarte Zellen + sonstige Sensoren Anrufe beantworten Bild im Bild verwenden Audio wiedergeben diff --git a/res/values-fr/cm_strings.xml b/res/values-fr/cm_strings.xml index 523d87d673..3133e8d4bf 100644 --- a/res/values-fr/cm_strings.xml +++ b/res/values-fr/cm_strings.xml @@ -39,6 +39,7 @@ Appareil Exécuter en arrière plan Démarrage + Capteurs Accès root Autre transférer un appel d\'une autre application @@ -76,8 +77,10 @@ modifier les paramètres surveiller la position (à puissance élevée) surveiller la position + utiliser les capteurs de mouvement activer/désactiver le microphone nœuds environnants + utiliser d\'autres capteurs répondre aux appels téléphoniques utiliser le mode Picture-in-Picture lecture audio @@ -162,8 +165,10 @@ Modifier les paramètres Surveiller la position (à puissance élevée) Surveiller la position + Capteur de mouvement Activer/désactiver le microphone Noeuds environnants + autres Capteurs Répondre aux appels téléphoniques Utiliser le mode Picture-in-Picture Lecture audio diff --git a/res/values/cm_strings.xml b/res/values/cm_strings.xml index c4a0aaa915..1150011970 100644 --- a/res/values/cm_strings.xml +++ b/res/values/cm_strings.xml @@ -50,6 +50,7 @@ Device Run in background Bootup + Sensors Root access Other @@ -89,7 +90,9 @@ modify settings monitor high power location monitor location + Motion Sensor usage mute/unmute microphone + Other Sensor usage neighboring cells answer phone calls use picture in picture @@ -177,8 +180,10 @@ Modify settings Monitor high power location Monitor location + Motion Sensors Mute/unmute microphone Neighboring cells + Other Sensors Answer phone calls Use picture in picture Play audio diff --git a/res/values/lineage_arrays.xml b/res/values/lineage_arrays.xml index 0145438148..40fea7be2d 100644 --- a/res/values/lineage_arrays.xml +++ b/res/values/lineage_arrays.xml @@ -51,6 +51,7 @@ @string/app_ops_categories_run_in_background @string/app_ops_categories_bootup @string/app_ops_categories_su + @string/app_ops_categories_sensors @string/app_ops_categories_other @@ -222,6 +223,10 @@ @string/app_ops_summaries_toggle_mobile_data @string/app_ops_summaries_su + + @string/app_ops_summaries_motion_sensors + + @string/app_ops_summaries_other_sensors @@ -392,6 +397,10 @@ @string/app_ops_labels_toggle_mobile_data @string/app_ops_labels_su + + @string/app_ops_labels_motion_sensors + + @string/app_ops_labels_other_sensors diff --git a/src/com/android/settings/applications/appops/AppOpsState.java b/src/com/android/settings/applications/appops/AppOpsState.java index eeb1b2d302..8c8d2283ba 100644 --- a/src/com/android/settings/applications/appops/AppOpsState.java +++ b/src/com/android/settings/applications/appops/AppOpsState.java @@ -236,6 +236,15 @@ public class AppOpsState { new boolean[] { true } ); + public static final OpsTemplate SENSOR_TEMPLATE = new OpsTemplate( + new int[] { AppOpsManager.OP_BODY_SENSORS, + AppOpsManager.OP_MOTION_SENSORS, + AppOpsManager.OP_OTHER_SENSORS }, + new boolean[] { true, + false, + false } + ); + public static final OpsTemplate SU_TEMPLATE = new OpsTemplate( new int[] { AppOpsManager.OP_SU }, new boolean[] { false } @@ -252,7 +261,6 @@ public class AppOpsState { AppOpsManager.OP_USE_SIP, AppOpsManager.OP_PROCESS_OUTGOING_CALLS, AppOpsManager.OP_USE_FINGERPRINT, - AppOpsManager.OP_BODY_SENSORS, AppOpsManager.OP_READ_CELL_BROADCASTS, AppOpsManager.OP_MOCK_LOCATION, AppOpsManager.OP_READ_EXTERNAL_STORAGE, @@ -272,7 +280,6 @@ public class AppOpsState { true, true, true, - true, true } ); @@ -286,7 +293,7 @@ public class AppOpsState { public static final OpsTemplate[] ALL_PERMS_TEMPLATES = new OpsTemplate[] { LOCATION_TEMPLATE, PERSONAL_TEMPLATE, MESSAGING_TEMPLATE, MEDIA_TEMPLATE, DEVICE_TEMPLATE, RUN_IN_BACKGROUND_TEMPLATE, - BOOTUP_TEMPLATE, SU_TEMPLATE, REMAINING_TEMPLATE + BOOTUP_TEMPLATE, SU_TEMPLATE, SENSOR_TEMPLATE, REMAINING_TEMPLATE }; /**