yashsingh1/xdaforums huggingface dataset:
[Atrix 4G Android Development] crnkoj:
Yes you are right, we cannot edit the bootloaders its not only closed source but encrypted+secured aswell. I was thinking more of a 2ndinit or such as that the init in the ramdisk of the normal kernel would give y ou an option to either boot from mmcblk0px or mmcblk1px

hmm for the framework base i have a similar question as ghost_og, did you first pull the cm frameworks with repo than git clone the atrix dev team frameworks for fp in a nother dir and than copy them over whatever was missing? or did you actually had to edit code for it to accept deprecated stuff as our error suggested?

anyhow i dled your frameworks, and removed the one i had on my build dir than copied the dir over and i still get the same error, so weird (i tried with brunch olympus though, i started make bacon now, will see how it goes - apart from slower :) ) a second thing, my frameworks dir had 3xxmb yours is 9xxmb (just my observation). but im sure there has to be a way for repo/git to combine both trees
[Atrix 4G Android Development] ghost_og:
Sorry for the dumb question but what is the difference between copying and.merging certain files?
[Atrix 4G Android Development] sspa:
I believe you can pull the remote repository and merge with your current code (when conflicts happen, it's still a manual work; even auto merge is successful, you still need to look the code), then you should be able to create a patch, but I'm not a git expert, so I cannot give much advice here.
[Atrix 4G Android Development] acerbix:
1. Silly question - but did you "make clobber" before building?

2. I thought of combining - but since this is kang, didnt put the energy into it :)

3. Let me know if the build fails. I will pull together a tar of only the files I changed and upload it. Thats a good idea for me as well, since I will bork my local repo soon enough and will need those files :)

Re: frameworks question: I used vanilla CM7 frameworks/base and manually changed code/created files. I didnt rewrite code - just merged changes. The link that ghost_og posted is the one I used.

Re: dual-boot: interesting. If you were to do that, you would have to swap the initial kernel out for the selected/target kernel. So if we were to do this we'd need the initial kernel to be like uboot.bin.
[Atrix 4G Android Development] sspa:
copying a file will overwrite your current file. In this case, your fingerprint lock will be gone if you just copy the files from CM7 repository.

merging will merge the differences between the two files into your current file. In this case, you merge the lastest new code from CM7 into your FP lock enabled code.
[Atrix 4G Android Development] acerbix:
Copying: Blindly copying the entire file over. No need to check the contents.

Merging: copying over only specific lines in the target file, making sure you watch out for how that file might have changed between the time the fingerprint changes were made and now, and reviewing the resulting code to make sure it looks good - Like for example, you havent pasted class level final static vars in the middle of a method :)
[Atrix 4G Android Development] sspa:
see this: http://code.google.com/p/cyanogenmod/issues/detail?id=3857

search for "Dec 21"
[Atrix 4G Android Development] crnkoj:
ye i did clobber and make clean i tried brunch olympus and i tried make bacon and make bacon -j1 and get this error, seems like osomething with the browser this time http://paste.pocoo.org/show/535263/ and i just ran your script with -s than i removed teh frameworks and copied it over, it seems the packages have an issue now ...
[Atrix 4G Android Development] ghost_og:
Great, thanks for the clarification guys. It's not that I don't want to use your .zip acerbix, it's just taking a long time to d/l and I wanted to figure this thing out.

So I have things straight, the CM7 gingerbread branch has updated code that is missing from the fingerprint branch of the Atrix-Dev-Team's frameworks/base files, and that is causing my error? Once I merge/copy the necessary fingerprint files or code, it should get past that CMParts error?
[Atrix 4G Android Development] xenomorph150:
Yeah, I saw that.

I actually did an complete new repo init and repo sync, and trying that again now. But I don't know wheter that will help? mh...

Or any other stuff I need to do?

Thanks again for the help!
[Atrix 4G Android Development] acerbix:
Oh ok. I have another machine on which I dont have the CM7 codebase. I will follow my own instructions and see how things go. Will keep you posted.
[Atrix 4G Android Development] acerbix:
Yes - you got it right. If you can wait a moment, I will upload another much smaller zip file that will have only the changes I made (~ 1 hr ).

Cheers
[Atrix 4G Android Development] acerbix:
Slim download file

Okay - here is the zip/tar file with *only* the changed files. You should be able to cleanly overlay this. I haven't tested this yet. Once I post this message, I will start repo init and the rest of the fun on my other machine. Let me know if this works better.

