Collection of Guides & Mods & Links for Samsung Android 6.0.1

Search This thread

alirezaanik

Senior Member
Oct 27, 2017
204
51
Hey Im using s5 exynos. I edited toggle colors to red. It worked. But when I changed ro.build.scafe to macchiato from americano, they changed to dimmed green again. When I edit build prop again to americano or mocha they turns to red.
I want to use macchiato bcoz of its animations and wifi name under toggle.
How can I apply red icons for this macchiato scafe
and how to edit button?
How to fix wifi connection strength in wifi toggle?
hey bro pls guide me how can i do it on my old TouchWiz samsung Galaxy a7 exynos.
which link u should follow
 

ShaDisNX255

Senior Member
Apr 3, 2014
2,611
1,641
Matamoros
Samsung Galaxy A52 4G
Trying to add s8 battery icon on s5 stock mm rom. Tried to add a folder and some files to smali folder of stock systemui. Got these errors. Any suggestion

Code:
W: /storage/emulated/0/ADM/Org/SystemUI/SystemUI_src/res/values/styles.xml:150: error: Error retrieving parent for item: No resource found that matches the given name '@android:style/Animation.Holo.Dialog'.
W: 
W: /storage/emulated/0/ADM/Org/SystemUI/SystemUI_src/res/values/styles.xml:151: error: Error retrieving parent for item: No resource found that matches the given name '@android:style/Animation.Holo.Dialog'.
W: 
W: /storage/emulated/0/ADM/Org/SystemUI/SystemUI_src/res/values/styles.xml:156: error: Error retrieving parent for item: No resource found that matches the given name '@android:style/Animation.Holo.Dialog'.
W: 
W: /storage/emulated/0/ADM/Org/SystemUI/SystemUI_src/res/values/styles.xml:166: error: Error retrieving parent for item: No resource found that matches the given name '@android:style/Animation.Holo.Dialog'.
W: 
W: /storage/emulated/0/ADM/Org/SystemUI/SystemUI_src/res/values/styles.xml:299: error: Error retrieving parent for item: No resource found that matches the given name '@android:style/Animation.ImmersiveModeConfirmation'.
W: 
Exception in thread "main" brut.androlib.AndrolibException: brut.androlib.AndrolibException: brut.common.BrutException: could not exec (exit code = 1): [/data/data/per.pqy.apktool/apktool/openjdk/bin/aapt6.0, p, --min-sdk-version, 23, --target-sdk-version, 23, --version-code, 23, --version-name, 6.0.1, --no-version-vectors, -F, /data/data/per.pqy.apktool/APKTOOL4246705340064915863.tmp, -0, pio, -0, res/drawable-nodpi-v4/bg_popup.9.qmg, -0, qmg, -0, res/drawable-nodpi-v4/homescreen_menu_noti_bg.9.qmg, -0, res/drawable-nodpi-v4/keyguard_carrierlockplus_call_btn_normal.9.qmg, -0, res/drawable-nodpi-v4/keyguard_carrierlockplus_call_btn_pressed.9.qmg, -0, res/drawable-nodpi-v4/keyguard_carrierlockplus_emergency_btn_normal.9.qmg, -0, res/drawable-nodpi-v4/keyguard_carrierlockplus_unlock_btn_normal.9.qmg, -0, webp, -0, res/drawable-sw360dp-xxhdpi-v13/settings_bt_focused.9.qmg, -0, res/drawable-sw360dp-xxhdpi-v13/settings_bt_normal.9.qmg, -0, res/drawable-sw360dp-xxhdpi-v13/settings_bt_pressed.9.qmg, -0, res/drawable-sw360dp-xxhdpi-v13/settings_bt_selected.9.qmg, -0, res/drawable-sw360dp-xxhdpi-v13/tw_toast_frame_holo_dark.9.qmg, -0, res/drawable-sw360dp-xxhdpi-v13/tw_toast_frame_holo_light.9.qmg, -0, res/drawable-sw360dp-xxhdpi-v13/tw_toast_frame_mtrl.9.qmg, -0, res/drawable-xxhdpi-v4/controller_btn_bg_left_v.9.qmg, -0, res/drawable-xxhdpi-v4/controller_btn_bg_right_v.9.qmg, -0, res/drawable-xxhdpi-v4/help_popup_picker_bg_w_01.9.qmg, -0, res/drawable-xxhdpi-v4/ic_notification_overlay.9.qmg, -0, res/drawable-xxhdpi-v4/keyguard_fmm_btn_default.9.qmg, -0, res/drawable-xxhdpi-v4/keyguard_fmm_btn_pressed.9.qmg, -0, res/drawable-xxhdpi-v4/lock_noticard_badge_bg_tilt.9.qmg, -0, res/drawable-xxhdpi-v4/mw_toast_frame_mtrl_light.9.qmg, -0, res/drawable-xxhdpi-v4/recents_task_shadow.9.qmg, -0, res/drawable-xxhdpi-v4/screenshot_panel.9.qmg, -0, res/drawable-xxhdpi-v4/tw_quick_panel_sfinder_qconnect_button_focused.9.qmg, -0, res/drawable-xxhdpi-v4/tw_quick_panel_sfinder_qconnect_button_normal.9.qmg, -0, res/drawable-xxhdpi-v4/tw_quick_panel_sfinder_qconnect_button_pressed.9.qmg, -0, res/drawable/help_popup_picker_bg_w_01.9.qmg, -0, arsc, -I, /data/data/per.pqy.apktool/1.apk, -S, /storage/emulated/0/ADM/Org/SystemUI/SystemUI_src/res, -M, /storage/emulated/0/ADM/Org/SystemUI/SystemUI_src/AndroidManifest.xml]
	at brut.androlib.Androlib.buildResourcesFull(Unknown Source)
	at brut.androlib.Androlib.buildResources(Unknown Source)
	at brut.androlib.Androlib.build(Unknown Source)
	at brut.androlib.Androlib.build(Unknown Source)
	at brut.apktool.Main.cmdBuild(Unknown Source)
	at brut.apktool.Main.main(Unknown Source)
