public class android.appwidget.AppWidgetHost
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: android.appwidget.AppWidgetHost
  super_class: java.lang.Object
{
  static final int HANDLE_UPDATE;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  static final int HANDLE_PROVIDER_CHANGED;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  static final int HANDLE_PROVIDERS_CHANGED;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 3

  static final int HANDLE_VIEW_DATA_CHANGED;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 4

  static final java.lang.Object sServiceLock;
    descriptor: Ljava/lang/Object;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static com.android.internal.appwidget.IAppWidgetService sService;
    descriptor: Lcom/android/internal/appwidget/IAppWidgetService;
    flags: (0x0008) ACC_STATIC

  static boolean sServiceInitialized;
    descriptor: Z
    flags: (0x0008) ACC_STATIC

  private android.util.DisplayMetrics mDisplayMetrics;
    descriptor: Landroid/util/DisplayMetrics;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String mContextOpPackageName;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private final android.os.Handler mHandler;
    descriptor: Landroid/os/Handler;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int mHostId;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final android.appwidget.AppWidgetHost$Callbacks mCallbacks;
    descriptor: Landroid/appwidget/AppWidgetHost$Callbacks;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final android.util.SparseArray<android.appwidget.AppWidgetHostView> mViews;
    descriptor: Landroid/util/SparseArray;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Landroid/util/SparseArray<Landroid/appwidget/AppWidgetHostView;>;

  private android.widget.RemoteViews$OnClickHandler mOnClickHandler;
    descriptor: Landroid/widget/RemoteViews$OnClickHandler;
    flags: (0x0002) ACC_PRIVATE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 58
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putstatic android.appwidget.AppWidgetHost.sServiceLock:Ljava/lang/Object;
         1: .line 60
            iconst_0
            putstatic android.appwidget.AppWidgetHost.sServiceInitialized:Z
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(android.content.Context, int);
    descriptor: (Landroid/content/Context;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // android.appwidget.AppWidgetHost this
        start local 1 // android.content.Context context
        start local 2 // int hostId
         0: .line 153
            aload 0 /* this */
            aload 1 /* context */
            iload 2 /* hostId */
            aconst_null
            aload 1 /* context */
            invokevirtual android.content.Context.getMainLooper:()Landroid/os/Looper;
            invokespecial android.appwidget.AppWidgetHost.<init>:(Landroid/content/Context;ILandroid/widget/RemoteViews$OnClickHandler;Landroid/os/Looper;)V
         1: .line 154
            return
        end local 2 // int hostId
        end local 1 // android.content.Context context
        end local 0 // android.appwidget.AppWidgetHost this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Landroid/appwidget/AppWidgetHost;
            0    2     1  context  Landroid/content/Context;
            0    2     2   hostId  I
    MethodParameters:
         Name  Flags
      context  
      hostId   

  public void <init>(android.content.Context, int, android.widget.RemoteViews$OnClickHandler, android.os.Looper);
    descriptor: (Landroid/content/Context;ILandroid/widget/RemoteViews$OnClickHandler;Landroid/os/Looper;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // android.appwidget.AppWidgetHost this
        start local 1 // android.content.Context context
        start local 2 // int hostId
        start local 3 // android.widget.RemoteViews$OnClickHandler handler
        start local 4 // android.os.Looper looper
         0: .line 159
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 67
            aload 0 /* this */
            new android.util.SparseArray
            dup
            invokespecial android.util.SparseArray.<init>:()V
            putfield android.appwidget.AppWidgetHost.mViews:Landroid/util/SparseArray;
         2: .line 160
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual android.content.Context.getOpPackageName:()Ljava/lang/String;
            putfield android.appwidget.AppWidgetHost.mContextOpPackageName:Ljava/lang/String;
         3: .line 161
            aload 0 /* this */
            iload 2 /* hostId */
            putfield android.appwidget.AppWidgetHost.mHostId:I
         4: .line 162
            aload 0 /* this */
            aload 3 /* handler */
            putfield android.appwidget.AppWidgetHost.mOnClickHandler:Landroid/widget/RemoteViews$OnClickHandler;
         5: .line 163
            aload 0 /* this */
            new android.appwidget.AppWidgetHost$UpdateHandler
            dup
            aload 0 /* this */
            aload 4 /* looper */
            invokespecial android.appwidget.AppWidgetHost$UpdateHandler.<init>:(Landroid/appwidget/AppWidgetHost;Landroid/os/Looper;)V
            putfield android.appwidget.AppWidgetHost.mHandler:Landroid/os/Handler;
         6: .line 164
            aload 0 /* this */
            new android.appwidget.AppWidgetHost$Callbacks
            dup
            aload 0 /* this */
            getfield android.appwidget.AppWidgetHost.mHandler:Landroid/os/Handler;
            invokespecial android.appwidget.AppWidgetHost$Callbacks.<init>:(Landroid/os/Handler;)V
            putfield android.appwidget.AppWidgetHost.mCallbacks:Landroid/appwidget/AppWidgetHost$Callbacks;
         7: .line 165
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual android.content.Context.getResources:()Landroid/content/res/Resources;
            invokevirtual android.content.res.Resources.getDisplayMetrics:()Landroid/util/DisplayMetrics;
            putfield android.appwidget.AppWidgetHost.mDisplayMetrics:Landroid/util/DisplayMetrics;
         8: .line 166
            aload 1 /* context */
            invokestatic android.appwidget.AppWidgetHost.bindService:(Landroid/content/Context;)V
         9: .line 167
            return
        end local 4 // android.os.Looper looper
        end local 3 // android.widget.RemoteViews$OnClickHandler handler
        end local 2 // int hostId
        end local 1 // android.content.Context context
        end local 0 // android.appwidget.AppWidgetHost this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   10     0     this  Landroid/appwidget/AppWidgetHost;
            0   10     1  context  Landroid/content/Context;
            0   10     2   hostId  I
            0   10     3  handler  Landroid/widget/RemoteViews$OnClickHandler;
            0   10     4   looper  Landroid/os/Looper;
    MethodParameters:
         Name  Flags
      context  
      hostId   
      handler  
      looper   

  private static void bindService(android.content.Context);
    descriptor: (Landroid/content/Context;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
         0: .line 177
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tR cannot be resolved to a variable\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    MethodParameters:
         Name  Flags
      context  

  public void startListening();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=1
        start local 0 // android.appwidget.AppWidgetHost this
         0: .line 190
            getstatic android.appwidget.AppWidgetHost.sService:Lcom/android/internal/appwidget/IAppWidgetService;
            ifnonnull 2
         1: .line 191
            return
         2: .line 194
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.appwidget.AppWidgetHost.mViews:Landroid/util/SparseArray;
            dup
            astore 2
            monitorenter
         3: .line 195
            aload 0 /* this */
            getfield android.appwidget.AppWidgetHost.mViews:Landroid/util/SparseArray;
            invokevirtual android.util.SparseArray.size:()I
            istore 3 /* N */
        start local 3 // int N
         4: .line 196
            iload 3 /* N */
            newarray 10
            astore 1 /* idsToUpdate */
        start local 1 // int[] idsToUpdate
         5: .line 197
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         6: goto 9
         7: .line 198
      StackMap locals: android.appwidget.AppWidgetHost int[] android.util.SparseArray int int
      StackMap stack:
            aload 1 /* idsToUpdate */
            iload 4 /* i */
            aload 0 /* this */
            getfield android.appwidget.AppWidgetHost.mViews:Landroid/util/SparseArray;
            iload 4 /* i */
            invokevirtual android.util.SparseArray.keyAt:(I)I
            iastore
         8: .line 197
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 4 /* i */
            iload 3 /* N */
            if_icmplt 7
        end local 4 // int i
        end local 3 // int N
        10: .line 194
            aload 2
            monitorexit
        11: goto 14
        end local 1 // int[] idsToUpdate
      StackMap locals: android.appwidget.AppWidgetHost top android.util.SparseArray
      StackMap stack: java.lang.Throwable
        12: aload 2
            monitorexit
        13: athrow
        start local 1 // int[] idsToUpdate
        14: .line 203
      StackMap locals: android.appwidget.AppWidgetHost int[]
      StackMap stack:
            getstatic android.appwidget.AppWidgetHost.sService:Lcom/android/internal/appwidget/IAppWidgetService;
        15: .line 204
            aload 0 /* this */
            getfield android.appwidget.AppWidgetHost.mCallbacks:Landroid/appwidget/AppWidgetHost$Callbacks;
            aload 0 /* this */
            getfield android.appwidget.AppWidgetHost.mContextOpPackageName:Ljava/lang/String;
            aload 0 /* this */
            getfield android.appwidget.AppWidgetHost.mHostId:I
            aload 1 /* idsToUpdate */
        16: .line 203
            invokeinterface com.android.internal.appwidget.IAppWidgetService.startListening:(Lcom/android/internal/appwidget/IAppWidgetHost;Ljava/lang/String;I[I)Landroid/content/pm/ParceledListSlice;
        17: .line 204
            invokevirtual android.content.pm.ParceledListSlice.getList:()Ljava/util/List;
        18: .line 203
            astore 2 /* updates */
        start local 2 // java.util.List updates
        19: .line 205
            goto 22
        end local 2 // java.util.List updates
        20: .line 206
      StackMap locals:
      StackMap stack: android.os.RemoteException
            astore 3 /* e */
        start local 3 // android.os.RemoteException e
        21: .line 207
            new java.lang.RuntimeException
            dup
            ldc "system server dead?"
            aload 3 /* e */
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 3 // android.os.RemoteException e
        start local 2 // java.util.List updates
        22: .line 210
      StackMap locals: java.util.List
      StackMap stack:
            aload 2 /* updates */
            invokeinterface java.util.List.size:()I
            istore 3 /* N */
        start local 3 // int N
        23: .line 211
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        24: goto 33
        25: .line 212
      StackMap locals: int int
      StackMap stack:
            aload 2 /* updates */
            iload 4 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast android.appwidget.PendingHostUpdate
            astore 5 /* update */
        start local 5 // android.appwidget.PendingHostUpdate update
        26: .line 213
            aload 5 /* update */
            getfield android.appwidget.PendingHostUpdate.type:I
            tableswitch { // 0 - 2
                    0: 27
                    1: 29
                    2: 31
              default: 32
          }
        27: .line 215
      StackMap locals: android.appwidget.PendingHostUpdate
      StackMap stack:
            aload 0 /* this */
            aload 5 /* update */
            getfield android.appwidget.PendingHostUpdate.appWidgetId:I
            aload 5 /* update */
            getfield android.appwidget.PendingHostUpdate.views:Landroid/widget/RemoteViews;
            invokevirtual android.appwidget.AppWidgetHost.updateAppWidgetView:(ILandroid/widget/RemoteViews;)V
        28: .line 216
            goto 32
        29: .line 218
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 5 /* update */
            getfield android.appwidget.PendingHostUpdate.appWidgetId:I
            aload 5 /* update */
            getfield android.appwidget.PendingHostUpdate.widgetInfo:Landroid/appwidget/AppWidgetProviderInfo;
            invokevirtual android.appwidget.AppWidgetHost.onProviderChanged:(ILandroid/appwidget/AppWidgetProviderInfo;)V
        30: .line 219
            goto 32
        31: .line 221
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 5 /* update */
            getfield android.appwidget.PendingHostUpdate.appWidgetId:I
            aload 5 /* update */
            getfield android.appwidget.PendingHostUpdate.viewId:I
            invokevirtual android.appwidget.AppWidgetHost.viewDataChanged:(II)V
        end local 5 // android.appwidget.PendingHostUpdate update
        32: .line 211
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        33: iload 4 /* i */
            iload 3 /* N */
            if_icmplt 25
        end local 4 // int i
        34: .line 224
            return
        end local 3 // int N
        end local 2 // java.util.List updates
        end local 1 // int[] idsToUpdate
        end local 0 // android.appwidget.AppWidgetHost this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   35     0         this  Landroid/appwidget/AppWidgetHost;
            5   12     1  idsToUpdate  [I
           14   35     1  idsToUpdate  [I
            4   10     3            N  I
            6   10     4            i  I
           19   20     2      updates  Ljava/util/List<Landroid/appwidget/PendingHostUpdate;>;
           22   35     2      updates  Ljava/util/List<Landroid/appwidget/PendingHostUpdate;>;
           21   22     3            e  Landroid/os/RemoteException;
           23   35     3            N  I
           24   34     4            i  I
           26   32     5       update  Landroid/appwidget/PendingHostUpdate;
      Exception table:
        from    to  target  type
           3    11      12  any
          12    13      12  any
          14    19      20  Class android.os.RemoteException

  public void stopListening();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // android.appwidget.AppWidgetHost this
         0: .line 231
            getstatic android.appwidget.AppWidgetHost.sService:Lcom/android/internal/appwidget/IAppWidgetService;
            ifnonnull 2
         1: .line 232
            return
         2: .line 235
      StackMap locals:
      StackMap stack:
            getstatic android.appwidget.AppWidgetHost.sService:Lcom/android/internal/appwidget/IAppWidgetService;
            aload 0 /* this */
            getfield android.appwidget.AppWidgetHost.mContextOpPackageName:Ljava/lang/String;
            aload 0 /* this */
            getfield android.appwidget.AppWidgetHost.mHostId:I
            invokeinterface com.android.internal.appwidget.IAppWidgetService.stopListening:(Ljava/lang/String;I)V
         3: .line 236
            goto 6
         4: .line 237
      StackMap locals:
      StackMap stack: android.os.RemoteException
            astore 1 /* e */
        start local 1 // android.os.RemoteException e
         5: .line 238
            new java.lang.RuntimeException
            dup
            ldc "system server dead?"
            aload 1 /* e */
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 1 // android.os.RemoteException e
         6: .line 240
      StackMap locals:
      StackMap stack:
            return
        end local 0 // android.appwidget.AppWidgetHost this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Landroid/appwidget/AppWidgetHost;
            5    6     1     e  Landroid/os/RemoteException;
      Exception table:
        from    to  target  type
           2     3       4  Class android.os.RemoteException

  public int allocateAppWidgetId();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // android.appwidget.AppWidgetHost this
         0: .line 248
            getstatic android.appwidget.AppWidgetHost.sService:Lcom/android/internal/appwidget/IAppWidgetService;
            ifnonnull 2
         1: .line 249
            iconst_m1
            ireturn
         2: .line 252
      StackMap locals:
      StackMap stack:
            getstatic android.appwidget.AppWidgetHost.sService:Lcom/android/internal/appwidget/IAppWidgetService;
            aload 0 /* this */
            getfield android.appwidget.AppWidgetHost.mContextOpPackageName:Ljava/lang/String;
            aload 0 /* this */
            getfield android.appwidget.AppWidgetHost.mHostId:I
            invokeinterface com.android.internal.appwidget.IAppWidgetService.allocateAppWidgetId:(Ljava/lang/String;I)I
         3: ireturn
         4: .line 254
      StackMap locals:
      StackMap stack: android.os.RemoteException
            astore 1 /* e */
        start local 1 // android.os.RemoteException e
         5: .line 255
            new java.lang.RuntimeException
            dup
            ldc "system server dead?"
            aload 1 /* e */
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 1 // android.os.RemoteException e
        end local 0 // android.appwidget.AppWidgetHost this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Landroid/appwidget/AppWidgetHost;
            5    6     1     e  Landroid/os/RemoteException;
      Exception table:
        from    to  target  type
           2     3       4  Class android.os.RemoteException

  public final void startAppWidgetConfigureActivityForResult(android.app.Activity, int, int, int, android.os.Bundle);
    descriptor: (Landroid/app/Activity;IIILandroid/os/Bundle;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=8, locals=7, args_size=6
        start local 0 // android.appwidget.AppWidgetHost this
        start local 1 // android.app.Activity activity
        start local 2 // int appWidgetId
        start local 3 // int intentFlags
        start local 4 // int requestCode
        start local 5 // android.os.Bundle options
         0: .line 280
            getstatic android.appwidget.AppWidgetHost.sService:Lcom/android/internal/appwidget/IAppWidgetService;
            ifnonnull 2
         1: .line 281
            return
         2: .line 284
      StackMap locals:
      StackMap stack:
            getstatic android.appwidget.AppWidgetHost.sService:Lcom/android/internal/appwidget/IAppWidgetService;
         3: .line 285
            aload 0 /* this */
            getfield android.appwidget.AppWidgetHost.mContextOpPackageName:Ljava/lang/String;
            iload 2 /* appWidgetId */
            iload 3 /* intentFlags */
         4: .line 284
            invokeinterface com.android.internal.appwidget.IAppWidgetService.createAppWidgetConfigIntentSender:(Ljava/lang/String;II)Landroid/content/IntentSender;
            astore 6 /* intentSender */
        start local 6 // android.content.IntentSender intentSender
         5: .line 286
            aload 6 /* intentSender */
            ifnull 10
         6: .line 287
            aload 1 /* activity */
            aload 6 /* intentSender */
            iload 4 /* requestCode */
            aconst_null
            iconst_0
            iconst_0
            iconst_0
         7: .line 288
            aload 5 /* options */
         8: .line 287
            invokevirtual android.app.Activity.startIntentSenderForResult:(Landroid/content/IntentSender;ILandroid/content/Intent;IIILandroid/os/Bundle;)V
         9: .line 289
            goto 15
        10: .line 290
      StackMap locals: android.content.IntentSender
      StackMap stack:
            new android.content.ActivityNotFoundException
            dup
            invokespecial android.content.ActivityNotFoundException.<init>:()V
            athrow
        end local 6 // android.content.IntentSender intentSender
        11: .line 292
      StackMap locals: android.appwidget.AppWidgetHost android.app.Activity int int int android.os.Bundle
      StackMap stack: android.content.IntentSender$SendIntentException
            pop
        12: .line 293
            new android.content.ActivityNotFoundException
            dup
            invokespecial android.content.ActivityNotFoundException.<init>:()V
            athrow
        13: .line 294
      StackMap locals:
      StackMap stack: android.os.RemoteException
            astore 6 /* e */
        start local 6 // android.os.RemoteException e
        14: .line 295
            new java.lang.RuntimeException
            dup
            ldc "system server dead?"
            aload 6 /* e */
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 6 // android.os.RemoteException e
        15: .line 297
      StackMap locals:
      StackMap stack:
            return
        end local 5 // android.os.Bundle options
        end local 4 // int requestCode
        end local 3 // int intentFlags
        end local 2 // int appWidgetId
        end local 1 // android.app.Activity activity
        end local 0 // android.appwidget.AppWidgetHost this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   16     0          this  Landroid/appwidget/AppWidgetHost;
            0   16     1      activity  Landroid/app/Activity;
            0   16     2   appWidgetId  I
            0   16     3   intentFlags  I
            0   16     4   requestCode  I
            0   16     5       options  Landroid/os/Bundle;
            5   11     6  intentSender  Landroid/content/IntentSender;
           14   15     6             e  Landroid/os/RemoteException;
      Exception table:
        from    to  target  type
           2    11      11  Class android.content.IntentSender$SendIntentException
           2    11      13  Class android.os.RemoteException
    MethodParameters:
             Name  Flags
      activity     
      appWidgetId  
      intentFlags  
      requestCode  
      options      

  public int[] getAppWidgetIds();
    descriptor: ()[I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // android.appwidget.AppWidgetHost this
         0: .line 303
            getstatic android.appwidget.AppWidgetHost.sService:Lcom/android/internal/appwidget/IAppWidgetService;
            ifnonnull 2
         1: .line 304
            iconst_0
            newarray 10
            areturn
         2: .line 307
      StackMap locals:
      StackMap stack:
            getstatic android.appwidget.AppWidgetHost.sService:Lcom/android/internal/appwidget/IAppWidgetService;
            aload 0 /* this */
            getfield android.appwidget.AppWidgetHost.mContextOpPackageName:Ljava/lang/String;
            aload 0 /* this */
            getfield android.appwidget.AppWidgetHost.mHostId:I
            invokeinterface com.android.internal.appwidget.IAppWidgetService.getAppWidgetIdsForHost:(Ljava/lang/String;I)[I
         3: areturn
         4: .line 308
      StackMap locals:
      StackMap stack: android.os.RemoteException
            astore 1 /* e */
        start local 1 // android.os.RemoteException e
         5: .line 309
            new java.lang.RuntimeException
            dup
            ldc "system server dead?"
            aload 1 /* e */
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 1 // android.os.RemoteException e
        end local 0 // android.appwidget.AppWidgetHost this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Landroid/appwidget/AppWidgetHost;
            5    6     1     e  Landroid/os/RemoteException;
      Exception table:
        from    to  target  type
           2     3       4  Class android.os.RemoteException

  public void deleteAppWidgetId(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // android.appwidget.AppWidgetHost this
        start local 1 // int appWidgetId
         0: .line 317
            getstatic android.appwidget.AppWidgetHost.sService:Lcom/android/internal/appwidget/IAppWidgetService;
            ifnonnull 2
         1: .line 318
            return
         2: .line 320
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.appwidget.AppWidgetHost.mViews:Landroid/util/SparseArray;
            dup
            astore 2
            monitorenter
         3: .line 321
            aload 0 /* this */
            getfield android.appwidget.AppWidgetHost.mViews:Landroid/util/SparseArray;
            iload 1 /* appWidgetId */
            invokevirtual android.util.SparseArray.remove:(I)V
         4: .line 323
            getstatic android.appwidget.AppWidgetHost.sService:Lcom/android/internal/appwidget/IAppWidgetService;
            aload 0 /* this */
            getfield android.appwidget.AppWidgetHost.mContextOpPackageName:Ljava/lang/String;
            iload 1 /* appWidgetId */
            invokeinterface com.android.internal.appwidget.IAppWidgetService.deleteAppWidgetId:(Ljava/lang/String;I)V
         5: .line 324
            goto 8
         6: .line 325
      StackMap locals: android.appwidget.AppWidgetHost int android.util.SparseArray
      StackMap stack: android.os.RemoteException
            astore 3 /* e */
        start local 3 // android.os.RemoteException e
         7: .line 326
            new java.lang.RuntimeException
            dup
            ldc "system server dead?"
            aload 3 /* e */
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 3 // android.os.RemoteException e
         8: .line 320
      StackMap locals:
      StackMap stack:
            aload 2
            monitorexit
         9: goto 12
      StackMap locals:
      StackMap stack: java.lang.Throwable
        10: aload 2
            monitorexit
        11: athrow
        12: .line 329
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int appWidgetId
        end local 0 // android.appwidget.AppWidgetHost this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   13     0         this  Landroid/appwidget/AppWidgetHost;
            0   13     1  appWidgetId  I
            7    8     3            e  Landroid/os/RemoteException;
      Exception table:
        from    to  target  type
           4     5       6  Class android.os.RemoteException
           3     9      10  any
          10    11      10  any
    MethodParameters:
             Name  Flags
      appWidgetId  

  public void deleteHost();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // android.appwidget.AppWidgetHost this
         0: .line 340
            getstatic android.appwidget.AppWidgetHost.sService:Lcom/android/internal/appwidget/IAppWidgetService;
            ifnonnull 2
         1: .line 341
            return
         2: .line 344
      StackMap locals:
      StackMap stack:
            getstatic android.appwidget.AppWidgetHost.sService:Lcom/android/internal/appwidget/IAppWidgetService;
            aload 0 /* this */
            getfield android.appwidget.AppWidgetHost.mContextOpPackageName:Ljava/lang/String;
            aload 0 /* this */
            getfield android.appwidget.AppWidgetHost.mHostId:I
            invokeinterface com.android.internal.appwidget.IAppWidgetService.deleteHost:(Ljava/lang/String;I)V
         3: .line 345
            goto 6
         4: .line 346
      StackMap locals:
      StackMap stack: android.os.RemoteException
            astore 1 /* e */
        start local 1 // android.os.RemoteException e
         5: .line 347
            new java.lang.RuntimeException
            dup
            ldc "system server dead?"
            aload 1 /* e */
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 1 // android.os.RemoteException e
         6: .line 349
      StackMap locals:
      StackMap stack:
            return
        end local 0 // android.appwidget.AppWidgetHost this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Landroid/appwidget/AppWidgetHost;
            5    6     1     e  Landroid/os/RemoteException;
      Exception table:
        from    to  target  type
           2     3       4  Class android.os.RemoteException

  public static void deleteAllHosts();
    descriptor: ()V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=1, args_size=0
         0: .line 360
            getstatic android.appwidget.AppWidgetHost.sService:Lcom/android/internal/appwidget/IAppWidgetService;
            ifnonnull 2
         1: .line 361
            return
         2: .line 364
      StackMap locals:
      StackMap stack:
            getstatic android.appwidget.AppWidgetHost.sService:Lcom/android/internal/appwidget/IAppWidgetService;
            invokeinterface com.android.internal.appwidget.IAppWidgetService.deleteAllHosts:()V
         3: .line 365
            goto 6
         4: .line 366
      StackMap locals:
      StackMap stack: android.os.RemoteException
            astore 0 /* e */
        start local 0 // android.os.RemoteException e
         5: .line 367
            new java.lang.RuntimeException
            dup
            ldc "system server dead?"
            aload 0 /* e */
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 0 // android.os.RemoteException e
         6: .line 369
      StackMap locals:
      StackMap stack:
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            5    6     0     e  Landroid/os/RemoteException;
      Exception table:
        from    to  target  type
           2     3       4  Class android.os.RemoteException

  public final android.appwidget.AppWidgetHostView createView(android.content.Context, int, android.appwidget.AppWidgetProviderInfo);
    descriptor: (Landroid/content/Context;ILandroid/appwidget/AppWidgetProviderInfo;)Landroid/appwidget/AppWidgetHostView;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=4, locals=7, args_size=4
        start local 0 // android.appwidget.AppWidgetHost this
        start local 1 // android.content.Context context
        start local 2 // int appWidgetId
        start local 3 // android.appwidget.AppWidgetProviderInfo appWidget
         0: .line 377
            getstatic android.appwidget.AppWidgetHost.sService:Lcom/android/internal/appwidget/IAppWidgetService;
            ifnonnull 2
         1: .line 378
            aconst_null
            areturn
         2: .line 380
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* context */
            iload 2 /* appWidgetId */
            aload 3 /* appWidget */
            invokevirtual android.appwidget.AppWidgetHost.onCreateView:(Landroid/content/Context;ILandroid/appwidget/AppWidgetProviderInfo;)Landroid/appwidget/AppWidgetHostView;
            astore 4 /* view */
        start local 4 // android.appwidget.AppWidgetHostView view
         3: .line 381
            aload 4 /* view */
            aload 0 /* this */
            getfield android.appwidget.AppWidgetHost.mOnClickHandler:Landroid/widget/RemoteViews$OnClickHandler;
            invokevirtual android.appwidget.AppWidgetHostView.setOnClickHandler:(Landroid/widget/RemoteViews$OnClickHandler;)V
         4: .line 382
            aload 4 /* view */
            iload 2 /* appWidgetId */
            aload 3 /* appWidget */
            invokevirtual android.appwidget.AppWidgetHostView.setAppWidget:(ILandroid/appwidget/AppWidgetProviderInfo;)V
         5: .line 383
            aload 0 /* this */
            getfield android.appwidget.AppWidgetHost.mViews:Landroid/util/SparseArray;
            dup
            astore 5
            monitorenter
         6: .line 384
            aload 0 /* this */
            getfield android.appwidget.AppWidgetHost.mViews:Landroid/util/SparseArray;
            iload 2 /* appWidgetId */
            aload 4 /* view */
            invokevirtual android.util.SparseArray.put:(ILjava/lang/Object;)V
         7: .line 383
            aload 5
            monitorexit
         8: goto 11
      StackMap locals: android.appwidget.AppWidgetHost android.content.Context int android.appwidget.AppWidgetProviderInfo android.appwidget.AppWidgetHostView android.util.SparseArray
      StackMap stack: java.lang.Throwable
         9: aload 5
            monitorexit
        10: athrow
        11: .line 388
      StackMap locals:
      StackMap stack:
            getstatic android.appwidget.AppWidgetHost.sService:Lcom/android/internal/appwidget/IAppWidgetService;
            aload 0 /* this */
            getfield android.appwidget.AppWidgetHost.mContextOpPackageName:Ljava/lang/String;
            iload 2 /* appWidgetId */
            invokeinterface com.android.internal.appwidget.IAppWidgetService.getAppWidgetViews:(Ljava/lang/String;I)Landroid/widget/RemoteViews;
            astore 5 /* views */
        start local 5 // android.widget.RemoteViews views
        12: .line 389
            goto 15
        end local 5 // android.widget.RemoteViews views
      StackMap locals:
      StackMap stack: android.os.RemoteException
        13: astore 6 /* e */
        start local 6 // android.os.RemoteException e
        14: .line 390
            new java.lang.RuntimeException
            dup
            ldc "system server dead?"
            aload 6 /* e */
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 6 // android.os.RemoteException e
        start local 5 // android.widget.RemoteViews views
        15: .line 392
      StackMap locals: android.widget.RemoteViews
      StackMap stack:
            aload 4 /* view */
            aload 5 /* views */
            invokevirtual android.appwidget.AppWidgetHostView.updateAppWidget:(Landroid/widget/RemoteViews;)V
        16: .line 394
            aload 4 /* view */
            areturn
        end local 5 // android.widget.RemoteViews views
        end local 4 // android.appwidget.AppWidgetHostView view
        end local 3 // android.appwidget.AppWidgetProviderInfo appWidget
        end local 2 // int appWidgetId
        end local 1 // android.content.Context context
        end local 0 // android.appwidget.AppWidgetHost this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   17     0         this  Landroid/appwidget/AppWidgetHost;
            0   17     1      context  Landroid/content/Context;
            0   17     2  appWidgetId  I
            0   17     3    appWidget  Landroid/appwidget/AppWidgetProviderInfo;
            3   17     4         view  Landroid/appwidget/AppWidgetHostView;
           12   13     5        views  Landroid/widget/RemoteViews;
           15   17     5        views  Landroid/widget/RemoteViews;
           14   15     6            e  Landroid/os/RemoteException;
      Exception table:
        from    to  target  type
           6     8       9  any
           9    10       9  any
          11    12      13  Class android.os.RemoteException
    MethodParameters:
             Name  Flags
      context      
      appWidgetId  
      appWidget    

  protected android.appwidget.AppWidgetHostView onCreateView(android.content.Context, int, android.appwidget.AppWidgetProviderInfo);
    descriptor: (Landroid/content/Context;ILandroid/appwidget/AppWidgetProviderInfo;)Landroid/appwidget/AppWidgetHostView;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // android.appwidget.AppWidgetHost this
        start local 1 // android.content.Context context
        start local 2 // int appWidgetId
        start local 3 // android.appwidget.AppWidgetProviderInfo appWidget
         0: .line 403
            new android.appwidget.AppWidgetHostView
            dup
            aload 1 /* context */
            aload 0 /* this */
            getfield android.appwidget.AppWidgetHost.mOnClickHandler:Landroid/widget/RemoteViews$OnClickHandler;
            invokespecial android.appwidget.AppWidgetHostView.<init>:(Landroid/content/Context;Landroid/widget/RemoteViews$OnClickHandler;)V
            areturn
        end local 3 // android.appwidget.AppWidgetProviderInfo appWidget
        end local 2 // int appWidgetId
        end local 1 // android.content.Context context
        end local 0 // android.appwidget.AppWidgetHost this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Landroid/appwidget/AppWidgetHost;
            0    1     1      context  Landroid/content/Context;
            0    1     2  appWidgetId  I
            0    1     3    appWidget  Landroid/appwidget/AppWidgetProviderInfo;
    MethodParameters:
             Name  Flags
      context      
      appWidgetId  
      appWidget    

  protected void onProviderChanged(int, android.appwidget.AppWidgetProviderInfo);
    descriptor: (ILandroid/appwidget/AppWidgetProviderInfo;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=5, args_size=3
        start local 0 // android.appwidget.AppWidgetHost this
        start local 1 // int appWidgetId
        start local 2 // android.appwidget.AppWidgetProviderInfo appWidget
         0: .line 415
            aload 2 /* appWidget */
            aload 0 /* this */
            getfield android.appwidget.AppWidgetHost.mDisplayMetrics:Landroid/util/DisplayMetrics;
            invokevirtual android.appwidget.AppWidgetProviderInfo.updateDimensions:(Landroid/util/DisplayMetrics;)V
         1: .line 416
            aload 0 /* this */
            getfield android.appwidget.AppWidgetHost.mViews:Landroid/util/SparseArray;
            dup
            astore 4
            monitorenter
         2: .line 417
            aload 0 /* this */
            getfield android.appwidget.AppWidgetHost.mViews:Landroid/util/SparseArray;
            iload 1 /* appWidgetId */
            invokevirtual android.util.SparseArray.get:(I)Ljava/lang/Object;
            checkcast android.appwidget.AppWidgetHostView
            astore 3 /* v */
        start local 3 // android.appwidget.AppWidgetHostView v
         3: .line 416
            aload 4
            monitorexit
         4: goto 7
        end local 3 // android.appwidget.AppWidgetHostView v
      StackMap locals: android.appwidget.AppWidgetHost int android.appwidget.AppWidgetProviderInfo top android.util.SparseArray
      StackMap stack: java.lang.Throwable
         5: aload 4
            monitorexit
         6: athrow
        start local 3 // android.appwidget.AppWidgetHostView v
         7: .line 419
      StackMap locals: android.appwidget.AppWidgetHost int android.appwidget.AppWidgetProviderInfo android.appwidget.AppWidgetHostView
      StackMap stack:
            aload 3 /* v */
            ifnull 9
         8: .line 420
            aload 3 /* v */
            aload 2 /* appWidget */
            invokevirtual android.appwidget.AppWidgetHostView.resetAppWidget:(Landroid/appwidget/AppWidgetProviderInfo;)V
         9: .line 422
      StackMap locals:
      StackMap stack:
            return
        end local 3 // android.appwidget.AppWidgetHostView v
        end local 2 // android.appwidget.AppWidgetProviderInfo appWidget
        end local 1 // int appWidgetId
        end local 0 // android.appwidget.AppWidgetHost this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   10     0         this  Landroid/appwidget/AppWidgetHost;
            0   10     1  appWidgetId  I
            0   10     2    appWidget  Landroid/appwidget/AppWidgetProviderInfo;
            3    5     3            v  Landroid/appwidget/AppWidgetHostView;
            7   10     3            v  Landroid/appwidget/AppWidgetHostView;
      Exception table:
        from    to  target  type
           2     4       5  any
           5     6       5  any
    MethodParameters:
             Name  Flags
      appWidgetId  
      appWidget    

  protected void onProvidersChanged();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // android.appwidget.AppWidgetHost this
         0: .line 430
            return
        end local 0 // android.appwidget.AppWidgetHost this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/appwidget/AppWidgetHost;

  void updateAppWidgetView(int, android.widget.RemoteViews);
    descriptor: (ILandroid/widget/RemoteViews;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=5, args_size=3
        start local 0 // android.appwidget.AppWidgetHost this
        start local 1 // int appWidgetId
        start local 2 // android.widget.RemoteViews views
         0: .line 434
            aload 0 /* this */
            getfield android.appwidget.AppWidgetHost.mViews:Landroid/util/SparseArray;
            dup
            astore 4
            monitorenter
         1: .line 435
            aload 0 /* this */
            getfield android.appwidget.AppWidgetHost.mViews:Landroid/util/SparseArray;
            iload 1 /* appWidgetId */
            invokevirtual android.util.SparseArray.get:(I)Ljava/lang/Object;
            checkcast android.appwidget.AppWidgetHostView
            astore 3 /* v */
        start local 3 // android.appwidget.AppWidgetHostView v
         2: .line 434
            aload 4
            monitorexit
         3: goto 6
        end local 3 // android.appwidget.AppWidgetHostView v
      StackMap locals: android.appwidget.AppWidgetHost int android.widget.RemoteViews top android.util.SparseArray
      StackMap stack: java.lang.Throwable
         4: aload 4
            monitorexit
         5: athrow
        start local 3 // android.appwidget.AppWidgetHostView v
         6: .line 437
      StackMap locals: android.appwidget.AppWidgetHost int android.widget.RemoteViews android.appwidget.AppWidgetHostView
      StackMap stack:
            aload 3 /* v */
            ifnull 8
         7: .line 438
            aload 3 /* v */
            aload 2 /* views */
            invokevirtual android.appwidget.AppWidgetHostView.updateAppWidget:(Landroid/widget/RemoteViews;)V
         8: .line 440
      StackMap locals:
      StackMap stack:
            return
        end local 3 // android.appwidget.AppWidgetHostView v
        end local 2 // android.widget.RemoteViews views
        end local 1 // int appWidgetId
        end local 0 // android.appwidget.AppWidgetHost this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    9     0         this  Landroid/appwidget/AppWidgetHost;
            0    9     1  appWidgetId  I
            0    9     2        views  Landroid/widget/RemoteViews;
            2    4     3            v  Landroid/appwidget/AppWidgetHostView;
            6    9     3            v  Landroid/appwidget/AppWidgetHostView;
      Exception table:
        from    to  target  type
           1     3       4  any
           4     5       4  any
    MethodParameters:
             Name  Flags
      appWidgetId  
      views        

  void viewDataChanged(int, int);
    descriptor: (II)V
    flags: (0x0000) 
    Code:
      stack=2, locals=5, args_size=3
        start local 0 // android.appwidget.AppWidgetHost this
        start local 1 // int appWidgetId
        start local 2 // int viewId
         0: .line 444
            aload 0 /* this */
            getfield android.appwidget.AppWidgetHost.mViews:Landroid/util/SparseArray;
            dup
            astore 4
            monitorenter
         1: .line 445
            aload 0 /* this */
            getfield android.appwidget.AppWidgetHost.mViews:Landroid/util/SparseArray;
            iload 1 /* appWidgetId */
            invokevirtual android.util.SparseArray.get:(I)Ljava/lang/Object;
            checkcast android.appwidget.AppWidgetHostView
            astore 3 /* v */
        start local 3 // android.appwidget.AppWidgetHostView v
         2: .line 444
            aload 4
            monitorexit
         3: goto 6
        end local 3 // android.appwidget.AppWidgetHostView v
      StackMap locals: android.appwidget.AppWidgetHost int int top android.util.SparseArray
      StackMap stack: java.lang.Throwable
         4: aload 4
            monitorexit
         5: athrow
        start local 3 // android.appwidget.AppWidgetHostView v
         6: .line 447
      StackMap locals: android.appwidget.AppWidgetHost int int android.appwidget.AppWidgetHostView
      StackMap stack:
            aload 3 /* v */
            ifnull 8
         7: .line 448
            aload 3 /* v */
            iload 2 /* viewId */
            invokevirtual android.appwidget.AppWidgetHostView.viewDataChanged:(I)V
         8: .line 450
      StackMap locals:
      StackMap stack:
            return
        end local 3 // android.appwidget.AppWidgetHostView v
        end local 2 // int viewId
        end local 1 // int appWidgetId
        end local 0 // android.appwidget.AppWidgetHost this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    9     0         this  Landroid/appwidget/AppWidgetHost;
            0    9     1  appWidgetId  I
            0    9     2       viewId  I
            2    4     3            v  Landroid/appwidget/AppWidgetHostView;
            6    9     3            v  Landroid/appwidget/AppWidgetHostView;
      Exception table:
        from    to  target  type
           1     3       4  any
           4     5       4  any
    MethodParameters:
             Name  Flags
      appWidgetId  
      viewId       

  protected void clearViews();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // android.appwidget.AppWidgetHost this
         0: .line 456
            aload 0 /* this */
            getfield android.appwidget.AppWidgetHost.mViews:Landroid/util/SparseArray;
            dup
            astore 1
            monitorenter
         1: .line 457
            aload 0 /* this */
            getfield android.appwidget.AppWidgetHost.mViews:Landroid/util/SparseArray;
            invokevirtual android.util.SparseArray.clear:()V
         2: .line 456
            aload 1
            monitorexit
         3: goto 6
      StackMap locals: android.appwidget.AppWidgetHost android.util.SparseArray
      StackMap stack: java.lang.Throwable
         4: aload 1
            monitorexit
         5: athrow
         6: .line 459
      StackMap locals:
      StackMap stack:
            return
        end local 0 // android.appwidget.AppWidgetHost this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Landroid/appwidget/AppWidgetHost;
      Exception table:
        from    to  target  type
           1     3       4  any
           4     5       4  any
}
SourceFile: "AppWidgetHost.java"
NestMembers:
  android.appwidget.AppWidgetHost$Callbacks  android.appwidget.AppWidgetHost$UpdateHandler
InnerClasses:
  Callbacks = android.appwidget.AppWidgetHost$Callbacks of android.appwidget.AppWidgetHost
  UpdateHandler = android.appwidget.AppWidgetHost$UpdateHandler of android.appwidget.AppWidgetHost
  public SendIntentException = android.content.IntentSender$SendIntentException of android.content.IntentSender
  public OnClickHandler = android.widget.RemoteViews$OnClickHandler of android.widget.RemoteViews