[Android Themes] lacoursiere18:
So decompile framework2 and go to /android/widget then AbsListView$AdapterDataSetObserver.smali

Search # instance fields then put this right ABOVE it:

.annotation system Ldalvik/annotation/Signature;
value = {
"Landroid/widget/AdapterView",
"<",
"Landroid/widget/ListAdapter;",
">.AdapterDataSetObserver;"
}
.end annotation

Save it..

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Now go to AbsListView$FlingRunnable$1.smali

Go to the very bottom of the smali and find:

invoke-virtual {v4}, Landroid/widget/AbsListView$FlingRunnable;->endFling()V

REPLACE it with this:

const/4 v5, 0x0

invoke-virtual {v4, v5}, Landroid/widget/AbsListView$FlingRunnable;->endFling(Z)V

Save it..

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Now go to AbsListView$FlingRunnable.smali

Find this method:

.method endFling()V

Change the name to this:

.method endFling(Z)V

Now add this whole method just ABOVE it:

.method endFling()V
.registers 2

.prologue
.line 4314
const/4 v0, 0x1

invoke-virtual {p0, v0}, Landroid/widget/AbsListView$FlingRunnable;->endFling(Z)V

.line 4315
return-void
.end method

Now back to .method endFling(Z)V find:

iget-object v0, p0, Landroid/widget/AbsListView$FlingRunnable;->this$0:Landroid/widget/AbsListView;

Add this right ABOVE it:

if-eqz p1, :cond_report

Then two lines down look for:

iget-object v0, p0, Landroid/widget/AbsListView$FlingRunnable;->mScroller:Landroid/widget/OverScroller;

Add this ABOVE it:

:cond_report

Same smali search for:

.method start(I)V

Just below

const/4 v1, 0x0

Add this bit of code:

invoke-static {p1}, Ljava/lang/Math;->abs(I)I

move-result v0

iget-object v3, p0, Landroid/widget/AbsListView$FlingRunnable;->this$0:Landroid/widget/AbsListView;

invoke-static {v3}, Landroid/widget/AbsListView;->[COLOR="Red"]access$1234[/COLOR](Landroid/widget/AbsListView;)I

move-result v3

if-le v0, v3, :cond_access

.line 4239
iget-object v0, p0, Landroid/widget/AbsListView$FlingRunnable;->this$0:Landroid/widget/AbsListView;

invoke-static {v0}, Landroid/widget/AbsListView;->[COLOR="SeaGreen"]access$3000[/COLOR](Landroid/widget/AbsListView;)V

.line 4242
:cond_access
if-gez p1, :cond_48

Then at the end of that .end method BEFORE

move v2, v1

Add:

:cond_48

Save it.. ALMOST done lolll

---------- Post added at 03:20 PM ---------- Previous post was at 03:19 PM ----------

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Now go to AbsListView.smali find # instance fields. Add these:

.field final Inverse:Landroid/os/Handler;

.field private mDecacheThreshold:I

.field mHeight:I

.field mIsGridView:Z

.field mIsScrolling:Z

.field mIsTap:Z

.field mIsWidget:Z

.field mWidth:I

.field mvPosition:I

Now find .method public constructor <init>(Landroid/content/Context;)V

Search for:

iput v2, p0, Landroid/widget/AbsListView;->mDirection:I

Add this BELOW it:

iput v2, p0, Landroid/widget/AbsListView;->mHeight:I

.line 714
iput-boolean v2, p0, Landroid/widget/AbsListView;->mIsTap:Z

.line 715
iput-boolean v2, p0, Landroid/widget/AbsListView;->mIsGridView:Z

.line 3516
new-instance v1, Landroid/widget/[COLOR="DarkOrange"]AbsListView$6[/COLOR];

invoke-direct {v1, p0}, Landroid/widget/[COLOR="DarkOrange"]AbsListView$6[/COLOR];-><init>(Landroid/widget/AbsListView;)V

iput-object v1, p0, Landroid/widget/AbsListView;->Inverse:Landroid/os/Handler;

Now find .method public constructor <init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V

Find:

iput v9, p0, Landroid/widget/AbsListView;->mDirection:I

Add this BELOW it:

const/4 v9, 0x0

iput v9, p0, Landroid/widget/AbsListView;->mHeight:I

.line 714
const/4 v9, 0x0

iput-boolean v9, p0, Landroid/widget/AbsListView;->mIsTap:Z

.line 715
const/4 v9, 0x0