Caused by: brut.androlib.AndrolibException: brut.common.BrutException: could not exec (exit code = 1): [/data/data/per.pqy.apktool/apktool/openjdk/bin/aapt6.0, p, --min-sdk-version, 23, --target-sdk-version, 23, --version-code, 23, --version-name, 6.0.1, --no-version-vectors, -F, /data/data/per.pqy.apktool/APKTOOL4246705340064915863.tmp, -0, pio, -0, res/drawable-nodpi-v4/bg_popup.9.qmg, -0, qmg, -0, res/drawable-nodpi-v4/homescreen_menu_noti_bg.9.qmg, -0, res/drawable-nodpi-v4/keyguard_carrierlockplus_call_btn_normal.9.qmg, -0, res/drawable-nodpi-v4/keyguard_carrierlockplus_call_btn_pressed.9.qmg, -0, res/drawable-nodpi-v4/keyguard_carrierlockplus_emergency_btn_normal.9.qmg, -0, res/drawable-nodpi-v4/keyguard_carrierlockplus_unlock_btn_normal.9.qmg, -0, webp, -0, res/drawable-sw360dp-xxhdpi-v13/settings_bt_focused.9.qmg, -0, res/drawable-sw360dp-xxhdpi-v13/settings_bt_normal.9.qmg, -0, res/drawable-sw360dp-xxhdpi-v13/settings_bt_pressed.9.qmg, -0, res/drawable-sw360dp-xxhdpi-v13/settings_bt_selected.9.qmg, -0, res/drawable-sw360dp-xxhdpi-v13/tw_toast_frame_holo_dark.9.qmg, -0, res/drawable-sw360dp-xxhdpi-v13/tw_toast_frame_holo_light.9.qmg, -0, res/drawable-sw360dp-xxhdpi-v13/tw_toast_frame_mtrl.9.qmg, -0, res/drawable-xxhdpi-v4/controller_btn_bg_left_v.9.qmg, -0, res/drawable-xxhdpi-v4/controller_btn_bg_right_v.9.qmg, -0, res/drawable-xxhdpi-v4/help_popup_picker_bg_w_01.9.qmg, -0, res/drawable-xxhdpi-v4/ic_notification_overlay.9.qmg, -0, res/drawable-xxhdpi-v4/keyguard_fmm_btn_default.9.qmg, -0, res/drawable-xxhdpi-v4/keyguard_fmm_btn_pressed.9.qmg, -0, res/drawable-xxhdpi-v4/lock_noticard_badge_bg_tilt.9.qmg, -0, res/drawable-xxhdpi-v4/mw_toast_frame_mtrl_light.9.qmg, -0, res/drawable-xxhdpi-v4/recents_task_shadow.9.qmg, -0, res/drawable-xxhdpi-v4/screenshot_panel.9.qmg, -0, res/drawable-xxhdpi-v4/tw_quick_panel_sfinder_qconnect_button_focused.9.qmg, -0, res/drawable-xxhdpi-v4/tw_quick_panel_sfinder_qconnect_button_normal.9.qmg, -0, res/drawable-xxhdpi-v4/tw_quick_panel_sfinder_qconnect_button_pressed.9.qmg, -0, res/drawable/help_popup_picker_bg_w_01.9.qmg, -0, arsc, -I, /data/data/per.pqy.apktool/1.apk, -S, /storage/emulated/0/ADM/Org/SystemUI/SystemUI_src/res, -M, /storage/emulated/0/ADM/Org/SystemUI/SystemUI_src/AndroidManifest.xml]
	at brut.androlib.res.AndrolibResources.aaptPackage(Unknown Source)
	... 6 more
