Use @EnforcePermission for IIMM#addVirtualStylusIdForTestSession()
This CL manually migrates
IInputMethodManager#addVirtualStylusIdForTestSession(),
which was added recently [1], from manual permission check with
Context#enforceCallingPermission(INJECT_EVENTS)
to code-generation check with
@EnforcePermission("INJECT_EVENTS").
There should be no observable semantic behavior change in this CL.
[1]: I7399c0a56c04f024d65c16d459818cc2c5cdbc7f
d96ef57bc4
Bug: 34886274
Bug: 210039666
Bug: 232058525
Bug: 237316307
Test: atest CtsInputMethodTestCases:InputMethodManagerTest#testShowInputMethodPickerFromSystemProtection
Change-Id: Ida227d417496dd91c071c38ca0be003529764de4
This commit is contained in:
@@ -123,6 +123,7 @@ interface IInputMethodManager {
|
||||
boolean isStylusHandwritingAvailableAsUser(int userId);
|
||||
|
||||
/** add virtual stylus id for test Stylus handwriting session **/
|
||||
@EnforcePermission("INJECT_EVENTS")
|
||||
@JavaPassthrough(annotation="@android.annotation.RequiresPermission(value = "
|
||||
+ "android.Manifest.permission.INJECT_EVENTS)")
|
||||
void addVirtualStylusIdForTestSession(in IInputMethodClient client);
|
||||
|
||||
@@ -4465,12 +4465,9 @@ public final class InputMethodManagerService extends IInputMethodManager.Stub
|
||||
* a stylus deviceId is not already registered on device.
|
||||
*/
|
||||
@BinderThread
|
||||
@RequiresPermission(Manifest.permission.INJECT_EVENTS)
|
||||
@EnforcePermission(Manifest.permission.INJECT_EVENTS)
|
||||
@Override
|
||||
public void addVirtualStylusIdForTestSession(IInputMethodClient client) {
|
||||
mContext.enforceCallingPermission(
|
||||
Manifest.permission.INJECT_EVENTS,
|
||||
"Using addVirtualStylusIdForTestSession() requires INJECT_EVENTS.");
|
||||
int uid = Binder.getCallingUid();
|
||||
synchronized (ImfLock.class) {
|
||||
if (!canInteractWithImeLocked(uid, client, "addVirtualStylusIdForTestSession")) {
|
||||
|
||||
Reference in New Issue
Block a user