Author Topic: SNAIL W3D ALREADY IN STOCK?!  (Read 25552 times)

DroidX2

Re: SNAIL W3D ALREADY IN STOCK?!
« Reply #240 on: December 22, 2016, 12:34:16 pm »
Looks like getting the update.zip out of the phone is not easy according to the previous posts but well, I seriously need to get the SD card install issue fixed as it's making it virtually impossible to install paid games bought from the play store...

Anyway, I dunno if anyone with root access on 6.1.2 could dump the contents of the system partition (or the kernel image with the help of FlashFire) so we can find out what are essential in the ASEC creation process and how one can fix the issue under 6.1.1 International...

I think you may have tried this according to previous posts, but I have been using it and have been able to install any app from Play Store. Are you getting the error that there isn't enough storage, even though you have enough when trying to install from the Play Store on certain apps?

What's been working for me was to unmount the SD Card from settings and then install the app. Afterward, you can remount the SD Card and everything is good. I had to do that for a couple of apps. I am still unable to install to external SD, but some apps actually have data on the external SD, such as Soul Calibur, or NBA 2K17, and they work fine.

By the way, I am successfully using Xposed on the device with Gravity Box (KK) among other modules. There is an Aliyun OS warning so proceed with caution, but everything seems to work fine.

LSS932

Re: SNAIL W3D ALREADY IN STOCK?!
« Reply #241 on: December 22, 2016, 06:08:41 pm »
I think you may have tried this according to previous posts, but I have been using it and have been able to install any app from Play Store. Are you getting the error that there isn't enough storage, even though you have enough when trying to install from the Play Store on certain apps?

What's been working for me was to unmount the SD Card from settings and then install the app. Afterward, you can remount the SD Card and everything is good. I had to do that for a couple of apps. I am still unable to install to external SD, but some apps actually have data on the external SD, such as Soul Calibur, or NBA 2K17, and they work fine.

By the way, I am successfully using Xposed on the device with Gravity Box (KK) among other modules. There is an Aliyun OS warning so proceed with caution, but everything seems to work fine.

I'm using Xposed as well, though I actually deodexed the system apps and framework files using Ultimate MTK Tool prior to actually installing it to avoid issues.

Play Store would fail with a "Couldn't install to USB storage or SD Card" issue which is the same asec creation problem that prevented installation of apps that prefers the SD card. None of the solutions regarding disabling "forward locking" in XDA work against this device as the package installer/Play Store would still attempt to create the asec container then throw an error.

And yeah, unmounting the SD card works, but it is not really a good idea especially with large apps that come with OBB and such from Play Store, because you'd have to copy them out to the respective location in the SD card after remounting it, or the program will either complain or you'll have to end up downloading them again. The apps will always search for /storage/sdcard0 which is the SD card when mounted, or is the internal storage when not mounted. Because of that, any games you have at present could not be played during the period you unmount the SD card, as they won't be able to access their external data.

XInternalSD would solve the issue if you set it to point to /storage/sdcard1 (internal storage), but Titanium Backup can get confused when trying to back up those apps' external data. Also, I have experienced issues with some apps complaining about permission problems, when pointing to /data/media, which is supposed to be the correct place for internal storage.
« Last Edit: December 22, 2016, 06:15:42 pm by LSS932 »
L.S.S.

DroidX2

Re: SNAIL W3D ALREADY IN STOCK?!
« Reply #242 on: December 22, 2016, 07:59:36 pm »
So far, with xposed, everything is good. Modules seem to be working okay. However, since I had already re-flashed my ROM after some crazy tinkering, I figured I'd give it a shot, worse case I would have to re-flash, which I was already doing, but so far, everything installed, and I haven't received any force close errors, random reboots, hangs, or any of the sort.

Same goes with the games installed from Play Store. However, I installed some games manually to test. I installed the app, then placed the OBB Files in the Android/obb folder on the external SD Card (sdcard0). Apps work normally so far, even with updates.

However, I would hate to get far in a game, only to have an update come and ruin everything because I can't install it. I haven't tried XInternalSD, but if it would eliminate having to unmount to install, that would be nice.

Which app were you trying to install?

LSS932

Re: SNAIL W3D ALREADY IN STOCK?!
« Reply #243 on: December 23, 2016, 03:23:02 am »
So far, with xposed, everything is good. Modules seem to be working okay. However, since I had already re-flashed my ROM after some crazy tinkering, I figured I'd give it a shot, worse case I would have to re-flash, which I was already doing, but so far, everything installed, and I haven't received any force close errors, random reboots, hangs, or any of the sort.

Same goes with the games installed from Play Store. However, I installed some games manually to test. I installed the app, then placed the OBB Files in the Android/obb folder on the external SD Card (sdcard0). Apps work normally so far, even with updates.