Caused by: brut.common.BrutException: could not exec (exit code = 1): [/data/data/per.pqy.apktool/apktool/openjdk/bin/aapt6.0, p, --min-sdk-version, 23, --target-sdk-version, 23, --version-code, 23, --version-name, 6.0.1, --no-version-vectors, -F, /data/data/per.pqy.apktool/APKTOOL4246705340064915863.tmp, -0, pio, -0, res/drawable-nodpi-v4/bg_popup.9.qmg, -0, qmg, -0, res/drawable-nodpi-v4/homescreen_menu_noti_bg.9.qmg, -0, res/drawable-nodpi-v4/keyguard_carrierlockplus_call_btn_normal.9.qmg, -0, res/drawable-nodpi-v4/keyguard_carrierlockplus_call_btn_pressed.9.qmg, -0, res/drawable-nodpi-v4/keyguard_carrierlockplus_emergency_btn_normal.9.qmg, -0, res/drawable-nodpi-v4/keyguard_carrierlockplus_unlock_btn_normal.9.qmg, -0, webp, -0, res/drawable-sw360dp-xxhdpi-v13/settings_bt_focused.9.qmg, -0, res/drawable-sw360dp-xxhdpi-v13/settings_bt_normal.9.qmg, -0, res/drawable-sw360dp-xxhdpi-v13/settings_bt_pressed.9.qmg, -0, res/drawable-sw360dp-xxhdpi-v13/settings_bt_selected.9.qmg, -0, res/drawable-sw360dp-xxhdpi-v13/tw_toast_frame_holo_dark.9.qmg, -0, res/drawable-sw360dp-xxhdpi-v13/tw_toast_frame_holo_light.9.qmg, -0, res/drawable-sw360dp-xxhdpi-v13/tw_toast_frame_mtrl.9.qmg, -0, res/drawable-xxhdpi-v4/controller_btn_bg_left_v.9.qmg, -0, res/drawable-xxhdpi-v4/controller_btn_bg_right_v.9.qmg, -0, res/drawable-xxhdpi-v4/help_popup_picker_bg_w_01.9.qmg, -0, res/drawable-xxhdpi-v4/ic_notification_overlay.9.qmg, -0, res/drawable-xxhdpi-v4/keyguard_fmm_btn_default.9.qmg, -0, res/drawable-xxhdpi-v4/keyguard_fmm_btn_pressed.9.qmg, -0, res/drawable-xxhdpi-v4/lock_noticard_badge_bg_tilt.9.qmg, -0, res/drawable-xxhdpi-v4/mw_toast_frame_mtrl_light.9.qmg, -0, res/drawable-xxhdpi-v4/recents_task_shadow.9.qmg, -0, res/drawable-xxhdpi-v4/screenshot_panel.9.qmg, -0, res/drawable-xxhdpi-v4/tw_quick_panel_sfinder_qconnect_button_focused.9.qmg, -0, res/drawable-xxhdpi-v4/tw_quick_panel_sfinder_qconnect_button_normal.9.qmg, -0, res/drawable-xxhdpi-v4/tw_quick_panel_sfinder_qconnect_button_pressed.9.qmg, -0, res/drawable/help_popup_picker_bg_w_01.9.qmg, -0, arsc, -I, /data/data/per.pqy.apktool/1.apk, -S, /storage/emulated/0/ADM/Org/SystemUI/SystemUI_src/res, -M, /storage/emulated/0/ADM/Org/SystemUI/SystemUI_src/AndroidManifest.xml]
	at brut.util.OS.exec(Unknown Source)
	... 7 more
I: Using Apktool 2.3.1-Black
I: Smaling smali folder into classes.dex...
I: Building resources...

May I ask what tutorial you are using or were using?
 

ANDROIDXFOREVER

Senior Member
Mar 8, 2014
1,322
400
sanremo
Hi, @edzamber

BIG THANKS TO YOU,i don't want to take your guides but this is all thanks to your explanation
so here we go

Special Thanks to @mryellow he made the icons FOR THIS GUIDE

3QvdlSA.png


Xzn94rs.png


How to add Dolby Link in Settings



As we will modify somes xml in res/values, first follow Guide HERE to fix Do not Disturb if you haven't do it yet



* Decompil SecSettings2

* Open res/values/ids.xml and add this at bottom of files, just before </resources>

Code:

Code:
<item type="id" name="dolby_id">false</item>

* Open res/values/strings.xml
add this at bottom of files, just before </resources>


Code:

Code:
<string name="dolby">Dolby</string>

* Open res/xml/dashboard_categories.xml and place this anywhere you want

Note : It should be possible that your Dolby Package name and/or Activity name will be diffent (depends of version you use)
So watch in it to match
intent :targetPackage and :targetClass as well


Code:

Code:
dashboard-tile :icon="@drawable/ic_setting_grid_dolby" :id="@id/dolby_id" :title="@string/dolby" settings:tilecategoryid="@id/personal_section" settings:removetileapps="KIOSKCONTAINER">
            <intent :targetPackage="com.atmos.daxappUI" :action=".intent.action.MAIN" :targetClass="com.atmos.daxappUI.MainActivity" />
        </dashboard-tile>

* Add ic_setting_grid_dolby.png in res/drawable


* Recompile

* Enjoy :)



How to add Adaway Link in Settings



As we will modify some xml in res/values, first follow This guide to fix Do not Disturb if you haven't do it yet



* Decompile SecSettings2


* Open res/values/ids.xml and add this at bottom of files, just before </resources>

Code:

Code:
<item type="id" name="adaway_id">false</item>

* Open res/values/strings.xml
add this at bottom of files, just before </resources>


Code:

Code:
<string name="adaway">Adaway</string>

* Open res/xml/dashboard_categories.xml and place this anywhere you want

Note : It should be possible that your Adaway Package name and/or Activity name will be diffent (depends of version you use)
So watch in it to match
intent :targetPackage and :targetClass as well

Code:

Code:
<dashboard-tile :icon="@drawable/ic_setting_grid_adaway" :id="@id/adaway_id" :title="@string/adaway" settings:tilecategoryid="@id/personal_section" settings:removetileapps="KIOSKCONTAINER">
            <intent :targetPackage="org.adaway" :action=".intent.action.MAIN" :targetClass="org.adaway.ui.BaseActivity" />
        </dashboard-tile>

* Add ic_setting_grid_adaway.png in res/drawable


