Switch default install location to unspecified.
Add a new install location unspecified for backward compatibility. There is not much difference between policies auto and unspecified. But we dont have to make any code changes in PackageParser based on our preference for install location. Add tests Change-Id: I563238133261d911d08fbc66344687b7dfc870b1
This commit is contained in:
@@ -4701,23 +4701,22 @@ class PackageManagerService extends IPackageManager.Stub {
|
||||
}
|
||||
return PackageHelper.RECOMMEND_INSTALL_INTERNAL;
|
||||
} else {
|
||||
// When replacing apps make sure we honour
|
||||
// the existing app location if not overwritten by other options
|
||||
boolean prevOnSd = (pkg.applicationInfo.flags & ApplicationInfo.FLAG_EXTERNAL_STORAGE) != 0;
|
||||
if (onSd) {
|
||||
// Install flag overrides everything.
|
||||
return PackageHelper.RECOMMEND_INSTALL_EXTERNAL;
|
||||
}
|
||||
// If current upgrade does not specify install location.
|
||||
// If current upgrade specifies particular preference
|
||||
if (installLocation == PackageInfo.INSTALL_LOCATION_INTERNAL_ONLY) {
|
||||
// Application explicitly specified internal.
|
||||
return PackageHelper.RECOMMEND_INSTALL_INTERNAL;
|
||||
} else if (installLocation == PackageInfo.INSTALL_LOCATION_PREFER_EXTERNAL) {
|
||||
// App explictly prefers external. Let policy decide
|
||||
} else if (installLocation == PackageInfo.INSTALL_LOCATION_AUTO) {
|
||||
} else {
|
||||
// Prefer previous location
|
||||
return prevOnSd ? PackageHelper.RECOMMEND_INSTALL_EXTERNAL:
|
||||
PackageHelper.RECOMMEND_INSTALL_INTERNAL;
|
||||
if ((pkg.applicationInfo.flags & ApplicationInfo.FLAG_EXTERNAL_STORAGE) != 0) {
|
||||
return PackageHelper.RECOMMEND_INSTALL_EXTERNAL;
|
||||
}
|
||||
return PackageHelper.RECOMMEND_INSTALL_INTERNAL;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user