Attend XDA's Second Annual Developer Conference, XDA:DevCon 2014!
5,810,055 Members 47,203 Now Online
XDA Developers Android and Mobile Development Forum

[how to] More volume steps & Smooth scroll for stock 4.4.2

Tip us?
 
EnricoD
Old
(Last edited by EnricoD; 7th June 2014 at 09:11 PM.)
#1  
EnricoD's Avatar
Recognized Contributor / Themer - OP
Thanks Meter 3,937
Posts: 2,208
Join Date: May 2013
Default [how to] More volume steps & Smooth scroll for stock 4.4.2

HOW-TO:


Volume Steps:

1) Open framework.jar.out\smali\android\media\AudioService.smali

2) Search for

Code:
array_0
It will looks like this:

Code:
    .line 205
    :array_0
    .array-data 0x4
        0x5t 0x0t 0x0t 0x0t
        0x7t 0x0t 0x0t 0x0t
        0x7t 0x0t 0x0t 0x0t
        0xft 0x0t 0x0t 0x0t
        0x7t 0x0t 0x0t 0x0t
        0x7t 0x0t 0x0t 0x0t
        0xft 0x0t 0x0t 0x0t
        0x7t 0x0t 0x0t 0x0t
        0xft 0x0t 0x0t 0x0t
        0xft 0x0t 0x0t 0x0t
    .end array-data
3) Change f (15) to

1e (30 steps)

or

2d (45 steps)

It should looks like it:

Code:
    .line 205
    :array_0
    .array-data 0x4
        0x5t 0x0t 0x0t 0x0t
        0x7t 0x0t 0x0t 0x0t
        0x7t 0x0t 0x0t 0x0t
        0x1et 0x0t 0x0t 0x0t
        0x7t 0x0t 0x0t 0x0t
        0x7t 0x0t 0x0t 0x0t
        0xft 0x0t 0x0t 0x0t
        0x7t 0x0t 0x0t 0x0t
        0xft 0x0t 0x0t 0x0t
        0xft 0x0t 0x0t 0x0t
    .end array-data
4) Recompile back



Smooth Scroll:

1) Open framework.jar.out/android/widget/AbsListView.smali

2) Search for

Code:
.method private createScrollingCache()V
Code:
.method private createScrollingCache()V
    .locals 2

    .prologue
    const/4 v1, 0x1
3) Change 0x1 to 0x0

Code:
.method private createScrollingCache()V
    .locals 2

    .prologue
    const/4 v1, 0x0
4) Search for

Code:
.method private initAbsListView()V
Code:
.method private initAbsListView()V
    .locals 3

    .prologue
    const/4 v2, 0x0

    const/4 v1, 0x1

    .line 824
    invoke-virtual {p0, v1}, Landroid/widget/AbsListView;->setClickable(Z)V

    .line 825
    invoke-virtual {p0, v1}, Landroid/widget/AbsListView;->setFocusableInTouchMode(Z)V

    .line 826
    invoke-virtual {p0, v2}, Landroid/widget/AbsListView;->setWillNotDraw(Z)V

    .line 827
    invoke-virtual {p0, v2}, Landroid/widget/AbsListView;->setAlwaysDrawnWithCacheEnabled(Z)V

    .line 828
    invoke-virtual {p0, v1}, Landroid/widget/AbsListView;->setScrollingCacheEnabled(Z)V
4) Change v1 to v2 in line828 like this:

Code:
.method private initAbsListView()V
Code:
.method private initAbsListView()V
    .locals 3

    .prologue
    const/4 v2, 0x0

    const/4 v1, 0x1

    .line 824
    invoke-virtual {p0, v1}, Landroid/widget/AbsListView;->setClickable(Z)V

    .line 825
    invoke-virtual {p0, v1}, Landroid/widget/AbsListView;->setFocusableInTouchMode(Z)V

    .line 826
    invoke-virtual {p0, v2}, Landroid/widget/AbsListView;->setWillNotDraw(Z)V

    .line 827
    invoke-virtual {p0, v2}, Landroid/widget/AbsListView;->setAlwaysDrawnWithCacheEnabled(Z)V

    .line 828
    invoke-virtual {p0, v2}, Landroid/widget/AbsListView;->setScrollingCacheEnabled(Z)V
