diff --git a/core/java/com/android/internal/inputmethod/ImeTracing.java b/core/java/com/android/internal/inputmethod/ImeTracing.java index 8b21b7ef10ea4..ee6713118f754 100644 --- a/core/java/com/android/internal/inputmethod/ImeTracing.java +++ b/core/java/com/android/internal/inputmethod/ImeTracing.java @@ -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(); diff --git a/core/java/com/android/internal/view/IInputMethodManager.aidl b/core/java/com/android/internal/view/IInputMethodManager.aidl index 9e0b2495969e0..278279a893bcb 100644 --- a/core/java/com/android/internal/view/IInputMethodManager.aidl +++ b/core/java/com/android/internal/view/IInputMethodManager.aidl @@ -104,8 +104,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 **/ diff --git a/services/core/java/com/android/server/inputmethod/InputMethodManagerService.java b/services/core/java/com/android/server/inputmethod/InputMethodManagerService.java index cddbad64f2fdd..0c6cc89e20d25 100644 --- a/services/core/java/com/android/server/inputmethod/InputMethodManagerService.java +++ b/services/core/java/com/android/server/inputmethod/InputMethodManagerService.java @@ -4549,6 +4549,7 @@ public final class InputMethodManagerService extends IInputMethodManager.Stub } @BinderThread + @EnforcePermission(Manifest.permission.CONTROL_UI_TRACING) @Override public void startImeTrace() { ImeTracing.getInstance().startTrace(null /* printwriter */); @@ -4564,6 +4565,7 @@ public final class InputMethodManagerService extends IInputMethodManager.Stub } @BinderThread + @EnforcePermission(Manifest.permission.CONTROL_UI_TRACING) @Override public void stopImeTrace() { ImeTracing.getInstance().stopTrace(null /* printwriter */);