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

Commit c5bf4947 authored by Yuncheol Heo's avatar Yuncheol Heo
Browse files

Expose ActivityOptions.fromBundle() as ModuleApi.

CarService mainline module will use it.
Changed to accept NonNull only.

Bug: 195598146
Test: atest android.app.cts.ActivityOptionsTest
Change-Id: Iae70522fe1ad8b17a01c230ca8afb7a18b83a7ed
parent f69e40b3
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -15,6 +15,10 @@ package android.app {
    method @RequiresPermission(android.Manifest.permission.CHANGE_CONFIGURATION) public boolean updateMccMncConfiguration(@NonNull String, @NonNull String);
  }

  public class ActivityOptions {
    method @NonNull public static android.app.ActivityOptions fromBundle(@NonNull android.os.Bundle);
  }

  public class AppOpsManager {
    field public static final String OPSTR_NO_ISOLATED_STORAGE = "android:no_isolated_storage";
  }
+1 −0
Original line number Diff line number Diff line
@@ -140,6 +140,7 @@ package android.app {
  }

  public class ActivityOptions {
    method @NonNull public static android.app.ActivityOptions fromBundle(@NonNull android.os.Bundle);
    method @NonNull public static android.app.ActivityOptions makeCustomAnimation(@NonNull android.content.Context, int, int, @Nullable android.os.Handler, @Nullable android.app.ActivityOptions.OnAnimationStartedListener, @Nullable android.app.ActivityOptions.OnAnimationFinishedListener);
    method @NonNull @RequiresPermission(android.Manifest.permission.START_TASKS_FROM_RECENTS) public static android.app.ActivityOptions makeCustomTaskAnimation(@NonNull android.content.Context, int, int, @Nullable android.os.Handler, @Nullable android.app.ActivityOptions.OnAnimationStartedListener, @Nullable android.app.ActivityOptions.OnAnimationFinishedListener);
    method public static void setExitTransitionTimeout(long);
+12 −3
Original line number Diff line number Diff line
@@ -26,6 +26,7 @@ import android.annotation.IntDef;
import android.annotation.NonNull;
import android.annotation.Nullable;
import android.annotation.RequiresPermission;
import android.annotation.SystemApi;
import android.annotation.TestApi;
import android.app.ExitTransitionCoordinator.ActivityExitTransitionCallbacks;
import android.app.ExitTransitionCoordinator.ExitTransitionCallbacks;
@@ -1352,9 +1353,17 @@ public class ActivityOptions {
        return mRemoteTransition;
    }

    /** @hide */
    public static ActivityOptions fromBundle(Bundle bOptions) {
        return bOptions != null ? new ActivityOptions(bOptions) : null;
    /**
     * Creates an ActivityOptions from the Bundle generated from {@link ActivityOptions#toBundle()}.
     * Returns an instance of ActivityOptions populated with options with known keys from the
     * provided Bundle, stripping out unknown entries.
     * @hide
     */
    @SystemApi(client = SystemApi.Client.MODULE_LIBRARIES)
    @TestApi
    @NonNull
    public static ActivityOptions fromBundle(@NonNull Bundle bOptions) {
        return new ActivityOptions(bOptions);
    }

    /** @hide */
+6 −1
Original line number Diff line number Diff line
@@ -187,7 +187,7 @@ public class LaunchActivityItem extends ClientTransactionItem {
                in.readPersistableBundle(getClass().getClassLoader()),
                in.createTypedArrayList(ResultInfo.CREATOR),
                in.createTypedArrayList(ReferrerIntent.CREATOR),
                ActivityOptions.fromBundle(in.readBundle()), in.readBoolean(),
                readActivityOptions(in), in.readBoolean(),
                in.readTypedObject(ProfilerInfo.CREATOR),
                in.readStrongBinder(),
                IActivityClientController.Stub.asInterface(in.readStrongBinder()),
@@ -196,6 +196,11 @@ public class LaunchActivityItem extends ClientTransactionItem {
                in.readStrongBinder());
    }

    private static ActivityOptions readActivityOptions(Parcel in) {
        Bundle bundle = in.readBundle();
        return bundle != null ? ActivityOptions.fromBundle(bundle) : null;
    }

    public static final @NonNull Creator<LaunchActivityItem> CREATOR =
            new Creator<LaunchActivityItem>() {
        public LaunchActivityItem createFromParcel(Parcel in) {
+3 −1
Original line number Diff line number Diff line
@@ -23,6 +23,7 @@ import android.annotation.Nullable;
import android.app.ActivityOptions;
import android.app.ActivityThread.ActivityClientRecord;
import android.app.ClientTransactionHandler;
import android.os.Bundle;
import android.os.Parcel;
import android.os.Trace;

@@ -83,7 +84,8 @@ public class StartActivityItem extends ActivityLifecycleItem {

    /** Read from Parcel. */
    private StartActivityItem(Parcel in) {
        mActivityOptions = ActivityOptions.fromBundle(in.readBundle());
        Bundle bundle = in.readBundle();
        mActivityOptions = bundle != null ? ActivityOptions.fromBundle(bundle) : null;
    }

    public static final @NonNull Creator<StartActivityItem> CREATOR =
Loading