public final class android.view.textservice.TextServicesManager
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: android.view.textservice.TextServicesManager
  super_class: java.lang.Object
{
  private static final java.lang.String TAG;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final boolean DBG;
    descriptor: Z
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  public static final boolean DISABLE_PER_PROFILE_SPELL_CHECKER;
    descriptor: Z
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  private static android.view.textservice.TextServicesManager sInstance;
    descriptor: Landroid/view/textservice/TextServicesManager;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private final com.android.internal.textservice.ITextServicesManager mService;
    descriptor: Lcom/android/internal/textservice/ITextServicesManager;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 66
            ldc Landroid/view/textservice/TextServicesManager;
            invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
            putstatic android.view.textservice.TextServicesManager.TAG:Ljava/lang/String;
         1: .line 75
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.view.textservice.TextServicesManager this
         0: .line 79
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 80
            aload 0 /* this */
         2: .line 81
            ldc "textservices"
            invokestatic android.os.ServiceManager.getServiceOrThrow:(Ljava/lang/String;)Landroid/os/IBinder;
         3: .line 80
            invokestatic com.android.internal.textservice.ITextServicesManager$Stub.asInterface:(Landroid/os/IBinder;)Lcom/android/internal/textservice/ITextServicesManager;
            putfield android.view.textservice.TextServicesManager.mService:Lcom/android/internal/textservice/ITextServicesManager;
         4: .line 82
            return
        end local 0 // android.view.textservice.TextServicesManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Landroid/view/textservice/TextServicesManager;
    Exceptions:
      throws android.os.ServiceManager$ServiceNotFoundException

  public static android.view.textservice.TextServicesManager getInstance();
    descriptor: ()Landroid/view/textservice/TextServicesManager;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=0
         0: .line 89
            ldc Landroid/view/textservice/TextServicesManager;
            dup
            astore 0
            monitorenter
         1: .line 90
            getstatic android.view.textservice.TextServicesManager.sInstance:Landroid/view/textservice/TextServicesManager;
            ifnonnull 6
         2: .line 92
            new android.view.textservice.TextServicesManager
            dup
            invokespecial android.view.textservice.TextServicesManager.<init>:()V
            putstatic android.view.textservice.TextServicesManager.sInstance:Landroid/view/textservice/TextServicesManager;
         3: .line 93
            goto 6
      StackMap locals: java.lang.Class
      StackMap stack: android.os.ServiceManager$ServiceNotFoundException
         4: astore 1 /* e */
        start local 1 // android.os.ServiceManager$ServiceNotFoundException e
         5: .line 94
            new java.lang.IllegalStateException
            dup
            aload 1 /* e */
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 1 // android.os.ServiceManager$ServiceNotFoundException e
         6: .line 97
      StackMap locals:
      StackMap stack:
            getstatic android.view.textservice.TextServicesManager.sInstance:Landroid/view/textservice/TextServicesManager;
            aload 0
            monitorexit
         7: areturn
         8: .line 89
      StackMap locals:
      StackMap stack: java.lang.Throwable
            aload 0
            monitorexit
         9: athrow
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            5    6     1     e  Landroid/os/ServiceManager$ServiceNotFoundException;
      Exception table:
        from    to  target  type
           2     3       4  Class android.os.ServiceManager$ServiceNotFoundException
           1     7       8  any
           8     9       8  any

  private static java.lang.String parseLanguageFromLocaleString(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.lang.String locale
         0: .line 105
            aload 0 /* locale */
            bipush 95
            invokevirtual java.lang.String.indexOf:(I)I
            istore 1 /* idx */
        start local 1 // int idx
         1: .line 106
            iload 1 /* idx */
            ifge 3
         2: .line 107
            aload 0 /* locale */
            areturn
         3: .line 109
      StackMap locals: int
      StackMap stack:
            aload 0 /* locale */
            iconst_0
            iload 1 /* idx */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            areturn
        end local 1 // int idx
        end local 0 // java.lang.String locale
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0  locale  Ljava/lang/String;
            1    4     1     idx  I
    MethodParameters:
        Name  Flags
      locale  

  public android.view.textservice.SpellCheckerSession newSpellCheckerSession(android.os.Bundle, java.util.Locale, android.view.textservice.SpellCheckerSession$SpellCheckerSessionListener, boolean);
    descriptor: (Landroid/os/Bundle;Ljava/util/Locale;Landroid/view/textservice/SpellCheckerSession$SpellCheckerSessionListener;Z)Landroid/view/textservice/SpellCheckerSession;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=12, args_size=5
        start local 0 // android.view.textservice.TextServicesManager this
        start local 1 // android.os.Bundle bundle
        start local 2 // java.util.Locale locale
        start local 3 // android.view.textservice.SpellCheckerSession$SpellCheckerSessionListener listener
        start local 4 // boolean referToSpellCheckerLanguageSettings
         0: .line 129
            aload 3 /* listener */
            ifnonnull 2
         1: .line 130
            new java.lang.NullPointerException
            dup
            invokespecial java.lang.NullPointerException.<init>:()V
            athrow
         2: .line 132
      StackMap locals:
      StackMap stack:
            iload 4 /* referToSpellCheckerLanguageSettings */
            ifne 4
            aload 2 /* locale */
            ifnonnull 4
         3: .line 133
            new java.lang.IllegalArgumentException
            dup
            ldc "Locale should not be null if you don't refer settings."
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 137
      StackMap locals:
      StackMap stack:
            iload 4 /* referToSpellCheckerLanguageSettings */
            ifeq 6
            aload 0 /* this */
            invokevirtual android.view.textservice.TextServicesManager.isSpellCheckerEnabled:()Z
            ifne 6
         5: .line 138
            aconst_null
            areturn
         6: .line 143
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.view.textservice.TextServicesManager.mService:Lcom/android/internal/textservice/ITextServicesManager;
            aconst_null
            invokeinterface com.android.internal.textservice.ITextServicesManager.getCurrentSpellChecker:(Ljava/lang/String;)Landroid/view/textservice/SpellCheckerInfo;
            astore 5 /* sci */
        start local 5 // android.view.textservice.SpellCheckerInfo sci
         7: .line 144
            goto 10
        end local 5 // android.view.textservice.SpellCheckerInfo sci
      StackMap locals:
      StackMap stack: android.os.RemoteException
         8: pop
         9: .line 145
            aconst_null
            areturn
        start local 5 // android.view.textservice.SpellCheckerInfo sci
        10: .line 147
      StackMap locals: android.view.textservice.SpellCheckerInfo
      StackMap stack:
            aload 5 /* sci */
            ifnonnull 12
        11: .line 148
            aconst_null
            areturn
        12: .line 150
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 6 /* subtypeInUse */
        start local 6 // android.view.textservice.SpellCheckerSubtype subtypeInUse
        13: .line 151
            iload 4 /* referToSpellCheckerLanguageSettings */
            ifeq 22
        14: .line 152
            aload 0 /* this */
            iconst_1
            invokevirtual android.view.textservice.TextServicesManager.getCurrentSpellCheckerSubtype:(Z)Landroid/view/textservice/SpellCheckerSubtype;
            astore 6 /* subtypeInUse */
        15: .line 153
            aload 6 /* subtypeInUse */
            ifnonnull 17
        16: .line 154
            aconst_null
            areturn
        17: .line 156
      StackMap locals: android.view.textservice.SpellCheckerSubtype
      StackMap stack:
            aload 2 /* locale */
            ifnull 36
        18: .line 157
            aload 6 /* subtypeInUse */
            invokevirtual android.view.textservice.SpellCheckerSubtype.getLocale:()Ljava/lang/String;
            astore 7 /* subtypeLocale */
        start local 7 // java.lang.String subtypeLocale
        19: .line 158
            aload 7 /* subtypeLocale */
            invokestatic android.view.textservice.TextServicesManager.parseLanguageFromLocaleString:(Ljava/lang/String;)Ljava/lang/String;
            astore 8 /* subtypeLanguage */
        start local 8 // java.lang.String subtypeLanguage
        20: .line 159
            aload 8 /* subtypeLanguage */
            invokevirtual java.lang.String.length:()I
            iconst_2
            if_icmplt 21
            aload 2 /* locale */
            invokevirtual java.util.Locale.getLanguage:()Ljava/lang/String;
            aload 8 /* subtypeLanguage */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 36
        21: .line 160
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
            aconst_null
            areturn
        end local 8 // java.lang.String subtypeLanguage
        end local 7 // java.lang.String subtypeLocale
        22: .line 164
      StackMap locals:
      StackMap stack:
            aload 2 /* locale */
            invokevirtual java.util.Locale.toString:()Ljava/lang/String;
            astore 7 /* localeStr */
        start local 7 // java.lang.String localeStr
        23: .line 165
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        24: goto 35
        25: .line 166
      StackMap locals: java.lang.String int
      StackMap stack:
            aload 5 /* sci */
            iload 8 /* i */
            invokevirtual android.view.textservice.SpellCheckerInfo.getSubtypeAt:(I)Landroid/view/textservice/SpellCheckerSubtype;
            astore 9 /* subtype */
        start local 9 // android.view.textservice.SpellCheckerSubtype subtype
        26: .line 167
            aload 9 /* subtype */
            invokevirtual android.view.textservice.SpellCheckerSubtype.getLocale:()Ljava/lang/String;
            astore 10 /* tempSubtypeLocale */
        start local 10 // java.lang.String tempSubtypeLocale
        27: .line 168
            aload 10 /* tempSubtypeLocale */
            invokestatic android.view.textservice.TextServicesManager.parseLanguageFromLocaleString:(Ljava/lang/String;)Ljava/lang/String;
            astore 11 /* tempSubtypeLanguage */
        start local 11 // java.lang.String tempSubtypeLanguage
        28: .line 169
            aload 10 /* tempSubtypeLocale */
            aload 7 /* localeStr */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 31
        29: .line 170
            aload 9 /* subtype */
            astore 6 /* subtypeInUse */
        30: .line 171
            goto 36
        31: .line 172
      StackMap locals: android.view.textservice.SpellCheckerSubtype java.lang.String java.lang.String
      StackMap stack:
            aload 11 /* tempSubtypeLanguage */
            invokevirtual java.lang.String.length:()I
            iconst_2
            if_icmplt 34
        32: .line 173
            aload 2 /* locale */
            invokevirtual java.util.Locale.getLanguage:()Ljava/lang/String;
            aload 11 /* tempSubtypeLanguage */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 34
        33: .line 174
            aload 9 /* subtype */
            astore 6 /* subtypeInUse */
        end local 11 // java.lang.String tempSubtypeLanguage
        end local 10 // java.lang.String tempSubtypeLocale
        end local 9 // android.view.textservice.SpellCheckerSubtype subtype
        34: .line 165
      StackMap locals:
      StackMap stack:
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        35: iload 8 /* i */
            aload 5 /* sci */
            invokevirtual android.view.textservice.SpellCheckerInfo.getSubtypeCount:()I
            if_icmplt 25
        end local 8 // int i
        end local 7 // java.lang.String localeStr
        36: .line 178
      StackMap locals:
      StackMap stack:
            aload 6 /* subtypeInUse */
            ifnonnull 38
        37: .line 179
            aconst_null
            areturn
        38: .line 181
      StackMap locals:
      StackMap stack:
            new android.view.textservice.SpellCheckerSession
            dup
            aload 5 /* sci */
            aload 0 /* this */
            getfield android.view.textservice.TextServicesManager.mService:Lcom/android/internal/textservice/ITextServicesManager;
            aload 3 /* listener */
            invokespecial android.view.textservice.SpellCheckerSession.<init>:(Landroid/view/textservice/SpellCheckerInfo;Lcom/android/internal/textservice/ITextServicesManager;Landroid/view/textservice/SpellCheckerSession$SpellCheckerSessionListener;)V
            astore 7 /* session */
        start local 7 // android.view.textservice.SpellCheckerSession session
        39: .line 183
            aload 0 /* this */
            getfield android.view.textservice.TextServicesManager.mService:Lcom/android/internal/textservice/ITextServicesManager;
            aload 5 /* sci */
            invokevirtual android.view.textservice.SpellCheckerInfo.getId:()Ljava/lang/String;
            aload 6 /* subtypeInUse */
            invokevirtual android.view.textservice.SpellCheckerSubtype.getLocale:()Ljava/lang/String;
        40: .line 184
            aload 7 /* session */
            invokevirtual android.view.textservice.SpellCheckerSession.getTextServicesSessionListener:()Lcom/android/internal/textservice/ITextServicesSessionListener;
        41: .line 185
            aload 7 /* session */
            invokevirtual android.view.textservice.SpellCheckerSession.getSpellCheckerSessionListener:()Lcom/android/internal/textservice/ISpellCheckerSessionListener;
            aload 1 /* bundle */
        42: .line 183
            invokeinterface com.android.internal.textservice.ITextServicesManager.getSpellCheckerService:(Ljava/lang/String;Ljava/lang/String;Lcom/android/internal/textservice/ITextServicesSessionListener;Lcom/android/internal/textservice/ISpellCheckerSessionListener;Landroid/os/Bundle;)V
        43: .line 186
            goto 46
      StackMap locals: android.view.textservice.TextServicesManager android.os.Bundle java.util.Locale android.view.textservice.SpellCheckerSession$SpellCheckerSessionListener int android.view.textservice.SpellCheckerInfo android.view.textservice.SpellCheckerSubtype android.view.textservice.SpellCheckerSession
      StackMap stack: android.os.RemoteException
        44: astore 8 /* e */
        start local 8 // android.os.RemoteException e
        45: .line 187
            aload 8 /* e */
            invokevirtual android.os.RemoteException.rethrowFromSystemServer:()Ljava/lang/RuntimeException;
            athrow
        end local 8 // android.os.RemoteException e
        46: .line 189
      StackMap locals:
      StackMap stack:
            aload 7 /* session */
            areturn
        end local 7 // android.view.textservice.SpellCheckerSession session
        end local 6 // android.view.textservice.SpellCheckerSubtype subtypeInUse
        end local 5 // android.view.textservice.SpellCheckerInfo sci
        end local 4 // boolean referToSpellCheckerLanguageSettings
        end local 3 // android.view.textservice.SpellCheckerSession$SpellCheckerSessionListener listener
        end local 2 // java.util.Locale locale
        end local 1 // android.os.Bundle bundle
        end local 0 // android.view.textservice.TextServicesManager this
      LocalVariableTable:
        Start  End  Slot                                 Name  Signature
            0   47     0                                 this  Landroid/view/textservice/TextServicesManager;
            0   47     1                               bundle  Landroid/os/Bundle;
            0   47     2                               locale  Ljava/util/Locale;
            0   47     3                             listener  Landroid/view/textservice/SpellCheckerSession$SpellCheckerSessionListener;
            0   47     4  referToSpellCheckerLanguageSettings  Z
            7    8     5                                  sci  Landroid/view/textservice/SpellCheckerInfo;
           10   47     5                                  sci  Landroid/view/textservice/SpellCheckerInfo;
           13   47     6                         subtypeInUse  Landroid/view/textservice/SpellCheckerSubtype;
           19   22     7                        subtypeLocale  Ljava/lang/String;
           20   22     8                      subtypeLanguage  Ljava/lang/String;
           23   36     7                            localeStr  Ljava/lang/String;
           24   36     8                                    i  I
           26   34     9                              subtype  Landroid/view/textservice/SpellCheckerSubtype;
           27   34    10                    tempSubtypeLocale  Ljava/lang/String;
           28   34    11                  tempSubtypeLanguage  Ljava/lang/String;
           39   47     7                              session  Landroid/view/textservice/SpellCheckerSession;
           45   46     8                                    e  Landroid/os/RemoteException;
      Exception table:
        from    to  target  type
           6     7       8  Class android.os.RemoteException
          39    43      44  Class android.os.RemoteException
    MethodParameters:
                                     Name  Flags
      bundle                               
      locale                               
      listener                             
      referToSpellCheckerLanguageSettings  

  public android.view.textservice.SpellCheckerInfo[] getEnabledSpellCheckers();
    descriptor: ()[Landroid/view/textservice/SpellCheckerInfo;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // android.view.textservice.TextServicesManager this
         0: .line 197
            aload 0 /* this */
            getfield android.view.textservice.TextServicesManager.mService:Lcom/android/internal/textservice/ITextServicesManager;
            invokeinterface com.android.internal.textservice.ITextServicesManager.getEnabledSpellCheckers:()[Landroid/view/textservice/SpellCheckerInfo;
            astore 1 /* retval */
        start local 1 // android.view.textservice.SpellCheckerInfo[] retval
         1: .line 201
            aload 1 /* retval */
         2: areturn
        end local 1 // android.view.textservice.SpellCheckerInfo[] retval
         3: .line 202
      StackMap locals:
      StackMap stack: android.os.RemoteException
            astore 1 /* e */
        start local 1 // android.os.RemoteException e
         4: .line 203
            aload 1 /* e */
            invokevirtual android.os.RemoteException.rethrowFromSystemServer:()Ljava/lang/RuntimeException;
            athrow
        end local 1 // android.os.RemoteException e
        end local 0 // android.view.textservice.TextServicesManager this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Landroid/view/textservice/TextServicesManager;
            1    3     1  retval  [Landroid/view/textservice/SpellCheckerInfo;
            4    5     1       e  Landroid/os/RemoteException;
      Exception table:
        from    to  target  type
           0     2       3  Class android.os.RemoteException

  public android.view.textservice.SpellCheckerInfo getCurrentSpellChecker();
    descriptor: ()Landroid/view/textservice/SpellCheckerInfo;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // android.view.textservice.TextServicesManager this
         0: .line 213
            aload 0 /* this */
            getfield android.view.textservice.TextServicesManager.mService:Lcom/android/internal/textservice/ITextServicesManager;
            aconst_null
            invokeinterface com.android.internal.textservice.ITextServicesManager.getCurrentSpellChecker:(Ljava/lang/String;)Landroid/view/textservice/SpellCheckerInfo;
         1: areturn
         2: .line 214
      StackMap locals:
      StackMap stack: android.os.RemoteException
            astore 1 /* e */
        start local 1 // android.os.RemoteException e
         3: .line 215
            aload 1 /* e */
            invokevirtual android.os.RemoteException.rethrowFromSystemServer:()Ljava/lang/RuntimeException;
            athrow
        end local 1 // android.os.RemoteException e
        end local 0 // android.view.textservice.TextServicesManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Landroid/view/textservice/TextServicesManager;
            3    4     1     e  Landroid/os/RemoteException;
      Exception table:
        from    to  target  type
           0     1       2  Class android.os.RemoteException

  public android.view.textservice.SpellCheckerSubtype getCurrentSpellCheckerSubtype(boolean);
    descriptor: (Z)Landroid/view/textservice/SpellCheckerSubtype;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // android.view.textservice.TextServicesManager this
        start local 1 // boolean allowImplicitlySelectedSubtype
         0: .line 226
            aload 0 /* this */
            getfield android.view.textservice.TextServicesManager.mService:Lcom/android/internal/textservice/ITextServicesManager;
            aconst_null
            iload 1 /* allowImplicitlySelectedSubtype */
            invokeinterface com.android.internal.textservice.ITextServicesManager.getCurrentSpellCheckerSubtype:(Ljava/lang/String;Z)Landroid/view/textservice/SpellCheckerSubtype;
         1: areturn
         2: .line 227
      StackMap locals:
      StackMap stack: android.os.RemoteException
            astore 2 /* e */
        start local 2 // android.os.RemoteException e
         3: .line 228
            aload 2 /* e */
            invokevirtual android.os.RemoteException.rethrowFromSystemServer:()Ljava/lang/RuntimeException;
            athrow
        end local 2 // android.os.RemoteException e
        end local 1 // boolean allowImplicitlySelectedSubtype
        end local 0 // android.view.textservice.TextServicesManager this
      LocalVariableTable:
        Start  End  Slot                            Name  Signature
            0    4     0                            this  Landroid/view/textservice/TextServicesManager;
            0    4     1  allowImplicitlySelectedSubtype  Z
            3    4     2                               e  Landroid/os/RemoteException;
      Exception table:
        from    to  target  type
           0     1       2  Class android.os.RemoteException
    MethodParameters:
                                Name  Flags
      allowImplicitlySelectedSubtype  

  public boolean isSpellCheckerEnabled();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // android.view.textservice.TextServicesManager this
         0: .line 237
            aload 0 /* this */
            getfield android.view.textservice.TextServicesManager.mService:Lcom/android/internal/textservice/ITextServicesManager;
            invokeinterface com.android.internal.textservice.ITextServicesManager.isSpellCheckerEnabled:()Z
         1: ireturn
         2: .line 238
      StackMap locals:
      StackMap stack: android.os.RemoteException
            astore 1 /* e */
        start local 1 // android.os.RemoteException e
         3: .line 239
            aload 1 /* e */
            invokevirtual android.os.RemoteException.rethrowFromSystemServer:()Ljava/lang/RuntimeException;
            athrow
        end local 1 // android.os.RemoteException e
        end local 0 // android.view.textservice.TextServicesManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Landroid/view/textservice/TextServicesManager;
            3    4     1     e  Landroid/os/RemoteException;
      Exception table:
        from    to  target  type
           0     1       2  Class android.os.RemoteException
}
SourceFile: "TextServicesManager.java"
InnerClasses:
  public ServiceNotFoundException = android.os.ServiceManager$ServiceNotFoundException of android.os.ServiceManager
  public abstract SpellCheckerSessionListener = android.view.textservice.SpellCheckerSession$SpellCheckerSessionListener of android.view.textservice.SpellCheckerSession
  public abstract Stub = com.android.internal.textservice.ITextServicesManager$Stub of com.android.internal.textservice.ITextServicesManager