Merge "Migrate the usage of sUseRoundIcon to PackageParserUtils" into sc-dev
This commit is contained in:
@@ -34,6 +34,8 @@ import android.annotation.IntRange;
|
||||
import android.annotation.NonNull;
|
||||
import android.annotation.Nullable;
|
||||
import android.annotation.StyleableRes;
|
||||
import android.app.ActivityThread;
|
||||
import android.app.ResourcesManager;
|
||||
import android.content.Intent;
|
||||
import android.content.IntentFilter;
|
||||
import android.content.pm.ApplicationInfo;
|
||||
@@ -85,7 +87,9 @@ import android.net.Uri;
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
import android.os.FileUtils;
|
||||
import android.os.RemoteException;
|
||||
import android.os.Trace;
|
||||
import android.os.UserHandle;
|
||||
import android.os.ext.SdkExtensions;
|
||||
import android.permission.PermissionManager;
|
||||
import android.text.TextUtils;
|
||||
@@ -3043,6 +3047,42 @@ public class ParsingPackageUtils {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @hide
|
||||
*/
|
||||
public static void readConfigUseRoundIcon(Resources r) {
|
||||
if (r != null) {
|
||||
sUseRoundIcon = r.getBoolean(com.android.internal.R.bool.config_useRoundIcon);
|
||||
return;
|
||||
}
|
||||
|
||||
final ApplicationInfo androidAppInfo;
|
||||
try {
|
||||
androidAppInfo = ActivityThread.getPackageManager().getApplicationInfo(
|
||||
"android", 0 /* flags */,
|
||||
UserHandle.myUserId());
|
||||
} catch (RemoteException e) {
|
||||
throw e.rethrowFromSystemServer();
|
||||
}
|
||||
final Resources systemResources = Resources.getSystem();
|
||||
|
||||
// Create in-flight as this overlayable resource is only used when config changes
|
||||
final Resources overlayableRes = ResourcesManager.getInstance().getResources(
|
||||
null /* activityToken */,
|
||||
null /* resDir */,
|
||||
null /* splitResDirs */,
|
||||
androidAppInfo.resourceDirs,
|
||||
androidAppInfo.overlayPaths,
|
||||
androidAppInfo.sharedLibraryFiles,
|
||||
null /* overrideDisplayId */,
|
||||
null /* overrideConfig */,
|
||||
systemResources.getCompatibilityInfo(),
|
||||
systemResources.getClassLoader(),
|
||||
null /* loaders */);
|
||||
|
||||
sUseRoundIcon = overlayableRes.getBoolean(com.android.internal.R.bool.config_useRoundIcon);
|
||||
}
|
||||
|
||||
/*
|
||||
The following set of methods makes code easier to read by re-ordering the TypedArray methods.
|
||||
|
||||
|
||||
@@ -213,7 +213,6 @@ import android.content.pm.PackageInfo;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.content.pm.PackageManager.NameNotFoundException;
|
||||
import android.content.pm.PackageManagerInternal;
|
||||
import android.content.pm.PackageParser;
|
||||
import android.content.pm.ParceledListSlice;
|
||||
import android.content.pm.PermissionInfo;
|
||||
import android.content.pm.ProcessInfo;
|
||||
@@ -224,6 +223,7 @@ import android.content.pm.SELinuxUtil;
|
||||
import android.content.pm.ServiceInfo;
|
||||
import android.content.pm.TestUtilityService;
|
||||
import android.content.pm.UserInfo;
|
||||
import android.content.pm.parsing.ParsingPackageUtils;
|
||||
import android.content.res.CompatibilityInfo;
|
||||
import android.content.res.Configuration;
|
||||
import android.content.res.Resources;
|
||||
@@ -16289,7 +16289,7 @@ public class ActivityManagerService extends IActivityManager.Stub
|
||||
private void updateApplicationInfoLOSP(@NonNull List<String> packagesToUpdate, int userId) {
|
||||
final boolean updateFrameworkRes = packagesToUpdate.contains("android");
|
||||
if (updateFrameworkRes) {
|
||||
PackageParser.readConfigUseRoundIcon(null);
|
||||
ParsingPackageUtils.readConfigUseRoundIcon(null);
|
||||
}
|
||||
mProcessList.updateApplicationInfoLOSP(packagesToUpdate, userId, updateFrameworkRes);
|
||||
|
||||
|
||||
@@ -7121,7 +7121,7 @@ public class PackageManagerService extends IPackageManager.Stub
|
||||
// once we have a booted system.
|
||||
mInstaller.setWarnIfHeld(mLock);
|
||||
|
||||
PackageParser.readConfigUseRoundIcon(mContext.getResources());
|
||||
ParsingPackageUtils.readConfigUseRoundIcon(mContext.getResources());
|
||||
|
||||
mServiceStartWithDelay = SystemClock.uptimeMillis() + (60 * 1000L);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user