Merge "Make DropDownPreference extend ListPreference"
This commit is contained in:
@@ -419,10 +419,10 @@ public class DevelopmentSettings extends SettingsPreferenceFragment
|
|||||||
final UiModeManager uiManager = (UiModeManager) getSystemService(
|
final UiModeManager uiManager = (UiModeManager) getSystemService(
|
||||||
Context.UI_MODE_SERVICE);
|
Context.UI_MODE_SERVICE);
|
||||||
final int currentNightMode = uiManager.getNightMode();
|
final int currentNightMode = uiManager.getNightMode();
|
||||||
mNightModePreference.setSelectedValue(String.valueOf(currentNightMode));
|
mNightModePreference.setValue(String.valueOf(currentNightMode));
|
||||||
mNightModePreference.setCallback(new DropDownPreference.Callback() {
|
mNightModePreference.setOnPreferenceChangeListener(new OnPreferenceChangeListener() {
|
||||||
@Override
|
@Override
|
||||||
public boolean onItemSelected(int pos, Object newValue) {
|
public boolean onPreferenceChange(Preference preference, Object newValue) {
|
||||||
try {
|
try {
|
||||||
final int value = Integer.parseInt((String) newValue);
|
final int value = Integer.parseInt((String) newValue);
|
||||||
final UiModeManager uiManager = (UiModeManager) getSystemService(
|
final UiModeManager uiManager = (UiModeManager) getSystemService(
|
||||||
|
@@ -16,12 +16,6 @@
|
|||||||
|
|
||||||
package com.android.settings;
|
package com.android.settings;
|
||||||
|
|
||||||
import com.android.internal.logging.MetricsLogger;
|
|
||||||
import com.android.internal.view.RotationPolicy;
|
|
||||||
import com.android.settings.DropDownPreference.Callback;
|
|
||||||
import com.android.settings.search.BaseSearchIndexProvider;
|
|
||||||
import com.android.settings.search.Indexable;
|
|
||||||
|
|
||||||
import static android.provider.Settings.Secure.CAMERA_GESTURE_DISABLED;
|
import static android.provider.Settings.Secure.CAMERA_GESTURE_DISABLED;
|
||||||
import static android.provider.Settings.Secure.DOUBLE_TAP_TO_WAKE;
|
import static android.provider.Settings.Secure.DOUBLE_TAP_TO_WAKE;
|
||||||
import static android.provider.Settings.Secure.DOZE_ENABLED;
|
import static android.provider.Settings.Secure.DOZE_ENABLED;
|
||||||
@@ -48,6 +42,7 @@ import android.os.RemoteException;
|
|||||||
import android.os.SystemProperties;
|
import android.os.SystemProperties;
|
||||||
import android.preference.ListPreference;
|
import android.preference.ListPreference;
|
||||||
import android.preference.Preference;
|
import android.preference.Preference;
|
||||||
|
import android.preference.Preference.OnPreferenceChangeListener;
|
||||||
import android.preference.Preference.OnPreferenceClickListener;
|
import android.preference.Preference.OnPreferenceClickListener;
|
||||||
import android.preference.PreferenceScreen;
|
import android.preference.PreferenceScreen;
|
||||||
import android.preference.SwitchPreference;
|
import android.preference.SwitchPreference;
|
||||||
@@ -56,6 +51,11 @@ import android.provider.Settings;
|
|||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
|
|
||||||
|
import com.android.internal.logging.MetricsLogger;
|
||||||
|
import com.android.internal.view.RotationPolicy;
|
||||||
|
import com.android.settings.search.BaseSearchIndexProvider;
|
||||||
|
import com.android.settings.search.Indexable;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@@ -162,8 +162,6 @@ public class DisplaySettings extends SettingsPreferenceFragment implements
|
|||||||
if (RotationPolicy.isRotationLockToggleVisible(activity)) {
|
if (RotationPolicy.isRotationLockToggleVisible(activity)) {
|
||||||
DropDownPreference rotatePreference =
|
DropDownPreference rotatePreference =
|
||||||
(DropDownPreference) findPreference(KEY_AUTO_ROTATE);
|
(DropDownPreference) findPreference(KEY_AUTO_ROTATE);
|
||||||
rotatePreference.addItem(activity.getString(R.string.display_auto_rotate_rotate),
|
|
||||||
false);
|
|
||||||
int rotateLockedResourceId;
|
int rotateLockedResourceId;
|
||||||
// The following block sets the string used when rotation is locked.
|
// The following block sets the string used when rotation is locked.
|
||||||
// If the device locks specifically to portrait or landscape (rather than current
|
// If the device locks specifically to portrait or landscape (rather than current
|
||||||
@@ -180,13 +178,17 @@ public class DisplaySettings extends SettingsPreferenceFragment implements
|
|||||||
R.string.display_auto_rotate_stay_in_landscape;
|
R.string.display_auto_rotate_stay_in_landscape;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
rotatePreference.addItem(activity.getString(rotateLockedResourceId), true);
|
rotatePreference.setEntries(new CharSequence[] {
|
||||||
rotatePreference.setSelectedItem(RotationPolicy.isRotationLocked(activity) ?
|
activity.getString(R.string.display_auto_rotate_rotate),
|
||||||
|
activity.getString(rotateLockedResourceId),
|
||||||
|
});
|
||||||
|
rotatePreference.setEntryValues(new CharSequence[] { "0", "1" });
|
||||||
|
rotatePreference.setValueIndex(RotationPolicy.isRotationLocked(activity) ?
|
||||||
1 : 0);
|
1 : 0);
|
||||||
rotatePreference.setCallback(new Callback() {
|
rotatePreference.setOnPreferenceChangeListener(new OnPreferenceChangeListener() {
|
||||||
@Override
|
@Override
|
||||||
public boolean onItemSelected(int pos, Object value) {
|
public boolean onPreferenceChange(Preference preference, Object newValue) {
|
||||||
final boolean locked = (Boolean) value;
|
final boolean locked = Integer.parseInt((String) newValue) != 0;
|
||||||
MetricsLogger.action(getActivity(), MetricsLogger.ACTION_ROTATION_LOCK,
|
MetricsLogger.action(getActivity(), MetricsLogger.ACTION_ROTATION_LOCK,
|
||||||
locked);
|
locked);
|
||||||
RotationPolicy.setRotationLock(activity, locked);
|
RotationPolicy.setRotationLock(activity, locked);
|
||||||
|
@@ -17,9 +17,9 @@
|
|||||||
package com.android.settings;
|
package com.android.settings;
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.res.TypedArray;
|
import android.preference.ListPreference;
|
||||||
import android.preference.Preference;
|
|
||||||
import android.util.AttributeSet;
|
import android.util.AttributeSet;
|
||||||
|
import android.util.Log;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
import android.widget.AdapterView;
|
import android.widget.AdapterView;
|
||||||
@@ -27,16 +27,13 @@ import android.widget.AdapterView.OnItemSelectedListener;
|
|||||||
import android.widget.ArrayAdapter;
|
import android.widget.ArrayAdapter;
|
||||||
import android.widget.Spinner;
|
import android.widget.Spinner;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import libcore.util.Objects;
|
||||||
|
|
||||||
|
public class DropDownPreference extends ListPreference {
|
||||||
|
|
||||||
public class DropDownPreference extends Preference {
|
|
||||||
private final Context mContext;
|
private final Context mContext;
|
||||||
private final ArrayAdapter<String> mAdapter;
|
private final ArrayAdapter<String> mAdapter;
|
||||||
private final Spinner mSpinner;
|
private final Spinner mSpinner;
|
||||||
private final ArrayList<Object> mValues = new ArrayList<Object>();
|
|
||||||
|
|
||||||
private Callback mCallback;
|
|
||||||
private int mSelectedPosition = -1;
|
|
||||||
|
|
||||||
public DropDownPreference(Context context) {
|
public DropDownPreference(Context context) {
|
||||||
this(context, null);
|
this(context, null);
|
||||||
@@ -55,7 +52,12 @@ public class DropDownPreference extends Preference {
|
|||||||
mSpinner.setOnItemSelectedListener(new OnItemSelectedListener() {
|
mSpinner.setOnItemSelectedListener(new OnItemSelectedListener() {
|
||||||
@Override
|
@Override
|
||||||
public void onItemSelected(AdapterView<?> parent, View v, int position, long id) {
|
public void onItemSelected(AdapterView<?> parent, View v, int position, long id) {
|
||||||
setSelectedItem(position, true);
|
if (position >= 0) {
|
||||||
|
String value = getEntryValues()[position].toString();
|
||||||
|
if (!value.equals(getValue()) && callChangeListener(value)) {
|
||||||
|
setValue(value);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -64,75 +66,42 @@ public class DropDownPreference extends Preference {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
setPersistent(false);
|
setPersistent(false);
|
||||||
setOnPreferenceClickListener(new OnPreferenceClickListener() {
|
updateEntries();
|
||||||
@Override
|
}
|
||||||
public boolean onPreferenceClick(Preference preference) {
|
|
||||||
mSpinner.performClick();
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
// Support XML specification like ListPreferences do.
|
@Override
|
||||||
TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.DropDownPreference);
|
protected void onClick() {
|
||||||
CharSequence[] entries = a.getTextArray(R.styleable.DropDownPreference_android_entries);
|
mSpinner.performClick();
|
||||||
CharSequence[] values = a.getTextArray(R.styleable.DropDownPreference_android_entryValues);
|
|
||||||
if (entries != null && values != null) {
|
|
||||||
for (int i= 0; i < entries.length; i++) {
|
|
||||||
addItem(entries[i].toString(), values[i]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setDropDownWidth(int dimenResId) {
|
public void setDropDownWidth(int dimenResId) {
|
||||||
mSpinner.setDropDownWidth(mContext.getResources().getDimensionPixelSize(dimenResId));
|
mSpinner.setDropDownWidth(mContext.getResources().getDimensionPixelSize(dimenResId));
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setCallback(Callback callback) {
|
@Override
|
||||||
mCallback = callback;
|
public void setEntries(CharSequence[] entries) {
|
||||||
|
super.setEntries(entries);
|
||||||
|
updateEntries();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setSelectedItem(int position) {
|
private void updateEntries() {
|
||||||
setSelectedItem(position, false);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setSelectedItem(int position, boolean fromSpinner) {
|
|
||||||
if (fromSpinner && position == mSelectedPosition) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
final Object value = mValues.get(position);
|
|
||||||
if (mCallback != null && !mCallback.onItemSelected(position, value)) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
mSpinner.setSelection(position);
|
|
||||||
mSelectedPosition = mSpinner.getSelectedItemPosition();
|
|
||||||
setSummary(mAdapter.getItem(position));
|
|
||||||
final boolean disableDependents = value == null;
|
|
||||||
notifyDependencyChange(disableDependents);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setSelectedValue(Object value) {
|
|
||||||
final int i = mValues.indexOf(value);
|
|
||||||
if (i > -1) {
|
|
||||||
setSelectedItem(i);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public void addItem(int captionResid, Object value) {
|
|
||||||
addItem(mContext.getResources().getString(captionResid), value);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void addItem(String caption, Object value) {
|
|
||||||
mAdapter.add(caption);
|
|
||||||
mValues.add(value);
|
|
||||||
}
|
|
||||||
|
|
||||||
public int getItemCount() {
|
|
||||||
return mAdapter.getCount();
|
|
||||||
}
|
|
||||||
|
|
||||||
public void clearItems(){
|
|
||||||
mAdapter.clear();
|
mAdapter.clear();
|
||||||
mValues.clear();
|
if (getEntries() != null) {
|
||||||
|
for (CharSequence c : getEntries()) {
|
||||||
|
mAdapter.add(c.toString());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setValue(String value) {
|
||||||
|
super.setValue(value);
|
||||||
|
mSpinner.setSelection(findIndexOfValue(getValue()));
|
||||||
|
setSummary(getEntry());
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setValueIndex(int index) {
|
||||||
|
setValue(getEntryValues()[index].toString());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -140,16 +109,12 @@ public class DropDownPreference extends Preference {
|
|||||||
super.onBindView(view);
|
super.onBindView(view);
|
||||||
if (view.equals(mSpinner.getParent())) return;
|
if (view.equals(mSpinner.getParent())) return;
|
||||||
if (mSpinner.getParent() != null) {
|
if (mSpinner.getParent() != null) {
|
||||||
((ViewGroup)mSpinner.getParent()).removeView(mSpinner);
|
((ViewGroup) mSpinner.getParent()).removeView(mSpinner);
|
||||||
}
|
}
|
||||||
final ViewGroup vg = (ViewGroup)view;
|
final ViewGroup vg = (ViewGroup) view;
|
||||||
vg.addView(mSpinner, 0);
|
vg.addView(mSpinner, 0);
|
||||||
final ViewGroup.LayoutParams lp = mSpinner.getLayoutParams();
|
final ViewGroup.LayoutParams lp = mSpinner.getLayoutParams();
|
||||||
lp.width = 0;
|
lp.width = 0;
|
||||||
mSpinner.setLayoutParams(lp);
|
mSpinner.setLayoutParams(lp);
|
||||||
}
|
}
|
||||||
|
|
||||||
public interface Callback {
|
|
||||||
boolean onItemSelected(int pos, Object value);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@@ -24,7 +24,7 @@ import android.content.pm.PackageManager;
|
|||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.os.UserHandle;
|
import android.os.UserHandle;
|
||||||
import android.preference.Preference;
|
import android.preference.Preference;
|
||||||
import android.preference.SwitchPreference;
|
import android.preference.Preference.OnPreferenceChangeListener;
|
||||||
import android.util.ArraySet;
|
import android.util.ArraySet;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
@@ -32,17 +32,16 @@ import android.view.View.OnClickListener;
|
|||||||
|
|
||||||
import com.android.internal.logging.MetricsLogger;
|
import com.android.internal.logging.MetricsLogger;
|
||||||
import com.android.settings.DropDownPreference;
|
import com.android.settings.DropDownPreference;
|
||||||
import com.android.settings.DropDownPreference.Callback;
|
|
||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
import com.android.settings.Utils;
|
import com.android.settings.Utils;
|
||||||
|
|
||||||
import static android.content.pm.PackageManager.INTENT_FILTER_DOMAIN_VERIFICATION_STATUS_UNDEFINED;
|
|
||||||
import static android.content.pm.PackageManager.INTENT_FILTER_DOMAIN_VERIFICATION_STATUS_ASK;
|
|
||||||
import static android.content.pm.PackageManager.INTENT_FILTER_DOMAIN_VERIFICATION_STATUS_ALWAYS;
|
|
||||||
import static android.content.pm.PackageManager.INTENT_FILTER_DOMAIN_VERIFICATION_STATUS_NEVER;
|
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import static android.content.pm.PackageManager.INTENT_FILTER_DOMAIN_VERIFICATION_STATUS_ALWAYS;
|
||||||
|
import static android.content.pm.PackageManager.INTENT_FILTER_DOMAIN_VERIFICATION_STATUS_ASK;
|
||||||
|
import static android.content.pm.PackageManager.INTENT_FILTER_DOMAIN_VERIFICATION_STATUS_NEVER;
|
||||||
|
import static android.content.pm.PackageManager.INTENT_FILTER_DOMAIN_VERIFICATION_STATUS_UNDEFINED;
|
||||||
|
|
||||||
public class AppLaunchSettings extends AppInfoWithHeader implements OnClickListener,
|
public class AppLaunchSettings extends AppInfoWithHeader implements OnClickListener,
|
||||||
Preference.OnPreferenceChangeListener {
|
Preference.OnPreferenceChangeListener {
|
||||||
private static final String TAG = "AppLaunchSettings";
|
private static final String TAG = "AppLaunchSettings";
|
||||||
@@ -90,12 +89,16 @@ public class AppLaunchSettings extends AppInfoWithHeader implements OnClickListe
|
|||||||
// * always
|
// * always
|
||||||
// * ask
|
// * ask
|
||||||
// * never
|
// * never
|
||||||
mAppLinkState.addItem(R.string.app_link_open_always,
|
mAppLinkState.setEntries(new CharSequence[] {
|
||||||
INTENT_FILTER_DOMAIN_VERIFICATION_STATUS_ALWAYS);
|
getString(R.string.app_link_open_always),
|
||||||
mAppLinkState.addItem(R.string.app_link_open_ask,
|
getString(R.string.app_link_open_ask),
|
||||||
INTENT_FILTER_DOMAIN_VERIFICATION_STATUS_ASK);
|
getString(R.string.app_link_open_never),
|
||||||
mAppLinkState.addItem(R.string.app_link_open_never,
|
});
|
||||||
INTENT_FILTER_DOMAIN_VERIFICATION_STATUS_NEVER);
|
mAppLinkState.setEntryValues(new CharSequence[] {
|
||||||
|
Integer.toString(INTENT_FILTER_DOMAIN_VERIFICATION_STATUS_ALWAYS),
|
||||||
|
Integer.toString(INTENT_FILTER_DOMAIN_VERIFICATION_STATUS_ASK),
|
||||||
|
Integer.toString(INTENT_FILTER_DOMAIN_VERIFICATION_STATUS_NEVER),
|
||||||
|
});
|
||||||
|
|
||||||
mAppLinkState.setEnabled(mHasDomainUrls);
|
mAppLinkState.setEnabled(mHasDomainUrls);
|
||||||
if (mHasDomainUrls) {
|
if (mHasDomainUrls) {
|
||||||
@@ -103,16 +106,16 @@ public class AppLaunchSettings extends AppInfoWithHeader implements OnClickListe
|
|||||||
// purposes of the UI (and does the right thing around pending domain
|
// purposes of the UI (and does the right thing around pending domain
|
||||||
// verifications that might arrive after the user chooses 'ask' in this UI).
|
// verifications that might arrive after the user chooses 'ask' in this UI).
|
||||||
final int state = mPm.getIntentVerificationStatus(mPackageName, UserHandle.myUserId());
|
final int state = mPm.getIntentVerificationStatus(mPackageName, UserHandle.myUserId());
|
||||||
mAppLinkState.setSelectedValue(
|
mAppLinkState.setValue(
|
||||||
(state == INTENT_FILTER_DOMAIN_VERIFICATION_STATUS_UNDEFINED)
|
Integer.toString((state == INTENT_FILTER_DOMAIN_VERIFICATION_STATUS_UNDEFINED)
|
||||||
? INTENT_FILTER_DOMAIN_VERIFICATION_STATUS_ASK
|
? INTENT_FILTER_DOMAIN_VERIFICATION_STATUS_ASK
|
||||||
: state);
|
: state));
|
||||||
|
|
||||||
// Set the callback only after setting the initial selected item
|
// Set the callback only after setting the initial selected item
|
||||||
mAppLinkState.setCallback(new Callback() {
|
mAppLinkState.setOnPreferenceChangeListener(new OnPreferenceChangeListener() {
|
||||||
@Override
|
@Override
|
||||||
public boolean onItemSelected(int pos, Object value) {
|
public boolean onPreferenceChange(Preference preference, Object newValue) {
|
||||||
return updateAppLinkState((Integer) value);
|
return updateAppLinkState(Integer.parseInt((String) newValue));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@@ -16,18 +16,18 @@
|
|||||||
package com.android.settings.nfc;
|
package com.android.settings.nfc;
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
|
|
||||||
import com.android.settings.DropDownPreference;
|
import com.android.settings.DropDownPreference;
|
||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
|
|
||||||
public class NfcForegroundPreference extends DropDownPreference implements
|
public class NfcForegroundPreference extends DropDownPreference implements
|
||||||
DropDownPreference.Callback, PaymentBackend.Callback {
|
PaymentBackend.Callback {
|
||||||
|
|
||||||
private final PaymentBackend mPaymentBackend;
|
private final PaymentBackend mPaymentBackend;
|
||||||
public NfcForegroundPreference(Context context, PaymentBackend backend) {
|
public NfcForegroundPreference(Context context, PaymentBackend backend) {
|
||||||
super(context);
|
super(context);
|
||||||
mPaymentBackend = backend;
|
mPaymentBackend = backend;
|
||||||
mPaymentBackend.registerCallback(this);
|
mPaymentBackend.registerCallback(this);
|
||||||
setCallback(this);
|
|
||||||
refresh();
|
refresh();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -43,19 +43,21 @@ public class NfcForegroundPreference extends DropDownPreference implements
|
|||||||
setTitle(getContext().getString(R.string.nfc_payment_use_default));
|
setTitle(getContext().getString(R.string.nfc_payment_use_default));
|
||||||
CharSequence favorOpen;
|
CharSequence favorOpen;
|
||||||
CharSequence favorDefault;
|
CharSequence favorDefault;
|
||||||
clearItems();
|
setEntries(new CharSequence[] {
|
||||||
addItem(getContext().getString(R.string.nfc_payment_favor_open), true);
|
getContext().getString(R.string.nfc_payment_favor_open),
|
||||||
addItem(getContext().getString(R.string.nfc_payment_favor_default), false);
|
getContext().getString(R.string.nfc_payment_favor_default)
|
||||||
|
});
|
||||||
|
setEntryValues(new CharSequence[] { "1", "0" });
|
||||||
if (foregroundMode) {
|
if (foregroundMode) {
|
||||||
setSelectedValue(true);
|
setValue("1");
|
||||||
} else {
|
} else {
|
||||||
setSelectedValue(false);
|
setValue("0");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean onItemSelected(int pos, Object value) {
|
protected boolean persistString(String value) {
|
||||||
mPaymentBackend.setForegroundMode((Boolean) value);
|
mPaymentBackend.setForegroundMode(Integer.parseInt(value) != 0);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -451,24 +451,26 @@ public class NotificationSettings extends SettingsPreferenceFragment implements
|
|||||||
|
|
||||||
boolean isSecureNotificationsDisabled = isSecureNotificationsDisabled();
|
boolean isSecureNotificationsDisabled = isSecureNotificationsDisabled();
|
||||||
boolean isUnredactedNotificationsDisabled = isUnredactedNotificationsDisabled();
|
boolean isUnredactedNotificationsDisabled = isUnredactedNotificationsDisabled();
|
||||||
|
ArrayList<CharSequence> entries = new ArrayList<>();
|
||||||
|
ArrayList<CharSequence> values = new ArrayList<>();
|
||||||
if (!isSecureNotificationsDisabled && !isUnredactedNotificationsDisabled) {
|
if (!isSecureNotificationsDisabled && !isUnredactedNotificationsDisabled) {
|
||||||
mLockscreen.addItem(R.string.lock_screen_notifications_summary_show,
|
entries.add(getString(R.string.lock_screen_notifications_summary_show));
|
||||||
R.string.lock_screen_notifications_summary_show);
|
values.add(Integer.toString(R.string.lock_screen_notifications_summary_show));
|
||||||
}
|
}
|
||||||
if (mSecure && !isSecureNotificationsDisabled) {
|
if (mSecure && !isSecureNotificationsDisabled) {
|
||||||
mLockscreen.addItem(R.string.lock_screen_notifications_summary_hide,
|
entries.add(getString(R.string.lock_screen_notifications_summary_hide));
|
||||||
R.string.lock_screen_notifications_summary_hide);
|
values.add(Integer.toString(R.string.lock_screen_notifications_summary_hide));
|
||||||
}
|
}
|
||||||
mLockscreen.addItem(R.string.lock_screen_notifications_summary_disable,
|
entries.add(getString(R.string.lock_screen_notifications_summary_disable));
|
||||||
R.string.lock_screen_notifications_summary_disable);
|
values.add(Integer.toString(R.string.lock_screen_notifications_summary_disable));
|
||||||
updateLockscreenNotifications();
|
updateLockscreenNotifications();
|
||||||
if (mLockscreen.getItemCount() > 1) {
|
if (mLockscreen.getEntries().length > 1) {
|
||||||
mLockscreen.setCallback(new DropDownPreference.Callback() {
|
mLockscreen.setOnPreferenceChangeListener(new OnPreferenceChangeListener() {
|
||||||
@Override
|
@Override
|
||||||
public boolean onItemSelected(int pos, Object value) {
|
public boolean onPreferenceChange(Preference preference, Object newValue) {
|
||||||
final int val = (Integer) value;
|
final int val = Integer.parseInt((String) newValue);
|
||||||
if (val == mLockscreenSelectedValue) {
|
if (val == mLockscreenSelectedValue) {
|
||||||
return true;
|
return false;
|
||||||
}
|
}
|
||||||
final boolean enabled =
|
final boolean enabled =
|
||||||
val != R.string.lock_screen_notifications_summary_disable;
|
val != R.string.lock_screen_notifications_summary_disable;
|
||||||
@@ -510,7 +512,7 @@ public class NotificationSettings extends SettingsPreferenceFragment implements
|
|||||||
mLockscreenSelectedValue = !enabled ? R.string.lock_screen_notifications_summary_disable :
|
mLockscreenSelectedValue = !enabled ? R.string.lock_screen_notifications_summary_disable :
|
||||||
allowPrivate ? R.string.lock_screen_notifications_summary_show :
|
allowPrivate ? R.string.lock_screen_notifications_summary_show :
|
||||||
R.string.lock_screen_notifications_summary_hide;
|
R.string.lock_screen_notifications_summary_hide;
|
||||||
mLockscreen.setSelectedValue(mLockscreenSelectedValue);
|
mLockscreen.setValue(Integer.toString(mLockscreenSelectedValue));
|
||||||
}
|
}
|
||||||
|
|
||||||
private boolean getLockscreenNotificationsEnabled() {
|
private boolean getLockscreenNotificationsEnabled() {
|
||||||
|
@@ -72,9 +72,14 @@ public class SettingPref {
|
|||||||
mTwoState = (TwoStatePreference) p;
|
mTwoState = (TwoStatePreference) p;
|
||||||
} else if (p instanceof DropDownPreference) {
|
} else if (p instanceof DropDownPreference) {
|
||||||
mDropDown = (DropDownPreference) p;
|
mDropDown = (DropDownPreference) p;
|
||||||
for (int value : mValues) {
|
CharSequence[] entries = new CharSequence[mValues.length];
|
||||||
mDropDown.addItem(getCaption(context.getResources(), value), value);
|
CharSequence[] values = new CharSequence[mValues.length];
|
||||||
|
for (int i = 0; i < mValues.length; i++) {
|
||||||
|
entries[i] = getCaption(context.getResources(), mValues[i]);
|
||||||
|
values[i] = Integer.toString(mValues[i]);
|
||||||
}
|
}
|
||||||
|
mDropDown.setEntries(entries);
|
||||||
|
mDropDown.setEntryValues(values);
|
||||||
}
|
}
|
||||||
update(context);
|
update(context);
|
||||||
if (mTwoState != null) {
|
if (mTwoState != null) {
|
||||||
@@ -88,10 +93,10 @@ public class SettingPref {
|
|||||||
return mTwoState;
|
return mTwoState;
|
||||||
}
|
}
|
||||||
if (mDropDown != null) {
|
if (mDropDown != null) {
|
||||||
mDropDown.setCallback(new DropDownPreference.Callback() {
|
p.setOnPreferenceChangeListener(new OnPreferenceChangeListener() {
|
||||||
@Override
|
@Override
|
||||||
public boolean onItemSelected(int pos, Object value) {
|
public boolean onPreferenceChange(Preference preference, Object newValue) {
|
||||||
return setSetting(context, (Integer) value);
|
return setSetting(context, Integer.parseInt((String) newValue));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
return mDropDown;
|
return mDropDown;
|
||||||
@@ -116,7 +121,7 @@ public class SettingPref {
|
|||||||
if (mTwoState != null) {
|
if (mTwoState != null) {
|
||||||
mTwoState.setChecked(val != 0);
|
mTwoState.setChecked(val != 0);
|
||||||
} else if (mDropDown != null) {
|
} else if (mDropDown != null) {
|
||||||
mDropDown.setSelectedValue(val);
|
mDropDown.setValue(Integer.toString(val));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -21,6 +21,8 @@ import android.content.pm.PackageManager.NameNotFoundException;
|
|||||||
import android.database.Cursor;
|
import android.database.Cursor;
|
||||||
import android.os.UserHandle;
|
import android.os.UserHandle;
|
||||||
import android.os.UserManager;
|
import android.os.UserManager;
|
||||||
|
import android.preference.Preference;
|
||||||
|
import android.preference.Preference.OnPreferenceChangeListener;
|
||||||
import android.preference.PreferenceScreen;
|
import android.preference.PreferenceScreen;
|
||||||
import android.provider.CalendarContract.Calendars;
|
import android.provider.CalendarContract.Calendars;
|
||||||
import android.provider.Settings;
|
import android.provider.Settings;
|
||||||
@@ -78,19 +80,25 @@ public class ZenModeEventRuleSettings extends ZenModeRuleSettingsBase {
|
|||||||
|
|
||||||
private void reloadCalendar() {
|
private void reloadCalendar() {
|
||||||
mCalendars = getCalendars(mContext);
|
mCalendars = getCalendars(mContext);
|
||||||
mCalendar.clearItems();
|
ArrayList<CharSequence> entries = new ArrayList<>();
|
||||||
mCalendar.addItem(R.string.zen_mode_event_rule_calendar_any, key(0, null));
|
ArrayList<CharSequence> values = new ArrayList<>();
|
||||||
|
entries.add(getString(R.string.zen_mode_event_rule_calendar_any));
|
||||||
|
values.add(key(0, null));
|
||||||
final String eventCalendar = mEvent != null ? mEvent.calendar : null;
|
final String eventCalendar = mEvent != null ? mEvent.calendar : null;
|
||||||
boolean found = false;
|
boolean found = false;
|
||||||
for (CalendarInfo calendar : mCalendars) {
|
for (CalendarInfo calendar : mCalendars) {
|
||||||
mCalendar.addItem(calendar.name, key(calendar));
|
entries.add(calendar.name);
|
||||||
|
values.add(key(calendar));
|
||||||
if (eventCalendar != null && eventCalendar.equals(calendar.name)) {
|
if (eventCalendar != null && eventCalendar.equals(calendar.name)) {
|
||||||
found = true;
|
found = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (eventCalendar != null && !found) {
|
if (eventCalendar != null && !found) {
|
||||||
mCalendar.addItem(eventCalendar, key(mEvent.userId, eventCalendar));
|
entries.add(eventCalendar);
|
||||||
|
values.add(key(mEvent.userId, eventCalendar));
|
||||||
}
|
}
|
||||||
|
mCalendar.setEntries(entries.toArray(new CharSequence[entries.size()]));
|
||||||
|
mCalendar.setEntryValues(values.toArray(new CharSequence[values.size()]));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -100,11 +108,11 @@ public class ZenModeEventRuleSettings extends ZenModeRuleSettingsBase {
|
|||||||
final PreferenceScreen root = getPreferenceScreen();
|
final PreferenceScreen root = getPreferenceScreen();
|
||||||
|
|
||||||
mCalendar = (DropDownPreference) root.findPreference(KEY_CALENDAR);
|
mCalendar = (DropDownPreference) root.findPreference(KEY_CALENDAR);
|
||||||
mCalendar.setCallback(new DropDownPreference.Callback() {
|
mCalendar.setOnPreferenceChangeListener(new OnPreferenceChangeListener() {
|
||||||
@Override
|
@Override
|
||||||
public boolean onItemSelected(int pos, Object value) {
|
public boolean onPreferenceChange(Preference preference, Object newValue) {
|
||||||
final String calendarKey = (String) value;
|
final String calendarKey = (String) newValue;
|
||||||
if (calendarKey.equals(key(mEvent))) return true;
|
if (calendarKey.equals(key(mEvent))) return false;
|
||||||
final int i = calendarKey.indexOf(':');
|
final int i = calendarKey.indexOf(':');
|
||||||
mEvent.userId = Integer.parseInt(calendarKey.substring(0, i));
|
mEvent.userId = Integer.parseInt(calendarKey.substring(0, i));
|
||||||
mEvent.calendar = calendarKey.substring(i + 1);
|
mEvent.calendar = calendarKey.substring(i + 1);
|
||||||
@@ -117,17 +125,21 @@ public class ZenModeEventRuleSettings extends ZenModeRuleSettingsBase {
|
|||||||
});
|
});
|
||||||
|
|
||||||
mReply = (DropDownPreference) root.findPreference(KEY_REPLY);
|
mReply = (DropDownPreference) root.findPreference(KEY_REPLY);
|
||||||
mReply.addItem(R.string.zen_mode_event_rule_reply_any_except_no,
|
mReply.setEntries(new CharSequence[] {
|
||||||
EventInfo.REPLY_ANY_EXCEPT_NO);
|
getString(R.string.zen_mode_event_rule_reply_any_except_no),
|
||||||
mReply.addItem(R.string.zen_mode_event_rule_reply_yes_or_maybe,
|
getString(R.string.zen_mode_event_rule_reply_yes_or_maybe),
|
||||||
EventInfo.REPLY_YES_OR_MAYBE);
|
getString(R.string.zen_mode_event_rule_reply_yes),
|
||||||
mReply.addItem(R.string.zen_mode_event_rule_reply_yes,
|
});
|
||||||
EventInfo.REPLY_YES);
|
mReply.setEntryValues(new CharSequence[] {
|
||||||
mReply.setCallback(new DropDownPreference.Callback() {
|
Integer.toString(EventInfo.REPLY_ANY_EXCEPT_NO),
|
||||||
|
Integer.toString(EventInfo.REPLY_YES_OR_MAYBE),
|
||||||
|
Integer.toString(EventInfo.REPLY_YES),
|
||||||
|
});
|
||||||
|
mReply.setOnPreferenceChangeListener(new OnPreferenceChangeListener() {
|
||||||
@Override
|
@Override
|
||||||
public boolean onItemSelected(int pos, Object value) {
|
public boolean onPreferenceChange(Preference preference, Object newValue) {
|
||||||
final int reply = (Integer) value;
|
final int reply = Integer.parseInt((String) newValue);
|
||||||
if (reply == mEvent.reply) return true;
|
if (reply == mEvent.reply) return false;
|
||||||
mEvent.reply = reply;
|
mEvent.reply = reply;
|
||||||
updateRule(ZenModeConfig.toEventConditionId(mEvent));
|
updateRule(ZenModeConfig.toEventConditionId(mEvent));
|
||||||
return true;
|
return true;
|
||||||
@@ -140,8 +152,8 @@ public class ZenModeEventRuleSettings extends ZenModeRuleSettingsBase {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void updateControlsInternal() {
|
protected void updateControlsInternal() {
|
||||||
mCalendar.setSelectedValue(key(mEvent));
|
mCalendar.setValue(key(mEvent));
|
||||||
mReply.setSelectedValue(mEvent.reply);
|
mReply.setValue(Integer.toString(mEvent.reply));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@@ -83,17 +83,17 @@ public class ZenModePrioritySettings extends ZenModeSettingsBase implements Inde
|
|||||||
|
|
||||||
mMessages = (DropDownPreference) root.findPreference(KEY_MESSAGES);
|
mMessages = (DropDownPreference) root.findPreference(KEY_MESSAGES);
|
||||||
addSources(mMessages);
|
addSources(mMessages);
|
||||||
mMessages.setCallback(new DropDownPreference.Callback() {
|
mMessages.setOnPreferenceChangeListener(new OnPreferenceChangeListener() {
|
||||||
@Override
|
@Override
|
||||||
public boolean onItemSelected(int pos, Object newValue) {
|
public boolean onPreferenceChange(Preference preference, Object newValue) {
|
||||||
if (mDisableListeners) return true;
|
if (mDisableListeners) return false;
|
||||||
final int val = (Integer) newValue;
|
final int val = Integer.parseInt((String) newValue);
|
||||||
MetricsLogger.action(mContext, MetricsLogger.ACTION_ZEN_ALLOW_MESSAGES, val);
|
MetricsLogger.action(mContext, MetricsLogger.ACTION_ZEN_ALLOW_MESSAGES, val);
|
||||||
final boolean allowMessages = val != SOURCE_NONE;
|
final boolean allowMessages = val != SOURCE_NONE;
|
||||||
final int allowMessagesFrom = val == SOURCE_NONE ? mConfig.allowMessagesFrom : val;
|
final int allowMessagesFrom = val == SOURCE_NONE ? mConfig.allowMessagesFrom : val;
|
||||||
if (allowMessages == mConfig.allowMessages
|
if (allowMessages == mConfig.allowMessages
|
||||||
&& allowMessagesFrom == mConfig.allowMessagesFrom) {
|
&& allowMessagesFrom == mConfig.allowMessagesFrom) {
|
||||||
return true;
|
return false;
|
||||||
}
|
}
|
||||||
if (DEBUG) Log.d(TAG, "onPrefChange allowMessages=" + allowMessages
|
if (DEBUG) Log.d(TAG, "onPrefChange allowMessages=" + allowMessages
|
||||||
+ " allowMessagesFrom=" + ZenModeConfig.sourceToString(allowMessagesFrom));
|
+ " allowMessagesFrom=" + ZenModeConfig.sourceToString(allowMessagesFrom));
|
||||||
@@ -106,24 +106,24 @@ public class ZenModePrioritySettings extends ZenModeSettingsBase implements Inde
|
|||||||
|
|
||||||
mCalls = (DropDownPreference) root.findPreference(KEY_CALLS);
|
mCalls = (DropDownPreference) root.findPreference(KEY_CALLS);
|
||||||
addSources(mCalls);
|
addSources(mCalls);
|
||||||
mCalls.setCallback(new DropDownPreference.Callback() {
|
mCalls.setOnPreferenceChangeListener(new OnPreferenceChangeListener() {
|
||||||
@Override
|
@Override
|
||||||
public boolean onItemSelected(int pos, Object newValue) {
|
public boolean onPreferenceChange(Preference preference, Object newValue) {
|
||||||
if (mDisableListeners) return true;
|
if (mDisableListeners) return false;
|
||||||
final int val = (Integer) newValue;
|
final int val = Integer.parseInt((String) newValue);
|
||||||
MetricsLogger.action(mContext, MetricsLogger.ACTION_ZEN_ALLOW_CALLS, val);
|
MetricsLogger.action(mContext, MetricsLogger.ACTION_ZEN_ALLOW_CALLS, val);
|
||||||
final boolean allowCalls = val != SOURCE_NONE;
|
final boolean allowCalls = val != SOURCE_NONE;
|
||||||
final int allowCallsFrom = val == SOURCE_NONE ? mConfig.allowCallsFrom : val;
|
final int allowCallsFrom = val == SOURCE_NONE ? mConfig.allowCallsFrom : val;
|
||||||
if (allowCalls == mConfig.allowCalls
|
if (allowCalls == mConfig.allowCalls
|
||||||
&& allowCallsFrom == mConfig.allowCallsFrom) {
|
&& allowCallsFrom == mConfig.allowCallsFrom) {
|
||||||
return true;
|
return false;
|
||||||
}
|
}
|
||||||
if (DEBUG) Log.d(TAG, "onPrefChange allowCalls=" + allowCalls
|
if (DEBUG) Log.d(TAG, "onPrefChange allowCalls=" + allowCalls
|
||||||
+ " allowCallsFrom=" + ZenModeConfig.sourceToString(allowCallsFrom));
|
+ " allowCallsFrom=" + ZenModeConfig.sourceToString(allowCallsFrom));
|
||||||
final ZenModeConfig newConfig = mConfig.copy();
|
final ZenModeConfig newConfig = mConfig.copy();
|
||||||
newConfig.allowCalls = allowCalls;
|
newConfig.allowCalls = allowCalls;
|
||||||
newConfig.allowCallsFrom = allowCallsFrom;
|
newConfig.allowCallsFrom = allowCallsFrom;
|
||||||
return setZenModeConfig(newConfig);
|
return !setZenModeConfig(newConfig);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -161,9 +161,11 @@ public class ZenModePrioritySettings extends ZenModeSettingsBase implements Inde
|
|||||||
private void updateControls() {
|
private void updateControls() {
|
||||||
mDisableListeners = true;
|
mDisableListeners = true;
|
||||||
if (mCalls != null) {
|
if (mCalls != null) {
|
||||||
mCalls.setSelectedValue(mConfig.allowCalls ? mConfig.allowCallsFrom : SOURCE_NONE);
|
mCalls.setValue(Integer.toString(mConfig.allowCalls ? mConfig.allowCallsFrom
|
||||||
|
: SOURCE_NONE));
|
||||||
}
|
}
|
||||||
mMessages.setSelectedValue(mConfig.allowMessages ? mConfig.allowMessagesFrom : SOURCE_NONE);
|
mMessages.setValue(Integer.toString(mConfig.allowMessages ? mConfig.allowMessagesFrom
|
||||||
|
: SOURCE_NONE));
|
||||||
mReminders.setChecked(mConfig.allowReminders);
|
mReminders.setChecked(mConfig.allowReminders);
|
||||||
mEvents.setChecked(mConfig.allowEvents);
|
mEvents.setChecked(mConfig.allowEvents);
|
||||||
mRepeatCallers.setChecked(mConfig.allowRepeatCallers);
|
mRepeatCallers.setChecked(mConfig.allowRepeatCallers);
|
||||||
@@ -178,10 +180,18 @@ public class ZenModePrioritySettings extends ZenModeSettingsBase implements Inde
|
|||||||
}
|
}
|
||||||
|
|
||||||
private static void addSources(DropDownPreference pref) {
|
private static void addSources(DropDownPreference pref) {
|
||||||
pref.addItem(R.string.zen_mode_from_anyone, ZenModeConfig.SOURCE_ANYONE);
|
pref.setEntryValues(new CharSequence[] {
|
||||||
pref.addItem(R.string.zen_mode_from_contacts, ZenModeConfig.SOURCE_CONTACT);
|
pref.getContext().getString(R.string.zen_mode_from_anyone),
|
||||||
pref.addItem(R.string.zen_mode_from_starred, ZenModeConfig.SOURCE_STAR);
|
pref.getContext().getString(R.string.zen_mode_from_contacts),
|
||||||
pref.addItem(R.string.zen_mode_from_none, SOURCE_NONE);
|
pref.getContext().getString(R.string.zen_mode_from_starred),
|
||||||
|
pref.getContext().getString(R.string.zen_mode_from_none),
|
||||||
|
});
|
||||||
|
pref.setEntryValues(new CharSequence[] {
|
||||||
|
Integer.toString(ZenModeConfig.SOURCE_ANYONE),
|
||||||
|
Integer.toString(ZenModeConfig.SOURCE_CONTACT),
|
||||||
|
Integer.toString(ZenModeConfig.SOURCE_STAR),
|
||||||
|
Integer.toString(SOURCE_NONE),
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@@ -24,6 +24,7 @@ import android.content.Intent;
|
|||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.preference.Preference;
|
import android.preference.Preference;
|
||||||
|
import android.preference.Preference.OnPreferenceChangeListener;
|
||||||
import android.preference.Preference.OnPreferenceClickListener;
|
import android.preference.Preference.OnPreferenceClickListener;
|
||||||
import android.preference.PreferenceScreen;
|
import android.preference.PreferenceScreen;
|
||||||
import android.provider.Settings.Global;
|
import android.provider.Settings.Global;
|
||||||
@@ -35,7 +36,6 @@ import android.view.MenuInflater;
|
|||||||
import android.view.MenuItem;
|
import android.view.MenuItem;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.widget.Switch;
|
import android.widget.Switch;
|
||||||
import android.widget.TextView;
|
|
||||||
import android.widget.Toast;
|
import android.widget.Toast;
|
||||||
|
|
||||||
import com.android.internal.logging.MetricsLogger;
|
import com.android.internal.logging.MetricsLogger;
|
||||||
@@ -105,17 +105,22 @@ public abstract class ZenModeRuleSettingsBase extends ZenModeSettingsBase
|
|||||||
});
|
});
|
||||||
|
|
||||||
mZenMode = (DropDownPreference) root.findPreference(KEY_ZEN_MODE);
|
mZenMode = (DropDownPreference) root.findPreference(KEY_ZEN_MODE);
|
||||||
mZenMode.addItem(R.string.zen_mode_option_important_interruptions,
|
mZenMode.setEntries(new CharSequence[] {
|
||||||
Global.ZEN_MODE_IMPORTANT_INTERRUPTIONS);
|
getString(R.string.zen_mode_option_important_interruptions),
|
||||||
mZenMode.addItem(R.string.zen_mode_option_alarms, Global.ZEN_MODE_ALARMS);
|
getString(R.string.zen_mode_option_alarms),
|
||||||
mZenMode.addItem(R.string.zen_mode_option_no_interruptions,
|
getString(R.string.zen_mode_option_no_interruptions),
|
||||||
Global.ZEN_MODE_NO_INTERRUPTIONS);
|
});
|
||||||
mZenMode.setCallback(new DropDownPreference.Callback() {
|
mZenMode.setEntryValues(new CharSequence[] {
|
||||||
|
Integer.toString(Global.ZEN_MODE_IMPORTANT_INTERRUPTIONS),
|
||||||
|
Integer.toString(Global.ZEN_MODE_ALARMS),
|
||||||
|
Integer.toString(Global.ZEN_MODE_NO_INTERRUPTIONS),
|
||||||
|
});
|
||||||
|
mZenMode.setOnPreferenceChangeListener(new OnPreferenceChangeListener() {
|
||||||
@Override
|
@Override
|
||||||
public boolean onItemSelected(int pos, Object value) {
|
public boolean onPreferenceChange(Preference preference, Object newValue) {
|
||||||
if (mDisableListeners) return true;
|
if (mDisableListeners) return false;
|
||||||
final int zenMode = (Integer) value;
|
final int zenMode = Integer.parseInt((String) newValue);
|
||||||
if (zenMode == mRule.zenMode) return true;
|
if (zenMode == mRule.zenMode) return false;
|
||||||
if (DEBUG) Log.d(TAG, "onPrefChange zenMode=" + zenMode);
|
if (DEBUG) Log.d(TAG, "onPrefChange zenMode=" + zenMode);
|
||||||
mRule.zenMode = zenMode;
|
mRule.zenMode = zenMode;
|
||||||
setZenModeConfig(mConfig);
|
setZenModeConfig(mConfig);
|
||||||
@@ -269,7 +274,7 @@ public abstract class ZenModeRuleSettingsBase extends ZenModeSettingsBase
|
|||||||
mDisableListeners = true;
|
mDisableListeners = true;
|
||||||
updateRuleName();
|
updateRuleName();
|
||||||
updateControlsInternal();
|
updateControlsInternal();
|
||||||
mZenMode.setSelectedValue(mRule.zenMode);
|
mZenMode.setValue(Integer.toString(mRule.zenMode));
|
||||||
if (mSwitchBar != null) {
|
if (mSwitchBar != null) {
|
||||||
mSwitchBar.setChecked(mRule.enabled);
|
mSwitchBar.setChecked(mRule.enabled);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user