*** Update - I repo inited and followed my own instructions on a different machine - it built cleanly first time and the rom has fingerprint lock. So, if you have compile issues, try removing everything and clean initing the repo and then overlaying this and running the other script.

Files here: http://xdaforums.com/showpost.php?p=21436681&postcount=59

instructions to rebuild the repo here: http://xdaforums.com/showpost.php?p=21450488&postcount=91
[Atrix 4G Android Development] crnkoj:
thanks, i tried this aswell now i get a new error lol, i slowly give up... http://paste.pocoo.org/show/535397/

i repo synced than i used your script and than i untared the files, im getting nowhere anmore =/ thanks for your effort
[Atrix 4G Android Development] acerbix:
My bad - I didnt give clear instructions in the post above (just edited my other post as well). You should untar the file after you cd to frameworks/base. What happened unfortunately is that your android make file got over-written.

Workaround is easy enough:

1. copy the tar file and the atrix-sync shell script to a backup directory - say ~/tmp-backup

2. cd android/system

3. rm -rf *

4. cp ~/tmp-backup/atrix-sync .

5. ./atrix-sync -s [this will rebuild your local working tree - you dont need to download too much, except for the atrix-dev git repos since your .repo dir is still around]

6. cd frameworks/base

7. tar xvofz ~/tmp-backup/thin_fwk_base.tar

8. cd ../..

9. brunch olympus

This should do the trick.
[Atrix 4G Android Development] crnkoj:
ye i did almost like that, didnt rm all though, but the things we were messing around. will try tomorrow, its late again, thanks
[Atrix 4G Android Development] pyromechanic:
Thanks for working on this acerbix and everybody:D

My firend just got me to load CyanogenMod-7.2.0-RC0 onto my Atrix and he'd intended the FP reader to work. He copied the drivers off my device first and complied the build from one of the latest nightlies. Fingerprint doesnt show up in my settings options for unlock security though and I'm one of those folks who uses a corporate email exchange server with mandatory security settings so my phone locks itself continuously.

Have been using CherryPi rom which is very functional. First started using CM with my old Kaiser, ha! With feedback from folks like you custom roms can really bring out the best in overall performance and keep workable hardware configs usable long past the two seconds they spend in the marketing limelight.

You guys are great and I really appreciate you sharing your work so others can enjoy the fruits of your labor.
[Atrix 4G Android Development] acerbix:
You are welcome - let me know if you are comfortable building from source - if not I can upload the rom and send you a link.
[Atrix 4G Android Development] sspa:
did you guys also compare the other 3 directories to be cloned (other than frameworks/base) from atrix-dev-team? I think they are also a little bit outdated, and need to be merged with the latest CM7 code. Otherwise we don't know what's been missed (or even bugs introduced for not doing merge)
[Atrix 4G Android Development] acerbix:
4 dirs you mean, right? [frameworks/base, vendor/motorola, device/motorola/olympus, and app/Settings] I did - couldnt find anything else of use in the other repos. Not to say therre arent any. Let us know if you do find something
[Atrix 4G Android Development] sspa:
that's right. How about packages/apps/Settings? I did find some new changes in vpn/bluetooth/gps etc, they're not in atrix-dev-team but in the latest cm7 code. but maybe not that critical anyway.
[Atrix 4G Android Development] acerbix:
*** Updated: oic what you mean: sorry for the dumb answer earlier :D Yeah - they are not sync'd. I thought of syncing and merging upstream, but since I am not in the official Atrix-dev team, and this is juat a kang, I decided to live w/o the changes. If you do merge the changes please upload a zip - better yet, lets ask the good old folks in the Atrix dev team to merge upstream to CM7, so we dont have to do this roundabout thing.

Cheers
[Atrix 4G Android Development] crnkoj:
thanks, it seems it works now after deleting it and i removed the local_manifest.xml aswell (the culprint might have been in there ..), it just finished compiling, ill test flash it in an hour or so after i charge the battery full.

on a second note, i saw we compile with thumb, apparently tegra2 supports thumbee, which should bring a performance boost. what do you guys think about it ?
[Atrix 4G Android Development] acerbix:
Love the idea: at work now, will see if I can muck around with the makefile after work.

