From f819213c8552d5efe2389eb2caf19d0d58fca7ea Mon Sep 17 00:00:00 2001 From: Felipe Leme Date: Fri, 12 Oct 2018 13:42:40 -0700 Subject: Improved logging and dump on TextClassification. Bug: 117435676 Test: adb shell dumpsys textclassification Change-Id: I09a7bbebb38117f1be8456a0c31b74a936b1e079 --- .../textclassifier/TextClassifierService.java | 4 ++-- .../TextClassificationManagerService.java | 25 ++++++++++++++++++++-- 2 files changed, 25 insertions(+), 4 deletions(-) diff --git a/core/java/android/service/textclassifier/TextClassifierService.java b/core/java/android/service/textclassifier/TextClassifierService.java index b461c0daaca5..7af9db8ebf32 100644 --- a/core/java/android/service/textclassifier/TextClassifierService.java +++ b/core/java/android/service/textclassifier/TextClassifierService.java @@ -405,8 +405,8 @@ public abstract class TextClassifierService extends Service { PackageManager.MATCH_SYSTEM_ONLY); if ((ri == null) || (ri.serviceInfo == null)) { - Slog.w(LOG_TAG, String.format("Package or service not found in package %s", - packageName)); + Slog.w(LOG_TAG, String.format("Package or service not found in package %s for user %d", + packageName, context.getUserId())); return null; } final ServiceInfo si = ri.serviceInfo; diff --git a/services/core/java/com/android/server/textclassifier/TextClassificationManagerService.java b/services/core/java/com/android/server/textclassifier/TextClassificationManagerService.java index d36ab3f09399..5ce8145fa00e 100644 --- a/services/core/java/com/android/server/textclassifier/TextClassificationManagerService.java +++ b/services/core/java/com/android/server/textclassifier/TextClassificationManagerService.java @@ -28,7 +28,6 @@ import android.os.Binder; import android.os.IBinder; import android.os.RemoteException; import android.os.UserHandle; -import android.provider.Settings; import android.service.textclassifier.ITextClassificationCallback; import android.service.textclassifier.ITextClassifierService; import android.service.textclassifier.ITextLinksCallback; @@ -41,7 +40,6 @@ import android.view.textclassifier.TextClassification; import android.view.textclassifier.TextClassificationContext; import android.view.textclassifier.TextClassificationManager; import android.view.textclassifier.TextClassificationSessionId; -import android.view.textclassifier.TextClassifier; import android.view.textclassifier.TextLinks; import android.view.textclassifier.TextSelection; @@ -275,6 +273,20 @@ public final class TextClassificationManagerService extends ITextClassifierServi IndentingPrintWriter pw = new IndentingPrintWriter(fout, " "); TextClassificationManager tcm = mContext.getSystemService(TextClassificationManager.class); tcm.dump(pw); + + pw.printPair("context", mContext); pw.println(); + synchronized (mLock) { + int size = mUserStates.size(); + pw.print("Number user states: "); pw.println(size); + if (size > 0) { + for (int i = 0; i < size; i++) { + pw.increaseIndent(); + UserState userState = mUserStates.valueAt(i); + pw.print(i); pw.print(":"); userState.dump(pw); pw.println(); + pw.decreaseIndent(); + } + } + } } private static final class PendingRequest implements IBinder.DeathRecipient { @@ -431,6 +443,15 @@ public final class TextClassificationManagerService extends ITextClassifierServi return willBind; } + private void dump(IndentingPrintWriter pw) { + pw.printPair("context", mContext); + pw.printPair("userId", mUserId); + synchronized (mLock) { + pw.printPair("binding", mBinding); + pw.printPair("numberRequests", mPendingRequests.size()); + } + } + private final class TextClassifierServiceConnection implements ServiceConnection { @Override public void onServiceConnected(ComponentName name, IBinder service) { -- cgit v1.2.3-59-g8ed1b