[GUIDE][PORT] [cm11] Dinamic statusbar

Search This thread

lancelot0606

Member
Jul 22, 2013
22
2
help

I didnt not understand this part
"place DSBSettings.smali into folder "smali" ,after recompile and decompile automatic place directories name smali"

I am going to put DSBSettings.smali into to foler smali but there are three sub folder inside smali folder android com javax? which one? than what is next recompile and decompile again? and what does it mean automatic place directories name smali?
 

qoejohn

Senior Member
I didnt not understand this part
"place DSBSettings.smali into folder "smali" ,after recompile and decompile automatic place directories name smali"

I am going to put DSBSettings.smali into to foler smali but there are three sub folder inside smali folder android com javax? which one? than what is next recompile and decompile again? and what does it mean automatic place directories name smali?

just place DSBSettings.smali on folder smali/here and then recompile
 

lancelot0606

Member
Jul 22, 2013
22
2
log

just place DSBSettings.smali on folder smali/here and then recompile

what logs ?
upload..

[12.07.2015 22:41:45] I: **** Compiling Amigo_Settings.apk ****
[12.07.2015 22:41:45] I: Smaling smali folder into classes.dex...
[12.07.2015 22:41:45] S: pro.burgerz.bart.core.exceptions.CompileException: brut.androlib.e: Could not smali file: DSBSettings.smali
[12.07.2015 22:41:45] I: Time elapsed: 0h 0m 0s 379ms

its kitkat 4.4.2 I think its different than this tutorial I am making a mistake somewhere :/
 

L4zyD0g

Senior Member
@dugeriss Hey man , your mod is amazing but I have something to ask , how to remove the black shading on status bar?
We all know that the statusbar and nav bar are same in colors but there is a semi black color can you tell me how to remove that ? (Hope you will understand me :D)

---------- Post added at 09:58 PM ---------- Previous post was at 09:38 PM ----------