* Recompile

* Enjoy :)



How to add Xposed Link in Settings




As we will modify some xml in res/values, first follow This guide to fix Do not Disturb if you haven't do it yet



* Decompile SecSettings2

* Open res/values/ids.xml and add this at bottom of files, just before </resources>

Code:

Code:
<item type="id" name="xposed_id">false</item>

* Open res/values/strings.xml
add this at bottom of files, just before </resources>


Code:

Code:
<string name="xposed">Xposed</string>

* Open res/xml/dashboard_categories.xml and place this anywhere you want

Note : It should be possible that your Xposed Package name and/or Activity name will be diffent (depends of version you use)
So watch in it to match
intent :targetPackage and :targetClass as well


Code:

Code:
<dashboard-tile :icon="@drawable/ic_setting_grid_xposed" :id="@id/xposed_id" :title="@string/xposed" settings:tilecategoryid="@id/personal_section" settings:removetileapps="KIOSKCONTAINER">
            <intent :targetPackage="de.robv..xposed.installer" :action=".intent.action.MAIN" :targetClass="de.robv..xposed.installer.WelcomeActivity-dvdandroid" />
        </dashboard-tile>

* Add ic_setting_grid_xposed.png in res/drawable

*NOTE* if you want to add Xposed to Settings be sure to let them select in Aroma whether to install Stock or With Xposed Settings maybe they don't have Xposed Installed and then you get an FC

Recompile

Enjoy :)

hi bro thanks for guide but for add button telegram page from settings android 7.1.1? thanks
 

cnkzlyr

Senior Member
Oct 21, 2014
1,337
1,186
24
Ankara
Huh, I always thought it was all about taking the battery icons and just replacing the stock ones. Do you know what the batterymeter files are? Smali files?
Batterymeter files are in smali folder but Im very noob about smalis so I couldnt do it. Im always running away when see a guide that contain smali edit ?
 

cnkzlyr

Senior Member
Oct 21, 2014
1,337
1,186
24
Ankara
Im using s5 g900h and 6.0.1 a8 2016 port rom I have 2 questions.

1- How to add more languages that is missing on a ported rom?

2- There is a youtube fc bug in all versions, (also vanced) getting fx after play any video. (Asked without log bcoz it may be a common possible issue on ported roms, if required I can take log later)

Thanks in advance.
 
  • Like
Reactions: AxelCC

cnkzlyr

Senior Member
Oct 21, 2014
1,337
1,186
24
Ankara
Here is the what we will do:
Internet speed
Internet speed toogle on --off
Download speed color
Upload speed color

First of all i must say that it is not my smali but i forget who was the owner of smali.But i changed something too .
1.Here download attached smali.
2.Then go and copy smali into smali folder as always.
3.Go to SystemUI/res/layout/statusbar.xml
open it after this lines:

add this:

recompile.
okay everything is okay if u don't want to use toogles then dont do this steps:
Add this lines to Rom control app:


Note:if it doesn't fully fit to your screen just make screenshoot and send me i will rearrange font size and witdh or something for fitting it to your phone
@sheard @asc1977 @Eleo Hi devs. @edzamber
Thank you for guides.
I have s5 exynos mm stock deodexed rom and my edited ui.
I followed the mentioned guide step by step and got fc.
Copied files to systemui/smali after decompile
Then edited status_bar.xml(see attachment) and recompiled
Then moved status_bar.xml and classes.dex to original apk and copied the result apk to system privapp systemui path
What can be the problem? No issues about recompiling, used apktool x.
Can problem about my device s5? @Many40 bro u have s5 how can I add network traffic do u have any idea?
If this seperated not possible, only download speed meter is also enough for me.

