From 8e094fb3c712e8540b2614d399c4cca378d4a045 Mon Sep 17 00:00:00 2001 From: Eun-Jeong Shin Date: Mon, 28 Feb 2022 12:37:22 +0000 Subject: [PATCH] Generate user consent dialog for device log access This change is to implement dialog instead of generating notification when device log access is requested. The LogcatManagerService checks if logd access is coming from background or foreground. If the requester is foreground, the LogcatManagerService generates a dialog to obtain user consent. If the user grants access, the LogcatManagerService approves full device log access. If the user does not grant access, the LogcatManagerService denies full device log access. If the requester is background, the LogcatManagerService denies full device log access. Consent dialog times out if there is no user action for 5 minutes and the LogcatManagerService denies full device log access. This codebase is the continuity of the implementation ag/16618162 to obtain user consent and improvement of ag/16673548 Bug: 193708292 Test: CtsVerifier Ignore-AOSP-First: pending fix for logcat privacy issue Change-Id: I708ca651a655fc5725dfac035ac27e7fd3ed27f6 --- core/res/AndroidManifest.xml | 5 +- .../grant_permissions_buttons_bottom.xml | 23 ++ .../grant_permissions_buttons_top.xml | 23 ++ ..._access_user_consent_dialog_permission.xml | 86 +++++++ core/res/res/values/strings.xml | 9 +- core/res/res/values/styles.xml | 38 +++ core/res/res/values/symbols.xml | 4 + .../logcat/LogAccessConfirmationActivity.java | 130 ---------- .../logcat/LogAccessDialogActivity.java | 169 +++++++++++++ .../server/logcat/LogcatManagerService.java | 229 ++++-------------- 10 files changed, 401 insertions(+), 315 deletions(-) create mode 100644 core/res/res/drawable/grant_permissions_buttons_bottom.xml create mode 100644 core/res/res/drawable/grant_permissions_buttons_top.xml create mode 100644 core/res/res/layout/log_access_user_consent_dialog_permission.xml delete mode 100644 services/core/java/com/android/server/logcat/LogAccessConfirmationActivity.java create mode 100644 services/core/java/com/android/server/logcat/LogAccessDialogActivity.java diff --git a/core/res/AndroidManifest.xml b/core/res/AndroidManifest.xml index fa9eba34d30b9..21baa0bcea97e 100644 --- a/core/res/AndroidManifest.xml +++ b/core/res/AndroidManifest.xml @@ -6668,10 +6668,9 @@ android:exported="false"> - diff --git a/core/res/res/drawable/grant_permissions_buttons_bottom.xml b/core/res/res/drawable/grant_permissions_buttons_bottom.xml new file mode 100644 index 0000000000000..a800f15b297e0 --- /dev/null +++ b/core/res/res/drawable/grant_permissions_buttons_bottom.xml @@ -0,0 +1,23 @@ + + + + + + + \ No newline at end of file diff --git a/core/res/res/drawable/grant_permissions_buttons_top.xml b/core/res/res/drawable/grant_permissions_buttons_top.xml new file mode 100644 index 0000000000000..2bf803e340ec7 --- /dev/null +++ b/core/res/res/drawable/grant_permissions_buttons_top.xml @@ -0,0 +1,23 @@ + + + + + + + \ No newline at end of file diff --git a/core/res/res/layout/log_access_user_consent_dialog_permission.xml b/core/res/res/layout/log_access_user_consent_dialog_permission.xml new file mode 100644 index 0000000000000..bd7efbd59c333 --- /dev/null +++ b/core/res/res/layout/log_access_user_consent_dialog_permission.xml @@ -0,0 +1,86 @@ + + + + + + + + + + + +