yashsingh1/xdaforums huggingface dataset:
[Android General] johndillinger1932:
Just ordered the actual SH-06D Nerv phone...I figured we would all be better off with more than just the system file..so when it gets here, I'll go through the very painful rooting process and post the entire root folder for everyone to have it.

Thank you to simonpunk for getting Magi working. You're a good man I'm sure I speak for everyone here - Thank you.
[Android General] E66666666:
Oh wow man, that thing is really expensive, last time I saw one on eBay it was like 600 USD. Enjoy your genuine SH-06D NERV edition phone :) Please be careful and don't brick it, we're far in and it works well on devices with correct DPI. I think its an app-specific thing, so you can't do Much about it having system files outside of /system.
[Android General] johndillinger1932:
Oh im sure..but I figured having the entire phone dumped can't hurt...give everyone a chance at it..plus having the actual device might help with porting the whole system over to newer android versions..and now that we have Magi working thanks to simonpunk...whats the next function to tackle? Nerv Staff?
[Android General] valmanway:
Oh I'm sorry, I thought it was an HTC One. I tried changing DPI, and I modified the value in "i.smali" with no luck. Still looks black. My main screen with all the widgets and MAGI launcher look stunning with max brightness though :D If ony the icons would show in te correct size...
[Android General] E66666666:
NERV-Staff us supposed to work by removing the SH-06D requirement. It's documented in this thread somewhere.

Evangelion fans wouldn't mind seeing the actual included 3D movies, but I think that part is copyrighted. (As in, intellectual property, vs what we have been doing, working on software with a license which permits redistribution).

An updated Framework would be nice to have though.

What's your device?
[Android General] valmanway:
HTC One

Edit: I tried to install the widgets and the launcher on an HTC Nexus One running android 4.1 but it doesn't work, I moved all the apks to system/app, set the permissions but the launcher doesn't show up, nor the widgets. Don't know what is wrong.
[Android General] QNBT:
I took the time to read through the license that is included in the launcher. I don't know if they explicit mean that the launcher itself or everything on the phone follows that license but basically the license is the standard Apache 2.0 license.

A quick summary of what you can and cannot do:

https://tldrlegal.com/license/apache-license-2.0-(apache-2.0)

https://www.apache.org/foundation/license-faq.html#WhatDoesItMEAN

"It allows you to:

- freely download and use Apache software, in whole or in part, for personal, company internal, or commercial purposes;

- use Apache software in packages or distributions that you create."

The full version of Apache 2.0 license:

http://www.apache.org/licenses/LICENSE-2.0

Most likely the anime clips should be copyrighted even if not stated.
[Android General] UN5EEN:
This able to be themed to TMOBILE themer?
[Android General] simonpunk2013:
just saw a post from lightout posted at weibo on march 4th, at that time, his huawei honor 3c didn't show the polytopes as well, but soon after he commented that after he modified some related texture codes to fit all the different GPU devices, his phone was able to display the polytopes. So just a theory, magihome may depend on GPU or the android version of your device.

So, for the polytopes problem, it may need someone who good at java and opengl language to modify those smali to be compatible with your GPU, so, that's all, some of you can now move on to look into to other magi widget, to fix the bugs.~
[Android General] UrushibaraRuka:
Ahh, I finaly got my Phone back from repair.

I'm glad to see how much progress you guys made.

I'm working on the "NervStaff.apk" right now.

Just for the record, some codebit i think is atleast 1 part of the key to make it work.

In "NervStaffActivity.smali" between line 1737 and 1761 is this part of code:

.method public onCreate(Landroid/os/Bundle;)V
.locals 7

invoke-super {p0, p1}, Landroid/app/Activity;->onCreate(Landroid/os/Bundle;)V

sget-object v0, Landroid/os/Build;->MODEL:Ljava/lang/String;

const-string v1, "SH-06DNERV"

invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

move-result v0

if-nez v0, :cond_0

const-string v0, "NervStaffActivity"

const-string v1, "not supported model."