Note: I dont have pc so I cant take log of FC :(

Thanks in advance
 

Attachments

  • status_bar.xml
    4.4 KB · Views: 11
Last edited:

Eleo

Senior Member
Apr 16, 2012
16,380
14,735
Essen, Germany
Google Pixel 3a XL
Google Pixel 6
hi all i want any help o guide for add scroll animation from android nougat o oreo thanks for any help
I believe @thereassaad already wrote to you to look for listview on nougat. You can head to @a.raul's post on tw mods thread (this thread is rather for TW mods for MM Android 6.0.1) and if you need to add it to secsettings rather than to ROM Control, you will need to follow the discussion on that topic with @stangdriver and @renzetti.s
 
Last edited:
  • Like
Reactions: ANDROIDXFOREVER

ShaDisNX255

Senior Member
Apr 3, 2014
2,611
1,641
Matamoros
Samsung Galaxy A52 4G

Yep its bg colored & i will post the method how to do it on nougat later if no one posted before .. but its easy mate

---------- Post added at 03:39 PM ---------- Previous post was at 03:18 PM ----------

here u go guys ,,


this method u need to implemented in phonestatusbar.smali


Code:
.method setNotiSettDoneBottomColor()V
    .locals 5

    iget-object v1, p0, Lcom/android/systemui/SystemUI;->mContext:Landroid/content/Context;

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

    move-result-object v1

    const-string v2, "eragon_expanded_switch_bg"  # rc key switch

    const/4 v3, 0x0

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

    move-result v1

    const/4 v4, 0x1

    if-ne v1, v4, :cond_0

    iget-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mStatusBarWindow:Lcom/android/systemui/statusbar/phone/StatusBarWindowView;

    const v1, 0x7f1302d3  ##     <public type="id" name="notification_bottom_block_mode" id="0x7f1302d3" />

    invoke-virtual {v0, v1}, Lcom/android/systemui/statusbar/phone/StatusBarWindowView;->findViewById(I)Landroid/view/View;

    move-result-object v0

    iget-object v1, p0, Lcom/android/systemui/SystemUI;->mContext:Landroid/content/Context;

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

    move-result-object v2

    const-string v3, "not_setti_done_bottom_bg"  ## rc key color

    const v1, -0x171718

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

    move-result v2

    invoke-virtual {v0, v2}, Landroid/widget/FrameLayout;->setBackgroundColor(I)V

    :cond_0
    return-void
.end method


& this the xml where it is in nougat dunno about it in mm ux but it should be same

Code:
    <LinearLayout android:orientation="vertical" android:id="@id/notification_bottom_block_mode" android:background="@color/block_mode_bottom_bar_bg" android:focusable="true" android:visibility="gone" android:layout_width="fill_parent" android:layout_height="@dimen/block_mode_bottom_bar_height" android:layout_marginTop="1.0px">
        <TextView android:textSize="13.0dip" android:id="@id/block_button_info_text_to_inform_way_to_unblock" android:paddingTop="@dimen/block_button_info_text_padding_top" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/block_notification_text_to_inform_way_to_unblock" android:includeFontPadding="false" android:fontFamily="sec-roboto-condensed" android:paddingStart="@dimen/block_button_info_text_padding_side" android:paddingEnd="@dimen/block_button_info_text_padding_side" />
        <LinearLayout android:gravity="end|center" android:orientation="horizontal" android:id="@id/notification_bottom_block_mode" android:layout_width="fill_parent" android:layout_height="wrap_content">
            <TextView android:textSize="@dimen/bottom_bar_button_text_size" android:textStyle="bold" android:textColor="@color/bottom_bar_button_text_color" android:gravity="center_vertical" android:id="@id/block_button" android:background="@drawable/notification_bottom_bar_button_ripple_bg" android:focusable="true" android:clickable="true" android:layout_width="wrap_content" android:layout_height="@dimen/bottom_bar_button_height" android:text="@string/block_notification_text" android:singleLine="true" android:includeFontPadding="false" android:textAllCaps="true" android:fontFamily="sec-roboto-condensed" android:layout_marginEnd="@dimen/bottom_bar_first_button_right_margin" />
            <TextView android:textSize="@dimen/bottom_bar_button_text_size" android:textStyle="bold" android:textColor="@color/bottom_bar_button_text_color" android:gravity="center_vertical" android:id="@id/block_done" android:background="@drawable/notification_bottom_bar_button_ripple_bg" android:focusable="true" android:visibility="visible" android:clickable="true" android:layout_width="wrap_content" android:layout_height="@dimen/bottom_bar_button_height" android:text="@string/block_done_text" android:singleLine="true" android:includeFontPadding="false" android:textAllCaps="true" android:fontFamily="sec-roboto-condensed" android:layout_marginEnd="@dimen/bottom_bar_second_button_right_margin" />
        </LinearLayout>
    </LinearLayout>


in layout/notification_stack_bottom_bar.xml

I know that the fun in modding is trying to figure out these guides and try to learn on what you're doing, but I kinda wish you finished explaining how to do this :(
I kinda tried to implement this, but I'm still not that skilled to figure out how to do it
If anyone can help I'd be really greatful
Here's what I did, anyway:
Opened "SystemUI\smali\com\android\systemui\statusbar\phone\PhoneStatusBar.smali"
Under #Virtual methods, I added this code:
Code:
.method setNotiSettDoneBottomColor()V
    .locals 5

    iget-object v1, p0, Lcom/android/systemui/SystemUI;->mContext:Landroid/content/Context;

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

    move-result-object v1

    const-string v2, "eragon_expanded_switch_bg"  # rc key switch

    const/4 v3, 0x0

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

    move-result v1

    const/4 v4, 0x1

    if-ne v1, v4, :cond_0

    iget-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mStatusBarWindow:Lcom/android/systemui/statusbar/phone/StatusBarWindowView;

    const v1, 0x7f1302d3  ##     [COLOR="Red"]Here I looked at both block_and_clear_button_background and block_and_clear_button_layout_background, since that's sort of the equivalent in MM to notification_bottom_block_mode (I think)[/COLOR]

    invoke-virtual {v0, v1}, Lcom/android/systemui/statusbar/phone/StatusBarWindowView;->findViewById(I)Landroid/view/View;

    move-result-object v0

    iget-object v1, p0, Lcom/android/systemui/SystemUI;->mContext:Landroid/content/Context;

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

    move-result-object v2

    const-string v3, "not_setti_done_bottom_bg"  ## rc key color

    const v1, -0x171718

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

    move-result v2

    invoke-virtual {v0, v2}, Landroid/widget/FrameLayout;->setBackgroundColor(I)V

    :cond_0
    return-void
.end method

And in RC, this is what I added:

Code:
<com.wubydax.romcontrol.v2.prefs.MySwitchPreference android:title="Block and Clear bg color Switch" android:key="eragon_expanded_switch_bg" android:defaultValue="false" android:summaryOn="enabled" android:summaryOff="disabled" />
<com.wubydax.romcontrol.v2.prefs.ColorPickerPreference android:title="Block and Clear BG Color" android:key="not_setti_done_bottom_bg" android:dependency="eragon_expanded_switch_bg" android:defaultValue="\#ffffffff" />

And here is the xml called "carrier_label_and_clear_button_background.xml" which is the equivalent to "notification_stack_bottom_bar.xml" to NN that @thereassaad posted

Code:
<?xml version="1.0" encoding="utf-8"?>
<com.android.systemui.statusbar.policy.CarrierLabelAndClearButtonLayout android:layout_gravity="@integer/notification_panel_layout_gravity" android:id="@id/carrier_and_clear_layout" android:visibility="gone" android:layout_width="@dimen/notification_panel_width" android:layout_height="@dimen/block_and_clear_layout_height" android:minHeight="@dimen/carrier_and_clear_height"
  xmlns:android="http://schemas.android.com/apk/res/android">
    <View android:id="@id/block_and_clear_button_background" android:background="@drawable/block_and_clear_button_layout_background" android:visibility="gone" android:layout_width="fill_parent" android:layout_height="@dimen/carrier_and_clear_height" />
    <TextView android:textAppearance="@style/BlockButtonInfoText" android:gravity="top" android:id="@id/block_button_info_text_to_inform_way_to_unblock" android:paddingTop="@dimen/block_and_clear_info_text_view_padding_top" android:visibility="gone" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/block_notification_text_to_inform_way_to_unblock" android:paddingStart="@dimen/block_and_clear_info_text_view_padding_side" android:paddingEnd="@dimen/block_and_clear_info_text_view_padding_side" />
    <TextView android:textAppearance="@style/TextAppearance.StatusBar.Expanded.ClearButton" android:gravity="center_vertical" android:layout_gravity="start" android:id="@id/noti_setting_button" android:background="@drawable/noti_setting_and_clear_button_bg" android:focusable="true" android:visibility="gone" android:clickable="true" android:layout_width="wrap_content" android:layout_height="@dimen/carrier_and_clear_height" android:text="@string/noti_setting_button_text" android:includeFontPadding="false" android:contentDescription="@string/accessibility_noti_setting_button" />
    <TextView android:textAppearance="@style/TextAppearance.StatusBar.Expanded.ClearButton" android:gravity="center_vertical" android:layout_gravity="end" android:id="@id/block_button" android:background="@drawable/noti_setting_and_clear_button_bg" android:focusable="true" android:visibility="gone" android:clickable="true" android:layout_width="wrap_content" android:layout_height="@dimen/carrier_and_clear_height" android:text="@string/block_notification_button_text" android:singleLine="true" android:includeFontPadding="false" android:contentDescription="@string/block_notification_button_text" />
    <TextView android:textAppearance="@style/TextAppearance.StatusBar.Expanded.ClearButton" android:gravity="center_vertical" android:layout_gravity="end" android:id="@id/clear_button" android:background="@drawable/noti_setting_and_clear_button_bg" android:focusable="true" android:visibility="gone" android:clickable="true" android:layout_width="wrap_content" android:layout_height="@dimen/carrier_and_clear_height" android:text="@string/status_bar_clear_all_button" android:includeFontPadding="false" android:contentDescription="@string/status_bar_clear_all_button" android:layout_marginEnd="@dimen/block_and_clear_info_text_view_padding_side" />
    <TextView android:textAppearance="@style/TextAppearance.StatusBar.Expanded.ClearButton" android:gravity="center_vertical" android:layout_gravity="end|bottom|center" android:id="@id/more_setting_button" android:background="@drawable/noti_setting_and_clear_button_bg" android:focusable="true" android:visibility="gone" android:clickable="true" android:layout_width="wrap_content" android:layout_height="@dimen/done_and_more_setting_button_height" android:layout_marginBottom="@dimen/block_and_clear_button_view_margin_bottom" android:text="@string/quick_settings_more_settings" android:singleLine="true" android:includeFontPadding="false" android:contentDescription="@string/quick_settings_more_settings" />
    <TextView android:textAppearance="@style/TextAppearance.StatusBar.Expanded.ClearButton" android:gravity="center_vertical" android:layout_gravity="end|bottom|center" android:id="@id/done_button" android:background="@drawable/noti_setting_and_clear_button_bg" android:focusable="true" android:visibility="gone" android:clickable="true" android:layout_width="wrap_content" android:layout_height="@dimen/done_and_more_setting_button_height" android:layout_marginBottom="@dimen/block_and_clear_button_view_margin_bottom" android:text="@string/done_notification_button_text" android:includeFontPadding="false" android:contentDescription="@string/done_notification_button_text" android:layout_marginEnd="@dimen/block_and_clear_info_text_view_padding_side" />
</com.android.systemui.statusbar.policy.CarrierLabelAndClearButtonLayout>


I know I can change its color manually, the color is in drawables and all it takes is inputting the new color code, but it would be more interesting to be able to do via RC

In both cases, it compiled correctly and didn't cause any type of FC, but no color was changed

Thanks for reading :)
 

