Loading Android.bp +2 −0 Original line number Diff line number Diff line Loading @@ -133,6 +133,8 @@ java_library { "core/java/android/content/pm/IPackageStatsObserver.aidl", "core/java/android/content/pm/IPinItemRequest.aidl", "core/java/android/content/pm/IShortcutService.aidl", "core/java/android/content/pm/dex/IArtManager.aidl", "core/java/android/content/pm/dex/ISnapshotRuntimeProfileCallback.aidl", "core/java/android/content/pm/permission/IRuntimePermissionPresenter.aidl", "core/java/android/database/IContentObserver.aidl", ":libcamera_client_aidl", Loading api/system-current.txt +22 −0 Original line number Diff line number Diff line Loading @@ -126,6 +126,7 @@ package android { field public static final java.lang.String READ_PRINT_SERVICES = "android.permission.READ_PRINT_SERVICES"; field public static final java.lang.String READ_PRINT_SERVICE_RECOMMENDATIONS = "android.permission.READ_PRINT_SERVICE_RECOMMENDATIONS"; field public static final java.lang.String READ_PRIVILEGED_PHONE_STATE = "android.permission.READ_PRIVILEGED_PHONE_STATE"; field public static final java.lang.String READ_RUNTIME_PROFILES = "android.permission.READ_RUNTIME_PROFILES"; field public static final java.lang.String READ_SEARCH_INDEXABLES = "android.permission.READ_SEARCH_INDEXABLES"; field public static final java.lang.String READ_WALLPAPER_INTERNAL = "android.permission.READ_WALLPAPER_INTERNAL"; field public static final java.lang.String READ_WIFI_CREDENTIAL = "android.permission.READ_WIFI_CREDENTIAL"; Loading Loading @@ -847,6 +848,7 @@ package android.content.pm { public abstract class PackageManager { method public abstract void addOnPermissionsChangeListener(android.content.pm.PackageManager.OnPermissionsChangedListener); method public abstract java.util.List<android.content.IntentFilter> getAllIntentFilters(java.lang.String); method public android.content.pm.dex.ArtManager getArtManager(); method public abstract java.lang.String getDefaultBrowserPackageNameAsUser(int); method public abstract java.util.List<android.content.pm.PackageInfo> getInstalledPackagesAsUser(int, int); method public abstract android.graphics.drawable.Drawable getInstantAppIcon(java.lang.String); Loading Loading @@ -948,6 +950,26 @@ package android.content.pm { } package android.content.pm.dex { public class ArtManager { method public boolean isRuntimeProfilingEnabled(int); method public void snapshotRuntimeProfile(int, java.lang.String, java.lang.String, java.util.concurrent.Executor, android.content.pm.dex.ArtManager.SnapshotRuntimeProfileCallback); field public static final int PROFILE_APPS = 0; // 0x0 field public static final int PROFILE_BOOT_IMAGE = 1; // 0x1 field public static final int SNAPSHOT_FAILED_CODE_PATH_NOT_FOUND = 1; // 0x1 field public static final int SNAPSHOT_FAILED_INTERNAL_ERROR = 2; // 0x2 field public static final int SNAPSHOT_FAILED_PACKAGE_NOT_FOUND = 0; // 0x0 } public static abstract class ArtManager.SnapshotRuntimeProfileCallback { ctor public ArtManager.SnapshotRuntimeProfileCallback(); method public abstract void onError(int); method public abstract void onSuccess(android.os.ParcelFileDescriptor); } } package android.content.pm.permission { public final class RuntimePermissionPresentationInfo implements android.os.Parcelable { Loading core/java/android/app/ApplicationPackageManager.java +17 −0 Original line number Diff line number Diff line Loading @@ -56,6 +56,7 @@ import android.content.pm.ServiceInfo; import android.content.pm.SharedLibraryInfo; import android.content.pm.VerifierDeviceIdentity; import android.content.pm.VersionedPackage; import android.content.pm.dex.ArtManager; import android.content.res.Resources; import android.content.res.XmlResourceParser; import android.graphics.Bitmap; Loading Loading @@ -122,6 +123,8 @@ public class ApplicationPackageManager extends PackageManager { private UserManager mUserManager; @GuardedBy("mLock") private PackageInstaller mInstaller; @GuardedBy("mLock") private ArtManager mArtManager; @GuardedBy("mDelegates") private final ArrayList<MoveCallbackDelegate> mDelegates = new ArrayList<>(); Loading Loading @@ -2763,4 +2766,18 @@ public class ApplicationPackageManager extends PackageManager { throw e.rethrowAsRuntimeException(); } } @Override public ArtManager getArtManager() { synchronized (mLock) { if (mArtManager == null) { try { mArtManager = new ArtManager(mPM.getArtManager()); } catch (RemoteException e) { throw e.rethrowFromSystemServer(); } } return mArtManager; } } } core/java/android/app/LoadedApk.java +10 −13 Original line number Diff line number Diff line Loading @@ -28,6 +28,7 @@ import android.content.pm.ApplicationInfo; import android.content.pm.IPackageManager; import android.content.pm.PackageManager; import android.content.pm.PackageManager.NameNotFoundException; import android.content.pm.dex.ArtManager; import android.content.pm.split.SplitDependencyLoader; import android.content.res.AssetManager; import android.content.res.CompatibilityInfo; Loading @@ -35,7 +36,6 @@ import android.content.res.Configuration; import android.content.res.Resources; import android.os.Build; import android.os.Bundle; import android.os.Environment; import android.os.FileUtils; import android.os.Handler; import android.os.IBinder; Loading @@ -49,13 +49,15 @@ import android.text.TextUtils; import android.util.AndroidRuntimeException; import android.util.ArrayMap; import android.util.Log; import android.util.LogPrinter; import android.util.Slog; import android.util.SparseArray; import android.view.Display; import android.view.DisplayAdjustments; import com.android.internal.util.ArrayUtils; import dalvik.system.VMRuntime; import java.io.File; import java.io.IOException; import java.io.InputStream; Loading Loading @@ -729,13 +731,6 @@ public final class LoadedApk { } } // Keep in sync with installd (frameworks/native/cmds/installd/commands.cpp). private static File getPrimaryProfileFile(String packageName) { File profileDir = Environment.getDataProfilesDePackageDirectory( UserHandle.myUserId(), packageName); return new File(profileDir, "primary.prof"); } private void setupJitProfileSupport() { if (!SystemProperties.getBoolean("dalvik.vm.usejitprofiles", false)) { return; Loading Loading @@ -763,10 +758,12 @@ public final class LoadedApk { return; } final File profileFile = getPrimaryProfileFile(mPackageName); VMRuntime.registerAppInfo(profileFile.getPath(), codePaths.toArray(new String[codePaths.size()])); for (int i = codePaths.size() - 1; i >= 0; i--) { String splitName = i == 0 ? null : mApplicationInfo.splitNames[i - 1]; String profileFile = ArtManager.getCurrentProfilePath( mPackageName, UserHandle.myUserId(), splitName); VMRuntime.registerAppInfo(profileFile, new String[] {codePaths.get(i)}); } // Register the app data directory with the reporter. It will // help deciding whether or not a dex file is the primary apk or a Loading core/java/android/content/pm/IPackageManager.aidl +3 −0 Original line number Diff line number Diff line Loading @@ -48,6 +48,7 @@ import android.content.pm.ServiceInfo; import android.content.pm.UserInfo; import android.content.pm.VerifierDeviceIdentity; import android.content.pm.VersionedPackage; import android.content.pm.dex.IArtManager; import android.graphics.Bitmap; import android.net.Uri; import android.os.Bundle; Loading Loading @@ -664,4 +665,6 @@ interface IPackageManager { ComponentName getInstantAppInstallerComponent(); String getInstantAppAndroidId(String packageName, int userId); IArtManager getArtManager(); } Loading
Android.bp +2 −0 Original line number Diff line number Diff line Loading @@ -133,6 +133,8 @@ java_library { "core/java/android/content/pm/IPackageStatsObserver.aidl", "core/java/android/content/pm/IPinItemRequest.aidl", "core/java/android/content/pm/IShortcutService.aidl", "core/java/android/content/pm/dex/IArtManager.aidl", "core/java/android/content/pm/dex/ISnapshotRuntimeProfileCallback.aidl", "core/java/android/content/pm/permission/IRuntimePermissionPresenter.aidl", "core/java/android/database/IContentObserver.aidl", ":libcamera_client_aidl", Loading
api/system-current.txt +22 −0 Original line number Diff line number Diff line Loading @@ -126,6 +126,7 @@ package android { field public static final java.lang.String READ_PRINT_SERVICES = "android.permission.READ_PRINT_SERVICES"; field public static final java.lang.String READ_PRINT_SERVICE_RECOMMENDATIONS = "android.permission.READ_PRINT_SERVICE_RECOMMENDATIONS"; field public static final java.lang.String READ_PRIVILEGED_PHONE_STATE = "android.permission.READ_PRIVILEGED_PHONE_STATE"; field public static final java.lang.String READ_RUNTIME_PROFILES = "android.permission.READ_RUNTIME_PROFILES"; field public static final java.lang.String READ_SEARCH_INDEXABLES = "android.permission.READ_SEARCH_INDEXABLES"; field public static final java.lang.String READ_WALLPAPER_INTERNAL = "android.permission.READ_WALLPAPER_INTERNAL"; field public static final java.lang.String READ_WIFI_CREDENTIAL = "android.permission.READ_WIFI_CREDENTIAL"; Loading Loading @@ -847,6 +848,7 @@ package android.content.pm { public abstract class PackageManager { method public abstract void addOnPermissionsChangeListener(android.content.pm.PackageManager.OnPermissionsChangedListener); method public abstract java.util.List<android.content.IntentFilter> getAllIntentFilters(java.lang.String); method public android.content.pm.dex.ArtManager getArtManager(); method public abstract java.lang.String getDefaultBrowserPackageNameAsUser(int); method public abstract java.util.List<android.content.pm.PackageInfo> getInstalledPackagesAsUser(int, int); method public abstract android.graphics.drawable.Drawable getInstantAppIcon(java.lang.String); Loading Loading @@ -948,6 +950,26 @@ package android.content.pm { } package android.content.pm.dex { public class ArtManager { method public boolean isRuntimeProfilingEnabled(int); method public void snapshotRuntimeProfile(int, java.lang.String, java.lang.String, java.util.concurrent.Executor, android.content.pm.dex.ArtManager.SnapshotRuntimeProfileCallback); field public static final int PROFILE_APPS = 0; // 0x0 field public static final int PROFILE_BOOT_IMAGE = 1; // 0x1 field public static final int SNAPSHOT_FAILED_CODE_PATH_NOT_FOUND = 1; // 0x1 field public static final int SNAPSHOT_FAILED_INTERNAL_ERROR = 2; // 0x2 field public static final int SNAPSHOT_FAILED_PACKAGE_NOT_FOUND = 0; // 0x0 } public static abstract class ArtManager.SnapshotRuntimeProfileCallback { ctor public ArtManager.SnapshotRuntimeProfileCallback(); method public abstract void onError(int); method public abstract void onSuccess(android.os.ParcelFileDescriptor); } } package android.content.pm.permission { public final class RuntimePermissionPresentationInfo implements android.os.Parcelable { Loading
core/java/android/app/ApplicationPackageManager.java +17 −0 Original line number Diff line number Diff line Loading @@ -56,6 +56,7 @@ import android.content.pm.ServiceInfo; import android.content.pm.SharedLibraryInfo; import android.content.pm.VerifierDeviceIdentity; import android.content.pm.VersionedPackage; import android.content.pm.dex.ArtManager; import android.content.res.Resources; import android.content.res.XmlResourceParser; import android.graphics.Bitmap; Loading Loading @@ -122,6 +123,8 @@ public class ApplicationPackageManager extends PackageManager { private UserManager mUserManager; @GuardedBy("mLock") private PackageInstaller mInstaller; @GuardedBy("mLock") private ArtManager mArtManager; @GuardedBy("mDelegates") private final ArrayList<MoveCallbackDelegate> mDelegates = new ArrayList<>(); Loading Loading @@ -2763,4 +2766,18 @@ public class ApplicationPackageManager extends PackageManager { throw e.rethrowAsRuntimeException(); } } @Override public ArtManager getArtManager() { synchronized (mLock) { if (mArtManager == null) { try { mArtManager = new ArtManager(mPM.getArtManager()); } catch (RemoteException e) { throw e.rethrowFromSystemServer(); } } return mArtManager; } } }
core/java/android/app/LoadedApk.java +10 −13 Original line number Diff line number Diff line Loading @@ -28,6 +28,7 @@ import android.content.pm.ApplicationInfo; import android.content.pm.IPackageManager; import android.content.pm.PackageManager; import android.content.pm.PackageManager.NameNotFoundException; import android.content.pm.dex.ArtManager; import android.content.pm.split.SplitDependencyLoader; import android.content.res.AssetManager; import android.content.res.CompatibilityInfo; Loading @@ -35,7 +36,6 @@ import android.content.res.Configuration; import android.content.res.Resources; import android.os.Build; import android.os.Bundle; import android.os.Environment; import android.os.FileUtils; import android.os.Handler; import android.os.IBinder; Loading @@ -49,13 +49,15 @@ import android.text.TextUtils; import android.util.AndroidRuntimeException; import android.util.ArrayMap; import android.util.Log; import android.util.LogPrinter; import android.util.Slog; import android.util.SparseArray; import android.view.Display; import android.view.DisplayAdjustments; import com.android.internal.util.ArrayUtils; import dalvik.system.VMRuntime; import java.io.File; import java.io.IOException; import java.io.InputStream; Loading Loading @@ -729,13 +731,6 @@ public final class LoadedApk { } } // Keep in sync with installd (frameworks/native/cmds/installd/commands.cpp). private static File getPrimaryProfileFile(String packageName) { File profileDir = Environment.getDataProfilesDePackageDirectory( UserHandle.myUserId(), packageName); return new File(profileDir, "primary.prof"); } private void setupJitProfileSupport() { if (!SystemProperties.getBoolean("dalvik.vm.usejitprofiles", false)) { return; Loading Loading @@ -763,10 +758,12 @@ public final class LoadedApk { return; } final File profileFile = getPrimaryProfileFile(mPackageName); VMRuntime.registerAppInfo(profileFile.getPath(), codePaths.toArray(new String[codePaths.size()])); for (int i = codePaths.size() - 1; i >= 0; i--) { String splitName = i == 0 ? null : mApplicationInfo.splitNames[i - 1]; String profileFile = ArtManager.getCurrentProfilePath( mPackageName, UserHandle.myUserId(), splitName); VMRuntime.registerAppInfo(profileFile, new String[] {codePaths.get(i)}); } // Register the app data directory with the reporter. It will // help deciding whether or not a dex file is the primary apk or a Loading
core/java/android/content/pm/IPackageManager.aidl +3 −0 Original line number Diff line number Diff line Loading @@ -48,6 +48,7 @@ import android.content.pm.ServiceInfo; import android.content.pm.UserInfo; import android.content.pm.VerifierDeviceIdentity; import android.content.pm.VersionedPackage; import android.content.pm.dex.IArtManager; import android.graphics.Bitmap; import android.net.Uri; import android.os.Bundle; Loading Loading @@ -664,4 +665,6 @@ interface IPackageManager { ComponentName getInstantAppInstallerComponent(); String getInstantAppAndroidId(String packageName, int userId); IArtManager getArtManager(); }