Loading src/com/android/settings/notification/zen/AbstractZenModeAutomaticRulePreferenceController.java +4 −1 Original line number Diff line number Diff line Loading @@ -16,6 +16,8 @@ package com.android.settings.notification.zen; import static android.app.NotificationManager.EXTRA_AUTOMATIC_RULE_ID; import android.app.AutomaticZenRule; import android.app.NotificationManager; import android.app.settings.SettingsEnums; Loading Loading @@ -79,7 +81,8 @@ abstract public class AbstractZenModeAutomaticRulePreferenceController extends ComponentName configurationActivity, String ruleId) { final Intent intent = new Intent() .addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP) .putExtra(ConditionProviderService.EXTRA_RULE_ID, ruleId); .putExtra(ConditionProviderService.EXTRA_RULE_ID, ruleId) .putExtra(EXTRA_AUTOMATIC_RULE_ID, ruleId); if (configurationActivity != null) { intent.setComponent(configurationActivity); } else { Loading src/com/android/settings/notification/zen/ZenModeRuleSettingsBase.java +8 −3 Original line number Diff line number Diff line Loading @@ -16,6 +16,8 @@ package com.android.settings.notification.zen; import static android.app.NotificationManager.EXTRA_AUTOMATIC_RULE_ID; import android.app.AutomaticZenRule; import android.app.NotificationManager; import android.content.Context; Loading Loading @@ -71,11 +73,14 @@ public abstract class ZenModeRuleSettingsBase extends ZenModeSettingsBase { } mId = intent.getStringExtra(ConditionProviderService.EXTRA_RULE_ID); if (mId == null) { mId = intent.getStringExtra(EXTRA_AUTOMATIC_RULE_ID); if (mId == null) { Log.w(TAG, "rule id is null"); toastAndFinish(); return; } } if (DEBUG) Log.d(TAG, "mId=" + mId); if (refreshRuleOrFinish()) { Loading tests/robotests/src/com/android/settings/notification/zen/AbstractZenModeAutomaticRulePreferenceControllerTest.java +21 −0 Original line number Diff line number Diff line Loading @@ -16,6 +16,9 @@ package com.android.settings.notification.zen; import static android.app.NotificationManager.EXTRA_AUTOMATIC_RULE_ID; import static android.service.notification.ConditionProviderService.EXTRA_RULE_ID; import static com.google.common.truth.Truth.assertThat; import static org.mockito.Mockito.when; Loading @@ -24,6 +27,7 @@ import android.app.AutomaticZenRule; import android.app.NotificationManager; import android.content.ComponentName; import android.content.Context; import android.content.Intent; import android.content.pm.ComponentInfo; import android.content.pm.PackageManager; import android.net.Uri; Loading Loading @@ -166,4 +170,21 @@ public class AbstractZenModeAutomaticRulePreferenceControllerTest { assertThat(actual).isEqualTo(new ComponentName(mContext.getPackageName(), "activity")); } @Test public void testGetRuleIntent() throws Exception { AutomaticZenRule rule = new AutomaticZenRule("name", null, new ComponentName(mContext.getPackageName(), "test"), Uri.EMPTY, new ZenPolicy(), NotificationManager.INTERRUPTION_FILTER_PRIORITY, true); rule.setPackageName(mContext.getPackageName()); when(mPm.getPackageUid(null, 0)).thenReturn(-1); when(mPm.getPackageUid(mContext.getPackageName(), 0)).thenReturn(1); Intent intent = AbstractZenModeAutomaticRulePreferenceController .getRuleIntent(null, rule.getConfigurationActivity(), "id"); assertThat("id").isEqualTo(intent.getStringExtra(EXTRA_RULE_ID)); assertThat("id").isEqualTo(intent.getStringExtra(EXTRA_AUTOMATIC_RULE_ID)); } } No newline at end of file Loading
src/com/android/settings/notification/zen/AbstractZenModeAutomaticRulePreferenceController.java +4 −1 Original line number Diff line number Diff line Loading @@ -16,6 +16,8 @@ package com.android.settings.notification.zen; import static android.app.NotificationManager.EXTRA_AUTOMATIC_RULE_ID; import android.app.AutomaticZenRule; import android.app.NotificationManager; import android.app.settings.SettingsEnums; Loading Loading @@ -79,7 +81,8 @@ abstract public class AbstractZenModeAutomaticRulePreferenceController extends ComponentName configurationActivity, String ruleId) { final Intent intent = new Intent() .addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP) .putExtra(ConditionProviderService.EXTRA_RULE_ID, ruleId); .putExtra(ConditionProviderService.EXTRA_RULE_ID, ruleId) .putExtra(EXTRA_AUTOMATIC_RULE_ID, ruleId); if (configurationActivity != null) { intent.setComponent(configurationActivity); } else { Loading
src/com/android/settings/notification/zen/ZenModeRuleSettingsBase.java +8 −3 Original line number Diff line number Diff line Loading @@ -16,6 +16,8 @@ package com.android.settings.notification.zen; import static android.app.NotificationManager.EXTRA_AUTOMATIC_RULE_ID; import android.app.AutomaticZenRule; import android.app.NotificationManager; import android.content.Context; Loading Loading @@ -71,11 +73,14 @@ public abstract class ZenModeRuleSettingsBase extends ZenModeSettingsBase { } mId = intent.getStringExtra(ConditionProviderService.EXTRA_RULE_ID); if (mId == null) { mId = intent.getStringExtra(EXTRA_AUTOMATIC_RULE_ID); if (mId == null) { Log.w(TAG, "rule id is null"); toastAndFinish(); return; } } if (DEBUG) Log.d(TAG, "mId=" + mId); if (refreshRuleOrFinish()) { Loading
tests/robotests/src/com/android/settings/notification/zen/AbstractZenModeAutomaticRulePreferenceControllerTest.java +21 −0 Original line number Diff line number Diff line Loading @@ -16,6 +16,9 @@ package com.android.settings.notification.zen; import static android.app.NotificationManager.EXTRA_AUTOMATIC_RULE_ID; import static android.service.notification.ConditionProviderService.EXTRA_RULE_ID; import static com.google.common.truth.Truth.assertThat; import static org.mockito.Mockito.when; Loading @@ -24,6 +27,7 @@ import android.app.AutomaticZenRule; import android.app.NotificationManager; import android.content.ComponentName; import android.content.Context; import android.content.Intent; import android.content.pm.ComponentInfo; import android.content.pm.PackageManager; import android.net.Uri; Loading Loading @@ -166,4 +170,21 @@ public class AbstractZenModeAutomaticRulePreferenceControllerTest { assertThat(actual).isEqualTo(new ComponentName(mContext.getPackageName(), "activity")); } @Test public void testGetRuleIntent() throws Exception { AutomaticZenRule rule = new AutomaticZenRule("name", null, new ComponentName(mContext.getPackageName(), "test"), Uri.EMPTY, new ZenPolicy(), NotificationManager.INTERRUPTION_FILTER_PRIORITY, true); rule.setPackageName(mContext.getPackageName()); when(mPm.getPackageUid(null, 0)).thenReturn(-1); when(mPm.getPackageUid(mContext.getPackageName(), 0)).thenReturn(1); Intent intent = AbstractZenModeAutomaticRulePreferenceController .getRuleIntent(null, rule.getConfigurationActivity(), "id"); assertThat("id").isEqualTo(intent.getStringExtra(EXTRA_RULE_ID)); assertThat("id").isEqualTo(intent.getStringExtra(EXTRA_AUTOMATIC_RULE_ID)); } } No newline at end of file