BTW - still thinking about your dual boot idea: lets try to work on thumbee and then try that. BTW - do you know if the ndk can produce thumbee executables? If not we'd need codesoourcery or something similar.
[Atrix 4G Android Development] crnkoj:
ok so i tested the build, first time it rebooted a few seconds after boot, but than it rebooted and works very nice for now (a few minutes :) ), the device part is there and i can use fp to unlock and its fantastic (it feels better than the weekly 4) aswell as the unlock screen (the bubble) seems smoother. im sorry but i dont know anything about the ndk to be honest :) yes we (actually you :) ) could look in to the thumbee option (im still very new to this coding/compiling game), than go for dualboot.

just a fun fact at the side: apparently the tegra2 chipset with its single 32bit ram controller and no NEON is faster for compiling than an OMAP with dual channel 32 bit ram and NEON support, that said i know we wont really compile much natively, but just as a fun fact :)
[Atrix 4G Android Development] aaraya1516:
When doing this, will I have issues building for other devices? I currently build for the Nook and HTC Glacier.

I take no responsibility for ruining your device, but I made this kang for a friend to see if it would work. He has not been able to test, so please let me know if it works for you. I followed all of the above steps and just wanted to see if it worked the way it should.

Download Here
[Atrix 4G Android Development] t.s.eliot:
If you are really worried about missing changes from updated versions, there is a very painful solution.

Pull the latest source, and edit files manually to overlay the changes from the fingerprint related commits.

I'm trying this approach on CM7 as a test case, and then seeing if it will work on the emerging CM9 build.
[Atrix 4G Android Development] ghost_og:
FINALLY!!

This is what I ended up doing and it finally compiled successfully. The only package I had to make changes to was frameworks/base. I used the Atrix-Dev-Team FP branches for /device/motorola/olympus and /packages/apps/Settings without any problems.

I took the CM7 frameworks/base and using this Atrix-Dev-Team commit, I copied over any Atrix-Dev-Team files that needed to be created, and merged the code for files that were already there. (Big thanks to acerbix for pointing this out). There were definitely upstream changes made to the main CM gingerbread branch that weren't present in the FP files. I did not have to remove any pre-existing code so not sure why acerbix's bluetooth package was causing problems.

From my searching I found that CMParts, frameworks/base, and CMSettings are all related so it makes sense why I kept getting errors at CMParts. It was looking for code that wasn't present in the deprecated frameworks/base FP files. Once I merged in the FP related code, BAM, good to go. :) Charging up my phone so I can test it out now. Will check back in with results.

*Update: Working perfectly :D btw, I didn't start fresh with my source. I just deleted the folders in question, re-synced, and then made my changes.
[Atrix 4G Android Development] acerbix:
You might give it a shot - These changes have been tested only on the Atrix. Fingerprint code not tested on any other device, including ones that dont have the fingerprint module.

It *shouldnt* cause problems based on my reading of but no guarantees. However, you might end up with a slightly older "Settings" app (unless ghost_og is kind enuff to post his changes in a tarball)

Also - you might
[Atrix 4G Android Development] aaraya1516:
I went ahead and split my builds into different folders.
[Atrix 4G Android Development] acerbix:
A better solution would be to encourage/pray/coax/cajole the Atrix-dev team to merge these changes upstream and we wouldnt have to jump through hoops :)
[Atrix 4G Android Development] acerbix:
Would you please mind putting together a tarball of your changes to packages/apps/Settings? That way we can use all the updated stuff together. I can merge setting myself if I have to, but since you already did the work,... :D
[Atrix 4G Android Development] acerbix:
Smart move :)
[Atrix 4G Android Development] ghost_og:
Awwww yeah! I'm in business with full FP functionality.

Here are the modified files for frameworks/base. These have the FP changes overlaid on top of the CM7 gingerbread source. This was my first time making a tarball. I noticed yours was .tar.zip and had another .tar inside of it. First, I made a .tar then I made a .zip of that to upload. My .tar inside of the .zip had a different file size than yours, but the subdirectories were all about the same size. Let me know if I did it wrong. ;)

(I used the Atrix-Dev-Team's fingerprint branch of packages/apps/Settings without modifying it)

*added my 2 manifests in case anyone was interested. The non-Atrix stuff in the local one was automatically added during the sync(?).
[Atrix 4G Android Development] acerbix:
xda-dev wouldnt let me upload a tgz file so I tarred it then zipped it.

Oh - so your tarball is essentially hte same as mine. I thought you modified the Settings app. That would have been nice :)

But seriously: how do we get the changes merged as official? That way, they dont get over-written with every sync?

