From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: MSe1969 Date: Sun, 17 Jun 2018 13:03:27 +0200 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_arrays.xml | 5 +++++ res/values/cm_strings.xml | 5 +++++ .../android/settings/applications/AppOpsState.java | 13 ++++++++++--- 5 files changed, 30 insertions(+), 3 deletions(-) diff --git a/res/values-de/cm_strings.xml b/res/values-de/cm_strings.xml index e7a59a5d96..10ea1ae860 100644 --- a/res/values-de/cm_strings.xml +++ b/res/values-de/cm_strings.xml @@ -100,6 +100,7 @@ Gerät Im Hintergrund ausführen Systemstart + Sensoren Root-Zugriff Andere Ungefährer Standort @@ -177,6 +178,8 @@ Beim Booten starten NFC ein-/ausschalten Mobile Daten ein-/ausschalten + Nutzung Bewegungssensoren + Sonstige Sensoren Root-Zugriff Ungefährer Standort Genauer Standort @@ -253,6 +256,8 @@ Beim Booten starten NFC ein-/ausschalten Mobile Daten ein-/ausschalten + Bewegungssensoren + sonstige Sensoren Root-Zugriff Erlaubt Verboten diff --git a/res/values-fr/cm_strings.xml b/res/values-fr/cm_strings.xml index dc0cee3d61..992258f378 100644 --- a/res/values-fr/cm_strings.xml +++ b/res/values-fr/cm_strings.xml @@ -101,6 +101,7 @@ Vous êtes maintenant à %1$d étapes de l\'a Appareil Exécuter en arrière plan Démarrage + Capteurs Accès root Autre localisation approximative @@ -178,6 +179,8 @@ Vous êtes maintenant à %1$d étapes de l\'a démarrer au lancement activer/désactiver le NFC activer/désactiver les données mobiles + utiliser les capteurs de mouvement + utiliser d\'autres capteurs accès root Position approximative Position précise @@ -254,6 +257,8 @@ Vous êtes maintenant à %1$d étapes de l\'a Démarrer au lancement Activer/désactiver le NFC Activer/désactiver les données mobiles + Capteur de mouvement + autres Capteurs Accès root Autorisé Ignoré diff --git a/res/values/cm_arrays.xml b/res/values/cm_arrays.xml index 901773fcc7..4796f9399c 100644 --- a/res/values/cm_arrays.xml +++ b/res/values/cm_arrays.xml @@ -34,6 +34,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 @@ -115,6 +116,8 @@ @string/app_ops_summaries_toggle_nfc @string/app_ops_summaries_toggle_mobile_data @string/app_ops_summaries_superuser + @string/app_ops_summaries_motion_sensors + @string/app_ops_summaries_other_sensors @@ -195,6 +198,8 @@ @string/app_ops_labels_toggle_nfc @string/app_ops_labels_toggle_mobile_data @string/app_ops_labels_superuser + @string/app_ops_labels_motion_sensors + @string/app_ops_labels_other_sensors diff --git a/res/values/cm_strings.xml b/res/values/cm_strings.xml index 314074eff0..054805104b 100644 --- a/res/values/cm_strings.xml +++ b/res/values/cm_strings.xml @@ -165,6 +165,7 @@ Device Run in background Bootup + Sensors Root access Other @@ -244,6 +245,8 @@ start at boot toggle NFC toggle cellular data + Motion Sensor usage + Other Sensor usage root access @@ -322,6 +325,8 @@ Start at boot Toggle NFC Toggle cellular data + Motion Sensors + Other Sensors Root access diff --git a/src/com/android/settings/applications/AppOpsState.java b/src/com/android/settings/applications/AppOpsState.java index f1a2e4dce1..4f946f2792 100644 --- a/src/com/android/settings/applications/AppOpsState.java +++ b/src/com/android/settings/applications/AppOpsState.java @@ -235,6 +235,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 } @@ -251,7 +260,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, @@ -271,7 +279,6 @@ public class AppOpsState { true, true, true, - true, true } ); @@ -285,7 +292,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 }; /**