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

Commit 9577cd78 authored by Makoto Onuki's avatar Makoto Onuki Committed by Android (Google) Code Review
Browse files

Merge "Squash same ApplicationInfo's in Parcel" into rvc-dev

parents aba5f0ca 2d80ca09
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -981,6 +981,14 @@ package android.content.pm {
    field @Nullable public final String backgroundPermission;
  }

  public final class ProviderInfoList implements android.os.Parcelable {
    method public int describeContents();
    method @NonNull public static android.content.pm.ProviderInfoList fromList(@NonNull java.util.List<android.content.pm.ProviderInfo>);
    method @NonNull public java.util.List<android.content.pm.ProviderInfo> getList();
    method public void writeToParcel(@NonNull android.os.Parcel, int);
    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.ProviderInfoList> CREATOR;
  }

  public final class ShortcutInfo implements android.os.Parcelable {
    method public boolean isVisibleToPublisher();
  }
@@ -2469,7 +2477,9 @@ package android.os {
  }

  public final class Parcel {
    method public boolean allowSquashing();
    method public int readExceptionCode();
    method public void restoreAllowSquashing(boolean);
  }

  public class ParcelFileDescriptor implements java.io.Closeable android.os.Parcelable {
+4 −2
Original line number Diff line number Diff line
@@ -68,6 +68,7 @@ import android.content.pm.PackageManager;
import android.content.pm.PackageManager.NameNotFoundException;
import android.content.pm.ParceledListSlice;
import android.content.pm.ProviderInfo;
import android.content.pm.ProviderInfoList;
import android.content.pm.ServiceInfo;
import android.content.res.AssetManager;
import android.content.res.CompatibilityInfo;
@@ -1011,8 +1012,9 @@ public final class ActivityThread extends ClientTransactionHandler {
            sendMessage(H.STOP_SERVICE, token);
        }

        @Override
        public final void bindApplication(String processName, ApplicationInfo appInfo,
                List<ProviderInfo> providers, ComponentName instrumentationName,
                ProviderInfoList providerList, ComponentName instrumentationName,
                ProfilerInfo profilerInfo, Bundle instrumentationArgs,
                IInstrumentationWatcher instrumentationWatcher,
                IUiAutomationConnection instrumentationUiConnection, int debugMode,
@@ -1052,7 +1054,7 @@ public final class ActivityThread extends ClientTransactionHandler {
            AppBindData data = new AppBindData();
            data.processName = processName;
            data.appInfo = appInfo;
            data.providers = providers;
            data.providers = providerList.getList();
            data.instrumentationName = instrumentationName;
            data.instrumentationArgs = instrumentationArgs;
            data.instrumentationWatcher = instrumentationWatcher;
+2 −1
Original line number Diff line number Diff line
@@ -30,6 +30,7 @@ import android.content.pm.ActivityInfo;
import android.content.pm.ApplicationInfo;
import android.content.pm.ParceledListSlice;
import android.content.pm.ProviderInfo;
import android.content.pm.ProviderInfoList;
import android.content.pm.ServiceInfo;
import android.content.res.CompatibilityInfo;
import android.content.res.Configuration;
@@ -66,7 +67,7 @@ oneway interface IApplicationThread {
    @UnsupportedAppUsage
    void scheduleStopService(IBinder token);
    void bindApplication(in String packageName, in ApplicationInfo info,
            in List<ProviderInfo> providers, in ComponentName testName,
            in ProviderInfoList providerList, in ComponentName testName,
            in ProfilerInfo profilerInfo, in Bundle testArguments,
            IInstrumentationWatcher testWatcher, IUiAutomationConnection uiAutomationConnection,
            int debugMode, boolean enableBinderTracking, boolean trackAllocation,
+7 −1
Original line number Diff line number Diff line
@@ -1630,6 +1630,9 @@ public class ApplicationInfo extends PackageItemInfo implements Parcelable {

    @SuppressWarnings("unchecked")
    public void writeToParcel(Parcel dest, int parcelableFlags) {
        if (dest.maybeWriteSquashed(this)) {
            return;
        }
        super.writeToParcel(dest, parcelableFlags);
        dest.writeString(taskAffinity);
        dest.writeString(permission);
@@ -1700,9 +1703,12 @@ public class ApplicationInfo extends PackageItemInfo implements Parcelable {

    public static final @android.annotation.NonNull Parcelable.Creator<ApplicationInfo> CREATOR
            = new Parcelable.Creator<ApplicationInfo>() {
        @Override
        public ApplicationInfo createFromParcel(Parcel source) {
            return new ApplicationInfo(source);
            return source.readSquashed(ApplicationInfo::new);
        }

        @Override
        public ApplicationInfo[] newArray(int size) {
            return new ApplicationInfo[size];
        }
+2 −11
Original line number Diff line number Diff line
@@ -20,7 +20,6 @@ import android.compat.annotation.UnsupportedAppUsage;
import android.content.ComponentName;
import android.graphics.drawable.Drawable;
import android.os.Parcel;
import android.os.Parcelable;
import android.util.Printer;

/**
@@ -197,12 +196,7 @@ public class ComponentInfo extends PackageItemInfo {

    public void writeToParcel(Parcel dest, int parcelableFlags) {
        super.writeToParcel(dest, parcelableFlags);
        if ((parcelableFlags & Parcelable.PARCELABLE_ELIDE_DUPLICATES) != 0) {
            dest.writeInt(0);
        } else {
            dest.writeInt(1);
        applicationInfo.writeToParcel(dest, parcelableFlags);
        }
        dest.writeString(processName);
        dest.writeString(splitName);
        dest.writeInt(descriptionRes);
@@ -213,10 +207,7 @@ public class ComponentInfo extends PackageItemInfo {
    
    protected ComponentInfo(Parcel source) {
        super(source);
        final boolean hasApplicationInfo = (source.readInt() != 0);
        if (hasApplicationInfo) {
        applicationInfo = ApplicationInfo.CREATOR.createFromParcel(source);
        }
        processName = source.readString();
        splitName = source.readString();
        descriptionRes = source.readInt();
Loading