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

Commit fdb2f3b8 authored by Jorim Jaggi's avatar Jorim Jaggi Committed by android-build-merger
Browse files

Only WTF when trying to use remote animation in ActivityOptions am: 084c7064

am: 30f325cf

Change-Id: I0eb2be41d7c2c82c11efc546f954540faaaaadf3
parents 637ba78f 30f325cf
Loading
Loading
Loading
Loading
+14 −12
Original line number Diff line number Diff line
@@ -79,9 +79,6 @@ class SafeActivityOptions {
        mOriginalCallingPid = Binder.getCallingPid();
        mOriginalCallingUid = Binder.getCallingUid();
        mOriginalOptions = options;
        if (mOriginalCallingPid == Process.myPid()) {
            Slog.wtf(TAG, "Safe activity options constructed after clearing calling id");
        }
    }

    /**
@@ -93,9 +90,6 @@ class SafeActivityOptions {
        mRealCallingPid = Binder.getCallingPid();
        mRealCallingUid = Binder.getCallingUid();
        mCallerOptions = options;
        if (mRealCallingPid == Process.myPid()) {
            Slog.wtf(TAG, "setCallerOptions called after clearing calling id");
        }
    }

    /**
@@ -128,20 +122,28 @@ class SafeActivityOptions {
        if (mOriginalOptions != null) {
            checkPermissions(intent, aInfo, callerApp, supervisor, mOriginalOptions,
                    mOriginalCallingPid, mOriginalCallingUid);
            if (mOriginalOptions.getRemoteAnimationAdapter() != null) {
                mOriginalOptions.getRemoteAnimationAdapter().setCallingPid(mOriginalCallingPid);
            }
            setCallingPidForRemoteAnimationAdapter(mOriginalOptions, mOriginalCallingPid);
        }
        if (mCallerOptions != null) {
            checkPermissions(intent, aInfo, callerApp, supervisor, mCallerOptions,
                    mRealCallingPid, mRealCallingUid);
            if (mCallerOptions.getRemoteAnimationAdapter() != null) {
                mCallerOptions.getRemoteAnimationAdapter().setCallingPid(mRealCallingPid);
            }
            setCallingPidForRemoteAnimationAdapter(mCallerOptions, mRealCallingPid);
        }
        return mergeActivityOptions(mOriginalOptions, mCallerOptions);
    }

    private void setCallingPidForRemoteAnimationAdapter(ActivityOptions options, int callingPid) {
        final RemoteAnimationAdapter adapter = options.getRemoteAnimationAdapter();
        if (adapter == null) {
            return;
        }
        if (callingPid == Process.myPid()) {
            Slog.wtf(TAG, "Safe activity options constructed after clearing calling id");
            return;
        }
        adapter.setCallingPid(callingPid);
    }

    /**
     * @see ActivityOptions#popAppVerificationBundle
     */