[Desire HD Themes and Apps] he_stheone64:
HOW-TO port he`stheone64 Themes

Since my new Galaxy Nexus arrives next week, I just wanted to say goodbye to a fantastic community right in time and offer the opportunity to keep my DHD Themes alive and updated by fellow users, while I`m "retired" :D

My Themes have been ported to a lot of other HTC devices during the last months, which makes me very proud. Anyway most of you will still use the DHD for about a year and some Themes like Honey HD, Revolution or Ice HD have a really large and loyal user base, who would surely appreciate using their favorite Theme until they switch to a new device.

I will post a HOW-TO in this Thread and would also like to appoint 1 guy responsible for each Theme (Elegant Blues, Code Red and Indian Summer will not be continued, let`s just focus on Themes, which are ready for Sense 3.5), who will then maintain a Theme of their choice. Since the main job is done, it`s not very compilcated to update them going forward (especially if focusing on only one), at least until ICS arrives (if...). Guys who are interested should at least know how to compile and have a little modding experience.

This will NOT be a general theming guide, it`s strictly limited to the tools and processes you need to port my themes to a new platform. Good news - this will help you porting Themes from other devices to DHD and add a little learning experience for some (future) Themers and modders ;)

I also restrict this to the essentials, since really complex stuff like inverting Facebook, Google+ or invert menu`s would just be way to much coding, been there, done that...

Themes

REVOLUTION - http://xdaforums.com/showthread.php?t=884888

HONEY HD - http://xdaforums.com/showthread.php?t=1028813

ICE HD - http://xdaforums.com/showthread.php?t=1339007

Credits:

The entire DHD community and especially ARHD & RCMix Team, who deliver fantastic ROM`s for us (also all other ROM dev´s)

My fellow Themers - we all had a steady communication channel and I was pleased to help and also grateful, when I got help

daneshm for Theme Porter & apkmanager

brut for apktool

pendo for compiling latest apktool

Tools:

apkmanager and / or apktool for decompiling apk`s and jar files

Theme Porter for batch updating pngs

SDK incl. tools

Photoshop and / or Gimp

PNGGauntlet in case you want to compress pngs

Winmerge to compare individual files

Kdiff3 to compare full ROM`s

multiupload.com - since it`s easy to download for users and you can track downloads

zipalign batch script - comes in very handy when updating full Themes

Preparation:

Copy latest apktool compiled by fernando (1.43) in OTHER folder of apkmanager or use it to directly compile. It´s compiled with latest SDK 14 and smali / baksmali sources and will work better with Sense 3.5 (and ICS) files as official version. Do the same also with latest aapt.exe and zipalign.exe from SDK.

Modded ICS apktool.jar - http://minus.com/mIA3OFkYq/17

zipalign batch script - http://minus.com/mIA3OFkYq/10

Unpack Theme porter to a location of your choice - http://minus.com/mIA3OFkYq/9

Unpack zipalign script and you may update the zipalign.exe with latest version from SDK

Download Winmerge and KDiff3 and install

Comparing ROM`s

Download current ROM and new ROM update

Extract both ROM`s

Open KDiff3 and select both folders (not file) and compare

KDiff3 will show you all files, that have been changed since latest update

Now you know which files you need to update (worst case ALL :p)

Tools

In this folder you find some of the tools I use frequently:

http://minus.com/mIA3OFkYq/

Files to port:

ALL which are part of my current Themes

Download my latest Theme and copy (don`t move - you need the themed png`s later to push them back to edited files) all apps in NEW app folder of THEME PORTER and framework files in NEW framework folder of THEME PORTER.

Now copy the same files of stock ROM in OLD folders of app and framework of THEME PORTER and hit the .bat. This will transfer stock pngs to the Theme and ensure, you don`t get compile errors later.

Now decompile only the following apk and do the same with apk`s from THE SAME stock ROM.

Then diff the apk`s I posted here in Winmerge (focus on xml I post here, also see "comparing files") and you`ll see all my edits.

Now edit all xml accordingly inside Winmerge. When you are ready delete all saved .bak files and compile.

Now use THEME PORTER to push the pngs from my old Theme to the new compiled apk´s and all other Theme apk´s.

Zipalign all apk`s and pack zipaligned stuff in my empty update.zip (which you can rename) and flash - zipalign script, just unpack zip, put all apk`s in this folder and hit the .bat

Comparing files

Decompile old and new changed file

Open Winmerge and select both decompiled folders and compare

Winmerge will show you all edits, that have been changed since latest update

Now you can edit inside Winmerge and update Code changes from Theme to the new file and compile

Once you`re done with all new files, follow the guide above

IMPORTANT: HTC does change a lot for nearly every base, so in 99% of the cases you will then need to trouble shoot since some layout files or styles do lead to other pngs then before, so you need to check carefully and then find out what you need to adjust.

Files to decompile and compare:

FRAMEWORK-RES NOTE: You need to add new custom png BEFORE you compile plus all new batttery icons

drawable folder:

progress_horizontal.xml

list_highlight_active.xml

stat_sys_battery.xml

stat_sys_battery_charge.xml

zzz_stat_sys_battery_1.xml

layout folder:

status_bar_latest_event_content.xml

values-hdpi folder:

styles.xml

BROWSER

BrowserSettings.smali

CALENDAR (only for 3.0 ROM`s)

values folder:

colors.xml

DOWNLOADPROVIDER

layout folder:

status_bar_ongoing_event_progress_bar.xml

CALENDAR PROVIDER

values folder:

colors.xml

COM.HTC.RESOURCES (not very important in Sense 3.5)

values folder:

colors.xml

HTC DIALER (Dark Dialer)

values-hdpi folder:

styles.xml

PHONE (Dark Dialer - not necessary for Sense 3.5)

values-hdpi folder:

styles.xml

ROSIE NOTE: You need to add new custom png BEFORE you compile (most stuff not necessary for RCMix due to tweaks)

layout folder:

all_apps_view.xml

application_boxed.xml

values folder:

colors.xml

dimens.xml

integers.xml

values-hdpi folder:

colors.xml

dimens.xml

integers.xml

values-port folder:

integers.xml

values-port-hdpi folder:

dimens.xml

SETTINGS

AndroidManifest.xml

SYSTEMUI - NOTE: You need to add 2 new custom pngs BEFORE you compile

layout folder:

quick_settings.xml

status_bar_expanded.xml

status_bar_latest_event.xml

status_bar_preference.xml

status_bar_tracking.xml

quick_settings_config.xml

status_bar_tracking_trans.xml

values folder:

drawables.xml

colors.xml

smali folders:

StatusBarService.smali

TWITTER

layout-port folder:

widget_large_view.xml

widget_small_view.xml

layout-land folder:

widget_large_view.xml

widget_small_view.xml

FACEBOOK

layout-port folder

widget_view.xml

layout-land folder

widget_view.xml

HTC LAPUTA WIDGET (dark Widget) - I`ve done this only in old Themes

drawable-folder:

list_text_color.xml

layout folder:

location_widget_view_4x4.xml

location_widget_item_4x4.xml

layout-hdpi folder:

location_widget_view_4x4.xml

location_widget_item_4x4.xml

values folder:

colors.xml