Loading services/core/java/com/android/server/notification/ManagedServices.java +7 −0 Original line number Diff line number Diff line Loading @@ -287,6 +287,7 @@ abstract public class ManagedServices { && !mDefaultComponents.contains(currentComponent)) { if (approved.remove(currentComponent.flattenToString())) { disabledComponents.add(currentComponent); clearUserSetFlagLocked(currentComponent, userId); changed = true; } } Loading @@ -309,6 +310,12 @@ abstract public class ManagedServices { return changes; } private boolean clearUserSetFlagLocked(ComponentName component, int userId) { String approvedValue = getApprovedValue(component.flattenToString()); ArraySet<String> userSet = mUserSetServices.get(userId); return userSet != null && userSet.remove(approvedValue); } protected int getBindFlags() { return BIND_AUTO_CREATE | BIND_FOREGROUND_SERVICE | BIND_ALLOW_WHITELIST_MANAGEMENT; } Loading services/tests/uiservicestests/src/com/android/server/notification/ManagedServicesTest.java +14 −3 Original line number Diff line number Diff line Loading @@ -58,7 +58,6 @@ import android.util.TypedXmlPullParser; import android.util.TypedXmlSerializer; import android.util.Xml; import com.android.internal.util.FastXmlSerializer; import com.android.internal.util.XmlUtils; import com.android.server.UiServiceTestCase; Loading @@ -70,8 +69,6 @@ import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.mockito.invocation.InvocationOnMock; import org.mockito.stubbing.Answer; import org.xmlpull.v1.XmlPullParser; import org.xmlpull.v1.XmlSerializer; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; Loading Loading @@ -516,6 +513,20 @@ public class ManagedServicesTest extends UiServiceTestCase { assertTrue(components.contains(new ComponentName("package", "default"))); } @Test public void resetPackage_clearsUserSet() { // setup ManagedServices service = new TestManagedServices( getContext(), mLock, mUserProfiles, mIpm, APPROVAL_BY_COMPONENT); String componentName = "package/user-allowed"; service.addApprovedList(componentName, 0, true); service.resetComponents("package", 0); assertFalse(service.isPackageOrComponentUserSet(componentName, 0)); } /** Test that backup only writes packages/components that belong to the target user. */ @Test public void testWriteXml_onlyBackupsForTargetUser() throws Exception { Loading Loading
services/core/java/com/android/server/notification/ManagedServices.java +7 −0 Original line number Diff line number Diff line Loading @@ -287,6 +287,7 @@ abstract public class ManagedServices { && !mDefaultComponents.contains(currentComponent)) { if (approved.remove(currentComponent.flattenToString())) { disabledComponents.add(currentComponent); clearUserSetFlagLocked(currentComponent, userId); changed = true; } } Loading @@ -309,6 +310,12 @@ abstract public class ManagedServices { return changes; } private boolean clearUserSetFlagLocked(ComponentName component, int userId) { String approvedValue = getApprovedValue(component.flattenToString()); ArraySet<String> userSet = mUserSetServices.get(userId); return userSet != null && userSet.remove(approvedValue); } protected int getBindFlags() { return BIND_AUTO_CREATE | BIND_FOREGROUND_SERVICE | BIND_ALLOW_WHITELIST_MANAGEMENT; } Loading
services/tests/uiservicestests/src/com/android/server/notification/ManagedServicesTest.java +14 −3 Original line number Diff line number Diff line Loading @@ -58,7 +58,6 @@ import android.util.TypedXmlPullParser; import android.util.TypedXmlSerializer; import android.util.Xml; import com.android.internal.util.FastXmlSerializer; import com.android.internal.util.XmlUtils; import com.android.server.UiServiceTestCase; Loading @@ -70,8 +69,6 @@ import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.mockito.invocation.InvocationOnMock; import org.mockito.stubbing.Answer; import org.xmlpull.v1.XmlPullParser; import org.xmlpull.v1.XmlSerializer; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; Loading Loading @@ -516,6 +513,20 @@ public class ManagedServicesTest extends UiServiceTestCase { assertTrue(components.contains(new ComponentName("package", "default"))); } @Test public void resetPackage_clearsUserSet() { // setup ManagedServices service = new TestManagedServices( getContext(), mLock, mUserProfiles, mIpm, APPROVAL_BY_COMPONENT); String componentName = "package/user-allowed"; service.addApprovedList(componentName, 0, true); service.resetComponents("package", 0); assertFalse(service.isPackageOrComponentUserSet(componentName, 0)); } /** Test that backup only writes packages/components that belong to the target user. */ @Test public void testWriteXml_onlyBackupsForTargetUser() throws Exception { Loading