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

Commit e5c75bfa authored by Songchun Fan's avatar Songchun Fan
Browse files

[PackageSetting] deep copy PackageUserState

+ fix copying of mSharedLibraryOverlayPaths
+ add missing copying of mFirstInstallTime
+ remove unused mCachedOverlayPaths

BUG: 202291547
Test: atest com.android.server.pm.PackageManagerSettingsTests
Test: atest CtsSuspendAppsTestCases
Change-Id: Iefaef66d5a4c45259fc7cbf2b3f7314d7cd494de
parent 5d9476a5
Loading
Loading
Loading
Loading
+6 −9

File changed.

Preview size limit exceeded, changes collapsed.

+179 −154

File changed.

Preview size limit exceeded, changes collapsed.

+78 −43

File changed.

Preview size limit exceeded, changes collapsed.

+3 −3
Original line number Diff line number Diff line
@@ -236,7 +236,7 @@ public class PackageUserStateTest {
        testUserState1.setSuspendParams(paramsMap1);

        PackageUserStateImpl testUserState2 =
                new PackageUserStateImpl(testUserState1);
                new PackageUserStateImpl(null, testUserState1);
        assertThat(testUserState1.equals(testUserState2), is(true));
        testUserState2.setSuspendParams(paramsMap2);
        // Should not be equal since suspendParams maps are different
@@ -250,12 +250,12 @@ public class PackageUserStateTest {
        userState1.setDistractionFlags(PackageManager.RESTRICTION_HIDE_FROM_SUGGESTIONS);

        final PackageUserStateImpl copyOfUserState1 =
                new PackageUserStateImpl(userState1);
                new PackageUserStateImpl(null, userState1);
        assertThat(userState1.getDistractionFlags(), is(copyOfUserState1.getDistractionFlags()));
        assertThat(userState1.equals(copyOfUserState1), is(true));

        final PackageUserStateImpl userState2 =
                new PackageUserStateImpl(userState1);
                new PackageUserStateImpl(null, userState1);
        userState2.setDistractionFlags(PackageManager.RESTRICTION_HIDE_NOTIFICATIONS);
        assertThat(userState1.equals(userState2), is(false));
    }