However, I would hate to get far in a game, only to have an update come and ruin everything because I can't install it. I haven't tried XInternalSD, but if it would eliminate having to unmount to install, that would be nice.

Which app were you trying to install?

It does not matter which app to install. Any app that prefers to install the app base (apk) to the external (SD Card) would fail as it is asec's problem. The OBB and external SD data have always worked fine, otherwise it would not be possible to play those large games.

XInternalSD does not solve the installation problem, only that you don't have to manually copy the OBB and other stuffs out to the SD card once you remount the partition as all it does is to allow the app to search the internal storage instead of the SD card. Unfortunately, with a high-end microSD card (UHS-I U1 or higher) the performance gain in leaving them in the internal storage is hardly noticeable as far as I have tested, though the card's I/O performance is only barely faster than an ordinary C10 card with this phone (as well as its predecessors, i5 and 78P01).

It's not possible to update those apps using Play Store thanks to the asec issue that's plagued the phone since its release. For free games, I'd have to download it externally and sideload it using "pm" from a root terminal which allows me to force an install/reinstall to the internal storage with the "-f" parameter (and "-r" if upgrading).
L.S.S.

DroidX2

Re: SNAIL W3D ALREADY IN STOCK?!
« Reply #244 on: December 23, 2016, 04:48:44 am »
Seems like you have to go through a lot to install the apps. I would really like to test which app is giving the most issue to you. I may not have run into the same issue yet, and hope I don't, since we'll need a fix. But from all the apps I've installed thus far, if there is one that points to the external, once I unmount, install, and remount, everything is fine. The apps update, and play, without issue.

Although, I think what you are saying, is that the apps should be able to install directly to SD Card without unmounting. Which I agree, especially without the use of root terminal. And I take it you are saying that even though the apps are installing good now, when updates arrive, like if a developer changes the way an app installs, like from external to internal, it would break the installation of the app, and could cause loss of data, or the app would no longer update or play.

Hopefully I understand, since I was just trying to get the apps to install and play, but there's more to it than just that.


SirKneighf

Re: SNAIL W3D ALREADY IN STOCK?!
« Reply #245 on: December 26, 2016, 04:48:28 pm »
Hi
Unfortunately I dropped my device, the glass is not broken but there are hair cracks beneath it? and the digitizer is not working propperly.
Sent a message to Shop Oye to get a replacement screeen/digitizer but had no answer.
Can you point me to where I can purchase replacement parts and a spare battery?
Best Regards!

DroidX2

Re: SNAIL W3D ALREADY IN STOCK?!
« Reply #246 on: December 26, 2016, 05:44:35 pm »
Hi
Unfortunately I dropped my device, the glass is not broken but there are hair cracks beneath it? and the digitizer is not working propperly.
Sent a message to Shop Oye to get a replacement screeen/digitizer but had no answer.
Can you point me to where I can purchase replacement parts and a spare battery?
Best Regards!

Not even sure if OYE can help at that point. This device doesn't seem to have spare parts available, not even from the company that makes it. As for a battery, so far, the only place I have seen one is on TaoBao.com. It's about 25 USD total using TaoBao Focus, if you have to go that route.

I remember months ago, before the device release, there was a seller with the digitizer for the device on Ali Express, but I doubt they have one. You can email them. I cannot guarantee the validity of this seller, or anything about them for that matter, so please take this as a normal google search and not actual advice.

http://g01.a.alicdn.com/kf/HTB1LmN_JVXXXXcKXFXXq6xXFXXX2/original-samrtphone-parts-Touch-screen-digitizer-panel-sensor-lens-glass-Assembly-for-Snail-Games-font-b.jpg

Inside the picture is the email. I hope it turns out good for ya!

LSS932

Re: SNAIL W3D ALREADY IN STOCK?!
« Reply #247 on: January 11, 2017, 02:32:02 am »
Apparently, it's possible to get the 6.1.2 update on international ROM, using a Chinese 6.1.1 build.prop file (which I got from a previous FlashFire backup). With the 6.1.1 build.prop, the phone will still be able to boot properly, although I haven't tested about potential caveats that could happen because of the differences in the Chinese version and the International version build.prop file. However, beware that one will have to manually reflash the gapps after upgrade as Chinese versions don't ship them.

Iv tried copying the update.zip but been unsuccessful. My device is rooted.
I tried it via renaming, astro browser, ftp, root explorer it simply wont copy. All other files do copy.