[/COLOR @dugeriss I got errors when placing DSBSettings.smali in smali folder.
Correct me if I'm wrong I placed it on com/android/settings/oplosandev

Thanks , hope to answer all my questions :D

I got stock KK

---------- Post added at 10:09 PM ---------- Previous post was at 09:58 PM ----------

I got errors after placing DSBsmali on "smali" folder

..\3-Out\SecSettings_ESS.apk\smali\DSBSettings.smali[41,15] no viable alternative at input 'res'
..\3-Out\SecSettings_ESS.apk\smali\DSBSettings.smali[41,19] no viable alternative at input 'Landroid/content/res/Resources;'
..\3-Out\SecSettings_ESS.apk\smali\DSBSettings.smali[47,15] no viable alternative at input 'resolver'
..\3-Out\SecSettings_ESS.apk\smali\DSBSettings.smali[47,24] no viable alternative at input 'Landroid/content/ContentResolver;'
..\3-Out\SecSettings_ESS.apk\smali\DSBSettings.smali[59,15] no viable alternative at input 'isStatusBarDynamic'
..\3-Out\SecSettings_ESS.apk\smali\DSBSettings.smali[72,15] no viable alternative at input 'hasNavBarByDefault'
..\3-Out\SecSettings_ESS.apk\smali\DSBSettings.smali[89,15] no viable alternative at input 'hasNavigationBar'
..\3-Out\SecSettings_ESS.apk\smali\DSBSettings.smali[104,15] no viable alternative at input 'isNavigationBarDynamic'
..\3-Out\SecSettings_ESS.apk\smali\DSBSettings.smali[114,15] no viable alternative at input 'isAnyBarDynamic'
..\3-Out\SecSettings_ESS.apk\smali\DSBSettings.smali[144,15] no viable alternative at input 'areSystemBarsGradient'
..\3-Out\SecSettings_ESS.apk\smali\DSBSettings.smali[159,15] no viable alternative at input 'isStatusBarFilter'
..\3-Out\SecSettings_ESS.apk\smali\DSBSettings.smali[273,4] Error for input '.parameter': Invalid directive
..\3-Out\SecSettings_ESS.apk\smali\DSBSettings.smali[273,15] mismatched input '"savedInstanceState"' expecting END_METHOD_DIRECTIVE
..\3-Out\SecSettings_ESS.apk\smali\DSBSettings.smali[356,4] Error for input '.parameter': Invalid directive
..\3-Out\SecSettings_ESS.apk\smali\DSBSettings.smali[357,4] Error for input '.parameter': Invalid directive
..\3-Out\SecSettings_ESS.apk\smali\DSBSettings.smali[356,15] mismatched input '"preferenceScreen"' expecting END_METHOD_DIRECTIVE
Exception in thread "main" brut.androlib.AndrolibException: Could not smali file: DSBSettings.smali
at brut.androlib.src.SmaliBuilder.buildFile(SmaliBuilder.java:71)
at brut.androlib.src.SmaliBuilder.build(SmaliBuilder.java:55)
at brut.androlib.src.SmaliBuilder.build(SmaliBuilder.java:41)
at brut.androlib.Androlib.buildSourcesSmali(Androlib.java:349)
at brut.androlib.Androlib.buildSources(Androlib.java:289)
at brut.androlib.Androlib.build(Androlib.java:275)
at brut.androlib.Androlib.build(Androlib.java:250)
at brut.apktool.Main.cmdBuild(Main.java:225)
at brut.apktool.Main.main(Main.java:84)
 

qoejohn

Senior Member
@dugeriss Hey man , your mod is amazing but I have something to ask , how to remove the black shading on status bar?
We all know that the statusbar and nav bar are same in colors but there is a semi black color can you tell me how to remove that ? (Hope you will understand me :D)

---------- Post added at 09:58 PM ---------- Previous post was at 09:38 PM ----------

[/COLOR @dugeriss I got errors when placing DSBSettings.smali in smali folder.
Correct me if I'm wrong I placed it on com/android/settings/oplosandev

Thanks , hope to answer all my questions :D

I got stock KK

---------- Post added at 10:09 PM ---------- Previous post was at 09:58 PM ----------

I got errors after placing DSBsmali on "smali" folder

..\3-Out\SecSettings_ESS.apk\smali\DSBSettings.smali[41,15] no viable alternative at input 'res'
..\3-Out\SecSettings_ESS.apk\smali\DSBSettings.smali[41,19] no viable alternative at input 'Landroid/content/res/Resources;'
..\3-Out\SecSettings_ESS.apk\smali\DSBSettings.smali[47,15] no viable alternative at input 'resolver'
..\3-Out\SecSettings_ESS.apk\smali\DSBSettings.smali[47,24] no viable alternative at input 'Landroid/content/ContentResolver;'
..\3-Out\SecSettings_ESS.apk\smali\DSBSettings.smali[59,15] no viable alternative at input 'isStatusBarDynamic'
..\3-Out\SecSettings_ESS.apk\smali\DSBSettings.smali[72,15] no viable alternative at input 'hasNavBarByDefault'
..\3-Out\SecSettings_ESS.apk\smali\DSBSettings.smali[89,15] no viable alternative at input 'hasNavigationBar'
..\3-Out\SecSettings_ESS.apk\smali\DSBSettings.smali[104,15] no viable alternative at input 'isNavigationBarDynamic'
..\3-Out\SecSettings_ESS.apk\smali\DSBSettings.smali[114,15] no viable alternative at input 'isAnyBarDynamic'
..\3-Out\SecSettings_ESS.apk\smali\DSBSettings.smali[144,15] no viable alternative at input 'areSystemBarsGradient'
..\3-Out\SecSettings_ESS.apk\smali\DSBSettings.smali[159,15] no viable alternative at input 'isStatusBarFilter'
..\3-Out\SecSettings_ESS.apk\smali\DSBSettings.smali[273,4] Error for input '.parameter': Invalid directive
..\3-Out\SecSettings_ESS.apk\smali\DSBSettings.smali[273,15] mismatched input '"savedInstanceState"' expecting END_METHOD_DIRECTIVE
..\3-Out\SecSettings_ESS.apk\smali\DSBSettings.smali[356,4] Error for input '.parameter': Invalid directive
..\3-Out\SecSettings_ESS.apk\smali\DSBSettings.smali[357,4] Error for input '.parameter': Invalid directive
..\3-Out\SecSettings_ESS.apk\smali\DSBSettings.smali[356,15] mismatched input '"preferenceScreen"' expecting END_METHOD_DIRECTIVE
Exception in thread "main" brut.androlib.AndrolibException: Could not smali file: DSBSettings.smali
at brut.androlib.src.SmaliBuilder.buildFile(SmaliBuilder.java:71)
at brut.androlib.src.SmaliBuilder.build(SmaliBuilder.java:55)
at brut.androlib.src.SmaliBuilder.build(SmaliBuilder.java:41)
at brut.androlib.Androlib.buildSourcesSmali(Androlib.java:349)
at brut.androlib.Androlib.buildSources(Androlib.java:289)
at brut.androlib.Androlib.build(Androlib.java:275)
at brut.androlib.Androlib.build(Androlib.java:250)
at brut.apktool.Main.cmdBuild(Main.java:225)
at brut.apktool.Main.main(Main.java:84)


use apktool 1.5.2
 

SHARING IS GOOD

Senior Member
Nov 20, 2014
108
22
I tried several times, but the result is not as expected. Some questions:
1. Inside resources.zip, there is deuge_dsb_settings.xml. Should I merge that file to Settings.apk? and at what stage it should be merged? Because this tutorial doesn't mention it.
2. We should push systemui.so, but this tutorial doesn't explain how to produce systemui.so.
 

qoejohn

Senior Member
I tried several times, but the result is not as expected. Some questions:
1. Inside resources.zip, there is deuge_dsb_settings.xml. Should I merge that file to Settings.apk? and at what stage it should be merged? Because this tutorial doesn't mention it.
2. We should push systemui.so, but this tutorial doesn't explain how to produce systemui.so.

1. Merge deuge_dsb_settings.xml to Settings/res/xml/
2. SystemUi.so => https://github.com/MoKee/android_frameworks_base/commit/14cd59e04ec8e6a7cdb7f6f08a12ae2974e349f1
 

Parthib

Senior Member
Aug 27, 2016
164
67
Xiaomi Poco X3 Pro
what to do with the matched id..

open public.xml
and matched all id
Lcom/android/systemui/statusbar/phone/PhoneStatusBarTransitions$PhoneStatusBarBackground Drawable.smali
Code:
const v1, 0x7f07000a #type="color" name="status_bar_background_opaque"
const v3, 0x7f07000b #type="color" name="status_bar_background_semi_transparent"
const v4, 0x7f0201dd #type="drawable" name="stat
 

vsandeepp005

New member
Aug 21, 2017
3
0
what to do with the matched id..

open public.xml
and matched all id
Lcom/android/systemui/statusbar/phone/PhoneStatusBarTransitions$PhoneStatusBarBackground Drawable.smali
Code:
const v1, 0x7f07000a #type="color" name="status_bar_background_opaque"
const v3, 0x7f07000b #type="color" name="status_bar_background_semi_transparent"
const v4, 0x7f0201dd #type="drawable" name="stat
hi
 

Top Liked Posts

  • There are no posts matching your filters.
  • 11
    what is Dinamic statusbar??
    can you see here
    or here my original facebook post

    i comparing from another rom include this feature to pure CM11 base

    big thanks to
    • Allah swt
    • my family
    • CyanogenMod
    • @ocoot
    • @bamzzz
    • @qoejohn
    • prabu siliwangi
    • anggi muhammad
    • syaeful anwar
    • deddy kitul
    • you


    REQUIREMENT:
    - BRAIN
    - Patient
    - experience
    - Know how to decompile/recompiling Apk and JAR file
    - notepad++
    - Tool for decompiling, : apkmanager/apktool/Virtous/apkmultitools/ or else ( i use apktool 1.5.2 )


    download file recources below
    10
    Navbar

    open
    Lcom/android/systemui/statusbar/phone/NavigationBarTransitions;

    find code
    Code:
    # instance fields
    .field private final mBarService:Lcom/android/internal/statusbar/IStatusBarService;

    add above

    Code:
    # annotations
    .annotation system Ldalvik/annotation/MemberClasses;
        value = {
            Lcom/android/systemui/statusbar/phone/NavigationBarTransitions$GradientObserver;,
            Lcom/android/systemui/statusbar/phone/NavigationBarTransitions$NavigationBarBackgroundDrawable;
        }
    .end annotation


    find
    Code:
     .method public constructor

    change like it

    Code:
    # direct methods
    .method public constructor <init>(Lcom/android/systemui/statusbar/phone/NavigationBarView;)V
        .locals 3
        .parameter "view"
    
        .prologue
        .line 50
        new-instance v0, Lcom/android/systemui/statusbar/phone/NavigationBarTransitions$NavigationBarBackgroundDrawable;
    
        invoke-virtual {p1}, Lcom/android/systemui/statusbar/phone/NavigationBarView;->getContext()Landroid/content/Context;
    
        move-result-object v1
    
        invoke-direct {v0, v1}, Lcom/android/systemui/statusbar/phone/NavigationBarTransitions$NavigationBarBackgroundDrawable;-><init>(Landroid/content/Context;)V
    
        invoke-direct {p0, p1, v0}, Lcom/android/systemui/statusbar/phone/BarTransitions;-><init>(Landroid/view/View;Lcom/android/systemui/statusbar/phone/BarTransitions$BarBackgroundDrawable;)V
    
        .line 242
        new-instance v0, Lcom/android/systemui/statusbar/phone/NavigationBarTransitions$2;
    
        invoke-direct {v0, p0}, Lcom/android/systemui/statusbar/phone/NavigationBarTransitions$2;-><init>(Lcom/android/systemui/statusbar/phone/NavigationBarTransitions;)V
    
        iput-object v0, p0, Lcom/android/systemui/statusbar/phone/NavigationBarTransitions;->mLightsOutListener:Landroid/view/View$OnTouchListener;
    
        .line 52
        iput-object p1, p0, Lcom/android/systemui/statusbar/phone/NavigationBarTransitions;->mView:Lcom/android/systemui/statusbar/phone/NavigationBarView;
    
        .line 53
        const-string v0, "statusbar"
    
        invoke-static {v0}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
    
        move-result-object v0
    
        invoke-static {v0}, Lcom/android/internal/statusbar/IStatusBarService$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/statusbar/IStatusBarService;
    
        move-result-object v0
    
        iput-object v0, p0, Lcom/android/systemui/statusbar/phone/NavigationBarTransitions;->mBarService:Lcom/android/internal/statusbar/IStatusBarService;
    
        .line 55
        return-void
    .end method

    • save


    open
    Lcom/android/systemui/statusbar/phone/NavigationBarView$StatusBarBlockerTransitions;

    find
    Code:
    .method public constructor

    change to

    Code:
    # direct methods
    .method public constructor <init>(Landroid/view/View;)V
        .locals 5
        .parameter "statusBarBlocker"
    
        .prologue
        .line 1268
        new-instance v0, Lcom/android/systemui/statusbar/phone/BarTransitions$BarBackgroundDrawable;
    
        invoke-virtual {p1}, Landroid/view/View;->getContext()Landroid/content/Context;
    
        move-result-object v1
    
        const v2, 0x7f07000a		#type="color" name="status_bar_background_opaque"
    
        const v3, 0x7f07000b		#type="color" name="status_bar_background_semi_transparent"
    
        const v4, 0x7f0201dd		#type="drawable" name="status_background"
    
        invoke-direct {v0, v1, v2, v3, v4}, Lcom/android/systemui/statusbar/phone/BarTransitions$BarBackgroundDrawable;-><init>(Landroid/content/Context;III)V
    
        invoke-direct {p0, p1, v0}, Lcom/android/systemui/statusbar/phone/BarTransitions;-><init>(Landroid/view/View;Lcom/android/systemui/statusbar/phone/BarTransitions$BarBackgroundDrawable;)V
    
        .line 1273
        return-void
    .end method

    • and matched all id
    Code:
        const v2, 0x7f07000a		#type="color" name="status_bar_background_opaque"
    
        const v3, 0x7f07000b		#type="color" name="status_bar_background_semi_transparent"
    
        const v4, 0x7f0201dd		#type="drawable" name="status_background"



    do enabling navigation bar via build.prop
    add this code at ADDITIONAL_BUILD_PROPERTIES

    Code:
    qemu.hw.mainkeys=0




    push
    Settings.apk /system/priv-app/here
    SystemUI.apk /system/priv-app/here
    systemui.so /system/lib/here

    or other way, u can try methode flasahble.zip,adb,or other
    5
    Settings.apk

    • Decompile Settings.apk

    add string
    Code:
    	<string name="dynamic_system_bars_title">Dynamic system bars</string>
        <string name="dynamic_status_bar_title">Dynamic status bar</string>
        <string name="dynamic_status_bar_summary">Automatically update the background of the status bar</string>
        <string name="dynamic_navigation_bar_title">Dynamic navigation bar</string>
        <string name="dynamic_navigation_bar_summary">Automatically update the background of the navigation bar</string>
        <string name="dynamic_system_bars_gradient_title">System bar gradient</string>
        <string name="dynamic_system_bars_gradient_summary">Overlay a gradient on the system bars</string>
        <string name="dynamic_status_bar_filter_title">Darker status bar</string>
        <string name="dynamic_status_bar_filter_summary">Overlay a darkening filter on the status bar</string>

    open
    res/xml/display_settings.xml

    add wherever you want
    Code:
    	<PreferenceScreen android:title="Dinamic Status Bar" android:fragment="com.android.settings.oplosandev.DSBSettings" />

    place DSBSettings.smali into folder "smali" ,after recompile and decompile automatic place directories name smali
    • Recompile
    • Decompile

    open
    DSBSettings.smali
    matched
    const v0, 0x7f050071 #type="xml" name="dsb_settings"

    • Recompile
    • sign
    • push
    5
    SystemUI.apk

    • decompile SystemUI
    • open
    Lcom/android/systemui/statusbar/phone/PhoneStatusBarTransitions.smali

    • find
    Code:
    # instance fields

    • add above

    Code:
    # annotations
    .annotation system Ldalvik/annotation/MemberClasses;
        value = {
            Lcom/android/systemui/statusbar/phone/PhoneStatusBarTransitions$1;,
            Lcom/android/systemui/statusbar/phone/PhoneStatusBarTransitions$GradientObserver;,
            Lcom/android/systemui/statusbar/phone/PhoneStatusBarTransitions$PhoneStatusBarBackgroundDrawable;
        }
    .end annotation

    • findmethod
    Code:
    .method public constructor <init>(Lcom/android/systemui/statusbar/phone/PhoneStatusBarView;)V

    • replace with

    Code:
    .method public constructor <init>(Lcom/android/systemui/statusbar/phone/PhoneStatusBarView;)V
        .locals 4
        .parameter "view"
    
        .prologue
        const/4 v3, 0x1
    
        .line 47
        new-instance v1, Lcom/android/systemui/statusbar/phone/PhoneStatusBarTransitions$PhoneStatusBarBackgroundDrawable;
    
        invoke-virtual {p1}, Lcom/android/systemui/statusbar/phone/PhoneStatusBarView;->getContext()Landroid/content/Context;
    
        move-result-object v2
    
        invoke-direct {v1, v2}, Lcom/android/systemui/statusbar/phone/PhoneStatusBarTransitions$PhoneStatusBarBackgroundDrawable;-><init>(Landroid/content/Context;)V
    
        invoke-direct {p0, p1, v1}, Lcom/android/systemui/statusbar/phone/BarTransitions;-><init>(Landroid/view/View;Lcom/android/systemui/statusbar/phone/BarTransitions$BarBackgroundDrawable;)V
    
        .line 48
        iput-object p1, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBarTransitions;->mView:Lcom/android/systemui/statusbar/phone/PhoneStatusBarView;
    
        .line 49
        iget-object v1, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBarTransitions;->mView:Lcom/android/systemui/statusbar/phone/PhoneStatusBarView;
    
        invoke-virtual {v1}, Lcom/android/systemui/statusbar/phone/PhoneStatusBarView;->getContext()Landroid/content/Context;
    
        move-result-object v1
    
        invoke-virtual {v1}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
    
        move-result-object v0
    
        .line 50
        .local v0, res:Landroid/content/res/Resources;
        const v1, 0x7f0b002b		[COLOR="Red"]#type="dimen" name="status_bar_icon_drawing_alpha"[/COLOR]
    
        invoke-virtual {v0, v1, v3, v3}, Landroid/content/res/Resources;->getFraction(III)F
    
        move-result v1
    
        iput v1, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBarTransitions;->mIconAlphaWhenOpaque:F
    
        .line 51
        return-void
    .end method

    skip this step if in your have it
    add this

    dimens.xml
    Code:
    <item type="dimen" name="status_bar_icon_drawing_alpha">75.0%</item>

    colors.xml
    Code:
    	<color name="status_bar_background_opaque">#ff000000</color>
        <color name="status_bar_background_semi_transparent">#66000000</color>


    intergers.xml
    Code:
    	<integer name="dsb_transition_duration">500</integer>

    • push smali
    • recoompile
    • decompile
    • open public.xml
    • and matched all id

    • Lcom/android/systemui/statusbar/phone/PhoneStatusBarTransitions$PhoneStatusBarBackgroundDrawable.smali
    Code:
        const v1, 0x7f07000a		#type="color" name="status_bar_background_opaque"
        const v3, 0x7f07000b		#type="color" name="status_bar_background_semi_transparent"
        const v4, 0x7f0201dd		#type="drawable" name="status_background"



    • Lcom/android/systemui/statusbar/phone/BarTransitions$BarBackgroundDrawable.smali
    Code:
    	const v1, 0x7f090015		#type="integer" name="dsb_transition_duration"
    2
    nice share omm...