diff options
author | John Spurlock <jspurlock@google.com> | 2015-06-04 10:44:45 -0400 |
---|---|---|
committer | John Spurlock <jspurlock@google.com> | 2015-06-04 10:44:45 -0400 |
commit | c5bab237f577d743f78db923b0449566d34fd1d4 (patch) | |
tree | b19d0fdcf4759e49429f73a250722d80d19bf8d6 /src/com/android/settings/notification | |
parent | d9e92ea551af6b65deb88ea68a229fac03030d03 (diff) | |
download | packages_apps_Settings-c5bab237f577d743f78db923b0449566d34fd1d4.zip packages_apps_Settings-c5bab237f577d743f78db923b0449566d34fd1d4.tar.gz packages_apps_Settings-c5bab237f577d743f78db923b0449566d34fd1d4.tar.bz2 |
Settings: Enable "ok" dialog button for no-op changes to existing zen rules.
Bug: 21307309
Change-Id: Ic7a9cc124e26340e93a08da45c9f1a0043beee76
Diffstat (limited to 'src/com/android/settings/notification')
-rw-r--r-- | src/com/android/settings/notification/ZenRuleNameDialog.java | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/com/android/settings/notification/ZenRuleNameDialog.java b/src/com/android/settings/notification/ZenRuleNameDialog.java index 937940a..1279ee6 100644 --- a/src/com/android/settings/notification/ZenRuleNameDialog.java +++ b/src/com/android/settings/notification/ZenRuleNameDialog.java @@ -48,6 +48,7 @@ public abstract class ZenRuleNameDialog { private final AlertDialog mDialog; private final EditText mEditText; private final RadioGroup mTypes; + private final String mOriginalRuleName; private final ArraySet<String> mExistingNames; private final ServiceListing mServiceListing; private final RuleInfo[] mExternalRules = new RuleInfo[3]; @@ -57,6 +58,7 @@ public abstract class ZenRuleNameDialog { ArraySet<String> existingNames) { mServiceListing = serviceListing; mIsNew = ruleName == null; + mOriginalRuleName = ruleName; final View v = LayoutInflater.from(context).inflate(R.layout.zen_rule_name, null, false); mEditText = (EditText) v.findViewById(R.id.rule_name); if (!mIsNew) { @@ -79,7 +81,12 @@ public abstract class ZenRuleNameDialog { .setPositiveButton(R.string.okay, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { - onOk(trimmedText(), selectedRuleInfo()); + final String newName = trimmedText(); + if (!mIsNew && mOriginalRuleName != null + && mOriginalRuleName.equalsIgnoreCase(newName)) { + return; // no change to an existing rule, just dismiss + } + onOk(newName, selectedRuleInfo()); } }) .setOnDismissListener(new OnDismissListener() { @@ -148,7 +155,8 @@ public abstract class ZenRuleNameDialog { private void updatePositiveButton() { final String name = trimmedText(); final boolean validName = !TextUtils.isEmpty(name) - && !mExistingNames.contains(name.toLowerCase()); + && (name.equalsIgnoreCase(mOriginalRuleName) + || !mExistingNames.contains(name.toLowerCase())); mDialog.getButton(DialogInterface.BUTTON_POSITIVE).setEnabled(validName); } |