Confirmed. Looks like setting SELinux to Permissive (setenforce 0) does not help, either. The file is somehow locked by something (very likely related to OTA or System Upgrade app itself), and any actions on it will fail (like copying or setting permissions from Root Explorer). As for details, from a root adb shell, doing a cp (or using adb pull from the host) resulted in "permission denied" error, and trying to chmod/chown failed silently (wonder if the internal storage has permission support or not, but nothing happened and without any error messages). In any case, the update.zip cannot be accessed by anything.

EDIT: Apparently the update.zip is not accessible from /storage/sdcard1, and has be accessed from its true location, /data/media. From that path the file can be copied.

Seriously, the system has permission issues between the two locations, so while they point to the same place, they're not interchangeable. Aside from this example, another one would be with XInternalSD, permission issues can arise with some (not all) apps when /data/media is used instead of /storage/sdcard1, causing them to crash on start.

For now I'm putting the update on hold by keeping the phone on, until the time I can properly work on it, and do a nandroid backup prior to that. As I currently have CarlivTouchRecovery installed I doubt the update can be done as back then with 78P01 OTA updates can only be done from stock recovery, and as I'm still using the phone for daily activities, I need to be prepared for a "soft brick" where the phone would not get out of recovery (back then it happened on 78p01 with CarlivTouchRecovery as well, where the update cannot be done on 3rd-party recovery and the phone ended up always going to recovery and could not be booted to the system until the update has been properly carried out by flashing the stock recovery using SPFlashTool and do it there).

I'll consider putting the update.zip up somewhere when I have time, and I'll as well check its contents to see if they can be used with SPFlashTool (by substituting the 6.1.1 International ones with the ones from the zip).

EDIT: Put the 6.1.2 update.zip here for anyone who might need it. (on Yandex Disk)
The update.zip is directly flashable only on stock recovery, but beware you'll have to reinstall whatever modification after that (such as GAPPS, Root and Xposed). The update did not automatically happen with CarlivTouchRecovery so I was able to make a nandroid backup to prepare for actually flashing the update, though I'd tweak the images (app.img, system.img) a bit using simg2img first (such as deodexing and removing unwanted stuffs).

For those familiar with SPFlashTool, you should in theory be able to use the 6.1.1 scatter file as a base to flash those. Apparently, the 6.1.2 lk.bin appeared to be identical with the 6.1.1 International one as far as VBinDiff told.

EDIT 2: Just finshed getting the system updated to 6.1.2. Guess all it added is just L2/R2 mapping. Contrary to what they told, the SD card install issue was NOT fixed at least for me. Apps still refuse to install with the SD card present. What a disappointment, despite someone once said it was fixed for them there...

Now I'm quite at a loss with what to do with the issue next. I was looking forward to a solution when I heard someone got it fixed on 6.1.2 but when I finally upgraded it, it turned out not true...

EDIT 3: Here. I think this is the latest ported copy of the CarlivTouchRecovery I'm currently using. The work directories were kinda messy (was testing many configurations until I reached the correct one) that after this many months I kinda forgot which one was the final build so I didn't post it early. Be noted that under CTR the order of internal storage and external storage are reversed. (sdcard/sdcard0 is internal, sdcard1 is external SD card). To flash, use the 6.1.1 International scatter file as the base and flash only the recovery using SPFlashTool.

CAUTION: Looks like CTR would not back up or restore /data/media, which is the phone's internal storage (/storage/sdcard1 under normal boot when SD card is present). This looks like an intended behavior. So be careful when wiping /data, especially when flashing USERDATA with SPFlashTool.

EDIT 4:
What's been working for me was to unmount the SD Card from settings and then install the app. Afterward, you can remount the SD Card and everything is good. I had to do that for a couple of apps. I am still unable to install to external SD, but some apps actually have data on the external SD, such as Soul Calibur, or NBA 2K17, and they work fine.

Somehow this is failing on my side with 6.1.2. I could unmount the SD card, but then I could not mount it back and it leaves an invalid SD card presence (0 bytes, and /sdcard, /storage/sdcard0 then still points to the now unmounted SD card), causing everything to fail and making Play Store complain about not enough external storage. It's even worse as now I have to physically remove the SD to install or upgrade those paid stuffs then insert it back after that... what a pain.
« Last Edit: January 12, 2017, 07:16:03 pm by LSS932 »
L.S.S.

DroidX2

Re: SNAIL W3D ALREADY IN STOCK?!
« Reply #248 on: January 13, 2017, 04:47:40 am »
Thanks LSS932, I just saw this post and downloaded the update right away. Haven't had time to mess with anything as of yet, but it seems like you've done most of the dirty work. So it seems what you're saying is that the SD Card fix that was supposed to be in 6.1.2 actually isn't? I admit, when I downloaded 6.1.2 before, I didn't test the Move to SD feature, so I'm saddened by this news.

