public class android.widget.RemoteViewsAdapter extends android.widget.BaseAdapter implements android.os.Handler$Callback
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: android.widget.RemoteViewsAdapter
  super_class: android.widget.BaseAdapter
{
  private static final java.lang.String TAG;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "RemoteViewsAdapter"

  private static final int DEFAULT_CACHE_SIZE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 40

  private static final int UNBIND_SERVICE_DELAY;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 5000

  private static final int DEFAULT_LOADING_VIEW_HEIGHT;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 50

  private static final java.util.HashMap<android.widget.RemoteViewsAdapter$RemoteViewsCacheKey, android.widget.RemoteViewsAdapter$FixedSizeRemoteViewsCache> sCachedRemoteViewsCaches;
    descriptor: Ljava/util/HashMap;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/HashMap<Landroid/widget/RemoteViewsAdapter$RemoteViewsCacheKey;Landroid/widget/RemoteViewsAdapter$FixedSizeRemoteViewsCache;>;

  private static final java.util.HashMap<android.widget.RemoteViewsAdapter$RemoteViewsCacheKey, java.lang.Runnable> sRemoteViewsCacheRemoveRunnables;
    descriptor: Ljava/util/HashMap;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/HashMap<Landroid/widget/RemoteViewsAdapter$RemoteViewsCacheKey;Ljava/lang/Runnable;>;

  private static android.os.HandlerThread sCacheRemovalThread;
    descriptor: Landroid/os/HandlerThread;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static android.os.Handler sCacheRemovalQueue;
    descriptor: Landroid/os/Handler;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static final int REMOTE_VIEWS_CACHE_DURATION;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 5000

  private final android.content.Context mContext;
    descriptor: Landroid/content/Context;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final android.content.Intent mIntent;
    descriptor: Landroid/content/Intent;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

  private final java.util.concurrent.Executor mAsyncViewLoadExecutor;
    descriptor: Ljava/util/concurrent/Executor;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

  private final android.widget.RemoteViewsAdapter$FixedSizeRemoteViewsCache mCache;
    descriptor: Landroid/widget/RemoteViewsAdapter$FixedSizeRemoteViewsCache;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private int mVisibleWindowLowerBound;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int mVisibleWindowUpperBound;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private android.widget.RemoteViewsAdapter$RemoteViewsFrameLayoutRefSet mRequestedViews;
    descriptor: Landroid/widget/RemoteViewsAdapter$RemoteViewsFrameLayoutRefSet;
    flags: (0x0002) ACC_PRIVATE

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

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

  private final android.widget.RemoteViewsAdapter$RemoteServiceHandler mServiceHandler;
    descriptor: Landroid/widget/RemoteViewsAdapter$RemoteServiceHandler;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final android.widget.RemoteViewsAdapter$RemoteAdapterConnectionCallback mCallback;
    descriptor: Landroid/widget/RemoteViewsAdapter$RemoteAdapterConnectionCallback;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private boolean mDataReady;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private android.content.pm.ApplicationInfo mLastRemoteViewAppInfo;
    descriptor: Landroid/content/pm/ApplicationInfo;
    flags: (0x0002) ACC_PRIVATE

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

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

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

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

  private static final int MSG_MAIN_HANDLER_COMMIT_METADATA;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  private static final int MSG_MAIN_HANDLER_SUPER_NOTIFY_DATA_SET_CHANGED;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  private static final int MSG_MAIN_HANDLER_REMOTE_ADAPTER_CONNECTED;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 3

  private static final int MSG_MAIN_HANDLER_REMOTE_ADAPTER_DISCONNECTED;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 4

  private static final int MSG_MAIN_HANDLER_REMOTE_VIEWS_LOADED;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 5

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 84
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putstatic android.widget.RemoteViewsAdapter.sCachedRemoteViewsCaches:Ljava/util/HashMap;
         1: .line 86
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putstatic android.widget.RemoteViewsAdapter.sRemoteViewsCacheRemoveRunnables:Ljava/util/HashMap;
         2: .line 172
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(android.content.Context, android.content.Intent, android.widget.RemoteViewsAdapter$RemoteAdapterConnectionCallback, boolean);
    descriptor: (Landroid/content/Context;Landroid/content/Intent;Landroid/widget/RemoteViewsAdapter$RemoteAdapterConnectionCallback;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=8, args_size=5
        start local 0 // android.widget.RemoteViewsAdapter this
        start local 1 // android.content.Context context
        start local 2 // android.content.Intent intent
        start local 3 // android.widget.RemoteViewsAdapter$RemoteAdapterConnectionCallback callback
        start local 4 // boolean useAsyncLoader
         0: .line 808
            aload 0 /* this */
            invokespecial android.widget.BaseAdapter.<init>:()V
         1: .line 118
            aload 0 /* this */
            iconst_0
            putfield android.widget.RemoteViewsAdapter.mDataReady:Z
         2: .line 810
            aload 0 /* this */
            aload 1 /* context */
            putfield android.widget.RemoteViewsAdapter.mContext:Landroid/content/Context;
         3: .line 811
            aload 0 /* this */
            aload 2 /* intent */
            putfield android.widget.RemoteViewsAdapter.mIntent:Landroid/content/Intent;
         4: .line 813
            aload 0 /* this */
            getfield android.widget.RemoteViewsAdapter.mIntent:Landroid/content/Intent;
            ifnonnull 6
         5: .line 814
            new java.lang.IllegalArgumentException
            dup
            ldc "Non-null Intent must be specified."
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 817
      StackMap locals: android.widget.RemoteViewsAdapter android.content.Context android.content.Intent android.widget.RemoteViewsAdapter$RemoteAdapterConnectionCallback int
      StackMap stack:
            aload 0 /* this */
            aload 2 /* intent */
            ldc "remoteAdapterAppWidgetId"
            iconst_m1
            invokevirtual android.content.Intent.getIntExtra:(Ljava/lang/String;I)I
            putfield android.widget.RemoteViewsAdapter.mAppWidgetId:I
         7: .line 818
            aload 0 /* this */
            new android.widget.RemoteViewsAdapter$RemoteViewsFrameLayoutRefSet
            dup
            aload 0 /* this */
            invokespecial android.widget.RemoteViewsAdapter$RemoteViewsFrameLayoutRefSet.<init>:(Landroid/widget/RemoteViewsAdapter;)V
            putfield android.widget.RemoteViewsAdapter.mRequestedViews:Landroid/widget/RemoteViewsAdapter$RemoteViewsFrameLayoutRefSet;
         8: .line 821
            aload 2 /* intent */
            ldc "remoteAdapterAppWidgetId"
            invokevirtual android.content.Intent.hasExtra:(Ljava/lang/String;)Z
            ifeq 10
         9: .line 822
            aload 2 /* intent */
            ldc "remoteAdapterAppWidgetId"
            invokevirtual android.content.Intent.removeExtra:(Ljava/lang/String;)V
        10: .line 826
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new android.os.HandlerThread
            dup
            ldc "RemoteViewsCache-loader"
            invokespecial android.os.HandlerThread.<init>:(Ljava/lang/String;)V
            putfield android.widget.RemoteViewsAdapter.mWorkerThread:Landroid/os/HandlerThread;
        11: .line 827
            aload 0 /* this */
            getfield android.widget.RemoteViewsAdapter.mWorkerThread:Landroid/os/HandlerThread;
            invokevirtual android.os.HandlerThread.start:()V
        12: .line 828
            aload 0 /* this */
            new android.os.Handler
            dup
            invokestatic android.os.Looper.myLooper:()Landroid/os/Looper;
            aload 0 /* this */
            invokespecial android.os.Handler.<init>:(Landroid/os/Looper;Landroid/os/Handler$Callback;)V
            putfield android.widget.RemoteViewsAdapter.mMainHandler:Landroid/os/Handler;
        13: .line 829
            aload 0 /* this */
            new android.widget.RemoteViewsAdapter$RemoteServiceHandler
            dup
            aload 0 /* this */
            getfield android.widget.RemoteViewsAdapter.mWorkerThread:Landroid/os/HandlerThread;
            invokevirtual android.os.HandlerThread.getLooper:()Landroid/os/Looper;
            aload 0 /* this */
        14: .line 830
            aload 1 /* context */
            invokevirtual android.content.Context.getApplicationContext:()Landroid/content/Context;
            invokespecial android.widget.RemoteViewsAdapter$RemoteServiceHandler.<init>:(Landroid/os/Looper;Landroid/widget/RemoteViewsAdapter;Landroid/content/Context;)V
        15: .line 829
            putfield android.widget.RemoteViewsAdapter.mServiceHandler:Landroid/widget/RemoteViewsAdapter$RemoteServiceHandler;
        16: .line 831
            aload 0 /* this */
            iload 4 /* useAsyncLoader */
            ifeq 17
            new android.widget.RemoteViewsAdapter$HandlerThreadExecutor
            dup
            aload 0 /* this */
            getfield android.widget.RemoteViewsAdapter.mWorkerThread:Landroid/os/HandlerThread;
            invokespecial android.widget.RemoteViewsAdapter$HandlerThreadExecutor.<init>:(Landroid/os/HandlerThread;)V
            goto 18
      StackMap locals:
      StackMap stack: android.widget.RemoteViewsAdapter
        17: aconst_null
      StackMap locals: android.widget.RemoteViewsAdapter android.content.Context android.content.Intent android.widget.RemoteViewsAdapter$RemoteAdapterConnectionCallback int
      StackMap stack: android.widget.RemoteViewsAdapter android.widget.RemoteViewsAdapter$HandlerThreadExecutor
        18: putfield android.widget.RemoteViewsAdapter.mAsyncViewLoadExecutor:Ljava/util/concurrent/Executor;
        19: .line 832
            aload 0 /* this */
            aload 3 /* callback */
            putfield android.widget.RemoteViewsAdapter.mCallback:Landroid/widget/RemoteViewsAdapter$RemoteAdapterConnectionCallback;
        20: .line 834
            getstatic android.widget.RemoteViewsAdapter.sCacheRemovalThread:Landroid/os/HandlerThread;
            ifnonnull 24
        21: .line 835
            new android.os.HandlerThread
            dup
            ldc "RemoteViewsAdapter-cachePruner"
            invokespecial android.os.HandlerThread.<init>:(Ljava/lang/String;)V
            putstatic android.widget.RemoteViewsAdapter.sCacheRemovalThread:Landroid/os/HandlerThread;
        22: .line 836
            getstatic android.widget.RemoteViewsAdapter.sCacheRemovalThread:Landroid/os/HandlerThread;
            invokevirtual android.os.HandlerThread.start:()V
        23: .line 837
            new android.os.Handler
            dup
            getstatic android.widget.RemoteViewsAdapter.sCacheRemovalThread:Landroid/os/HandlerThread;
            invokevirtual android.os.HandlerThread.getLooper:()Landroid/os/Looper;
            invokespecial android.os.Handler.<init>:(Landroid/os/Looper;)V
            putstatic android.widget.RemoteViewsAdapter.sCacheRemovalQueue:Landroid/os/Handler;
        24: .line 840
      StackMap locals:
      StackMap stack:
            new android.widget.RemoteViewsAdapter$RemoteViewsCacheKey
            dup
            new android.content.Intent$FilterComparison
            dup
            aload 0 /* this */
            getfield android.widget.RemoteViewsAdapter.mIntent:Landroid/content/Intent;
            invokespecial android.content.Intent$FilterComparison.<init>:(Landroid/content/Intent;)V
        25: .line 841
            aload 0 /* this */
            getfield android.widget.RemoteViewsAdapter.mAppWidgetId:I
        26: .line 840
            invokespecial android.widget.RemoteViewsAdapter$RemoteViewsCacheKey.<init>:(Landroid/content/Intent$FilterComparison;I)V
            astore 5 /* key */
        start local 5 // android.widget.RemoteViewsAdapter$RemoteViewsCacheKey key
        27: .line 843
            getstatic android.widget.RemoteViewsAdapter.sCachedRemoteViewsCaches:Ljava/util/HashMap;
            dup
            astore 6
            monitorenter
        28: .line 844
            getstatic android.widget.RemoteViewsAdapter.sCachedRemoteViewsCaches:Ljava/util/HashMap;
            aload 5 /* key */
            invokevirtual java.util.HashMap.containsKey:(Ljava/lang/Object;)Z
            ifeq 37
        29: .line 845
            aload 0 /* this */
            getstatic android.widget.RemoteViewsAdapter.sCachedRemoteViewsCaches:Ljava/util/HashMap;
            aload 5 /* key */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast android.widget.RemoteViewsAdapter$FixedSizeRemoteViewsCache
            putfield android.widget.RemoteViewsAdapter.mCache:Landroid/widget/RemoteViewsAdapter$FixedSizeRemoteViewsCache;
        30: .line 846
            aload 0 /* this */
            getfield android.widget.RemoteViewsAdapter.mCache:Landroid/widget/RemoteViewsAdapter$FixedSizeRemoteViewsCache;
            getfield android.widget.RemoteViewsAdapter$FixedSizeRemoteViewsCache.mMetaData:Landroid/widget/RemoteViewsAdapter$RemoteViewsMetaData;
            dup
            astore 7
            monitorenter
        31: .line 847
            aload 0 /* this */
            getfield android.widget.RemoteViewsAdapter.mCache:Landroid/widget/RemoteViewsAdapter$FixedSizeRemoteViewsCache;
            getfield android.widget.RemoteViewsAdapter$FixedSizeRemoteViewsCache.mMetaData:Landroid/widget/RemoteViewsAdapter$RemoteViewsMetaData;
            getfield android.widget.RemoteViewsAdapter$RemoteViewsMetaData.count:I
            ifle 33
        32: .line 850
            aload 0 /* this */
            iconst_1
            putfield android.widget.RemoteViewsAdapter.mDataReady:Z
        33: .line 846
      StackMap locals: android.widget.RemoteViewsAdapter$RemoteViewsCacheKey java.util.HashMap android.widget.RemoteViewsAdapter$RemoteViewsMetaData
      StackMap stack:
            aload 7
            monitorexit
        34: goto 38
      StackMap locals:
      StackMap stack: java.lang.Throwable
        35: aload 7
            monitorexit
        36: athrow
        37: .line 854
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new android.widget.RemoteViewsAdapter$FixedSizeRemoteViewsCache
            dup
            bipush 40
            invokespecial android.widget.RemoteViewsAdapter$FixedSizeRemoteViewsCache.<init>:(I)V
            putfield android.widget.RemoteViewsAdapter.mCache:Landroid/widget/RemoteViewsAdapter$FixedSizeRemoteViewsCache;
        38: .line 856
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.RemoteViewsAdapter.mDataReady:Z
            ifne 40
        39: .line 857
            aload 0 /* this */
            invokevirtual android.widget.RemoteViewsAdapter.requestBindService:()V
        40: .line 843
      StackMap locals:
      StackMap stack:
            aload 6
            monitorexit
        41: goto 44
      StackMap locals:
      StackMap stack: java.lang.Throwable
        42: aload 6
            monitorexit
        43: athrow
        44: .line 860
      StackMap locals:
      StackMap stack:
            return
        end local 5 // android.widget.RemoteViewsAdapter$RemoteViewsCacheKey key
        end local 4 // boolean useAsyncLoader
        end local 3 // android.widget.RemoteViewsAdapter$RemoteAdapterConnectionCallback callback
        end local 2 // android.content.Intent intent
        end local 1 // android.content.Context context
        end local 0 // android.widget.RemoteViewsAdapter this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   45     0            this  Landroid/widget/RemoteViewsAdapter;
            0   45     1         context  Landroid/content/Context;
            0   45     2          intent  Landroid/content/Intent;
            0   45     3        callback  Landroid/widget/RemoteViewsAdapter$RemoteAdapterConnectionCallback;
            0   45     4  useAsyncLoader  Z
           27   45     5             key  Landroid/widget/RemoteViewsAdapter$RemoteViewsCacheKey;
      Exception table:
        from    to  target  type
          31    34      35  any
          35    36      35  any
          28    41      42  any
          42    43      42  any
    MethodParameters:
                Name  Flags
      context         
      intent          
      callback        
      useAsyncLoader  

  protected void finalize();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // android.widget.RemoteViewsAdapter this
         0: .line 865
            aload 0 /* this */
            getfield android.widget.RemoteViewsAdapter.mServiceHandler:Landroid/widget/RemoteViewsAdapter$RemoteServiceHandler;
            invokevirtual android.widget.RemoteViewsAdapter$RemoteServiceHandler.unbindNow:()V
         1: .line 866
            aload 0 /* this */
            getfield android.widget.RemoteViewsAdapter.mWorkerThread:Landroid/os/HandlerThread;
            invokevirtual android.os.HandlerThread.quit:()Z
            pop
         2: .line 867
            goto 6
      StackMap locals:
      StackMap stack: java.lang.Throwable
         3: astore 1
         4: .line 868
            aload 0 /* this */
            invokespecial java.lang.Object.finalize:()V
         5: .line 869
            aload 1
            athrow
         6: .line 868
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokespecial java.lang.Object.finalize:()V
         7: .line 870
            return
        end local 0 // android.widget.RemoteViewsAdapter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Landroid/widget/RemoteViewsAdapter;
      Exception table:
        from    to  target  type
           0     3       3  any
    Exceptions:
      throws java.lang.Throwable

  public boolean isDataReady();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.widget.RemoteViewsAdapter this
         0: .line 873
            aload 0 /* this */
            getfield android.widget.RemoteViewsAdapter.mDataReady:Z
            ireturn
        end local 0 // android.widget.RemoteViewsAdapter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/widget/RemoteViewsAdapter;

  public void setRemoteViewsOnClickHandler(android.widget.RemoteViews$OnClickHandler);
    descriptor: (Landroid/widget/RemoteViews$OnClickHandler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.widget.RemoteViewsAdapter this
        start local 1 // android.widget.RemoteViews$OnClickHandler handler
         0: .line 877
            aload 0 /* this */
            aload 1 /* handler */
            putfield android.widget.RemoteViewsAdapter.mRemoteViewsOnClickHandler:Landroid/widget/RemoteViews$OnClickHandler;
         1: .line 878
            return
        end local 1 // android.widget.RemoteViews$OnClickHandler handler
        end local 0 // android.widget.RemoteViewsAdapter this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Landroid/widget/RemoteViewsAdapter;
            0    2     1  handler  Landroid/widget/RemoteViews$OnClickHandler;
    MethodParameters:
         Name  Flags
      handler  

  public void saveRemoteViewsCache();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=1
        start local 0 // android.widget.RemoteViewsAdapter this
         0: .line 881
            new android.widget.RemoteViewsAdapter$RemoteViewsCacheKey
            dup
         1: .line 882
            new android.content.Intent$FilterComparison
            dup
            aload 0 /* this */
            getfield android.widget.RemoteViewsAdapter.mIntent:Landroid/content/Intent;
            invokespecial android.content.Intent$FilterComparison.<init>:(Landroid/content/Intent;)V
            aload 0 /* this */
            getfield android.widget.RemoteViewsAdapter.mAppWidgetId:I
         2: .line 881
            invokespecial android.widget.RemoteViewsAdapter$RemoteViewsCacheKey.<init>:(Landroid/content/Intent$FilterComparison;I)V
            astore 1 /* key */
        start local 1 // android.widget.RemoteViewsAdapter$RemoteViewsCacheKey key
         3: .line 884
            getstatic android.widget.RemoteViewsAdapter.sCachedRemoteViewsCaches:Ljava/util/HashMap;
            dup
            astore 2
            monitorenter
         4: .line 886
            getstatic android.widget.RemoteViewsAdapter.sRemoteViewsCacheRemoveRunnables:Ljava/util/HashMap;
            aload 1 /* key */
            invokevirtual java.util.HashMap.containsKey:(Ljava/lang/Object;)Z
            ifeq 7
         5: .line 887
            getstatic android.widget.RemoteViewsAdapter.sCacheRemovalQueue:Landroid/os/Handler;
            getstatic android.widget.RemoteViewsAdapter.sRemoteViewsCacheRemoveRunnables:Ljava/util/HashMap;
            aload 1 /* key */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Runnable
            invokevirtual android.os.Handler.removeCallbacks:(Ljava/lang/Runnable;)V
         6: .line 888
            getstatic android.widget.RemoteViewsAdapter.sRemoteViewsCacheRemoveRunnables:Ljava/util/HashMap;
            aload 1 /* key */
            invokevirtual java.util.HashMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         7: .line 891
      StackMap locals: android.widget.RemoteViewsAdapter$RemoteViewsCacheKey java.util.HashMap
      StackMap stack:
            iconst_0
            istore 3 /* metaDataCount */
        start local 3 // int metaDataCount
         8: .line 892
            iconst_0
            istore 4 /* numRemoteViewsCached */
        start local 4 // int numRemoteViewsCached
         9: .line 893
            aload 0 /* this */
            getfield android.widget.RemoteViewsAdapter.mCache:Landroid/widget/RemoteViewsAdapter$FixedSizeRemoteViewsCache;
            getfield android.widget.RemoteViewsAdapter$FixedSizeRemoteViewsCache.mMetaData:Landroid/widget/RemoteViewsAdapter$RemoteViewsMetaData;
            dup
            astore 5
            monitorenter
        10: .line 894
            aload 0 /* this */
            getfield android.widget.RemoteViewsAdapter.mCache:Landroid/widget/RemoteViewsAdapter$FixedSizeRemoteViewsCache;
            getfield android.widget.RemoteViewsAdapter$FixedSizeRemoteViewsCache.mMetaData:Landroid/widget/RemoteViewsAdapter$RemoteViewsMetaData;
            getfield android.widget.RemoteViewsAdapter$RemoteViewsMetaData.count:I
            istore 3 /* metaDataCount */
        11: .line 893
            aload 5
            monitorexit
        12: goto 15
      StackMap locals: android.widget.RemoteViewsAdapter android.widget.RemoteViewsAdapter$RemoteViewsCacheKey java.util.HashMap int int android.widget.RemoteViewsAdapter$RemoteViewsMetaData
      StackMap stack: java.lang.Throwable
        13: aload 5
            monitorexit
        14: athrow
        15: .line 896
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.RemoteViewsAdapter.mCache:Landroid/widget/RemoteViewsAdapter$FixedSizeRemoteViewsCache;
            dup
            astore 5
            monitorenter
        16: .line 897
            aload 0 /* this */
            getfield android.widget.RemoteViewsAdapter.mCache:Landroid/widget/RemoteViewsAdapter$FixedSizeRemoteViewsCache;
            getfield android.widget.RemoteViewsAdapter$FixedSizeRemoteViewsCache.mIndexRemoteViews:Landroid/util/SparseArray;
            invokevirtual android.util.SparseArray.size:()I
            istore 4 /* numRemoteViewsCached */
        17: .line 896
            aload 5
            monitorexit
        18: goto 21
      StackMap locals: android.widget.RemoteViewsAdapter android.widget.RemoteViewsAdapter$RemoteViewsCacheKey java.util.HashMap int int android.widget.RemoteViewsAdapter$FixedSizeRemoteViewsCache
      StackMap stack: java.lang.Throwable
        19: aload 5
            monitorexit
        20: athrow
        21: .line 899
      StackMap locals:
      StackMap stack:
            iload 3 /* metaDataCount */
            ifle 23
            iload 4 /* numRemoteViewsCached */
            ifle 23
        22: .line 900
            getstatic android.widget.RemoteViewsAdapter.sCachedRemoteViewsCaches:Ljava/util/HashMap;
            aload 1 /* key */
            aload 0 /* this */
            getfield android.widget.RemoteViewsAdapter.mCache:Landroid/widget/RemoteViewsAdapter$FixedSizeRemoteViewsCache;
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        23: .line 903
      StackMap locals:
      StackMap stack:
            aload 1 /* key */
            invokedynamic run(Landroid/widget/RemoteViewsAdapter$RemoteViewsCacheKey;)Ljava/lang/Runnable;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()V
                  android/widget/RemoteViewsAdapter.lambda$0(Landroid/widget/RemoteViewsAdapter$RemoteViewsCacheKey;)V (6)
                  ()V
            astore 5 /* r */
        start local 5 // java.lang.Runnable r
        24: .line 913
            getstatic android.widget.RemoteViewsAdapter.sRemoteViewsCacheRemoveRunnables:Ljava/util/HashMap;
            aload 1 /* key */
            aload 5 /* r */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        25: .line 914
            getstatic android.widget.RemoteViewsAdapter.sCacheRemovalQueue:Landroid/os/Handler;
            aload 5 /* r */
            ldc 5000
            invokevirtual android.os.Handler.postDelayed:(Ljava/lang/Runnable;J)Z
            pop
        end local 5 // java.lang.Runnable r
        end local 4 // int numRemoteViewsCached
        end local 3 // int metaDataCount
        26: .line 884
            aload 2
            monitorexit
        27: goto 30
      StackMap locals: android.widget.RemoteViewsAdapter android.widget.RemoteViewsAdapter$RemoteViewsCacheKey java.util.HashMap
      StackMap stack: java.lang.Throwable
        28: aload 2
            monitorexit
        29: athrow
        30: .line 916
      StackMap locals:
      StackMap stack:
            return
        end local 1 // android.widget.RemoteViewsAdapter$RemoteViewsCacheKey key
        end local 0 // android.widget.RemoteViewsAdapter this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   31     0                  this  Landroid/widget/RemoteViewsAdapter;
            3   31     1                   key  Landroid/widget/RemoteViewsAdapter$RemoteViewsCacheKey;
            8   26     3         metaDataCount  I
            9   26     4  numRemoteViewsCached  I
           24   26     5                     r  Ljava/lang/Runnable;
      Exception table:
        from    to  target  type
          10    12      13  any
          13    14      13  any
          16    18      19  any
          19    20      19  any
           4    27      28  any
          28    29      28  any

  private void updateTemporaryMetaData(com.android.internal.widget.IRemoteViewsFactory);
    descriptor: (Lcom/android/internal/widget/IRemoteViewsFactory;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=8, args_size=2
        start local 0 // android.widget.RemoteViewsAdapter this
        start local 1 // com.android.internal.widget.IRemoteViewsFactory factory
         0: .line 923
            aload 1 /* factory */
            invokeinterface com.android.internal.widget.IRemoteViewsFactory.hasStableIds:()Z
            istore 2 /* hasStableIds */
        start local 2 // boolean hasStableIds
         1: .line 924
            aload 1 /* factory */
            invokeinterface com.android.internal.widget.IRemoteViewsFactory.getViewTypeCount:()I
            istore 3 /* viewTypeCount */
        start local 3 // int viewTypeCount
         2: .line 925
            aload 1 /* factory */
            invokeinterface com.android.internal.widget.IRemoteViewsFactory.getCount:()I
            istore 4 /* count */
        start local 4 // int count
         3: .line 927
            new android.widget.RemoteViewsAdapter$LoadingViewTemplate
            dup
            aload 1 /* factory */
            invokeinterface com.android.internal.widget.IRemoteViewsFactory.getLoadingView:()Landroid/widget/RemoteViews;
            aload 0 /* this */
            getfield android.widget.RemoteViewsAdapter.mContext:Landroid/content/Context;
            invokespecial android.widget.RemoteViewsAdapter$LoadingViewTemplate.<init>:(Landroid/widget/RemoteViews;Landroid/content/Context;)V
         4: .line 926
            astore 5 /* loadingTemplate */
        start local 5 // android.widget.RemoteViewsAdapter$LoadingViewTemplate loadingTemplate
         5: .line 928
            iload 4 /* count */
            ifle 11
            aload 5 /* loadingTemplate */
            getfield android.widget.RemoteViewsAdapter$LoadingViewTemplate.remoteViews:Landroid/widget/RemoteViews;
            ifnonnull 11
         6: .line 929
            aload 1 /* factory */
            iconst_0
            invokeinterface com.android.internal.widget.IRemoteViewsFactory.getViewAt:(I)Landroid/widget/RemoteViews;
            astore 6 /* firstView */
        start local 6 // android.widget.RemoteViews firstView
         7: .line 930
            aload 6 /* firstView */
            ifnull 11
         8: .line 931
            aload 5 /* loadingTemplate */
            aload 6 /* firstView */
            aload 0 /* this */
            getfield android.widget.RemoteViewsAdapter.mContext:Landroid/content/Context;
         9: .line 932
            new android.widget.RemoteViewsAdapter$HandlerThreadExecutor
            dup
            aload 0 /* this */
            getfield android.widget.RemoteViewsAdapter.mWorkerThread:Landroid/os/HandlerThread;
            invokespecial android.widget.RemoteViewsAdapter$HandlerThreadExecutor.<init>:(Landroid/os/HandlerThread;)V
        10: .line 931
            invokevirtual android.widget.RemoteViewsAdapter$LoadingViewTemplate.loadFirstViewHeight:(Landroid/widget/RemoteViews;Landroid/content/Context;Ljava/util/concurrent/Executor;)V
        end local 6 // android.widget.RemoteViews firstView
        11: .line 935
      StackMap locals: android.widget.RemoteViewsAdapter com.android.internal.widget.IRemoteViewsFactory int int int android.widget.RemoteViewsAdapter$LoadingViewTemplate
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.RemoteViewsAdapter.mCache:Landroid/widget/RemoteViewsAdapter$FixedSizeRemoteViewsCache;
            invokevirtual android.widget.RemoteViewsAdapter$FixedSizeRemoteViewsCache.getTemporaryMetaData:()Landroid/widget/RemoteViewsAdapter$RemoteViewsMetaData;
            astore 6 /* tmpMetaData */
        start local 6 // android.widget.RemoteViewsAdapter$RemoteViewsMetaData tmpMetaData
        12: .line 936
            aload 6 /* tmpMetaData */
            dup
            astore 7
            monitorenter
        13: .line 937
            aload 6 /* tmpMetaData */
            iload 2 /* hasStableIds */
            putfield android.widget.RemoteViewsAdapter$RemoteViewsMetaData.hasStableIds:Z
        14: .line 939
            aload 6 /* tmpMetaData */
            iload 3 /* viewTypeCount */
            iconst_1
            iadd
            putfield android.widget.RemoteViewsAdapter$RemoteViewsMetaData.viewTypeCount:I
        15: .line 940
            aload 6 /* tmpMetaData */
            iload 4 /* count */
            putfield android.widget.RemoteViewsAdapter$RemoteViewsMetaData.count:I
        16: .line 941
            aload 6 /* tmpMetaData */
            aload 5 /* loadingTemplate */
            putfield android.widget.RemoteViewsAdapter$RemoteViewsMetaData.loadingTemplate:Landroid/widget/RemoteViewsAdapter$LoadingViewTemplate;
        17: .line 936
            aload 7
            monitorexit
        18: goto 36
      StackMap locals: android.widget.RemoteViewsAdapter com.android.internal.widget.IRemoteViewsFactory int int int android.widget.RemoteViewsAdapter$LoadingViewTemplate android.widget.RemoteViewsAdapter$RemoteViewsMetaData android.widget.RemoteViewsAdapter$RemoteViewsMetaData
      StackMap stack: java.lang.Throwable
        19: aload 7
            monitorexit
        20: athrow
        end local 6 // android.widget.RemoteViewsAdapter$RemoteViewsMetaData tmpMetaData
        end local 5 // android.widget.RemoteViewsAdapter$LoadingViewTemplate loadingTemplate
        end local 4 // int count
        end local 3 // int viewTypeCount
        end local 2 // boolean hasStableIds
        21: .line 943
      StackMap locals: android.widget.RemoteViewsAdapter com.android.internal.widget.IRemoteViewsFactory
      StackMap stack: java.lang.Exception
            astore 2 /* e */
        start local 2 // java.lang.Exception e
        22: .line 944
            ldc "RemoteViewsAdapter"
            new java.lang.StringBuilder
            dup
            ldc "Error in updateMetaData: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* e */
            invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
            pop
        23: .line 948
            aload 0 /* this */
            getfield android.widget.RemoteViewsAdapter.mCache:Landroid/widget/RemoteViewsAdapter$FixedSizeRemoteViewsCache;
            invokevirtual android.widget.RemoteViewsAdapter$FixedSizeRemoteViewsCache.getMetaData:()Landroid/widget/RemoteViewsAdapter$RemoteViewsMetaData;
            dup
            astore 3
            monitorenter
        24: .line 949
            aload 0 /* this */
            getfield android.widget.RemoteViewsAdapter.mCache:Landroid/widget/RemoteViewsAdapter$FixedSizeRemoteViewsCache;
            invokevirtual android.widget.RemoteViewsAdapter$FixedSizeRemoteViewsCache.getMetaData:()Landroid/widget/RemoteViewsAdapter$RemoteViewsMetaData;
            invokevirtual android.widget.RemoteViewsAdapter$RemoteViewsMetaData.reset:()V
        25: .line 948
            aload 3
            monitorexit
        26: goto 29
      StackMap locals: android.widget.RemoteViewsAdapter com.android.internal.widget.IRemoteViewsFactory java.lang.Exception android.widget.RemoteViewsAdapter$RemoteViewsMetaData
      StackMap stack: java.lang.Throwable
        27: aload 3
            monitorexit
        28: athrow
        29: .line 951
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.RemoteViewsAdapter.mCache:Landroid/widget/RemoteViewsAdapter$FixedSizeRemoteViewsCache;
            dup
            astore 3
            monitorenter
        30: .line 952
            aload 0 /* this */
            getfield android.widget.RemoteViewsAdapter.mCache:Landroid/widget/RemoteViewsAdapter$FixedSizeRemoteViewsCache;
            invokevirtual android.widget.RemoteViewsAdapter$FixedSizeRemoteViewsCache.reset:()V
        31: .line 951
            aload 3
            monitorexit
        32: goto 35
      StackMap locals: android.widget.RemoteViewsAdapter com.android.internal.widget.IRemoteViewsFactory java.lang.Exception android.widget.RemoteViewsAdapter$FixedSizeRemoteViewsCache
      StackMap stack: java.lang.Throwable
        33: aload 3
            monitorexit
        34: athrow
        35: .line 954
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.RemoteViewsAdapter.mMainHandler:Landroid/os/Handler;
            iconst_2
            invokevirtual android.os.Handler.sendEmptyMessage:(I)Z
            pop
        end local 2 // java.lang.Exception e
        36: .line 956
      StackMap locals:
      StackMap stack:
            return
        end local 1 // com.android.internal.widget.IRemoteViewsFactory factory
        end local 0 // android.widget.RemoteViewsAdapter this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   37     0             this  Landroid/widget/RemoteViewsAdapter;
            0   37     1          factory  Lcom/android/internal/widget/IRemoteViewsFactory;
            1   21     2     hasStableIds  Z
            2   21     3    viewTypeCount  I
            3   21     4            count  I
            5   21     5  loadingTemplate  Landroid/widget/RemoteViewsAdapter$LoadingViewTemplate;
            7   11     6        firstView  Landroid/widget/RemoteViews;
           12   21     6      tmpMetaData  Landroid/widget/RemoteViewsAdapter$RemoteViewsMetaData;
           22   36     2                e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
          13    18      19  any
          19    20      19  any
           0    21      21  Class android.os.RemoteException
           0    21      21  Class java.lang.RuntimeException
          24    26      27  any
          27    28      27  any
          30    32      33  any
          33    34      33  any
    MethodParameters:
         Name  Flags
      factory  

  private void updateRemoteViews(com.android.internal.widget.IRemoteViewsFactory, int, boolean);
    descriptor: (Lcom/android/internal/widget/IRemoteViewsFactory;IZ)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=13, args_size=4
        start local 0 // android.widget.RemoteViewsAdapter this
        start local 1 // com.android.internal.widget.IRemoteViewsFactory factory
        start local 2 // int position
        start local 3 // boolean notifyWhenLoaded
         0: .line 965
            aload 1 /* factory */
            iload 2 /* position */
            invokeinterface com.android.internal.widget.IRemoteViewsFactory.getViewAt:(I)Landroid/widget/RemoteViews;
            astore 4 /* remoteViews */
        start local 4 // android.widget.RemoteViews remoteViews
         1: .line 966
            aload 1 /* factory */
            iload 2 /* position */
            invokeinterface com.android.internal.widget.IRemoteViewsFactory.getItemId:(I)J
            lstore 5 /* itemId */
        start local 5 // long itemId
         2: .line 968
            aload 4 /* remoteViews */
            ifnonnull 7
         3: .line 969
            new java.lang.RuntimeException
            dup
            ldc "Null remoteViews"
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 5 // long itemId
        end local 4 // android.widget.RemoteViews remoteViews
         4: .line 971
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 7 /* e */
        start local 7 // java.lang.Exception e
         5: .line 972
            ldc "RemoteViewsAdapter"
            new java.lang.StringBuilder
            dup
            ldc "Error in updateRemoteViews("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 2 /* position */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "): "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 7 /* e */
            invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
            pop
         6: .line 976
            return
        end local 7 // java.lang.Exception e
        start local 4 // android.widget.RemoteViews remoteViews
        start local 5 // long itemId
         7: .line 979
      StackMap locals: android.widget.RemoteViews long
      StackMap stack:
            aload 4 /* remoteViews */
            getfield android.widget.RemoteViews.mApplication:Landroid/content/pm/ApplicationInfo;
            ifnull 13
         8: .line 983
            aload 0 /* this */
            getfield android.widget.RemoteViewsAdapter.mLastRemoteViewAppInfo:Landroid/content/pm/ApplicationInfo;
            ifnull 12
         9: .line 984
            aload 4 /* remoteViews */
            aload 0 /* this */
            getfield android.widget.RemoteViewsAdapter.mLastRemoteViewAppInfo:Landroid/content/pm/ApplicationInfo;
            invokevirtual android.widget.RemoteViews.hasSameAppInfo:(Landroid/content/pm/ApplicationInfo;)Z
            ifeq 12
        10: .line 987
            aload 4 /* remoteViews */
            aload 0 /* this */
            getfield android.widget.RemoteViewsAdapter.mLastRemoteViewAppInfo:Landroid/content/pm/ApplicationInfo;
            putfield android.widget.RemoteViews.mApplication:Landroid/content/pm/ApplicationInfo;
        11: .line 988
            goto 13
        12: .line 989
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* remoteViews */
            getfield android.widget.RemoteViews.mApplication:Landroid/content/pm/ApplicationInfo;
            putfield android.widget.RemoteViewsAdapter.mLastRemoteViewAppInfo:Landroid/content/pm/ApplicationInfo;
        13: .line 993
      StackMap locals:
      StackMap stack:
            aload 4 /* remoteViews */
            invokevirtual android.widget.RemoteViews.getLayoutId:()I
            istore 7 /* layoutId */
        start local 7 // int layoutId
        14: .line 994
            aload 0 /* this */
            getfield android.widget.RemoteViewsAdapter.mCache:Landroid/widget/RemoteViewsAdapter$FixedSizeRemoteViewsCache;
            invokevirtual android.widget.RemoteViewsAdapter$FixedSizeRemoteViewsCache.getMetaData:()Landroid/widget/RemoteViewsAdapter$RemoteViewsMetaData;
            astore 8 /* metaData */
        start local 8 // android.widget.RemoteViewsAdapter$RemoteViewsMetaData metaData
        15: .line 997
            aload 8 /* metaData */
            dup
            astore 11
            monitorenter
        16: .line 998
            aload 8 /* metaData */
            iload 7 /* layoutId */
            invokevirtual android.widget.RemoteViewsAdapter$RemoteViewsMetaData.isViewTypeInRange:(I)Z
            istore 9 /* viewTypeInRange */
        start local 9 // boolean viewTypeInRange
        17: .line 999
            aload 0 /* this */
            getfield android.widget.RemoteViewsAdapter.mCache:Landroid/widget/RemoteViewsAdapter$FixedSizeRemoteViewsCache;
            getfield android.widget.RemoteViewsAdapter$FixedSizeRemoteViewsCache.mMetaData:Landroid/widget/RemoteViewsAdapter$RemoteViewsMetaData;
            getfield android.widget.RemoteViewsAdapter$RemoteViewsMetaData.count:I
            istore 10 /* cacheCount */
        start local 10 // int cacheCount
        18: .line 997
            aload 11
            monitorexit
        19: goto 22
        end local 10 // int cacheCount
        end local 9 // boolean viewTypeInRange
      StackMap locals: android.widget.RemoteViewsAdapter com.android.internal.widget.IRemoteViewsFactory int int android.widget.RemoteViews long int android.widget.RemoteViewsAdapter$RemoteViewsMetaData top top android.widget.RemoteViewsAdapter$RemoteViewsMetaData
      StackMap stack: java.lang.Throwable
        20: aload 11
            monitorexit
        21: athrow
        start local 9 // boolean viewTypeInRange
        start local 10 // int cacheCount
        22: .line 1001
      StackMap locals: android.widget.RemoteViewsAdapter com.android.internal.widget.IRemoteViewsFactory int int android.widget.RemoteViews long int android.widget.RemoteViewsAdapter$RemoteViewsMetaData int int
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.RemoteViewsAdapter.mCache:Landroid/widget/RemoteViewsAdapter$FixedSizeRemoteViewsCache;
            dup
            astore 11
            monitorenter
        23: .line 1002
            iload 9 /* viewTypeInRange */
            ifeq 32
        24: .line 1003
            aload 0 /* this */
            iload 10 /* cacheCount */
            invokevirtual android.widget.RemoteViewsAdapter.getVisibleWindow:(I)[I
            astore 12 /* visibleWindow */
        start local 12 // int[] visibleWindow
        25: .line 1005
            aload 0 /* this */
            getfield android.widget.RemoteViewsAdapter.mCache:Landroid/widget/RemoteViewsAdapter$FixedSizeRemoteViewsCache;
            iload 2 /* position */
            aload 4 /* remoteViews */
            lload 5 /* itemId */
            aload 12 /* visibleWindow */
            invokevirtual android.widget.RemoteViewsAdapter$FixedSizeRemoteViewsCache.insert:(ILandroid/widget/RemoteViews;J[I)V
        26: .line 1007
            iload 3 /* notifyWhenLoaded */
            ifeq 33
        27: .line 1010
            aload 0 /* this */
            getfield android.widget.RemoteViewsAdapter.mMainHandler:Landroid/os/Handler;
            iconst_5
            iload 2 /* position */
            iconst_0
        28: .line 1011
            aload 4 /* remoteViews */
        29: .line 1010
            invokestatic android.os.Message.obtain:(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
        30: .line 1011
            invokevirtual android.os.Message.sendToTarget:()V
        end local 12 // int[] visibleWindow
        31: .line 1013
            goto 33
        32: .line 1018
      StackMap locals: android.widget.RemoteViewsAdapter$FixedSizeRemoteViewsCache
      StackMap stack:
            ldc "RemoteViewsAdapter"
            ldc "Error: widget's RemoteViewsFactory returns more view types than  indicated by getViewTypeCount() "
            invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
            pop
        33: .line 1001
      StackMap locals:
      StackMap stack:
            aload 11
            monitorexit
        34: goto 37
      StackMap locals:
      StackMap stack: java.lang.Throwable
        35: aload 11
            monitorexit
        36: athrow
        37: .line 1022
      StackMap locals:
      StackMap stack:
            return
        end local 10 // int cacheCount
        end local 9 // boolean viewTypeInRange
        end local 8 // android.widget.RemoteViewsAdapter$RemoteViewsMetaData metaData
        end local 7 // int layoutId
        end local 5 // long itemId
        end local 4 // android.widget.RemoteViews remoteViews
        end local 3 // boolean notifyWhenLoaded
        end local 2 // int position
        end local 1 // com.android.internal.widget.IRemoteViewsFactory factory
        end local 0 // android.widget.RemoteViewsAdapter this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   38     0              this  Landroid/widget/RemoteViewsAdapter;
            0   38     1           factory  Lcom/android/internal/widget/IRemoteViewsFactory;
            0   38     2          position  I
            0   38     3  notifyWhenLoaded  Z
            1    4     4       remoteViews  Landroid/widget/RemoteViews;
            7   38     4       remoteViews  Landroid/widget/RemoteViews;
            2    4     5            itemId  J
            7   38     5            itemId  J
            5    7     7                 e  Ljava/lang/Exception;
           14   38     7          layoutId  I
           15   38     8          metaData  Landroid/widget/RemoteViewsAdapter$RemoteViewsMetaData;
           17   20     9   viewTypeInRange  Z
           22   38     9   viewTypeInRange  Z
           18   20    10        cacheCount  I
           22   38    10        cacheCount  I
           25   31    12     visibleWindow  [I
      Exception table:
        from    to  target  type
           0     4       4  Class android.os.RemoteException
           0     4       4  Class java.lang.RuntimeException
          16    19      20  any
          20    21      20  any
          23    34      35  any
          35    36      35  any
    MethodParameters:
                  Name  Flags
      factory           
      position          
      notifyWhenLoaded  

  public android.content.Intent getRemoteViewsServiceIntent();
    descriptor: ()Landroid/content/Intent;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.widget.RemoteViewsAdapter this
         0: .line 1025
            aload 0 /* this */
            getfield android.widget.RemoteViewsAdapter.mIntent:Landroid/content/Intent;
            areturn
        end local 0 // android.widget.RemoteViewsAdapter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/widget/RemoteViewsAdapter;

  public int getCount();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // android.widget.RemoteViewsAdapter this
         0: .line 1029
            aload 0 /* this */
            getfield android.widget.RemoteViewsAdapter.mCache:Landroid/widget/RemoteViewsAdapter$FixedSizeRemoteViewsCache;
            invokevirtual android.widget.RemoteViewsAdapter$FixedSizeRemoteViewsCache.getMetaData:()Landroid/widget/RemoteViewsAdapter$RemoteViewsMetaData;
            astore 1 /* metaData */
        start local 1 // android.widget.RemoteViewsAdapter$RemoteViewsMetaData metaData
         1: .line 1030
            aload 1 /* metaData */
            dup
            astore 2
            monitorenter
         2: .line 1031
            aload 1 /* metaData */
            getfield android.widget.RemoteViewsAdapter$RemoteViewsMetaData.count:I
            aload 2
            monitorexit
         3: ireturn
         4: .line 1030
      StackMap locals: android.widget.RemoteViewsAdapter android.widget.RemoteViewsAdapter$RemoteViewsMetaData android.widget.RemoteViewsAdapter$RemoteViewsMetaData
      StackMap stack: java.lang.Throwable
            aload 2
            monitorexit
         5: athrow
        end local 1 // android.widget.RemoteViewsAdapter$RemoteViewsMetaData metaData
        end local 0 // android.widget.RemoteViewsAdapter this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0      this  Landroid/widget/RemoteViewsAdapter;
            1    6     1  metaData  Landroid/widget/RemoteViewsAdapter$RemoteViewsMetaData;
      Exception table:
        from    to  target  type
           2     3       4  any
           4     5       4  any

  public java.lang.Object getItem(int);
    descriptor: (I)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // android.widget.RemoteViewsAdapter this
        start local 1 // int position
         0: .line 1037
            aconst_null
            areturn
        end local 1 // int position
        end local 0 // android.widget.RemoteViewsAdapter this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Landroid/widget/RemoteViewsAdapter;
            0    1     1  position  I
    MethodParameters:
          Name  Flags
      position  

  public long getItemId(int);
    descriptor: (I)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // android.widget.RemoteViewsAdapter this
        start local 1 // int position
         0: .line 1041
            aload 0 /* this */
            getfield android.widget.RemoteViewsAdapter.mCache:Landroid/widget/RemoteViewsAdapter$FixedSizeRemoteViewsCache;
            dup
            astore 2
            monitorenter
         1: .line 1042
            aload 0 /* this */
            getfield android.widget.RemoteViewsAdapter.mCache:Landroid/widget/RemoteViewsAdapter$FixedSizeRemoteViewsCache;
            iload 1 /* position */
            invokevirtual android.widget.RemoteViewsAdapter$FixedSizeRemoteViewsCache.containsMetaDataAt:(I)Z
            ifeq 4
         2: .line 1043
            aload 0 /* this */
            getfield android.widget.RemoteViewsAdapter.mCache:Landroid/widget/RemoteViewsAdapter$FixedSizeRemoteViewsCache;
            iload 1 /* position */
            invokevirtual android.widget.RemoteViewsAdapter$FixedSizeRemoteViewsCache.getMetaDataAt:(I)Landroid/widget/RemoteViewsAdapter$RemoteViewsIndexMetaData;
            getfield android.widget.RemoteViewsAdapter$RemoteViewsIndexMetaData.itemId:J
            aload 2
            monitorexit
         3: lreturn
         4: .line 1045
      StackMap locals: android.widget.RemoteViewsAdapter$FixedSizeRemoteViewsCache
      StackMap stack:
            aload 2
            monitorexit
         5: lconst_0
            lreturn
         6: .line 1041
      StackMap locals:
      StackMap stack: java.lang.Throwable
            aload 2
            monitorexit
         7: athrow
        end local 1 // int position
        end local 0 // android.widget.RemoteViewsAdapter this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0      this  Landroid/widget/RemoteViewsAdapter;
            0    8     1  position  I
      Exception table:
        from    to  target  type
           1     3       6  any
           4     5       6  any
           6     7       6  any
    MethodParameters:
          Name  Flags
      position  

  public int getItemViewType(int);
    descriptor: (I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // android.widget.RemoteViewsAdapter this
        start local 1 // int position
         0: .line 1051
            aload 0 /* this */
            getfield android.widget.RemoteViewsAdapter.mCache:Landroid/widget/RemoteViewsAdapter$FixedSizeRemoteViewsCache;
            dup
            astore 3
            monitorenter
         1: .line 1052
            aload 0 /* this */
            getfield android.widget.RemoteViewsAdapter.mCache:Landroid/widget/RemoteViewsAdapter$FixedSizeRemoteViewsCache;
            iload 1 /* position */
            invokevirtual android.widget.RemoteViewsAdapter$FixedSizeRemoteViewsCache.containsMetaDataAt:(I)Z
            ifeq 4
         2: .line 1053
            aload 0 /* this */
            getfield android.widget.RemoteViewsAdapter.mCache:Landroid/widget/RemoteViewsAdapter$FixedSizeRemoteViewsCache;
            iload 1 /* position */
            invokevirtual android.widget.RemoteViewsAdapter$FixedSizeRemoteViewsCache.getMetaDataAt:(I)Landroid/widget/RemoteViewsAdapter$RemoteViewsIndexMetaData;
            getfield android.widget.RemoteViewsAdapter$RemoteViewsIndexMetaData.typeId:I
            istore 2 /* typeId */
        start local 2 // int typeId
         3: .line 1054
            goto 6
        end local 2 // int typeId
         4: .line 1055
      StackMap locals: android.widget.RemoteViewsAdapter int top android.widget.RemoteViewsAdapter$FixedSizeRemoteViewsCache
      StackMap stack:
            aload 3
            monitorexit
         5: iconst_0
            ireturn
        start local 2 // int typeId
         6: .line 1051
      StackMap locals: android.widget.RemoteViewsAdapter int int android.widget.RemoteViewsAdapter$FixedSizeRemoteViewsCache
      StackMap stack:
            aload 3
            monitorexit
         7: goto 10
        end local 2 // int typeId
      StackMap locals: android.widget.RemoteViewsAdapter int top android.widget.RemoteViewsAdapter$FixedSizeRemoteViewsCache
      StackMap stack: java.lang.Throwable
         8: aload 3
            monitorexit
         9: athrow
        start local 2 // int typeId
        10: .line 1059
      StackMap locals: android.widget.RemoteViewsAdapter int int
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.RemoteViewsAdapter.mCache:Landroid/widget/RemoteViewsAdapter$FixedSizeRemoteViewsCache;
            invokevirtual android.widget.RemoteViewsAdapter$FixedSizeRemoteViewsCache.getMetaData:()Landroid/widget/RemoteViewsAdapter$RemoteViewsMetaData;
            astore 3 /* metaData */
        start local 3 // android.widget.RemoteViewsAdapter$RemoteViewsMetaData metaData
        11: .line 1060
            aload 3 /* metaData */
            dup
            astore 4
            monitorenter
        12: .line 1061
            aload 3 /* metaData */
            iload 2 /* typeId */
            invokevirtual android.widget.RemoteViewsAdapter$RemoteViewsMetaData.getMappedViewType:(I)I
            aload 4
            monitorexit
        13: ireturn
        14: .line 1060
      StackMap locals: android.widget.RemoteViewsAdapter int int android.widget.RemoteViewsAdapter$RemoteViewsMetaData android.widget.RemoteViewsAdapter$RemoteViewsMetaData
      StackMap stack: java.lang.Throwable
            aload 4
            monitorexit
        15: athrow
        end local 3 // android.widget.RemoteViewsAdapter$RemoteViewsMetaData metaData
        end local 2 // int typeId
        end local 1 // int position
        end local 0 // android.widget.RemoteViewsAdapter this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   16     0      this  Landroid/widget/RemoteViewsAdapter;
            0   16     1  position  I
            3    4     2    typeId  I
            6    8     2    typeId  I
           10   16     2    typeId  I
           11   16     3  metaData  Landroid/widget/RemoteViewsAdapter$RemoteViewsMetaData;
      Exception table:
        from    to  target  type
           1     5       8  any
           6     7       8  any
           8     9       8  any
          12    13      14  any
          14    15      14  any
    MethodParameters:
          Name  Flags
      position  

  public void setVisibleRangeHint(int, int);
    descriptor: (II)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // android.widget.RemoteViewsAdapter this
        start local 1 // int lowerBound
        start local 2 // int upperBound
         0: .line 1071
            aload 0 /* this */
            iload 1 /* lowerBound */
            putfield android.widget.RemoteViewsAdapter.mVisibleWindowLowerBound:I
         1: .line 1072
            aload 0 /* this */
            iload 2 /* upperBound */
            putfield android.widget.RemoteViewsAdapter.mVisibleWindowUpperBound:I
         2: .line 1073
            return
        end local 2 // int upperBound
        end local 1 // int lowerBound
        end local 0 // android.widget.RemoteViewsAdapter this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Landroid/widget/RemoteViewsAdapter;
            0    3     1  lowerBound  I
            0    3     2  upperBound  I
    MethodParameters:
            Name  Flags
      lowerBound  
      upperBound  

  public android.view.View getView(int, android.view.View, android.view.ViewGroup);
    descriptor: (ILandroid/view/View;Landroid/view/ViewGroup;)Landroid/view/View;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=9, args_size=4
        start local 0 // android.widget.RemoteViewsAdapter this
        start local 1 // int position
        start local 2 // android.view.View convertView
        start local 3 // android.view.ViewGroup parent
         0: .line 1078
            aload 0 /* this */
            getfield android.widget.RemoteViewsAdapter.mCache:Landroid/widget/RemoteViewsAdapter$FixedSizeRemoteViewsCache;
            dup
            astore 4
            monitorenter
         1: .line 1079
            aload 0 /* this */
            getfield android.widget.RemoteViewsAdapter.mCache:Landroid/widget/RemoteViewsAdapter$FixedSizeRemoteViewsCache;
            iload 1 /* position */
            invokevirtual android.widget.RemoteViewsAdapter$FixedSizeRemoteViewsCache.getRemoteViewsAt:(I)Landroid/widget/RemoteViews;
            astore 5 /* rv */
        start local 5 // android.widget.RemoteViews rv
         2: .line 1080
            aload 5 /* rv */
            ifnull 3
            iconst_1
            goto 4
      StackMap locals: android.widget.RemoteViewsAdapter$FixedSizeRemoteViewsCache android.widget.RemoteViews
      StackMap stack:
         3: iconst_0
      StackMap locals:
      StackMap stack: int
         4: istore 6 /* isInCache */
        start local 6 // boolean isInCache
         5: .line 1081
            iconst_0
            istore 7 /* hasNewItems */
        start local 7 // boolean hasNewItems
         6: .line 1083
            aload 2 /* convertView */
            ifnull 8
            aload 2 /* convertView */
            instanceof android.widget.RemoteViewsAdapter$RemoteViewsFrameLayout
            ifeq 8
         7: .line 1084
            aload 0 /* this */
            getfield android.widget.RemoteViewsAdapter.mRequestedViews:Landroid/widget/RemoteViewsAdapter$RemoteViewsFrameLayoutRefSet;
            aload 2 /* convertView */
            checkcast android.widget.RemoteViewsAdapter$RemoteViewsFrameLayout
            invokevirtual android.widget.RemoteViewsAdapter$RemoteViewsFrameLayoutRefSet.removeView:(Landroid/widget/RemoteViewsAdapter$RemoteViewsFrameLayout;)V
         8: .line 1087
      StackMap locals: int int
      StackMap stack:
            iload 6 /* isInCache */
            ifne 11
         9: .line 1090
            aload 0 /* this */
            invokevirtual android.widget.RemoteViewsAdapter.requestBindService:()V
        10: .line 1091
            goto 12
        11: .line 1093
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.RemoteViewsAdapter.mCache:Landroid/widget/RemoteViewsAdapter$FixedSizeRemoteViewsCache;
            iload 1 /* position */
            invokevirtual android.widget.RemoteViewsAdapter$FixedSizeRemoteViewsCache.queuePositionsToBePreloadedFromRequestedPosition:(I)Z
            istore 7 /* hasNewItems */
        12: .line 1097
      StackMap locals:
      StackMap stack:
            aload 2 /* convertView */
            instanceof android.widget.RemoteViewsAdapter$RemoteViewsFrameLayout
            ifeq 15
        13: .line 1098
            aload 2 /* convertView */
            checkcast android.widget.RemoteViewsAdapter$RemoteViewsFrameLayout
            astore 8 /* layout */
        start local 8 // android.widget.RemoteViewsAdapter$RemoteViewsFrameLayout layout
        14: .line 1099
            goto 17
        end local 8 // android.widget.RemoteViewsAdapter$RemoteViewsFrameLayout layout
        15: .line 1100
      StackMap locals:
      StackMap stack:
            new android.widget.RemoteViewsAdapter$RemoteViewsFrameLayout
            dup
            aload 3 /* parent */
            invokevirtual android.view.ViewGroup.getContext:()Landroid/content/Context;
            aload 0 /* this */
            getfield android.widget.RemoteViewsAdapter.mCache:Landroid/widget/RemoteViewsAdapter$FixedSizeRemoteViewsCache;
            invokespecial android.widget.RemoteViewsAdapter$RemoteViewsFrameLayout.<init>:(Landroid/content/Context;Landroid/widget/RemoteViewsAdapter$FixedSizeRemoteViewsCache;)V
            astore 8 /* layout */
        start local 8 // android.widget.RemoteViewsAdapter$RemoteViewsFrameLayout layout
        16: .line 1101
            aload 8 /* layout */
            aload 0 /* this */
            getfield android.widget.RemoteViewsAdapter.mAsyncViewLoadExecutor:Ljava/util/concurrent/Executor;
            invokevirtual android.widget.RemoteViewsAdapter$RemoteViewsFrameLayout.setExecutor:(Ljava/util/concurrent/Executor;)V
        17: .line 1104
      StackMap locals: android.widget.RemoteViewsAdapter$RemoteViewsFrameLayout
      StackMap stack:
            iload 6 /* isInCache */
            ifeq 22
        18: .line 1106
            aload 8 /* layout */
            aload 5 /* rv */
            aload 0 /* this */
            getfield android.widget.RemoteViewsAdapter.mRemoteViewsOnClickHandler:Landroid/widget/RemoteViews$OnClickHandler;
            iconst_0
            invokevirtual android.widget.RemoteViewsAdapter$RemoteViewsFrameLayout.onRemoteViewsLoaded:(Landroid/widget/RemoteViews;Landroid/widget/RemoteViews$OnClickHandler;Z)V
        19: .line 1107
            iload 7 /* hasNewItems */
            ifeq 30
        20: .line 1108
            aload 0 /* this */
            getfield android.widget.RemoteViewsAdapter.mServiceHandler:Landroid/widget/RemoteViewsAdapter$RemoteServiceHandler;
            iconst_3
            invokevirtual android.widget.RemoteViewsAdapter$RemoteServiceHandler.sendEmptyMessage:(I)Z
            pop
        21: .line 1110
            goto 30
        22: .line 1113
      StackMap locals:
      StackMap stack:
            aload 8 /* layout */
        23: .line 1114
            aload 0 /* this */
            getfield android.widget.RemoteViewsAdapter.mCache:Landroid/widget/RemoteViewsAdapter$FixedSizeRemoteViewsCache;
            invokevirtual android.widget.RemoteViewsAdapter$FixedSizeRemoteViewsCache.getMetaData:()Landroid/widget/RemoteViewsAdapter$RemoteViewsMetaData;
            aload 0 /* this */
            getfield android.widget.RemoteViewsAdapter.mContext:Landroid/content/Context;
            invokevirtual android.widget.RemoteViewsAdapter$RemoteViewsMetaData.getLoadingTemplate:(Landroid/content/Context;)Landroid/widget/RemoteViewsAdapter$LoadingViewTemplate;
            getfield android.widget.RemoteViewsAdapter$LoadingViewTemplate.remoteViews:Landroid/widget/RemoteViews;
        24: .line 1115
            aload 0 /* this */
            getfield android.widget.RemoteViewsAdapter.mRemoteViewsOnClickHandler:Landroid/widget/RemoteViews$OnClickHandler;
        25: .line 1116
            iconst_0
        26: .line 1113
            invokevirtual android.widget.RemoteViewsAdapter$RemoteViewsFrameLayout.onRemoteViewsLoaded:(Landroid/widget/RemoteViews;Landroid/widget/RemoteViews$OnClickHandler;Z)V
        27: .line 1117
            aload 0 /* this */
            getfield android.widget.RemoteViewsAdapter.mRequestedViews:Landroid/widget/RemoteViewsAdapter$RemoteViewsFrameLayoutRefSet;
            iload 1 /* position */
            aload 8 /* layout */
            invokevirtual android.widget.RemoteViewsAdapter$RemoteViewsFrameLayoutRefSet.add:(ILandroid/widget/RemoteViewsAdapter$RemoteViewsFrameLayout;)V
        28: .line 1118
            aload 0 /* this */
            getfield android.widget.RemoteViewsAdapter.mCache:Landroid/widget/RemoteViewsAdapter$FixedSizeRemoteViewsCache;
            iload 1 /* position */
            invokevirtual android.widget.RemoteViewsAdapter$FixedSizeRemoteViewsCache.queueRequestedPositionToLoad:(I)V
        29: .line 1119
            aload 0 /* this */
            getfield android.widget.RemoteViewsAdapter.mServiceHandler:Landroid/widget/RemoteViewsAdapter$RemoteServiceHandler;
            iconst_3
            invokevirtual android.widget.RemoteViewsAdapter$RemoteServiceHandler.sendEmptyMessage:(I)Z
            pop
        30: .line 1121
      StackMap locals:
      StackMap stack:
            aload 8 /* layout */
            aload 4
            monitorexit
        31: areturn
        end local 8 // android.widget.RemoteViewsAdapter$RemoteViewsFrameLayout layout
        end local 7 // boolean hasNewItems
        end local 6 // boolean isInCache
        end local 5 // android.widget.RemoteViews rv
        32: .line 1078
      StackMap locals: android.widget.RemoteViewsAdapter int android.view.View android.view.ViewGroup android.widget.RemoteViewsAdapter$FixedSizeRemoteViewsCache
      StackMap stack: java.lang.Throwable
            aload 4
            monitorexit
        33: athrow
        end local 3 // android.view.ViewGroup parent
        end local 2 // android.view.View convertView
        end local 1 // int position
        end local 0 // android.widget.RemoteViewsAdapter this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   34     0         this  Landroid/widget/RemoteViewsAdapter;
            0   34     1     position  I
            0   34     2  convertView  Landroid/view/View;
            0   34     3       parent  Landroid/view/ViewGroup;
            2   32     5           rv  Landroid/widget/RemoteViews;
            5   32     6    isInCache  Z
            6   32     7  hasNewItems  Z
           14   15     8       layout  Landroid/widget/RemoteViewsAdapter$RemoteViewsFrameLayout;
           16   32     8       layout  Landroid/widget/RemoteViewsAdapter$RemoteViewsFrameLayout;
      Exception table:
        from    to  target  type
           1    31      32  any
          32    33      32  any
    MethodParameters:
             Name  Flags
      position     
      convertView  
      parent       

  public int getViewTypeCount();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // android.widget.RemoteViewsAdapter this
         0: .line 1126
            aload 0 /* this */
            getfield android.widget.RemoteViewsAdapter.mCache:Landroid/widget/RemoteViewsAdapter$FixedSizeRemoteViewsCache;
            invokevirtual android.widget.RemoteViewsAdapter$FixedSizeRemoteViewsCache.getMetaData:()Landroid/widget/RemoteViewsAdapter$RemoteViewsMetaData;
            astore 1 /* metaData */
        start local 1 // android.widget.RemoteViewsAdapter$RemoteViewsMetaData metaData
         1: .line 1127
            aload 1 /* metaData */
            dup
            astore 2
            monitorenter
         2: .line 1128
            aload 1 /* metaData */
            getfield android.widget.RemoteViewsAdapter$RemoteViewsMetaData.viewTypeCount:I
            aload 2
            monitorexit
         3: ireturn
         4: .line 1127
      StackMap locals: android.widget.RemoteViewsAdapter android.widget.RemoteViewsAdapter$RemoteViewsMetaData android.widget.RemoteViewsAdapter$RemoteViewsMetaData
      StackMap stack: java.lang.Throwable
            aload 2
            monitorexit
         5: athrow
        end local 1 // android.widget.RemoteViewsAdapter$RemoteViewsMetaData metaData
        end local 0 // android.widget.RemoteViewsAdapter this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0      this  Landroid/widget/RemoteViewsAdapter;
            1    6     1  metaData  Landroid/widget/RemoteViewsAdapter$RemoteViewsMetaData;
      Exception table:
        from    to  target  type
           2     3       4  any
           4     5       4  any

  public boolean hasStableIds();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // android.widget.RemoteViewsAdapter this
         0: .line 1133
            aload 0 /* this */
            getfield android.widget.RemoteViewsAdapter.mCache:Landroid/widget/RemoteViewsAdapter$FixedSizeRemoteViewsCache;
            invokevirtual android.widget.RemoteViewsAdapter$FixedSizeRemoteViewsCache.getMetaData:()Landroid/widget/RemoteViewsAdapter$RemoteViewsMetaData;
            astore 1 /* metaData */
        start local 1 // android.widget.RemoteViewsAdapter$RemoteViewsMetaData metaData
         1: .line 1134
            aload 1 /* metaData */
            dup
            astore 2
            monitorenter
         2: .line 1135
            aload 1 /* metaData */
            getfield android.widget.RemoteViewsAdapter$RemoteViewsMetaData.hasStableIds:Z
            aload 2
            monitorexit
         3: ireturn
         4: .line 1134
      StackMap locals: android.widget.RemoteViewsAdapter android.widget.RemoteViewsAdapter$RemoteViewsMetaData android.widget.RemoteViewsAdapter$RemoteViewsMetaData
      StackMap stack: java.lang.Throwable
            aload 2
            monitorexit
         5: athrow
        end local 1 // android.widget.RemoteViewsAdapter$RemoteViewsMetaData metaData
        end local 0 // android.widget.RemoteViewsAdapter this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0      this  Landroid/widget/RemoteViewsAdapter;
            1    6     1  metaData  Landroid/widget/RemoteViewsAdapter$RemoteViewsMetaData;
      Exception table:
        from    to  target  type
           2     3       4  any
           4     5       4  any

  public boolean isEmpty();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.widget.RemoteViewsAdapter this
         0: .line 1140
            aload 0 /* this */
            invokevirtual android.widget.RemoteViewsAdapter.getCount:()I
            ifgt 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // android.widget.RemoteViewsAdapter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/widget/RemoteViewsAdapter;

  private int[] getVisibleWindow(int);
    descriptor: (I)[I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=7, args_size=2
        start local 0 // android.widget.RemoteViewsAdapter this
        start local 1 // int count
         0: .line 1147
            aload 0 /* this */
            getfield android.widget.RemoteViewsAdapter.mVisibleWindowLowerBound:I
            istore 2 /* lower */
        start local 2 // int lower
         1: .line 1148
            aload 0 /* this */
            getfield android.widget.RemoteViewsAdapter.mVisibleWindowUpperBound:I
            istore 3 /* upper */
        start local 3 // int upper
         2: .line 1150
            iload 2 /* lower */
            ifne 3
            iload 3 /* upper */
            ifeq 4
      StackMap locals: int int
      StackMap stack:
         3: iload 2 /* lower */
            iflt 4
            iload 3 /* upper */
            ifge 5
         4: .line 1151
      StackMap locals:
      StackMap stack:
            iconst_0
            newarray 10
            areturn
         5: .line 1155
      StackMap locals:
      StackMap stack:
            iload 2 /* lower */
            iload 3 /* upper */
            if_icmpgt 14
         6: .line 1156
            iload 3 /* upper */
            iconst_1
            iadd
            iload 2 /* lower */
            isub
            newarray 10
            astore 4 /* window */
        start local 4 // int[] window
         7: .line 1157
            iload 2 /* lower */
            istore 5 /* i */
        start local 5 // int i
         8: iconst_0
            istore 6 /* j */
        start local 6 // int j
         9: goto 12
        10: .line 1158
      StackMap locals: int[] int int
      StackMap stack:
            aload 4 /* window */
            iload 6 /* j */
            iload 5 /* i */
            iastore
        11: .line 1157
            iinc 5 /* i */ 1
            iinc 6 /* j */ 1
      StackMap locals:
      StackMap stack:
        12: iload 5 /* i */
            iload 3 /* upper */
            if_icmple 10
        end local 6 // int j
        end local 5 // int i
        13: .line 1160
            goto 27
        end local 4 // int[] window
        14: .line 1163
      StackMap locals:
      StackMap stack:
            iload 1 /* count */
            iload 2 /* lower */
            invokestatic java.lang.Math.max:(II)I
            istore 1 /* count */
        15: .line 1164
            iload 1 /* count */
            iload 2 /* lower */
            isub
            iload 3 /* upper */
            iadd
            iconst_1
            iadd
            newarray 10
            astore 4 /* window */
        start local 4 // int[] window
        16: .line 1165
            iconst_0
            istore 5 /* j */
        start local 5 // int j
        17: .line 1167
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        18: goto 21
        19: .line 1168
      StackMap locals: int[] int int
      StackMap stack:
            aload 4 /* window */
            iload 5 /* j */
            iload 6 /* i */
            iastore
        20: .line 1167
            iinc 6 /* i */ 1
            iinc 5 /* j */ 1
      StackMap locals:
      StackMap stack:
        21: iload 6 /* i */
            iload 3 /* upper */
            if_icmple 19
        end local 6 // int i
        22: .line 1170
            iload 2 /* lower */
            istore 6 /* i */
        start local 6 // int i
        23: goto 26
        24: .line 1171
      StackMap locals:
      StackMap stack:
            aload 4 /* window */
            iload 5 /* j */
            iload 6 /* i */
            iastore
        25: .line 1170
            iinc 6 /* i */ 1
            iinc 5 /* j */ 1
      StackMap locals:
      StackMap stack:
        26: iload 6 /* i */
            iload 1 /* count */
            if_icmplt 24
        end local 6 // int i
        end local 5 // int j
        27: .line 1174
      StackMap locals:
      StackMap stack:
            aload 4 /* window */
            areturn
        end local 4 // int[] window
        end local 3 // int upper
        end local 2 // int lower
        end local 1 // int count
        end local 0 // android.widget.RemoteViewsAdapter this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   28     0    this  Landroid/widget/RemoteViewsAdapter;
            0   28     1   count  I
            1   28     2   lower  I
            2   28     3   upper  I
            7   14     4  window  [I
           16   28     4  window  [I
            8   13     5       i  I
            9   13     6       j  I
           17   27     5       j  I
           18   22     6       i  I
           23   27     6       i  I
    MethodParameters:
       Name  Flags
      count  

  public void notifyDataSetChanged();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.widget.RemoteViewsAdapter this
         0: .line 1178
            aload 0 /* this */
            getfield android.widget.RemoteViewsAdapter.mServiceHandler:Landroid/widget/RemoteViewsAdapter$RemoteServiceHandler;
            iconst_4
            invokevirtual android.widget.RemoteViewsAdapter$RemoteServiceHandler.removeMessages:(I)V
         1: .line 1179
            aload 0 /* this */
            getfield android.widget.RemoteViewsAdapter.mServiceHandler:Landroid/widget/RemoteViewsAdapter$RemoteServiceHandler;
            iconst_2
            invokevirtual android.widget.RemoteViewsAdapter$RemoteServiceHandler.sendEmptyMessage:(I)Z
            pop
         2: .line 1180
            return
        end local 0 // android.widget.RemoteViewsAdapter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Landroid/widget/RemoteViewsAdapter;

  void superNotifyDataSetChanged();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.widget.RemoteViewsAdapter this
         0: .line 1183
            aload 0 /* this */
            invokespecial android.widget.BaseAdapter.notifyDataSetChanged:()V
         1: .line 1184
            return
        end local 0 // android.widget.RemoteViewsAdapter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/widget/RemoteViewsAdapter;

  public boolean handleMessage(android.os.Message);
    descriptor: (Landroid/os/Message;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.widget.RemoteViewsAdapter this
        start local 1 // android.os.Message msg
         0: .line 1188
            aload 1 /* msg */
            getfield android.os.Message.what:I
            tableswitch { // 1 - 5
                    1: 1
                    2: 3
                    3: 5
                    4: 8
                    5: 11
              default: 13
          }
         1: .line 1190
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.RemoteViewsAdapter.mCache:Landroid/widget/RemoteViewsAdapter$FixedSizeRemoteViewsCache;
            invokevirtual android.widget.RemoteViewsAdapter$FixedSizeRemoteViewsCache.commitTemporaryMetaData:()V
         2: .line 1191
            iconst_1
            ireturn
         3: .line 1194
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual android.widget.RemoteViewsAdapter.superNotifyDataSetChanged:()V
         4: .line 1195
            iconst_1
            ireturn
         5: .line 1198
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.RemoteViewsAdapter.mCallback:Landroid/widget/RemoteViewsAdapter$RemoteAdapterConnectionCallback;
            ifnull 7
         6: .line 1199
            aload 0 /* this */
            getfield android.widget.RemoteViewsAdapter.mCallback:Landroid/widget/RemoteViewsAdapter$RemoteAdapterConnectionCallback;
            invokeinterface android.widget.RemoteViewsAdapter$RemoteAdapterConnectionCallback.onRemoteAdapterConnected:()Z
            pop
         7: .line 1201
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
         8: .line 1204
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.RemoteViewsAdapter.mCallback:Landroid/widget/RemoteViewsAdapter$RemoteAdapterConnectionCallback;
            ifnull 10
         9: .line 1205
            aload 0 /* this */
            getfield android.widget.RemoteViewsAdapter.mCallback:Landroid/widget/RemoteViewsAdapter$RemoteAdapterConnectionCallback;
            invokeinterface android.widget.RemoteViewsAdapter$RemoteAdapterConnectionCallback.onRemoteAdapterDisconnected:()V
        10: .line 1207
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        11: .line 1210
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.RemoteViewsAdapter.mRequestedViews:Landroid/widget/RemoteViewsAdapter$RemoteViewsFrameLayoutRefSet;
            aload 1 /* msg */
            getfield android.os.Message.arg1:I
            aload 1 /* msg */
            getfield android.os.Message.obj:Ljava/lang/Object;
            checkcast android.widget.RemoteViews
            invokevirtual android.widget.RemoteViewsAdapter$RemoteViewsFrameLayoutRefSet.notifyOnRemoteViewsLoaded:(ILandroid/widget/RemoteViews;)V
        12: .line 1211
            iconst_1
            ireturn
        13: .line 1214
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // android.os.Message msg
        end local 0 // android.widget.RemoteViewsAdapter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   14     0  this  Landroid/widget/RemoteViewsAdapter;
            0   14     1   msg  Landroid/os/Message;
    MethodParameters:
      Name  Flags
      msg   

  private void requestBindService();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // android.widget.RemoteViewsAdapter this
         0: .line 1218
            aload 0 /* this */
            getfield android.widget.RemoteViewsAdapter.mServiceHandler:Landroid/widget/RemoteViewsAdapter$RemoteServiceHandler;
            iconst_4
            invokevirtual android.widget.RemoteViewsAdapter$RemoteServiceHandler.removeMessages:(I)V
         1: .line 1219
            aload 0 /* this */
            getfield android.widget.RemoteViewsAdapter.mServiceHandler:Landroid/widget/RemoteViewsAdapter$RemoteServiceHandler;
            iconst_1
            aload 0 /* this */
            getfield android.widget.RemoteViewsAdapter.mAppWidgetId:I
            iconst_0
            aload 0 /* this */
            getfield android.widget.RemoteViewsAdapter.mIntent:Landroid/content/Intent;
            invokestatic android.os.Message.obtain:(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
            invokevirtual android.os.Message.sendToTarget:()V
         2: .line 1220
            return
        end local 0 // android.widget.RemoteViewsAdapter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Landroid/widget/RemoteViewsAdapter;

  private static void lambda$0(android.widget.RemoteViewsAdapter$RemoteViewsCacheKey);
    descriptor: (Landroid/widget/RemoteViewsAdapter$RemoteViewsCacheKey;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=1
         0: .line 904
            getstatic android.widget.RemoteViewsAdapter.sCachedRemoteViewsCaches:Ljava/util/HashMap;
            dup
            astore 1
            monitorenter
         1: .line 905
            getstatic android.widget.RemoteViewsAdapter.sCachedRemoteViewsCaches:Ljava/util/HashMap;
            aload 0
            invokevirtual java.util.HashMap.containsKey:(Ljava/lang/Object;)Z
            ifeq 3
         2: .line 906
            getstatic android.widget.RemoteViewsAdapter.sCachedRemoteViewsCaches:Ljava/util/HashMap;
            aload 0
            invokevirtual java.util.HashMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 908
      StackMap locals: java.util.HashMap
      StackMap stack:
            getstatic android.widget.RemoteViewsAdapter.sRemoteViewsCacheRemoveRunnables:Ljava/util/HashMap;
            aload 0
            invokevirtual java.util.HashMap.containsKey:(Ljava/lang/Object;)Z
            ifeq 5
         4: .line 909
            getstatic android.widget.RemoteViewsAdapter.sRemoteViewsCacheRemoveRunnables:Ljava/util/HashMap;
            aload 0
            invokevirtual java.util.HashMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         5: .line 904
      StackMap locals:
      StackMap stack:
            aload 1
            monitorexit
         6: goto 9
      StackMap locals:
      StackMap stack: java.lang.Throwable
         7: aload 1
            monitorexit
         8: athrow
         9: .line 912
      StackMap locals:
      StackMap stack:
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           1     6       7  any
           7     8       7  any
}
SourceFile: "RemoteViewsAdapter.java"
NestMembers:
  android.widget.RemoteViewsAdapter$AsyncRemoteAdapterAction  android.widget.RemoteViewsAdapter$FixedSizeRemoteViewsCache  android.widget.RemoteViewsAdapter$HandlerThreadExecutor  android.widget.RemoteViewsAdapter$LoadingViewTemplate  android.widget.RemoteViewsAdapter$LoadingViewTemplate$1  android.widget.RemoteViewsAdapter$RemoteAdapterConnectionCallback  android.widget.RemoteViewsAdapter$RemoteServiceHandler  android.widget.RemoteViewsAdapter$RemoteViewsCacheKey  android.widget.RemoteViewsAdapter$RemoteViewsFrameLayout  android.widget.RemoteViewsAdapter$RemoteViewsFrameLayoutRefSet  android.widget.RemoteViewsAdapter$RemoteViewsIndexMetaData  android.widget.RemoteViewsAdapter$RemoteViewsMetaData
InnerClasses:
  public final FilterComparison = android.content.Intent$FilterComparison of android.content.Intent
  public abstract Callback = android.os.Handler$Callback of android.os.Handler
  public OnClickHandler = android.widget.RemoteViews$OnClickHandler of android.widget.RemoteViews
  public AsyncRemoteAdapterAction = android.widget.RemoteViewsAdapter$AsyncRemoteAdapterAction of android.widget.RemoteViewsAdapter
  private FixedSizeRemoteViewsCache = android.widget.RemoteViewsAdapter$FixedSizeRemoteViewsCache of android.widget.RemoteViewsAdapter
  private HandlerThreadExecutor = android.widget.RemoteViewsAdapter$HandlerThreadExecutor of android.widget.RemoteViewsAdapter
  private LoadingViewTemplate = android.widget.RemoteViewsAdapter$LoadingViewTemplate of android.widget.RemoteViewsAdapter
  public abstract RemoteAdapterConnectionCallback = android.widget.RemoteViewsAdapter$RemoteAdapterConnectionCallback of android.widget.RemoteViewsAdapter
  private RemoteServiceHandler = android.widget.RemoteViewsAdapter$RemoteServiceHandler of android.widget.RemoteViewsAdapter
  RemoteViewsCacheKey = android.widget.RemoteViewsAdapter$RemoteViewsCacheKey of android.widget.RemoteViewsAdapter
  RemoteViewsFrameLayout = android.widget.RemoteViewsAdapter$RemoteViewsFrameLayout of android.widget.RemoteViewsAdapter
  private RemoteViewsFrameLayoutRefSet = android.widget.RemoteViewsAdapter$RemoteViewsFrameLayoutRefSet of android.widget.RemoteViewsAdapter
  private RemoteViewsIndexMetaData = android.widget.RemoteViewsAdapter$RemoteViewsIndexMetaData of android.widget.RemoteViewsAdapter
  private RemoteViewsMetaData = android.widget.RemoteViewsAdapter$RemoteViewsMetaData of android.widget.RemoteViewsAdapter
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles