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:
Beverly
2018-01-12 16:50:44 -05:00
parent 18a9d7bad0
commit 738b400ea0
9 changed files with 126 additions and 74 deletions

View File

@@ -164,6 +164,57 @@ public class EntityHeaderControllerTest {
verify(mFragment).startActivity(any(Intent.class));
}
@Test
public void bindButton_hasEditRuleNameClickListener_shouldShowButton() {
final ResolveInfo info = new ResolveInfo();
info.activityInfo = new ActivityInfo();
info.activityInfo.packageName = "123";
info.activityInfo.name = "321";
final View view = mLayoutInflater
.inflate(R.layout.settings_entity_header, null /* root */);
when(mActivity.getApplicationContext()).thenReturn(mContext);
mController = EntityHeaderController.newInstance(mActivity, mFragment, view);
mController.setEditZenRuleNameListener(new View.OnClickListener() {
public void onClick(View v) {
// do nothing
}
});
mController.setButtonActions(
EntityHeaderController.ActionType.ACTION_DND_RULE_PREFERENCE,
EntityHeaderController.ActionType.ACTION_NONE);
mController.done(mActivity);
final ImageButton button1 = view.findViewById(android.R.id.button1);
assertThat(button1.getVisibility()).isEqualTo(View.VISIBLE);
assertThat(button1.getDrawable()).isNotNull();
assertThat(view.findViewById(android.R.id.button2).getVisibility())
.isEqualTo(View.GONE);
}
@Test
public void bindButton_noEditRuleNameClickListener_shouldNotShowButton() {
final ResolveInfo info = new ResolveInfo();
info.activityInfo = new ActivityInfo();
info.activityInfo.packageName = "123";
info.activityInfo.name = "321";
final View view = mLayoutInflater
.inflate(R.layout.settings_entity_header, null /* root */);
when(mActivity.getApplicationContext()).thenReturn(mContext);
mController = EntityHeaderController.newInstance(mActivity, mFragment, view);
mController.setButtonActions(
EntityHeaderController.ActionType.ACTION_DND_RULE_PREFERENCE,
EntityHeaderController.ActionType.ACTION_NONE);
mController.done(mActivity);
assertThat(view.findViewById(android.R.id.button1).getVisibility())
.isEqualTo(View.GONE);
assertThat(view.findViewById(android.R.id.button2).getVisibility())
.isEqualTo(View.GONE);
}
@Test
public void bindButton_noAppPref_shouldNotShowButton() {
final View appLinks = mLayoutInflater