diff options
author | android-build-team Robot <android-build-team-robot@google.com> | 2020-09-26 21:05:11 +0000 |
---|---|---|
committer | android-build-team Robot <android-build-team-robot@google.com> | 2020-09-26 21:05:11 +0000 |
commit | 18f1a24bc3b2db8d7f5d98666067e6917d45a9f0 (patch) | |
tree | c58bfea523be18d03b44b5fc57a2d1edcaaa2996 | |
parent | 5a39cc81bdc4e36830e121e0c773469ab08d979f (diff) | |
parent | 4895c46357151f2252ae61b4b2a56b2b888f5ebc (diff) | |
download | tests-android11-qpr1-s2-release.tar.gz |
Snap for 6866310 from 4895c46357151f2252ae61b4b2a56b2b888f5ebc to rvc-qpr1-releaseandroid-11.0.0_r31android-11.0.0_r29android-11.0.0_r28android-11.0.0_r27android-11.0.0_r26android-11.0.0_r24android-11.0.0_r23android-11.0.0_r22android-11.0.0_r21android-11.0.0_r20android-11.0.0_r19android-11.0.0_r18android11-qpr1-s2-releaseandroid11-qpr1-s1-releaseandroid11-qpr1-releaseandroid11-qpr1-d-s1-releaseandroid11-qpr1-d-release
Change-Id: I457bc035b0e675c47d327134a90d5920a03202d2
-rw-r--r-- | TestMediaApp/src/com/android/car/media/testmediaapp/TmaBrowser.java | 49 | ||||
-rw-r--r-- | TestMediaApp/src/com/android/car/media/testmediaapp/prefs/TmaPrefs.java | 8 | ||||
-rw-r--r-- | build.gradle | 2 |
3 files changed, 39 insertions, 20 deletions
diff --git a/TestMediaApp/src/com/android/car/media/testmediaapp/TmaBrowser.java b/TestMediaApp/src/com/android/car/media/testmediaapp/TmaBrowser.java index 3c3eeb6..61b3a31 100644 --- a/TestMediaApp/src/com/android/car/media/testmediaapp/TmaBrowser.java +++ b/TestMediaApp/src/com/android/car/media/testmediaapp/TmaBrowser.java @@ -33,7 +33,9 @@ import androidx.annotation.Nullable; import androidx.media.MediaBrowserServiceCompat; import com.android.car.media.testmediaapp.loader.TmaLoader; +import com.android.car.media.testmediaapp.prefs.TmaEnumPrefs; import com.android.car.media.testmediaapp.prefs.TmaEnumPrefs.TmaAccountType; +import com.android.car.media.testmediaapp.prefs.TmaEnumPrefs.TmaBrowseNodeType; import com.android.car.media.testmediaapp.prefs.TmaEnumPrefs.TmaReplyDelay; import com.android.car.media.testmediaapp.prefs.TmaPrefs; @@ -72,6 +74,10 @@ public class TmaBrowser extends MediaBrowserServiceCompat { private BrowserRoot mRoot; + public TmaBrowser() { + super(); + } + @Override public void onCreate() { super.onCreate(); @@ -91,14 +97,9 @@ public class TmaBrowser extends MediaBrowserServiceCompat { mediaSessionExtras.putString(BROWSE_SERVICE_FOR_SESSION_KEY, TmaBrowser.class.getName()); mSession.setExtras(mediaSessionExtras); - mPrefs.mAccountType.registerChangeListener( - (oldValue, newValue) -> onAccountChanged(newValue)); - - mPrefs.mRootNodeType.registerChangeListener( - (oldValue, newValue) -> invalidateRoot()); - - mPrefs.mRootReplyDelay.registerChangeListener( - (oldValue, newValue) -> invalidateRoot()); + mPrefs.mAccountType.registerChangeListener(mOnAccountChanged); + mPrefs.mRootNodeType.registerChangeListener(mOnRootNodeTypeChanged); + mPrefs.mRootReplyDelay.registerChangeListener(mOnReplyDelayChanged); Bundle browserRootExtras = new Bundle(); browserRootExtras.putBoolean(SEARCH_SUPPORTED, true); @@ -109,23 +110,33 @@ public class TmaBrowser extends MediaBrowserServiceCompat { @Override public void onDestroy() { + mPrefs.mAccountType.unregisterChangeListener(mOnAccountChanged); + mPrefs.mRootNodeType.unregisterChangeListener(mOnRootNodeTypeChanged); + mPrefs.mRootReplyDelay.unregisterChangeListener(mOnReplyDelayChanged); mSession.release(); mHandler = null; mPrefs = null; super.onDestroy(); } - private void onAccountChanged(TmaAccountType accountType) { - if (PLAYBACK_STATE_UPDATE_FIRST.equals(mPrefs.mLoginEventOrder.getValue())) { - updatePlaybackState(accountType); - invalidateRoot(); - } else { - invalidateRoot(); - (new Handler()).postDelayed(() -> { - updatePlaybackState(accountType); - }, 3000); - } - } + private final TmaPrefs.PrefValueChangedListener<TmaAccountType> mOnAccountChanged = + (oldValue, newValue) -> { + if (PLAYBACK_STATE_UPDATE_FIRST.equals(mPrefs.mLoginEventOrder.getValue())) { + updatePlaybackState(newValue); + invalidateRoot(); + } else { + invalidateRoot(); + (new Handler()).postDelayed(() -> { + updatePlaybackState(newValue); + }, 3000); + } + }; + + private final TmaPrefs.PrefValueChangedListener<TmaBrowseNodeType> mOnRootNodeTypeChanged = + (oldValue, newValue) -> invalidateRoot(); + + private final TmaPrefs.PrefValueChangedListener<TmaReplyDelay> mOnReplyDelayChanged = + (oldValue, newValue) -> invalidateRoot(); private void updatePlaybackState(TmaAccountType accountType) { if (accountType == TmaAccountType.NONE) { diff --git a/TestMediaApp/src/com/android/car/media/testmediaapp/prefs/TmaPrefs.java b/TestMediaApp/src/com/android/car/media/testmediaapp/prefs/TmaPrefs.java index 8e9d89f..dd08cd2 100644 --- a/TestMediaApp/src/com/android/car/media/testmediaapp/prefs/TmaPrefs.java +++ b/TestMediaApp/src/com/android/car/media/testmediaapp/prefs/TmaPrefs.java @@ -110,6 +110,14 @@ public class TmaPrefs { mSharedPrefs.registerOnSharedPreferenceChangeListener(listenerWrapper); mListeners.put(listener, listenerWrapper); } + + public void unregisterChangeListener(PrefValueChangedListener<T> listener) { + OnSharedPreferenceChangeListener listenerWrapper = mListeners.get(listener); + if (listenerWrapper != null) { + mSharedPrefs.unregisterOnSharedPreferenceChangeListener(listenerWrapper); + mListeners.remove(listener); + } + } } diff --git a/build.gradle b/build.gradle index 8ea89fa..5493299 100644 --- a/build.gradle +++ b/build.gradle @@ -22,7 +22,7 @@ buildscript { jcenter() } dependencies { - classpath 'com.android.tools.build:gradle:4.0.0' + classpath 'com.android.tools.build:gradle:4.0.1' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files |