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
This commit is contained in:
Tim Peng
2020-05-06 11:46:22 +08:00
committed by tim peng
parent 032f77052b
commit 7fcfac49cf
2 changed files with 5 additions and 10 deletions

View File

@@ -23,15 +23,14 @@ import android.text.TextUtils;
import android.util.Log; import android.util.Log;
import androidx.annotation.VisibleForTesting; import androidx.annotation.VisibleForTesting;
import androidx.lifecycle.LifecycleObserver;
import androidx.lifecycle.OnLifecycleEvent;
import androidx.preference.Preference; import androidx.preference.Preference;
import androidx.preference.PreferenceCategory; import androidx.preference.PreferenceCategory;
import androidx.preference.PreferenceScreen; import androidx.preference.PreferenceScreen;
import com.android.settings.R; import com.android.settings.R;
import com.android.settings.core.BasePreferenceController; 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.LocalMediaManager;
import com.android.settingslib.media.MediaDevice; import com.android.settingslib.media.MediaDevice;
import com.android.settingslib.media.MediaOutputSliceConstants; import com.android.settingslib.media.MediaOutputSliceConstants;
@@ -45,7 +44,8 @@ import java.util.List;
* {@link com.android.settings.notification.RemoteVolumeSeekBarPreference} * {@link com.android.settings.notification.RemoteVolumeSeekBarPreference}
**/ **/
public class RemoteVolumeGroupController extends BasePreferenceController implements 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 KEY_REMOTE_VOLUME_GROUP = "remote_media_group";
private static final String TAG = "RemoteVolumePrefCtr"; private static final String TAG = "RemoteVolumePrefCtr";
@@ -92,11 +92,7 @@ public class RemoteVolumeGroupController extends BasePreferenceController implem
} }
} }
/** @Override
* onDestroy()
* {@link androidx.lifecycle.OnLifecycleEvent}
**/
@OnLifecycleEvent(Lifecycle.Event.ON_DESTROY)
public void onDestroy() { public void onDestroy() {
mLocalMediaManager.unregisterCallback(this); mLocalMediaManager.unregisterCallback(this);
mLocalMediaManager.stopScan(); mLocalMediaManager.stopScan();

View File

@@ -190,7 +190,6 @@ public class SoundSettings extends DashboardFragment implements OnActivityResult
controller.setCallback(mVolumeCallback); controller.setCallback(mVolumeCallback);
getSettingsLifecycle().addObserver(controller); getSettingsLifecycle().addObserver(controller);
} }
getSettingsLifecycle().addObserver(use(RemoteVolumeGroupController.class));
} }
// === Volumes === // === Volumes ===