Fix IntentReceiver leaked on Sound & vibration

The root cause is that PreferenceController migrated to Catalyst will be
removed by DashboardFragment and VolumeSeekBarPreferenceController
onPause() is not invoked.

NO_IFTTT=Controller only

Fix: 386162594
Flag: EXEMPT bugfix
Test: atest&manual
Change-Id: I13f8588c8259ed4ddb9895ffc60e209c99c05269
This commit is contained in:
Jacky Wang
2025-01-24 15:24:23 +08:00
parent a7fa6efe8f
commit 402e5bb38b
8 changed files with 62 additions and 106 deletions

View File

@@ -19,18 +19,15 @@ package com.android.settings.notification;
import android.content.Context;
import androidx.annotation.VisibleForTesting;
import androidx.lifecycle.LifecycleObserver;
import androidx.lifecycle.OnLifecycleEvent;
import androidx.preference.PreferenceScreen;
import com.android.settings.R;
import com.android.settingslib.core.lifecycle.Lifecycle;
/**
* Base class for preference controller that handles VolumeSeekBarPreference
*/
public abstract class VolumeSeekBarPreferenceController extends
AdjustVolumeRestrictedPreferenceController implements LifecycleObserver {
AdjustVolumeRestrictedPreferenceController {
protected VolumeSeekBarPreference mPreference;
protected AudioHelper mHelper;
@@ -61,20 +58,6 @@ public abstract class VolumeSeekBarPreferenceController extends
mPreference.setMuteIcon(getMuteIcon());
}
@OnLifecycleEvent(Lifecycle.Event.ON_RESUME)
public void onResume() {
if (mPreference != null) {
mPreference.onActivityResume();
}
}
@OnLifecycleEvent(Lifecycle.Event.ON_PAUSE)
public void onPause() {
if (mPreference != null) {
mPreference.onActivityPause();
}
}
@Override
public int getSliceHighlightMenuRes() {
return R.string.menu_key_sound;