Also - anyone interested in moving on to CM9/ics instead of gb?
[Atrix 4G Android Development] acerbix:
I'm interested in building CM9 as well. Let me know when you are ready - lets start a separate build-from-source CM9 thread to discuss that.

Cheers
[Atrix 4G Android Development] acerbix:
Doing some research around Thumb-EE.

First: Spent some time looking at the Dalvik codebase at dalvik/vm/compiler/codegen. It has Thumb and Thumb2 support but no ThumbEE support. Apparently gb doesnot have any thumbEE support. We could recompile the native code in ThumbEE but that would not add any value, since thumbEE is for optimizing VM code.

Also: Found that Tegra2 does not have thumbEE support:

OMAP 4: Features : swp half thumb fastmult vfp edsp thumbee neon vfpv3

Exynos: Features : swp half thumb fastmult vfp edsp neon vfpv3

Tegra 2: Features : swp half thumb fastmult vfp edsp vfpv3 vfpv3d16

MSM8260: Features : swp half thumb fastmult vfp edsp thumbee neon vfpv3

OMAP 3: Features : swp half thumb fastmult vfp edsp neon vfpv3

source: http://www.anandtech.com/show/4551/motorola-droid-3-review-third-times-a-charm/10

So thumbEE is a no go :(
[Atrix 4G Android Development] ghost_og:
Yup, but I only added stuff; no deletions. That's essentially what I did for my file, wonder why my .tar was smaller. :confused: Hopefully your commands above still work on it.

I'm actually trying to set up a github right now so there's a working url we can add to our manifests. From there I think I'll be able to submit a pull request (if I understand things right, just skimmed how it works).

I would be up for it, but my pc can barely take GB. Once I get a new one, I'll be up for a lot more.
[Atrix 4G Android Development] acerbix:
I thought of adding a github but decided against it - a lot of work to maintain over time and would be another fork over the "official" Atrix-dev gb repo. But - if you were to create one, I'll use it :)
[Atrix 4G Android Development] t.s.eliot:
I don't know about ready, but I already started. I got a functional CM7 with fingerprint working this morning by manually overlaying the files, so I decided to start on making a copy of CM9 with the fingerprint changed overlaid.

My skills don't extend much beyond a semi-educated cut and paste, so I don't really have high hopes of success. The addition of the facial unlock seems to have modified some of the key files, and it seems to be hard to tell where the changes go.
[Atrix 4G Android Development] ghost_og:
Ok, I got a github setup for anyone who wants to try and use the modified frameworks/base files using repo sync instead of copying them over. I'm very tired, and my computer sucks, so if anyone with short build times wants to try syncing this please provide feedback.

I screwed up the first time and ended up doing 2 separate commits. I added a '.' to a comment of the Android.mk file to verify the second one was successful, so you'll see that in both of them.

Replace this line in your default.xml manifest:

<project path="frameworks/base" name="CyanogenMod/android_frameworks_base"/>

with this one:

<project path="frameworks/base" name="ghost-og/android_frameworks_base" revision="fingerprint"/>
[Atrix 4G Android Development] t.s.eliot:
Strike one on a CM9 attempt.

I didn't get the changes quite right in LockPatternKeyguardView.java.

"frameworks/base/policy/src/com/android/internal/policy/impl/LockPatternKeyguardView.java:452: updateScreen(com.android.internal.policy.impl.LockPatternKeyguardView.Mode,boolean) in com.android.internal.policy.impl.LockPatternKeyguardView cannot be applied to (com.android.internal.policy.impl.LockPatternKeyguardView.Mode)

updateScreen(mMode);

^

frameworks/base/policy/src/com/android/internal/policy/impl/LockPatternKeyguardView.java:1029: cannot find symbol

make: *** [out/target/common/obj/APPS/Settings_intermediates/classes-full-debug.jar] Error 41

make: *** Waiting for unfinished jobs....

symbol : variable mLockscreenDisableOnSecurity

location: class com.android.internal.policy.impl.LockPatternKeyguardView

if (mLockscreenDisableOnSecurity && isSecure() && (usingLockPattern || usingLockFinger) || (simState == IccCard.State.PIN_REQUIRED)) {

"
[Atrix 4G Android Development] sspa:
CM7 to atrix-dev-team patch for git

in case anyone is interested, here is the git patch created after I merged the fingerprint support of atrix-dev-team into CM7. My build has also created a working fingerprint lock.

The patch for "vendor/motorola/olympus" is not included since for this directory atrix-dev-team is a superset of what CM7 has, so you can just blindly copy it over CM7.
[Atrix 4G Android Development] acerbix:
Are you going to pull off of upstream frameworks/base to keep in sync? That would be nice :)
[Atrix 4G Android Development] acerbix:
Starting a CM9 thread... will copy this over.
[Atrix 4G Android Development] ghost_og:
At least until the Atrix-Dev-Team one is updated :).

