summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBeth Thibodeau <ethibodeau@google.com>2020-09-15 18:23:20 +0000
committerBeth Thibodeau <ethibodeau@google.com>2020-09-17 17:56:11 +0000
commitf7159102935b8befda9d62ae3d5cdb9c02ec7223 (patch)
treeff2ff84515cffbc4a766e2dd061e86991d67208c
parent097545689f72781a1ff62da24870b9a1296de591 (diff)
[DO NOT MERGE] Revert "Allow user to block individual apps from resuming"
Revert "Allow user to block individual apps from resuming." Revert submission 12392268-cherrypick-mediaappsettings-5fxuo164a2 Bug: 161813143 Reason for revert: no longer want change in QPR Reverted Changes: Id3de52419:Allow user to block individual apps from resuming.... I8c85bc937:Allow user to block individual apps from resuming Change-Id: I888079abc77f5bc22aefa19c2f7523bb9db05bf8
-rwxr-xr-xcore/java/android/provider/Settings.java8
-rw-r--r--packages/SettingsProvider/src/android/provider/settings/backup/SecureSettings.java1
-rw-r--r--packages/SettingsProvider/src/android/provider/settings/validators/SecureSettingsValidators.java2
-rw-r--r--packages/SystemUI/src/com/android/systemui/media/MediaDataManager.kt24
-rw-r--r--packages/SystemUI/src/com/android/systemui/media/MediaResumeListener.kt18
-rw-r--r--packages/SystemUI/src/com/android/systemui/tuner/TunerServiceImpl.java3
-rw-r--r--packages/SystemUI/src/com/android/systemui/util/Utils.java20
-rw-r--r--packages/SystemUI/tests/src/com/android/systemui/media/MediaDataManagerTest.kt52
8 files changed, 5 insertions, 123 deletions
diff --git a/core/java/android/provider/Settings.java b/core/java/android/provider/Settings.java
index 10ac27ca57fd..8b45ba994d7e 100755
--- a/core/java/android/provider/Settings.java
+++ b/core/java/android/provider/Settings.java
@@ -8929,14 +8929,6 @@ public final class Settings {
public static final String MEDIA_CONTROLS_RESUME = "qs_media_resumption";
/**
- * Controls which packages are blocked from persisting in media controls when resumption is
- * enabled. The list of packages is set by the user in the Settings app.
- * @see Settings.Secure#MEDIA_CONTROLS_RESUME
- * @hide
- */
- public static final String MEDIA_CONTROLS_RESUME_BLOCKED = "qs_media_resumption_blocked";
-
- /**
* Controls if window magnification is enabled.
* @hide
*/
diff --git a/packages/SettingsProvider/src/android/provider/settings/backup/SecureSettings.java b/packages/SettingsProvider/src/android/provider/settings/backup/SecureSettings.java
index efaef2191987..a311f0702a4b 100644
--- a/packages/SettingsProvider/src/android/provider/settings/backup/SecureSettings.java
+++ b/packages/SettingsProvider/src/android/provider/settings/backup/SecureSettings.java
@@ -165,7 +165,6 @@ public class SecureSettings {
Settings.Secure.AWARE_TAP_PAUSE_TOUCH_COUNT,
Settings.Secure.PEOPLE_STRIP,
Settings.Secure.MEDIA_CONTROLS_RESUME,
- Settings.Secure.MEDIA_CONTROLS_RESUME_BLOCKED,
Settings.Secure.ACCESSIBILITY_MAGNIFICATION_MODE,
Settings.Secure.ACCESSIBILITY_BUTTON_TARGETS,
Settings.Secure.ADAPTIVE_CONNECTIVITY_ENABLED
diff --git a/packages/SettingsProvider/src/android/provider/settings/validators/SecureSettingsValidators.java b/packages/SettingsProvider/src/android/provider/settings/validators/SecureSettingsValidators.java
index 6436355255a8..9c5b60065118 100644
--- a/packages/SettingsProvider/src/android/provider/settings/validators/SecureSettingsValidators.java
+++ b/packages/SettingsProvider/src/android/provider/settings/validators/SecureSettingsValidators.java
@@ -244,8 +244,6 @@ public class SecureSettingsValidators {
VALIDATORS.put(Secure.TAP_GESTURE, BOOLEAN_VALIDATOR);
VALIDATORS.put(Secure.PEOPLE_STRIP, BOOLEAN_VALIDATOR);
VALIDATORS.put(Secure.MEDIA_CONTROLS_RESUME, BOOLEAN_VALIDATOR);
- VALIDATORS.put(Secure.MEDIA_CONTROLS_RESUME_BLOCKED,
- COLON_SEPARATED_PACKAGE_LIST_VALIDATOR);
VALIDATORS.put(Secure.ACCESSIBILITY_MAGNIFICATION_MODE,
new InclusiveIntegerRangeValidator(
Secure.ACCESSIBILITY_MAGNIFICATION_MODE_FULLSCREEN,
diff --git a/packages/SystemUI/src/com/android/systemui/media/MediaDataManager.kt b/packages/SystemUI/src/com/android/systemui/media/MediaDataManager.kt
index b85e3656eccd..45b2a4ed230b 100644
--- a/packages/SystemUI/src/com/android/systemui/media/MediaDataManager.kt
+++ b/packages/SystemUI/src/com/android/systemui/media/MediaDataManager.kt
@@ -56,8 +56,6 @@ import java.io.PrintWriter
import java.util.concurrent.Executor
import javax.inject.Inject
import javax.inject.Singleton
-import kotlin.collections.ArrayList
-import kotlin.collections.LinkedHashMap
// URI fields to try loading album art from
private val ART_URIS = arrayOf(
@@ -106,17 +104,6 @@ class MediaDataManager(
private val listeners: MutableSet<Listener> = mutableSetOf()
private val mediaEntries: LinkedHashMap<String, MediaData> = LinkedHashMap()
- internal var appsBlockedFromResume: MutableSet<String> = Utils.getBlockedMediaApps(context)
- set(value) {
- // Update list
- appsBlockedFromResume.clear()
- appsBlockedFromResume.addAll(value)
-
- // Remove any existing resume players that are now blocked
- appsBlockedFromResume.forEach {
- removeAllForPackage(it)
- }
- }
@Inject
constructor(
@@ -548,8 +535,7 @@ class MediaDataManager(
fun onNotificationRemoved(key: String) {
Assert.isMainThread()
val removed = mediaEntries.remove(key)
- if (useMediaResumption && removed?.resumeAction != null &&
- !isBlockedFromResume(removed?.packageName)) {
+ if (useMediaResumption && removed?.resumeAction != null) {
if (DEBUG) Log.d(TAG, "Not removing $key because resumable")
// Move to resume key (aka package name) if that key doesn't already exist.
val resumeAction = getResumeMediaAction(removed.resumeAction!!)
@@ -586,13 +572,6 @@ class MediaDataManager(
}
}
- private fun isBlockedFromResume(packageName: String?): Boolean {
- if (packageName == null) {
- return true
- }
- return appsBlockedFromResume.contains(packageName)
- }
-
fun setMediaResumptionEnabled(isEnabled: Boolean) {
if (useMediaResumption == isEnabled) {
return
@@ -635,7 +614,6 @@ class MediaDataManager(
println("listeners: $listeners")
println("mediaEntries: $mediaEntries")
println("useMediaResumption: $useMediaResumption")
- println("appsBlockedFromResume: $appsBlockedFromResume")
}
}
}
diff --git a/packages/SystemUI/src/com/android/systemui/media/MediaResumeListener.kt b/packages/SystemUI/src/com/android/systemui/media/MediaResumeListener.kt
index c41712c4cf10..4ec746fcb153 100644
--- a/packages/SystemUI/src/com/android/systemui/media/MediaResumeListener.kt
+++ b/packages/SystemUI/src/com/android/systemui/media/MediaResumeListener.kt
@@ -52,7 +52,6 @@ class MediaResumeListener @Inject constructor(
private var useMediaResumption: Boolean = Utils.useMediaResumption(context)
private val resumeComponents: ConcurrentLinkedQueue<ComponentName> = ConcurrentLinkedQueue()
- private var blockedApps: MutableSet<String> = Utils.getBlockedMediaApps(context)
private lateinit var mediaDataManager: MediaDataManager
@@ -115,14 +114,6 @@ class MediaResumeListener @Inject constructor(
mediaDataManager.setMediaResumptionEnabled(useMediaResumption)
}
}, Settings.Secure.MEDIA_CONTROLS_RESUME)
-
- // Listen to changes in which apps are allowed to persist
- tunerService.addTunable(object : TunerService.Tunable {
- override fun onTuningChanged(key: String?, newValue: String?) {
- blockedApps = Utils.getBlockedMediaApps(context)
- mediaDataManager.appsBlockedFromResume = blockedApps
- }
- }, Settings.Secure.MEDIA_CONTROLS_RESUME_BLOCKED)
}
fun isResumptionEnabled() = useMediaResumption
@@ -153,10 +144,8 @@ class MediaResumeListener @Inject constructor(
}
resumeComponents.forEach {
- if (!blockedApps.contains(it.packageName)) {
- val browser = ResumeMediaBrowser(context, mediaBrowserCallback, it)
- browser.findRecentMedia()
- }
+ val browser = ResumeMediaBrowser(context, mediaBrowserCallback, it)
+ browser.findRecentMedia()
}
}
@@ -165,8 +154,7 @@ class MediaResumeListener @Inject constructor(
// If this had been started from a resume state, disconnect now that it's live
mediaBrowser?.disconnect()
// If we don't have a resume action, check if we haven't already
- if (data.resumeAction == null && !data.hasCheckedForResume &&
- !blockedApps.contains(data.packageName)) {
+ if (data.resumeAction == null && !data.hasCheckedForResume) {
// TODO also check for a media button receiver intended for restarting (b/154127084)
Log.d(TAG, "Checking for service component for " + data.packageName)
val pm = context.packageManager
diff --git a/packages/SystemUI/src/com/android/systemui/tuner/TunerServiceImpl.java b/packages/SystemUI/src/com/android/systemui/tuner/TunerServiceImpl.java
index 2512257fdc19..9ad2aa257aa0 100644
--- a/packages/SystemUI/src/com/android/systemui/tuner/TunerServiceImpl.java
+++ b/packages/SystemUI/src/com/android/systemui/tuner/TunerServiceImpl.java
@@ -63,8 +63,7 @@ public class TunerServiceImpl extends TunerService {
private static final String[] RESET_BLACKLIST = new String[] {
QSTileHost.TILES_SETTING,
Settings.Secure.DOZE_ALWAYS_ON,
- Settings.Secure.MEDIA_CONTROLS_RESUME,
- Secure.MEDIA_CONTROLS_RESUME_BLOCKED
+ Settings.Secure.MEDIA_CONTROLS_RESUME
};
private final Observer mObserver = new Observer();
diff --git a/packages/SystemUI/src/com/android/systemui/util/Utils.java b/packages/SystemUI/src/com/android/systemui/util/Utils.java
index 21f7a85b3277..9e3fcc401ffa 100644
--- a/packages/SystemUI/src/com/android/systemui/util/Utils.java
+++ b/packages/SystemUI/src/com/android/systemui/util/Utils.java
@@ -21,15 +21,12 @@ import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.provider.Settings;
-import android.text.TextUtils;
import android.view.View;
import com.android.systemui.shared.system.QuickStepContract;
import com.android.systemui.statusbar.CommandQueue;
-import java.util.HashSet;
import java.util.List;
-import java.util.Set;
import java.util.function.Consumer;
public class Utils {
@@ -144,21 +141,4 @@ public class Utils {
Settings.Secure.MEDIA_CONTROLS_RESUME, 1);
return useQsMediaPlayer(context) && flag > 0;
}
-
- /**
- * Get the set of apps for which the user has manually disabled resumption.
- */
- public static Set<String> getBlockedMediaApps(Context context) {
- String list = Settings.Secure.getString(context.getContentResolver(),
- Settings.Secure.MEDIA_CONTROLS_RESUME_BLOCKED);
- if (TextUtils.isEmpty(list)) {
- return new HashSet<>();
- }
- String[] names = list.split(":");
- Set<String> apps = new HashSet<>(names.length);
- for (String s : names) {
- apps.add(s);
- }
- return apps;
- }
}
diff --git a/packages/SystemUI/tests/src/com/android/systemui/media/MediaDataManagerTest.kt b/packages/SystemUI/tests/src/com/android/systemui/media/MediaDataManagerTest.kt
index 568dd6aafc3d..3789e6ef1f65 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/media/MediaDataManagerTest.kt
+++ b/packages/SystemUI/tests/src/com/android/systemui/media/MediaDataManagerTest.kt
@@ -197,58 +197,6 @@ class MediaDataManagerTest : SysuiTestCase() {
}
@Test
- fun testAppBlockedFromResumption() {
- // GIVEN that the manager has a notification with a resume action
- val listener = TestListener()
- mediaDataManager.addListener(listener)
- whenever(controller.metadata).thenReturn(metadataBuilder.build())
- mediaDataManager.onNotificationAdded(KEY, mediaNotification)
- assertThat(backgroundExecutor.runAllReady()).isEqualTo(1)
- assertThat(foregroundExecutor.runAllReady()).isEqualTo(1)
- val data = listener.data!!
- assertThat(data.resumption).isFalse()
- mediaDataManager.onMediaDataLoaded(KEY, null, data.copy(resumeAction = Runnable {}))
-
- // and the manager should block the package from creating resume controls
- val blocked = mutableSetOf(PACKAGE_NAME, "com.example.app")
- mediaDataManager.appsBlockedFromResume = blocked
-
- // WHEN the notification is removed
- mediaDataManager.onNotificationRemoved(KEY)
-
- // THEN the media data is removed
- assertThat(listener.removedKey!!).isEqualTo(KEY)
- }
-
- @Test
- fun testAppUnblockedFromResumption() {
- // GIVEN that an app was blocked from resuming
- val blocked = mutableSetOf(PACKAGE_NAME, "com.example.app")
- mediaDataManager.appsBlockedFromResume = blocked
-
- // and GIVEN that the manager has a notification from that app with a resume action
- val listener = TestListener()
- mediaDataManager.addListener(listener)
- whenever(controller.metadata).thenReturn(metadataBuilder.build())
- mediaDataManager.onNotificationAdded(KEY, mediaNotification)
- assertThat(backgroundExecutor.runAllReady()).isEqualTo(1)
- assertThat(foregroundExecutor.runAllReady()).isEqualTo(1)
- val data = listener.data!!
- assertThat(data.resumption).isFalse()
- mediaDataManager.onMediaDataLoaded(KEY, null, data.copy(resumeAction = Runnable {}))
-
- // WHEN the app is unblocked
- mediaDataManager.appsBlockedFromResume = mutableSetOf("com.example.app")
-
- // and the notification is removed
- mediaDataManager.onNotificationRemoved(KEY)
-
- // THEN the entry will stay as a resume control
- assertThat(listener.key!!).isEqualTo(PACKAGE_NAME)
- assertThat(listener.oldKey!!).isEqualTo(KEY)
- }
-
- @Test
fun testAddResumptionControls() {
val listener = TestListener()
mediaDataManager.addListener(listener)