Apply SettingsLib SeekBarPreference to Settings

Bug: 176818438
Test: robotest

Change-Id: I219878716457ce4bb7cad251bccf5d50d93030a5
This commit is contained in:
Edgar Wang
2020-11-30 18:07:24 +08:00
parent 4abbe80385
commit d6b5bbb5cb
40 changed files with 149 additions and 1264 deletions

View File

@@ -27,7 +27,7 @@ import androidx.preference.Preference;
import com.android.settings.accounts.AccountRestrictionHelper;
import com.android.settings.core.SliderPreferenceController;
import com.android.settingslib.RestrictedPreference;
import com.android.settingslib.Restrictable;
/**
* Base class for preference controller that handles preference that enforce adjust volume
@@ -51,10 +51,10 @@ public abstract class AdjustVolumeRestrictedPreferenceController extends
@Override
public void updateState(Preference preference) {
if (!(preference instanceof RestrictedPreference)) {
if (!(preference instanceof Restrictable)) {
return;
}
mHelper.enforceRestrictionOnPreference((RestrictedPreference) preference,
mHelper.enforceRestrictionOnPreference(preference,
UserManager.DISALLOW_ADJUST_VOLUME, UserHandle.myUserId());
}

View File

@@ -32,12 +32,12 @@ import androidx.annotation.VisibleForTesting;
import androidx.preference.PreferenceViewHolder;
import com.android.settings.R;
import com.android.settings.widget.SeekBarPreference;
import com.android.settingslib.RestrictedSeekBarPreference;
import java.util.Objects;
/** A slider preference that directly controls an audio stream volume (no dialog) **/
public class VolumeSeekBarPreference extends SeekBarPreference {
public class VolumeSeekBarPreference extends RestrictedSeekBarPreference {
private static final String TAG = "VolumeSeekBarPreference";
protected SeekBar mSeekBar;

View File

@@ -22,7 +22,6 @@ import static android.app.NotificationManager.BUBBLE_PREFERENCE_SELECTED;
import android.content.Context;
import android.content.res.ColorStateList;
import android.graphics.drawable.Drawable;
import android.util.AttributeSet;
import android.view.View;
import android.widget.ImageView;
@@ -33,13 +32,13 @@ import androidx.preference.PreferenceViewHolder;
import com.android.settings.Utils;
import com.android.settingslib.R;
import com.android.settingslib.RestrictedLockUtils;
import com.android.settingslib.Restrictable;
import com.android.settingslib.RestrictedPreferenceHelper;
/**
* A tri-state preference allowing a user to specify what gets to bubble.
*/
public class BubblePreference extends Preference implements View.OnClickListener {
public class BubblePreference extends Preference implements View.OnClickListener, Restrictable {
RestrictedPreferenceHelper mHelper;
private int mSelectedPreference;
@@ -81,12 +80,6 @@ public class BubblePreference extends Preference implements View.OnClickListener
return mSelectedPreference;
}
public void setDisabledByAdmin(RestrictedLockUtils.EnforcedAdmin admin) {
if (mHelper.setDisabledByAdmin(admin)) {
notifyChanged();
}
}
public void setSelectedVisibility(boolean visible) {
mSelectedVisible = visible;
notifyChanged();
@@ -149,6 +142,16 @@ public class BubblePreference extends Preference implements View.OnClickListener
mBubbleNoneButton.setSelected(mContext, selected == BUBBLE_PREFERENCE_NONE);
}
@Override
public RestrictedPreferenceHelper getHelper() {
return mHelper;
}
@Override
public void notifyPreferenceChanged() {
notifyChanged();
}
private class ButtonViewHolder {
private View mView;
private ImageView mImageView;