Zen automatic rule page ui changes
- Can change rule name from header - Text for turning on/off rule is now "Use rule" instead of on/off Test: make ROBOTEST_FILTER=EntityHeaderControllerTest RunSettingsRoboTests -j40 Test: manual (Settings > Sound > Do Not Disturb > Turn On Automatically) Bug: 63077372 Change-Id: Id55b02de0509f168c2470a4f875e84140eb840fa
This commit is contained in:
@@ -19,6 +19,7 @@ package com.android.settings.notification;
|
||||
import static com.android.settings.widget.EntityHeaderController.PREF_KEY_APP_HEADER;
|
||||
|
||||
import android.app.AutomaticZenRule;
|
||||
import android.app.Fragment;
|
||||
import android.content.Context;
|
||||
import android.content.pm.ApplicationInfo;
|
||||
import android.content.pm.PackageManager;
|
||||
@@ -28,6 +29,7 @@ import android.support.v7.preference.Preference;
|
||||
import android.util.Slog;
|
||||
import android.view.View;
|
||||
|
||||
import com.android.internal.logging.nano.MetricsProto;
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.applications.LayoutPreference;
|
||||
import com.android.settings.core.PreferenceControllerMixin;
|
||||
@@ -40,6 +42,7 @@ public class ZenAutomaticRuleHeaderPreferenceController extends AbstractZenModeP
|
||||
private final String KEY = PREF_KEY_APP_HEADER;
|
||||
private final PreferenceFragment mFragment;
|
||||
private AutomaticZenRule mRule;
|
||||
private String mId;
|
||||
private EntityHeaderController mController;
|
||||
|
||||
public ZenAutomaticRuleHeaderPreferenceController(Context context, PreferenceFragment fragment,
|
||||
@@ -70,6 +73,14 @@ public class ZenAutomaticRuleHeaderPreferenceController extends AbstractZenModeP
|
||||
mController = EntityHeaderController
|
||||
.newInstance(mFragment.getActivity(), mFragment,
|
||||
pref.findViewById(R.id.entity_header));
|
||||
|
||||
mController.setEditZenRuleNameListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
ZenRuleNameDialog.show(mFragment, mRule.getName(), null,
|
||||
new RuleNameChangeListener());
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
pref = mController.setIcon(getIcon())
|
||||
@@ -77,7 +88,7 @@ public class ZenAutomaticRuleHeaderPreferenceController extends AbstractZenModeP
|
||||
.setPackageName(mRule.getOwner().getPackageName())
|
||||
.setUid(mContext.getUserId())
|
||||
.setHasAppInfoLink(false)
|
||||
.setButtonActions(EntityHeaderController.ActionType.ACTION_NONE,
|
||||
.setButtonActions(EntityHeaderController.ActionType.ACTION_DND_RULE_PREFERENCE,
|
||||
EntityHeaderController.ActionType.ACTION_NONE)
|
||||
.done(mFragment.getActivity(), mContext);
|
||||
|
||||
@@ -98,7 +109,20 @@ public class ZenAutomaticRuleHeaderPreferenceController extends AbstractZenModeP
|
||||
return null;
|
||||
}
|
||||
|
||||
protected void onResume(AutomaticZenRule rule) {
|
||||
protected void onResume(AutomaticZenRule rule, String id) {
|
||||
mRule = rule;
|
||||
mId = id;
|
||||
}
|
||||
|
||||
public class RuleNameChangeListener implements ZenRuleNameDialog.PositiveClickListener {
|
||||
public RuleNameChangeListener() {}
|
||||
|
||||
@Override
|
||||
public void onOk(String ruleName, Fragment parent) {
|
||||
mMetricsFeatureProvider.action(mContext,
|
||||
MetricsProto.MetricsEvent.ACTION_ZEN_MODE_RULE_NAME_CHANGE_OK);
|
||||
mRule.setName(ruleName);
|
||||
mBackend.setZenRule(mId, mRule);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user