Merge "DO NOT MERGE: Prevent non-system IME from becoming device admin" into rvc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
6976a3137c
@@ -50,6 +50,8 @@ import android.text.method.ScrollingMovementMethod;
|
||||
import android.util.EventLog;
|
||||
import android.util.Log;
|
||||
import android.view.Display;
|
||||
import android.view.KeyEvent;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.view.ViewTreeObserver;
|
||||
@@ -401,8 +403,8 @@ public class DeviceAdminAdd extends Activity {
|
||||
|
||||
final View restrictedAction = findViewById(R.id.restricted_action);
|
||||
restrictedAction.setFilterTouchesWhenObscured(true);
|
||||
restrictedAction.setOnClickListener(new View.OnClickListener() {
|
||||
public void onClick(View v) {
|
||||
|
||||
final View.OnClickListener restrictedActionClickListener = v -> {
|
||||
if (!mActionButton.isEnabled()) {
|
||||
showPolicyTransparencyDialogIfRequired();
|
||||
return;
|
||||
@@ -445,14 +447,20 @@ public class DeviceAdminAdd extends Activity {
|
||||
}
|
||||
}, mHandler));
|
||||
// Don't want to wait too long.
|
||||
getWindow().getDecorView().getHandler().postDelayed(new Runnable() {
|
||||
@Override public void run() {
|
||||
continueRemoveAction(null);
|
||||
}
|
||||
}, 2*1000);
|
||||
getWindow().getDecorView().getHandler().postDelayed(
|
||||
() -> continueRemoveAction(null), 2 * 1000);
|
||||
}
|
||||
};
|
||||
restrictedAction.setOnKeyListener((view, keyCode, keyEvent) -> {
|
||||
if ((keyEvent.getFlags() & KeyEvent.FLAG_FROM_SYSTEM) == 0) {
|
||||
Log.e(TAG, "Can not activate device-admin with KeyEvent from non-system app.");
|
||||
// Consume event to suppress click.
|
||||
return true;
|
||||
}
|
||||
// Fallback to view click handler.
|
||||
return false;
|
||||
});
|
||||
restrictedAction.setOnClickListener(restrictedActionClickListener);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user