You also mentioned that the unmount, install, then remount trick doesn't work on 6.1.2? Did it work with your 6.1.1?
There were some SD Cards that didn't work right with the device that they were talking about on BBS.SNAIL forums, which was causing it to restart randomly. I currently use a SAMSUNG ULTRA 64 GB CLASS 10, and it hasn't caused any issues as mentioned.

However, when you flashed the 6.1.1 firmware, did you leave out anything? I know you mentioned to not highlight "preloader" and "secro" when flashing. I'm not too familiar with what those files contain, but maybe they contained the fix.

Once I get some time, I'll pick around and see what I find. There has to be a fix for it.

Just to make sure I understand, you simply replaced the 6.1.1 international build prop with the Chinese build prop and you were given access to the Chinese update? Are you able to upload the build prop from the Chinese 6.1.1? I would like to examine it.

Also, thank for the Carliv Touch recovery. Haven't flashed it yet, but I'll add that to my to-do list.

LSS932

Re: SNAIL W3D ALREADY IN STOCK?!
« Reply #249 on: January 13, 2017, 12:08:35 pm »
Thanks LSS932, I just saw this post and downloaded the update right away. Haven't had time to mess with anything as of yet, but it seems like you've done most of the dirty work. So it seems what you're saying is that the SD Card fix that was supposed to be in 6.1.2 actually isn't? I admit, when I downloaded 6.1.2 before, I didn't test the Move to SD feature, so I'm saddened by this news.

You also mentioned that the unmount, install, then remount trick doesn't work on 6.1.2? Did it work with your 6.1.1?
There were some SD Cards that didn't work right with the device that they were talking about on BBS.SNAIL forums, which was causing it to restart randomly. I currently use a SAMSUNG ULTRA 64 GB CLASS 10, and it hasn't caused any issues as mentioned.

However, when you flashed the 6.1.1 firmware, did you leave out anything? I know you mentioned to not highlight "preloader" and "secro" when flashing. I'm not too familiar with what those files contain, but maybe they contained the fix.

Once I get some time, I'll pick around and see what I find. There has to be a fix for it.

Just to make sure I understand, you simply replaced the 6.1.1 international build prop with the Chinese build prop and you were given access to the Chinese update? Are you able to upload the build prop from the Chinese 6.1.1? I would like to examine it.

Also, thank for the Carliv Touch recovery. Haven't flashed it yet, but I'll add that to my to-do list.

Yeah, I still wasn't able to install any app that prefers going to the external on 6.1.2 with the SD card present, despite the early comments on it being possibly fixed. Very disappointing.

I haven't tested with 6.1.1 in regards of the unmount issue, but it was happening right now with 6.1.2 and I don't know the exact cause of it. In any case, I wasn't able to unmount the SD card cleanly and has to physically remove the SD card in order to get those apps installed to the internal memory. It may be possible that I was trying to unmount it too early (as I did it the first thing after booting) or that some active apps is still accessing the SD card in meantime, but still, this is a minor issue as I don't usually need to unmount the SD card under most circumstances.

As for random reboots... I could not think of any reproducible causes. I did notice some random shutdowns when trying to leave the lockscreen, and hard freezes when doing multiple stuffs at the same time, but I have only encountered them once or twice, and have not encountered those issues for quite a while since then. I can only assume the phone itself is unstable, as I have noticed random slowdowns (along with significant battery drain during the period as much as 50% within 10 minutes when playing), and unusual battery overheating when charging (so much that the system started to warn me with a strange beep).

Guess the only way is to actually hack into the source code of the system to find if there's a way to make the package installer ignore the installer location setting in the app's manifest so it'll always install to the Internal regardless of what the manifest said, which will bypass the bug. There used to be attempts to disable "forward locking" (which involved asec, the culprit of this phone's app install issue) on XDA, but I was unsuccessful, and despite applying the patch to the smali code, the apps still try to invoke asec to install to the SD card then fail.

I've attached the 6.1.1 build.prop for anyone who might need it (renamed to .txt due to board restrictions). Also, here's a slightly modified boot.img with default.prop and adbd binary replaced with the ones from the 6.1.1 International ENG kernel, whose default.prop and adbd binary contain the things needed to directly start an adb root shell, without having to use adbd Insecure.

I never flashed preloader and secro when flashing any firmware with SPFlashTool, as they're usually not required and are much more risky to flash. Preloader seems to be what the phone boots into when connected without the battery present, to communicate and flash images with SPFlashTool, which can result in hard brick if anything goes wrong. As for secro, I once read it has something to do with baseband and IMEI, and could result in loss of IMEI if anything goes wrong.