iput-boolean v9, p0, Landroid/widget/AbsListView;->mIsGridView:Z

.line 3516
new-instance v9, Landroid/widget/[COLOR="DarkOrange"]AbsListView$6[/COLOR];

invoke-direct {v9, p0}, Landroid/widget/[COLOR="DarkOrange"]AbsListView$6[/COLOR];-><init>(Landroid/widget/AbsListView;)V

iput-object v9, p0, Landroid/widget/AbsListView;->Inverse:Landroid/os/Handler;

Now search .method static synthetic access$000

Add this ABOVEit:

.method static synthetic [COLOR="Red"]access$1234[/COLOR](Landroid/widget/AbsListView;)I
.registers 2

.prologue
.line 106
iget v0, p0, Landroid/widget/AbsListView;->mDecacheThreshold:I

return v0
.end method

Search for .method private initAbsListView()V

Find:

iput v1, p0, Landroid/widget/AbsListView;->mMaximumVelocity:I

Add this BELOW it:

iget v1, p0, Landroid/widget/AbsListView;->mMaximumVelocity:I

div-int/lit8 v1, v1, 0x2

iput v1, p0, Landroid/widget/AbsListView;->mDecacheThreshold:I

Same .method go to bottom of method and ADD this right ABOVE return void:

const/4 v1, 0x3

invoke-virtual {p0, v1}, Landroid/widget/AbsListView;->setPersistentDrawingCache(I)V

Next find .method private scrollIfNeeded(I)V

Find this bit of code:

iget v3, v0, Landroid/widget/AbsListView;->mTouchMode:I

const/4 v4, 0x3

if-ne v3, v4, :cond_f

move-object/from16 v0, p0

iget-object v3, v0, Landroid/widget/AbsListView;->mScrollStrictSpan:Landroid/os/StrictMode$Span;

if-nez v3, :cond_0

.line 3887
const-string v3, "AbsListView-scroll"

Add whats in BLUE:

iget v3, v0, Landroid/widget/AbsListView;->mTouchMode:I

const/4 v4, 0x3

if-ne v3, v4, :cond_f

[COLOR="Blue"]const/4 v3, 0x0

move-object/from16 v0, p0

iput-boolean v3, v0, Landroid/widget/AbsListView;->mIsWidget:Z[/COLOR]

.line 3885
move-object/from16 v0, p0

iget-object v3, v0, Landroid/widget/AbsListView;->mScrollStrictSpan:Landroid/os/StrictMode$Span;

if-nez v3, :cond_0

.line 3887
const-string v3, "AbsListView-scroll"

Now find .method protected handleDataChanged()V

Add BLUE:

.method protected handleDataChanged()V
.locals 15

.prologue
const/4 v14, 0x5

const/4 v13, -0x1

const/4 v8, 0x3

const/4 v9, 0x1

const/4 v12, 0x0

[COLOR="Blue"]iput-boolean v9, p0, Landroid/widget/AbsListView;->mIsWidget:Z[/COLOR]

.line 6976
iget v1, p0, Landroid/widget/AdapterView;->mItemCount:I

