Merge "Dump more info for View when IMM#DEBUG is true." into nyc-dev
This commit is contained in:
@@ -827,7 +827,7 @@ public final class InputMethodManager {
|
|||||||
void finishInputLocked() {
|
void finishInputLocked() {
|
||||||
mNextServedView = null;
|
mNextServedView = null;
|
||||||
if (mServedView != null) {
|
if (mServedView != null) {
|
||||||
if (DEBUG) Log.v(TAG, "FINISH INPUT: " + mServedView);
|
if (DEBUG) Log.v(TAG, "FINISH INPUT: mServedView=" + dumpViewInfo(mServedView));
|
||||||
if (mCurrentTextBoxAttribute != null) {
|
if (mCurrentTextBoxAttribute != null) {
|
||||||
try {
|
try {
|
||||||
mService.finishInput(mClient);
|
mService.finishInput(mClient);
|
||||||
@@ -1139,7 +1139,7 @@ public final class InputMethodManager {
|
|||||||
|
|
||||||
// Make sure we have a window token for the served view.
|
// Make sure we have a window token for the served view.
|
||||||
if (DEBUG) {
|
if (DEBUG) {
|
||||||
Log.v(TAG, "Starting input: view=" + view +
|
Log.v(TAG, "Starting input: view=" + dumpViewInfo(view) +
|
||||||
" reason=" + InputMethodClient.getStartInputReason(startInputReason));
|
" reason=" + InputMethodClient.getStartInputReason(startInputReason));
|
||||||
}
|
}
|
||||||
if (view == null) {
|
if (view == null) {
|
||||||
@@ -1193,8 +1193,9 @@ public final class InputMethodManager {
|
|||||||
if (mServedView != view || !mServedConnecting) {
|
if (mServedView != view || !mServedConnecting) {
|
||||||
// Something else happened, so abort.
|
// Something else happened, so abort.
|
||||||
if (DEBUG) Log.v(TAG,
|
if (DEBUG) Log.v(TAG,
|
||||||
"Starting input: finished by someone else (view="
|
"Starting input: finished by someone else. view=" + dumpViewInfo(view)
|
||||||
+ mServedView + " conn=" + mServedConnecting + ")");
|
+ " mServedView=" + dumpViewInfo(mServedView)
|
||||||
|
+ " mServedConnecting=" + mServedConnecting);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1238,7 +1239,7 @@ public final class InputMethodManager {
|
|||||||
mServedInputConnectionWrapper = servedContext;
|
mServedInputConnectionWrapper = servedContext;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
if (DEBUG) Log.v(TAG, "START INPUT: " + view + " ic="
|
if (DEBUG) Log.v(TAG, "START INPUT: view=" + dumpViewInfo(view) + " ic="
|
||||||
+ ic + " tba=" + tba + " controlFlags=#"
|
+ ic + " tba=" + tba + " controlFlags=#"
|
||||||
+ Integer.toHexString(controlFlags));
|
+ Integer.toHexString(controlFlags));
|
||||||
final InputBindResult res = mService.startInputOrWindowGainedFocus(
|
final InputBindResult res = mService.startInputOrWindowGainedFocus(
|
||||||
@@ -1304,7 +1305,7 @@ public final class InputMethodManager {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void focusInLocked(View view) {
|
void focusInLocked(View view) {
|
||||||
if (DEBUG) Log.v(TAG, "focusIn: " + view);
|
if (DEBUG) Log.v(TAG, "focusIn: " + dumpViewInfo(view));
|
||||||
|
|
||||||
if (mCurRootView != view.getRootView()) {
|
if (mCurRootView != view.getRootView()) {
|
||||||
// This is a request from a window that isn't in the window with
|
// This is a request from a window that isn't in the window with
|
||||||
@@ -1323,9 +1324,8 @@ public final class InputMethodManager {
|
|||||||
*/
|
*/
|
||||||
public void focusOut(View view) {
|
public void focusOut(View view) {
|
||||||
synchronized (mH) {
|
synchronized (mH) {
|
||||||
if (DEBUG) Log.v(TAG, "focusOut: " + view
|
if (DEBUG) Log.v(TAG, "focusOut: view=" + dumpViewInfo(view)
|
||||||
+ " mServedView=" + mServedView
|
+ " mServedView=" + dumpViewInfo(mServedView));
|
||||||
+ " winFocus=" + view.hasWindowFocus());
|
|
||||||
if (mServedView != view) {
|
if (mServedView != view) {
|
||||||
// The following code would auto-hide the IME if we end up
|
// The following code would auto-hide the IME if we end up
|
||||||
// with no more views with focus. This can happen, however,
|
// with no more views with focus. This can happen, however,
|
||||||
@@ -1346,9 +1346,8 @@ public final class InputMethodManager {
|
|||||||
*/
|
*/
|
||||||
public void onViewDetachedFromWindow(View view) {
|
public void onViewDetachedFromWindow(View view) {
|
||||||
synchronized (mH) {
|
synchronized (mH) {
|
||||||
if (DEBUG) Log.v(TAG, "onViewDetachedFromWindow: " + view
|
if (DEBUG) Log.v(TAG, "onViewDetachedFromWindow: view=" + dumpViewInfo(view)
|
||||||
+ " mServedView=" + mServedView
|
+ " mServedView=" + dumpViewInfo(mServedView));
|
||||||
+ " hasWindowFocus=" + view.hasWindowFocus());
|
|
||||||
if (mServedView == view && view.hasWindowFocus()) {
|
if (mServedView == view && view.hasWindowFocus()) {
|
||||||
mNextServedView = null;
|
mNextServedView = null;
|
||||||
scheduleCheckFocusLocked(view);
|
scheduleCheckFocusLocked(view);
|
||||||
@@ -2306,4 +2305,16 @@ public final class InputMethodManager {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static String dumpViewInfo(@Nullable final View view) {
|
||||||
|
if (view == null) {
|
||||||
|
return "null";
|
||||||
|
}
|
||||||
|
final StringBuilder sb = new StringBuilder();
|
||||||
|
sb.append(view);
|
||||||
|
sb.append(",focus=" + view.hasFocus());
|
||||||
|
sb.append(",windowFocus=" + view.hasWindowFocus());
|
||||||
|
sb.append(",window=" + view.getWindowToken());
|
||||||
|
return sb.toString();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user