Add logs for debugging IME onConfigurationChanged
To help clarify why IME service client didn't receive
onConfigurationChanged callback.
Bug: 135719017
Test: manual
Change-Id: I2c17e2290f6cefd49ed5c30a8a524dcb48d6ee40
diff --git a/services/core/java/com/android/server/wm/WindowProcessController.java b/services/core/java/com/android/server/wm/WindowProcessController.java
index f74e2c0..26ec491 100644
--- a/services/core/java/com/android/server/wm/WindowProcessController.java
+++ b/services/core/java/com/android/server/wm/WindowProcessController.java
@@ -50,6 +50,7 @@
import android.content.pm.ActivityInfo;
import android.content.pm.ApplicationInfo;
import android.content.res.Configuration;
+import android.os.Build;
import android.os.Message;
import android.os.RemoteException;
import android.os.SystemClock;
@@ -160,6 +161,8 @@
// Thread currently set for VR scheduling
int mVrThreadTid;
+ boolean mIsImeProcess;
+
// all activities running in the process
private final ArrayList<ActivityRecord> mActivities = new ArrayList<>();
// any tasks this process had run root activities in
@@ -949,17 +952,32 @@
final Configuration config = getConfiguration();
if (mLastReportedConfiguration.diff(config) == 0) {
// Nothing changed.
+ if (Build.IS_DEBUGGABLE && mIsImeProcess) {
+ // TODO (b/135719017): Temporary log for debugging IME service.
+ Slog.w(TAG_CONFIGURATION, "Current config: " + config
+ + " unchanged for IME proc " + mName);
+ }
return;
}
try {
if (mThread == null) {
+ if (Build.IS_DEBUGGABLE && mIsImeProcess) {
+ // TODO (b/135719017): Temporary log for debugging IME service.
+ Slog.w(TAG_CONFIGURATION, "Unable to send config for IME proc " + mName
+ + ": no app thread");
+ }
return;
}
if (DEBUG_CONFIGURATION) {
Slog.v(TAG_CONFIGURATION, "Sending to proc " + mName
+ " new config " + config);
}
+ if (Build.IS_DEBUGGABLE && mIsImeProcess) {
+ // TODO (b/135719017): Temporary log for debugging IME service.
+ Slog.v(TAG_CONFIGURATION, "Sending to IME proc " + mName
+ + " new config " + config);
+ }
config.seq = mAtm.increaseConfigurationSeqLocked();
mAtm.getLifecycleManager().scheduleTransaction(mThread,
ConfigurationChangeItem.obtain(config));