Update warning dialog on work profile deletion.

Bug: 20024761
Change-Id: I23b0eaa7742d9d23a29a2a48ab6e3d92fe310560
This commit is contained in:
Sudheer Shanka
2015-04-09 12:19:53 +01:00
parent 79670bbe68
commit bc95630994
6 changed files with 177 additions and 23 deletions

View File

@@ -22,9 +22,11 @@ import android.annotation.Nullable;
import android.app.ActivityManager;
import android.app.ActivityManagerNative;
import android.app.AlertDialog;
import android.app.AppGlobals;
import android.app.Dialog;
import android.app.Fragment;
import android.app.IActivityManager;
import android.app.admin.DevicePolicyManager;
import android.content.ComponentName;
import android.content.ContentResolver;
import android.content.Context;
@@ -32,6 +34,7 @@ import android.content.DialogInterface;
import android.content.Intent;
import android.content.IntentFilter;
import android.content.pm.ApplicationInfo;
import android.content.pm.IPackageManager;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.content.pm.PackageManager.NameNotFoundException;
@@ -1153,4 +1156,27 @@ public final class Utils {
view.setVisibility(shown ? View.VISIBLE : View.INVISIBLE);
}
}
}
/**
* Returns the application info of the currently installed MDM package.
*/
public static ApplicationInfo getAdminApplicationInfo(Context context, int profileId) {
DevicePolicyManager dpm =
(DevicePolicyManager) context.getSystemService(Context.DEVICE_POLICY_SERVICE);
ComponentName mdmPackage = dpm.getProfileOwnerAsUser(profileId);
if (mdmPackage == null) {
return null;
}
String mdmPackageName = mdmPackage.getPackageName();
try {
IPackageManager ipm = AppGlobals.getPackageManager();
ApplicationInfo mdmApplicationInfo =
ipm.getApplicationInfo(mdmPackageName, 0, profileId);
return mdmApplicationInfo;
} catch (RemoteException e) {
Log.e(TAG, "Error while retrieving application info for package " + mdmPackageName
+ ", userId " + profileId, e);
return null;
}
}
}