Merge "Clear identity to handle ALLOCATE_AGGRESSIVE." into oc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
dec3638c1f
@@ -40,6 +40,7 @@ applications that come with the platform
|
|||||||
|
|
||||||
<privapp-permissions package="com.android.defcontainer">
|
<privapp-permissions package="com.android.defcontainer">
|
||||||
<permission name="android.permission.ACCESS_CACHE_FILESYSTEM"/>
|
<permission name="android.permission.ACCESS_CACHE_FILESYSTEM"/>
|
||||||
|
<permission name="android.permission.ALLOCATE_AGGRESSIVE"/>
|
||||||
<permission name="android.permission.INTERACT_ACROSS_USERS"/>
|
<permission name="android.permission.INTERACT_ACROSS_USERS"/>
|
||||||
<permission name="android.permission.WRITE_MEDIA_STORAGE"/>
|
<permission name="android.permission.WRITE_MEDIA_STORAGE"/>
|
||||||
</privapp-permissions>
|
</privapp-permissions>
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
package="com.android.defcontainer" coreApp="true">
|
package="com.android.defcontainer" coreApp="true">
|
||||||
|
<uses-permission android:name="android.permission.ALLOCATE_AGGRESSIVE"/>
|
||||||
<uses-permission android:name="android.permission.ASEC_ACCESS"/>
|
<uses-permission android:name="android.permission.ASEC_ACCESS"/>
|
||||||
<uses-permission android:name="android.permission.ASEC_CREATE"/>
|
<uses-permission android:name="android.permission.ASEC_CREATE"/>
|
||||||
<uses-permission android:name="android.permission.ASEC_DESTROY"/>
|
<uses-permission android:name="android.permission.ASEC_DESTROY"/>
|
||||||
|
|||||||
@@ -30,6 +30,7 @@ import android.content.pm.PackageParser.PackageLite;
|
|||||||
import android.content.pm.PackageParser.PackageParserException;
|
import android.content.pm.PackageParser.PackageParserException;
|
||||||
import android.content.res.ObbInfo;
|
import android.content.res.ObbInfo;
|
||||||
import android.content.res.ObbScanner;
|
import android.content.res.ObbScanner;
|
||||||
|
import android.os.Binder;
|
||||||
import android.os.Environment;
|
import android.os.Environment;
|
||||||
import android.os.Environment.UserEnvironment;
|
import android.os.Environment.UserEnvironment;
|
||||||
import android.os.FileUtils;
|
import android.os.FileUtils;
|
||||||
@@ -179,6 +180,15 @@ public class DefaultContainerService extends IntentService {
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
final int recommendedInstallLocation;
|
||||||
|
final long token = Binder.clearCallingIdentity();
|
||||||
|
try {
|
||||||
|
recommendedInstallLocation = PackageHelper.resolveInstallLocation(context,
|
||||||
|
pkg.packageName, pkg.installLocation, sizeBytes, flags);
|
||||||
|
} finally {
|
||||||
|
Binder.restoreCallingIdentity(token);
|
||||||
|
}
|
||||||
|
|
||||||
ret.packageName = pkg.packageName;
|
ret.packageName = pkg.packageName;
|
||||||
ret.splitNames = pkg.splitNames;
|
ret.splitNames = pkg.splitNames;
|
||||||
ret.versionCode = pkg.versionCode;
|
ret.versionCode = pkg.versionCode;
|
||||||
@@ -186,8 +196,7 @@ public class DefaultContainerService extends IntentService {
|
|||||||
ret.splitRevisionCodes = pkg.splitRevisionCodes;
|
ret.splitRevisionCodes = pkg.splitRevisionCodes;
|
||||||
ret.installLocation = pkg.installLocation;
|
ret.installLocation = pkg.installLocation;
|
||||||
ret.verifiers = pkg.verifiers;
|
ret.verifiers = pkg.verifiers;
|
||||||
ret.recommendedInstallLocation = PackageHelper.resolveInstallLocation(context,
|
ret.recommendedInstallLocation = recommendedInstallLocation;
|
||||||
pkg.packageName, pkg.installLocation, sizeBytes, flags);
|
|
||||||
ret.multiArch = pkg.multiArch;
|
ret.multiArch = pkg.multiArch;
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|||||||
Reference in New Issue
Block a user