diff --git a/src/com/android/launcher3/BaseRecyclerViewFastScrollBar.java b/src/com/android/launcher3/BaseRecyclerViewFastScrollBar.java
index 96e994b..0177fd4 100644
--- a/src/com/android/launcher3/BaseRecyclerViewFastScrollBar.java
+++ b/src/com/android/launcher3/BaseRecyclerViewFastScrollBar.java
@@ -15,7 +15,6 @@
  */
 package com.android.launcher3;
 
-import android.animation.Animator;
 import android.animation.AnimatorSet;
 import android.animation.ArgbEvaluator;
 import android.animation.ObjectAnimator;
@@ -29,6 +28,8 @@
 import android.view.MotionEvent;
 import android.view.ViewConfiguration;
 
+import com.android.launcher3.util.Thunk;
+
 /**
  * The track and scrollbar that shows when you scroll the list.
  */
@@ -41,20 +42,20 @@
     private final static int MAX_TRACK_ALPHA = 30;
     private final static int SCROLL_BAR_VIS_DURATION = 150;
 
-    private BaseRecyclerView mRv;
+    @Thunk BaseRecyclerView mRv;
     private BaseRecyclerViewFastScrollPopup mPopup;
 
     private AnimatorSet mScrollbarAnimator;
 
     private int mThumbInactiveColor;
     private int mThumbActiveColor;
-    private Point mThumbOffset = new Point(-1, -1);
-    private Paint mThumbPaint;
+    @Thunk Point mThumbOffset = new Point(-1, -1);
+    @Thunk Paint mThumbPaint;
     private Paint mTrackPaint;
     private int mThumbMinWidth;
     private int mThumbMaxWidth;
-    private int mThumbWidth;
-    private int mThumbHeight;
+    @Thunk int mThumbWidth;
+    @Thunk int mThumbHeight;
     // The inset is the buffer around which a point will still register as a click on the scrollbar
     private int mTouchInset;
     private boolean mIsDragging;
diff --git a/src/com/android/launcher3/allapps/AllAppsRecyclerView.java b/src/com/android/launcher3/allapps/AllAppsRecyclerView.java
index c83c6cf..874e895 100644
--- a/src/com/android/launcher3/allapps/AllAppsRecyclerView.java
+++ b/src/com/android/launcher3/allapps/AllAppsRecyclerView.java
@@ -23,11 +23,13 @@
 import android.util.AttributeSet;
 import android.view.ContextThemeWrapper;
 import android.view.View;
+
 import com.android.launcher3.BaseRecyclerView;
 import com.android.launcher3.BaseRecyclerViewFastScrollBar;
 import com.android.launcher3.DeviceProfile;
 import com.android.launcher3.Launcher;
 import com.android.launcher3.Stats;
+import com.android.launcher3.util.Thunk;
 
 import java.util.List;
 
@@ -47,10 +49,11 @@
     private int mNumAppsPerRow;
     private int mPredictionBarHeight;
 
-    private BaseRecyclerViewFastScrollBar.FastScrollFocusableView mLastFastScrollFocusedView;
-    private int mPrevFastScrollFocusedPosition;
-    private int mFastScrollFrameIndex;
-    private int[] mFastScrollFrames = new int[10];
+    @Thunk BaseRecyclerViewFastScrollBar.FastScrollFocusableView mLastFastScrollFocusedView;
+    @Thunk int mPrevFastScrollFocusedPosition;
+    @Thunk int mFastScrollFrameIndex;
+    @Thunk final int[] mFastScrollFrames = new int[10];
+
     private final int mFastScrollMode = FAST_SCROLL_MODE_JUMP_TO_FIRST_ICON;
     private final int mScrollBarMode = FAST_SCROLL_BAR_MODE_DISTRIBUTE_BY_ROW;
 
@@ -267,7 +270,7 @@
      * This runnable runs a single frame of the smooth scroll animation and posts the next frame
      * if necessary.
      */
-    private Runnable mSmoothSnapNextFrameRunnable = new Runnable() {
+    @Thunk Runnable mSmoothSnapNextFrameRunnable = new Runnable() {
         @Override
         public void run() {
             if (mFastScrollFrameIndex < mFastScrollFrames.length) {
