summaryrefslogtreecommitdiffstats
path: root/src/com/android/settings/notification
diff options
context:
space:
mode:
authorJohn Spurlock <jspurlock@google.com>2015-06-04 14:48:01 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2015-06-04 14:48:02 +0000
commit34a78be5844f3e12fb6abccef12646d3c800fe7a (patch)
treeb4b5820f2cf3e38cec09c8427f3e966aeefab6b2 /src/com/android/settings/notification
parent41012d5e7b37fe5c2373f3215612d26331f40ba0 (diff)
parentc5bab237f577d743f78db923b0449566d34fd1d4 (diff)
downloadpackages_apps_Settings-34a78be5844f3e12fb6abccef12646d3c800fe7a.zip
packages_apps_Settings-34a78be5844f3e12fb6abccef12646d3c800fe7a.tar.gz
packages_apps_Settings-34a78be5844f3e12fb6abccef12646d3c800fe7a.tar.bz2
Merge "Settings: Enable "ok" dialog button for no-op changes to existing zen rules." into mnc-dev
Diffstat (limited to 'src/com/android/settings/notification')
-rw-r--r--src/com/android/settings/notification/ZenRuleNameDialog.java12
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);
}