diff options
| author | 2020-12-02 16:13:40 +0000 | |
|---|---|---|
| committer | 2020-12-02 16:13:40 +0000 | |
| commit | 7c2889ea7fd1432ca4e8179cad351d6aceeb28e4 (patch) | |
| tree | 49599eb16e3760ea71319ca6156a3b455840c405 | |
| parent | 68a3422b492234ca3a89c6606685d3641fd849d9 (diff) | |
| parent | 09ed28811637810f7f376841bb6cf6e079db82c2 (diff) | |
Merge "NAS: Not store device config as user setting"
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 |