Merge "Add missing extra when launching apps" into tm-dev am: 14a3861f0b

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/17721989

Change-Id: Ib9e96390eb5b388ce8cc65bc41071de860450083
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
TreeHugger Robot
2022-04-13 00:35:55 +00:00
committed by Automerger Merge Worker
3 changed files with 33 additions and 4 deletions

View File

@@ -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;
@@ -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 {

View File

@@ -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;
@@ -72,9 +74,12 @@ public abstract class ZenModeRuleSettingsBase extends ZenModeSettingsBase {
mId = intent.getStringExtra(ConditionProviderService.EXTRA_RULE_ID);
if (mId == null) {
Log.w(TAG, "rule id is null");
toastAndFinish();
return;
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);

View File

@@ -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;
@@ -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;
@@ -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));
}
}