Skip to content

Commit 7a4ecba

Browse files
Rubin XuAndroid (Google) Code Review
authored andcommitted
Merge "Do not require MANAGE_DEVICE_ADMINS for showing admin-specifc policy transparency dialog" into nyc-mr1-dev
2 parents 6cdd5fc + da9f9a0 commit 7a4ecba

1 file changed

Lines changed: 2 additions & 23 deletions

File tree

src/com/android/settings/ShowAdminSupportDetailsDialog.java

Lines changed: 2 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -17,17 +17,14 @@
1717
package com.android.settings;
1818

1919
import android.app.Activity;
20-
import android.app.ActivityManagerNative;
2120
import android.app.AlertDialog;
2221
import android.app.AppGlobals;
23-
import android.app.IActivityManager;
2422
import android.app.admin.DevicePolicyManager;
2523
import android.content.ComponentName;
2624
import android.content.Context;
2725
import android.content.DialogInterface;
2826
import android.content.Intent;
2927
import android.content.pm.ActivityInfo;
30-
import android.content.pm.PackageManager;
3128
import android.graphics.drawable.Drawable;
3229
import android.os.Bundle;
3330
import android.os.Process;
@@ -47,16 +44,13 @@ public class ShowAdminSupportDetailsDialog extends Activity
4744

4845
private static final String TAG = "AdminSupportDialog";
4946

50-
private DevicePolicyManager mDpm;
51-
5247
private EnforcedAdmin mEnforcedAdmin;
5348
private View mDialogView;
5449

5550
@Override
5651
protected void onCreate(Bundle savedInstanceState) {
5752
super.onCreate(savedInstanceState);
5853

59-
mDpm = getSystemService(DevicePolicyManager.class);
6054
mEnforcedAdmin = getAdminDetailsFromIntent(getIntent());
6155

6256
AlertDialog.Builder builder = new AlertDialog.Builder(this);
@@ -84,26 +78,11 @@ private EnforcedAdmin getAdminDetailsFromIntent(Intent intent) {
8478
if (intent == null) {
8579
return admin;
8680
}
87-
// Only allow apps with MANAGE_DEVICE_ADMINS permission to specify admin and user.
88-
if (checkIfCallerHasPermission(android.Manifest.permission.MANAGE_DEVICE_ADMINS)) {
89-
admin.component = intent.getParcelableExtra(DevicePolicyManager.EXTRA_DEVICE_ADMIN);
90-
admin.userId = intent.getIntExtra(Intent.EXTRA_USER_ID, UserHandle.myUserId());
91-
}
81+
admin.component = intent.getParcelableExtra(DevicePolicyManager.EXTRA_DEVICE_ADMIN);
82+
admin.userId = intent.getIntExtra(Intent.EXTRA_USER_ID, UserHandle.myUserId());
9283
return admin;
9384
}
9485

95-
private boolean checkIfCallerHasPermission(String permission) {
96-
IActivityManager am = ActivityManagerNative.getDefault();
97-
try {
98-
final int uid = am.getLaunchedFromUid(getActivityToken());
99-
return AppGlobals.getPackageManager().checkUidPermission(permission, uid)
100-
== PackageManager.PERMISSION_GRANTED;
101-
} catch (RemoteException e) {
102-
Log.e(TAG, "Could not talk to activity manager.", e);
103-
}
104-
return false;
105-
}
106-
10786
private void initializeDialogViews(View root, ComponentName admin, int userId) {
10887
if (admin != null) {
10988
if (!RestrictedLockUtils.isAdminInCurrentUserOrProfile(this, admin)

0 commit comments

Comments
 (0)