From 7998fd93bb5b3de526000f28da3aa1211409c66d Mon Sep 17 00:00:00 2001 From: Richard MacGregor Date: Thu, 18 Jan 2024 09:37:19 -0800 Subject: Add global setting for disabling screenshare protections Add global setting that allows disabling screenshare protections to allow for better bug reports and debugging. Bug: 320757744 Bug: 316955558 Bug: 316954829 Test: atest SettingsBackupTest Change-Id: Ibfece2f0335bef22807156aec761d95e5503d347 --- core/java/android/provider/Settings.java | 10 ++++++++++ core/proto/android/providers/settings/global.proto | 1 + .../com/android/providers/settings/SettingsProtoDumpUtil.java | 4 ++++ .../test/src/android/provider/SettingsBackupTest.java | 1 + 4 files changed, 16 insertions(+) diff --git a/core/java/android/provider/Settings.java b/core/java/android/provider/Settings.java index 76fda0636282..ef2d5ebd33fd 100644 --- a/core/java/android/provider/Settings.java +++ b/core/java/android/provider/Settings.java @@ -18160,6 +18160,16 @@ public final class Settings { public static final String SHOW_NOTIFICATION_CHANNEL_WARNINGS = "show_notification_channel_warnings"; + /** + * Whether to disable app and notification screen share protections. + * + * The value 1 - enable, 0 - disable + * @hide + */ + @Readable + public static final String DISABLE_SCREEN_SHARE_PROTECTIONS_FOR_APPS_AND_NOTIFICATIONS = + "disable_screen_share_protections_for_apps_and_notifications"; + /** * Whether cell is enabled/disabled * @hide diff --git a/core/proto/android/providers/settings/global.proto b/core/proto/android/providers/settings/global.proto index d3f3af738273..286185864593 100644 --- a/core/proto/android/providers/settings/global.proto +++ b/core/proto/android/providers/settings/global.proto @@ -723,6 +723,7 @@ message GlobalSettingsProto { // encoded as a key=value list separated by commas. optional SettingProto smart_suggestions_in_notifications_flags = 5 [ (android.privacy).dest = DEST_AUTOMATIC ]; optional SettingProto bubbles = 6 [ (android.privacy).dest = DEST_AUTOMATIC ]; + optional SettingProto disable_screen_share_protections_for_apps_and_notifications = 7 [ (android.privacy).dest = DEST_AUTOMATIC ]; } optional Notification notification = 82; diff --git a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProtoDumpUtil.java b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProtoDumpUtil.java index 1e146a51e21e..e4a762ae8118 100644 --- a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProtoDumpUtil.java +++ b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProtoDumpUtil.java @@ -1113,6 +1113,10 @@ class SettingsProtoDumpUtil { dumpSetting(s, p, Settings.Global.SMART_SUGGESTIONS_IN_NOTIFICATIONS_FLAGS, GlobalSettingsProto.Notification.SMART_SUGGESTIONS_IN_NOTIFICATIONS_FLAGS); + dumpSetting(s, p, + Settings.Global.DISABLE_SCREEN_SHARE_PROTECTIONS_FOR_APPS_AND_NOTIFICATIONS, + GlobalSettingsProto.Notification + .DISABLE_SCREEN_SHARE_PROTECTIONS_FOR_APPS_AND_NOTIFICATIONS); p.end(notificationToken); dumpSetting(s, p, diff --git a/packages/SettingsProvider/test/src/android/provider/SettingsBackupTest.java b/packages/SettingsProvider/test/src/android/provider/SettingsBackupTest.java index 16de478d99c1..b58187d8e95e 100644 --- a/packages/SettingsProvider/test/src/android/provider/SettingsBackupTest.java +++ b/packages/SettingsProvider/test/src/android/provider/SettingsBackupTest.java @@ -185,6 +185,7 @@ public class SettingsBackupTest { Settings.Global.DEVELOPMENT_WM_DISPLAY_SETTINGS_PATH, Settings.Global.DEVICE_DEMO_MODE, Settings.Global.DEVICE_IDLE_CONSTANTS, + Settings.Global.DISABLE_SCREEN_SHARE_PROTECTIONS_FOR_APPS_AND_NOTIFICATIONS, Settings.Global.DISABLE_WINDOW_BLURS, Settings.Global.BATTERY_SAVER_CONSTANTS, Settings.Global.BATTERY_TIP_CONSTANTS, -- cgit v1.2.3-59-g8ed1b