Hello guys, i want to share to you this guide. I took code and smalis from @Adi Aisiteru Reborn. So special thanks to him
by using this mod guide, you'll be able to change LCD Density whatever you want via Settings.apk
Ok lets go to Guide:
first of all need some requirement for this MOD-GUIDE
REQUIREMENT:
- BRAIN
- Patient
- experience
- Know how to decompile/recompiling Apk
- notepad++
- Tool for decompiling, : APKTOOL 2.0.0 beta 9 or latest version
- Tool for Sign apk, : CM Signer
STEP 1
Decompile your settings.apk
- Download attached file and merge it to your decompiled Settings.apk
- Settings.apk\res\values\arrays.xml
add this lines to end of it before </resources>
Code:
<string-array name="entries_lcd_density">
<item>240</item>
<item>242</item>
<item>244</item>
<item>246</item>
<item>248</item>
<item>250</item>
<item>252</item>
<item>254</item>
<item>256</item>
<item>258</item>
<item>260</item>
<item>262</item>
<item>264</item>
<item>266</item>
<item>268</item>
<item>270</item>
<item>272</item>
<item>274</item>
<item>276</item>
<item>278</item>
<item>280</item>
<item>282</item>
<item>284</item>
<item>285</item>
<item>286</item>
<item>288</item>
<item>290</item>
<item>292</item>
<item>294</item>
<item>296</item>
<item>298</item>
<item>300</item>
<item>302</item>
<item>304</item>
<item>306</item>
<item>308</item>
<item>310</item>
<item>312</item>
<item>314</item>
<item>316</item>
<item>318</item>
<item>320</item>
<item>322</item>
<item>324</item>
<item>326</item>
<item>328</item>
<item>330</item>
<item>332</item>
<item>334</item>
<item>336</item>
<item>338</item>
<item>340</item>
<item>342</item>
<item>344</item>
<item>346</item>
<item>348</item>
<item>350</item>
<item>352</item>
<item>354</item>
<item>356</item>
<item>358</item>
<item>360</item>
</string-array>
<string-array name="lcd_density_entries">
<item>160</item>
<item>182</item>
<item>200</item>
<item>220</item>
<item>240</item>
<item>245</item>
<item>268</item>
<item>280</item>
<item>300</item>
<item>320</item>
<item>340</item>
<item>361</item>
<item>420</item>
<item>480</item>
<item>@string/custom_density</item>
</string-array>
<string-array name="lcd_density_stock_entries">
<item>213 -- nexus7</item>
<item>240 -- hdpi</item>
<item>320 -- xhdpi</item>
<item>480 -- xxhdpi</item>
</string-array>
<string-array name="lcd_density_stock_values">
<item>213</item>
<item>240</item>
<item>320</item>
<item>480</item>
</string-array>
[COLOR="blue"]</resources>[/COLOR]
- Settings.apk\res\values\ids.xml
add this lines to end of it before </resources>
Code:
<item type="id" name="dpi">false</item>
<item type="id" name="dpi_edit">false</item>
[COLOR="blue"]</resources>[/COLOR]
- Settings.apk\res\values\strings.xml
add this lines to end of it before </resources>
Code:
<string name="title_ui">General UI</string>
<string name="title_ui_summary">Change the LCD Density</string>
<string name="dpi">DPI</string>
<string name="lcd_density_title">LCD Density</string>
<string name="lcd_density_summary">unknown</string>
<string name="current_lcd_density">"Current LCD Density: "</string>
<string name="lcd_density_wizard">LCD Density Wizard</string>
<string name="follow_through_title">Follow through!</string>
<string name="follow_through_summary">Make sure you follow the steps one-by-one and complete each one before proceeding to the next.</string>
<string name="stock_density_title">Change to preset values</string>
<string name="stock_density_summary">Tablets and older phones use 160. Most phones use 240.</string>
<string name="stock_density_changed_summary">"Density set to: "</string>
<string name="reboot_title">Reboot NOW!</string>
<string name="reboot_summary">Come back here after the reboot and complete the rest of the steps!</string>
<string name="clear_market_data_title">3. Clear all relevant market data.</string>
<string name="clear_market_data_summary">This step clears data from market, google play services and google services framework.</string>
<string name="clear_market_data_cleared">Data successfully cleared</string>
<string name="clear_market_data_donot_cleared">"Data couldn't be cleared, please clear it yourself!"</string>
<string name="reboot_cleardata_title">4. Reboot!</string>
<string name="reboot_cleardata_summary">Come back here after the reboot and complete the rest of the steps!</string>
<string name="open_market_title">5. Open Market and hit accept</string>
<string name="open_market_summary">Press back when done to return here.</string>
<string name="open_market_summary_could_not_open">"Couldn't open the market! If you're sure it's installed, open it yourself from the launcher."</string>
<string name="custom_density_title">Change density to whatever you like!</string>
<string name="custom_density_summary">Some values may cause compatibility issues with apps and the playstore, use at your own RISK!</string>
<string name="custom_density_summary_invalid">INVALID DENSITY!</string>
<string name="stock_density">320 stock</string>
<string name="custom_density">custom</string>
<string name="set_custom_density_title">Set custom density</string>
<string name="set_custom_density_set">Set</string>
<string name="custom_density_dialog_title">WARNING!</string>
<string name="custom_density_dialog_summary">Changing your LCD density can cause unexpected app behavior. If you encounter market app incompatibility please return here and restart the process from step 1.</string>
<string name="custom_density_dialog_button_got">Got it!</string>
<string name="custom_density_dialog_button_reboot">Reboot now</string>
<string name="su_dialog_error_title">Warning</string>
<string name="su_dialog_error_message">"An error occurred.
Please check for root access. To activate go into superuser settings and enable root access."</string>
<string name="lcd_warning_title">LCD Density Warning</string>
<string name="lcd_warning">Be Advised that it is recommended to use a Multi-DPI Play Store to avoid any issues with apps after changing your system density. Do you understand?</string>
<string name="lcd_warning_yes">YES</string>
<string name="lcd_warning_no">NO</string>
[COLOR="blue"]</resources>[/COLOR]
- Settings.apk\res\xml\display_settings.xml *you can put the line below whereever you like, system_settings.xml/system_ui_settings,etc
add this line to end of it before </PreferenceScreen>
Code:
<PreferenceScreen android:title="@string/lcd_density_title" android:key="lcd_density_setup" android:fragment="com.android.settings.adi.fragments.DensityChanger" />
[COLOR="blue"]</PreferenceScreen>[/COLOR]
- Settings.apk\AndroidManifest.xml
add this line
Code:
<activity android:label="@string/lcd_density_wizard" android:name=".fragments.DensityChanger">
<intent-filter>
<action android:name="android.intent.action.CREATE_SHORTCUT"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
</activity>
- Decompile Settings.apk
- Sign Settings.apk
- then Recompile again
STEP 2
Compare the code below with your public
- Settings\smali\com\android\settings\adi\fragments
Code:
DensityChanger$1.smali
#56 0x7f07083b type="string" name="clear_market_data_cleared"
DensityChanger$4.smali
#52 0x7f0a023b type="id" name="dpi_edit"
#120 0x7f070844 type="string" name="custom_density_summary_invalid"
DensityChanger$ClearMarketDataTask.smali
#582 0x7f07083b type="string" name="clear_market_data_cleared"
DensityChanger.smali
#199 0x7f07084d type="string" name="su_dialog_error_title"
#204 0x7f07084e type="string" name="su_dialog_error_message"
#209 0x7f070487 type="string" name="ok"
#239 0x7f050058 type="xml" name="adi_lcd_density_setup"
#277 0x7f07084f type="string" name="lcd_warning_title"
#283 0x7f070850 type="string" name="lcd_warning"
#289 0x7f070852 type="string" name="lcd_warning_no"
#299 0x7f070851 type="string" name="lcd_warning_yes"
#388 0x7f070486 type="string" name="cancel"
#407 0x7f040095 type="layout" name="adi_alert_dialog_text_entry"
#427 0x7f070847 type="string" name="set_custom_density_title"
#445 0x7f070848 type="string" name="set_custom_density_set"
#496 0x7f070849 type="string" name="custom_density_dialog_title"
#510 0x7f07084a type="string" name="custom_density_dialog_summary"
#530 0x7f07084b type="string" name="custom_density_dialog_button_got"
#548 0x7f07084c type="string" name="custom_density_dialog_button_reboot"
#627 0x7f070846 type="string" name="custom_density"
#709 0x7f070836 type="string" name="stock_density_changed_summary"
#887 0x7f070841 type="string" name="open_market_summary_could_not_open"
NOTE!
DensityChanger$1.smali
#56 0x7f07083b type="string" name="clear_market_data_cleared"
blue = line in smali
red = code in smali and public
green = public
- Decompile Settings.apk
- Sign Settings.apk
- Push Settings.apk in system/app
done ,
have a nice Moding
Good luck
Somes screenshoot
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
successfully implemented in a custom rom galaxy mini device cm10.1 2 ... thank you for the tutorial mastah ...
try on stockrom 4.2.2 ...got error in smali/com/android/settings/adi/fragment when recompile it bro...
param 1... I don't know about smali bro... any solution for me...
sitifire said:
try on stockrom 4.2.2 ...got error in smali/com/android/settings/adi/fragment when recompile it bro...
param 1... I don't know about smali bro... any solution for me...
Click to expand...
Click to collapse
Post the error here.. You'll prob have to go through all the smali you added and delete those line it states..
lacoursiere18 said:
Post the error here.. You'll prob have to go through all the smali you added and delete those line it states..
Click to expand...
Click to collapse
it solved bro...thanks for your reply...
I replace all smali in fragments folder with bean ning rom from Adi. I place it in root of Adi's folder,edit display_setting.xml just in last words to replace fragments.DensityChanger with .DensityChanger & don't need to edit AndroidManifest...
I attach my screenshot after I change density to nexus7 213dpi
thanks...
Sent from my GT-I9152 using Tapatalk
work
:good:
or just use rom toolbox and avoid all the editing of the apk
especially if you flash alot of roms
NOTE!! IMPORTANT!!
Use APKTOOL V2.0.0 beta 9(latest version) to compile apk, or you'll get error when Recompiling
sitifire said:
it solved bro...thanks for your reply...
I replace all smali in fragments folder with bean ning rom from Adi. I place it in root of Adi's folder,edit display_setting.xml just in last words to replace fragments.DensityChanger with .DensityChanger & don't need to edit AndroidManifest...
I attach my screenshot after I change density to nexus7 213dpi
View attachment 2645867
thanks...
Sent from my GT-I9152 using Tapatalk
Click to expand...
Click to collapse
can u teach me how coz i've got an error too in jb 4.2.2 or can you give me your settings....thx before...
chepay007 said:
can u teach me how coz i've got an error too in jb 4.2.2 or can you give me your settings....thx before...
Click to expand...
Click to collapse
what's error you got bro...I just got error in smali with ".param"...that's all,except that all guides in here works perfectly...
sitifire said:
what's error you got bro...I just got error in smali with ".param"...that's all,except that all guides in here works perfectly...
Click to expand...
Click to collapse
same like u bro about "param" i've already fix it but i can't change density in option change density whatever you like when i chcose it the setting is force close bro...
Thank you for the tuto ,
successfully implemented in MIUI Kit Kat rom in my Xiaomi Mi3 .
:good:
hecvalve said:
Thank you for the tuto ,
successfully implemented in MIUI Kit Kat rom in my Xiaomi Mi3 .
:good:
Click to expand...
Click to collapse
Congrats, and dont forget to press thanks button
Thanks mastah Ketek :'D
Keep bring the new guide for us
Sir when i follow the steps to change Density, why its not changed at all? Did someone has the problem like me? Help sir ,,
Will it work on GB 2.3 device?
Android小楼阁-QQ群 439637151
来自搭载Android 2.3 GingerBread的华为Y220-T10
Related
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Codename Android is a fully open source rom that focuses on speed, usability, and getting every feature that we can get CRAMMED in there. Our mission is to spread the Open Source Android love to as many people as possible, and get as many people involved as possible. Along with the rom there will be tutorials to get more people involved and learning how to build android step by step. Developer tutorials now being posted at www.codenameandroid.com. I´m not the original creator, I´m just making some fixed and push them, so credits to codename android and cyanogenmod for i9100g´s awesome device tree!
PERFORMANCE ENHANCEMENTS
---------
zipaligned and all images optimized
reduced boot up time
reduced app starting time
improved scrolling cache
increased navigation button animation speed
running latest horsepower kernel 2.1.9
FEATURE LIST
---------
Based off of Clean Android 4.1.1 Rev3 (JRO03H)
T-mobile Theme Manager (tmobile, CyanogenMod, xoomdev)
T9 Dialer/Landscape/Dialpad Settings (CyanogenMod)
Customizable Messaging App:
- SMS Templates (rciovati)
- Custom Vibrations (mssmison)
- Timestamp Options (aravance)
Customizable Status Bar: (miui, CyanogenMod, romanbb, sethyx, kejar, syaoran12 ,romanbb)
- Battery Icon style
- Battery Icon in notification bar
- Miui style battery bar
- Clock style
- Clock Am/Pm style
- Clock Day of the Week
Customizable Notification bar:
- Notification bar Power Widget (DvTonder - CyanogenMod)
Customizable Navigation Bar: (Zaphod-Beeblebrox, KhasMek, romanbb)
- menu button visibility and location
- number of navigation buttons
- order of navigation buttons
- navigation bar size
Customizable Lockscreen:
- Customizable number of lockscreen targets (CyanogenMod)
- Configurable lockscreen wallpaper (Danesh M)
- Add weather to the lockscreen (DvTonder, Danesh M, Marius Volkhart, Rick C, Aokp)
- Add calendar reminders to the lockscreen (David Morgan)
- Ability to unlock with menu (CyanogenMod)
- Quick pin unlock (unlock with pin/password without pressing ok - CyanogenMod)
Customizable Sound Settings:
- Customizable volume panel (Stevespear426)
- Configurable ascending ringtone (Danny Baumann)
- Safe headset volume (CyanogenMod)
- Volume rocker music controls (CyanogenMod)
Customizable Display Settings: (CyanogenMod)
- Customizable Rotation Modes
- Customizable LED Pulse (Duration and Color)
- Volume wake (tap either the up or down volume key to wake your phone from sleep)
- Volume music controls (long press volume buttons to skip tracks)
Custom Profiles (CyanogenMod)
- assign different profiles to change the behavior of your phone to your liking
Quiet Hours (CyanogenMod)
- the ability to set when notification sounds, haptic feedback, vibration and notification light will function
Performance Settings:
- Processor Speed (change cpu governor and clock speed)
Info and Tools:
- Spare Parts
- Development app
- Testing Settings
ADB over Network (enable TCP/IP debugging over Network interfaces (WiFi, Usb networks)
EXTRA TOOLS
---------
Superuser app
Busybox
Bash
Nano
Accepted Bugs
---------
Camera not working (fix soon)
Credits to: Codenamedroid, Codeworkx and TeamHackSung
Download link will be available soon!
This is the I need your help post, please share your knowledge and make this rom more awesome!
But I need your help now, please translate the following things into your language and say which language it is. Thanks!
We have till now english:
<!-- Advanced translations -->
<string name="advanced_settings_title">Advanced</string>
<string name="quiet_hours_title">Quite hours</string>
<string name="profiles_settings_title">Profiles</string>
German:
<!-- Advanced translations -->
<string name="advanced_settings_title">Erweitert</string>
<string name="quiet_hours_title">Ruhe Stunden</string>
<string name="profiles_settings_title">Profile</string>
Chinese Simplified
<!-- Advanced translations -->
<string name="advanced_settings_title">先进</string>
<string name="quiet_hours_title">安静的时间</string>
<string name="profiles_settings_title">配置文件</string>
Malay
<!-- Advanced translations -->
<string name="advanced_settings_title">Tetapan Lanjutan</string>
<string name="quiet_hours_title">Waktu Tenang</string>
<string name="profiles_settings_title">Profil</string>
French
<!-- Advanced translations -->
<string name="advanced_settings_title">avancé</string>
<string name="quiet_hours_title">heures de tranquillité</string>
<string name="profiles_settings_title">Profils</string>
Russian
<!-- Advanced translations -->
<string name="advanced_settings_title">передовой</string>
<string name="quiet_hours_title">Тихий час</string>
<string name="profiles_settings_title">Профили</string>
Swedish
<!-- Advanced translations -->
<string name="advanced_settings_title">Avancerad</string>
<string name="quiet_hours_title">tysta timmar</string>
<string name="profiles_settings_title">profiler</string>
_
Dutch
<!-- Advanced translations -->
<string name="advanced_settings_title">gevorderd</string>
<string name="quiet_hours_title">rustige uren</string>
<string name="profiles_settings_title">Profielen</string>
Spanish
<!-- Advanced translations -->
<string name="advanced_settings_title">avanzado</string>
<string name="quiet_hours_title">Las horas de silencio</string>
<string name="profiles_settings_title">perfiles</string>
Italian
<!-- Advanced translations -->
<string name="advanced_settings_title">avanzato</string>
<string name="quiet_hours_title">ore tranquille</string>
<string name="profiles_settings_title">profili</string>
Turkish
<!-- Advanced translations -->
<string name="advanced_settings_title">gelişmişd</string>
<string name="quiet_hours_title">Sessiz saatleri</string>
<string name="profiles_settings_title">Profilleri</string>
Portuguese
<!-- Advanced translations -->
<string name="advanced_settings_title">avançado</string>
<string name="quiet_hours_title">horas calmas</string>
<string name="profiles_settings_title">perfis</string>
Irish
<!-- Advanced translations -->
<string name="advanced_settings_title">Casta</string>
<string name="quiet_hours_title">uair an chloig Ciúin</string>
<string name="profiles_settings_title">próifílí</string>
Please help us, your translation will be included in our rom!
Aww link isn't there.. looked too fast >.<
Reserved for future use, too
iXanza said:
Aww link isn't there.. looked too fast >.<
Click to expand...
Click to collapse
You were too fast haha ^^
fuss132 said:
You were too fast haha ^^
Click to expand...
Click to collapse
haha I guess I was .. sorry >.<
iXanza said:
haha I guess I was .. sorry >.<
Click to expand...
Click to collapse
But please have a look at the second post (http://forum.xda-developers.com/showpost.php?p=30508110&postcount=2) and help me by translating things
fuss132 said:
But please have a look at the second post (http://forum.xda-developers.com/showpost.php?p=30508110&postcount=2) and help me by translating things
Click to expand...
Click to collapse
My main language is English tho... I'll see if my friends can help
Woow. Nice!
ahh cool,, keep up the good work fuss
thanks for the hardwork
Chinese Simplified
<!-- Advanced translations -->
<string name="advanced_settings_title">先进</string>
<string name="quiet_hours_title">安静的时间</string>
<string name="profiles_settings_title">配置文件</string>
Malay
<!-- Advanced translations -->
<string name="advanced_settings_title">Tetapan Lanjutan</string>
<string name="quiet_hours_title">Waktu Tenang</string>
<string name="profiles_settings_title">Profil</string>
@fuss,
Really cool . Waiting for the download link and thanks for the awesome work . And fuss, will u work on JB AOKP
rcade2005 said:
@fuss,
Really cool . Waiting for the download link and thanks for the awesome work . And fuss, will u work on JB AOKP
Click to expand...
Click to collapse
for JB aokp we already have rootbox. rootbox is no different from aokp except aroma and a few cherry picks
iXanza said:
for JB aokp we already have rootbox. rootbox is no different from aokp except aroma and a few cherry picks
Click to expand...
Click to collapse
Guess u r right, both RB and RR are AOKPs . Seems lik this ROM has many features, waitin to try it
---------- Post added at 10:59 AM ---------- Previous post was at 10:48 AM ----------
@fuss
French
<!-- Advanced translations -->
<string name="advanced_settings_title">avancé</string>
<string name="quiet_hours_title">heures de tranquillité</string>
<string name="profiles_settings_title">Profils</string>
Russian
<!-- Advanced translations -->
<string name="advanced_settings_title">передовой</string>
<string name="quiet_hours_title">Тихий час</string>
<string name="profiles_settings_title">Профили</string>
Swedish
<!-- Advanced translations -->
<string name="advanced_settings_title">Avancerad</string>
<string name="quiet_hours_title">tysta timmar</string>
<string name="profiles_settings_title">profiler</string>
rcade2005 said:
Guess u r right, both RB and RR are AOKPs . Seems lik this ROM has many features, waitin to try it
---------- Post added at 10:59 AM ---------- Previous post was at 10:48 AM ----------
@fuss
French
<!-- Advanced translations -->
<string name="advanced_settings_title">avancé</string>
<string name="quiet_hours_title">heures de tranquillité</string>
<string name="profiles_settings_title">Profils</string>
Russian
<!-- Advanced translations -->
<string name="advanced_settings_title">передовой</string>
<string name="quiet_hours_title">Тихий час</string>
<string name="profiles_settings_title">Профили</string>
Swedish
<!-- Advanced translations -->
<string name="advanced_settings_title">Avancerad</string>
<string name="quiet_hours_title">tysta timmar</string>
<string name="profiles_settings_title">profiler</string>
Click to expand...
Click to collapse
Thanks! I will include them And I will work now on that fu*** fashlight toogle THere should be atleast one rom where its working ^^
NICE ! There's more developemont for our G now XD .
fuss132 said:
Thanks! I will include them And I will work now on that fu*** fashlight toogle THere should be atleast one rom where its working ^^
Click to expand...
Click to collapse
I like ur spirit . U r awesome
Some more lang for u
Dutch
<!-- Advanced translations -->
<string name="advanced_settings_title">gevorderd</string>
<string name="quiet_hours_title">rustige uren</string>
<string name="profiles_settings_title">Profielen</string>
Spanish
<!-- Advanced translations -->
<string name="advanced_settings_title">avanzado</string>
<string name="quiet_hours_title">Las horas de silencio</string>
<string name="profiles_settings_title">perfiles</string>
Italian
<!-- Advanced translations -->
<string name="advanced_settings_title">avanzato</string>
<string name="quiet_hours_title">ore tranquille</string>
<string name="profiles_settings_title">profili</string>
---------- Post added at 11:11 AM ---------- Previous post was at 11:06 AM ----------
Turkish
<!-- Advanced translations -->
<string name="advanced_settings_title">gelişmişd</string>
<string name="quiet_hours_title">Sessiz saatleri</string>
<string name="profiles_settings_title">Profilleri</string>
Portuguese
<!-- Advanced translations -->
<string name="advanced_settings_title">avançado</string>
<string name="quiet_hours_title">horas calmas</string>
<string name="profiles_settings_title">perfis</string>
Irish
<!-- Advanced translations -->
<string name="advanced_settings_title">Casta</string>
<string name="quiet_hours_title">uair an chloig Ciúin</string>
<string name="profiles_settings_title">próifílí</string>
Will add more if u need it fuss
Good job man
Sent from my GT-I9100G using xda premium
---------- Post added at 03:47 PM ---------- Previous post was at 03:45 PM ----------
fuss132 said:
Thanks! I will include them And I will work now on that fu*** fashlight toogle THere should be atleast one rom where its working ^^
Click to expand...
Click to collapse
Working in my cmiui
Sent from my GT-I9100G using xda premium
ICS_XD said:
Good job man
Sent from my GT-I9100G using xda premium
---------- Post added at 03:47 PM ---------- Previous post was at 03:45 PM ----------
Working in my cmiui
Sent from my GT-I9100G using xda premium
Click to expand...
Click to collapse
Oh sorry Its just that in all my previous roms flashlight toogle never worked ^^
rcade2005 said:
I like ur spirit . U r awesome
Some more lang for u
Dutch
<!-- Advanced translations -->
<string name="advanced_settings_title">gevorderd</string>
<string name="quiet_hours_title">rustige uren</string>
<string name="profiles_settings_title">Profielen</string>
Spanish
<!-- Advanced translations -->
<string name="advanced_settings_title">avanzado</string>
<string name="quiet_hours_title">Las horas de silencio</string>
<string name="profiles_settings_title">perfiles</string>
Italian
<!-- Advanced translations -->
<string name="advanced_settings_title">avanzato</string>
<string name="quiet_hours_title">ore tranquille</string>
<string name="profiles_settings_title">profili</string>
---------- Post added at 11:11 AM ---------- Previous post was at 11:06 AM ----------
Turkish
<!-- Advanced translations -->
<string name="advanced_settings_title">gelişmişd</string>
<string name="quiet_hours_title">Sessiz saatleri</string>
<string name="profiles_settings_title">Profilleri</string>
Portuguese
<!-- Advanced translations -->
<string name="advanced_settings_title">avançado</string>
<string name="quiet_hours_title">horas calmas</string>
<string name="profiles_settings_title">perfis</string>
Irish
<!-- Advanced translations -->
<string name="advanced_settings_title">Casta</string>
<string name="quiet_hours_title">uair an chloig Ciúin</string>
<string name="profiles_settings_title">próifílí</string>
Will add more if u need it fuss
Click to expand...
Click to collapse
Haha your too fast D
THIS THEME IS FOR MORE EXPERIENCED THEMERS ONLY!
Adding a Holo ActionBar to an app using Theme Chooser
Apps this is known not to work with:
WinAmp
Tapatalk
TubeMate
What does this do?
So you have an app that's made for Gingerbread, but you're using ICS or JB? Doesn't look as nice as it should does it?
Some of you might have seen my theme Holo Fixer, which automatically attempts to make those apps use Holo. In some cases, it works just fine. But it's not complete that way. If you wish to get more out of it, this guide will help you.
Screenshots of the outcome
A before and after screenshot:
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Before
After
(This is the XDA RC blog app, which I'll be using in the guide)
Guide
1.) Start with your theme, make sure it's minSdkVersion is 14 or above and that you're building for ICS or above
2.) Pull the apk of your 'target app' from your phone/tablet, for example with the xda RC app:
Code:
adb pull /data/app/com.xda.rc.blog-1.apk
3.) Using apktool, decompile that app
Code:
sudo java -jar apktool.jar d -s com.xda.rc.blog-1.apk
(No need for source, so use the -s tag to skip it)
4.) Firstly open the AndroidManifest.xml file and look for a "android:theme" tag, within the main activity area. That should be the theme being used by default for the app. If it isn't there (if the app uses code to set the theme it's unlikely it will have the tag), proceed to the next steps anyway, you may still be in luck. However, if it refers to "@android:style", you're out of luck, sorry
5.) Open the res/values/styles.xml of the app
6.) Search for the name of the style that matches the main theme of the app we found earlier. If you couldn't find it, look for a generic style that's likely to be the main theme. In the xda RC app, the main theme styles are the following:
Code:
<style name="Theme_Light" parent="@*android:style/Theme.Light">
<item name="android:windowNoTitle">true</item>
<item name="android:windowContentOverlay">@null</item>
</style>
<style name="Theme_Dark" parent="@*android:style/Theme.Black">
<item name="android:windowNoTitle">true</item>
<item name="android:windowContentOverlay">@null</item>
</style>
If there are more than one, that's fine, continue.
7.) Copy the main theme styles to your theme's styles.xml, and rename them so they won't clash with other app's styles
Code:
<style name="Theme_Light_XDARC" parent="@*android:style/Theme.Light">
<item name="android:windowNoTitle">true</item>
<item name="android:windowContentOverlay">@null</item>
</style>
<style name="Theme_Dark_XDARC" parent="@*android:style/Theme.Black">
<item name="android:windowNoTitle">true</item>
<item name="android:windowContentOverlay">@null</item>
</style>
8.) Change the parent theme to be its Holo equivalent:
Code:
<style name="Theme_Light_XDARC" parent="@*android:style/Theme.Holo.Light">
<item name="android:windowNoTitle">true</item>
<item name="android:windowContentOverlay">@null</item>
</style>
<style name="Theme_Dark_XDARC" parent="@*android:style/Theme.Holo">
<item name="android:windowNoTitle">true</item>
<item name="android:windowContentOverlay">@null</item>
</style>
9.) If it has tags that hide the title, remove them:
Code:
<style name="Theme_Light_XDARC" parent="@*android:style/Theme.Holo.Light">
<item name="android:windowContentOverlay">@null</item>
</style>
<style name="Theme_Dark_XDARC" parent="@*android:style/Theme.Holo">
<item name="android:windowContentOverlay">@null</item>
</style>
Leave the rest of the style in-tact though
10.) Make a new xml file in your theme's res/xml, using the package name, without the -1 or -number tags, and using _ rather than . For example, the xda RC app would be:
Code:
com_xda_rc_blog
11.) Add the default resource redirect tags:
Code:
<?xml version="1.0" encoding="utf-8"?>
<resource-redirections>
</resource-redirections>
12.) Between the <resource-redirections> tags, add the following, replacing the "styleNameHere" with the original theme name, from the original app's styles.xml and the "modStyleNameHere" with the name of your theme name, from your theme's styles.xml
Code:
<item name="style/styleNameHere">@style/modStyleNameHere</item>
For example, the xda RC app's redirecion would be:
Code:
<item name="style/Theme_Light">@style/Theme_Light_XDARC</item>
Note: If there's more than one theme being modified, you must redirect all the styles you are redirecting.
The full xml of the xda RC app can be found here, with different style names (my naming system is weird :silly, and it also includes resource redirections, you don't need those yet.
13.) If you do not wish to customize your action bar at all, you are done here. If you do, proceed to post 2
Part 2: Customizing the action bar with colours, logos and more!
You must have completed the main guide to start
1.) Go back to your theme's styles.xml
2.) Add the following, as a new style:
Code:
<style name="ActionBar_XDARC" parent="@android:style/Widget.Holo.ActionBar">
</style>
Adding a logo to the action bar
Firstly, create a logo for the bar. It should be (up to) 72 pixels ^ and (up to) 300 pixels ->. The best idea is to use the app logo and customize it how you wish. I used the logo of the blog, and resized it.
Make sure the colour of the image will look OK on the action bar background
Basically, just use common sense really.
Now, add the following code to the style:
Code:
<item name="android:icon">@drawable/xda_rc_logo</item>
(Where xda_rc_logo is the name of the image you're using saved in the drawable folders of your theme)
Hiding the text in the action bar
This one is a bit of a hack, but can be done quite easily:
Firstly, add the following to your theme's styles.xml:
Code:
<style name="ActionBar_TitleTrans">
<item name="android:textColor">@android:color/transparent</item>
</style>
Now, add the following to the inside of your ActionBar style you created at the start of Part 2:
Code:
<item name="android:titleTextStyle">@style/ActionBar_TitleTrans</item>
(There's probably an easier way to do this, I'll edit the post if I find it)
Changing the background
Very simple, add the following to the inside of the style you added at the start of the part 2:
Code:
<item name="android:background">#0000FF</item>
Change the hex number to the one you want or use a colour in your theme's xml with @color/* or use an android one, such as @android:color/red
Finally, adding the action bar style to the app
Go back to the style you made in post 1, and add the following to it:
Code:
<item name="android:actionBarStyle">@style/ActionBar_APP</item>
(Where ActionBar_APP is the name you used at the start of post 2)
For example, the xda RC app would be:
Code:
<item name="android:actionBarStyle">@style/ActionBar_XDARC</item>
Now compile your theme and it should use your customized action bar. If you wish to move items out of the dropdown bar and onto your main actionbar, see post 3
Part 3: Moving items out of the dropdown bar onto the main actionbar
You must have completed the main guide to continue (you don't have to have completed part 2 though)WARNING: This part of the guide is quite complicated, and in most cases will not be needed. It's not compulsory to do this part, but it just looks better if you do.
1.) Start with your decompiled app, from part 1. Navigate to the res/menu folder and find the xml that you wish to move the options around on. In some cases there's only one xml, in most cases more. Open it/them
2.) Within the xml, find the items you wish to move the main action bar and add the following code to the end of them:
Code:
android:showAsAction="ifRoom"
The items that you are not moving can have their drawable tags removed, as they will not need them and will only cause problems later
If you want them to have icons
Add the android:icon tag, and use either a drawable or android:drawable
3.) Now you must add the ids of the options in that xml to your own, so the theme will compile.
First, open your theme's ids.xml
Now add the following to it:
Code:
<item type="id" name="idName">false</item>
Replace idName with the name of one of your ids from the menu file you had open
Do this for all the ids within the menu xmls.
4.) Save your menu file in a new folder in your theme, res/menu , with the normal name but with the app name after it, to prevent clashes
5.) Open your xml for redirecting that you had earlier
Add the following to it:
Code:
<item name="menu/menuName">@menu/menuName_app</item>
(Where the menuName is the app's original menu name and menuName_app is your theme's redirect for that file)
For example, for a menu file named "home_menu" and the app tag "XDARC", it would be:
Code:
<item name="menu/home_menu">@menu/home_menu_XDARC</item>
6.) Compile your theme, you are done
Might need another, just in case
Hey Guys I am back with my new guide
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Here i'll show you How to theme your settings.apk to look like xperia .As you all know sony uses colorizable function for changing the themes
But AOSP framework Doesn't support colorizable function so i've modified the files from xperia rom to make it work on AOSP roms
Topics Covered :-
1.changing switch style to look like Xperia
2.changing only settings background
3.changing the settings header style
4.How to theme settings.apk to look like XZ2
5.changing the icons and more
Click to expand...
Click to collapse
Requirements:-
apktool 2.0.0b9
Notepad++
Knowledge about decompiling and recompiling
Time and Patience
Click to expand...
Click to collapse
Decompile your framework-res.apk
download the resources from attachment and merege it with yours
navigate to framework-res.apk/res/values and open styles.xml
find
Code:
<style name="Widget.Holo.CompoundButton.Switch" parent="@style/Widget.Holo.CompoundButton">
OR
Code:
<style name="Widget.Holo.CompoundButton.Switch"
replace the style with this
Code:
<style name="Widget.Holo.CompoundButton.Switch" parent="@style/Widget.Holo.CompoundButton">
<item name="textOn">@string/somc_btn_on</item>
<item name="textOff">@string/somc_btn_off</item>
<item name="thumb">@drawable/semc_switch_inner_holo_dark</item>
<item name="switchTextAppearance">@style/TextAppearance.DeviceDefault.Widget.Switch</item>
<item name="track">@drawable/semc_switch_track_holo_dark</item>
<item name="switchMinWidth">72.0dip</item>
<item name="switchPadding">4.0dip</item>
<item name="thumbTextPadding">@dimen/somc_switch_text_padding</item>
</style>
like this :
and add this at the end of styles.xml before </resources>
Code:
<style name="TextAppearance.DeviceDefault.Widget.Switch" parent="@style/TextAppearance.DeviceDefault.Small">
<item name="textSize">10.0dip</item>
<item name="typeface">sans</item>
<item name="textStyle">bold</item>
<item name="textColor">@color/semc_switch_text_color</item>
</style>
like this :
now open /res/values/strings.xml and add the specified lines at the end
if you don't want on/off text on the switch add these
like this :
Code:
<string name="somc_btn_on">I</string>
<string name="somc_btn_off">?</string>
or
if you want on/off text on the switch add these
like this :
Code:
<string name="somc_btn_on">ON</string>
<string name="somc_btn_off">OFF</string>
open /res/values/dimens.xml and add this at the end
Code:
<dimen name="somc_switch_text_padding">7.0dip</dimen>
thats it now recompile your framework-res
EXTENDED THEMING TO YOUR SETTINGS ON POST #5
Enjoy
IF YOU LIKE MY WORK DON'T FORGET TO HIT THANKS BUTTON
To theme your settings look like honami style
for xperia stlye switch follow the above guide
First Decompile your settings.apk and merge the resources from the attachment
open AndroidMainfeast.xml and change this line as shown
Code:
<application android:hardwareAccelerated="true" android:icon="@mipmap/ic_launcher_settings" android:label="@string/settings_label" android:supportsRtl="true" android:taskAffinity="" [B][COLOR="Red"]android:theme="@style/Theme.Holo" [/COLOR][/B]android:uiOptions="splitActionBarWhenNarrow">
now open res/values/styles.xml and add this (if you alreadry have this style change it to look like mine)
Code:
<style name="Theme.Holo" [COLOR="Red"]parent="@*android:style/Theme.DeviceDefault.Light">[/COLOR]
<item name="android:textColor">#ff000000</item>
<item name="android:listSeparatorTextViewStyle">@style/ListSeparator</item> [COLOR="red"]#### add this line to apply new header style to settings and its activities ####
[/COLOR] [COLOR="Blue"]<item name="android:windowBackground">@drawable/[COLOR="Purple"]your_background[/COLOR]</item>[/COLOR] [COLOR="red"]#### add this line to apply custom background for settings and its activities ####[/COLOR]
</style>
if you want to add custom background to settings and its activities replace your_background with your image name
also add this at the end of styles.xml
Code:
<style name="ListSeparator" parent="@android:style/Widget.DeviceDefault.Light.TextView.ListSeparator">
<item name="android:textSize">14.0sp</item>
<item name="android:textStyle">normal</item>
[COLOR="blue"] <item name="android:textColor">[COLOR="Red"]#ffED2A2F[/COLOR]</item>[/COLOR] [COLOR="red"]####for changing header's text color ####
[/COLOR] <item name="android:gravity">center_vertical</item>
[COLOR="blue"] <item name="android:background">@drawable/[COLOR="red"]semc_list_section_divider_holo_light[/COLOR]</item>[/COLOR] [COLOR="red"]####for changing header background ####[/COLOR]
<item name="android:paddingLeft">8.0dip</item>
<item name="android:layout_width">fill_parent</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:textAllCaps">true</item>
</style>
if you face any bugs like this
Now open
smali/com/android/settings/applications/ManageApplications$ApplicationsAdapter.smali
Search for
Code:
[B]getColorStateList[/B]
above that you will see this
Code:
[COLOR="red"]0x1060001 [/COLOR]
like this :
change it to
Code:
[COLOR="red"]0x106000[COLOR="Blue"]4[/COLOR][/COLOR]
This will fix the white text on white background problem in manage aplications tab items.
type 1 :
type 2 :
for type 1 merge the contents of type1.zip to your settings.apk
for type 2 merge the contents of type2.zip to your settings.apk
Finally Recompile your settings and flash it .
enjoy
nice work
Extended theming to your settings
In this guide I will show you how to change ram usage bar color and pager tabs color to your favourite color
1. for changing ram usage bar color
Decompile your settings.apk and Navigate to
Code:
\Settings.apk\smali\com\android\settings\applications\[COLOR="blue"][COLOR="blue"]LinearColorBar.smali[/COLOR][/COLOR]
now search for
HTML:
-0xff6634
replace --0xff6634 with your favourite color
To find smali equivalent of the color
download hex_to_smali_convertor.zip from attachment and open acc.hta type your favourite hex code and replace its smali equivalent thats it
like this :-
i.e In the above example replace -0xff6634 with -0xCC4A1B
2 .For changing the pager tab color
open settings.apk/res/values/colors.xml and add this at the end
Code:
[B]<color name="carbon_accent_dark">#[COLOR="Red"]ff9d4f93[/COLOR]</color>[/B]
replace ff9d4f93 with your favourite hex code( you can find easily hex equivalent in paint.net/photoshop )
recompile the settings
now again decompile the new settings.apk and navigate to
\Settings\smali\com\android\settings\applications\ManageApplications.smali
find
0x1060012
also open settings.apk/res/values/public.xml and find
Code:
<public type="color" name="carbon_accent_dark" id="[COLOR="red"]0x7f0a001a[/COLOR]" />
here replace 0x1060012 with 0x7f0a001a
thats it recompile everything and sign it and flash
Note :- the id 0x7f0a001a will be different for your rom
nice job
hi Sir
can u share na blur background? tnx sir
Hi pavan kr, I did follow your guide and try to modify my ROM as you said, but after I decompile your framework-res.apk successfully, I found there is no exist of framework-res.apk/res/values dircetory at all. My ROMis CM11 for HTC one X. I also check the other AOSP ROM, and again there is no framework-res.apk/res/values dircetory as well. How can that happen ? Thanks for advise.
I dont have the 0x1060012 in ManageApplications.smali
the_vanya1 said:
I dont have the 0x1060012 in ManageApplications.smali
Click to expand...
Click to collapse
If 0x1060012 is not present then search only for 0x10600 .
Always this must be a resource id linked with framework-res
chihliouma said:
Hi pavan kr, I did follow your guide and try to modify my ROM as you said, but after I decompile your framework-res.apk successfully, I found there is no exist of framework-res.apk/res/values dircetory at all. My ROMis CM11 for HTC one X. I also check the other AOSP ROM, and again there is no framework-res.apk/res/values dircetory as well. How can that happen ? Thanks for advise.
Click to expand...
Click to collapse
AFAIK once you decompile the apk there exist values folder if you have installed proper framework-res.apk ...
Use newer version of apktool 2.0+ and try..
Another metod
Settings\smali\com\android\settings\applications\ManageApplications.smali search
.local v4, tabs:Landroid/support/v4/view/PagerTabStrip;
- const v5, 0x1060012
and replace 0x1060012
pavan kr said:
AFAIK once you decompile the apk there exist values folder if you have installed proper framework-res.apk ...
Use newer version of apktool 2.0+ and try..
Click to expand...
Click to collapse
Thanks for the answer. I guess you are right that the software I use previously is not really decomiple the file. But after I have tried to build up the whole environment with JAVA JDK, and apktool from the ground, and start the decompile process, it jumps to me some error such as below :
"Exception in thread "main" brut.androlib.AndrolibException: Multiple resources:........"
I tried to google but still not sure what's the issue there, can you advise me any website that I can learn to start the process correctly ? Thanks.
PS. atatched please find the framework-res.apk that Iried to decompile but fail. I hope the issue is not in the file itself.
PS2. I just tried to decompile some other apk file than this framework-res.apk, and it does decompile successfuly. Does that mean some native issue existing inside the framework-res.apk ???
chihliouma said:
Thanks for the answer. I guess you are right that the software I use previously is not really decomiple the file. But after I have tried to build up the whole environment with JAVA JDK, and apktool from the ground, and start the decompile process, it jumps to me some error such as below :
"Exception in thread "main" brut.androlib.AndrolibException: Multiple resources:........"
I tried to google but still not sure what's the issue there, can you advise me any website that I can learn to start the process correctly ? Thanks.
PS. atatched please find the framework-res.apk that Iried to decompile but fail. I hope the issue is not in the file itself.
PS2. I just tried to decompile some other apk file than this framework-res.apk, and it does decompile successfuly. Does that mean some native issue existing inside the framework-res.apk ???
Click to expand...
Click to collapse
have a look at these guides it will help you
1 . http://forum.xda-developers.com/showthread.php?p=41491514
2. http://forum.xda-developers.com/showthread.php?t=1989533
pavan kr said:
have a look at these guides it will help you
1 . http://forum.xda-developers.com/showthread.php?p=41491514
2. http://forum.xda-developers.com/showthread.php?t=1989533
Click to expand...
Click to collapse
Thanks for the reply.In fact, I did google and tried some similar guide websites and I almost can confirm that my enrionement setup and apktool installation is good to go because it seems decompile other apks are quite ok, but only problem is to decoplie the attached framework-res.apk. If you have time, I am wondering if you can help to try to decompile in your current enerionment system to see if my assumption is correct. Thanks.
works on JB? 4.1.2 qualcomm
Nice job,,,thanks
when i try to recompile its show those error. see here http://forum.xda-developers.com/showthread.php?t=2964076
This tutorial does not work on my device. can anyone have a tutorial like this for Lenovo a328 (6582 MTK device with KK 4.4.2)
pavan kr said:
Hey Guys I am back with my new guide
Here i'll show you How to theme your settings.apk to look like xperia .As you all know sony uses colorizable function for changing the themes
But AOSP framework Doesn't support colorizable function so i've modified the files from xperia rom to make it work on AOSP roms
Topics Covered :-
Requirements:-
Decompile your framework-res.apk
download the resources from attachment and merege it with yours
navigate to framework-res.apk/res/values and open styles.xml
find
Code:
<style name="Widget.Holo.CompoundButton.Switch" parent="@style/Widget.Holo.CompoundButton">
OR
Code:
<style name="Widget.Holo.CompoundButton.Switch"
replace the style with this
Code:
<style name="Widget.Holo.CompoundButton.Switch" parent="@style/Widget.Holo.CompoundButton">
<item name="textOn">@string/somc_btn_on</item>
<item name="textOff">@string/somc_btn_off</item>
<item name="thumb">@drawable/semc_switch_inner_holo_dark</item>
<item name="switchTextAppearance">@style/TextAppearance.DeviceDefault.Widget.Switch</item>
<item name="track">@drawable/semc_switch_track_holo_dark</item>
<item name="switchMinWidth">72.0dip</item>
<item name="switchPadding">4.0dip</item>
<item name="thumbTextPadding">@dimen/somc_switch_text_padding</item>
</style>
like this :
and add this at the end of styles.xml before </resources>
Code:
<style name="TextAppearance.DeviceDefault.Widget.Switch" parent="@style/TextAppearance.DeviceDefault.Small">
<item name="textSize">10.0dip</item>
<item name="typeface">sans</item>
<item name="textStyle">bold</item>
<item name="textColor">@color/semc_switch_text_color</item>
</style>
like this :
now open /res/values/strings.xml and add the specified lines at the end
if you don't want on/off text on the switch add these
like this :
Code:
<string name="somc_btn_on">I</string>
<string name="somc_btn_off">?</string>
or
if you want on/off text on the switch add these
like this :
Code:
<string name="somc_btn_on">ON</string>
<string name="somc_btn_off">OFF</string>
open /res/values/dimens.xml and add this at the end
Code:
<dimen name="somc_switch_text_padding">7.0dip</dimen>
thats it now recompile your framework-res
EXTENDED THEMING TO YOUR SETTINGS ON POST #5
Enjoy
IF YOU LIKE MY WORK DON'T FORGET TO HIT THANKS BUTTON
Click to expand...
Click to collapse
Thank's bro.... This really helped me.:good:
Mate, if i dont ask much, can you please add a guide to make the settings ui like lollipop, white with green icons? Is that possible? I'm on MTK platform.
HOW TO PORT 25 GRID TOGGLES!
With ease!
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
As many people know porting the lidroid toggles to you're stock device is a lot of work especially when u port the grid toggles.
why ?
because these toggles all needs you to add all ids and such and then in all smali you need to fix 0x730254 etc values.
BUT NOW!!! that time is over i have been working on these toggles for a few days now and its set so it will get all values etc with only packagename
so you only need to copy paste the stuff i say you to
SCREENS:
REQUIREMENT:
- BRAIN
- Patient
- Know how to decompile/recompiling Apk file
- notepad++
- Tool for decompiling, : apkmanager/apktool/Virtous/apkmultitools/ etc,
1. Decomple SystemUI.apk
/res/values/ids.xml
Add the following values to ids.xml
Code:
<item type="id" name="spomc_toggle_toggle_button">false</item>
<item type="id" name="spomc_toggle_icon_button">false</item>
<item type="id" name="spomc_toggle_text_button">false</item>
2. SystemUI/res/values/strings.xml
Add the following strings to strings.xml
Code:
<string name="spomc_always_use_accessory">Use by default for this USB accessory</string>
<string name="spomc_bt">BT</string>
<string name="spomc_data">Data</string>
<string name="spomc_rotate">Rotate</string>
<string name="spomc_wifi">Wi-Fi</string>
<string name="spomc_gps">GPS</string>
<string name="spomc_wifiap">Wi-Fi AP</string>
<string name="spomc_airplane">Airplane</string>
<string name="spomc_vibrate">Vibrate</string>
<string name="spomc_silent">Silent</string>
<string name="spomc_torch">Torch</string>
<string name="spomc_sync">Sync</string>
<string name="spomc_settings">Settings</string>
<string name="spomc_control">Controller</string>
<string name="spomc_ram">Clear RAM</string>
<string name="spomc_brightness">Brightness</string>
<string name="spomc_weather">Weather</string>
<string name="spomc_volumes">Volume</string>
<string name="spomc_widgets">Widget</string>
<string name="spomc_reboot">Reboot</string>
<string name="spomc_battery">Battery</string>
<string name="spomc_troll">Troll</string>
<string name="spomc_flash">Flash</string>
<string name="spomc_prev">Previous</string>
<string name="spomc_next">Next</string>
<string name="spomc_play">Play/Pause</string>
<string name="spomc_sleep">Sleep</string>
<string name="spomc_default_wifi">WIFI</string>
<string name="spomc_default_bt">BT</string>
<string name="spomc_default_gps">GPS</string>
<string name="spomc_default_rotate">ROTATE</string>
<string name="spomc_default_vibrate">VIBRATE</string>
<string name="spomc_default_control">CONTROL</string>
<string name="spomc_default_sync">SYNC</string>
<string name="spomc_default_data">DATA</string>
<string name="spomc_default_silent">SILENT</string>
<string name="spomc_default_settings">SETTINGS</string>
<string name="spomc_default_airplane">AIRPLANE_MODE</string>
<string name="spomc_default_ram">CLEAR_RAM</string>
<string name="spomc_default_brightness">BRIGHTNESS</string>
<string name="spomc_default_weather">WEATHER</string>
<string name="spomc_default_volumes">VOLUMES</string>
<string name="spomc_default_widgets">WIDGETS</string>
<string name="spomc_default_reboot">REBOOT</string>
<string name="spomc_default_battery">BATTERY</string>
<string name="spomc_default_troll">TROLL</string>
<string name="spomc_default_flash">FLASH</string>
<string name="spomc_default_prev">PREV</string>
<string name="spomc_default_next">NEXT</string>
<string name="spomc_default_play">PLAY</string>
<string name="spomc_default_sleep">SLEEP</string>
<string name="spomc_default_profile">PROFILE</string>
<string name="spomc_default_cpu">CPU</string>
3. SystemUI/res/values/styles.xml
Add the following strings to styles.xml
Code:
<style name="brucekey_icon">
<item name="android:disabledAlpha">?android:disabledAlpha</item>
<item name="android:background">@drawable/togglebtn_bg</item>
<item name="android:layout_width">wrap_content</item>
<item name="android:layout_height">wrap_content</item>
</style>
3. Copy paste the Attached Content.zip to ur systemui/
This will add the resources,arrays.xml,layout and toggle smali's
4. SystemUI/res/layout/**** any layout you want.
add the following in it to load the toggles.
Code:
<com.spacey.xperiatabs.toggles.TogglesView android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="wrap_content" />
5. Now compile the systemui.apk and it should be working
6. Add the ToggleSettings.apk to system/app
BUGS:
Data toggle Possibly working not sure yet
DONT! change any png names or string names etc it wont work
Profile Picture and Name are set blank if u select it pres sthe toggle and edit it to ur name and a picture. the picture will appear if you reboot.
CREDITS:
AuliaYF
AOKP
CM
TentenPonce
TuxKids
Aryne
Potato Bro's
MOSP team
SonyXperiaZ2 for toggle pngs
Dedy Prayetno
SpaceCaker ofcourse!
Attachements:
Content.zip dl link https://dl.dropboxusercontent.com/u/56034188/toggles/sp/ContentV9.zip
or see bottom of post for attached zip
ToggleSettings dl link https://dl.dropboxusercontent.com/u/56034188/toggles/sp/ToggleSettings.apk
or see bottom of post for attached apk
CHANGELOG:
V9 Ninth release:
10 new toggles! Yeah you heard it right !!! 10 NEW TOGGLES!
Play/Pause, Previous, Next Music buttons.
Cpu Toggle ( shows current cpu speed, update on press)
Profile Toggle ( Change name and Picture)
Reboot toggle
Battery toggle
Troll toggle
Flash Toggle
Sleep Toggle
Scrollview fixation.
Some bugfixes
More ??
V8 Eight release:
Private release this was for testers.
Unreleased on XDA
V7 Seventh release:
Add New Weather Toggle ( Need Google News And Weather app installed Also known as GenieWidget.apk)
Add Volumes Toggle ( Work In Progress ;P )
Brightness Popup Touch outside dialog will close it
Small Bug Fix
V6 Sixth release:
Possible Data on/off fix ( hope it works properly )
Fix Single time open Settings,Control and Brightness only.
Small Bugfixes in toggle code.
V5 Fifth release:
Add Brightness Toggle.
Layout fix for 2row toggles
Brightness Slider PopUp (MUAHHAHAHA Tricky way of doing it but works lol)
FC fix
V4 Fourth release:
Toggle Layout
Toggles JB switch look feel or 4 Row normal toggles
V3 Third release:
Added Reorder method. special thanks to Dedy
V2 Second release:
Added JB api version for collapsestatusbar
now on 4.1+ it will close statusbar onlongclick and settings/control toggle click aswell
V1 Initial Release:
firstbuild
FAQ:
Weather widget not working???:
This is possible cause of you not having set up ur location in Google News and Weather app.
You also might not have GenieWidget.apk installed. Try the attached apk
Profile Picture not working or updating???:
This is being worked on as of now reboot device or restart systemui to apply change.
reserved :good::good::good:
Always failed in recompiling...
Sent from my GT-N7000
Use older apktool or newer
Sent from my C5303 using XDA Free mobile app
hi sir.. tnx for this
:fingers-crossed:
Great!
A very simple way to add toggle, great.
Guide Updated
New features added
Guide Updated
Refollow the guide to make sure no problems happen
check changelogs
Sir I have a Problem
in Brightness Toggle.. when i full it to minimum i cant see anything.. sorry for my bad english
Punkzappa09 said:
in Brightness Toggle.. when i full it to minimum i cant see anything.. sorry for my bad english
Click to expand...
Click to collapse
It sets default low value.
Set it bit higher.
It differences from where u stand in sun out of sun etc
All depends om ur screen
But all it does is setminimum value of the system
So i cant really change.
Sent from my C5303 using XDA Free mobile app
Need Help
I Could'nt understand the last step
add the following in it to load the toggles.
Code:
<com.spacey.xperiatabs.toggles.TogglesView androidrientation="vertical" android:layout_width="fill_parent" android:layout_height="wrap_content" />
where to add these codes?
Vipuldj said:
I Could'nt understand the last step
add the following in it to load the toggles.
Code:
<com.spacey.xperiatabs.toggles.TogglesView androidrientation="vertical" android:layout_width="fill_parent" android:layout_height="wrap_content" />
where to add these codes?
Click to expand...
Click to collapse
in any layout you want
recommended is status_bar_expanded.xml or such
SpaceCaker said:
in any layout you want
recommended is status_bar_expanded.xml or such
Click to expand...
Click to collapse
I Compiled the apk file but it's not working my Status Bar same no Changes bro help me out.
Vipuldj said:
I Compiled the apk file but it's not working my Status Bar same no Changes bro help me out.
Click to expand...
Click to collapse
you didnt put it in an layout where you would see it or wrong location in the layout etc
SpaceCaker said:
you didnt put it in an layout where you would see it or wrong location in the layout etc
Click to expand...
Click to collapse
Could you can MOD for me here it is my 4.1.2 AOSP SystemUI.apk
Link:http://d-h.st/PeA
Guide Updated 10 new toggles etc
Working in stock rom huawei g630? (root i have)
mygbrno said:
Working in stock rom huawei g630? (root i have)
Click to expand...
Click to collapse
If you can html amd copy paste and edit apks yeah
Sent from my C5303 using XDA Free mobile app
TE=Vipuldj;55043676]I Compiled the apk file but it's not working my Status Bar same no Changes bro help me out.[/QUOTE]
Mediatek devices uses gemini_ status_ bar_ expanded.xml
Good evening to all boys.
Today I wanted to announce the release of Piller, a Theme Installer for Lollipop, on behalf of pillSoft (Small development team).
Piller uses code as open source, EasyLicenseChecker by Ishida and parts of code Rahul K Dinesh.
We tried to make the 'installer as dynamic as possible, so that they serve a few steps to add themes and customize it.
We decided to to insert the control on the license to meet the needs of young developers who see their apps distributed on the third store.
All this is expressed as a clean graphics, attractive and modern.
We have already translated all strings in Italian !.
We report below changes necessary to customize your installer.
All this information is also given in the description of this project on GitHub.
Screenshoot!
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Screenshot realized with Italian String .
Personalize and Add Theme:
- Addition of the theme in assets / files, the name of apk must be formed only by the name of the theme **Important**.
- Inclusion of information on the topic in the file arrays.xml this includes:
* Theme Name
* Package Theme
* Motto of the theme
* Color of Primary Theme
* Primary Color of Dark Theme
* Primary Accent Color of Theme
* Highlighted Primary Color of Theme
#Change The name of application
Code:
<string name = "nameApplication"> Piller </ string>
<string name = "app_name"> Piller </ string>
#Customize Toolbar and colors refers to the file Color.xml as:
Code:
<color name = "ColorPrimary"> # 2d5d82 </ color> ToolBar
<color name = "colorPrimaryDark"> # 21425d </ color> StatusBar
<color name = "colorAccent"> # 01bcd5 </ color> AccentColor
#To insert the image of the subject that will appear in the installation window should change some lines of code (look for "Change it for image Theme"):
Code:
switch (auxTheme.theme_name) {
houses "Lin": // Replace Lin with your Theme Name
res = R.drawable.imm; // Replace imm with your image name
break;
houses "Daa": // Replace Lin with your Theme Name
res = R.drawable.imm2; // Replace imm with your image name
}
Also provided are also files that relate to the themes and images placeholder icon, these files can be opened with illustrator,**Located in Graphics Folder**
We hope that this can be d 'help and to your liking, all criticisms are welcome in order to improve the project.
If you want to support us ,you can make a modest donation to the team via paypal.
FAQ:
* I saw Lin and Daa, but are available to download?
- At this moment not, but will be available soon, follow + GiulioFagioli on Google Plus.
* Can I use the installer for profit?
- Yes you can, it would be appreciated ,if you believe, a small donation.
* Can I modify and resell the code / project?
-No, the project is under the GPL, but you can change it, improve it and drop it OpenSource.
* Can I use the 'icon or / and pictures of Placeholder?
- Yes, you can. You can find these file on Graphics folder , the extension is .ai and you can open it with illustrator Cs6 or later..
* How can I stay updated on the development of the project?
- Follow Giulio Fagioli and Lorenzo Salani on Google+ and follow this Thread.
Piller Project on GitHub.
Changelog
Version 1.07:
-Fix bugs
-Added Gallery
Version 1.06:
-Now the preview image of the theme adapts automatically
-it is easier to change the icons of the fab and the size of both
------
-Fix bug (EBUSY)
Version 1.05:
-Added Unistall with same button used for installation
-Add Fab for installation and unistall of theme
-Removed for now the option of going directly to theme chooser
Version 1.04b:
-Add Internet Permission on manifest
-Add Theme engine requirement
-Clean up some part of code
-Change version of Piller
#Allthebest
Sent from my Moto G using Tapatalk
Awesome!
I pondered how to use this app
To add, for example, my theme, I have to recompile the Piller apk. And as a result, the installer will be with 1 my theme, which I'll post in the web. And I will add to it as the theme of manufacturing. And, thus, it will be a kind of application which will be gathered all of my work?
or
Suppose there is one person who will constantly add all existing themes in this app, and also spread to the web.
Maybe someone can explain me for what this application?
LidaFlorida said:
I pondered how to use this app
To add, for example, my theme, I have to recompile the Piller apk. And as a result, the installer will be with 1 my theme, which I'll post in the web. And I will add to it as the theme of manufacturing. And, thus, it will be a kind of application which will be gathered all of my work?
or
Suppose there is one person who will constantly add all existing themes in this app, and also spread to the web.
Maybe someone can explain me for what this application?
Click to expand...
Click to collapse
I think it is for packaged groups of themes - such as "Mono Family for CM11/PA" on store.. allows multiple themes to be distributed as one apk
haydnlj said:
I think it is for packaged groups of themes - such as "Mono Family for CM11/PA" on store.. allows multiple themes to be distributed as one apk
Click to expand...
Click to collapse
It is so.
Piller allows you to distribute multiple themes in one application.
We tried to make it as easy as possible the dynamic addition of themes.
In some installers have to change many pieces of code, and sometimes can be difficult for theme developers that do not know java.
It makes me happy to see people on this thread, thanks again.
LidaFlorida said:
I pondered how to use this app
To add, for example, my theme, I have to recompile the Piller apk. And as a result, the installer will be with 1 my theme, which I'll post in the web. And I will add to it as the theme of manufacturing. And, thus, it will be a kind of application which will be gathered all of my work?
or
Suppose there is one person who will constantly add all existing themes in this app, and also spread to the web.
Maybe someone can explain me for what this application?
Click to expand...
Click to collapse
download the source code of the app, download androidstudio or eclipse, jdk and set up build environment... set up androidstudio/eclipse and the workspace... import the project, do your modifications, compile the project.. profit
small request
can you devs make a themer for ASOP using xposed .because no themer lik xthemer or hkthemer support cm11 or cm12 themes.thank you
jjbro007 said:
can you devs make a themer for ASOP using xposed .because no themer lik xthemer or hkthemer support cm11 or cm12 themes.thank you
Click to expand...
Click to collapse
I'll made for You :good:
EnricoD said:
I'll made for You :good:
Click to expand...
Click to collapse
thank you so much for trying.many guys will be happy to see such a themer.i will help in promoting the module.even you can put a price on it if you want.all will be very thankfull.
Say a user downloads and installs this Theme Installer. They pick a theme and install, then a week later an update to that theme comes out. I'm assuming we would have to push out the full Theme Installer for the update, but will the theme the user already has installed get updated on their phone during this process or will they have to manually do it requiring them to have to check regularly for updates? This part always confused me.
93Akkord said:
Say a user downloads and installs this Theme Installer. They pick a theme and install, then a week later an update to that theme comes out. I'm assuming we would have to push out the full Theme Installer for the update, but will the theme the user already has installed get updated on their phone during this process or will they have to manually do it requiring them to have to check regularly for updates? This part always confused me.
Click to expand...
Click to collapse
Just like how Veu worked in CM11, you update the app, then you update the theme within the app.
awesome handy stuff! .... i just decompiled to apk and tried to replace the included theme.
38 To insert the image of the subject that will appear in the installation window should change some lines of code (look for "Change it for image Theme"):
39 ```
40 switch (auxTheme.theme_name) {
41 houses "Lin": // Replace Lin with your Theme Name
Click to expand...
Click to collapse
could you please be a bit more specific or better say "noob-friendly", how to add and change the included themes?
@93Akkord
To be as clear as possible, this application, as the theme installer, does nothing but collect a family of themes in one package, so that those who download the application can use all the themes in it.
In the event that an issue was updated would be updated must also application (theme installer), then it is the user who has to manually update the theme that had already installed. I hope to be exhaustive, if not, do not be afraid to ask for further explanations.
@ _moelle
you, then the addition of a theme is very very simple.
If we do, your theme is called moellered.apk, you must simply copy the apk in your assets / Files.
the second thing you have to update the files that contain the information and the colors of your theme.
Let's see how you do, go in app / src / main / res / values-v21 / arrays.xml and modify the following information:
Code:
<String-array name = "theme_names">
<Item> Lin </ item>
<Item> Daa </ item>
</ String-array>
Here contains information on the names of themes you want to insert in the installer, remember you're inserting the theme moellered then we can change this array like this:
Code:
<String-array name = "theme_names">
<Item> MoelleRed </ item>
</ String-array>
Let the name of the package and take the example com.example.moellered package as your theme.
before we have:
Code:
<String-array name = "theme_packages">
<Item> com.example.theme1 </ item>
<Item> com.example.theme2 </ item>
</ String-array>
after we have:
Code:
<String-array name = "theme_packages">
<Item> com.example.moellered </ item>
</ String-array>
it's time the motto of the theme , we take as an example that the motto of moellered is "Moelle is Red, Moelle is Awesome" thus:
before:
Code:
<String-array name = "theme_motto">
<Item> Leak, Coming Soon, Follow me </ item>
<Item> Not now, Fake, Maybe </ item>
</ String-array>
after:
Code:
<String-array name = "theme_motto">
<Item> Moelle is Red, Moelle is Awesome </ item>
</ String-array>
Lacks to change colors, we know that lollipop is based on four main colors,
primary, primaryDark, accent and highlighted and in fact we find 4 array containing the colors of your theme, make an example for the primary, the operation is indentical to the other three, you just have to change the color codes.
take # F44336 primary color of your theme and we would modify the array:
before we have:
Code:
<String-array name = "theme_colors">
<Item> # 009 688 </ item>
<Item> # f44336 </ item>
</ String-array>
after we have:
Code:
<String-array name = "theme_colors">
<Item> # F44336 </ item>
</ String-array>
Remembers each line in an array is the information related to a theme, if in addition to moellered wanted to add a theme moelleyellow, then you will need to enter the information relating to that theme even in these arrays, one example is:
Code:
<String-array name = "theme_names">
<Item> MoelleRed </ item>
<Item> MoelleYellow </ item>
</ String-array>
Code:
<String-array name = "theme_packages">
<Item> com.example.moelleyellow </ item>
</ String-array>
Code:
<String-array name = "theme_motto">
<Item> Moelle is Red, Moelle is Awesome </ item>
<Item> Yellow, Yellow, Moelle </ item>
</ String-array>
Code:
<String-array name = "theme_colors">
<Item> # F44336 </ item>
<Item> # FFEB3B </ item>
</ String-array>
Now we can do is add images related to the theme, with version 1.7 of piller Added gallery for each theme, if you use an older version we strongly recommend you to upgrade if you could not, below are the old method, so we go to the Assets folder of our project and we create two folders and MoelleRed MoelleYellow inside them we can put all the images to be included in the gallery, there are no limitations on the number and their name, it 's important that the folder names coincide with those of the theme to which they refer.
Old Version of Piller [Deprecated]
Lastly there are pictures to be included, we go in app / src / main / res / and insert images into folders drawable, (we for convenience we have inserted two directly in the drawable folder, but you can insert them in the right size various folders drawable-xxhdpi, drawable-xhdpi and so on)
call the two images and moellered.png moelleyellow.png the code will be:
before:
Code:
switch (auxTheme.theme_name) {
case "Lin": // Replace Lin with your Theme Name
res = R.drawable.imm; // Replace imm with your image name
break;
case "Daa": // Replace Lin with your Theme Name
res = R.drawable.imm2; // Replace imm with your image name
}
after:
Code:
switch (auxTheme.theme_name) {
case "MoelleRed": // Replace Lin with your Theme Name
res = R.drawable.moellered; // Replace imm with your image name
break;
case "MoelleYelllow": // Replace Lin with your Theme Name
res = R.drawable.moelleyellow; // Replace imm with your image name
}
I hope I was as exhaustive as possible, for any questions or concerns please do not hesitate to ask, even directly hangouts or email.
@remeic
Awesome guide Sir..... Can't wait to try and thanks to my buddy @nicholaschum that introduced this...I've been wanting to do this for all my XKrome themes.
Cant compile it..
extract the zip from https://github.com/pillSoft/Piller
open the project with android studio
and i get that error :
Unable to start activity ComponentInfo{io.github.pillsoft.piller/io.github.pillsoft.piller.MainActivity}: java.lang.IllegalArgumentException: java.security.spec.InvalidKeySpecException: java.lang.RuntimeException: error:0D07209B:asn1 encoding routines:ASN1_get_object:too long
could be more colors
@qreto I'm not sure you understand, you can explain?
@side you managed to solve? are you sure you have put your public key?
side said:
Cant compile it..
extract the zip from https://github.com/pillSoft/Piller
open the project with android studio
and i get that error :
Unable to start activity ComponentInfo{io.github.pillsoft.piller/io.github.pillsoft.piller.MainActivity}: java.lang.IllegalArgumentException: java.security.spec.InvalidKeySpecException: java.lang.RuntimeException: error:0D07209B:asn1 encoding routines:ASN1_get_object:too long
Click to expand...
Click to collapse
remeic said:
@qreto I'm not sure you understand, you can explain?
@side you managed to solve? are you sure you have put your public key?
Click to expand...
Click to collapse
I found out what to do for this. You have to comment out more than just the stuff in the instructions.
Must comment out these TWO lines instead of one in the github instructions, inside MainActivity.java
https://github.com/pillSoft/Piller/.../github/pillsoft/piller/MainActivity.java#L74
Java:
mLicenseChecker = new EasyLicenseChecker(this, new Handler());
mLicenseChecker.start();
and make it into this:
Java:
/*mLicenseChecker = new EasyLicenseChecker(this, new Handler());
mLicenseChecker.start();*/
@remeic, it'd be great if you can update the guide (on the github source) to reflect this change.