[Audiosharing] Impl a base controller for audio sharing page.

The preference controllers attached to audio sharing page will extends
this base controller so that their visibility will be updated together
depending on the main switch state.

Flagged with enable_le_audio_sharing

Bug: 305620450
Test: Manual
Change-Id: I3d37c87a128098a1b1a38cb8621be9a4d4e8c15e
This commit is contained in:
Yiyi Shen
2023-11-14 19:53:55 +08:00
parent 475f87bedc
commit 21ed1b0358
5 changed files with 104 additions and 34 deletions

View File

@@ -22,13 +22,10 @@ import androidx.annotation.NonNull;
import androidx.lifecycle.DefaultLifecycleObserver;
import androidx.lifecycle.LifecycleOwner;
import androidx.preference.Preference;
import androidx.preference.PreferenceScreen;
import com.android.settings.core.BasePreferenceController;
import com.android.settings.flags.Flags;
import com.android.settings.widget.ValidatedEditTextPreference;
public class AudioSharingNamePreferenceController extends BasePreferenceController
public class AudioSharingNamePreferenceController extends AudioSharingBasePreferenceController
implements ValidatedEditTextPreference.Validator,
Preference.OnPreferenceChangeListener,
DefaultLifecycleObserver {
@@ -37,8 +34,6 @@ public class AudioSharingNamePreferenceController extends BasePreferenceControll
private static final String PREF_KEY = "audio_sharing_stream_name";
protected Preference mPreference;
private AudioSharingNameTextValidator mAudioSharingNameTextValidator;
public AudioSharingNamePreferenceController(Context context) {
@@ -46,11 +41,6 @@ public class AudioSharingNamePreferenceController extends BasePreferenceControll
mAudioSharingNameTextValidator = new AudioSharingNameTextValidator();
}
@Override
public int getAvailabilityStatus() {
return Flags.enableLeAudioSharing() ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
}
@Override
public String getPreferenceKey() {
return PREF_KEY;
@@ -62,12 +52,6 @@ public class AudioSharingNamePreferenceController extends BasePreferenceControll
return true;
}
@Override
public void displayPreference(PreferenceScreen screen) {
super.displayPreference(screen);
mPreference = screen.findPreference(getPreferenceKey());
}
@Override
public boolean isTextValid(String value) {
return mAudioSharingNameTextValidator.isTextValid(value);