Merge "Dump spell checker service info from TSMS." into nyc-dev
This commit is contained in:
@@ -31,10 +31,12 @@ import android.graphics.drawable.Drawable;
|
||||
import android.os.Parcel;
|
||||
import android.os.Parcelable;
|
||||
import android.util.AttributeSet;
|
||||
import android.util.PrintWriterPrinter;
|
||||
import android.util.Slog;
|
||||
import android.util.Xml;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.PrintWriter;
|
||||
import java.util.ArrayList;
|
||||
|
||||
/**
|
||||
@@ -55,7 +57,7 @@ public final class SpellCheckerInfo implements Parcelable {
|
||||
/**
|
||||
* The array of subtypes.
|
||||
*/
|
||||
private final ArrayList<SpellCheckerSubtype> mSubtypes = new ArrayList<SpellCheckerSubtype>();
|
||||
private final ArrayList<SpellCheckerSubtype> mSubtypes = new ArrayList<>();
|
||||
|
||||
/**
|
||||
* Constructor.
|
||||
@@ -267,4 +269,22 @@ public final class SpellCheckerInfo implements Parcelable {
|
||||
public int describeContents() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* @hide
|
||||
*/
|
||||
public void dump(final PrintWriter pw, final String prefix) {
|
||||
pw.println(prefix + "mId=" + mId);
|
||||
pw.println(prefix + "mSettingsActivityName=" + mSettingsActivityName);
|
||||
pw.println(prefix + "Service:");
|
||||
mService.dump(new PrintWriterPrinter(pw), prefix + " ");
|
||||
final int N = getSubtypeCount();
|
||||
for (int i = 0; i < N; i++) {
|
||||
final SpellCheckerSubtype st = getSubtypeAt(i);
|
||||
pw.println(prefix + " " + "Subtype #" + i + ":");
|
||||
pw.println(prefix + " " + "locale=" + st.getLocale()
|
||||
+ " languageTag=" + st.getLanguageTag());
|
||||
pw.println(prefix + " " + "extraValue=" + st.getExtraValue());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -774,50 +774,36 @@ public class TextServicesManagerService extends ITextServicesManager.Stub {
|
||||
|
||||
synchronized(mSpellCheckerMap) {
|
||||
pw.println("Current Text Services Manager state:");
|
||||
pw.println(" Spell Checker Map:");
|
||||
for (Map.Entry<String, SpellCheckerInfo> ent : mSpellCheckerMap.entrySet()) {
|
||||
pw.print(" "); pw.print(ent.getKey()); pw.println(":");
|
||||
SpellCheckerInfo info = ent.getValue();
|
||||
pw.print(" "); pw.print("id="); pw.println(info.getId());
|
||||
pw.print(" "); pw.print("comp=");
|
||||
pw.println(info.getComponent().toShortString());
|
||||
int NS = info.getSubtypeCount();
|
||||
for (int i=0; i<NS; i++) {
|
||||
SpellCheckerSubtype st = info.getSubtypeAt(i);
|
||||
pw.print(" "); pw.print("Subtype #"); pw.print(i); pw.println(":");
|
||||
pw.print(" "); pw.print("locale="); pw.println(st.getLocale());
|
||||
pw.print(" "); pw.print("extraValue=");
|
||||
pw.println(st.getExtraValue());
|
||||
}
|
||||
pw.println(" Spell Checkers:");
|
||||
int spellCheckerIndex = 0;
|
||||
for (final SpellCheckerInfo info : mSpellCheckerMap.values()) {
|
||||
pw.println(" Spell Checker #" + spellCheckerIndex);
|
||||
info.dump(pw, " ");
|
||||
++spellCheckerIndex;
|
||||
}
|
||||
pw.println("");
|
||||
pw.println(" Spell Checker Bind Groups:");
|
||||
for (Map.Entry<String, SpellCheckerBindGroup> ent
|
||||
for (final Map.Entry<String, SpellCheckerBindGroup> ent
|
||||
: mSpellCheckerBindGroups.entrySet()) {
|
||||
SpellCheckerBindGroup grp = ent.getValue();
|
||||
pw.print(" "); pw.print(ent.getKey()); pw.print(" ");
|
||||
pw.print(grp); pw.println(":");
|
||||
pw.print(" "); pw.print("mInternalConnection=");
|
||||
pw.println(grp.mInternalConnection);
|
||||
pw.print(" "); pw.print("mSpellChecker=");
|
||||
pw.println(grp.mSpellChecker);
|
||||
pw.print(" "); pw.print("mBound="); pw.print(grp.mBound);
|
||||
pw.print(" mConnected="); pw.println(grp.mConnected);
|
||||
int NL = grp.mListeners.size();
|
||||
for (int i=0; i<NL; i++) {
|
||||
InternalDeathRecipient listener = grp.mListeners.get(i);
|
||||
pw.print(" "); pw.print("Listener #"); pw.print(i); pw.println(":");
|
||||
pw.print(" "); pw.print("mTsListener=");
|
||||
pw.println(listener.mTsListener);
|
||||
pw.print(" "); pw.print("mScListener=");
|
||||
pw.println(listener.mScListener);
|
||||
pw.print(" "); pw.print("mGroup=");
|
||||
pw.println(listener.mGroup);
|
||||
pw.print(" "); pw.print("mScLocale=");
|
||||
pw.print(listener.mScLocale);
|
||||
pw.print(" mUid="); pw.println(listener.mUid);
|
||||
final SpellCheckerBindGroup grp = ent.getValue();
|
||||
pw.println(" " + ent.getKey() + " " + grp + ":");
|
||||
pw.println(" " + "mInternalConnection=" + grp.mInternalConnection);
|
||||
pw.println(" " + "mSpellChecker=" + grp.mSpellChecker);
|
||||
pw.println(" " + "mBound=" + grp.mBound + " mConnected=" + grp.mConnected);
|
||||
final int N = grp.mListeners.size();
|
||||
for (int i = 0; i < N; i++) {
|
||||
final InternalDeathRecipient listener = grp.mListeners.get(i);
|
||||
pw.println(" " + "Listener #" + i + ":");
|
||||
pw.println(" " + "mTsListener=" + listener.mTsListener);
|
||||
pw.println(" " + "mScListener=" + listener.mScListener);
|
||||
pw.println(" " + "mGroup=" + listener.mGroup);
|
||||
pw.println(" " + "mScLocale=" + listener.mScLocale
|
||||
+ " mUid=" + listener.mUid);
|
||||
}
|
||||
}
|
||||
pw.println("");
|
||||
pw.println(" mSettings:");
|
||||
mSettings.dumpLocked(pw, " ");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1119,6 +1105,11 @@ public class TextServicesManagerService extends ITextServicesManager.Stub {
|
||||
public boolean isSpellCheckerEnabled() {
|
||||
return getBoolean(Settings.Secure.SPELL_CHECKER_ENABLED, true);
|
||||
}
|
||||
|
||||
public void dumpLocked(final PrintWriter pw, final String prefix) {
|
||||
pw.println(prefix + "mCurrentUserId=" + mCurrentUserId);
|
||||
pw.println(prefix + "mCurrentProfileIds=" + Arrays.toString(mCurrentProfileIds));
|
||||
}
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------
|
||||
|
||||
Reference in New Issue
Block a user