invoke-static {v0, v1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I

invoke-virtual {p0}, Ljp/co/evangelion/nervagentapps/NervStaffActivity;->finish()V

:goto_0
return-void

If I understand this code correct it looks if you're model is the "SH-06DNERV", if it's not it should say "not supported model." and quit.

I Already tried to change the "SH-06DNERV" to my Models "GalaxyNexus", "Nexus5" and "Nexus7" but it seems that isn't enough and for the sake of all other Android users not very good because it would be limited to those Models. So to make it usable for everyone this codebit needs to be ether rewritten or removed.

The interesting part of the codebit seems to be lines 1742 to 1750 which are:

sget-object v0, Landroid/os/Build;->MODEL:Ljava/lang/String; [B]this gets the model from your device and puts it in "v0"[/B]

const-string v1, "SH-06DNERV" [B]is a constant string for the check with your model put in "v1"[/B]

invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z [B]here "v0" and "v1" are checked do be equal, if yes result may be 1[/B]

move-result v0 [B]the result will be put in "v0"[/B]

if-nez v0, :cond_0 [B]if "v0" has the correct value the following lines are ignored and the app is usable[/B]

The ":cond_0" part of the code starts at line 1764 which also uses the "v0" variable from above but only to see if everything is okay.

For now I'll try to rewrite the "const-string v1, "SH-06DNERV"" to "sget-object v1, Landroid/os/Build;->MODEL:Ljava/lang/String;".

This way "v0" and "v1" should be the same since both variables will be read from your device and the comparison 1 line below will be equal.

I could be wrong but I'll try it anyways :P

Which me luck!
[Android General] E66666666:
You can also try making it always return 1 no matter what it reads - maybe even remove the entire check. But I don't think that's possible in smali, the language looks rather... not elegant.

Good luck!
[Android General] UrushibaraRuka:
Well, it seems i have issues with signing the apk's.

APKMultitool throws errors at me, tells me to look in the log but it doesn't create a log to look at.

ZipSign seems to work but still, the apk's aren't recognized by the device.

I compiled it once as system apk and once as normal apk.

Any other idea?

Update:

It seems i have anoter problem now.

I had to restart my phone and now i see my bootscreen since about 10 minutes. So i'm stuck trying to get it working again.

Reporting in when it is.

Update 2:

Problem solved but the app still refuses to work :/
[Android General] charklucifer:
Thanks

Thanks a lot the Magihome worked on my LG G2 4.2.2,No FC.Even add widget it still work.But the widgets do not work after mins unless push them to reflash it.
[Android General] sh0t4r0:
so, hi! im new here and i have most of the widgets allready working, im using an Xperia ZL(1080 x 1920 res screen).

if someone make the launcher work with this res screen, plz tell me how... i know a lil bit of coding and can help the community somehow..
[Android General] Tachikoma_kun:
.method public onCreate(Landroid/os/Bundle;)V
.locals 7

invoke-super {p0, p1}, Landroid/app/Activity;->onCreate(Landroid/os/Bundle;)V

sget-object v0, Landroid/os/Build;->MODEL:Ljava/lang/String;

const-string v1, "SH-06DNERV"

invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

move-result v0

if-nez v0, :cond_0

const-string v0, "NervStaffActivity"

const-string v1, "not supported model."

invoke-static {v0, v1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I

invoke-virtual {p0}, Ljp/co/evangelion/nervagentapps/NervStaffActivity;->finish()V

:goto_0
return-void

There should be a smali equivalent to "<>" (different) or NOT, in which case, stick a NOT (or equivalent) into:

invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

And that should make it return the needed value to make it launch for every phone other than the SH-06D

That's if I understand it right, entirely possible I am wrong, but basing this on VB knowledge.
[Android General] UrushibaraRuka:
Actually there is something like that but not in

invoke-virtual {v0, v1}, Ljava/lang/String;->[B]equals[/B](Ljava/lang/Object;)Z

it is the small

if-nez v0, :cond_0

the "nez" means something like "not equals zero". "if-eqz" means the opposite "equals zero"

I changed that already but it didn't do anything so i decided I'll have a look at logcat and i found these lines:

03-23 16:28:06.617 I/PackageManager(408): /system/app/NervStaff-release-deodexed-signed.apk changed; collecting certs
03-23 16:28:06.867 W/PackageManager(408): Signature mismatch for shared user : SharedUserSetting{42124c30 jp.co.evangelion.nervagentapps/10154}
03-23 16:28:06.867 E/PackageManager(408): Package jp.co.evangelion.nervagentapps has no signatures that match those in shared user jp.co.evangelion.nervagentapps; ignoring!

which tells me for my understanding that i have a signing issue.

A bit above i can also see that android tries to load all frameworkfiles with "jp.co.sharp.android" in it and a file named "send_bug.jar". Maybe that's an issue too.
[Android General] Tachikoma_kun:
Ah well, worth a try lol

It's a shame I don't have a laptop anymore as I would love to look into this more and learn some smali to get this working.
[Android General] UrushibaraRuka:
GUYS!!! I GOT IT WORKING!!!

It was so simple that it's embaressing that i came so late to the solution.

All i had to do was to delete the part with the "nervagentapp" in the "packages.xml". Then reboot and it's working now.

Usable apk for you guys!

Uploaded (as a thanks)

Dropbox (if you don't want to wait)

Update:

Okay I wanted to make some screens from the app but now it FC's on me. LogCat states

class Landroid/app/ActivityManagerNative; has 163 unimplemented (abstract) methods

Guess i'll have to check that too but i think it has something to do with the value from the check that is "0" and not "1" like it was original intended.

I'll check that and report back. I let the links to the app here, maybe it's just my phone.

Update 2:

I think i found the issue. LogCat states

03-26 15:26:35.603 E/SQLiteLog(6512): (5) database is locked
03-26 15:26:35.611 E/SQLiteDatabase(6512): Failed to open database '/data/data/jp.co.evangelion.nervagentapps/databases/history.db'.

Now the question, why is it locked? The answer seems to be a few lines above which says as follows

03-26 15:26:33.088 I/SQLiteConnectionPool(6512): The connection pool for /data/data/jp.co.evangelion.nervagentapps/databases/history.db has been closed but there are still 1 connections in use. They will be closed as they are released back to the pool.

If I understand this correct, the app itself is closed but the connetion to the "history.db" is still active.

So i only need to find a solution to this. I'm pretty sure if i'd reboot my phone i could start the app again.

Update 3:

I just renamed the "history.db" file and the app started again so i could atleast take some screenshots till I/we resolve that last issue.
[Android General] indigotheory:
Brilliant news!
[Android General] johndillinger1932:
Good job on the app... tested it out, Alarm doesn't play any sound when it goes off. Not sure if you tested that bit yet.. but definitely looking good.

バカバカバカ！
[Android General] UrushibaraRuka:
Nope, didn't test that but i just tried it and it won't even vibrate so that needs some investigation too.

I'm more busy with the fact that the app won't start a second time.

So far i know that the connetion to the "history.db" file doesn't get closed and the file doesn't get unlocked 'cause of that.

I found that the file which is responsible for that is "jp/co/evangelion/nervagentapps/f/k.smali" and maybe "jp/co/evangelion/nervagentapps/f/i.smali" and "jp/co/evangelion/nervagentapps/f/h.smali" are also involved.

While there seems to be a routine to close the connections and to unlock the database, it won't work. Why? I don't know...yet.
[Android General] johndillinger1932:
Keep at it. I'm still trying to edit Magi so the screen selector view displays properly on 4.3 TW Roms..if only work didnt get in the way
[Android General] UrushibaraRuka:
Haha, i know that problem^^

But i think i found something.

I looked at the framework files, deodexed them and then took a look at the smali files.

There is 1 file named "jp.co.sharp.android.exdbcontrol.jar" and i think that stand for "external database control".

Some of those files seem to be database exception handler. Just guessing here but names like "VObjektException.smali" and "VObjektDatabaseFullException.smali" are a pretty good evidence that i'm right with this guess.

So my question now is. If i deodex all the "jp.co.sharp.android.*.jar" files, do i still need to sign them? I would guess i have to.

Maybe that's the answer to our problems.
[Android General] johndillinger1932:
from everything that Ive read, and i could be wrong, everything has to be signed, except for system apps...dont quote me on that though. Ever Apk decompiler ive come across tells you not to sign system apks.
[Android General] UrushibaraRuka:
Yeah...it wasn't the other framework files.

I found out that the issue is really just the fact that the "writeable" connection to the "history.db" file doesn't get closed. On the next start

the file is called with "getWritableDatabase()" which is then blocked by android because the previous connection is still active which keeps

the file locked.

To be sure it hasn't anything to do with the change i did so the App can actually run, I modified it again so that the value on that point will ne "1" whatever ther comes.

From what google told me, I know all i have to do is to put a "invoke-virtual {v1}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V" at the right place to stop any connection which should then unlock the "history.db" file...but were?!?

I'm looking at the smali-code since hours and my head is about to explode!!! Yet i refuse to take a brake from it 'cause i want it ro run properly!
[Android General] UrushibaraRuka:
Okay, over the past couple of days i compared the java-source of the nervstaffonly with some examples i found on the net.

Let's just say the SQLite usage of the nervstaffonly seems to be out of the SQLite specs.

There seems to be no "termination" routine for the SQL connections if the app "dies".

Not that it keeps me from trying more stuff^^

I want this app and all the other parts of the ROM working for everyone so come on and digg with me to make it happen^^
[Android General] chuko303:
Don't work on my galaxy note 3
[Android General] rayjt9:
This works great on on the the galaxy s5, other than the black polygon instead of wireframe. Anyone figured out a way to get that to display properly?

edit: after reading through the other pages it looks like like a no so far! Ah well, very happy with what's working!
[Android General] johndillinger1932:
I tested it on my gfs note 3 which is running Josh beach's K3 rom...everything works. You did something wrong

バカバカバカ！
[Android General] rayjt9:
Did you get the launcher etc working fine on the Note 2? I tried on mine and the homescreen blacks out when transitioning between pages.

If you managed, what firmware/etc did you use? Sorry if you've covered that etc.

Thanks in advance
[Android General] johndillinger1932:
Launcher only displays the expanded view on 4.1.2, but the poly is black. The downside is that on 4.1.2 the Widgets do not run properly. On 4.3 they run just fine

バカバカバカ！
[Android General] QNBT:
A bit out of topic but I just made this theme available for Themer, a "1-tap"-solution. The version that I made does not have the exact same functionalities of course, it's limited to what the Themer launcher can do. The thread is here for more info: http://xdaforums.com/showthread.php?t=2025464

Note: using the themer version does not require UCCW, unlike my old releases.
[Android General] lightout:
Sorry for disappearing so long, cause there were piles of work to do.

1,Why there is black polygon in the center of the launcher?

That is because MAGI HOME uses polytope.pvr as compressed texture located at res\raw. But pvr file is only available for PowerVR gpu which sh-06d uses, that is why it runs well on most sunsang phones. But why the polytope in the center, not cap in top or bottom? Because they are loaded in png format supported by all types of gpu instead of pvr. So to fix this issue, you have to load png file as compressed texture which located at res\drawable.

2, Nerv staff crashes when re-enter.

Yes, you are right. For android version 4.0.4 (exact the version sh-06d uses), there is no need to "endTransaction" before "close", but above that version, in need.

3,Make Nerv news show any kind of news rather than only eva news

Nerv news uses standard rss feed defined in res\values\arrays.xml. You could replace feed by whatever you like, and it makes this widget more useful than only a decoration
[Android General] trinolmf:
cant find that "res\values\arrays.xml"... where exactly is it?

---------- Post added at 04:49 PM ---------- Previous post was at 04:44 PM ----------

Hi guys,

i have an xperia v lt25i the widgets work fine, magi home has that black politope issue...

but since the xperia v has on screen soft buttons the magi home doesnt display correct... is there any way to reduce the size of magi home launcher so that i dont have to use 3rd party apks like hide soft buttons to make the launcher look at its best?
[Android General] simonpunk2013:
Thanks for replying. I was almost sure that the polytope issue is caused by the polytope.pvr as I saw there is a line use compressteximage2d function in f.smali, and when I remove that line, nothing happened which means that invoke didn't really work. Also, that invokes appeared only one time, so I was sure that it was the critical point to solve the problem, however, I don't know where to revise, as to much invokes and parameters are involved, even I have tried changing the resolution of polytope.png and pvr, but nothing worked. So, we still need to keep the compressteximage2d this line and make it load the png file instead of pvr, right? One more thing, there are two other pvr files, sonor up and down.pvr, how come they can display properly? Is that because they weren't used by compressed texture but only polytope.pvr? or because these two pvr are only used by something shader render which means it will only miss some shader effect but still can display the png files in /res/drawable?? Thank you.
[Android General] rayjt9:
Really liked this port, so I ended up buying the SH-06D from a friend in Japan. Whoops. :P
[Android General] Leylan59:
Hello,

I'm trying to get this working on a Galaxy S2 on cyanogenmod 10.2 (Android 4.3.1) but it crashes when i try to launch the magi home launcher APK.

The music player works but evreything else crashes. When i move the apk to /system/app the system loops on the bootanimation repeatedly.

On what phones did you managed to get this working? Would be interesting to higlight it on the first post maybe.

i'll continue to struggle in order to make this working because i find it amazing but i'm not a developper and i feel i'm runnning out of options. Is it possible to run it on a Galaxy S2?
[Android General] Leylan59:
Worked it out !

All you have to do on CM 10.2 Galaxy SII is

1. Copy all the apk (except music player) on your phone in a tmp folder (NOT your SD Card, you can't change permissions and owners on SD card)

2. Change all the files owner:group to root:root

3. Change the permissions to rw-r--r--

4. Copy all the changed files to /system/app

5. Reboot

6. Enjoy

Problems / stuff missing :

- The widget displayed on the home screen are not well linked. Although it is possible to link the MAGI Widget sucessfully i have no way to delete them. Swiping 'em upside to drag 'em to the bin doesn't work (there is no bin displaying)

- No 3D but this is normal i guess the home works well on 2D

- No wallpaper (can find one though)

- Some widget sizes doesn't fit well

- The 5 Home buttons doesn't dissapear when i push HOME button to explore all the installed apps on the phone.

- Need to find a way to make disappear the notification bar on the top of the screen...

- Bootanimation / lockscreen
[Android General] UrushibaraRuka:
Here are some Wallpapers i found in one of the system-apps and the Bootanimation, have fun with it :)
[Android General] simonpunk2013:
no one wants to dig more in the black polytope anymore??:(
[Android General] E66666666:
A quick heads-up: The Dropbox link to the launcher is offline now, needs to be re-uploaded.
[Android General] NeuroticallyYou:
hey guys, sorry for the absence, I moved to California and had to take care of some personal stuff so I had to stop for a while, really sorry, so I read through the comments and I see the launcher is working, im about to try this on my Xperia Z then see whats going on with the black polygon. pretty sure it have to do with the 3d function of the launcher itself but I may be wrong.

P.S. Simonpunk can you please pm me your apk and libraries? the dropbox links are not working.
[Android General] simonpunk2013:
Guys!!!got it work!!!already!!!!solve the black polytope!!! finally know how stupid am I!!!!just a few codes modified!!!

here!!! but maybe there is some frame miss again??

everyone try on it!!!!!!

https://www.dropbox.com/s/j3scpo7wt2yvo67/MAGIHome-release-test-signed.apk

another issue, does anyone have such problem when you are using magi launcher, after you turn off your screen and turn on again, the screenselector won't function, need to open a browser or other apps, then function again, anyone have this kind of problem??tell me plz/
[Android General] TakuyaZ:
Congratulations

Now we need non root support! XD
[Android General] E66666666:
Saw your PM, glad you managed to figure it out. I have no experience in java nor openGL. What was the problem? Disabled the texture compression?
[Android General] simonpunk2013:
it is not about how to modify the texture, it is like what lightout said, change the loading path of the loaded texture polytope.pvr which located at res/raw to the polytope.png which located at res/drawable. Just change the b value to the code of polytope.png inside the bx.smali, then look at the /selector/a/d.smali, find the line which contains bx.b, as this invoke doesn't use decode method, so need to change to what previous invokes do.

after modification, it looks like this

sget v1, Ljp/co/evangelion/nervhome/bx;->b:I

invoke-static {p0, v1}, Landroid/graphics/BitmapFactory;->decodeResource(Landroid/content/res/Resources;I)Landroid/graphics/Bitmap;

move-result-object v1

invoke-static {v1}, Ljp/co/evangelion/nervhome/a/f;->a(Landroid/graphics/Bitmap;)Ljp/co/evangelion/nervhome/a/f;

move-result-object v1

now I want to see whether I can change the icon size of other widgets, since my phone's resolution is only 960*540 which is small, some magi widgets display improperly. so, any ideas of changing the icon size? I don't know where to modify, framework.apk?or inside the magihome.apk also? I googled it, but not too much information can help.
[Android General] NeuroticallyYou:
Well I'm mot sure of this launcher as I don't have the apk but back in the day when I did work for the iida infobar A01 launcher I remember certain display properties within the app, something about 240 dpi I think, I may be wrong but it may dpi related since the sh-06d NERV have a resolution of 1280*720 I think so it's dpi may be 320 and your phone is qhd. Anybody can confirm if it is an app density issue with paranoid android? Otherwise anybody who have a rooted phone can change the dpi values on the buildprop and that should fix size issues I know paranoid android have a setting of per app density a quick check should confirm this. Just my 2 cents

XDA Freeで私SOL24から送られてきた