JavixKGD

Senior Member
May 9, 2015
1,530
3,001
Somewhere around here.....
I know that the fun in modding is trying to figure out these guides and try to learn on what you're doing, but I kinda wish you finished explaining how to do this :(
I kinda tried to implement this, but I'm still not that skilled to figure out how to do it
If anyone can help I'd be really greatful

So, I am not the best modder in town, that is for sure, but, have you added the invoke to this method like so...

Code:
.method protected makeStatusBarView()Lcom/android/systemui/statusbar/phone/PhoneStatusBarView;
........
........
.........
move-object/from16 v0, p0

invoke-virtual {v0}, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->setNotiSettDoneBottomColor()V

If you did not add the invoke then, for any effect, it is as if that method does not exist in the smali, hence why there are no changes. If it is not there, then add it in the same place you invoked previous mod methods inside that method. If the invoke is there, then I really dont know what else to give you.
 
  • Like
Reactions: ShaDisNX255

ShaDisNX255

Senior Member
Apr 3, 2014
2,611
1,641
Matamoros
Samsung Galaxy A52 4G
So, I am not the best modder in town, that is for sure, but, have you added the invoke to this method like so...

Code:
.method protected makeStatusBarView()Lcom/android/systemui/statusbar/phone/PhoneStatusBarView;
........
........
.........
move-object/from16 v0, p0