I repo synced and ran into a dumb mistake when building; had to delete an .xml file I had put in the wrong directory. I also updated my frameworks_base.tar.zip above in case someone uses it. I'm building again now just to be sure.
[Atrix 4G Android Development] acerbix:
Sweet, thx!
[Atrix 4G Android Development] acerbix:
Seeing that fingerprint is working, I am off to build CM9 - hope to see you on that thread.

Cheers
[Atrix 4G Android Development] crnkoj:
very nice effort guys, a bit input from me too:)

1. regarding thumbee look here http://armin762.wordpress.com/ its a very good blog about arm devices and says it has it, aswell if you go into the terminal emulator/adb shell and write cat /proc/cpuinfo it states that our device/phone supports it, anandtech seems to have it wrong there, but as you said there wont be any improvement for it we can leave this for now, the question about it viable in ics pops up though.

2. i talked with samcripp from the atrx-dev-team, he said that they dont support cm 7.2 (what we build here), so there isnt any fp support for it, but he said if we want to get it to cm that we should contact the cm guys and ask them to merge the code into the mainstream (probably a bit more tweaking would be needed to not make it compile/include for other phones.

3. regarding cm9/ics ill post int he cm9 thread
[Atrix 4G Android Development] acerbix:
#1: Thx - will look into it - lets talk more on CM9 along with FP porting :)

#2: Lets do #2: Ghost_og has a repo already. We can add our other changes [change extract.sh to pull from github like in my script, and app/Settings changes], test the repo, email the devs so htey know its coming and send a pull request.
[Atrix 4G Android Development] ghost_og:
Changes to apps/Settings?

What changes are you guys making to app/Settings? I tested my frameworks/base github repo last night, and the build finished without any errors. I used the fingerprint branch of app/Settings from the Atrix-Dev-Tam github, and did not make any changes to it, so I'm curious what the nature of the edits you made are.
[Atrix 4G Android Development] acerbix:
I didn't make any changes to app/settings: however, there are changes in app/Settings in the Atrix-Dev repo that aren't in CM7. Since Atrix-dev will not push it (based on crnkoj's post above) we will need to. Same thing for device/motorola/olympus. Since vendor/motorola/olympus has proprietary files, they cannot be merged into CM7 - we will need to change extract.sh to do what my script was doing - pulling down the vendor files from github.

I can do the app/Settings and device/motorola/olympus repos and test the build later this evening.
[Atrix 4G Android Development] ghost_og:
Ok cool, I wanted to make sure I wasn't missing something.

Aren't the app/Settings and device/motorola/olympus repos pretty up to date? I think the FP branch for Settings is even more current than the gb branch. The manifests I posted previously uses the Atrix-Dev-Team github and the revision="fingerprint" for these two folders. And then I included the vendor files in the local manifest (which only has a master branch). I looked at the extract.sh for both branches and this is the URL for both:

BASEURL="http://atrix-dev-team.github.com/android_vendor_motorola_olympus/"

Other than the frameworks/base stuff isn't everything else in place as long as we use the right manifests?
[Atrix 4G Android Development] acerbix:
You are right - that'll work. However, what we were discussing was merging the code into the CM7.2 repo so that you do not *need* to muck around with manifests, etc. Just doing a repo init and then repo sync would get everything from the main CM7 repo. You wouldnt have to pull anything from the Atrix-dev github.

BUT - (and a very big BUT) I'd do this only if the atrix dev team is okay with us doing this. They put in a lot of hard work to get fingerprint and other atrix magic working in CM7.
[Atrix 4G Android Development] ghost_og:
Ah, I see. Sorry if I'm a bit slow today. My brain is a bit frazzled tyring to get all this worked out over the weekend, lol. :p

Yeah, I'll see what their response to my pull request is. But I'm kind of thinking it works now for anyone trying to build, so unless there are any major updates I doubt it'll be worth the trouble. Especially with CM9 being worked on. :)