Merge "Disabling the activate button when paused" into oc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
dacdcb9b42
@@ -40,6 +40,7 @@ import android.net.Uri;
|
|||||||
import android.os.Binder;
|
import android.os.Binder;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.os.Handler;
|
import android.os.Handler;
|
||||||
|
import android.os.IBinder;
|
||||||
import android.os.RemoteCallback;
|
import android.os.RemoteCallback;
|
||||||
import android.os.RemoteException;
|
import android.os.RemoteException;
|
||||||
import android.os.UserHandle;
|
import android.os.UserHandle;
|
||||||
@@ -90,6 +91,7 @@ public class DeviceAdminAdd extends Activity {
|
|||||||
public static final String EXTRA_CALLED_FROM_SUPPORT_DIALOG =
|
public static final String EXTRA_CALLED_FROM_SUPPORT_DIALOG =
|
||||||
"android.app.extra.CALLED_FROM_SUPPORT_DIALOG";
|
"android.app.extra.CALLED_FROM_SUPPORT_DIALOG";
|
||||||
|
|
||||||
|
private final IBinder mToken = new Binder();
|
||||||
Handler mHandler;
|
Handler mHandler;
|
||||||
|
|
||||||
DevicePolicyManager mDPM;
|
DevicePolicyManager mDPM;
|
||||||
@@ -118,8 +120,6 @@ public class DeviceAdminAdd extends Activity {
|
|||||||
boolean mWaitingForRemoveMsg;
|
boolean mWaitingForRemoveMsg;
|
||||||
boolean mAddingProfileOwner;
|
boolean mAddingProfileOwner;
|
||||||
boolean mAdminPoliciesInitialized;
|
boolean mAdminPoliciesInitialized;
|
||||||
int mCurSysAppOpMode;
|
|
||||||
int mCurToastAppOpMode;
|
|
||||||
|
|
||||||
boolean mIsCalledFromSupportDialog = false;
|
boolean mIsCalledFromSupportDialog = false;
|
||||||
|
|
||||||
@@ -352,6 +352,9 @@ public class DeviceAdminAdd extends Activity {
|
|||||||
restrictedAction.setFilterTouchesWhenObscured(true);
|
restrictedAction.setFilterTouchesWhenObscured(true);
|
||||||
restrictedAction.setOnClickListener(new View.OnClickListener() {
|
restrictedAction.setOnClickListener(new View.OnClickListener() {
|
||||||
public void onClick(View v) {
|
public void onClick(View v) {
|
||||||
|
if (!mActionButton.isEnabled()) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
if (mAdding) {
|
if (mAdding) {
|
||||||
addAndFinish();
|
addAndFinish();
|
||||||
} else if (isManagedProfile(mDeviceAdmin)
|
} else if (isManagedProfile(mDeviceAdmin)
|
||||||
@@ -473,24 +476,21 @@ public class DeviceAdminAdd extends Activity {
|
|||||||
@Override
|
@Override
|
||||||
protected void onResume() {
|
protected void onResume() {
|
||||||
super.onResume();
|
super.onResume();
|
||||||
|
mActionButton.setEnabled(true);
|
||||||
updateInterface();
|
updateInterface();
|
||||||
// As long as we are running, don't let this admin overlay stuff on top of the screen.
|
// As long as we are running, don't let anyone overlay stuff on top of the screen.
|
||||||
final int uid = mDeviceAdmin.getActivityInfo().applicationInfo.uid;
|
mAppOps.setUserRestriction(AppOpsManager.OP_SYSTEM_ALERT_WINDOW, true, mToken);
|
||||||
final String pkg = mDeviceAdmin.getActivityInfo().applicationInfo.packageName;
|
mAppOps.setUserRestriction(AppOpsManager.OP_TOAST_WINDOW, true, mToken);
|
||||||
mCurSysAppOpMode = mAppOps.checkOp(AppOpsManager.OP_SYSTEM_ALERT_WINDOW, uid, pkg);
|
|
||||||
mCurToastAppOpMode = mAppOps.checkOp(AppOpsManager.OP_TOAST_WINDOW, uid, pkg);
|
|
||||||
mAppOps.setMode(AppOpsManager.OP_SYSTEM_ALERT_WINDOW, uid, pkg, AppOpsManager.MODE_IGNORED);
|
|
||||||
mAppOps.setMode(AppOpsManager.OP_TOAST_WINDOW, uid, pkg, AppOpsManager.MODE_IGNORED);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onPause() {
|
protected void onPause() {
|
||||||
super.onPause();
|
super.onPause();
|
||||||
// As long as we are running, don't let this admin overlay stuff on top of the screen.
|
// This just greys out the button. The actual listener is attached to R.id.restricted_action
|
||||||
final int uid = mDeviceAdmin.getActivityInfo().applicationInfo.uid;
|
mActionButton.setEnabled(false);
|
||||||
final String pkg = mDeviceAdmin.getActivityInfo().applicationInfo.packageName;
|
mAppOps.setUserRestriction(AppOpsManager.OP_SYSTEM_ALERT_WINDOW, false, mToken);
|
||||||
mAppOps.setMode(AppOpsManager.OP_SYSTEM_ALERT_WINDOW, uid, pkg, mCurSysAppOpMode);
|
mAppOps.setUserRestriction(AppOpsManager.OP_TOAST_WINDOW, false, mToken);
|
||||||
mAppOps.setMode(AppOpsManager.OP_TOAST_WINDOW, uid, pkg, mCurToastAppOpMode);
|
|
||||||
try {
|
try {
|
||||||
ActivityManager.getService().resumeAppSwitches();
|
ActivityManager.getService().resumeAppSwitches();
|
||||||
} catch (RemoteException e) {
|
} catch (RemoteException e) {
|
||||||
|
Reference in New Issue
Block a user