From 7fcfac49cf4889eac238d7531085358421eadfef Mon Sep 17 00:00:00 2001 From: Tim Peng Date: Wed, 6 May 2020 11:46:22 +0800 Subject: [PATCH] Settings > Sound crashes if no BT -Replace androidx.lifecycle.LifecycleObserver with com.android.settingslib.core.lifecycle.LifecycleObserver -Observer is added in DashboardFragment Bug: 155195625 Test: make -j50 RunSettingsRoboTests Change-Id: I99c587e4227e81ba521782f92b159051a1cba2d2 --- .../notification/RemoteVolumeGroupController.java | 14 +++++--------- .../settings/notification/SoundSettings.java | 1 - 2 files changed, 5 insertions(+), 10 deletions(-) diff --git a/src/com/android/settings/notification/RemoteVolumeGroupController.java b/src/com/android/settings/notification/RemoteVolumeGroupController.java index 137f7803d8b..6a9ac808ecb 100644 --- a/src/com/android/settings/notification/RemoteVolumeGroupController.java +++ b/src/com/android/settings/notification/RemoteVolumeGroupController.java @@ -23,15 +23,14 @@ import android.text.TextUtils; import android.util.Log; import androidx.annotation.VisibleForTesting; -import androidx.lifecycle.LifecycleObserver; -import androidx.lifecycle.OnLifecycleEvent; import androidx.preference.Preference; import androidx.preference.PreferenceCategory; import androidx.preference.PreferenceScreen; import com.android.settings.R; import com.android.settings.core.BasePreferenceController; -import com.android.settingslib.core.lifecycle.Lifecycle; +import com.android.settingslib.core.lifecycle.LifecycleObserver; +import com.android.settingslib.core.lifecycle.events.OnDestroy; import com.android.settingslib.media.LocalMediaManager; import com.android.settingslib.media.MediaDevice; import com.android.settingslib.media.MediaOutputSliceConstants; @@ -45,7 +44,8 @@ import java.util.List; * {@link com.android.settings.notification.RemoteVolumeSeekBarPreference} **/ public class RemoteVolumeGroupController extends BasePreferenceController implements - Preference.OnPreferenceChangeListener, LifecycleObserver, LocalMediaManager.DeviceCallback { + Preference.OnPreferenceChangeListener, LifecycleObserver, OnDestroy, + LocalMediaManager.DeviceCallback { private static final String KEY_REMOTE_VOLUME_GROUP = "remote_media_group"; private static final String TAG = "RemoteVolumePrefCtr"; @@ -92,11 +92,7 @@ public class RemoteVolumeGroupController extends BasePreferenceController implem } } - /** - * onDestroy() - * {@link androidx.lifecycle.OnLifecycleEvent} - **/ - @OnLifecycleEvent(Lifecycle.Event.ON_DESTROY) + @Override public void onDestroy() { mLocalMediaManager.unregisterCallback(this); mLocalMediaManager.stopScan(); diff --git a/src/com/android/settings/notification/SoundSettings.java b/src/com/android/settings/notification/SoundSettings.java index 746a2df8ab2..9e7f3ed5489 100644 --- a/src/com/android/settings/notification/SoundSettings.java +++ b/src/com/android/settings/notification/SoundSettings.java @@ -190,7 +190,6 @@ public class SoundSettings extends DashboardFragment implements OnActivityResult controller.setCallback(mVolumeCallback); getSettingsLifecycle().addObserver(controller); } - getSettingsLifecycle().addObserver(use(RemoteVolumeGroupController.class)); } // === Volumes ===