Building your own ROM

While the rest of you are busy with ICS, I've been adding some customization options to my repository.

I just added these two commits to allow users to change the status bar background:
https://github.com/JerryScript/android_frameworks_base/commit/c3b92aa4875e7998903c354c764c0fdd557658c2
https://github.com/JerryScript/android_packages_apps_CMParts/commit/e1ff61d0c5092aeea1c43e6f9a7616bc99e74001

And recently I added these to allow centering the status bar clock and changing it's color:
https://github.com/JerryScript/android_frameworks_base/commit/ee7047ce4dae7071059b79334d0ba60733eff4d5
https://github.com/JerryScript/android_packages_apps_CMParts/commit/648af6d4c2665548ba329f33124dc7f1984f65b6

I'm working on other customization mods as well. Happy Holidays! ;)
 
Hey Jerry, Is the Date view not working with the latest status bar changes? I see that the Statusbar Date view is commented out in the notification drop down. Will that be worked back in?
 
Hey Jerry, Is the Date view not working with the latest status bar changes? I see that the Statusbar Date view is commented out in the notification drop down. Will that be worked back in?
Yeah, now that I have the center clock animating properly, I can add the date back without overlay issues. ;)
 
  • Like
Reactions: thekraven
I added this commit last night to fix the date overlay issues with the notification icons. Please note the comment at the bottom of the commit, if you are not using my transparency modifications, you only need to add the last few lines of the commit. What it does is adds an animation to the notification icons when the date's animation is called, both out an in. ;)
https://github.com/JerryScript/android_frameworks_base/commit/c723fa98e4fed052cf52c43bda5ecabed50b8aeb#comments

How do I use these commits. do i repo sync with the url?
 
You would either need to repo sync with my repository, git@github.com:JerryScript/android.git -b gingerbread, or cherry-pick the commits and then merge them in using git. If you haven't set up your local repository with branches and remotes, it would be best for you to sync from my repository.

While I'm getting the hang of git, the only cherry-picking I do is via gerrit with c&p. You'll have to read the git documentation to understand how to cherry-pick what you want. Of course, you can always apply the changes manually, something I've resorted to in the past, but what a pita! ;)
 
I was just going to ask a similar question (building CM7 for the MT), and want to get the upstream latest CM7 updates. Can I just 'repo -init cyanogenmod -b gingerbread' and it'll pull in newer changes, while keeping the same files as my first init to inferiorhumanorgans (or in my case another developer, who stopped updating the CM7 branch). And is there a way to revert these updates in case something doesn't work?
 
No, you need to use git branch, git fetch, and git merge to pull in changes from CM.

git branch mybranch
(create a new branch)
git remote add cyanogen git://github.com/CyanogenMod/PACKAGE_NAME_HERE
(add a new upstream remote)
git fetch cyanogen
(grab the latest change from the remote)
git merge cyanogen mybranch
(merge those change into a new branch)
git checkout mybranch
(loads the files from mybranch, will overwrite any non-commited changes)

Branching allows you to have mutliple repositories changes without overwriting them. ;)
 
  • Like
Reactions: Whyzor
You would either need to repo sync with my repository, git@github.com:JerryScript/android.git -b gingerbread, or cherry-pick the commits and then merge them in using git. If you haven't set up your local repository with branches and remotes, it would be best for you to sync from my repository.

While I'm getting the hang of git, the only cherry-picking I do is via gerrit with c&p. You'll have to read the git documentation to understand how to cherry-pick what you want. Of course, you can always apply the changes manually, something I've resorted to in the past, but what a pita! ;)

Fetch error when syncing your repo :(
 
@JerryScript: I think I've found all the bloat in the ROM that I built.

Half seems to be in the extra languages. I found a commit in your git tree that switches to languages_small.mk.

The other half is in files that you removed: half a dozen apk's, many ringtones, etc. Sorry if this is a noob question, but how do you remove those? Do you disable them via the build system, or do you do an unzip/delete/rezip?
 
Here's the webkit accelerator. Testing it right now. Here's what it is supposed to do. Android Webkit browser accelerated - YouTube


In the BoardConfig.mk add:

WEBCORE_ACCELERATED_SCROLLING := true

And in device_thunderc.mk add

vendor/lge/thunderc/proprietary/$(SUB_MODEL)/system/lib/libwebkitaccel.so:system/lib/libwebkitaccel.so \
vendor/lge/thunderc/proprietary/$(SUB_MODEL)/system/lib/libwebkitaccel.so:obj/lib/libwebkitaccel.so


Then place the libwebkitaccel.so in your vendor/lge/thunderc/proprietary/VM670/system/lib folder.

Grab the file from [MOD] HW Acceleration for CM7/AOSP Browser [Tested working] - xda-developers.
 
@JerryScript: I think I've found all the bloat in the ROM that I built.

Half seems to be in the extra languages. I found a commit in your git tree that switches to languages_small.mk.

The other half is in files that you removed: half a dozen apk's, many ringtones, etc. Sorry if this is a noob question, but how do you remove those? Do you disable them via the build system, or do you do an unzip/delete/rezip?

I disable them in the build, for audio files, you have to delete from 5 different AudioPackage mk files. They are located in frameworks/base/data/sounds ;)
 
