Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5a0b4c4c authored by Calin Juravle's avatar Calin Juravle Committed by android-build-merger
Browse files

Merge changes from topic "cp_calin_framework_2017" am: b98102b4

am: b3da44d9

Change-Id: Ibd848f6803d63da46ae1461b469422c5a6431980
parents 0a6ca969 b3da44d9
Loading
Loading
Loading
Loading
+2 −0
Original line number Original line Diff line number Diff line
@@ -133,6 +133,8 @@ java_library {
        "core/java/android/content/pm/IPackageStatsObserver.aidl",
        "core/java/android/content/pm/IPackageStatsObserver.aidl",
        "core/java/android/content/pm/IPinItemRequest.aidl",
        "core/java/android/content/pm/IPinItemRequest.aidl",
        "core/java/android/content/pm/IShortcutService.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/content/pm/permission/IRuntimePermissionPresenter.aidl",
        "core/java/android/database/IContentObserver.aidl",
        "core/java/android/database/IContentObserver.aidl",
        ":libcamera_client_aidl",
        ":libcamera_client_aidl",
+22 −0
Original line number Original line Diff line number Diff line
@@ -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_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_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_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_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_WALLPAPER_INTERNAL = "android.permission.READ_WALLPAPER_INTERNAL";
    field public static final java.lang.String READ_WIFI_CREDENTIAL = "android.permission.READ_WIFI_CREDENTIAL";
    field public static final java.lang.String READ_WIFI_CREDENTIAL = "android.permission.READ_WIFI_CREDENTIAL";
@@ -847,6 +848,7 @@ package android.content.pm {
  public abstract class PackageManager {
  public abstract class PackageManager {
    method public abstract void addOnPermissionsChangeListener(android.content.pm.PackageManager.OnPermissionsChangedListener);
    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 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.lang.String getDefaultBrowserPackageNameAsUser(int);
    method public abstract java.util.List<android.content.pm.PackageInfo> getInstalledPackagesAsUser(int, 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);
    method public abstract android.graphics.drawable.Drawable getInstantAppIcon(java.lang.String);
@@ -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 {
package android.content.pm.permission {


  public final class RuntimePermissionPresentationInfo implements android.os.Parcelable {
  public final class RuntimePermissionPresentationInfo implements android.os.Parcelable {
+17 −0
Original line number Original line Diff line number Diff line
@@ -56,6 +56,7 @@ import android.content.pm.ServiceInfo;
import android.content.pm.SharedLibraryInfo;
import android.content.pm.SharedLibraryInfo;
import android.content.pm.VerifierDeviceIdentity;
import android.content.pm.VerifierDeviceIdentity;
import android.content.pm.VersionedPackage;
import android.content.pm.VersionedPackage;
import android.content.pm.dex.ArtManager;
import android.content.res.Resources;
import android.content.res.Resources;
import android.content.res.XmlResourceParser;
import android.content.res.XmlResourceParser;
import android.graphics.Bitmap;
import android.graphics.Bitmap;
@@ -122,6 +123,8 @@ public class ApplicationPackageManager extends PackageManager {
    private UserManager mUserManager;
    private UserManager mUserManager;
    @GuardedBy("mLock")
    @GuardedBy("mLock")
    private PackageInstaller mInstaller;
    private PackageInstaller mInstaller;
    @GuardedBy("mLock")
    private ArtManager mArtManager;


    @GuardedBy("mDelegates")
    @GuardedBy("mDelegates")
    private final ArrayList<MoveCallbackDelegate> mDelegates = new ArrayList<>();
    private final ArrayList<MoveCallbackDelegate> mDelegates = new ArrayList<>();
@@ -2763,4 +2766,18 @@ public class ApplicationPackageManager extends PackageManager {
            throw e.rethrowAsRuntimeException();
            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;
        }
    }
}
}
+10 −13
Original line number Original line Diff line number Diff line
@@ -28,6 +28,7 @@ import android.content.pm.ApplicationInfo;
import android.content.pm.IPackageManager;
import android.content.pm.IPackageManager;
import android.content.pm.PackageManager;
import android.content.pm.PackageManager;
import android.content.pm.PackageManager.NameNotFoundException;
import android.content.pm.PackageManager.NameNotFoundException;
import android.content.pm.dex.ArtManager;
import android.content.pm.split.SplitDependencyLoader;
import android.content.pm.split.SplitDependencyLoader;
import android.content.res.AssetManager;
import android.content.res.AssetManager;
import android.content.res.CompatibilityInfo;
import android.content.res.CompatibilityInfo;
@@ -35,7 +36,6 @@ import android.content.res.Configuration;
import android.content.res.Resources;
import android.content.res.Resources;
import android.os.Build;
import android.os.Build;
import android.os.Bundle;
import android.os.Bundle;
import android.os.Environment;
import android.os.FileUtils;
import android.os.FileUtils;
import android.os.Handler;
import android.os.Handler;
import android.os.IBinder;
import android.os.IBinder;
@@ -49,13 +49,15 @@ import android.text.TextUtils;
import android.util.AndroidRuntimeException;
import android.util.AndroidRuntimeException;
import android.util.ArrayMap;
import android.util.ArrayMap;
import android.util.Log;
import android.util.Log;
import android.util.LogPrinter;
import android.util.Slog;
import android.util.Slog;
import android.util.SparseArray;
import android.util.SparseArray;
import android.view.Display;
import android.view.Display;
import android.view.DisplayAdjustments;
import android.view.DisplayAdjustments;

import com.android.internal.util.ArrayUtils;
import com.android.internal.util.ArrayUtils;

import dalvik.system.VMRuntime;
import dalvik.system.VMRuntime;

import java.io.File;
import java.io.File;
import java.io.IOException;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStream;
@@ -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() {
    private void setupJitProfileSupport() {
        if (!SystemProperties.getBoolean("dalvik.vm.usejitprofiles", false)) {
        if (!SystemProperties.getBoolean("dalvik.vm.usejitprofiles", false)) {
            return;
            return;
@@ -763,10 +758,12 @@ public final class LoadedApk {
            return;
            return;
        }
        }


        final File profileFile = getPrimaryProfileFile(mPackageName);
        for (int i = codePaths.size() - 1; i >= 0; i--) {

            String splitName = i == 0 ? null : mApplicationInfo.splitNames[i - 1];
        VMRuntime.registerAppInfo(profileFile.getPath(),
            String profileFile = ArtManager.getCurrentProfilePath(
                codePaths.toArray(new String[codePaths.size()]));
                    mPackageName, UserHandle.myUserId(), splitName);
            VMRuntime.registerAppInfo(profileFile, new String[] {codePaths.get(i)});
        }


        // Register the app data directory with the reporter. It will
        // Register the app data directory with the reporter. It will
        // help deciding whether or not a dex file is the primary apk or a
        // help deciding whether or not a dex file is the primary apk or a
+3 −0
Original line number Original line Diff line number Diff line
@@ -48,6 +48,7 @@ import android.content.pm.ServiceInfo;
import android.content.pm.UserInfo;
import android.content.pm.UserInfo;
import android.content.pm.VerifierDeviceIdentity;
import android.content.pm.VerifierDeviceIdentity;
import android.content.pm.VersionedPackage;
import android.content.pm.VersionedPackage;
import android.content.pm.dex.IArtManager;
import android.graphics.Bitmap;
import android.graphics.Bitmap;
import android.net.Uri;
import android.net.Uri;
import android.os.Bundle;
import android.os.Bundle;
@@ -664,4 +665,6 @@ interface IPackageManager {
    ComponentName getInstantAppInstallerComponent();
    ComponentName getInstantAppInstallerComponent();


    String getInstantAppAndroidId(String packageName, int userId);
    String getInstantAppAndroidId(String packageName, int userId);

    IArtManager getArtManager();
}
}
Loading