Api review: AutomaticZenRule

Bug: 27364144
Change-Id: Ic0ea5d4958711cf5216e87ad8054460ad4246856
This commit is contained in:
Julia Reynolds
2016-02-26 18:20:18 -05:00
parent 1ea368b5d5
commit 1d33d59be2
5 changed files with 51 additions and 38 deletions

View File

@@ -31,7 +31,10 @@ import android.util.Log;
import com.android.settings.RestrictedSettingsFragment;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Set;
abstract public class ZenModeSettingsBase extends RestrictedSettingsFragment {
protected static final String TAG = "ZenModeSettings";
@@ -41,7 +44,7 @@ abstract public class ZenModeSettingsBase extends RestrictedSettingsFragment {
private final SettingsObserver mSettingsObserver = new SettingsObserver();
protected Context mContext;
protected List<AutomaticZenRule> mRules;
protected Set<Map.Entry<String, AutomaticZenRule>> mRules;
protected int mZenMode;
abstract protected void onZenModeChanged();
@@ -92,16 +95,17 @@ abstract public class ZenModeSettingsBase extends RestrictedSettingsFragment {
}
}
protected AutomaticZenRule addZenRule(AutomaticZenRule rule) {
protected String addZenRule(AutomaticZenRule rule) {
String id = NotificationManager.from(mContext).addAutomaticZenRule(rule);
final AutomaticZenRule savedRule =
NotificationManager.from(mContext).addAutomaticZenRule(rule);
NotificationManager.from(mContext).getAutomaticZenRule(id);
maybeRefreshRules(savedRule != null, true);
return savedRule;
return id;
}
protected boolean setZenRule(AutomaticZenRule rule) {
protected boolean setZenRule(String id, AutomaticZenRule rule) {
final boolean success =
NotificationManager.from(mContext).updateAutomaticZenRule(rule);
NotificationManager.from(mContext).updateAutomaticZenRule(id, rule);
maybeRefreshRules(success, true);
return success;
}
@@ -127,8 +131,10 @@ abstract public class ZenModeSettingsBase extends RestrictedSettingsFragment {
NotificationManager.from(mContext).setZenMode(zenMode, conditionId, TAG);
}
private List<AutomaticZenRule> getZenModeRules() {
return NotificationManager.from(mContext).getAutomaticZenRules();
private Set<Map.Entry<String, AutomaticZenRule>> getZenModeRules() {
Map<String, AutomaticZenRule> ruleMap
= NotificationManager.from(mContext).getAutomaticZenRules();
return ruleMap.entrySet();
}
private final class SettingsObserver extends ContentObserver {