CM7 testing: Handset mic with no-mic headphones. Getting closer, I can make calls with normal headphones with no mic, and use the phone mic. Regular headset with mic functions properly.

  • Currently works with the modification of the headsetobserver.java in the frameworks, resides in the Services.jar. Testing a few kernel fixes too with htc_headset.c and msm7x30.c patches, but may not be necessary.
  • known issue with Skype calls, when it connects the sound routes to the phone ear speaker. Just unplug and plug in the headphones/rca adapter. I might need help with this one.
  • Once I get organized, maybe after Christmas, I'll share what i got.
 
Last edited:
I disable them in the build, for audio files, you have to delete from 5 different AudioPackage mk files. They are located in frameworks/base/data/sounds ;)

Thank you sir i think I'm just about ready to start hacking :)
 
In building for the headset fix. THis comes from the CM6 HTC magic peeps. They just about had it all worked out till CM7 came out and I lost track of the development after that. Issue 1582 - cyanogenmod - On Phone Mic Not Working with 3.5mm Plugged Into Line Out with No Built in Mic, Unplugging Jack In-Call Mutes Mic on Phone (MT3G 1.2) - CyanogenMod Android ROM - Google Project Hosting


Just two lines need changing in the file frameworks/base/services/java/com/android/server/headsetobserver.java

Code:
private static final int BIT_HEADSET = (1 << 0);
private static final int BIT_HEADSET_NO_MIC = (1 << 1);

//change to

private static final int BIT_HEADSET = (1 << 1);
private static final int BIT_HEADSET_NO_MIC = (1 << 0);
That's it for building Cm7. We still need kernel work. I'll upload what i compiled over the 3.4 BobZhomes kernel for testers.

This is the starting point. We still need to work on getting CM7 to recognize the icon change in the status bar, but this properly allows the handset mic to work with regular headphones. And headsets with mic work.

Then for the kernel building. Thanks to the work of Ksatta. Grab msm7x30.c from franco's https://github.com/franciscofranco/...f8f4a3d65a68f64b96a04/sound/soc/msm/msm7x30.c

And grab htc_headset.c from below.. just rename htc_headset.zip to htc_headset.c and place in /arch/arm/mach-msm/ folder . Still looking for the correct source of this file. Will update the link.

edit here's the link https://github.com/CyanogenMod/cm-kernel/blob/android-msm-2.6.35/arch/arm/mach-msm/htc_headset.c
 
Last edited:
  • Like
Reactions: mrg666 and BobZhome
Here's the webkit accelerator. Testing it right now. Here's what it is supposed to do. Android Webkit browser accelerated - YouTube


In the BoardConfig.mk add:

WEBCORE_ACCELERATED_SCROLLING := true

And in device_thunderc.mk add

vendor/lge/thunderc/proprietary/$(SUB_MODEL)/system/lib/libwebkitaccel.so:system/lib/libwebkitaccel.so \
vendor/lge/thunderc/proprietary/$(SUB_MODEL)/system/lib/libwebkitaccel.so:obj/lib/libwebkitaccel.so


Then place the libwebkitaccel.so in your vendor/lge/thunderc/proprietary/VM670/system/lib folder.

Grab the file from [MOD] HW Acceleration for CM7/AOSP Browser [Tested working] - xda-developers.

So you have not added the libwebcore.so from that mod package? And it works fine with our libwebcore.so? Or did you replace ours with the one from the modified package?
 
Not yet. Been testing the single file for a few days. I will push the 2nd file and test it tonight. Any website suggestions to test?
 
Well my first attempt built a borked webkit, nothing that calls a webview works, email, browser, etc. It seems as if both libraries would be necessary, but you have no issues with just the one?

I'm building right now with both libraries added, will report in about an hour.