diff options
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) |