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

Commit de121ad5 authored by Dmitry Dementyev's avatar Dmitry Dementyev Committed by Automerger Merge Worker
Browse files

Merge "Ignore GrantCredentials call with unexpected calling uid." into qt-dev...

Merge "Ignore GrantCredentials call with unexpected calling uid." into qt-dev am: a064b69f am: f0263a93 am: 42900081

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/13029782

Change-Id: I881f319fe82ea815a96ee0285f64ee031eee3de5
parents 2826317d 42900081
Loading
Loading
Loading
Loading
+28 −6
Original line number Original line Diff line number Diff line
@@ -16,16 +16,23 @@
package android.accounts;
package android.accounts;


import android.app.Activity;
import android.app.Activity;
import android.content.res.Resources;
import android.app.ActivityTaskManager;
import android.os.Bundle;
import android.widget.TextView;
import android.widget.LinearLayout;
import android.view.View;
import android.view.LayoutInflater;
import android.content.Context;
import android.content.Context;
import android.content.Intent;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.content.pm.PackageManager;
import android.content.res.Resources;
import android.os.Bundle;
import android.os.IBinder;
import android.os.Process;
import android.os.RemoteException;
import android.os.UserHandle;
import android.text.TextUtils;
import android.text.TextUtils;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.LinearLayout;
import android.widget.TextView;

import com.android.internal.R;
import com.android.internal.R;


import java.io.IOException;
import java.io.IOException;
@@ -42,6 +49,7 @@ public class GrantCredentialsPermissionActivity extends Activity implements View
    private Account mAccount;
    private Account mAccount;
    private String mAuthTokenType;
    private String mAuthTokenType;
    private int mUid;
    private int mUid;
    private int mCallingUid;
    private Bundle mResultBundle = null;
    private Bundle mResultBundle = null;
    protected LayoutInflater mInflater;
    protected LayoutInflater mInflater;


@@ -77,6 +85,20 @@ public class GrantCredentialsPermissionActivity extends Activity implements View
            return;
            return;
        }
        }


        try {
            IBinder activityToken = getActivityToken();
            mCallingUid = ActivityTaskManager.getService().getLaunchedFromUid(activityToken);
        } catch (RemoteException re) {
            // Couldn't figure out caller details
            Log.w(getClass().getSimpleName(), "Unable to get caller identity \n" + re);
        }

        if (!UserHandle.isSameApp(mCallingUid, Process.SYSTEM_UID) && mCallingUid != mUid) {
            setResult(Activity.RESULT_CANCELED);
            finish();
            return;
        }

        String accountTypeLabel;
        String accountTypeLabel;
        try {
        try {
            accountTypeLabel = getAccountLabel(mAccount);
            accountTypeLabel = getAccountLabel(mAccount);