Search .method obtainView(I[Z)Landroid/view/View;

Add BLUE:

invoke-virtual {v5, p1}, Landroid/widget/AbsListView$RecycleBin;->getScrapView(I)Landroid/view/View;

move-result-object v2

.line 2711
:cond_0
if-eqz v2, :cond_a

.line 2712
iget-object v5, p0, Landroid/widget/AbsListView;->mAdapter:Landroid/widget/ListAdapter;

invoke-interface {v5, p1, v2, p0}, Landroid/widget/ListAdapter;->getView(ILandroid/view/View;Landroid/view/ViewGroup;)Landroid/view/View;

move-result-object v0

[COLOR="blue"]iget-boolean v5, p0, Landroid/widget/AbsListView;->mIsScrolling:Z

if-eqz v5, :cond_scroll

iget-boolean v5, p0, Landroid/widget/AbsListView;->mIsWidget:Z

if-nez v5, :cond_scroll

.line 2271
invoke-virtual {p0, v0}, Landroid/widget/AbsListView;->setAnimation(Landroid/view/View;)Landroid/view/View;

move-result-object v0

.line 2274
:cond_scroll[/COLOR]

.line 2714
.local v0, "child":Landroid/view/View;
if-nez v0, :cond_2

.line 2777
:cond_1
:goto_0
return-object v4

.line 2717
:cond_2
invoke-virtual {v0}, Landroid/view/View;->getImportantForAccessibility()I

Find .method protected onLayout(ZIIII)V

At the END of the method BEFORE return void add this:

invoke-virtual {p0}, Landroid/widget/AbsListView;->getHeight()I

move-result v2

iput v2, p0, Landroid/widget/AbsListView;->mHeight:I

.line 2122
invoke-virtual {p0}, Landroid/widget/AbsListView;->getWidth()I

move-result v2

iput v2, p0, Landroid/widget/AbsListView;->mWidth:I

Find .method public onTouchEvent(Landroid/view/MotionEvent;)Z

CHANGE .locals 12 to 13

Then find this bit of code and add BLUE:

.local v0, "actionMasked":I
packed-switch v0, :pswitch_data_0

:goto_1
:pswitch_0
move v8, v9

.line 4653
goto :goto_0

.line 4595
[COLOR="Blue"]:pswitch_44
iput-boolean v9, p0, Landroid/widget/AbsListView;->mIsTap:Z

.line 3556
iget-object v10, p0, Landroid/widget/AbsListView;->Inverse:Landroid/os/Handler;

const-wide/16 v11, 0x64

invoke-virtual {v10, v8, v11, v12}, Landroid/os/Handler;->sendEmptyMessageDelayed(IJ)Z[/COLOR]

invoke-direct {p0, p1}, Landroid/widget/AbsListView;->onTouchDown(Landroid/view/MotionEvent;)V

goto :goto_1

.line 4600
:pswitch_2
invoke-direct {p0, p1}, Landroid/widget/AbsListView;->onTouchMove(Landroid/view/MotionEvent;)V

goto :goto_1

.line 4605
:pswitch_3
[COLOR="blue"]iput-boolean v8, p0, Landroid/widget/AbsListView;->mIsTap:Z[/COLOR]

invoke-direct {p0, p1}, Landroid/widget/AbsListView;->onTouchUp(Landroid/view/MotionEvent;)V

goto :goto_1

.line 4610
:pswitch_4
invoke-direct {p0}, Landroid/widget/AbsListView;->onTouchCancel()V

Then at the end of that method CHANGE pswitch_1 to pswitch_44

Find .method reportScrollStateChange(I)V

Search for this bit of code and add BLUE:

:cond_e
iput-boolean v5, p0, Landroid/widget/AbsListView;->mDVFSLockAcquired:Z

.line 5471
:cond_f
iput p1, p0, Landroid/widget/AbsListView;->mLastScrollState:I

[COLOR="blue"]if-eqz p1, :cond_nd7

const/4 v0, 0x1

:goto_7
iput-boolean v0, p0, Landroid/widget/AbsListView;->mIsScrolling:Z[/COLOR]

.line 5472
iget-object v0, p0, Landroid/widget/AbsListView;->mOnScrollListener:Landroid/widget/AbsListView$OnScrollListener;

if-eqz v0, :cond_10

iget-boolean v0, p0, Landroid/widget/AbsListView;->mHoverAreaEnter:Z

if-nez v0, :cond_10

.line 5474
iget-object v0, p0, Landroid/widget/AbsListView;->mOnScrollListener:Landroid/widget/AbsListView$OnScrollListener;

invoke-interface {v0, p0, p1}, Landroid/widget/AbsListView$OnScrollListener;->onScrollStateChanged(Landroid/widget/AbsListView;I)V

.line 5477
:cond_10
return-void

[COLOR="blue"] :cond_nd7
const/4 v0, 0x0

goto :goto_7[/COLOR]

.line 5452
:catch_0
move-exception v0

goto :goto_3

Find .method public setAirScrollEnable(Z)V

Add this ABOVE it:

.method setAnimation(Landroid/view/View;)Landroid/view/View;
.locals 14
.param p1, "view" # Landroid/view/View;

.prologue
const/4 v5, 0x1

const/high16 v2, 0x3f800000

const/high16 v1, 0x3f000000

const/4 v4, 0x0

.line 2340
iget-object v3, p0, Landroid/widget/AbsListView;->mContext:Landroid/content/Context;

invoke-virtual {v3}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;

move-result-object v3

const-string v6, "listview_animation"

invoke-static {v3, v6, v5}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I

move-result v10

.line 2341
.local v10, "mAnim":I
const/4 v13, 0x0

.line 2342
.local v13, "scrollY":I
const/4 v11, 0x0

.line 2345
.local v11, "mDown":Z
:try_start_0
invoke-virtual {p0}, Landroid/widget/AbsListView;->computeVerticalScrollOffset()I
:try_end_0
.catch Ljava/lang/NullPointerException; {:try_start_0 .. :try_end_0} :catch_0

move-result v13

.line 2350
:goto_0
if-nez v10, :cond_1

.line 2428
:cond_0
:goto_1
return-object p1

.line 2346
:catch_0
move-exception v9

.line 2347
.local v9, "e":Ljava/lang/NullPointerException;
iget v13, p0, Landroid/widget/AbsListView;->mvPosition:I

goto :goto_0

.line 2353
.end local v9 # "e":Ljava/lang/NullPointerException;
:cond_1
iget v3, p0, Landroid/widget/AbsListView;->mvPosition:I

if-ge v3, v13, :cond_2

.line 2354
const/4 v11, 0x1

.line 2356
:cond_2
iput v13, p0, Landroid/widget/AbsListView;->mvPosition:I

.line 2358
const/4 v0, 0x0

.line 2359
.local v0, "anim":Landroid/view/animation/Animation;
packed-switch v10, :pswitch_data_0

.line 2400
:goto_2
const-wide/16 v1, 0x1f4

invoke-virtual {v0, v1, v2}, Landroid/view/animation/Animation;->setDuration(J)V

.line 2401
iget-object v1, p0, Landroid/widget/AbsListView;->mContext:Landroid/content/Context;

invoke-virtual {v1}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;

move-result-object v1

const-string v2, "listview_interpolator"

const/4 v3, 0x0

invoke-static {v1, v2, v3}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I

move-result v12

.line 2402
.local v12, "mInterpolator":I
packed-switch v12, :pswitch_data_1

.line 2425
:goto_3
if-eqz p1, :cond_0

.line 2426
invoke-virtual {p1, v0}, Landroid/view/View;->startAnimation(Landroid/view/animation/Animation;)V

goto :goto_1

.line 2361
.end local v12 # "mInterpolator":I
:pswitch_0
new-instance v0, Landroid/view/animation/ScaleAnimation;

.end local v0 # "anim":Landroid/view/animation/Animation;
invoke-direct {v0, v1, v2, v1, v2}, Landroid/view/animation/ScaleAnimation;-><init>(FFFF)V

.line 2362
.restart local v0 # "anim":Landroid/view/animation/Animation;
goto :goto_2

.line 2364
:pswitch_1
new-instance v0, Landroid/view/animation/ScaleAnimation;

.end local v0 # "anim":Landroid/view/animation/Animation;
move v3, v1

move v4, v2

move v6, v2

move v7, v5

move v8, v2

invoke-direct/range {v0 .. v8}, Landroid/view/animation/ScaleAnimation;-><init>(FFFFIFIF)V

.line 2365
.restart local v0 # "anim":Landroid/view/animation/Animation;
goto :goto_2

.line 2367
:pswitch_2
new-instance v0, Landroid/view/animation/ScaleAnimation;

.end local v0 # "anim":Landroid/view/animation/Animation;
move v3, v1

move v4, v2

move v6, v1

move v7, v5

move v8, v1

invoke-direct/range {v0 .. v8}, Landroid/view/animation/ScaleAnimation;-><init>(FFFFIFIF)V

.line 2368
.restart local v0 # "anim":Landroid/view/animation/Animation;
goto :goto_2

.line 2370
:pswitch_3
new-instance v0, Landroid/view/animation/AlphaAnimation;

.end local v0 # "anim":Landroid/view/animation/Animation;
invoke-direct {v0, v4, v2}, Landroid/view/animation/AlphaAnimation;-><init>(FF)V

.line 2371
.restart local v0 # "anim":Landroid/view/animation/Animation;
goto :goto_2

.line 2373
:pswitch_4
new-instance v0, Landroid/view/animation/TranslateAnimation;

.end local v0 # "anim":Landroid/view/animation/Animation;
iget v1, p0, Landroid/widget/AbsListView;->mHeight:I

neg-int v1, v1

int-to-float v1, v1

invoke-direct {v0, v4, v4, v1, v4}, Landroid/view/animation/TranslateAnimation;-><init>(FFFF)V

.line 2374
.restart local v0 # "anim":Landroid/view/animation/Animation;
goto :goto_2

.line 2376
:pswitch_5
new-instance v0, Landroid/view/animation/TranslateAnimation;

.end local v0 # "anim":Landroid/view/animation/Animation;
iget v1, p0, Landroid/widget/AbsListView;->mHeight:I

int-to-float v1, v1

invoke-direct {v0, v4, v4, v1, v4}, Landroid/view/animation/TranslateAnimation;-><init>(FFFF)V

.line 2377
.restart local v0 # "anim":Landroid/view/animation/Animation;
goto :goto_2

.line 2379
:pswitch_6
if-eqz v11, :cond_3

.line 2380
new-instance v0, Landroid/view/animation/TranslateAnimation;

.end local v0 # "anim":Landroid/view/animation/Animation;
iget v1, p0, Landroid/widget/AbsListView;->mHeight:I

neg-int v1, v1

int-to-float v1, v1

invoke-direct {v0, v4, v4, v1, v4}, Landroid/view/animation/TranslateAnimation;-><init>(FFFF)V

.restart local v0 # "anim":Landroid/view/animation/Animation;
goto :goto_2

.line 2382
:cond_3
new-instance v0, Landroid/view/animation/TranslateAnimation;

.end local v0 # "anim":Landroid/view/animation/Animation;
iget v1, p0, Landroid/widget/AbsListView;->mHeight:I

int-to-float v1, v1

invoke-direct {v0, v4, v4, v1, v4}, Landroid/view/animation/TranslateAnimation;-><init>(FFFF)V

.line 2383
.restart local v0 # "anim":Landroid/view/animation/Animation;
goto :goto_2

.line 2385
:pswitch_7
if-eqz v11, :cond_4

.line 2386
new-instance v0, Landroid/view/animation/TranslateAnimation;

.end local v0 # "anim":Landroid/view/animation/Animation;
iget v1, p0, Landroid/widget/AbsListView;->mHeight:I

int-to-float v1, v1

invoke-direct {v0, v4, v4, v1, v4}, Landroid/view/animation/TranslateAnimation;-><init>(FFFF)V

.restart local v0 # "anim":Landroid/view/animation/Animation;
goto :goto_2

.line 2388
:cond_4
new-instance v0, Landroid/view/animation/TranslateAnimation;

.end local v0 # "anim":Landroid/view/animation/Animation;
iget v1, p0, Landroid/widget/AbsListView;->mHeight:I

neg-int v1, v1

int-to-float v1, v1

invoke-direct {v0, v4, v4, v1, v4}, Landroid/view/animation/TranslateAnimation;-><init>(FFFF)V

.line 2389
.restart local v0 # "anim":Landroid/view/animation/Animation;
goto :goto_2

.line 2391
:pswitch_8
new-instance v0, Landroid/view/animation/TranslateAnimation;

.end local v0 # "anim":Landroid/view/animation/Animation;
iget v1, p0, Landroid/widget/AbsListView;->mWidth:I

neg-int v1, v1

int-to-float v1, v1

invoke-direct {v0, v1, v4, v4, v4}, Landroid/view/animation/TranslateAnimation;-><init>(FFFF)V

.line 2392
.restart local v0 # "anim":Landroid/view/animation/Animation;
goto/16 :goto_2

.line 2394
:pswitch_9
new-instance v0, Landroid/view/animation/TranslateAnimation;

.end local v0 # "anim":Landroid/view/animation/Animation;
iget v1, p0, Landroid/widget/AbsListView;->mWidth:I

int-to-float v1, v1

invoke-direct {v0, v1, v4, v4, v4}, Landroid/view/animation/TranslateAnimation;-><init>(FFFF)V

.line 2395
.restart local v0 # "anim":Landroid/view/animation/Animation;
goto/16 :goto_2

.line 2397
:pswitch_a
new-instance v0, Landroid/view/animation/RotateAnimation;

.end local v0 # "anim":Landroid/view/animation/Animation;
const/high16 v3, 0x43340000

move-object v2, v0

move v6, v1

move v7, v5

move v8, v1

invoke-direct/range {v2 .. v8}, Landroid/view/animation/RotateAnimation;-><init>(FFIFIF)V

.restart local v0 # "anim":Landroid/view/animation/Animation;
goto/16 :goto_2

.line 2404
.restart local v12 # "mInterpolator":I
:pswitch_b
iget-object v1, p0, Landroid/widget/AbsListView;->mContext:Landroid/content/Context;

const v2, 0x10a0005

invoke-static {v1, v2}, Landroid/view/animation/AnimationUtils;->loadInterpolator(Landroid/content/Context;I)Landroid/view/animation/Interpolator;

move-result-object v1

invoke-virtual {v0, v1}, Landroid/view/animation/Animation;->setInterpolator(Landroid/view/animation/Interpolator;)V

goto/16 :goto_3

.line 2407
:pswitch_c
iget-object v1, p0, Landroid/widget/AbsListView;->mContext:Landroid/content/Context;

const v2, 0x10a0006

invoke-static {v1, v2}, Landroid/view/animation/AnimationUtils;->loadInterpolator(Landroid/content/Context;I)Landroid/view/animation/Interpolator;

move-result-object v1

invoke-virtual {v0, v1}, Landroid/view/animation/Animation;->setInterpolator(Landroid/view/animation/Interpolator;)V

goto/16 :goto_3

.line 2410
:pswitch_d
iget-object v1, p0, Landroid/widget/AbsListView;->mContext:Landroid/content/Context;

const v2, 0x10a0004

invoke-static {v1, v2}, Landroid/view/animation/AnimationUtils;->loadInterpolator(Landroid/content/Context;I)Landroid/view/animation/Interpolator;

move-result-object v1

invoke-virtual {v0, v1}, Landroid/view/animation/Animation;->setInterpolator(Landroid/view/animation/Interpolator;)V

goto/16 :goto_3

.line 2413
:pswitch_e
iget-object v1, p0, Landroid/widget/AbsListView;->mContext:Landroid/content/Context;

const v2, 0x10a0007

invoke-static {v1, v2}, Landroid/view/animation/AnimationUtils;->loadInterpolator(Landroid/content/Context;I)Landroid/view/animation/Interpolator;

move-result-object v1

invoke-virtual {v0, v1}, Landroid/view/animation/Animation;->setInterpolator(Landroid/view/animation/Interpolator;)V

goto/16 :goto_3

.line 2416
:pswitch_f
iget-object v1, p0, Landroid/widget/AbsListView;->mContext:Landroid/content/Context;

const v2, 0x10a0008

invoke-static {v1, v2}, Landroid/view/animation/AnimationUtils;->loadInterpolator(Landroid/content/Context;I)Landroid/view/animation/Interpolator;

move-result-object v1

invoke-virtual {v0, v1}, Landroid/view/animation/Animation;->setInterpolator(Landroid/view/animation/Interpolator;)V

goto/16 :goto_3

.line 2419
:pswitch_10
iget-object v1, p0, Landroid/widget/AbsListView;->mContext:Landroid/content/Context;

const v2, 0x10a0009

invoke-static {v1, v2}, Landroid/view/animation/AnimationUtils;->loadInterpolator(Landroid/content/Context;I)Landroid/view/animation/Interpolator;

move-result-object v1

invoke-virtual {v0, v1}, Landroid/view/animation/Animation;->setInterpolator(Landroid/view/animation/Interpolator;)V

goto/16 :goto_3

.line 2422
:pswitch_11
iget-object v1, p0, Landroid/widget/AbsListView;->mContext:Landroid/content/Context;

const v2, 0x10a000a

invoke-static {v1, v2}, Landroid/view/animation/AnimationUtils;->loadInterpolator(Landroid/content/Context;I)Landroid/view/animation/Interpolator;

move-result-object v1

invoke-virtual {v0, v1}, Landroid/view/animation/Animation;->setInterpolator(Landroid/view/animation/Interpolator;)V

goto/16 :goto_3

.line 2359
:pswitch_data_0
.packed-switch 0x1
:pswitch_0
:pswitch_1
:pswitch_2
:pswitch_3
:pswitch_4
:pswitch_5
:pswitch_6
:pswitch_7
:pswitch_8
:pswitch_9
:pswitch_a
.end packed-switch

.line 2402
:pswitch_data_1
.packed-switch 0x1
:pswitch_b
:pswitch_c
:pswitch_d
:pswitch_e
:pswitch_f
:pswitch_10
:pswitch_11
.end packed-switch
.end method

Find .method public setHoverScrollDelay(I)V

Add this method ABOVE it:

.method public setGridView(Z)V
.registers 2

.prologue
.line 2427
iput-boolean p1, p0, Landroid/widget/AbsListView;->mIsGridView:Z

.line 2428
return-void
.end method

Drop the attached smali into this directory..

:good:DONE!!!!!:good:​

Let me know if you have ?'s or not sure about something..Also you access$ should be the same but double check them..