The CarlivTouchRecovery will help with restoring gapps and root after trying to update to 6.1.2. But remember you'll have to use the original recovery to apply this and future official update.zip, then flash CarlivTouchRecovery back with SPFlashTool using the 6.1.1 International's scatter file after update then flash the zips needed for gapps (Delta Gapps for 4.4.4 will work nice with W3D and is mostly up-to-date) and root (SuperSU recommended).

As for backing up the original recovery, FlashFire can be used to generate a nandroid backup of your initial system including the recovery (though it requires root). I haven't tried reading back with SPFlashTool but with the 6.1.1 International's scatter file as the base it should be possible and it might be more straightforward to do.

In theory the update can be conducted with the stock recovery shipped with the 6.1.1 International firmware and backing up of the original recovery is not necessarily needed, but in case it does not work, here's the stock recovery that I previously backed up with FlashFire for the 6.1.1 Chinese version that my phone originally shipped with, or you can place the Chinese build.prop in your system (which can defeat the assert that might be responsible for failures).

But anyway, it is actually possible to flash the contents of the update using SPFlashTool by simply placing the images with the ones from the update.zip along with the 6.1.1 International scatter file then load the scatter file to flash them (and only them). This way is straightforward and has no other requirements.

EDIT (FIX FOR APP INSTALL): Finally managed to get the app install issue with microSD card present over with. (UPDATE: If you have not deodexed the ROM, pull both DefaultContainerService.apk and odex then follow the tutorial here instead, while applying the modifications below. The steps below involves APKTool which is only useful when deodexed.)

First, pull the DefaultContainerService.apk from your current system's /system/priv-app, and use APKTool to decompile it to get its smali (need to get the framework-res.apk, mediatek-res.apk and SystemUI.apk from the phone then install them with APKTool before doing any decompilation).

NOTE: You may need to deodex the system apks involved first. For Windows users, you can use the Ultimate MTK Tool to do the job.

Second, from the newly created folder that contains the decompiled stuffs (DefaultContainerService), go to ./smali/com/android/defcontainer/ and find the file DefaultContainerService.smali, open it with a text editor and look for this part:

.method private recommendAppInstallLocation(ILjava/lang/String;IJ)I
    .locals 14
    .param p1, "installLocation"    # I
    .param p2, "archiveFilePath"    # Ljava/lang/String;
    .param p3, "flags"    # I
    .param p4, "threshold"    # J

    .prologue
    .line 688
    const/4 v3, 0x0

    .line 690
    .local v3, "checkBoth":Z
    and-int/lit8 v11, p3, 0x1


Then add the line marked in blue there and save the file. The result should look like this.

.method private recommendAppInstallLocation(ILjava/lang/String;IJ)I
    .locals 14
    .param p1, "installLocation"    # I
    .param p2, "archiveFilePath"    # Ljava/lang/String;
    .param p3, "flags"    # I
    .param p4, "threshold"    # J

    .prologue
    .line 688
    const/4 v3, 0x0

    or-int/lit8 p3, p3, 0x10

    .line 690
    .local v3, "checkBoth":Z
    and-int/lit8 v11, p3, 0x1


Once done, use APKTool to repack the stuffs back into APK, sign and zipalign it, then finally push the resulted new DefaultContainerService.apk file back to the phone and put it back to where it was (/system/priv-app). Replacing the from phone file requires Root and a root-capable file browser like Root Explorer, or using a root adb shell provided by adbd Insecure (or using the ENG kernel). Be sure to do a nandroid backup if possible before doing this, and make sure you get the right permissions set (644 ("rw-r--r--" from Root Explorer), just like the rest of the file).

Actually, what I did is to manually set the flag for "explicitly install to the internal storage" (PackageManager.INSTALL_INTERNAL) when it tries to determine the recommended install location of the app, which overrides the setting in the manifest, before it actually starts checking. This way, the check result will always be PREFER_INTERNAL and therefore the package will always be installed to the internal storage regardless of what the app's manifest said. As no asec container will be created when installing to the internal storage, the bug is effectively bypassed, allowing the installation to succeed.

This hack works for both sideloading and Play Store. Tried a few apps that used to fail, both sideloading and from Play Store, and they now all installed to the internal storage and succeeded. I'm yet to encounter anything broken by this hack but still, please use it at your own risk and be sure to make a backup before attempting this in case of failure. (NOTE: If you're not using external microSD cards at all, you won't need the fix as the phone had no problem installing apps when no microSD card is present in the system)

EDIT 2: Apparently, you can use this guide for modifying the APK while it's still odexed. Simply follow the instructions in the tutorial. (You'll still need to pull your system's framework folder in order to baksmali the odex file) It involves directly baksmali-ing the odex, do the modifications, then smali back to dex, put the newly created dex file back to the APK and zipalign. Be sure to delete the old odex file when you put the new file back to the phone when following that guide.
« Last Edit: January 16, 2017, 12:12:59 pm by LSS932 »
L.S.S.