invoke-virtual {v0}, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->setNotiSettDoneBottomColor()V

If you did not add the invoke then, for any effect, it is as if that method does not exist in the smali, hence why there are no changes. If it is not there, then add it in the same place you invoked previous mod methods inside that method. If the invoke is there, then I really dont know what else to give you.

I kinda knew I was missing something, I was trying to base myself on other MODs where I also implemented a color picker, but I crashed the UI so many times I decided it would be better to ask for assistance.

But yeah, placing the invoke-virtual would be my next step I guess, but I really wouldn't know if it needs to be placed in a specific spot. I usually see these types of codes placed before a return-void, but I am still new to this and haven't implemented that many things o:

---------- Post added at 03:46 PM ---------- Previous post was at 03:28 PM ----------



HOLY MOLY, IT WORKED!!!

Yes, I was missing this piece of information. I placed it similar to where other MODs asked me to place them

Taking a cue from this tutorial
I placed it right here:
Code:
"display_battery_percentage"
so you will know that you are on right place
add blue line and be sure green line also there. if not add it too
Code:
    const-string v5, "display_battery_percentage"

    invoke-static {v5}, Landroid/provider/Settings$System;->getUriFor(Ljava/lang/String;)Landroid/net/Uri;

    move-result-object v5

    const/4 v6, 0x0

    move-object/from16 v0, p0

    iget-object v8, v0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mBatteryTextObserver:Lcom/android/systemui/statusbar/phone/PhoneStatusBar$BatteryTextObserver;

    invoke-virtual {v4, v5, v6, v8}, Landroid/content/ContentResolver;->registerContentObserver(Landroid/net/Uri;ZLandroid/database/ContentObserver;)V

    .line 1791
    move-object/from16 v0, p0

    iget-object v4, v0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mBatteryTextObserver:Lcom/android/systemui/statusbar/phone/PhoneStatusBar$BatteryTextObserver;

    const/4 v5, 0x0

    invoke-virtual {v4, v5}, Lcom/android/systemui/statusbar/phone/PhoneStatusBar$BatteryTextObserver;->onChange(Z)V

    [COLOR="SeaGreen"]move-object/from16 v0, p0[/COLOR]

 [COLOR="Blue"]   invoke-virtual {v0}, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->setAllBgColor()V[/COLOR]

    invoke-virtual {v0}, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->setNotiSettDoneBottomColor()V
[COLOR="Red"]    ####PLACED IT RIGHT HERE, DIDN'T NEED TO ADD A NEW "move-object/from16 v0, p0[/COLOR]

Thanks @JavixKGD !!!!! I hope this is usefull to other people :)
 
  • Like
Reactions: JavixKGD

JavixKGD

Senior Member
May 9, 2015
1,530
3,001
Somewhere around here.....
I kinda knew I was missing something, I was trying to base myself on other MODs where I also implemented a color picker, but I crashed the UI so many times I decided it would be better to ask for assistance.

But yeah, placing the invoke-virtual would be my next step I guess, but I really wouldn't know if it needs to be placed in a specific spot. I usually see these types of codes placed before a return-void, but I am still new to this and haven't implemented that many things o:

Ok so this is to give you the general idea of where these mods should be put in inside the method I just told you, there are some examples of some of the mods I used in MM UIs in some of my roms. So look in .method protected makeStatusBarView()Lcom/android/systemui/statusbar/phone/PhoneStatusBarView; and scroll down till you see something familiar to this, and add the changes in blue.......


