Merge "Merge android.util.imetracing into com.android.internal.inputmethod"
diff --git a/core/java/android/inputmethodservice/InputMethodService.java b/core/java/android/inputmethodservice/InputMethodService.java
index 42fa9fb..6e4491e 100644
--- a/core/java/android/inputmethodservice/InputMethodService.java
+++ b/core/java/android/inputmethodservice/InputMethodService.java
@@ -94,7 +94,6 @@
import android.util.Log;
import android.util.PrintWriterPrinter;
import android.util.Printer;
-import android.util.imetracing.ImeTracing;
import android.util.proto.ProtoOutputStream;
import android.view.Gravity;
import android.view.KeyCharacterMap;
@@ -133,6 +132,7 @@
import com.android.internal.annotations.GuardedBy;
import com.android.internal.inputmethod.IInputContentUriToken;
import com.android.internal.inputmethod.IInputMethodPrivilegedOperations;
+import com.android.internal.inputmethod.ImeTracing;
import com.android.internal.inputmethod.InputMethodPrivilegedOperations;
import com.android.internal.inputmethod.InputMethodPrivilegedOperationsRegistry;
import com.android.internal.view.IInlineSuggestionsRequestCallback;
diff --git a/core/java/android/inputmethodservice/RemoteInputConnection.java b/core/java/android/inputmethodservice/RemoteInputConnection.java
index 9ab8ab6..752b780 100644
--- a/core/java/android/inputmethodservice/RemoteInputConnection.java
+++ b/core/java/android/inputmethodservice/RemoteInputConnection.java
@@ -22,8 +22,6 @@
import android.annotation.Nullable;
import android.os.Bundle;
import android.os.Handler;
-import android.util.imetracing.ImeTracing;
-import android.util.imetracing.InputConnectionHelper;
import android.util.proto.ProtoOutputStream;
import android.view.KeyEvent;
import android.view.inputmethod.CompletionInfo;
@@ -39,6 +37,8 @@
import com.android.internal.inputmethod.CancellationGroup;
import com.android.internal.inputmethod.Completable;
import com.android.internal.inputmethod.IInputContextInvoker;
+import com.android.internal.inputmethod.ImeTracing;
+import com.android.internal.inputmethod.InputConnectionProtoDumper;
import com.android.internal.view.IInputContext;
import com.android.internal.view.IInputMethod;
@@ -93,8 +93,8 @@
final AbstractInputMethodService inputMethodService = mInputMethodService.get();
if (inputMethodService != null && ImeTracing.getInstance().isEnabled()) {
- ProtoOutputStream icProto = InputConnectionHelper.buildGetTextAfterCursorProto(length,
- flags, result);
+ ProtoOutputStream icProto = InputConnectionProtoDumper.buildGetTextAfterCursorProto(
+ length, flags, result);
ImeTracing.getInstance().triggerServiceDump(TAG + "#getTextAfterCursor",
inputMethodService, icProto);
}
@@ -118,8 +118,8 @@
final AbstractInputMethodService inputMethodService = mInputMethodService.get();
if (inputMethodService != null && ImeTracing.getInstance().isEnabled()) {
- ProtoOutputStream icProto = InputConnectionHelper.buildGetTextBeforeCursorProto(length,
- flags, result);
+ ProtoOutputStream icProto = InputConnectionProtoDumper.buildGetTextBeforeCursorProto(
+ length, flags, result);
ImeTracing.getInstance().triggerServiceDump(TAG + "#getTextBeforeCursor",
inputMethodService, icProto);
}
@@ -143,7 +143,7 @@
final AbstractInputMethodService inputMethodService = mInputMethodService.get();
if (inputMethodService != null && ImeTracing.getInstance().isEnabled()) {
- ProtoOutputStream icProto = InputConnectionHelper.buildGetSelectedTextProto(flags,
+ ProtoOutputStream icProto = InputConnectionProtoDumper.buildGetSelectedTextProto(flags,
result);
ImeTracing.getInstance().triggerServiceDump(TAG + "#getSelectedText",
inputMethodService, icProto);
@@ -182,7 +182,7 @@
final AbstractInputMethodService inputMethodService = mInputMethodService.get();
if (inputMethodService != null && ImeTracing.getInstance().isEnabled()) {
- ProtoOutputStream icProto = InputConnectionHelper.buildGetSurroundingTextProto(
+ ProtoOutputStream icProto = InputConnectionProtoDumper.buildGetSurroundingTextProto(
beforeLength, afterLength, flags, result);
ImeTracing.getInstance().triggerServiceDump(TAG + "#getSurroundingText",
inputMethodService, icProto);
@@ -203,7 +203,7 @@
final AbstractInputMethodService inputMethodService = mInputMethodService.get();
if (inputMethodService != null && ImeTracing.getInstance().isEnabled()) {
- ProtoOutputStream icProto = InputConnectionHelper.buildGetCursorCapsModeProto(
+ ProtoOutputStream icProto = InputConnectionProtoDumper.buildGetCursorCapsModeProto(
reqModes, result);
ImeTracing.getInstance().triggerServiceDump(TAG + "#getCursorCapsMode",
inputMethodService, icProto);
@@ -224,7 +224,7 @@
final AbstractInputMethodService inputMethodService = mInputMethodService.get();
if (inputMethodService != null && ImeTracing.getInstance().isEnabled()) {
- ProtoOutputStream icProto = InputConnectionHelper.buildGetExtractedTextProto(
+ ProtoOutputStream icProto = InputConnectionProtoDumper.buildGetExtractedTextProto(
request, flags, result);
ImeTracing.getInstance().triggerServiceDump(TAG + "#getExtractedText",
inputMethodService, icProto);
diff --git a/core/java/android/util/imetracing/OWNERS b/core/java/android/util/imetracing/OWNERS
deleted file mode 100644
index 885fd0a..0000000
--- a/core/java/android/util/imetracing/OWNERS
+++ /dev/null
@@ -1,3 +0,0 @@
-set noparent
-
-include /services/core/java/com/android/server/inputmethod/OWNERS
diff --git a/core/java/android/view/InsetsController.java b/core/java/android/view/InsetsController.java
index 6f915c9..1a9b34e 100644
--- a/core/java/android/view/InsetsController.java
+++ b/core/java/android/view/InsetsController.java
@@ -45,7 +45,6 @@
import android.util.Log;
import android.util.Pair;
import android.util.SparseArray;
-import android.util.imetracing.ImeTracing;
import android.util.proto.ProtoOutputStream;
import android.view.InsetsSourceConsumer.ShowResult;
import android.view.InsetsState.InternalInsetsType;
@@ -61,6 +60,7 @@
import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.graphics.SfVsyncFrameCallbackProvider;
+import com.android.internal.inputmethod.ImeTracing;
import java.io.PrintWriter;
import java.lang.annotation.Retention;
diff --git a/core/java/android/view/InsetsSourceConsumer.java b/core/java/android/view/InsetsSourceConsumer.java
index ee33541..bf9de39 100644
--- a/core/java/android/view/InsetsSourceConsumer.java
+++ b/core/java/android/view/InsetsSourceConsumer.java
@@ -36,13 +36,13 @@
import android.graphics.Insets;
import android.graphics.Rect;
import android.util.Log;
-import android.util.imetracing.ImeTracing;
import android.util.proto.ProtoOutputStream;
import android.view.InsetsState.InternalInsetsType;
import android.view.SurfaceControl.Transaction;
import android.view.WindowInsets.Type.InsetsType;
import com.android.internal.annotations.VisibleForTesting;
+import com.android.internal.inputmethod.ImeTracing;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
diff --git a/core/java/android/view/ViewRootImpl.java b/core/java/android/view/ViewRootImpl.java
index 3bf8b52..2df02d2 100644
--- a/core/java/android/view/ViewRootImpl.java
+++ b/core/java/android/view/ViewRootImpl.java
@@ -151,7 +151,6 @@
import android.util.SparseArray;
import android.util.TimeUtils;
import android.util.TypedValue;
-import android.util.imetracing.ImeTracing;
import android.util.proto.ProtoOutputStream;
import android.view.InputDevice.InputSourceClass;
import android.view.InsetsState.InternalInsetsType;
@@ -192,6 +191,7 @@
import com.android.internal.annotations.GuardedBy;
import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.graphics.drawable.BackgroundBlurDrawable;
+import com.android.internal.inputmethod.ImeTracing;
import com.android.internal.inputmethod.InputMethodDebug;
import com.android.internal.os.IResultReceiver;
import com.android.internal.os.SomeArgs;
diff --git a/core/java/android/view/inputmethod/InputMethodManager.java b/core/java/android/view/inputmethod/InputMethodManager.java
index 42d77cd..625ede2 100644
--- a/core/java/android/view/inputmethod/InputMethodManager.java
+++ b/core/java/android/view/inputmethod/InputMethodManager.java
@@ -18,7 +18,6 @@
import static android.Manifest.permission.INTERACT_ACROSS_USERS_FULL;
import static android.Manifest.permission.WRITE_SECURE_SETTINGS;
-import static android.util.imetracing.ImeTracing.PROTO_ARG;
import static android.view.inputmethod.InputMethodEditorTraceProto.InputMethodClientsTraceProto.ClientSideProto.DISPLAY_ID;
import static android.view.inputmethod.InputMethodEditorTraceProto.InputMethodClientsTraceProto.ClientSideProto.EDITOR_INFO;
import static android.view.inputmethod.InputMethodEditorTraceProto.InputMethodClientsTraceProto.ClientSideProto.IME_INSETS_SOURCE_CONSUMER;
@@ -73,7 +72,6 @@
import android.util.PrintWriterPrinter;
import android.util.Printer;
import android.util.SparseArray;
-import android.util.imetracing.ImeTracing;
import android.util.proto.ProtoOutputStream;
import android.view.Display;
import android.view.ImeFocusController;
@@ -88,6 +86,7 @@
import android.view.autofill.AutofillManager;
import com.android.internal.annotations.GuardedBy;
+import com.android.internal.inputmethod.ImeTracing;
import com.android.internal.inputmethod.InputMethodDebug;
import com.android.internal.inputmethod.InputMethodPrivilegedOperationsRegistry;
import com.android.internal.inputmethod.SoftInputShowHideReason;
@@ -3192,7 +3191,7 @@
}
for (String arg : args) {
- if (arg.equals(PROTO_ARG)) {
+ if (arg.equals(ImeTracing.PROTO_ARG)) {
final ProtoOutputStream proto = new ProtoOutputStream(fd);
dumpDebug(proto, null /* icProto */);
proto.flush();
diff --git a/core/java/com/android/internal/inputmethod/EditableInputConnection.java b/core/java/com/android/internal/inputmethod/EditableInputConnection.java
index 6d4134a..410e68b 100644
--- a/core/java/com/android/internal/inputmethod/EditableInputConnection.java
+++ b/core/java/com/android/internal/inputmethod/EditableInputConnection.java
@@ -27,7 +27,6 @@
import android.text.Selection;
import android.text.method.KeyListener;
import android.util.Log;
-import android.util.imetracing.InputConnectionHelper;
import android.util.proto.ProtoOutputStream;
import android.view.inputmethod.BaseInputConnection;
import android.view.inputmethod.CompletionInfo;
@@ -261,7 +260,7 @@
final long token = proto.start(fieldId);
CharSequence editableText = mTextView.getText();
CharSequence selectedText = getSelectedText(0 /* flags */);
- if (InputConnectionHelper.DUMP_TEXT) {
+ if (InputConnectionProtoDumper.DUMP_TEXT) {
if (editableText != null) {
proto.write(EDITABLE_TEXT, editableText.toString());
}
diff --git a/core/java/android/util/imetracing/ImeTracing.java b/core/java/com/android/internal/inputmethod/ImeTracing.java
similarity index 98%
rename from core/java/android/util/imetracing/ImeTracing.java
rename to core/java/com/android/internal/inputmethod/ImeTracing.java
index 4696ae3..840e270 100644
--- a/core/java/android/util/imetracing/ImeTracing.java
+++ b/core/java/com/android/internal/inputmethod/ImeTracing.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package android.util.imetracing;
+package com.android.internal.inputmethod;
import android.annotation.Nullable;
import android.app.ActivityThread;
@@ -36,8 +36,6 @@
* An abstract class that declares the methods for ime trace related operations - enable trace,
* schedule trace and add new trace to buffer. Both the client and server side classes can use
* it by getting an implementation through {@link ImeTracing#getInstance()}.
- *
- * @hide
*/
public abstract class ImeTracing {
diff --git a/core/java/android/util/imetracing/ImeTracingClientImpl.java b/core/java/com/android/internal/inputmethod/ImeTracingClientImpl.java
similarity index 95%
rename from core/java/android/util/imetracing/ImeTracingClientImpl.java
rename to core/java/com/android/internal/inputmethod/ImeTracingClientImpl.java
index 5a57a6a..632e1d3 100644
--- a/core/java/android/util/imetracing/ImeTracingClientImpl.java
+++ b/core/java/com/android/internal/inputmethod/ImeTracingClientImpl.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package android.util.imetracing;
+package com.android.internal.inputmethod;
import android.annotation.NonNull;
import android.inputmethodservice.AbstractInputMethodService;
@@ -27,7 +27,7 @@
import java.io.PrintWriter;
/**
- * @hide
+ * An implementation of {@link ImeTracing} for non system_server processes.
*/
class ImeTracingClientImpl extends ImeTracing {
ImeTracingClientImpl() throws ServiceNotFoundException, RemoteException {
diff --git a/core/java/android/util/imetracing/ImeTracingServerImpl.java b/core/java/com/android/internal/inputmethod/ImeTracingServerImpl.java
similarity index 98%
rename from core/java/android/util/imetracing/ImeTracingServerImpl.java
rename to core/java/com/android/internal/inputmethod/ImeTracingServerImpl.java
index 06e4c50..57d03f0 100644
--- a/core/java/android/util/imetracing/ImeTracingServerImpl.java
+++ b/core/java/com/android/internal/inputmethod/ImeTracingServerImpl.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package android.util.imetracing;
+package com.android.internal.inputmethod;
import static android.os.Build.IS_USER;
@@ -37,7 +37,7 @@
import java.io.PrintWriter;
/**
- * @hide
+ * An implementation of {@link ImeTracing} for the system_server process.
*/
class ImeTracingServerImpl extends ImeTracing {
private static final String TRACE_DIRNAME = "/data/misc/wmtrace/";
diff --git a/core/java/android/util/imetracing/InputConnectionHelper.java b/core/java/com/android/internal/inputmethod/InputConnectionProtoDumper.java
similarity index 95%
rename from core/java/android/util/imetracing/InputConnectionHelper.java
rename to core/java/com/android/internal/inputmethod/InputConnectionProtoDumper.java
index 39f1e01..213337a 100644
--- a/core/java/android/util/imetracing/InputConnectionHelper.java
+++ b/core/java/com/android/internal/inputmethod/InputConnectionProtoDumper.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package android.util.imetracing;
+package com.android.internal.inputmethod;
import static android.view.inputmethod.InputConnectionCallProto.GET_CURSOR_CAPS_MODE;
import static android.view.inputmethod.InputConnectionCallProto.GET_EXTRACTED_TEXT;
@@ -41,13 +41,12 @@
/**
* Helper class for constructing {@link android.view.inputmethod.InputConnection} dumps, which are
* integrated into {@link ImeTracing}.
- * @hide
*/
-public class InputConnectionHelper {
- static final String TAG = "InputConnectionHelper";
+public final class InputConnectionProtoDumper {
+ static final String TAG = "InputConnectionProtoDumper";
public static final boolean DUMP_TEXT = false;
- private InputConnectionHelper() {}
+ private InputConnectionProtoDumper() {}
/**
* Builder for InputConnectionCallProto to hold
@@ -139,7 +138,7 @@
* @param flags Supplies additional options controlling how the text is
* returned. May be either {@code 0} or
* {@link android.view.inputmethod.InputConnection#GET_TEXT_WITH_STYLES}.
- * @param result an {@link android.view.inputmethod.SurroundingText} object describing the
+ * @param result an {@link SurroundingText} object describing the
* surrounding text and state of selection, or null if the input connection is no longer valid,
* or the editor can't comply with the request for some reason, or the application does not
* implement this method. The length of the returned text might be less than the sum of
@@ -199,10 +198,10 @@
* data.
*
* @param request Description of how the text should be returned.
- * {@link android.view.inputmethod.ExtractedTextRequest}
+ * {@link ExtractedTextRequest}
* @param flags Additional options to control the client, either {@code 0} or
* {@link android.view.inputmethod.InputConnection#GET_EXTRACTED_TEXT_MONITOR}.
- * @param result an {@link android.view.inputmethod.ExtractedText}
+ * @param result an {@link ExtractedText}
* object describing the state of the text view and containing the
* extracted text itself, or null if the input connection is no
* longer valid of the editor can't comply with the request for
diff --git a/core/java/com/android/internal/view/IInputConnectionWrapper.java b/core/java/com/android/internal/view/IInputConnectionWrapper.java
index 783d088..1f18bb2b 100644
--- a/core/java/com/android/internal/view/IInputConnectionWrapper.java
+++ b/core/java/com/android/internal/view/IInputConnectionWrapper.java
@@ -27,8 +27,6 @@
import android.os.RemoteException;
import android.os.Trace;
import android.util.Log;
-import android.util.imetracing.ImeTracing;
-import android.util.imetracing.InputConnectionHelper;
import android.util.proto.ProtoOutputStream;
import android.view.KeyEvent;
import android.view.View;
@@ -49,6 +47,8 @@
import com.android.internal.inputmethod.IExtractedTextResultCallback;
import com.android.internal.inputmethod.IIntResultCallback;
import com.android.internal.inputmethod.ISurroundingTextResultCallback;
+import com.android.internal.inputmethod.ImeTracing;
+import com.android.internal.inputmethod.InputConnectionProtoDumper;
import com.android.internal.os.SomeArgs;
import java.lang.ref.WeakReference;
@@ -366,7 +366,7 @@
result = ic.getTextAfterCursor(msg.arg1, msg.arg2);
}
if (ImeTracing.getInstance().isEnabled()) {
- icProto = InputConnectionHelper.buildGetTextAfterCursorProto(msg.arg1,
+ icProto = InputConnectionProtoDumper.buildGetTextAfterCursorProto(msg.arg1,
msg.arg2, result);
ImeTracing.getInstance().triggerClientDump(
TAG + "#getTextAfterCursor", mParentInputMethodManager, icProto);
@@ -396,7 +396,7 @@
result = ic.getTextBeforeCursor(msg.arg1, msg.arg2);
}
if (ImeTracing.getInstance().isEnabled()) {
- icProto = InputConnectionHelper.buildGetTextBeforeCursorProto(msg.arg1,
+ icProto = InputConnectionProtoDumper.buildGetTextBeforeCursorProto(msg.arg1,
msg.arg2, result);
ImeTracing.getInstance().triggerClientDump(
TAG + "#getTextBeforeCursor", mParentInputMethodManager, icProto);
@@ -426,7 +426,8 @@
result = ic.getSelectedText(msg.arg1);
}
if (ImeTracing.getInstance().isEnabled()) {
- icProto = InputConnectionHelper.buildGetSelectedTextProto(msg.arg1, result);
+ icProto = InputConnectionProtoDumper.buildGetSelectedTextProto(msg.arg1,
+ result);
ImeTracing.getInstance().triggerClientDump(
TAG + "#getSelectedText", mParentInputMethodManager, icProto);
}
@@ -459,8 +460,8 @@
result = ic.getSurroundingText(beforeLength, afterLength, flags);
}
if (ImeTracing.getInstance().isEnabled()) {
- icProto = InputConnectionHelper.buildGetSurroundingTextProto(beforeLength,
- afterLength, flags, result);
+ icProto = InputConnectionProtoDumper.buildGetSurroundingTextProto(
+ beforeLength, afterLength, flags, result);
ImeTracing.getInstance().triggerClientDump(
TAG + "#getSurroundingText", mParentInputMethodManager, icProto);
}
@@ -489,7 +490,7 @@
result = ic.getCursorCapsMode(msg.arg1);
}
if (ImeTracing.getInstance().isEnabled()) {
- icProto = InputConnectionHelper.buildGetCursorCapsModeProto(msg.arg1,
+ icProto = InputConnectionProtoDumper.buildGetCursorCapsModeProto(msg.arg1,
result);
ImeTracing.getInstance().triggerClientDump(
TAG + "#getCursorCapsMode", mParentInputMethodManager, icProto);
@@ -521,7 +522,7 @@
result = ic.getExtractedText(request, msg.arg1);
}
if (ImeTracing.getInstance().isEnabled()) {
- icProto = InputConnectionHelper.buildGetExtractedTextProto(request,
+ icProto = InputConnectionProtoDumper.buildGetExtractedTextProto(request,
msg.arg1, result);
ImeTracing.getInstance().triggerClientDump(
TAG + "#getExtractedText", mParentInputMethodManager, icProto);
diff --git a/services/core/java/com/android/server/inputmethod/InputMethodManagerService.java b/services/core/java/com/android/server/inputmethod/InputMethodManagerService.java
index 7955ecac..de78bec 100644
--- a/services/core/java/com/android/server/inputmethod/InputMethodManagerService.java
+++ b/services/core/java/com/android/server/inputmethod/InputMethodManagerService.java
@@ -44,7 +44,6 @@
import static android.server.inputmethod.InputMethodManagerServiceProto.SHOW_IME_WITH_HARD_KEYBOARD;
import static android.server.inputmethod.InputMethodManagerServiceProto.SHOW_REQUESTED;
import static android.server.inputmethod.InputMethodManagerServiceProto.SYSTEM_READY;
-import static android.util.imetracing.ImeTracing.IME_TRACING_FROM_IMMS;
import static android.view.Display.DEFAULT_DISPLAY;
import static android.view.Display.INVALID_DISPLAY;
import static android.view.WindowManager.DISPLAY_IME_POLICY_HIDE;
@@ -124,7 +123,6 @@
import android.util.PrintWriterPrinter;
import android.util.Printer;
import android.util.Slog;
-import android.util.imetracing.ImeTracing;
import android.util.proto.ProtoOutputStream;
import android.view.IWindowManager;
import android.view.InputChannel;
@@ -160,6 +158,7 @@
import com.android.internal.inputmethod.IInputContentUriToken;
import com.android.internal.inputmethod.IInputMethodPrivilegedOperations;
import com.android.internal.inputmethod.IVoidResultCallback;
+import com.android.internal.inputmethod.ImeTracing;
import com.android.internal.inputmethod.InputMethodDebug;
import com.android.internal.inputmethod.SoftInputShowHideReason;
import com.android.internal.inputmethod.StartInputFlags;
@@ -3927,7 +3926,7 @@
@BinderThread
@Override
public void startProtoDump(byte[] protoDump, int source, String where) {
- if (protoDump == null && source != IME_TRACING_FROM_IMMS) {
+ if (protoDump == null && source != ImeTracing.IME_TRACING_FROM_IMMS) {
// Dump not triggered from IMMS, but no proto information provided.
return;
}
@@ -3954,7 +3953,7 @@
proto.write(InputMethodServiceTraceProto.INPUT_METHOD_SERVICE, protoDump);
proto.end(service_token);
break;
- case IME_TRACING_FROM_IMMS:
+ case ImeTracing.IME_TRACING_FROM_IMMS:
final long managerservice_token =
proto.start(InputMethodManagerServiceTraceFileProto.ENTRY);
proto.write(InputMethodManagerServiceTraceProto.ELAPSED_REALTIME_NANOS,