Merge "Improved debug to diagnose Save issues." into oc-dev

This commit is contained in:
Felipe Leme
2017-06-07 00:26:05 +00:00
committed by Android (Google) Code Review
3 changed files with 27 additions and 9 deletions

View File

@@ -1404,10 +1404,16 @@ final class Session implements RemoteFillService.FillServiceCallbacks, ViewState
} }
} }
@Override
public String toString() {
return "Session: [id=" + id + ", pkg=" + mPackageName + "]";
}
void dumpLocked(String prefix, PrintWriter pw) { void dumpLocked(String prefix, PrintWriter pw) {
final String prefix2 = prefix + " "; final String prefix2 = prefix + " ";
pw.print(prefix); pw.print("id: "); pw.println(id); pw.print(prefix); pw.print("id: "); pw.println(id);
pw.print(prefix); pw.print("uid: "); pw.println(uid); pw.print(prefix); pw.print("uid: "); pw.println(uid);
pw.print(prefix); pw.print("mPackagename: "); pw.println(mPackageName);
pw.print(prefix); pw.print("mActivityToken: "); pw.println(mActivityToken); pw.print(prefix); pw.print("mActivityToken: "); pw.println(mActivityToken);
pw.print(prefix); pw.print("mResponses: "); pw.print(prefix); pw.print("mResponses: ");
if (mResponses == null) { if (mResponses == null) {

View File

@@ -332,6 +332,10 @@ public final class AutoFillUI {
@android.annotation.UiThread @android.annotation.UiThread
private void hideSaveUiUiThread(@Nullable AutoFillUiCallback callback) { private void hideSaveUiUiThread(@Nullable AutoFillUiCallback callback) {
if (sVerbose) {
Slog.v(TAG, "hideSaveUiUiThread(): mSaveUi=" + mSaveUi + ", callback=" + callback
+ ", mCallback=" + mCallback);
}
if (mSaveUi != null && (callback == null || callback == mCallback)) { if (mSaveUi != null && (callback == null || callback == mCallback)) {
mSaveUi.destroy(); mSaveUi.destroy();
mSaveUi = null; mSaveUi = null;

View File

@@ -17,6 +17,7 @@
package com.android.server.autofill.ui; package com.android.server.autofill.ui;
import static com.android.server.autofill.Helper.sDebug; import static com.android.server.autofill.Helper.sDebug;
import static com.android.server.autofill.Helper.sVerbose;
import android.annotation.NonNull; import android.annotation.NonNull;
import android.app.Dialog; import android.app.Dialog;
@@ -63,7 +64,7 @@ final class SaveUi {
@Override @Override
public void onSave() { public void onSave() {
if (sDebug) Slog.d(TAG, "onSave(): " + mDone); if (sDebug) Slog.d(TAG, "OneTimeListener.onSave(): " + mDone);
if (mDone) { if (mDone) {
return; return;
} }
@@ -73,7 +74,7 @@ final class SaveUi {
@Override @Override
public void onCancel(IntentSender listener) { public void onCancel(IntentSender listener) {
if (sDebug) Slog.d(TAG, "onCancel(): " + mDone); if (sDebug) Slog.d(TAG, "OneTimeListener.onCancel(): " + mDone);
if (mDone) { if (mDone) {
return; return;
} }
@@ -83,7 +84,7 @@ final class SaveUi {
@Override @Override
public void onDestroy() { public void onDestroy() {
if (sDebug) Slog.d(TAG, "onDestroy(): " + mDone); if (sDebug) Slog.d(TAG, "OneTimeListener.onDestroy(): " + mDone);
if (mDone) { if (mDone) {
return; return;
} }
@@ -158,9 +159,8 @@ final class SaveUi {
subTitleView.setVisibility(View.VISIBLE); subTitleView.setVisibility(View.VISIBLE);
} }
Slog.i(TAG, "Showing save dialog: " + mTitle);
if (sDebug) { if (sDebug) {
Slog.d(TAG, "SubTitle: " + mSubTitle); Slog.d(TAG, "on constructor: title=" + mTitle + ", subTitle=" + mSubTitle);
} }
final TextView noButton = view.findViewById(R.id.autofill_save_no); final TextView noButton = view.findViewById(R.id.autofill_save_no);
@@ -169,15 +169,15 @@ final class SaveUi {
} else { } else {
noButton.setText(R.string.autofill_save_no); noButton.setText(R.string.autofill_save_no);
} }
noButton.setOnClickListener((v) -> mListener.onCancel( View.OnClickListener cancelListener =
info.getNegativeActionListener())); (v) -> mListener.onCancel(info.getNegativeActionListener());
noButton.setOnClickListener(cancelListener);
final View yesButton = view.findViewById(R.id.autofill_save_yes); final View yesButton = view.findViewById(R.id.autofill_save_yes);
yesButton.setOnClickListener((v) -> mListener.onSave()); yesButton.setOnClickListener((v) -> mListener.onSave());
final View closeButton = view.findViewById(R.id.autofill_save_close); final View closeButton = view.findViewById(R.id.autofill_save_close);
closeButton.setOnClickListener((v) -> mListener.onCancel( closeButton.setOnClickListener(cancelListener);
info.getNegativeActionListener()));
mDialog = new Dialog(context, R.style.Theme_DeviceDefault_Light_Panel); mDialog = new Dialog(context, R.style.Theme_DeviceDefault_Light_Panel);
mDialog.setContentView(view); mDialog.setContentView(view);
@@ -195,13 +195,16 @@ final class SaveUi {
params.width = WindowManager.LayoutParams.MATCH_PARENT; params.width = WindowManager.LayoutParams.MATCH_PARENT;
params.accessibilityTitle = context.getString(R.string.autofill_save_accessibility_title); params.accessibilityTitle = context.getString(R.string.autofill_save_accessibility_title);
Slog.i(TAG, "Showing save dialog: " + mTitle);
mDialog.show(); mDialog.show();
} }
void destroy() { void destroy() {
if (sDebug) Slog.d(TAG, "destroy()");
throwIfDestroyed(); throwIfDestroyed();
mListener.onDestroy(); mListener.onDestroy();
mHandler.removeCallbacksAndMessages(mListener); mHandler.removeCallbacksAndMessages(mListener);
if (sVerbose) Slog.v(TAG, "destroy(): dismissing dialog");
mDialog.dismiss(); mDialog.dismiss();
mDestroyed = true; mDestroyed = true;
} }
@@ -212,6 +215,11 @@ final class SaveUi {
} }
} }
@Override
public String toString() {
return mTitle == null ? "NO TITLE" : mTitle.toString();
}
void dump(PrintWriter pw, String prefix) { void dump(PrintWriter pw, String prefix) {
pw.print(prefix); pw.print("title: "); pw.println(mTitle); pw.print(prefix); pw.print("title: "); pw.println(mTitle);
pw.print(prefix); pw.print("subtitle: "); pw.println(mSubTitle); pw.print(prefix); pw.print("subtitle: "); pw.println(mSubTitle);