Code:
const-string v5, "display_battery_percentage"

    invoke-static {v5}, Landroid/provider/Settings$System;->getUriFor(Ljava/lang/String;)Landroid/net/Uri;

    move-result-object v5

    const/4 v6, 0x0

    move-object/from16 v0, p0

    iget-object v8, v0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mBatteryTextObserver:Lcom/android/systemui/statusbar/phone/PhoneStatusBar$BatteryTextObserver;

    invoke-virtual {v4, v5, v6, v8}, Landroid/content/ContentResolver;->registerContentObserver(Landroid/net/Uri;ZLandroid/database/ContentObserver;)V

    move-object/from16 v0, p0

    iget-object v4, v0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mBatteryTextObserver:Lcom/android/systemui/statusbar/phone/PhoneStatusBar$BatteryTextObserver;

    const/4 v5, 0x0

    invoke-virtual {v4, v5}, Lcom/android/systemui/statusbar/phone/PhoneStatusBar$BatteryTextObserver;->onChange(Z)V

    [COLOR="Blue"]move-object/from16 v0, p0

    invoke-virtual {v0}, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->setNotiSettDoneBottomColor()V[/COLOR]

    move-object/from16 v0, p0

    invoke-virtual {v0}, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->header_clock_on_off_toggles()V

    invoke-virtual {v0}, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->setHeaderClockDateColor()V

    move-object/from16 v0, p0

    invoke-virtual {v0}, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->setAllBgColor()V

    move-object/from16 v0, p0

    invoke-virtual {v0}, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->setBatteryTextColor()V

    move-object/from16 v0, p0

    invoke-virtual {v0}, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->HideStockBattery()V

    invoke-virtual {v0}, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->HideKeyguardStockBattery()V

    invoke-virtual {v0}, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->Settings_on_off_toggles()V

    invoke-virtual {v0}, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->updateNextAlarmView()V

    move-object/from16 v0, p0

    invoke-virtual {v0}, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->updateSignalPosition()V

    invoke-virtual {v0}, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->setBatteryTypeView()V

Now, like I said, this is just to give you the general idea. It could change depending on what UI you are using. Hope this helps bud!
 
  • Like
Reactions: ShaDisNX255

ShaDisNX255

Senior Member
Apr 3, 2014
2,611
1,641
Matamoros
Samsung Galaxy A52 4G
Ok so this is to give you the general idea of where these mods should be put in inside the method I just told you, there are some examples of some of the mods I used in MM UIs in some of my roms. So look in .method protected makeStatusBarView()Lcom/android/systemui/statusbar/phone/PhoneStatusBarView; and scroll down till you see something familiar to this, and add the changes in blue.......


Code:
const-string v5, "display_battery_percentage"

    invoke-static {v5}, Landroid/provider/Settings$System;->getUriFor(Ljava/lang/String;)Landroid/net/Uri;

    move-result-object v5

    const/4 v6, 0x0

    move-object/from16 v0, p0

    iget-object v8, v0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mBatteryTextObserver:Lcom/android/systemui/statusbar/phone/PhoneStatusBar$BatteryTextObserver;

    invoke-virtual {v4, v5, v6, v8}, Landroid/content/ContentResolver;->registerContentObserver(Landroid/net/Uri;ZLandroid/database/ContentObserver;)V

    move-object/from16 v0, p0

    iget-object v4, v0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mBatteryTextObserver:Lcom/android/systemui/statusbar/phone/PhoneStatusBar$BatteryTextObserver;

    const/4 v5, 0x0

    invoke-virtual {v4, v5}, Lcom/android/systemui/statusbar/phone/PhoneStatusBar$BatteryTextObserver;->onChange(Z)V

    [COLOR="Blue"]move-object/from16 v0, p0

    invoke-virtual {v0}, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->setNotiSettDoneBottomColor()V[/COLOR]

    move-object/from16 v0, p0

    invoke-virtual {v0}, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->header_clock_on_off_toggles()V

    invoke-virtual {v0}, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->setHeaderClockDateColor()V

    move-object/from16 v0, p0

    invoke-virtual {v0}, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->setAllBgColor()V

    move-object/from16 v0, p0

    invoke-virtual {v0}, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->setBatteryTextColor()V

    move-object/from16 v0, p0

    invoke-virtual {v0}, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->HideStockBattery()V

    invoke-virtual {v0}, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->HideKeyguardStockBattery()V

    invoke-virtual {v0}, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->Settings_on_off_toggles()V

    invoke-virtual {v0}, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->updateNextAlarmView()V

    move-object/from16 v0, p0

    invoke-virtual {v0}, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->updateSignalPosition()V

    invoke-virtual {v0}, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->setBatteryTypeView()V

Now, like I said, this is just to give you the general idea. It could change depending on what UI you are using. Hope this helps bud!

I was so eager to try I hurried and tried it :)
Thanks so much dude, your help really made my day :D
 
  • Like
Reactions: JavixKGD

JavixKGD

Senior Member
May 9, 2015
1,530
3,001
Somewhere around here.....
I kinda knew I was missing something, I was trying to base myself on other MODs where I also implemented a color picker, but I crashed the UI so many times I decided it would be better to ask for assistance.

But yeah, placing the invoke-virtual would be my next step I guess, but I really wouldn't know if it needs to be placed in a specific spot. I usually see these types of codes placed before a return-void, but I am still new to this and haven't implemented that many things o:

---------- Post added at 03:46 PM ---------- Previous post was at 03:28 PM ----------



HOLY MOLY, IT WORKED!!!

Yes, I was missing this piece of information. I placed it similar to where other MODs asked me to place them

Taking a cue from this tutorial
I placed it right here:


Thanks @JavixKGD !!!!! I hope this is usefull to other people :)

So, did it work? Yeah if you have a move already there, you dont really need to keep adding more, unless you were a newbie like me when I started making those roms. But essentially that is the idea, each mod needs to be invoked somehow. Glad I could help out

---------- Post added at 08:59 PM ---------- Previous post was at 08:57 PM ----------

I was so eager to try I hurried and tried it :)
Thanks so much dude, your help really made my day :D
You are writing back faster than I respond, hahahaha. Glad it worked bud. Now, all you need to do is implement gear observer or phonestatusbar$settingsobserver to make these changes on the fly. Keep looking around, there is much to learn and do
 

Top Liked Posts