5) Search for

Code:
.method public setScrollingCacheEnabled(Z)V
Code:
.method public setScrollingCacheEnabled(Z)V
    .locals 1
    .parameter "enabled"
6) Change enabled to disabled

Code:
.method public setScrollingCacheEnabled(Z)V
    .locals 1
    .parameter "disabled"


More info and original guide, adapted for N5, here: http://forum.xda-developers.com/show....php?t=1411317



Credits: @AndroidON
The Following 6 Users Say Thank You to EnricoD For This Useful Post: [ Click to Expand ]
 
EnricoD
Old
(Last edited by EnricoD; 21st January 2014 at 08:41 PM.)
#2  
EnricoD's Avatar
Recognized Contributor / Themer - OP
Thanks Meter 3,937
Posts: 2,208
Join Date: May 2013
... reserved ...
The Following 3 Users Say Thank You to EnricoD For This Useful Post: [ Click to Expand ]
 
fcisco13
Old
#3  
fcisco13's Avatar
Senior Member
Thanks Meter 358
Posts: 1,904
Join Date: Jul 2010
Location: houston
Will try these than you.

Whatchu talking bout willis!
 
granets
Old
(Last edited by granets; 4th September 2014 at 08:14 PM.)
#4  
granets's Avatar
Senior Member
Thanks Meter 176
Posts: 561
Join Date: Oct 2011
Location: Vratsa
Guys, this appears to work very well on my Nexus 5 running SlimKat 7.8. I had some trouble, but when I finally managed to edit the files and swap out the framework.jar file, scrolling is out of this world!!! No more slow facebook scrolling, or laggy gallery scrolling. It is so good, that I am wondering - are there any drawbacks??? If not, why aren't all ROMs doing this by default. It's just great!!!
p.s. to the OP - Don't reference lines in the code!!! Lines in my file were different (for example your line828 to edit, on my framework was line850). Watch out for this guys! Just look at what you change, don't look at the line number! (e.g. not line828, but rather look for "setScrollingCacheEnabled(Z)V")
Current phone: LG Nexus 5 franco r6x, SlimKat Weekly ROM | Old: Samsung Nexus S 9020T | Samsung Galaxy S3 I9300 /sold/
Calibration Charts for color profiles, found in franco's kernel
 
Lethargy
Old
#5  
Lethargy's Avatar
Senior Member
Thanks Meter 1,628
Posts: 2,925
Join Date: Jan 2014
Location: Sydney, Australia
Quote:
Originally Posted by granets View Post
Guys, this appears to work very well on my Nexus 5 running SlimKat 7.8. I had some trouble, but when I finally managed to edit the files and swap out the framework.jar file, scrolling is out of this world!!! No more slow facebook scrolling, or laggy gallery scrolling. It is so good, that I am wondering - are there any drawbacks??? If not, why aren't all ROMs doing this by default. It's just great!!!
p.s. to the OP - Don't reference lines in the code!!! Lines in my file were different (for example your line828 to edit, on my framework was line850). Watch out for this guys! Just look at what you change, don't look at the line number! (e.g. not line828, but rather look for "setScrollingCacheEnabled(Z)V")
Lines are referenced because the thread is named "stock".

You might feel its a little worse if you scroll one line at a time but flings should be smoother. Personally I feel no difference.

ふかつどう
Quote:
Originally Posted by kyphur
You ask us to understand your position. Well if you want to benefit from our experience and time then I think it is only fair that you understand our position.
I actively add ignorant people to my ignore list.
 
giosaxda
Old
#6  
Member
Thanks Meter 2
Posts: 62
Join Date: Jan 2012
I did everything as instructed for scroll mod. Apps didn't load. Nexus 5 SlimKat 7.9
any ideas?
Thread Tools
Display Modes