DroidX2

Re: SNAIL W3D ALREADY IN STOCK?!
« Reply #250 on: January 14, 2017, 08:03:31 pm »
Whoa! Dude you're awesome!!! So basically, the fix allows one to use the device as though it is permanently set to install internally, so on certain app installs, like Angry Birds Go, where it asks to install to SD Card, instead, it will install to internal as if no SD Card is present.

Hmm, well, I could have spent 2 weeks and wouldn't have figured that out. Complete thanks! ;D ;D ;D ;D ;D ;D

By the way, I was trying to find the post on BBS.SNAIL that stated the SD Card fix was in 6.1.2, but couldn't find it. Weird, since in some of my posts I seemed to confirm it, and I wouldn't have said that unless I had a confirmation. But, the site was translated, so I am hoping I didn't read it wrong. If so, I sincerely apologize :( :( . Hopefully, I can find the post so I don't seem crazy. :-[

I'm not a Snail salesman or a fanatic, just an Xperia Play refugee dating its estranged 3rd cousin, lol! And I really like them, I see past the flaws!  ;D

I'll give your work a test run and relay some feedback of how everything works. What's also good is that now that the Chinese firmware is available, any new updates will be accessible.  Hopefully, they will address the concerns in future updates.






LSS932

Re: SNAIL W3D ALREADY IN STOCK?!
« Reply #251 on: January 15, 2017, 02:05:12 am »
Whoa! Dude you're awesome!!! So basically, the fix allows one to use the device as though it is permanently set to install internally, so on certain app installs, like Angry Birds Go, where it asks to install to SD Card, instead, it will install to internal as if no SD Card is present.

Hmm, well, I could have spent 2 weeks and wouldn't have figured that out. Complete thanks! ;D ;D ;D ;D ;D ;D

By the way, I was trying to find the post on BBS.SNAIL that stated the SD Card fix was in 6.1.2, but couldn't find it. Weird, since in some of my posts I seemed to confirm it, and I wouldn't have said that unless I had a confirmation. But, the site was translated, so I am hoping I didn't read it wrong. If so, I sincerely apologize :( :( . Hopefully, I can find the post so I don't seem crazy. :-[

I'm not a Snail salesman or a fanatic, just an Xperia Play refugee dating its estranged 3rd cousin, lol! And I really like them, I see past the flaws!  ;D

I'll give your work a test run and relay some feedback of how everything works. What's also good is that now that the Chinese firmware is available, any new updates will be accessible.  Hopefully, they will address the concerns in future updates.

By the way, I was modifying the DefaultContainerService.apk in its deodexed form, as I used Ultimate MTK Tool under a Windows VM to deodex all the system apps and framework (originally intended to prevent issues with Xposed). I'm not sure if it's possible to hack the apk while it's still odexed, but I think it's safer to deodex it first to avoid potential inconsistencies between the APK and the odex that could prevent the patch from working.

Still, it would be very complicated to explain everything in a simple way and in clear detail as far as how to use each individual tool involved, so I can as much point to what tools used (at least what I used for doing this), as there were many guides and tool packages out there especially on XDA which are what I referred to when I was doing it. But anyway, unless Snail themselves release a proper fix, I can't just let inexperienced users try those patches recklessly and ended up bricking devices because of mistakes. (I'll consider reporting the issue in the Snail BBS as well if I have time, to see whether they can consider fixing it officially for all users as it's quite an annoying problem.)

I intend to fix the posts that mentioned it as well to clear up the confusions... anyway, I've been seeking after the update for months when its news came out on Snail BBS, and that one early updaters said the SD card issue was a system bug and fixed in 6.1.2 (which is the main reason), only to be disappointed when I finally got it installed and found out it wasn't. Maybe I got it wrong (Apparently that post's OP was talking about random reboots after inserting SD card, not necessarily related to the SD card app install issue. Guess the phone indeed has some incompatibilities with certain models of SD cards).

The update actually only changed the KeyAdapter to allow mapping of L2 and R2 as the changelog said, but those two buttons weren't mapped to any keycode so apps won't be able to use them.

Like you, I'm a Xperia Play refugee as well, and have been using that for years until MUCH i5 came out and I felt Xperia Play could not catch up with modern games anymore. I'm using MUCH/Snail's devices mainly as there were no alternatives on the market that satisfied my every need: dual-SIM phone, physical gamepad, and touch mapping.

I know there are several android gaming devices out there, but most recent devices are not for phone purposes (Wi-fi only with no SIM slot, or perhaps with data-only SIM slots). I do admit sometimes phone calls don't mix well with gaming, but that's mostly because the phone is dual-standby, which would cut the data connection if you make or receive calls on the SIM different from the one you use for data, but okay when making or receiving calls on the same SIM you use for data.

EDIT: Check the previous post for a guide for modifying odexed APKs which should be suitable for most people as the phone's firmware is odexed by default.

Also, regarding the L2/R2 issue, looks like its situation is the same as with the right analog stick, only accessible by the KeyAdapter and not available as keycodes elsewhere. Apparently the definitions in the mtk-kpd.kl are the ones actually being used by the device, but I don't think there are corresponding keychars file for it, as I could not eliminate the DPAD_CENTER/BACK fallbacks on BUTTON_A, BUTTON_B, BUTTON_X and BUTTON_Y which might confuse certain games, by modifying Generic.kcm. However, modifying Generic.kcm worked with MUCH i5 back then. (Fallbacks can be seen using aDosBox KeyCode Recorder as it only records the key code but not actually registering the key events, which would stop the fallback from emitting)

I tried decompiling the KeyAdapter.apk with jadx and found reference to the buttons' IDs, but those values turned out completely different, yet KeyAdapter can intercept them regardless of how the buttons were defined in mtk-kpd.kl. Right now, I've set the MOON button (BUTTON_B) to BACK ALT which is what Xperia Play uses for CIRCLE, in order to make that button behave a bit more like BACK in other apps, but it might not 100% replicate the behavior as after all not a real Xperia Play, and games back then check build.prop values to determine if the device is Xperia Play, and only if yes will they treat it as CIRCLE instead of BACK.
« Last Edit: January 17, 2017, 01:42:42 am by LSS932 »
L.S.S.

9BitStrider

Re: SNAIL W3D ALREADY IN STOCK?!
« Reply #252 on: January 17, 2017, 08:03:12 am »
Hello! Thinking about picking one of these up. Is there anything that I need to know or fix before I get one?

DroidX2

Re: SNAIL W3D ALREADY IN STOCK?!
« Reply #253 on: January 19, 2017, 04:29:52 pm »
Whoa! Dude you're awesome!!! So basically, the fix allows one to use the device as though it is permanently set to install internally, so on certain app installs, like Angry Birds Go, where it asks to install to SD Card, instead, it will install to internal as if no SD Card is present.

Hmm, well, I could have spent 2 weeks and wouldn't have figured that out. Complete thanks! ;D ;D ;D ;D ;D ;D

By the way, I was trying to find the post on BBS.SNAIL that stated the SD Card fix was in 6.1.2, but couldn't find it. Weird, since in some of my posts I seemed to confirm it, and I wouldn't have said that unless I had a confirmation. But, the site was translated, so I am hoping I didn't read it wrong. If so, I sincerely apologize :( :( . Hopefully, I can find the post so I don't seem crazy. :-[

I'm not a Snail salesman or a fanatic, just an Xperia Play refugee dating its estranged 3rd cousin, lol! And I really like them, I see past the flaws!  ;D

I'll give your work a test run and relay some feedback of how everything works. What's also good is that now that the Chinese firmware is available, any new updates will be accessible.  Hopefully, they will address the concerns in future updates.

By the way, I was modifying the DefaultContainerService.apk in its deodexed form, as I used Ultimate MTK Tool under a Windows VM to deodex all the system apps and framework (originally intended to prevent issues with Xposed). I'm not sure if it's possible to hack the apk while it's still odexed, but I think it's safer to deodex it first to avoid potential inconsistencies between the APK and the odex that could prevent the patch from working.

Still, it would be very complicated to explain everything in a simple way and in clear detail as far as how to use each individual tool involved, so I can as much point to what tools used (at least what I used for doing this), as there were many guides and tool packages out there especially on XDA which are what I referred to when I was doing it. But anyway, unless Snail themselves release a proper fix, I can't just let inexperienced users try those patches recklessly and ended up bricking devices because of mistakes. (I'll consider reporting the issue in the Snail BBS as well if I have time, to see whether they can consider fixing it officially for all users as it's quite an annoying problem.)

I intend to fix the posts that mentioned it as well to clear up the confusions... anyway, I've been seeking after the update for months when its news came out on Snail BBS, and that one early updaters said the SD card issue was a system bug and fixed in 6.1.2 (which is the main reason), only to be disappointed when I finally got it installed and found out it wasn't. Maybe I got it wrong (Apparently that post's OP was talking about random reboots after inserting SD card, not necessarily related to the SD card app install issue. Guess the phone indeed has some incompatibilities with certain models of SD cards).

The update actually only changed the KeyAdapter to allow mapping of L2 and R2 as the changelog said, but those two buttons weren't mapped to any keycode so apps won't be able to use them.

Like you, I'm a Xperia Play refugee as well, and have been using that for years until MUCH i5 came out and I felt Xperia Play could not catch up with modern games anymore. I'm using MUCH/Snail's devices mainly as there were no alternatives on the market that satisfied my every need: dual-SIM phone, physical gamepad, and touch mapping.

I know there are several android gaming devices out there, but most recent devices are not for phone purposes (Wi-fi only with no SIM slot, or perhaps with data-only SIM slots). I do admit sometimes phone calls don't mix well with gaming, but that's mostly because the phone is dual-standby, which would cut the data connection if you make or receive calls on the SIM different from the one you use for data, but okay when making or receiving calls on the same SIM you use for data.

EDIT: Check the previous post for a guide for modifying odexed APKs which should be suitable for most people as the phone's firmware is odexed by default.

Also, regarding the L2/R2 issue, looks like its situation is the same as with the right analog stick, only accessible by the KeyAdapter and not available as keycodes elsewhere. Apparently the definitions in the mtk-kpd.kl are the ones actually being used by the device, but I don't think there are corresponding keychars file for it, as I could not eliminate the DPAD_CENTER/BACK fallbacks on BUTTON_A, BUTTON_B, BUTTON_X and BUTTON_Y which might confuse certain games, by modifying Generic.kcm. However, modifying Generic.kcm worked with MUCH i5 back then. (Fallbacks can be seen using aDosBox KeyCode Recorder as it only records the key code but not actually registering the key events, which would stop the fallback from emitting)

I tried decompiling the KeyAdapter.apk with jadx and found reference to the buttons' IDs, but those values turned out completely different, yet KeyAdapter can intercept them regardless of how the buttons were defined in mtk-kpd.kl. Right now, I've set the MOON button (BUTTON_B) to BACK ALT which is what Xperia Play uses for CIRCLE, in order to make that button behave a bit more like BACK in other apps, but it might not 100% replicate the behavior as after all not a real Xperia Play, and games back then check build.prop values to determine if the device is Xperia Play, and only if yes will they treat it as CIRCLE instead of BACK.

The keylayout is a confusing mix indeed. Although the best way around it is by using Tincore. L2 and R2 are recognized as analog inputs, but can be used as buttons in games that require them. So far, for the games I play, I haven't had an issue. Certain games have an analog that moves with the finger, so it's hard to emulate when adding the physical buttons, such as the game NOT ALONE.

I think in certain apps, such as the Snail Launcher, the buttons play a larger role in navigation. The biggest issue is that the Analogs and the face buttons are on a different driver, so when games detect one, they don't detect the other, such as with Implosion, or Eliot Quest.

Soul Calibur also had that issue, but I was able to fix it using Tincore by changing the names of the buttons. Like Nielo and I were speaking about before, Null Driver may be the best way, since the confusion with the way certain apps react to the presence of buttons can get confusing. One would have to map the buttons only once, then when the game opens, their mapping is intact. While I've had success with most games I've played, there are a few standouts in which the touch screen controls are so fully implemented, that not using the touch screen is impossible.

I've still been too busy to test out anything. I still have to download a few items honestly, so please keep them hosted. My plan is to first change the build prop to obtain 6.1.2. Then root and apply the SD Card bypass, then Carliv Touch to install G- Apps. From there I can play around and see if anything else may have changed in 6.1.2.

Since you've been using it, is battery life any better?


DroidX2

Re: SNAIL W3D ALREADY IN STOCK?!
« Reply #254 on: January 19, 2017, 04:44:17 pm »
Hello! Thinking about picking one of these up. Is there anything that I need to know or fix before I get one?

Depends really. There are some ups and downs to this device. To me, it's all I have so I deal with it, but some things may be hard to swallow. The device has some strong points on both areas, so it mostly depends on what you are looking to do.

To straightway answer your question, if you want Google Play, you may have to install the International firmware, which isn't hard, but is the first thing that will need fixing.

The second, is to brush up on the use of Tincore Mapper since it is much more versatile than the standard mapper, and some games, (SOUL CALIBUR), will require it to fully map out.

Third, currently there is no way to Move apps to SD (easily at least), and since some apps from the play store default to SD, you may receive an error. I've bypassed this by going to settings to unmount the sd card, redo the install, then remount. According to LSS932, that isn't a full proof way since updating may be an issue. While I haven't experienced an issue with the method, he knows light years more about it than I do, so if I do have an issue, at least would be able to safely put that workaround to rest.

I'll be glad to help if you have anymore questions. The device is my daily driver, so I use it as a phone, and a gaming device.

 

Post a new topic