Merge "Added scheduleWritePackageListLocked" into nyc-dev

This commit is contained in:
Fyodor Kupolov
2016-05-16 20:05:09 +00:00
committed by Android (Google) Code Review
2 changed files with 23 additions and 7 deletions

View File

@@ -164,7 +164,6 @@ import android.content.pm.VerifierInfo;
import android.content.res.Resources;
import android.graphics.Bitmap;
import android.hardware.display.DisplayManager;
import android.net.INetworkPolicyManager;
import android.net.Uri;
import android.os.Binder;
import android.os.Build;
@@ -1043,6 +1042,7 @@ public class PackageManagerService extends IPackageManager.Stub {
static final int CHECK_PENDING_VERIFICATION = 16;
static final int START_INTENT_FILTER_VERIFICATIONS = 17;
static final int INTENT_FILTER_VERIFIED = 18;
static final int WRITE_PACKAGE_LIST = 19;
static final int WRITE_SETTINGS_DELAY = 10*1000; // 10 seconds
@@ -1665,6 +1665,14 @@ public class PackageManagerService extends IPackageManager.Stub {
}
Process.setThreadPriority(Process.THREAD_PRIORITY_BACKGROUND);
} break;
case WRITE_PACKAGE_LIST: {
Process.setThreadPriority(Process.THREAD_PRIORITY_DEFAULT);
synchronized (mPackages) {
removeMessages(WRITE_PACKAGE_LIST);
mSettings.writePackageListLPr(msg.arg1);
}
Process.setThreadPriority(Process.THREAD_PRIORITY_BACKGROUND);
} break;
case CHECK_PENDING_VERIFICATION: {
final int verificationId = msg.arg1;
final PackageVerificationState state = mPendingVerification.get(verificationId);
@@ -2112,6 +2120,14 @@ public class PackageManagerService extends IPackageManager.Stub {
}
}
void scheduleWritePackageListLocked(int userId) {
if (!mHandler.hasMessages(WRITE_PACKAGE_LIST)) {
Message msg = mHandler.obtainMessage(WRITE_PACKAGE_LIST);
msg.arg1 = userId;
mHandler.sendMessageDelayed(msg, WRITE_SETTINGS_DELAY);
}
}
void scheduleWritePackageRestrictionsLocked(UserHandle user) {
final int userId = user == null ? UserHandle.USER_ALL : user.getIdentifier();
scheduleWritePackageRestrictionsLocked(userId);
@@ -20039,13 +20055,15 @@ Slog.v(TAG, ":: stepped forward, applying functor at tag " + parser.getName());
}
/** Called by UserManagerService */
void createNewUser(int userHandle) {
void createNewUser(int userId) {
synchronized (mInstallLock) {
mSettings.createNewUserLI(this, mInstaller, userHandle);
mSettings.createNewUserLI(this, mInstaller, userId);
}
synchronized (mPackages) {
applyFactoryDefaultBrowserLPw(userHandle);
primeDomainVerificationsLPw(userHandle);
scheduleWritePackageRestrictionsLocked(userId);
scheduleWritePackageListLocked(userId);
applyFactoryDefaultBrowserLPw(userId);
primeDomainVerificationsLPw(userId);
}
}

View File

@@ -4014,8 +4014,6 @@ final class Settings {
}
synchronized (mPackages) {
applyDefaultPreferredAppsLPw(service, userHandle);
writePackageRestrictionsLPr(userHandle);
writePackageListLPr(userHandle);
}
}