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

Commit 07e1c8da authored by Sam Mortimer's avatar Sam Mortimer
Browse files

fw/b UserManagerService: Use ro.build.date to signal upgrades

*) We changed PackageManagerService to use Build.DATE instead of
   Build.FINGERPRINT to detect upgrade.  Do the same for
   UserManagerService.

*) Affects generation of preboot intent and app data migration.

Change-Id: I56887b7ca842afdcf3cf84b27b4c04667cf43307
parent 854332a5
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -479,7 +479,7 @@ class UserController implements Handler.Callback {
        // purposefully block sending BOOT_COMPLETED until after all
        // PRE_BOOT receivers are finished to avoid ANR'ing apps
        final UserInfo info = getUserInfo(userId);
        if (!Objects.equals(info.lastLoggedInFingerprint, Build.FINGERPRINT)) {
        if (!Objects.equals(info.lastLoggedInFingerprint, Build.DATE)) {
            // Suppress double notifications for managed profiles that
            // were unlocked automatically as part of their parent user
            // being unlocked.
+4 −4
Original line number Diff line number Diff line
@@ -2682,7 +2682,7 @@ public class UserManagerService extends IUserManager.Stub {
                    long now = System.currentTimeMillis();
                    userInfo.creationTime = (now > EPOCH_PLUS_30_YEARS) ? now : 0;
                    userInfo.partial = true;
                    userInfo.lastLoggedInFingerprint = Build.FINGERPRINT;
                    userInfo.lastLoggedInFingerprint = Build.DATE;
                    if (isManagedProfile && parentId != UserHandle.USER_NULL) {
                        userInfo.profileBadge = getFreeProfileBadgeLU(parentId);
                    }
@@ -3358,7 +3358,7 @@ public class UserManagerService extends IUserManager.Stub {
        }
        final int userSerial = userInfo.serialNumber;
        // Migrate only if build fingerprints mismatch
        boolean migrateAppsData = !Build.FINGERPRINT.equals(userInfo.lastLoggedInFingerprint);
        boolean migrateAppsData = !Build.DATE.equals(userInfo.lastLoggedInFingerprint);
        mUserDataPreparer.prepareUserData(userId, userSerial, StorageManager.FLAG_STORAGE_DE);
        mPm.reconcileAppsData(userId, StorageManager.FLAG_STORAGE_DE, migrateAppsData);

@@ -3380,7 +3380,7 @@ public class UserManagerService extends IUserManager.Stub {
        }
        final int userSerial = userInfo.serialNumber;
        // Migrate only if build fingerprints mismatch
        boolean migrateAppsData = !Build.FINGERPRINT.equals(userInfo.lastLoggedInFingerprint);
        boolean migrateAppsData = !Build.DATE.equals(userInfo.lastLoggedInFingerprint);
        mUserDataPreparer.prepareUserData(userId, userSerial, StorageManager.FLAG_STORAGE_CE);
        mPm.reconcileAppsData(userId, StorageManager.FLAG_STORAGE_CE, migrateAppsData);
    }
@@ -3410,7 +3410,7 @@ public class UserManagerService extends IUserManager.Stub {
        if (now > EPOCH_PLUS_30_YEARS) {
            userData.info.lastLoggedInTime = now;
        }
        userData.info.lastLoggedInFingerprint = Build.FINGERPRINT;
        userData.info.lastLoggedInFingerprint = Build.DATE;
        scheduleWriteUser(userData);
    }