summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Chloris Kuo <chloriskuo@google.com> 2020-12-02 16:13:40 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2020-12-02 16:13:40 +0000
commit7c2889ea7fd1432ca4e8179cad351d6aceeb28e4 (patch)
tree49599eb16e3760ea71319ca6156a3b455840c405
parent68a3422b492234ca3a89c6606685d3641fd849d9 (diff)
parent09ed28811637810f7f376841bb6cf6e079db82c2 (diff)
Merge "NAS: Not store device config as user setting"
-rwxr-xr-xservices/core/java/com/android/server/notification/NotificationManagerService.java22
-rw-r--r--services/tests/uiservicestests/src/com/android/server/notification/NotificationAssistantsTest.java16
-rwxr-xr-xservices/tests/uiservicestests/src/com/android/server/notification/NotificationManagerServiceTest.java47
3 files changed, 40 insertions, 45 deletions
diff --git a/services/core/java/com/android/server/notification/NotificationManagerService.java b/services/core/java/com/android/server/notification/NotificationManagerService.java
index 76b9c8619cfc..ee860e3ac6d7 100755
--- a/services/core/java/com/android/server/notification/NotificationManagerService.java
+++ b/services/core/java/com/android/server/notification/NotificationManagerService.java
@@ -230,9 +230,9 @@ import android.util.Pair;
import android.util.Slog;
import android.util.SparseArray;
import android.util.StatsEvent;
-import android.util.Xml;
import android.util.TypedXmlPullParser;
import android.util.TypedXmlSerializer;
+import android.util.Xml;
import android.util.proto.ProtoOutputStream;
import android.view.accessibility.AccessibilityEvent;
import android.view.accessibility.AccessibilityManager;
@@ -257,7 +257,6 @@ import com.android.internal.util.ArrayUtils;
import com.android.internal.util.CollectionUtils;
import com.android.internal.util.ConcurrentUtils;
import com.android.internal.util.DumpUtils;
-import com.android.internal.util.FastXmlSerializer;
import com.android.internal.util.Preconditions;
import com.android.internal.util.XmlUtils;
import com.android.internal.util.function.TriPredicate;
@@ -286,9 +285,7 @@ import libcore.io.IoUtils;
import org.json.JSONException;
import org.json.JSONObject;
-import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException;
-import org.xmlpull.v1.XmlSerializer;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
@@ -737,7 +734,7 @@ public class NotificationManagerService extends SystemService {
null,
MATCH_DIRECT_BOOT_AWARE | MATCH_DIRECT_BOOT_UNAWARE, userId);
if (candidate != null && validAssistants.contains(candidate)) {
- setNotificationAssistantAccessGrantedForUserInternal(candidate, userId, true);
+ setNotificationAssistantAccessGrantedForUserInternal(candidate, userId, true, false);
return true;
}
return false;
@@ -4913,7 +4910,8 @@ public class NotificationManagerService extends SystemService {
}
final long identity = Binder.clearCallingIdentity();
try {
- setNotificationAssistantAccessGrantedForUserInternal(assistant, userId, granted);
+ setNotificationAssistantAccessGrantedForUserInternal(assistant, userId, granted,
+ true);
} finally {
Binder.restoreCallingIdentity(identity);
}
@@ -5164,7 +5162,7 @@ public class NotificationManagerService extends SystemService {
@VisibleForTesting
protected void setNotificationAssistantAccessGrantedForUserInternal(
- ComponentName assistant, int baseUserId, boolean granted) {
+ ComponentName assistant, int baseUserId, boolean granted, boolean userSet) {
List<UserInfo> users = mUm.getEnabledProfiles(baseUserId);
if (users != null) {
for (UserInfo user : users) {
@@ -5174,7 +5172,7 @@ public class NotificationManagerService extends SystemService {
mAssistants.getAllowedComponents(userId));
if (allowedAssistant != null) {
setNotificationAssistantAccessGrantedForUserInternal(
- allowedAssistant, userId, false);
+ allowedAssistant, userId, false, userSet);
}
continue;
}
@@ -5183,7 +5181,7 @@ public class NotificationManagerService extends SystemService {
mConditionProviders.setPackageOrComponentEnabled(assistant.flattenToString(),
userId, false, granted);
mAssistants.setPackageOrComponentEnabled(assistant.flattenToString(),
- userId, true, granted);
+ userId, true, granted, userSet);
getContext().sendBroadcastAsUser(
new Intent(ACTION_NOTIFICATION_POLICY_ACCESS_GRANTED_CHANGED)
@@ -9338,7 +9336,7 @@ public class NotificationManagerService extends SystemService {
@Override
protected void setPackageOrComponentEnabled(String pkgOrComponent, int userId,
- boolean isPrimary, boolean enabled) {
+ boolean isPrimary, boolean enabled, boolean userSet) {
// Ensures that only one component is enabled at a time
if (enabled) {
List<ComponentName> allowedComponents = getAllowedComponents(userId);
@@ -9346,10 +9344,10 @@ public class NotificationManagerService extends SystemService {
ComponentName currentComponent = CollectionUtils.firstOrNull(allowedComponents);
if (currentComponent.flattenToString().equals(pkgOrComponent)) return;
setNotificationAssistantAccessGrantedForUserInternal(
- currentComponent, userId, false);
+ currentComponent, userId, false, userSet);
}
}
- super.setPackageOrComponentEnabled(pkgOrComponent, userId, isPrimary, enabled);
+ super.setPackageOrComponentEnabled(pkgOrComponent, userId, isPrimary, enabled, userSet);
}
private boolean isVerboseLogEnabled() {
diff --git a/services/tests/uiservicestests/src/com/android/server/notification/NotificationAssistantsTest.java b/services/tests/uiservicestests/src/com/android/server/notification/NotificationAssistantsTest.java
index 8c2038b59a0f..b3116d970725 100644
--- a/services/tests/uiservicestests/src/com/android/server/notification/NotificationAssistantsTest.java
+++ b/services/tests/uiservicestests/src/com/android/server/notification/NotificationAssistantsTest.java
@@ -37,7 +37,6 @@ import android.os.UserHandle;
import android.os.UserManager;
import android.util.IntArray;
import android.util.TypedXmlPullParser;
-import android.util.TypedXmlSerializer;
import android.util.Xml;
import com.android.server.UiServiceTestCase;
@@ -47,7 +46,6 @@ import org.junit.Before;
import org.junit.Test;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
-import org.xmlpull.v1.XmlPullParser;
import java.io.BufferedInputStream;
import java.io.ByteArrayInputStream;
@@ -144,24 +142,24 @@ public class NotificationAssistantsTest extends UiServiceTestCase {
ComponentName component1 = ComponentName.unflattenFromString("package/Component1");
ComponentName component2 = ComponentName.unflattenFromString("package/Component2");
mAssistants.setPackageOrComponentEnabled(component1.flattenToString(), mZero.id, true,
- true);
+ true, true);
verify(mNm, never()).setNotificationAssistantAccessGrantedForUserInternal(
- any(ComponentName.class), eq(mZero.id), anyBoolean());
+ any(ComponentName.class), eq(mZero.id), anyBoolean(), anyBoolean());
mAssistants.setPackageOrComponentEnabled(component2.flattenToString(), mZero.id, true,
- true);
+ true, true);
verify(mNm, times(1)).setNotificationAssistantAccessGrantedForUserInternal(
- component1, mZero.id, false);
+ component1, mZero.id, false, true);
}
@Test
public void testSetPackageOrComponentEnabled_samePackage() throws Exception {
ComponentName component1 = ComponentName.unflattenFromString("package/Component1");
mAssistants.setPackageOrComponentEnabled(component1.flattenToString(), mZero.id, true,
- true);
+ true, true);
mAssistants.setPackageOrComponentEnabled(component1.flattenToString(), mZero.id, true,
- true);
+ true, true);
verify(mNm, never()).setNotificationAssistantAccessGrantedForUserInternal(
- any(ComponentName.class), eq(mZero.id), anyBoolean());
+ any(ComponentName.class), eq(mZero.id), anyBoolean(), anyBoolean());
}
}
diff --git a/services/tests/uiservicestests/src/com/android/server/notification/NotificationManagerServiceTest.java b/services/tests/uiservicestests/src/com/android/server/notification/NotificationManagerServiceTest.java
index 60832374ac28..5cf529a239dc 100755
--- a/services/tests/uiservicestests/src/com/android/server/notification/NotificationManagerServiceTest.java
+++ b/services/tests/uiservicestests/src/com/android/server/notification/NotificationManagerServiceTest.java
@@ -172,7 +172,6 @@ import com.android.internal.config.sysui.SystemUiDeviceConfigFlags;
import com.android.internal.logging.InstanceIdSequence;
import com.android.internal.logging.InstanceIdSequenceFake;
import com.android.internal.statusbar.NotificationVisibility;
-import com.android.internal.util.FastXmlSerializer;
import com.android.server.DeviceIdleInternal;
import com.android.server.LocalServices;
import com.android.server.SystemService;
@@ -196,8 +195,6 @@ import org.mockito.InOrder;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.mockito.stubbing.Answer;
-import org.xmlpull.v1.XmlPullParser;
-import org.xmlpull.v1.XmlSerializer;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
@@ -357,12 +354,14 @@ public class NotificationManagerServiceTest extends UiServiceTestCase {
@Override
protected void setNotificationAssistantAccessGrantedForUserInternal(
- ComponentName assistant, int userId, boolean granted) {
+ ComponentName assistant, int userId, boolean granted, boolean userSet) {
if (mNotificationAssistantAccessGrantedCallback != null) {
- mNotificationAssistantAccessGrantedCallback.onGranted(assistant, userId, granted);
+ mNotificationAssistantAccessGrantedCallback.onGranted(assistant, userId, granted,
+ userSet);
return;
}
- super.setNotificationAssistantAccessGrantedForUserInternal(assistant, userId, granted);
+ super.setNotificationAssistantAccessGrantedForUserInternal(assistant, userId, granted,
+ userSet);
}
@Override
@@ -376,7 +375,7 @@ public class NotificationManagerServiceTest extends UiServiceTestCase {
}
interface NotificationAssistantAccessGrantedCallback {
- void onGranted(ComponentName assistant, int userId, boolean granted);
+ void onGranted(ComponentName assistant, int userId, boolean granted, boolean userSet);
}
}
@@ -899,7 +898,7 @@ public class NotificationManagerServiceTest extends UiServiceTestCase {
mService.setDefaultAssistantForUser(userId);
verify(mAssistants).setPackageOrComponentEnabled(
- eq(testComponent), eq(userId), eq(true), eq(true));
+ eq(testComponent), eq(userId), eq(true), eq(true), eq(false));
}
@Test
@@ -2909,7 +2908,7 @@ public class NotificationManagerServiceTest extends UiServiceTestCase {
verify(mContext, times(1)).sendBroadcastAsUser(any(), eq(user), any());
verify(mAssistants, times(1)).setPackageOrComponentEnabled(
- c.flattenToString(), user.getIdentifier(), true, true);
+ c.flattenToString(), user.getIdentifier(), true, true, true);
verify(mAssistants).setUserSet(10, true);
verify(mConditionProviders, times(1)).setPackageOrComponentEnabled(
c.flattenToString(), user.getIdentifier(), false, true);
@@ -2953,7 +2952,7 @@ public class NotificationManagerServiceTest extends UiServiceTestCase {
verify(mConditionProviders, times(1)).setPackageOrComponentEnabled(
c.getPackageName(), user.getIdentifier(), true, true);
verify(mAssistants, never()).setPackageOrComponentEnabled(
- any(), anyInt(), anyBoolean(), anyBoolean());
+ any(), anyInt(), anyBoolean(), anyBoolean(), anyBoolean());
verify(mListeners, never()).setPackageOrComponentEnabled(
any(), anyInt(), anyBoolean(), anyBoolean());
}
@@ -2968,7 +2967,7 @@ public class NotificationManagerServiceTest extends UiServiceTestCase {
verify(mConditionProviders, times(1)).setPackageOrComponentEnabled(
c.flattenToString(), 0, false, true, true);
verify(mAssistants, never()).setPackageOrComponentEnabled(
- any(), anyInt(), anyBoolean(), anyBoolean());
+ any(), anyInt(), anyBoolean(), anyBoolean(), anyBoolean());
}
@Test
@@ -2983,7 +2982,7 @@ public class NotificationManagerServiceTest extends UiServiceTestCase {
mBinderService.setNotificationAssistantAccessGranted(c, true);
verify(mAssistants, times(1)).setPackageOrComponentEnabled(
- c.flattenToString(), 0, true, true);
+ c.flattenToString(), 0, true, true, true);
verify(mConditionProviders, times(1)).setPackageOrComponentEnabled(
c.flattenToString(), 0, false, true);
verify(mListeners, never()).setPackageOrComponentEnabled(
@@ -3005,9 +3004,9 @@ public class NotificationManagerServiceTest extends UiServiceTestCase {
mBinderService.setNotificationAssistantAccessGranted(c, true);
verify(mAssistants, times(1)).setPackageOrComponentEnabled(
- c.flattenToString(), 0, true, true);
+ c.flattenToString(), 0, true, true, true);
verify(mAssistants, times(1)).setPackageOrComponentEnabled(
- c.flattenToString(), 10, true, true);
+ c.flattenToString(), 10, true, true, true);
verify(mConditionProviders, times(1)).setPackageOrComponentEnabled(
c.flattenToString(), 0, false, true);
verify(mConditionProviders, times(1)).setPackageOrComponentEnabled(
@@ -3031,7 +3030,7 @@ public class NotificationManagerServiceTest extends UiServiceTestCase {
mBinderService.setNotificationAssistantAccessGranted(null, true);
verify(mAssistants, times(1)).setPackageOrComponentEnabled(
- c.flattenToString(), 0, true, false);
+ c.flattenToString(), 0, true, false, true);
verify(mConditionProviders, times(1)).setPackageOrComponentEnabled(
c.flattenToString(), 0, false, false);
verify(mListeners, never()).setPackageOrComponentEnabled(
@@ -3055,7 +3054,7 @@ public class NotificationManagerServiceTest extends UiServiceTestCase {
null, user.getIdentifier(), true);
verify(mAssistants, times(1)).setPackageOrComponentEnabled(
- c.flattenToString(), user.getIdentifier(), true, false);
+ c.flattenToString(), user.getIdentifier(), true, false, true);
verify(mAssistants).setUserSet(10, true);
verify(mConditionProviders, times(1)).setPackageOrComponentEnabled(
c.flattenToString(), user.getIdentifier(), false, false);
@@ -3084,9 +3083,9 @@ public class NotificationManagerServiceTest extends UiServiceTestCase {
null, user.getIdentifier(), true);
verify(mAssistants, times(1)).setPackageOrComponentEnabled(
- c.flattenToString(), user.getIdentifier(), true, false);
+ c.flattenToString(), user.getIdentifier(), true, false, true);
verify(mAssistants, times(1)).setPackageOrComponentEnabled(
- c.flattenToString(), ui10.id, true, false);
+ c.flattenToString(), ui10.id, true, false, true);
verify(mAssistants).setUserSet(0, true);
verify(mAssistants).setUserSet(10, true);
verify(mConditionProviders, times(1)).setPackageOrComponentEnabled(
@@ -3106,7 +3105,7 @@ public class NotificationManagerServiceTest extends UiServiceTestCase {
verify(mConditionProviders, times(1)).setPackageOrComponentEnabled(
c.getPackageName(), 0, true, true);
verify(mAssistants, never()).setPackageOrComponentEnabled(
- any(), anyInt(), anyBoolean(), anyBoolean());
+ any(), anyInt(), anyBoolean(), anyBoolean(), anyBoolean());
verify(mListeners, never()).setPackageOrComponentEnabled(
any(), anyInt(), anyBoolean(), anyBoolean());
}
@@ -3191,7 +3190,7 @@ public class NotificationManagerServiceTest extends UiServiceTestCase {
verify(mConditionProviders, times(1)).setPackageOrComponentEnabled(
c.flattenToString(), 0, false, true);
verify(mAssistants, times(1)).setPackageOrComponentEnabled(
- c.flattenToString(), 0, true, true);
+ c.flattenToString(), 0, true, true, true);
}
@Test
@@ -3207,7 +3206,7 @@ public class NotificationManagerServiceTest extends UiServiceTestCase {
verify(mConditionProviders, times(1)).setPackageOrComponentEnabled(
c.getPackageName(), 0, true, true);
verify(mAssistants, never()).setPackageOrComponentEnabled(
- any(), anyInt(), anyBoolean(), anyBoolean());
+ any(), anyInt(), anyBoolean(), anyBoolean(), anyBoolean());
}
@Test
@@ -5419,7 +5418,7 @@ public class NotificationManagerServiceTest extends UiServiceTestCase {
mService.setDefaultAssistantForUser(0);
verify(mNotificationAssistantAccessGrantedCallback)
- .onGranted(eq(xmlConfig), eq(0), eq(true));
+ .onGranted(eq(xmlConfig), eq(0), eq(true), eq(false));
}
@Test
@@ -5441,7 +5440,7 @@ public class NotificationManagerServiceTest extends UiServiceTestCase {
mService.setDefaultAssistantForUser(0);
verify(mNotificationAssistantAccessGrantedCallback)
- .onGranted(eq(deviceConfig), eq(0), eq(true));
+ .onGranted(eq(deviceConfig), eq(0), eq(true), eq(false));
}
@Test
@@ -5464,7 +5463,7 @@ public class NotificationManagerServiceTest extends UiServiceTestCase {
mService.setDefaultAssistantForUser(0);
verify(mNotificationAssistantAccessGrantedCallback)
- .onGranted(eq(xmlConfig), eq(0), eq(true));
+ .onGranted(eq(xmlConfig), eq(0), eq(true), eq(false));
}
@Test