Lines Matching defs:pkg

612                                     res.pkg.applicationInfo.packageName,
616 res.pkg.applicationInfo.packageName,
1056 boolean useSecureFS = useEncryptedFilesystemForPackage(ps.pkg);
1064 PackageParser.Package pkg = mPackages.get(ps.name);
1065 File dataDir = new File(pkg.applicationInfo.dataDir);
1388 if((ps == null) || (ps.pkg == null) || (ps.pkg.applicationInfo == null)) {
1391 p = ps.pkg;
1479 if(ps.pkg == null) {
1486 return PackageParser.generateApplicationInfo(ps.pkg, flags);
1494 if(ps.pkg == null) {
1495 ps.pkg = new PackageParser.Package(packageName);
1496 ps.pkg.applicationInfo.packageName = packageName;
1497 ps.pkg.applicationInfo.flags = ps.pkgFlags;
1498 ps.pkg.applicationInfo.publicSourceDir = ps.resourcePathString;
1499 ps.pkg.applicationInfo.sourceDir = ps.codePathString;
1500 ps.pkg.applicationInfo.dataDir = getDataPathForPackage(ps.pkg).getPath();
1501 ps.pkg.applicationInfo.nativeLibraryDir = ps.nativeLibraryPathString;
1502 ps.pkg.mSetEnabled = ps.enabled;
1504 return generatePackageInfo(ps.pkg, flags);
2087 PackageParser.Package pkg = mPackages.get(pkgName);
2088 if (pkg != null) {
2090 resolvedType, flags, pkg.activities);
2277 PackageParser.Package pkg = mPackages.get(pkgName);
2278 if (pkg != null) {
2280 resolvedType, flags, pkg.receivers);
2320 PackageParser.Package pkg = mPackages.get(pkgName);
2321 if (pkg != null) {
2323 resolvedType, flags, pkg.services);
2564 PackageParser.Package pkg = scanPackageLI(file,
2567 if (pkg == null && (flags & PackageParser.PARSE_IS_SYSTEM) == 0 &&
2602 PackageParser.Package pkg, File srcFile, int parseFlags) {
2611 pkg.mSignatures = ps.signatures.mSignatures;
2620 if (!pp.collectCertificates(pkg, parseFlags)) {
2639 final PackageParser.Package pkg = pp.parsePackage(scanFile,
2641 if (pkg == null) {
2649 String oldName = mSettings.mRenamedPackages.get(pkg.packageName);
2650 if (pkg.mOriginalPackages != null && pkg.mOriginalPackages.contains(oldName)) {
2657 ps = mSettings.peekPackageLP(pkg.packageName);
2663 ps != null ? ps.name : pkg.packageName);
2671 if (pkg.mVersionCode < ps.versionCode) {
2676 + " better than this " + pkg.mVersionCode);
2692 + ": new version " + pkg.mVersionCode
2706 if (!collectCertificatesLI(pp, ps, pkg, scanFile, parseFlags)) {
2707 Slog.w(TAG, "Failed verifying certificates for package:" + pkg.packageName);
2724 Slog.e(TAG, "Resource path not set for pkg : " + pkg.packageName);
2727 resPath = pkg.mScanPath;
2729 codePath = pkg.mScanPath;
2731 setApplicationInfoPaths(pkg, codePath, resPath);
2733 return scanPackageLI(pkg, parseFlags, scanMode | SCAN_UPDATE_SIGNATURE, currentTime);
2736 private static void setApplicationInfoPaths(PackageParser.Package pkg, String destCodePath,
2738 pkg.mPath = pkg.mScanPath = destCodePath;
2739 pkg.applicationInfo.sourceDir = destCodePath;
2740 pkg.applicationInfo.publicSourceDir = destResPath;
2752 PackageParser.Package pkg) {
2755 if (checkSignaturesLP(pkgSetting.signatures.mSignatures, pkg.mSignatures) !=
2757 Slog.e(TAG, "Package " + pkg.packageName
2766 pkg.mSignatures) != PackageManager.SIGNATURE_MATCH) {
2767 Slog.e(TAG, "Package " + pkg.packageName
2798 private int performDexOptLI(PackageParser.Package pkg, boolean forceDex) {
2800 if ((pkg.applicationInfo.flags&ApplicationInfo.FLAG_HAS_CODE) != 0 && mInstaller != null) {
2801 String path = pkg.mScanPath;
2805 ret = mInstaller.dexopt(path, pkg.applicationInfo.uid,
2806 !isForwardLocked(pkg));
2807 pkg.mDidDexOpt = true;
2832 private static boolean useEncryptedFilesystemForPackage(PackageParser.Package pkg) {
2834 ((pkg.applicationInfo.flags & ApplicationInfo.FLAG_NEVER_ENCRYPT) == 0);
2852 private File getDataPathForPackage(PackageParser.Package pkg) {
2853 boolean useEncryptedFSDir = useEncryptedFilesystemForPackage(pkg);
2856 dataPath = new File(mSecureAppDataDir, pkg.packageName);
2858 dataPath = new File(mAppDataDir, pkg.packageName);
2863 private PackageParser.Package scanPackageLI(PackageParser.Package pkg,
2865 File scanFile = new File(pkg.mScanPath);
2866 if (scanFile == null || pkg.applicationInfo.sourceDir == null ||
2867 pkg.applicationInfo.publicSourceDir == null) {
2874 if (pkg == null) {
2880 pkg.applicationInfo.flags |= ApplicationInfo.FLAG_SYSTEM;
2883 if (pkg.packageName.equals("android")) {
2896 mPlatformPackage = pkg;
2897 pkg.mVersionCode = mSdkVersion;
2898 mAndroidApplication = pkg.applicationInfo;
2918 TAG, "Scanning package " + pkg.packageName);
2919 if (mPackages.containsKey(pkg.packageName)
2920 || mSharedLibraries.containsKey(pkg.packageName)) {
2921 Slog.w(TAG, "Application package " + pkg.packageName
2928 File destCodeFile = new File(pkg.applicationInfo.sourceDir);
2929 File destResourceFile = new File(pkg.applicationInfo.publicSourceDir);
2934 if (!isSystemApp(pkg)) {
2936 pkg.mOriginalPackages = null;
2937 pkg.mRealPackage = null;
2938 pkg.mAdoptPermissions = null;
2943 if (pkg.usesLibraries != null || pkg.usesOptionalLibraries != null) {
2949 int N = pkg.usesLibraries != null ? pkg.usesLibraries.size() : 0;
2951 String file = mSharedLibraries.get(pkg.usesLibraries.get(i));
2953 Slog.e(TAG, "Package " + pkg.packageName
2955 + pkg.usesLibraries.get(i) + "; failing!");
2962 N = pkg.usesOptionalLibraries != null ? pkg.usesOptionalLibraries.size() : 0;
2964 String file = mSharedLibraries.get(pkg.usesOptionalLibraries.get(i));
2966 Slog.w(TAG, "Package " + pkg.packageName
2968 + pkg.usesOptionalLibraries.get(i) + "; ignoring!");
2975 pkg.usesLibraryFiles = new String[num];
2977 pkg.usesLibraryFiles, 0, num);
2981 if (pkg.mSharedUserId != null) {
2982 suid = mSettings.getSharedUserLP(pkg.mSharedUserId,
2983 pkg.applicationInfo.flags, true);
2985 Slog.w(TAG, "Creating application package " + pkg.packageName
2991 Log.d(TAG, "Shared UserID " + pkg.mSharedUserId + " (uid="
2997 if (pkg.mOriginalPackages != null) {
3000 Log.i(TAG, "Package " + pkg.packageName + " from original packages"
3001 + pkg.mOriginalPackages);
3008 if (pkg.mOriginalPackages != null) {
3011 String renamed = mSettings.mRenamedPackages.get(pkg.mRealPackage);
3012 if (pkg.mOriginalPackages.contains(renamed)) {
3017 realName = pkg.mRealPackage;
3018 if (!pkg.packageName.equals(renamed)) {
3022 pkg.setPackageName(renamed);
3026 for (int i=pkg.mOriginalPackages.size()-1; i>=0; i--) {
3028 pkg.mOriginalPackages.get(i))) != null) {
3031 if (!verifyPackageUpdate(origPackage, pkg)) {
3037 if (!origPackage.sharedUser.name.equals(pkg.mSharedUserId)) {
3039 + " to " + pkg.packageName + ": old uid "
3041 + " differs from " + pkg.mSharedUserId);
3047 + pkg.packageName + " to old name " + origPackage.name);
3055 if (mTransferedPackages.contains(pkg.packageName)) {
3056 Slog.w(TAG, "Package " + pkg.packageName
3062 pkgSetting = mSettings.getPackageLP(pkg, origPackage, realName, suid, destCodeFile,
3063 destResourceFile, pkg.applicationInfo.nativeLibraryDir,
3064 pkg.applicationInfo.flags, true, false);
3066 Slog.w(TAG, "Creating application package " + pkg.packageName + " failed");
3076 pkg.setPackageName(origPackage.name);
3092 mTransferedPackages.add(pkg.packageName);
3095 if (mSettings.mDisabledSysPackages.get(pkg.packageName) != null) {
3096 pkg.applicationInfo.flags |= ApplicationInfo.FLAG_UPDATED_SYSTEM_APP;
3099 pkg.applicationInfo.uid = pkgSetting.userId;
3100 pkg.mExtras = pkgSetting;
3102 if (!verifySignaturesLP(pkgSetting, pkg)) {
3108 pkgSetting.signatures.mSignatures = pkg.mSignatures;
3116 pkg.mSignatures) != PackageManager.SIGNATURE_MATCH) {
3123 String msg = "System package " + pkg.packageName
3133 int N = pkg.providers.size();
3136 PackageParser.Provider p = pkg.providers.get(i);
3143 " (in package " + pkg.applicationInfo.packageName +
3156 final String pkgName = pkg.packageName;
3158 if (pkg.mAdoptPermissions != null) {
3161 for (int i=pkg.mAdoptPermissions.size()-1; i>=0; i--) {
3162 String origName = pkg.mAdoptPermissions.get(i);
3165 if (verifyPackageUpdate(orig, pkg)) {
3167 + origName + " to " + pkg.packageName);
3168 mSettings.transferPermissions(origName, pkg.packageName);
3177 pkg.applicationInfo.processName = fixProcessName(
3178 pkg.applicationInfo.packageName,
3179 pkg.applicationInfo.processName,
3180 pkg.applicationInfo.uid);
3183 if (mPlatformPackage == pkg) {
3186 pkg.applicationInfo.dataDir = dataPath.getPath();
3189 boolean useEncryptedFSDir = useEncryptedFilesystemForPackage(pkg);
3190 dataPath = getDataPathForPackage(pkg);
3200 if (mOutPermissions[1] != pkg.applicationInfo.uid && Process.supportsProcesses()) {
3209 String msg = "System package " + pkg.packageName
3212 + pkg.applicationInfo.uid + "; old data erased";
3217 ret = mInstaller.install(pkgName, useEncryptedFSDir, pkg.applicationInfo.uid,
3218 pkg.applicationInfo.uid);
3221 msg = "System package " + pkg.packageName
3234 pkg.applicationInfo.dataDir = "/mismatched_uid/settings_"
3235 + pkg.applicationInfo.uid + "/fs_"
3237 pkg.applicationInfo.nativeLibraryDir = pkg.applicationInfo.dataDir;
3238 String msg = "Package " + pkg.packageName
3241 + pkg.applicationInfo.uid + " in settings";
3252 pkg.applicationInfo.dataDir = dataPath.getPath();
3258 int ret = mInstaller.install(pkgName, useEncryptedFSDir, pkg.applicationInfo.uid,
3259 pkg.applicationInfo.uid);
3271 pkg.applicationInfo.uid, pkg.applicationInfo.uid);
3275 pkg.applicationInfo.dataDir = dataPath.getPath();
3278 pkg.applicationInfo.dataDir = null;
3291 if (pkg.applicationInfo.nativeLibraryDir == null && pkg.applicationInfo.dataDir != null) {
3294 pkg.applicationInfo.nativeLibraryDir = nativeLibraryPath;
3297 pkg.applicationInfo.nativeLibraryDir = pkgSetting.nativeLibraryPathString;
3317 if (pkg.applicationInfo.nativeLibraryDir != null) {
3318 final File nativeLibraryDir = new File(pkg.applicationInfo.nativeLibraryDir);
3321 if (isSystemApp(pkg) && !isUpdatedSystemApp(pkg)) {
3347 pkg.applicationInfo.nativeLibraryDir);
3350 pkg.mScanPath = path;
3353 if (performDexOptLI(pkg, forceDex) == DEX_OPT_FAILED) {
3360 if (mFactoryTest && pkg.requestedPermissions.contains(
3362 pkg.applicationInfo.flags |= ApplicationInfo.FLAG_FACTORY_TEST;
3369 killApplication(pkg.applicationInfo.packageName,
3370 pkg.applicationInfo.uid);
3376 mAppDirs.put(pkg.mPath, pkg);
3379 mSettings.insertPackageSettingLP(pkgSetting, pkg);
3381 mPackages.put(pkg.applicationInfo.packageName, pkg);
3403 int N = pkg.providers.size();
3407 PackageParser.Provider p = pkg.providers.get(i);
3408 p.info.processName = fixProcessName(pkg.applicationInfo.processName,
3409 p.info.processName, pkg.applicationInfo.uid);
3442 " (in package " + pkg.applicationInfo.packageName +
3462 N = pkg.services.size();
3465 PackageParser.Service s = pkg.services.get(i);
3466 s.info.processName = fixProcessName(pkg.applicationInfo.processName,
3467 s.info.processName, pkg.applicationInfo.uid);
3482 N = pkg.receivers.size();
3485 PackageParser.Activity a = pkg.receivers.get(i);
3486 a.info.processName = fixProcessName(pkg.applicationInfo.processName,
3487 a.info.processName, pkg.applicationInfo.uid);
3502 N = pkg.activities.size();
3505 PackageParser.Activity a = pkg.activities.get(i);
3506 a.info.processName = fixProcessName(pkg.applicationInfo.processName,
3507 a.info.processName, pkg.applicationInfo.uid);
3522 N = pkg.permissionGroups.size();
3525 PackageParser.PermissionGroup pg = pkg.permissionGroups.get(i);
3556 N = pkg.permissions.size();
3559 PackageParser.Permission p = pkg.permissions.get(i);
3579 bp.uid = pkg.applicationInfo.uid;
3621 N = pkg.instrumentation.size();
3624 PackageParser.Instrumentation a = pkg.instrumentation.get(i);
3625 a.info.packageName = pkg.applicationInfo.packageName;
3626 a.info.sourceDir = pkg.applicationInfo.sourceDir;
3627 a.info.publicSourceDir = pkg.applicationInfo.publicSourceDir;
3628 a.info.dataDir = pkg.applicationInfo.dataDir;
3629 a.info.nativeLibraryDir = pkg.applicationInfo.nativeLibraryDir;
3644 if (pkg.protectedBroadcasts != null) {
3645 N = pkg.protectedBroadcasts.size();
3647 mProtectedBroadcasts.add(pkg.protectedBroadcasts.get(i));
3654 return pkg;
3673 private File getNativeBinaryDirForPackage(PackageParser.Package pkg) {
3674 final String nativeLibraryDir = pkg.applicationInfo.nativeLibraryDir;
3679 return new File(pkg.applicationInfo.dataDir, LIB_DIR_NAME);
3683 void removePackageLI(PackageParser.Package pkg, boolean chatty) {
3685 TAG, "Removing package " + pkg.applicationInfo.packageName );
3688 clearPackagePreferredActivitiesLP(pkg.packageName);
3690 mPackages.remove(pkg.applicationInfo.packageName);
3691 if (pkg.mPath != null) {
3692 mAppDirs.remove(pkg.mPath);
3695 int N = pkg.providers.size();
3699 PackageParser.Provider p = pkg.providers.get(i);
3733 N = pkg.services.size();
3736 PackageParser.Service s = pkg.services.get(i);
3751 N = pkg.receivers.size();
3754 PackageParser.Activity a = pkg.receivers.get(i);
3769 N = pkg.activities.size();
3772 PackageParser.Activity a = pkg.activities.get(i);
3787 N = pkg.permissions.size();
3790 PackageParser.Permission p = pkg.permissions.get(i);
3813 N = pkg.instrumentation.size();
3816 PackageParser.Instrumentation a = pkg.instrumentation.get(i);
3880 + bp.name + " pkg=" + bp.sourcePackage
3916 for (PackageParser.Package pkg : mPackages.values()) {
3917 if (pkg != pkgInfo) {
3918 grantPermissionsLP(pkg, replaceAll);
3928 private void grantPermissionsLP(PackageParser.Package pkg, boolean replace) {
3929 final PackageSetting ps = (PackageSetting)pkg.mExtras;
3948 final int N = pkg.requestedPermissions.size();
3950 String name = pkg.requestedPermissions.get(i);
3954 Log.i(TAG, "Package " + pkg.packageName + " checking " + name
3971 bp.packageSetting.signatures.mSignatures, pkg.mSignatures)
3973 || (checkSignaturesLP(mPlatformPackage.mSignatures, pkg.mSignatures)
3977 if (isSystemApp(pkg)) {
3980 if (isUpdatedSystemApp(pkg)) {
3982 pkg.packageName);
4003 Log.i(TAG, "Package " + pkg.packageName + " granting " + perm);
4021 && pkg.applicationInfo.targetSdkVersion < npi.sdkVersion) {
4023 Log.i(TAG, "Auto-granting " + perm + " to old pkg "
4024 + pkg.packageName);
4040 + " to package " + pkg.packageName
4048 + " from package " + pkg.packageName
4050 + " flags=0x" + Integer.toHexString(pkg.applicationInfo.flags)
4054 + " to package " + pkg.packageName
4056 + " flags=0x" + Integer.toHexString(pkg.applicationInfo.flags)
4062 + " in package " + pkg.packageName);
4427 private static final void sendPackageBroadcast(String action, String pkg,
4433 pkg != null ? Uri.fromParts("package", pkg, null) : null);
4611 res.pkg = null;
4626 && res.pkg != null
4627 && res.pkg.applicationInfo.backupAgentName != null);
4651 bm.restoreAtInstall(res.pkg.applicationInfo.packageName, token);
4730 PackageParser.Package pkg = mPackages.get(packageName);
4731 if (pkg != null) {
4734 if ((pkg.applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM) != 0) {
4753 if (isExternal(pkg)) {
5207 static final String RES_FILE_NAME = "pkg.apk";
5497 PackageParser.Package pkg;
5505 private void installNewPackageLI(PackageParser.Package pkg,
5510 String pkgName = pkg.packageName;
5512 boolean dataDirExists = getDataPathForPackage(pkg).exists();
5526 if (mPackages.containsKey(pkgName) || mAppDirs.containsKey(pkg.mPath)) {
5535 PackageParser.Package newPackage = scanPackageLI(pkg, parseFlags, scanMode,
5538 Slog.w(TAG, "Package couldn't be installed in " + pkg.mPath);
5561 private void replacePackageLI(PackageParser.Package pkg,
5567 String pkgName = pkg.packageName;
5571 if (checkSignaturesLP(oldPackage.mSignatures, pkg.mSignatures)
5579 replaceSystemPackageLI(oldPackage, pkg, parseFlags, scanMode, installerPackageName, res);
5581 replaceNonSystemPackageLI(oldPackage, pkg, parseFlags, scanMode, installerPackageName, res);
5586 PackageParser.Package pkg,
5600 if (pkg.mExtras != null) {
5601 origUpdateTime = ((PackageSetting)pkg.mExtras).lastUpdateTime;
5615 newPackage = scanPackageLI(pkg, parseFlags, scanMode | SCAN_UPDATE_TIME,
5618 Slog.w(TAG, "Package couldn't be installed in " + pkg.mPath);
5646 Slog.e(TAG, "Failed allocating storage when restoring pkg : " + pkgName);
5673 PackageParser.Package pkg,
5709 res.removedInfo.args = createInstallArgs(isExternal(pkg)
5721 pkg.applicationInfo.flags |= ApplicationInfo.FLAG_UPDATED_SYSTEM_APP;
5722 newPackage = scanPackageLI(pkg, parseFlags, scanMode, 0);
5724 Slog.w(TAG, "Package couldn't be installed in " + pkg.mPath);
5740 // Remove new pkg information
5810 res.pkg = newPackage;
5839 final PackageParser.Package pkg = pp.parsePackage(tmpPackageFile,
5841 if (pkg == null) {
5845 String pkgName = res.name = pkg.packageName;
5846 if ((pkg.applicationInfo.flags&ApplicationInfo.FLAG_TEST_ONLY) != 0) {
5852 if (GET_CERTIFICATES && !pp.collectCertificates(pkg, parseFlags)) {
5864 if (pkg.mOriginalPackages != null
5865 && pkg.mOriginalPackages.contains(oldName)
5871 pkg.setPackageName(oldName);
5872 pkgName = pkg.packageName;
5883 if (ps.pkg != null && ps.pkg.applicationInfo != null) {
5884 systemApp = (ps.pkg.applicationInfo.flags &
5902 setApplicationInfoPaths(pkg, args.getCodePath(), args.getResourcePath());
5903 pkg.applicationInfo.nativeLibraryDir = args.getNativeLibraryPath();
5905 replacePackageLI(pkg, parseFlags, scanMode,
5908 installNewPackageLI(pkg, parseFlags, scanMode,
5953 private static boolean isForwardLocked(PackageParser.Package pkg) {
5954 return (pkg.applicationInfo.flags & ApplicationInfo.FLAG_FORWARD_LOCK) != 0;
5957 private static boolean isExternal(PackageParser.Package pkg) {
5958 return (pkg.applicationInfo.flags & ApplicationInfo.FLAG_EXTERNAL_STORAGE) != 0;
5961 private static boolean isSystemApp(PackageParser.Package pkg) {
5962 return (pkg.applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM) != 0;
5969 private static boolean isUpdatedSystemApp(PackageParser.Package pkg) {
5970 return (pkg.applicationInfo.flags & ApplicationInfo.FLAG_UPDATED_SYSTEM_APP) != 0;
6204 PackageParser.Package pkg = mPackages.get(packageName);
6205 File dataDir = new File(pkg.applicationInfo.dataDir);
6256 // the system pkg from system partition
6264 Log.i(TAG, "Deleting system pkg from data partition");
6352 p = ps.pkg;
6429 if((ps == null) || (ps.pkg == null)) {
6433 p = ps.pkg;
6551 if((ps == null) || (ps.pkg == null)) {
6555 p = ps.pkg;
6603 if (ps.pkg != null) {
6604 int v = ps.pkg.applicationInfo.targetSdkVersion;
6611 if (ps.pkg != null) {
6612 return ps.pkg.applicationInfo.targetSdkVersion;
6692 PackageParser.Package pkg = mPackages.get(packageName);
6693 if (pkg == null || pkg.applicationInfo.uid != uid) {
6803 pkgSetting.pkg.mSetEnabled = newState;
6880 PackageSetting pkg = mSettings.mPackages.get(packageName);
6881 if (pkg == null) {
6884 return pkg.installerPackageName;
6890 PackageSetting pkg = mSettings.mPackages.get(appPackageName);
6891 if (pkg == null) {
6894 return pkg.enabled;
6901 PackageSetting pkg = mSettings.mPackages.get(packageNameStr);
6902 if (pkg == null) {
6906 return pkg.currentEnabledStateLP(classNameStr);
7167 pw.print(" pkg="); pw.println(ps.pkg);
7172 if (ps.pkg != null) {
7173 pw.print(" versionName="); pw.println(ps.pkg.mVersionName);
7174 pw.print(" dataDir="); pw.println(ps.pkg.applicationInfo.dataDir);
7175 pw.print(" targetSdk="); pw.println(ps.pkg.applicationInfo.targetSdkVersion);
7176 if (ps.pkg.mOperationPending) {
7181 if ((ps.pkg.applicationInfo.flags &
7187 if ((ps.pkg.applicationInfo.flags &
7193 if ((ps.pkg.applicationInfo.flags &
7199 if ((ps.pkg.applicationInfo.flags &
7205 if ((ps.pkg.applicationInfo.flags &
7211 if ((ps.pkg.applicationInfo.flags &
7900 PackageParser.Package pkg;
7917 pkg = orig.pkg;
8059 PackageSetting getPackageLP(PackageParser.Package pkg, PackageSetting origPackage,
8062 final String name = pkg.packageName;
8064 resourcePath, nativeLibraryPathString, pkg.mVersionCode, pkgFlags, create, add);
8142 if((p.pkg != null) && (p.pkg.applicationInfo != null)) {
8143 p.pkg.applicationInfo.flags |= ApplicationInfo.FLAG_UPDATED_SYSTEM_APP;
8165 if((p.pkg != null) && (p.pkg.applicationInfo != null)) {
8166 p.pkg.applicationInfo.flags &= ~ApplicationInfo.FLAG_UPDATED_SYSTEM_APP;
8224 + " from pkg " + bp.sourcePackage
8355 private void insertPackageSettingLP(PackageSetting p, PackageParser.Package pkg) {
8356 p.pkg = pkg;
8357 pkg.mSetEnabled = p.enabled;
8358 final String codePath = pkg.applicationInfo.sourceDir;
8359 final String resourcePath = pkg.applicationInfo.publicSourceDir;
8362 Slog.w(TAG, "Code path for pkg : " + p.pkg.packageName +
8369 Slog.w(TAG, "Resource path for pkg : " + p.pkg.packageName +
8375 final String nativeLibraryPath = pkg.applicationInfo.nativeLibraryDir;
8381 if (pkg.mVersionCode != p.versionCode) {
8382 p.versionCode = pkg.mVersionCode;
8386 p.signatures.assignSignatures(pkg.mSignatures);
8391 p.sharedUser.signatures.assignSignatures(pkg.mSignatures);
8393 addPackageSettingLP(p, pkg.packageName, p.sharedUser);
8431 if ( (deletedPs == null) || (deletedPs.pkg == null)) {
8441 for (String eachPerm: deletedPs.pkg.requestedPermissions) {
8446 for (PackageSetting pkg:sus.packages) {
8447 if (pkg.pkg != null &&
8448 !pkg.pkg.packageName.equals(deletedPs.pkg.packageName) &&
8449 pkg.pkg.requestedPermissions.contains(eachPerm)) {
8626 for (PackageSetting pkg : mPackages.values()) {
8627 writePackage(serializer, pkg);
8630 for (PackageSetting pkg : mDisabledSysPackages.values()) {
8631 writeDisabledSysPackage(serializer, pkg);
8701 for (PackageSetting pkg : mPackages.values()) {
8702 ApplicationInfo ai = pkg.pkg.applicationInfo;
8764 void writeDisabledSysPackage(XmlSerializer serializer, final PackageSetting pkg)
8767 serializer.attribute(null, "name", pkg.name);
8768 if (pkg.realName != null) {
8769 serializer.attribute(null, "realName", pkg.realName);
8771 serializer.attribute(null, "codePath", pkg.codePathString);
8772 serializer.attribute(null, "ft", Long.toHexString(pkg.timeStamp));
8773 serializer.attribute(null, "it", Long.toHexString(pkg.firstInstallTime));
8774 serializer.attribute(null, "ut", Long.toHexString(pkg.lastUpdateTime));
8775 serializer.attribute(null, "version", String.valueOf(pkg.versionCode));
8776 if (!pkg.resourcePathString.equals(pkg.codePathString)) {
8777 serializer.attribute(null, "resourcePath", pkg.resourcePathString);
8779 if (pkg.nativeLibraryPathString != null) {
8780 serializer.attribute(null, "nativeLibraryPath", pkg.nativeLibraryPathString);
8782 if (pkg.sharedUser == null) {
8784 Integer.toString(pkg.userId));
8787 Integer.toString(pkg.userId));
8790 if (pkg.sharedUser == null) {
8795 for (final String name : pkg.grantedPermissions) {
8810 void writePackage(XmlSerializer serializer, final PackageSetting pkg)
8813 serializer.attribute(null, "name", pkg.name);
8814 if (pkg.realName != null) {
8815 serializer.attribute(null, "realName", pkg.realName);
8817 serializer.attribute(null, "codePath", pkg.codePathString);
8818 if (!pkg.resourcePathString.equals(pkg.codePathString)) {
8819 serializer.attribute(null, "resourcePath", pkg.resourcePathString);
8821 if (pkg.nativeLibraryPathString != null) {
8822 serializer.attribute(null, "nativeLibraryPath", pkg.nativeLibraryPathString);
8825 Integer.toString(pkg.pkgFlags));
8826 serializer.attribute(null, "ft", Long.toHexString(pkg.timeStamp));
8827 serializer.attribute(null, "it", Long.toHexString(pkg.firstInstallTime));
8828 serializer.attribute(null, "ut", Long.toHexString(pkg.lastUpdateTime));
8829 serializer.attribute(null, "version", String.valueOf(pkg.versionCode));
8830 if (pkg.sharedUser == null) {
8832 Integer.toString(pkg.userId));
8835 Integer.toString(pkg.userId));
8837 if (pkg.uidError) {
8840 if (pkg.enabled != COMPONENT_ENABLED_STATE_DEFAULT) {
8842 pkg.enabled == COMPONENT_ENABLED_STATE_ENABLED
8845 if(pkg.installStatus == PKG_INSTALL_INCOMPLETE) {
8848 if (pkg.installerPackageName != null) {
8849 serializer.attribute(null, "installer", pkg.installerPackageName);
8851 pkg.signatures.writeXml(serializer, "sigs", mPastSignatures);
8852 if ((pkg.pkgFlags&ApplicationInfo.FLAG_SYSTEM) == 0) {
8854 if (pkg.sharedUser == null) {
8859 for (final String name : pkg.grantedPermissions) {
8867 if (pkg.disabledComponents.size() > 0) {
8869 for (final String name : pkg.disabledComponents) {
8876 if (pkg.enabledComponents.size() > 0) {
8878 for (final String name : pkg.enabledComponents) {
9362 + ": userId=" + userId + " pkg=" + packageSetting);
9385 + ": sharedUserId=" + userId + " pkg="
9709 || (packageSettings.pkg != null && !packageSettings.pkg.applicationInfo.enabled
9840 if (DEBUG_SD_INSTALL) Log.i(TAG, "Looking for pkg : " + pkgName);
9847 " corresponds to pkg : " + pkgName +
9939 final PackageParser.Package pkg = scanPackageLI(new File(codePath),
9942 if (pkg != null) {
9945 pkgList.add(pkg.packageName);
9950 Slog.i(TAG, "Failed to install pkg from " +
10033 if (DEBUG_SD_INSTALL) Log.i(TAG, "Trying to unload pkg : " + pkgName);
10042 Slog.e(TAG, "Failed to delete pkg from sdcard : " + pkgName);
10082 PackageParser.Package pkg = mPackages.get(packageName);
10083 if (pkg == null) {
10087 if (pkg.applicationInfo != null && isSystemApp(pkg)) {
10090 } else if (pkg.applicationInfo != null && isForwardLocked(pkg)) {
10093 } else if (pkg.mOperationPending) {
10105 currFlags = isExternal(pkg) ? PackageManager.INSTALL_EXTERNAL
10113 pkg.mOperationPending = true;
10121 InstallArgs srcArgs = createInstallArgs(currFlags, pkg.applicationInfo.sourceDir,
10122 pkg.applicationInfo.publicSourceDir, pkg.applicationInfo.nativeLibraryDir);
10124 pkg.applicationInfo.dataDir);
10141 PackageParser.Package pkg = mPackages.get(mp.packageName);
10142 if (pkg == null) {
10146 } else if (!mp.srcArgs.getCodePath().equals(pkg.applicationInfo.sourceDir)) {
10148 mp.srcArgs.getCodePath() + " to " + pkg.applicationInfo.sourceDir +
10152 uidArr = new int[] { pkg.applicationInfo.uid };
10163 PackageParser.Package pkg = mPackages.get(mp.packageName);
10165 if (pkg == null) {
10169 } else if (!mp.srcArgs.getCodePath().equals(pkg.applicationInfo.sourceDir)) {
10171 mp.srcArgs.getCodePath() + " to " + pkg.applicationInfo.sourceDir +
10175 final String oldCodePath = pkg.mPath;
10182 .unlinkNativeLibraryDirectory(pkg.applicationInfo.dataDir) < 0) {
10190 pkg.applicationInfo.dataDir, newNativePath) < 0) {
10196 pkg.mPath = newCodePath;
10198 if (moveDexFilesLI(pkg) != PackageManager.INSTALL_SUCCEEDED) {
10201 pkg.mPath = pkg.mScanPath;
10207 pkg.mScanPath = newCodePath;
10208 pkg.applicationInfo.sourceDir = newCodePath;
10209 pkg.applicationInfo.publicSourceDir = newResPath;
10210 pkg.applicationInfo.nativeLibraryDir = newNativePath;
10211 PackageSetting ps = (PackageSetting) pkg.mExtras;
10212 ps.codePath = new File(pkg.applicationInfo.sourceDir);
10214 ps.resourcePath = new File(pkg.applicationInfo.publicSourceDir);
10219 pkg.applicationInfo.flags |= ApplicationInfo.FLAG_EXTERNAL_STORAGE;
10221 pkg.applicationInfo.flags &= ~ApplicationInfo.FLAG_EXTERNAL_STORAGE;
10223 ps.setFlags(pkg.applicationInfo.flags);
10225 mAppDirs.put(newCodePath, pkg);
10254 PackageParser.Package pkg = mPackages.get(mp.packageName);
10255 if (pkg != null) {
10256 pkg.mOperationPending = false;