Include textclassifier info in dumpsys
Example output:
Text classifier constants=null
TextClassifierImpl:
Model file(s):
ModelFile { path=/data/misc/textclassifier/textclassifier.model name=textclassifier.model version=603 locales=en }
ModelFile { path=/etc/textclassifier/textclassifier.universal.model name=textclassifier.universal.model version=6 locales=und }
ModelFile { path=/etc/textclassifier/textclassifier.en.model name=textclassifier.en.model version=6 locales=en }
mFallback=android.view.textclassifier.TextClassifier$1@8269b3
SystemTextClassifier:
mFallback=android.view.textclassifier.TextClassifierImpl@72dbb70 mPackageName=android mSessionId=null isSystemTextClassifierEnabled=true
TextClassificationConstants:
isLocalTextClassifierEnabled=true isSystemTextClassifierEnabled=true isModelDarkLaunchEnabled=false isSmartSelectionEnabled=true isSmartTextShareEnabled=true isSmartLinkifyEnabled=true isSmartSelectionAnimationEnabled=true getSuggestSelectionMaxRangeLength=10000 getClassifyTextMaxRangeLength=10000 getGenerateLinksMaxTextLength=100000 getGenerateLinksLogSampleRate=100 getEntityListDefault=[address, email, phone, url, date, datetime, flight] getEntityListNotEditable=[address, email, phone, url, date, datetime, flight] getEntityListEditable=[address, email, phone, url, date, datetime, flight]
FIXES: 111434669
Test: adb shell dumpsys textclassification
Change-Id: If0cbc290034ff51ec31fed1ce08e5bc806603549
This commit is contained in:
@@ -30,6 +30,7 @@ import android.service.textclassifier.ITextSelectionCallback;
|
||||
|
||||
import com.android.internal.annotations.VisibleForTesting;
|
||||
import com.android.internal.annotations.VisibleForTesting.Visibility;
|
||||
import com.android.internal.util.IndentingPrintWriter;
|
||||
import com.android.internal.util.Preconditions;
|
||||
|
||||
import java.util.concurrent.CountDownLatch;
|
||||
@@ -162,6 +163,17 @@ public final class SystemTextClassifier implements TextClassifier {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void dump(@NonNull IndentingPrintWriter printWriter) {
|
||||
printWriter.println("SystemTextClassifier:");
|
||||
printWriter.increaseIndent();
|
||||
printWriter.printPair("mFallback", mFallback);
|
||||
printWriter.printPair("mPackageName", mPackageName);
|
||||
printWriter.printPair("mSessionId", mSessionId);
|
||||
printWriter.decreaseIndent();
|
||||
printWriter.println();
|
||||
}
|
||||
|
||||
/**
|
||||
* Attempts to initialize a new classification session.
|
||||
*
|
||||
|
||||
@@ -20,6 +20,8 @@ import android.annotation.Nullable;
|
||||
import android.util.KeyValueListParser;
|
||||
import android.util.Slog;
|
||||
|
||||
import com.android.internal.util.IndentingPrintWriter;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
@@ -241,4 +243,25 @@ public final class TextClassificationConstants {
|
||||
private static List<String> parseEntityList(String listStr) {
|
||||
return Collections.unmodifiableList(Arrays.asList(listStr.split(ENTITY_LIST_DELIMITER)));
|
||||
}
|
||||
|
||||
void dump(IndentingPrintWriter pw) {
|
||||
pw.println("TextClassificationConstants:");
|
||||
pw.increaseIndent();
|
||||
pw.printPair("isLocalTextClassifierEnabled", mLocalTextClassifierEnabled);
|
||||
pw.printPair("isSystemTextClassifierEnabled", mSystemTextClassifierEnabled);
|
||||
pw.printPair("isModelDarkLaunchEnabled", mModelDarkLaunchEnabled);
|
||||
pw.printPair("isSmartSelectionEnabled", mSmartSelectionEnabled);
|
||||
pw.printPair("isSmartTextShareEnabled", mSmartTextShareEnabled);
|
||||
pw.printPair("isSmartLinkifyEnabled", mSmartLinkifyEnabled);
|
||||
pw.printPair("isSmartSelectionAnimationEnabled", mSmartSelectionAnimationEnabled);
|
||||
pw.printPair("getSuggestSelectionMaxRangeLength", mSuggestSelectionMaxRangeLength);
|
||||
pw.printPair("getClassifyTextMaxRangeLength", mClassifyTextMaxRangeLength);
|
||||
pw.printPair("getGenerateLinksMaxTextLength", mGenerateLinksMaxTextLength);
|
||||
pw.printPair("getGenerateLinksLogSampleRate", mGenerateLinksLogSampleRate);
|
||||
pw.printPair("getEntityListDefault", mEntityListDefault);
|
||||
pw.printPair("getEntityListNotEditable", mEntityListNotEditable);
|
||||
pw.printPair("getEntityListEditable", mEntityListEditable);
|
||||
pw.decreaseIndent();
|
||||
pw.println();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -27,6 +27,7 @@ import android.service.textclassifier.TextClassifierService;
|
||||
import android.view.textclassifier.TextClassifier.TextClassifierType;
|
||||
|
||||
import com.android.internal.annotations.GuardedBy;
|
||||
import com.android.internal.util.IndentingPrintWriter;
|
||||
import com.android.internal.util.Preconditions;
|
||||
|
||||
import java.lang.ref.WeakReference;
|
||||
@@ -246,6 +247,13 @@ public final class TextClassificationManager {
|
||||
: mContext;
|
||||
}
|
||||
|
||||
/** @hide **/
|
||||
public void dump(IndentingPrintWriter pw) {
|
||||
getLocalTextClassifier().dump(pw);
|
||||
getSystemTextClassifier().dump(pw);
|
||||
getSettings().dump(pw);
|
||||
}
|
||||
|
||||
/** @hide */
|
||||
public static TextClassificationConstants getSettings(Context context) {
|
||||
Preconditions.checkNotNull(context);
|
||||
|
||||
@@ -34,6 +34,7 @@ import android.text.util.Linkify.LinkifyMask;
|
||||
import android.util.ArrayMap;
|
||||
import android.util.ArraySet;
|
||||
|
||||
import com.android.internal.util.IndentingPrintWriter;
|
||||
import com.android.internal.util.Preconditions;
|
||||
|
||||
import java.lang.annotation.Retention;
|
||||
@@ -390,6 +391,11 @@ public interface TextClassifier {
|
||||
return false;
|
||||
}
|
||||
|
||||
/** @hide **/
|
||||
default void dump(@NonNull IndentingPrintWriter printWriter) {
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Configuration object for specifying what entities to identify.
|
||||
*
|
||||
|
||||
@@ -41,6 +41,7 @@ import android.provider.CalendarContract;
|
||||
import android.provider.ContactsContract;
|
||||
|
||||
import com.android.internal.annotations.GuardedBy;
|
||||
import com.android.internal.util.IndentingPrintWriter;
|
||||
import com.android.internal.util.Preconditions;
|
||||
|
||||
import java.io.File;
|
||||
@@ -439,6 +440,24 @@ public final class TextClassifierImpl implements TextClassifier {
|
||||
return builder.setId(createId(text, start, end)).build();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void dump(@NonNull IndentingPrintWriter printWriter) {
|
||||
synchronized (mLock) {
|
||||
listAllModelsLocked();
|
||||
printWriter.println("TextClassifierImpl:");
|
||||
printWriter.increaseIndent();
|
||||
printWriter.println("Model file(s):");
|
||||
printWriter.increaseIndent();
|
||||
for (ModelFile modelFile : mAllModelFiles) {
|
||||
printWriter.println(modelFile.toString());
|
||||
}
|
||||
printWriter.decreaseIndent();
|
||||
printWriter.printPair("mFallback", mFallback);
|
||||
printWriter.decreaseIndent();
|
||||
printWriter.println();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Closes the ParcelFileDescriptor and logs any errors that occur.
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user