Merge "Protect IME tracing IPCs with CONTROL_UI_TRACING"

This commit is contained in:
TreeHugger Robot
2022-07-26 22:17:31 +00:00
committed by Android (Google) Code Review
3 changed files with 12 additions and 0 deletions

View File

@@ -17,6 +17,7 @@
package com.android.internal.inputmethod;
import android.annotation.Nullable;
import android.annotation.RequiresPermission;
import android.app.ActivityThread;
import android.content.Context;
import android.os.RemoteException;
@@ -93,6 +94,7 @@ public abstract class ImeTracing {
/**
* Calling {@link IInputMethodManager#startImeTrace()}} to capture IME trace.
*/
@RequiresPermission(android.Manifest.permission.CONTROL_UI_TRACING)
public final void startImeTrace() {
try {
mService.startImeTrace();
@@ -104,6 +106,7 @@ public abstract class ImeTracing {
/**
* Calling {@link IInputMethodManager#stopImeTrace()} to stop IME trace.
*/
@RequiresPermission(android.Manifest.permission.CONTROL_UI_TRACING)
public final void stopImeTrace() {
try {
mService.stopImeTrace();

View File

@@ -109,8 +109,15 @@ interface IInputMethodManager {
boolean isImeTraceEnabled();
// Starts an ime trace.
@EnforcePermission("CONTROL_UI_TRACING")
@JavaPassthrough(annotation="@android.annotation.RequiresPermission(value = "
+ "android.Manifest.permission.CONTROL_UI_TRACING)")
void startImeTrace();
// Stops an ime trace.
@EnforcePermission("CONTROL_UI_TRACING")
@JavaPassthrough(annotation="@android.annotation.RequiresPermission(value = "
+ "android.Manifest.permission.CONTROL_UI_TRACING)")
void stopImeTrace();
/** Start Stylus handwriting session **/

View File

@@ -4556,6 +4556,7 @@ public final class InputMethodManagerService extends IInputMethodManager.Stub
}
@BinderThread
@EnforcePermission(Manifest.permission.CONTROL_UI_TRACING)
@Override
public void startImeTrace() {
ImeTracing.getInstance().startTrace(null /* printwriter */);
@@ -4571,6 +4572,7 @@ public final class InputMethodManagerService extends IInputMethodManager.Stub
}
@BinderThread
@EnforcePermission(Manifest.permission.CONTROL_UI_TRACING)
@Override
public void stopImeTrace() {
ImeTracing.getInstance().stopTrace(null /* printwriter */);