diff --git a/aosp_diff/aaos_iasw/frameworks/base/0002-base-debug-patch-not-merge.patch b/aosp_diff/aaos_iasw/frameworks/base/0002-base-debug-patch-not-merge.patch new file mode 100644 index 0000000000..3c54dc72a0 --- /dev/null +++ b/aosp_diff/aaos_iasw/frameworks/base/0002-base-debug-patch-not-merge.patch @@ -0,0 +1,539 @@ +From f2f93792165c1e2749368968cd40e69ae90b343c Mon Sep 17 00:00:00 2001 +From: Xu Bing +Date: Thu, 13 Feb 2025 13:52:55 +0800 +Subject: [PATCH] base debug patch,not merge + +Tracked-On: OAM-129624 +Signed-off-by: Xu Bing +--- + core/java/android/hardware/input/InputManager.java | 5 +++-- + .../android/hardware/input/InputManagerGlobal.java | 4 ++-- + .../inputmethodservice/IInputMethodWrapper.java | 1 + + .../inputmethodservice/InputMethodService.java | 3 ++- + .../java/android/view/ImeInsetsSourceConsumer.java | 4 +++- + core/java/android/view/InputDevice.java | 10 +++++++++- + core/java/android/view/InputEventReceiver.java | 8 +++++++- + core/java/android/view/InputEventSender.java | 4 +++- + core/java/android/view/inputmethod/ImeTracker.java | 2 +- + .../view/inputmethod/InputMethodManager.java | 12 ++++++++++-- + .../InputMethodPrivilegedOperations.java | 1 + + .../android/server/input/InputManagerService.java | 8 +++++++- + .../inputmethod/InputMethodManagerService.java | 14 +++++++++++--- + .../android/server/policy/PhoneWindowManager.java | 8 ++++++-- + 14 files changed, 66 insertions(+), 18 deletions(-) + +diff --git a/core/java/android/hardware/input/InputManager.java b/core/java/android/hardware/input/InputManager.java +index a0cceae98ba9..01c2e5a63063 100644 +--- a/core/java/android/hardware/input/InputManager.java ++++ b/core/java/android/hardware/input/InputManager.java +@@ -65,9 +65,9 @@ import java.util.concurrent.Executor; + */ + @SystemService(Context.INPUT_SERVICE) + public final class InputManager { +- private static final String TAG = "InputManager"; ++ private static final String TAG = "SB1 InputManager"; + // To enable these logs, run: 'adb shell setprop log.tag.InputManager DEBUG' (requires restart) +- private static final boolean DEBUG = Log.isLoggable(TAG, Log.DEBUG); ++ private static final boolean DEBUG = true; + + @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023) + private final IInputManager mIm; +@@ -287,6 +287,7 @@ public final class InputManager { + */ + @Nullable + public InputDevice getInputDevice(int id) { ++ Log.e(TAG, "getInputDevice deviceid: " + id); + return mGlobal.getInputDevice(id); + } + +diff --git a/core/java/android/hardware/input/InputManagerGlobal.java b/core/java/android/hardware/input/InputManagerGlobal.java +index c0877d3ad8e2..ff4bc497319d 100644 +--- a/core/java/android/hardware/input/InputManagerGlobal.java ++++ b/core/java/android/hardware/input/InputManagerGlobal.java +@@ -68,10 +68,10 @@ import java.util.concurrent.Executor; + * @hide + */ + public final class InputManagerGlobal { +- private static final String TAG = "InputManagerGlobal"; ++ private static final String TAG = "XB1 InputManagerGlobal"; + // To enable these logs, run: 'adb shell setprop log.tag.InputManagerGlobal DEBUG' + // (requires restart) +- private static final boolean DEBUG = Log.isLoggable(TAG, Log.DEBUG); ++ private static final boolean DEBUG = true; + + @GuardedBy("mInputDeviceListeners") + @Nullable private SparseArray mInputDevices; +diff --git a/core/java/android/inputmethodservice/IInputMethodWrapper.java b/core/java/android/inputmethodservice/IInputMethodWrapper.java +index b99996ff83c8..1e512a0cfec9 100644 +--- a/core/java/android/inputmethodservice/IInputMethodWrapper.java ++++ b/core/java/android/inputmethodservice/IInputMethodWrapper.java +@@ -443,6 +443,7 @@ class IInputMethodWrapper extends IInputMethod.Stub + @Override + public void hideSoftInput(IBinder hideInputToken, @Nullable ImeTracker.Token statsToken, + int flags, ResultReceiver resultReceiver) { ++ new Exception("XB inputmethodwrapper").printStackTrace(); + ImeTracker.forLogging().onProgress(statsToken, ImeTracker.PHASE_IME_WRAPPER); + mCaller.executeOrSendMessage(mCaller.obtainMessageIOOO(DO_HIDE_SOFT_INPUT, + flags, hideInputToken, resultReceiver, statsToken)); +diff --git a/core/java/android/inputmethodservice/InputMethodService.java b/core/java/android/inputmethodservice/InputMethodService.java +index 8f653b3808c1..d02dcd73160a 100644 +--- a/core/java/android/inputmethodservice/InputMethodService.java ++++ b/core/java/android/inputmethodservice/InputMethodService.java +@@ -328,7 +328,7 @@ import java.util.OptionalInt; + @UiContext + public class InputMethodService extends AbstractInputMethodService { + static final String TAG = "InputMethodService"; +- static final boolean DEBUG = false; ++ static final boolean DEBUG = true; + + /** + * Key for a boolean value that tells whether {@link InputMethodService} is responsible for +@@ -906,6 +906,7 @@ public class InputMethodService extends AbstractInputMethodService { + public void hideSoftInput(int flags, ResultReceiver resultReceiver) { + ImeTracker.forLogging().onProgress( + mCurStatsToken, ImeTracker.PHASE_IME_HIDE_SOFT_INPUT); ++ //new Exception("XB inputmethodservice").printStackTrace(); + if (DEBUG) Log.v(TAG, "hideSoftInput()"); + if (getApplicationInfo().targetSdkVersion >= Build.VERSION_CODES.R + && !mSystemCallingHideSoftInput) { +diff --git a/core/java/android/view/ImeInsetsSourceConsumer.java b/core/java/android/view/ImeInsetsSourceConsumer.java +index 4a3b8ac65aa4..79c95c6f8560 100644 +--- a/core/java/android/view/ImeInsetsSourceConsumer.java ++++ b/core/java/android/view/ImeInsetsSourceConsumer.java +@@ -25,6 +25,7 @@ import android.annotation.Nullable; + import android.os.IBinder; + import android.os.Process; + import android.os.Trace; ++import android.util.Log; + import android.util.proto.ProtoOutputStream; + import android.view.SurfaceControl.Transaction; + import android.view.inputmethod.ImeTracker; +@@ -71,6 +72,7 @@ public final class ImeInsetsSourceConsumer extends InsetsSourceConsumer { + mIsRequestedVisibleAwaitingControl = false; + if (!running && !mHasPendingRequest) { + notifyHidden(null /* statsToken */); ++ Log.v("ImeInsetsSourceConsumer input", "onAnimationStateChanged running: " + running); + removeSurface(); + } + } +@@ -170,7 +172,7 @@ public final class ImeInsetsSourceConsumer extends InsetsSourceConsumer { + ImeTracker.ORIGIN_CLIENT_HIDE_SOFT_INPUT, + SoftInputShowHideReason.HIDE_SOFT_INPUT_BY_INSETS_API); + } +- ++ new Exception("XB input Imeinsets").printStackTrace(); + ImeTracker.forLogging().onProgress(statsToken, + ImeTracker.PHASE_CLIENT_INSETS_CONSUMER_NOTIFY_HIDDEN); + +diff --git a/core/java/android/view/InputDevice.java b/core/java/android/view/InputDevice.java +index a436e08a0a2d..a7348c945a3e 100644 +--- a/core/java/android/view/InputDevice.java ++++ b/core/java/android/view/InputDevice.java +@@ -34,6 +34,7 @@ import android.icu.util.ULocale; + import android.os.Build; + import android.os.NullVibrator; + import android.os.Parcel; ++import android.util.Slog; + import android.os.Parcelable; + import android.os.Vibrator; + import android.os.VibratorManager; +@@ -63,6 +64,7 @@ import java.util.List; + *

+ */ + public final class InputDevice implements Parcelable { ++ static final String TAG = "XB1 InputDevice"; + private final int mId; + private final int mGeneration; + private final int mControllerNumber; +@@ -474,6 +476,7 @@ public final class InputDevice implements Parcelable { + boolean hasButtonUnderPad, boolean hasSensor, boolean hasBattery, int usiVersionMajor, + int usiVersionMinor, int associatedDisplayId) { + mId = id; ++ Slog.d(TAG, "InputDevice deviceId : " + mId ); + mGeneration = generation; + mControllerNumber = controllerNumber; + mName = name; +@@ -507,6 +510,7 @@ public final class InputDevice implements Parcelable { + private InputDevice(Parcel in) { + mKeyCharacterMap = KeyCharacterMap.CREATOR.createFromParcel(in); + mId = in.readInt(); ++ Slog.d(TAG, "InputDevice Parcel deviceId : " + mId ); + mGeneration = in.readInt(); + mControllerNumber = in.readInt(); + mName = in.readString(); +@@ -571,6 +575,7 @@ public final class InputDevice implements Parcelable { + /** @see InputDevice#getId() */ + public Builder setId(int id) { + mId = id; ++ Slog.d(TAG, "setId deviceId : " + mId ); + return this; + } + +@@ -589,6 +594,7 @@ public final class InputDevice implements Parcelable { + /** @see InputDevice#getName() */ + public Builder setName(String name) { + mName = name; ++ Slog.d(TAG, "setName mName : " + mName ); + return this; + } + +@@ -720,7 +726,7 @@ public final class InputDevice implements Parcelable { + mUsiVersionMajor, + mUsiVersionMinor, + mAssociatedDisplayId); +- ++Slog.d(TAG, "build deviceId : " + mId ); + final int numRanges = mMotionRanges.size(); + for (int i = 0; i < numRanges; i++) { + final MotionRange range = mMotionRanges.get(i); +@@ -745,6 +751,7 @@ public final class InputDevice implements Parcelable { + */ + @Nullable + public static InputDevice getDevice(int id) { ++ Slog.d(TAG, "getDevice deviceId : " + id ); + return InputManagerGlobal.getInstance().getInputDevice(id); + } + +@@ -769,6 +776,7 @@ public final class InputDevice implements Parcelable { + * @return The input device id. + */ + public int getId() { ++ Slog.d(TAG, "getId deviceId : " + mId ); + return mId; + } + +diff --git a/core/java/android/view/InputEventReceiver.java b/core/java/android/view/InputEventReceiver.java +index 492c9384a969..a497705c13c3 100644 +--- a/core/java/android/view/InputEventReceiver.java ++++ b/core/java/android/view/InputEventReceiver.java +@@ -36,7 +36,7 @@ import java.lang.ref.WeakReference; + * @hide + */ + public abstract class InputEventReceiver { +- private static final String TAG = "InputEventReceiver"; ++ private static final String TAG = "XB1 InputEventReceiver"; + + private final CloseGuard mCloseGuard = CloseGuard.get(); + +@@ -199,6 +199,10 @@ public abstract class InputEventReceiver { + * @param handled True if the event was handled. + */ + public final void finishInputEvent(InputEvent event, boolean handled) { ++ ++ Log.w(TAG, "finishInputEvent deviceid: "+ event.getDeviceId()+", source : " ++ +event.getSource()+", device : "+event.getDevice()+", displayid : "+event.getDisplayId()); ++ + if (event == null) { + throw new IllegalArgumentException("event must not be null"); + } +@@ -264,6 +268,8 @@ public abstract class InputEventReceiver { + @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.R, trackingBug = 170729553) + private void dispatchInputEvent(int seq, InputEvent event) { + mSeqMap.put(event.getSequenceNumber(), seq); ++ Log.w(TAG, "dispatchInputEvent deviceid: " ++ + event.getDeviceId()); + onInputEvent(event); + } + +diff --git a/core/java/android/view/InputEventSender.java b/core/java/android/view/InputEventSender.java +index 64f62c75199e..5e5070b4fc7d 100644 +--- a/core/java/android/view/InputEventSender.java ++++ b/core/java/android/view/InputEventSender.java +@@ -31,7 +31,7 @@ import java.lang.ref.WeakReference; + * @hide + */ + public abstract class InputEventSender { +- private static final String TAG = "InputEventSender"; ++ private static final String TAG = "XB1 InputEventSender"; + + private final CloseGuard mCloseGuard = CloseGuard.get(); + +@@ -131,6 +131,8 @@ public abstract class InputEventSender { + * if the input channel buffer filled before all samples were dispatched. + */ + public final boolean sendInputEvent(int seq, InputEvent event) { ++ Log.w(TAG, "sendInputEvent deviceid: " ++ + event.getDeviceId()); + if (event == null) { + throw new IllegalArgumentException("event must not be null"); + } +diff --git a/core/java/android/view/inputmethod/ImeTracker.java b/core/java/android/view/inputmethod/ImeTracker.java +index 03d1cd8f89e3..a3d3c7672f1a 100644 +--- a/core/java/android/view/inputmethod/ImeTracker.java ++++ b/core/java/android/view/inputmethod/ImeTracker.java +@@ -463,7 +463,7 @@ public interface ImeTracker { + final var tag = getTag(component); + final var token = IInputMethodManagerGlobalInvoker.onRequestHide(tag, uid, origin, + reason); +- ++ new Exception("XB input").printStackTrace(); + Log.i(TAG, token.mTag + ": onRequestHide at " + Debug.originToString(origin) + + " reason " + InputMethodDebug.softInputDisplayReasonToString(reason)); + +diff --git a/core/java/android/view/inputmethod/InputMethodManager.java b/core/java/android/view/inputmethod/InputMethodManager.java +index 31abac855090..f2ab7ec239c7 100644 +--- a/core/java/android/view/inputmethod/InputMethodManager.java ++++ b/core/java/android/view/inputmethod/InputMethodManager.java +@@ -85,6 +85,7 @@ import android.util.Pools.Pool; + import android.util.Pools.SimplePool; + import android.util.PrintWriterPrinter; + import android.util.Printer; ++import android.util.Slog; + import android.util.SparseArray; + import android.util.proto.ProtoOutputStream; + import android.view.Display; +@@ -285,8 +286,8 @@ import java.util.function.Consumer; + @SystemService(Context.INPUT_METHOD_SERVICE) + @RequiresFeature(PackageManager.FEATURE_INPUT_METHODS) + public final class InputMethodManager { +- private static final boolean DEBUG = false; +- private static final String TAG = "InputMethodManager"; ++ private static final boolean DEBUG = true; ++ private static final String TAG = "XB1 InputMethodManager"; + + private static final String PENDING_EVENT_COUNTER = "aq:imm"; + +@@ -2269,6 +2270,7 @@ public final class InputMethodManager { + * as returned by {@link View#getWindowToken() View.getWindowToken()}. + */ + public boolean hideSoftInputFromWindow(IBinder windowToken, @HideFlags int flags) { ++ Slog.w(TAG, "hideSoftInputFromWindow windowToken " + windowToken); + return hideSoftInputFromWindow(windowToken, flags, null); + } + +@@ -2309,6 +2311,7 @@ public final class InputMethodManager { + ImeTracker.ORIGIN_CLIENT_HIDE_SOFT_INPUT, reason); + ImeTracker.forLatency().onRequestHide(statsToken, ImeTracker.ORIGIN_CLIENT_HIDE_SOFT_INPUT, + reason, ActivityThread::currentApplication); ++ Slog.w(TAG, "hideSoftInputFromWindow reason " + reason); + ImeTracing.getInstance().triggerClientDump("InputMethodManager#hideSoftInputFromWindow", + this, null /* icProto */); + checkFocus(); +@@ -2318,6 +2321,7 @@ public final class InputMethodManager { + ImeTracker.forLogging().onFailed(statsToken, ImeTracker.PHASE_CLIENT_VIEW_SERVED); + ImeTracker.forLatency().onHideFailed(statsToken, + ImeTracker.PHASE_CLIENT_VIEW_SERVED, ActivityThread::currentApplication); ++ Slog.w(TAG, "hideSoftInputFromWindow not hide reason " + reason); + return false; + } + +@@ -3169,6 +3173,7 @@ public final class InputMethodManager { + Process.myUid(), ImeTracker.ORIGIN_CLIENT_HIDE_SOFT_INPUT, + SoftInputShowHideReason.HIDE_SOFT_INPUT_BY_INSETS_API); + } ++ Log.v(TAG, "notifyImeHidden statsToken: " + statsToken); + ImeTracker.forLatency().onRequestHide(statsToken, ImeTracker.ORIGIN_CLIENT_HIDE_SOFT_INPUT, + SoftInputShowHideReason.HIDE_SOFT_INPUT_BY_INSETS_API, + ActivityThread::currentApplication); +@@ -3180,6 +3185,7 @@ public final class InputMethodManager { + ImeTracker.forLogging().onFailed(statsToken, ImeTracker.PHASE_CLIENT_VIEW_SERVED); + ImeTracker.forLatency().onHideFailed(statsToken, + ImeTracker.PHASE_CLIENT_VIEW_SERVED, ActivityThread::currentApplication); ++ Log.v(TAG, "notifyImeHidden onHideFailed : " + statsToken); + return; + } + +@@ -3717,6 +3723,8 @@ public final class InputMethodManager { + } + + p = mPendingEvents.valueAt(index); ++ Log.w(TAG, "finishedInputEvent deviceid: " ++ + p.mEvent.getDeviceId()); + mPendingEvents.removeAt(index); + Trace.traceCounter(Trace.TRACE_TAG_INPUT, PENDING_EVENT_COUNTER, mPendingEvents.size()); + +diff --git a/core/java/com/android/internal/inputmethod/InputMethodPrivilegedOperations.java b/core/java/com/android/internal/inputmethod/InputMethodPrivilegedOperations.java +index 30ebbe2bb111..38a5c906bb25 100644 +--- a/core/java/com/android/internal/inputmethod/InputMethodPrivilegedOperations.java ++++ b/core/java/com/android/internal/inputmethod/InputMethodPrivilegedOperations.java +@@ -260,6 +260,7 @@ public final class InputMethodPrivilegedOperations { + public void hideMySoftInput(@InputMethodManager.HideFlags int flags, + @SoftInputShowHideReason int reason) { + final IInputMethodPrivilegedOperations ops = mOps.getAndWarnIfNull(); ++ new Exception("XB input").printStackTrace(); + if (ops == null) { + return; + } +diff --git a/services/core/java/com/android/server/input/InputManagerService.java b/services/core/java/com/android/server/input/InputManagerService.java +index ff69719c9497..09100ac2039e 100644 +--- a/services/core/java/com/android/server/input/InputManagerService.java ++++ b/services/core/java/com/android/server/input/InputManagerService.java +@@ -141,7 +141,7 @@ import java.util.function.Consumer; + /** The system implementation of {@link IInputManager} that manages input devices. */ + public class InputManagerService extends IInputManager.Stub + implements Watchdog.Monitor { +- static final String TAG = "InputManager"; ++ static final String TAG = "XB1 InputManagerService"; + // To enable these logs, run: 'adb shell setprop log.tag.InputManager DEBUG' (requires restart) + private static final boolean DEBUG = Log.isLoggable(TAG, Log.DEBUG); + +@@ -612,6 +612,7 @@ public class InputManagerService extends IInputManager.Stub + * @return The key state. + */ + public int getKeyCodeState(int deviceId, int sourceMask, int keyCode) { ++ Slog.d(TAG, "getKeyCodeState deviceId: " + deviceId); + return mNative.getKeyCodeState(deviceId, sourceMask, keyCode); + } + +@@ -625,6 +626,7 @@ public class InputManagerService extends IInputManager.Stub + * @return The key state. + */ + public int getScanCodeState(int deviceId, int sourceMask, int scanCode) { ++ Slog.d(TAG, "getScanCodeState deviceId: " + deviceId); + return mNative.getScanCodeState(deviceId, sourceMask, scanCode); + } + +@@ -638,6 +640,7 @@ public class InputManagerService extends IInputManager.Stub + * @return The switch state. + */ + public int getSwitchState(int deviceId, int sourceMask, int switchCode) { ++ Slog.d(TAG, "getSwitchState deviceId: " + deviceId); + return mNative.getSwitchState(deviceId, sourceMask, switchCode); + } + +@@ -657,6 +660,7 @@ public class InputManagerService extends IInputManager.Stub + public boolean hasKeys(int deviceId, int sourceMask, int[] keyCodes, boolean[] keyExists) { + Objects.requireNonNull(keyCodes, "keyCodes must not be null"); + Objects.requireNonNull(keyExists, "keyExists must not be null"); ++ Slog.d(TAG, "hasKeys deviceId: " + deviceId); + if (keyExists.length < keyCodes.length) { + throw new IllegalArgumentException("keyExists must be at least as large as keyCodes"); + } +@@ -948,6 +952,7 @@ public class InputManagerService extends IInputManager.Stub + synchronized (mInputDevicesLock) { + for (final InputDevice inputDevice : mInputDevices) { + if (inputDevice.getId() == deviceId) { ++ Slog.d(TAG, "getInputDevice deviceId: " + deviceId); + return inputDevice; + } + } +@@ -2649,6 +2654,7 @@ public class InputManagerService extends IInputManager.Stub + * @return True if the device could dispatch to the given display, false otherwise. + */ + public boolean canDispatchToDisplay(int deviceId, int displayId) { ++ Slog.d(TAG, "canDispatchToDisplay deviceId: " + deviceId); + return mNative.canDispatchToDisplay(deviceId, displayId); + } + +diff --git a/services/core/java/com/android/server/inputmethod/InputMethodManagerService.java b/services/core/java/com/android/server/inputmethod/InputMethodManagerService.java +index 999e30a72f7a..1a94b3c98150 100644 +--- a/services/core/java/com/android/server/inputmethod/InputMethodManagerService.java ++++ b/services/core/java/com/android/server/inputmethod/InputMethodManagerService.java +@@ -216,8 +216,8 @@ public final class InputMethodManagerService extends IInputMethodManager.Stub + implements Handler.Callback { + // Virtual device id for test. + private static final Integer VIRTUAL_STYLUS_ID_FOR_TEST = 999999; +- static final boolean DEBUG = false; +- static final String TAG = "InputMethodManagerService"; ++ static final boolean DEBUG = true; ++ static final String TAG = "XB1 InputMethodManagerService"; + public static final String PROTO_ARG = "--proto"; + + @Retention(SOURCE) +@@ -3655,6 +3655,7 @@ public final class InputMethodManagerService extends IInputMethodManager.Stub + int uid = Binder.getCallingUid(); + ImeTracing.getInstance().triggerManagerServiceDump( + "InputMethodManagerService#hideSoftInput"); ++ Slog.v(TAG, "hideSoftInput...."); + synchronized (ImfLock.class) { + if (!canInteractWithImeLocked(uid, client, "hideSoftInput", statsToken)) { + if (isInputShown()) { +@@ -3688,7 +3689,7 @@ public final class InputMethodManagerService extends IInputMethodManager.Stub + statsToken = createStatsTokenForFocusedClient(false /* show */, + ImeTracker.ORIGIN_SERVER_HIDE_INPUT, reason); + } +- ++ Slog.v(TAG, "hideCurrentInputLocked...."); + if (!mVisibilityStateComputer.canHideIme(statsToken, flags)) { + return false; + } +@@ -4485,6 +4486,7 @@ public final class InputMethodManagerService extends IInputMethodManager.Stub + @Override + public void onInputDeviceAdded(int deviceId) { + InputDevice device = im.getInputDevice(deviceId); ++ Slog.d(TAG, "onInputDeviceAdded deviceId : " + deviceId ); + if (device != null && isStylusDevice(device)) { + add(deviceId); + } +@@ -4492,12 +4494,14 @@ public final class InputMethodManagerService extends IInputMethodManager.Stub + + @Override + public void onInputDeviceRemoved(int deviceId) { ++ Slog.d(TAG, "onInputDeviceRemoved deviceId : " + deviceId ); + remove(deviceId); + } + + @Override + public void onInputDeviceChanged(int deviceId) { + InputDevice device = im.getInputDevice(deviceId); ++ Slog.d(TAG, "onInputDeviceChanged deviceId : " + deviceId ); + if (device == null) { + return; + } +@@ -4510,12 +4514,14 @@ public final class InputMethodManagerService extends IInputMethodManager.Stub + + private void add(int deviceId) { + synchronized (ImfLock.class) { ++ Slog.d(TAG, "add deviceId : " + deviceId ); + addStylusDeviceIdLocked(deviceId); + } + } + + private void remove(int deviceId) { + synchronized (ImfLock.class) { ++ Slog.d(TAG, "remove deviceId : " + deviceId ); + removeStylusDeviceIdLocked(deviceId); + } + } +@@ -4856,6 +4862,7 @@ public final class InputMethodManagerService extends IInputMethodManager.Stub + @GuardedBy("ImfLock.class") + void onShowHideSoftInputRequested(boolean show, IBinder requestImeToken, + @SoftInputShowHideReason int reason, @Nullable ImeTracker.Token statsToken) { ++ Slog.v(TAG, "onShowHideSoftInputRequested...."); + final IBinder requestToken = mVisibilityStateComputer.getWindowTokenFrom(requestImeToken); + final WindowManagerInternal.ImeTargetInfo info = + mWindowManagerInternal.onToggleImeRequested( +@@ -4877,6 +4884,7 @@ public final class InputMethodManagerService extends IInputMethodManager.Stub + try { + Trace.traceBegin(TRACE_TAG_WINDOW_MANAGER, "IMMS.hideMySoftInput"); + synchronized (ImfLock.class) { ++ Slog.v(TAG, "hideMySoftInput...."); + if (!calledWithValidTokenLocked(token)) { + return; + } +diff --git a/services/core/java/com/android/server/policy/PhoneWindowManager.java b/services/core/java/com/android/server/policy/PhoneWindowManager.java +index 339428260800..0862c351a493 100644 +--- a/services/core/java/com/android/server/policy/PhoneWindowManager.java ++++ b/services/core/java/com/android/server/policy/PhoneWindowManager.java +@@ -4741,11 +4741,13 @@ public class PhoneWindowManager implements WindowManagerPolicy { + if ((policyFlags & FLAG_WAKE) != 0) { + if (wakeUp(whenNanos / 1000000, mAllowTheaterModeWakeFromMotion, + PowerManager.WAKE_REASON_WAKE_MOTION, "android.policy:MOTION")) { +- return 0; ++ Slog.d(TAG, "XB interceptMotionBeforeQueueingNonInteractive1.....displayid: " + displayId); ++ return ACTION_PASS_TO_USER; + } + } + + if (shouldDispatchInputWhenNonInteractive(displayId, KEYCODE_UNKNOWN)) { ++ Slog.d(TAG, "XB interceptMotionBeforeQueueingNonInteractive2.....displayid: " + displayId); + return ACTION_PASS_TO_USER; + } + +@@ -4753,10 +4755,12 @@ public class PhoneWindowManager implements WindowManagerPolicy { + // there will be no dream to intercept the touch and wake into ambient. The device should + // wake up in this case. + if (isTheaterModeEnabled() && (policyFlags & FLAG_WAKE) != 0) { ++ Slog.d(TAG, "XB interceptMotionBeforeQueueingNonInteractive3.....displayid: " + displayId); + wakeUp(whenNanos / 1000000, mAllowTheaterModeWakeFromMotionWhenNotDreaming, + PowerManager.WAKE_REASON_WAKE_MOTION, "android.policy:MOTION"); ++ return ACTION_PASS_TO_USER; + } +- ++ Slog.d(TAG, "XB interceptMotionBeforeQueueingNonInteractive4.....displayid: " + displayId); + return 0; + } + +-- +2.34.1 + diff --git a/aosp_diff/aaos_iasw/frameworks/opt/car/services/0001-Debug-patch-not-merge.patch b/aosp_diff/aaos_iasw/frameworks/opt/car/services/0001-Debug-patch-not-merge.patch new file mode 100644 index 0000000000..d1596f6674 --- /dev/null +++ b/aosp_diff/aaos_iasw/frameworks/opt/car/services/0001-Debug-patch-not-merge.patch @@ -0,0 +1,106 @@ +From 8fc1ae6dac97118ed7f3ce492de8b9ee058cc95a Mon Sep 17 00:00:00 2001 +From: Xu Bing +Date: Thu, 13 Feb 2025 13:50:49 +0800 +Subject: [PATCH] Debug patch, not merge + +Tracked-On: OAM-129624 +Signed-off-by: Xu Bing +--- + .../CarInputMethodManagerService.java | 16 +++++++++++----- + 1 file changed, 11 insertions(+), 5 deletions(-) + +diff --git a/builtInServices/src_imms/com/android/server/inputmethod/CarInputMethodManagerService.java b/builtInServices/src_imms/com/android/server/inputmethod/CarInputMethodManagerService.java +index 278fed3..a63270c 100644 +--- a/builtInServices/src_imms/com/android/server/inputmethod/CarInputMethodManagerService.java ++++ b/builtInServices/src_imms/com/android/server/inputmethod/CarInputMethodManagerService.java +@@ -214,7 +214,7 @@ public final class CarInputMethodManagerService extends IInputMethodManager.Stub + implements Handler.Callback { + // Virtual device id for test. + private static final Integer VIRTUAL_STYLUS_ID_FOR_TEST = 999999; +- static final boolean DEBUG = false; ++ static final boolean DEBUG = true; + static final String TAG = "CarInputMethodManagerService"; + public static final String PROTO_ARG = "--proto"; + +@@ -3590,6 +3590,7 @@ public final class CarInputMethodManagerService extends IInputMethodManager.Stub + int uid = Binder.getCallingUid(); + ImeTracing.getInstance().triggerManagerServiceDump( + "InputMethodManagerService#hideSoftInput"); ++ new Exception("XB input").printStackTrace(); + synchronized (ImfLock.class) { + if (!canInteractWithImeLocked(uid, client, "hideSoftInput", statsToken)) { + if (isInputShown()) { +@@ -3604,7 +3605,7 @@ public final class CarInputMethodManagerService extends IInputMethodManager.Stub + final long ident = Binder.clearCallingIdentity(); + try { + Trace.traceBegin(TRACE_TAG_WINDOW_MANAGER, "IMMS.hideSoftInput"); +- if (DEBUG) Slog.v(TAG, "Client requesting input be hidden"); ++ if (DEBUG) Slog.w(TAG, "Client requesting input be hidden"); + return CarInputMethodManagerService.this.hideCurrentInputLocked(windowToken, + statsToken, flags, resultReceiver, reason); + } finally { +@@ -3622,7 +3623,7 @@ public final class CarInputMethodManagerService extends IInputMethodManager.Stub + statsToken = createStatsTokenForFocusedClient(false /* show */, + ImeTracker.ORIGIN_SERVER_HIDE_INPUT, reason); + } +- ++ Slog.w(TAG, "hideCurrentInputLocked"); + if (!mVisibilityStateComputer.canHideIme(statsToken, flags)) { + return false; + } +@@ -3638,7 +3639,7 @@ public final class CarInputMethodManagerService extends IInputMethodManager.Stub + IInputMethodInvoker curMethod = getCurMethodLocked(); + final boolean shouldHideSoftInput = curMethod != null + && (isInputShown() || (mImeWindowVis & InputMethodService.IME_ACTIVE) != 0); +- ++ Slog.v(TAG, "hideCurrentInputLocked shouldHideSoftInput : " + shouldHideSoftInput); + mVisibilityStateComputer.requestImeVisibility(windowToken, false); + if (shouldHideSoftInput) { + // The IME will report its visible state again after the following message finally +@@ -3646,8 +3647,10 @@ public final class CarInputMethodManagerService extends IInputMethodManager.Stub + // IMMS#mInputShown and IMMS#mImeWindowVis should be resolved spontaneously in + // the final state. + ImeTracker.forLogging().onProgress(statsToken, ImeTracker.PHASE_SERVER_SHOULD_HIDE); ++ Slog.v(TAG, "hideCurrentInputLocked performHideIme"); + mVisibilityApplier.performHideIme(windowToken, statsToken, resultReceiver, reason); + } else { ++ Slog.v(TAG, "hideCurrentInputLocked onCancelled"); + ImeTracker.forLogging().onCancelled(statsToken, ImeTracker.PHASE_SERVER_SHOULD_HIDE); + } + mBindingController.setCurrentMethodNotVisible(); +@@ -4788,6 +4791,7 @@ public final class CarInputMethodManagerService extends IInputMethodManager.Stub + void onShowHideSoftInputRequested(boolean show, IBinder requestImeToken, + @SoftInputShowHideReason int reason, @Nullable ImeTracker.Token statsToken) { + final IBinder requestToken = mVisibilityStateComputer.getWindowTokenFrom(requestImeToken); ++ Slog.v(TAG, "onShowHideSoftInputRequested"); + final WindowManagerInternal.ImeTargetInfo info = + mWindowManagerInternal.onToggleImeRequested( + show, mCurFocusedWindow, requestToken, mCurTokenDisplayId); +@@ -4807,6 +4811,7 @@ public final class CarInputMethodManagerService extends IInputMethodManager.Stub + @SoftInputShowHideReason int reason) { + try { + Trace.traceBegin(TRACE_TAG_WINDOW_MANAGER, "IMMS.hideMySoftInput"); ++ //new Exception("XB input").printStackTrace(); + synchronized (ImfLock.class) { + if (!calledWithValidTokenLocked(token)) { + return; +@@ -6721,7 +6726,7 @@ public final class CarInputMethodManagerService extends IInputMethodManager.Stub + final String packageName = mCurFocusedWindowEditorInfo != null + ? mCurFocusedWindowEditorInfo.packageName + : "uid(" + uid + ")"; +- ++ Slog.v(TAG, "createStatsTokenForFocusedClient......"); + if (show) { + return ImeTracker.forLogging().onRequestShow(packageName, uid, origin, reason); + } else { +@@ -6806,6 +6811,7 @@ public final class CarInputMethodManagerService extends IInputMethodManager.Stub + @SuppressWarnings("unchecked") + final AndroidFuture typedFuture = future; + try { ++ // new Exception("XB input").printStackTrace(); + mImms.hideMySoftInput(mToken, flags, reason); + typedFuture.complete(null); + } catch (Throwable e) { +-- +2.34.1 +