Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2553dffb authored by Songchun Fan's avatar Songchun Fan
Browse files

[frameworks] unregister receivers in RegisteredServicesCacheTest

BUG: 298063459
Test: presubmit

Change-Id: Iad778f02a2896b2c0f9cf50f92b7343941301b41
parent 50b5cb18
Loading
Loading
Loading
Loading
+7 −0
Original line number Original line Diff line number Diff line
@@ -834,4 +834,11 @@ public abstract class RegisteredServicesCache<V> {


    public abstract V parseServiceAttributes(Resources res,
    public abstract V parseServiceAttributes(Resources res,
            String packageName, AttributeSet attrs);
            String packageName, AttributeSet attrs);

    @VisibleForTesting
    public void unregisterReceivers() {
        mContext.unregisterReceiver(mPackageReceiver);
        mContext.unregisterReceiver(mExternalReceiver);
        mContext.unregisterReceiver(mUserRemovedReceiver);
    }
}
}
+10 −0
Original line number Original line Diff line number Diff line
@@ -85,9 +85,11 @@ public class RegisteredServicesCacheTest extends AndroidTestCase {
        assertEquals(2, cache.getAllServicesSize(U0));
        assertEquals(2, cache.getAllServicesSize(U0));
        assertEquals(2, cache.getPersistentServicesSize(U0));
        assertEquals(2, cache.getPersistentServicesSize(U0));
        assertNotEmptyFileCreated(cache, U0);
        assertNotEmptyFileCreated(cache, U0);
        cache.unregisterReceivers();
        // Make sure all services can be loaded from xml
        // Make sure all services can be loaded from xml
        cache = new TestServicesCache();
        cache = new TestServicesCache();
        assertEquals(2, cache.getPersistentServicesSize(U0));
        assertEquals(2, cache.getPersistentServicesSize(U0));
        cache.unregisterReceivers();
    }
    }


    public void testGetAllServicesReplaceUid() {
    public void testGetAllServicesReplaceUid() {
@@ -110,6 +112,7 @@ public class RegisteredServicesCacheTest extends AndroidTestCase {
        assertTrue("UID must be updated to the new value",
        assertTrue("UID must be updated to the new value",
                uids.contains(SYSTEM_IMAGE_UID));
                uids.contains(SYSTEM_IMAGE_UID));
        assertFalse("UID must be updated to the new value", uids.contains(UID2));
        assertFalse("UID must be updated to the new value", uids.contains(UID2));
        cache.unregisterReceivers();
    }
    }


    public void testGetAllServicesServiceRemoved() {
    public void testGetAllServicesServiceRemoved() {
@@ -118,6 +121,7 @@ public class RegisteredServicesCacheTest extends AndroidTestCase {
        cache.addServiceForQuerying(U0, r2, newServiceInfo(t2, UID2));
        cache.addServiceForQuerying(U0, r2, newServiceInfo(t2, UID2));
        assertEquals(2, cache.getAllServicesSize(U0));
        assertEquals(2, cache.getAllServicesSize(U0));
        assertEquals(2, cache.getPersistentServicesSize(U0));
        assertEquals(2, cache.getPersistentServicesSize(U0));
        cache.unregisterReceivers();
        // Re-read data from disk and verify services were saved
        // Re-read data from disk and verify services were saved
        cache = new TestServicesCache();
        cache = new TestServicesCache();
        assertEquals(2, cache.getPersistentServicesSize(U0));
        assertEquals(2, cache.getPersistentServicesSize(U0));
@@ -125,6 +129,7 @@ public class RegisteredServicesCacheTest extends AndroidTestCase {
        cache.addServiceForQuerying(U0, r1, newServiceInfo(t1, UID1));
        cache.addServiceForQuerying(U0, r1, newServiceInfo(t1, UID1));
        assertEquals(1, cache.getAllServicesSize(U0));
        assertEquals(1, cache.getAllServicesSize(U0));
        assertEquals(1, cache.getPersistentServicesSize(U0));
        assertEquals(1, cache.getPersistentServicesSize(U0));
        cache.unregisterReceivers();
    }
    }


    public void testGetAllServicesMultiUser() {
    public void testGetAllServicesMultiUser() {
@@ -137,12 +142,14 @@ public class RegisteredServicesCacheTest extends AndroidTestCase {
        assertEquals(1, cache.getAllServicesSize(U1));
        assertEquals(1, cache.getAllServicesSize(U1));
        assertEquals(1, cache.getPersistentServicesSize(U1));
        assertEquals(1, cache.getPersistentServicesSize(U1));
        assertEquals("No services should be available for user 3", 0, cache.getAllServicesSize(3));
        assertEquals("No services should be available for user 3", 0, cache.getAllServicesSize(3));
        cache.unregisterReceivers();
        // Re-read data from disk and verify services were saved
        // Re-read data from disk and verify services were saved
        cache = new TestServicesCache();
        cache = new TestServicesCache();
        assertEquals(1, cache.getPersistentServicesSize(U0));
        assertEquals(1, cache.getPersistentServicesSize(U0));
        assertEquals(1, cache.getPersistentServicesSize(U1));
        assertEquals(1, cache.getPersistentServicesSize(U1));
        assertNotEmptyFileCreated(cache, U0);
        assertNotEmptyFileCreated(cache, U0);
        assertNotEmptyFileCreated(cache, U1);
        assertNotEmptyFileCreated(cache, U1);
        cache.unregisterReceivers();
    }
    }


    public void testOnRemove() {
    public void testOnRemove() {
@@ -158,6 +165,7 @@ public class RegisteredServicesCacheTest extends AndroidTestCase {
        cache.clearServicesForQuerying();
        cache.clearServicesForQuerying();
        assertEquals(1, cache.getAllServicesSize(U0));
        assertEquals(1, cache.getAllServicesSize(U0));
        assertEquals(0, cache.getAllServicesSize(U1));
        assertEquals(0, cache.getAllServicesSize(U1));
        cache.unregisterReceivers();
    }
    }


    public void testMigration() {
    public void testMigration() {
@@ -186,10 +194,12 @@ public class RegisteredServicesCacheTest extends AndroidTestCase {
        cache.addServiceForQuerying(0, r2, newServiceInfo(t2, 2));
        cache.addServiceForQuerying(0, r2, newServiceInfo(t2, 2));
        assertEquals(2, cache.getAllServicesSize(u0));
        assertEquals(2, cache.getAllServicesSize(u0));
        assertEquals(0, cache.getAllServicesSize(u1));
        assertEquals(0, cache.getAllServicesSize(u1));
        cache.unregisterReceivers();
        // Re-read data from disk. Verify that services were saved and old file was ignored
        // Re-read data from disk. Verify that services were saved and old file was ignored
        cache = new TestServicesCache();
        cache = new TestServicesCache();
        assertEquals(2, cache.getPersistentServicesSize(u0));
        assertEquals(2, cache.getPersistentServicesSize(u0));
        assertEquals(0, cache.getPersistentServicesSize(u1));
        assertEquals(0, cache.getPersistentServicesSize(u1));
        cache.unregisterReceivers();
    }
    }


    private static RegisteredServicesCache.ServiceInfo<TestServiceType> newServiceInfo(
    private static RegisteredServicesCache.ServiceInfo<TestServiceType> newServiceInfo(