Related
Original release thread here over at reddit.
Hey guys. This is a project I've been working on for a while.
EMPIO is an application that allows you to fully remap your controller. At the moment, it supports Ouya and wired/wireless PS3 controllers (tested with sixaxis).
The biggest feature of this app is that it allows you to map your controller to TOUCH SCREEN presses - even though there's no touch screen on the console!
Upon launch, you're greeted with a setup activity that gives you some information about the app. The main screen is a 2x3 grid of the applications you have installed. Pressing U brings up the options menu. Pressing Y brings up a basic file browser to install an apk.
Upon selecting an app to run, it checks your license to determine features and also checks if your console is rooted. If it's not rooted, it asks you to return after rooting it. Then it runs the background service.
I might be able to have it root itself in the future but I'd rather not.
The service gets exclusive control over your controller and loads the map file on the internal storage. Once the map is loaded, it interprets whatever your controller is doing and maps it to whatever you specified.
* Current supported controllers:
1. Ouya
2. PS3 Sixaxis wired/wireless
* Future planned controller support:
1. 360
2. wiimote
3. custom
* Features:
1. Map controller to various things
2. Add cycles - a grid of points you can cycle through
3. Multiple sets - set of mappings, includes cycles and button maps
4. Assign a map to be called when pressing a cycle point
5. Assign a map to be called when selecting/cycling to a point
6. Map analog stick to on screen analog - choose center position, radius, and deadzone. Analog stick moves around the center position, up to the radius and stops when the deadzone is reached
7. Set a variable and then retrieve it later
* Current map types:
1. Button/key
2. Touch
3. Callback
* Future planned map types:
1. drag
2. gesture
3. Macro (touch & button)
The free version will allow only key/touch mappings. ie: map buttons to other buttons or touch screen presses.
The paid version will have an on screen map creation tool, will root the console, and allow all other map types as well as any functions (cycle, cycle callbacks, etc)
Full documentation will be available at reddit/r/empio as I have time to add it.
This app is **BETA** as it is not anywhere near "completion".
**note** this requires you to create the mapping file on your computer first. The on screen mapping tool is not setup yet, however it will be one of the next features.
The paid version of the app is $4.99. I'm a student and it's a ton of work doing this on my own, so even if you don't need the pro version I appreciate donations.
If you have any questions, feel free to post them.
EMPIO Subreddit with information: http://reddit.com/r/empio
APK File: - Temporarily removed due to license bug - IF YOU'RE USING IT, DON'T PAY FOR IT. If you do, I'll refund you - the license does not save correctly.
**PLEASE POST ANY BUGS THAT YOU EXPERIENCE**
Thanks for checking it out! I'll have pictures and a video up soon.
cool
thanks buddy! i cant wait to get home to try this!
jaedolla said:
thanks buddy! i cant wait to get home to try this!
Click to expand...
Click to collapse
Let me know what you think! If you have any problems let me know and I'll help you set it up. Documentation is a little lacking since I've been busy with school, but I'll help anyone out with making map files until I have more time to write stuff up
pspkicks316 said:
Let me know what you think! If you have any problems let me know and I'll help you set it up. Documentation is a little lacking since I've been busy with school, but I'll help anyone out with making map files until I have more time to write stuff up
Click to expand...
Click to collapse
Thanks for this app dude...this is awesome, i currently installed the app on my OUYA then when i start the game app it says "Creating controller mapper" then "Staring controller mapper" after that it says SUPERUSER GRANTED TO EMPIO. when the game starts in the bottom left corner it says CURRENT SET: OUYA but it wont do anything...I was wondering if you can please help me map some buttons or give me some instructions on how to use this tool?
Can it allow to use PS3 controllers on games that only use the OUYA controller?
Some apps have this annoying feature that checks for updates automatically and then won't let you use them even though you paid for them until you update. Is this app like that or will it ever be?
This app don't have many features as it is which is a bummer, but it's a good start :good:. I feel like i have to buy the paid version of this app to see what it can offer but not being able to get the free version working or mapped and haven't seen it working yet and the instruction are not very clear is what keeps me from buying the full paid version...
Pkmns said:
Can it allow to use PS3 controllers on games that only use the OUYA controller?
Click to expand...
Click to collapse
Yes, it will by default map the PS3 controller buttons to the standard Ouya ones, allowing it to be used in ANY app or game. However, depending on how the app/game detects the buttons, some tweaking will be needed to get it fully working.
Asadullah said:
Some apps have this annoying feature that checks for updates automatically and then won't let you use them even though you paid for them until you update. Is this app like that or will it ever be?
Click to expand...
Click to collapse
As of right now, since it's not on any market, it can't do this. With that said, I find this annoying too and won't be adding that.
cronikman84 said:
This app don't have many features as it is which is a bummer, but it's a good start :good:. I feel like i have to buy the paid version of this app to see what it can offer but not being able to get the free version working or mapped and haven't seen it working yet and the instruction are not very clear is what keeps me from buying the full paid version...
Click to expand...
Click to collapse
Actually, there's a ton of features. The mapping system is very extensive as it is. The free version will let you play any basic touch app, but if you need anything more advanced then the pro version is needed. Free is just touch/key mappings.
From what you said, the app is working fine. Once you start it, everything should work the same; all buttons work normally. That's because it's using the default Ouya map. You have to create a map for each specific game. I'm currently working on an on-screen mapping utility, but for now you have to do it manually.
To do this, plug your Ouya into your computer and find your app/game's mapping file in /sdcard/Ouya Mappings/package.name.ini
That .ini file is the map for the game. Each game/app has it's own, based on the package name.
If this file isn't there, enable map file auto-create in the settings.
At first, the file will be blank. You can follow the information HERE to start working on your map.
To get your x/y coordinates, you can take screenshots and then use mspaint to get the coordinates of where you want to touch the screen (if you're doing touch mappings). In mspaint, the bottom left corner has the x,y coordinates of the mouse on the picture. Just put those values into your map file when needed.
Let me know what game you're trying to play and I can help you out a bit more.
pspkicks316 said:
Actually, there's a ton of features. The mapping system is very extensive as it is. The free version will let you play any basic touch app, but if you need anything more advanced then the pro version is needed. Free is just touch/key mappings.
From what you said, the app is working fine. Once you start it, everything should work the same; all buttons work normally. That's because it's using the default Ouya map. You have to create a map for each specific game. I'm currently working on an on-screen mapping utility, but for now you have to do it manually.
To do this, plug your Ouya into your computer and find your app/game's mapping file in /sdcard/Ouya Mappings/package.name.ini
That .ini file is the map for the game. Each game/app has it's own, based on the package name.
If this file isn't there, enable map file auto-create in the settings.
At first, the file will be blank. You can follow the information HERE to start working on your map.
To get your x/y coordinates, you can take screenshots and then use mspaint to get the coordinates of where you want to touch the screen (if you're doing touch mappings). In mspaint, the bottom left corner has the x,y coordinates of the mouse on the picture. Just put those values into your map file when needed.
Let me know what game you're trying to play and I can help you out a bit more.
Click to expand...
Click to collapse
i'm trying to play Gangstar Vegas from gameloft, i also want to buy the full version of the app and give it a try, where can i get it from?
Alright everyone, I'm Trailblazer101, an Android Developer who likes to take advantage of, and make better, the unique features of the phones I purchase. I started off with the Samsung Continuum back in 2010, which had a ticker ahead of its time, and went from there. I work 2 jobs, so time is tight sometimes, but I still manage to work on these things, a fun passion/hobby.
Status Updates
Code:
5/12
--- I got my patch working, and tested it out with a simple demo that takes advantage of the new capabilities. I've posted a Guide below!
5/10
--- Now that Verizon users have root, I will begin testing this myself :) Thanks to those who helped me figure out what we'd have to do, so I can get started right off the bat! I'll keep you posted.
What is this?!!
Okay, so by default the Feeds that you can make are restricted to the capabilities of a RemoteView. This severely limits what you can do with the Feed. Take a look here to see what exactly is supported, by default: http://stackoverflow.com/a/16089389
However, any Samsung App (which includes a few signed by Samsung on the Galaxy Apps Exclusives page) has the ability to put whatever it wants on the screen, just like a regular App. I've now extended that invitation on over to you/us!
Guide
The steps to take advantage of this is a little convoluted, so let me break it down for you easy!
STEP 1:
You have to flash my patch to allow this development to actually work. You can download it here: View attachment Trailblazer101_S6Edge_Advanced_Feeds_Patch.zip. Then flash it using FlashFire, or extract the zip and put everything where it needs to go, making sure to set the permissions appropriately!
STEP 2:
Now you can start developing your new Custom Feed! I would suggest using my simple demo project as your base, and going from there! You can find that here: View attachment EdgeScreen-BACKUP.zip. Extract it and take a look at the source!
STEP 3:
From here on out is where things get tricky... Without changing a thing, if you build from source and try to debug, it won't work. Why? Because the API that Samsung gives developers, like us, is different than the one they use for themselves. So Here's what you gotta do-- without changing a thing, build the Project. The best way to do that without debugging within Android Studio is to go to Gradle Projects -> :app -> Tasks -> build -> assembleDebug. This'll make the built apk and put it within "..\.EdgeScreen-BACKUP\app\build\outputs\apk\app-debug.apk".
STEP 4:
I'm assuming you have the latest Java Development Kit, and Android SDK, installed and configured properly, with their paths in the PATH variable, accordingly. You should also know how to use apktool for decompilation, at least a little I've compiled a toolkit folder based off of the test Project I shared above, which includes apktool, the NEW Samsung API files, the original built apk, and the already modified decompiled source/apk. You can download that here: View attachment Decompilation_Data.zip. Then, open a Command Prompt window and "cd" to the extracted folder.
STEP 5:
Decompile the built apk, which should be the same as the one in the extracted folder, using apktool like this:
Code:
.\apktool\apktool d -f TestFeed_orig.apk
STEP 6:
Compare the decompiled folder "TestFeed_orig" with my already modified "TestFeed_modded" one. I suggest using WinMerge! You'll see that the 'TestFeed_orig\smali\com\samsung\android\sdk' folder is very different. That's what I was talking about before, how Samsung Feeds have more options in their API. So delete the 'TestFeed_orig\smali\com\samsung' folder, and replace with the one in the '---SAMSUNG API---' folder.
STEP 7:
Continue comparing the two folders. Basically the rest of the changes are just getting our application to call the new Samsung API properly, instead of the stubs I was using in the Project. There aren't many changes you have to make, but they're all important!
STEP 8:
Once the two folders are the same, recompile it using apktool, like so:
Code:
.\apktool\apktool b TestFeed_orig
STEP 9:
Sign the new compiled apk stored in 'TestFeed_orig\dist' using your signing key. You can make your own, then use it to sign the app, following the instructions here: Official Instructions for Manual Signing.
STEP 10:
Install the newly signed apk, and enable the Feed by going to: Settings-> Edge screen -> Information stream -> Manage Feeds -> *ENABLE* FeedsCocktailExample! You may have to restart, or just hit 'reorder' in the top left. That sometimes fast-triggers it. Now turn off the screen, do the Feed Gesture to get it to turn on, and you should see our Custom Feed! It doesn't look like much, but it's using a custom view, HorizontalTextView, that would not work otherwise.
From here the options are endless. You can follow these steps and my Sample Project to play a video for a feed, if you wanted! Whatever strikes your fancy!
If you followed these steps and appreciate the help, show this thread some love, and maybe. Well i'd say buy me a beer, but it'll probably go to textbooks instead
Developer/Advanced Information!
We can make our own Feeds no problem, without root, they are just forced to use a RemoteView directly, which for all intents and purposes, is a pain in the kiester. Instead, it would be a lot nicer/convenient, without even mentioning the more advanced functionality we could bring, to use our own Views. However the version of SlookCocktailManager.UpdateCocktail that allows this is only found within a more advanced API, one I/no typical user don't have access to directly. BUT, I can still access it by decompiling for example the Edge RSS app from the Samsung AppStore, and putting/replacing the "sdk" folder from that into my own decompiled app, and recompiling. Easy enough, with apktool! (Of course with the headache of adding in my own temporary shell classes, in the project, so that I can actually write the calls, and just change the reference within the smali code once that sdk is replaced) The problem is, even when you do this, and it builds fine, installs great, and even begins initializing properly, we get an error from within CocktailBarService, the file I'm having you replace. More specifically, I tracked down the actual problem, and it comes back to "CocktailWhiteList", a class within CocktailBarServices, then checks the signature of the calling application, our Custom Feed, and sees if it comes from Samsung. This none of my expertise can fix, without being rooted, but trust me I tried. Now that we are rooted I was able to patch said apk, and get my own apps to work! Hurray!
cocktailbar service crashes when going into 'edge screen' option in settings menu.
logcat attached
Edit: sorry didn't rename cocktail bar (cocktailbarservice_signed to cocktailbarservice)
now it doesn't visibly crash, it just wont let me go into 'edge screen' option in settings menu
new log cat uploaded
This man looks promising! You have my S6 edge as soon as I have an official TWRP with working backup and restore
ktetreault14 said:
This man looks promising! You have my S6 edge as soon as I have an official TWRP with working backup and restore
Click to expand...
Click to collapse
I will help as well, when these tools are out for us..
Thanks for bringing cool stuff like this to the phone at this early date!
ktetreault14 said:
This man looks promising! You have my S6 edge as soon as I have an official TWRP with working backup and restore
Click to expand...
Click to collapse
How deep are you willing to go? Because it would be awesome if you could clear dalvik-cache, since I see this, right off the bat:
Code:
: Failed to find OatDexFile for DexFile /system/priv-app/CocktailBarService/CocktailBarService.apk ( canonical path /system/priv-app/CocktailBarService/CocktailBarService.apk) with checksum 0xfbfcb9f7 in OatFile /data/dalvik-cache/arm64/[email protected]@[email protected]@classes.dex
EDIT: could you also make sure that you set the right permissions for the apk? I'm getting the impression that they might be off with:
Code:
msg=audit(1429397519.049:355): auid=4294967295 uid=10001 gid=10001 ses=4294967295 subj=u:r:untrusted_app:s0 pid=12605 comm="ktailbarservice" reason="memory violation" sig=11
EDIT2: We might have to disable SELinux... That's rather unfortunate/puts a rather large damper on things, until custom kernels come out at least... After starting a root shell, can you try:
Code:
setenforce 0
I don't know if it'll work, but if that goes through successfully try and launch the Edge Settings Screen again!
EDIT3: Do'h. It may have been something really simple *crosses fingers* Could you please re-download the CocktailBarService, and try doing the same thing you did last time, with right permissions, and maybe a dalvik-cache wipe if it doesn't work!?
Tried the new apk you uploaded. Getting a force close still when trying to open. I changed SELINUX to permissive, wiped dalvik, even tried deleting arm64 folder as well. No luck.
04-19 00:25:09.907 E/AndroidRuntime(15867): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.samsung.android.app.cocktailbarservice/com.samsung.android.app.cocktailbarservice.settings.EdgeScreenSettingsMain}: java.lang.SecurityException: Permission Denial: get/set setting for user asks to run as user -2 but is calling from user 0; this requires android.permission.INTERACT_ACROSS_USERS_FULL
Was searching through logcat and found this. May this have something to do with the issue?
wase4711 said:
I will help as well, when these tools are out for us..
Thanks for bringing cool stuff like this to the phone at this early date!
Click to expand...
Click to collapse
Don't mean to hijack thread, but "Tool" is already available here:
NB: Chrome and IE don't translate into "Save file" - Use Mozilla which does > copy to phone and flash.
https://blck.io/twrp-2.8.6.0-zeroltetmo.img
Perfectly working on T-Mobile S6 Edge
Will
RoM_Addict said:
Don't mean to hijack thread, but "Tool" is already available here:
NB: Chrome and IE don't translate into "Save file" - Use Mozilla which does > copy to phone and flash.
https://blck.io/twrp-2.8.6.0-zeroltetmo.img
Perfectly working on T-Mobile S6 Edge
Will
Click to expand...
Click to collapse
that version doesn't work properly for me and many others; waiting for an "official" version from the TWRP folks..
trailblazer101 said:
How deep are you willing to go? Because it would be awesome if you could clear dalvik-cache, since I see this, right off the bat:
Code:
: Failed to find OatDexFile for DexFile /system/priv-app/CocktailBarService/CocktailBarService.apk ( canonical path /system/priv-app/CocktailBarService/CocktailBarService.apk) with checksum 0xfbfcb9f7 in OatFile /data/dalvik-cache/arm64/[email protected]@[email protected]@classes.dex
EDIT: could you also make sure that you set the right permissions for the apk? I'm getting the impression that they might be off with:
Code:
msg=audit(1429397519.049:355): auid=4294967295 uid=10001 gid=10001 ses=4294967295 subj=u:r:untrusted_app:s0 pid=12605 comm="ktailbarservice" reason="memory violation" sig=11
EDIT2: We might have to disable SELinux... That's rather unfortunate/puts a rather large damper on things, until custom kernels come out at least... After starting a root shell, can you try:
Code:
setenforce 0
I don't know if it'll work, but if that goes through successfully try and launch the Edge Settings Screen again!
EDIT3: Do'h. It may have been something really simple *crosses fingers* Could you please re-download the CocktailBarService, and try doing the same thing you did last time, with right permissions, and maybe a dalvik-cache wipe if it doesn't work!?
Click to expand...
Click to collapse
Hi trailblazer, I set the permissions the same as the original apk ,
right lets try again: I've downloaded the new version and set permissions, wiped dalvik-cache but when trying to disable SELinux i get
tmp-mksh: 0 : not found.
and when going into 'edge screen' settings i get unfortunsatly cocktailbar service has stopped.
Catlog attached:
I used this to modify SELINUX. For anyone else who is helping out, try this.
[4/19] QuickLaunch Demo And Advanced Feed Development Request For Rooted Users
b-reezy said:
I used this to modify SELINUX. For anyone else who is helping out, try this.
Click to expand...
Click to collapse
I sent you a PM! I explicitly declared that permission for each activity, so let's see how it goes now! I put the same apk I sent you now on the OP, so the other testers can try it! In the mean-time, I do have something real for you guys to play with! It's the QuickLaunch window, customizable and all (from hitting the Feeds Settings Icon). I'll put that in the OP with the tag "WORKS(Kinda)"!
One thing, which is a big reason why I'm trying to do it this way-- clicking the icons launches the app, it just doesn't turn the screen back on! I've tracked it down, and it seems as if when the Feed Screen is on, it has the SCover flag set to on, manually, but when a user clicks a button from another Feed, it turns that flag back off, thus turning the screen back on. The easiest/cleanest way for us to do that too would be our Custom Feed Panel implementing the same OnClickHandler that the others do, just can't without doingwhat we're trying to do!
EDIT: Please still use the QuickLaunch apk with the tag "Signed" though for testing the replacement of CocktailBarService! My new one just does it the bad way, and had to get rid of the code for trying the good.
(There's other ways to turn the screen on, but the way I'm trying to do it does it easily, and allows for more advanced functionality!)
FOR DEVELOPERS:
If you are interested in taking what I have and running with it/collaborating, I am more than willing to send all sources of what I have so far, my resources that I've been using, along with all information gathered so far. Just ask!
Hopefully this will become available for non-rooted. I am DIEING to get more functionality out of the Edge API for this phone. The feed is an awesome option, but having to swiping finger is a pain in the @$$. A double tap on the edge or an automatic turn on would be AWESOME when Texts or missed calls are there.
b-reezy said:
I used this to modify SELINUX. For anyone else who is helping out, try this.
Click to expand...
Click to collapse
BTW.. can be disabled in the kernel source also.. I did that in m8 times
trailblazer101 said:
I sent you a PM! I explicitly declared that permission for each activity, so let's see how it goes now! I put the same apk I sent you now on the OP, so the other testers can try it! In the mean-time, I do have something real for you guys to play with! It's the QuickLaunch window, customizable and all (from hitting the Feeds Settings Icon). I'll put that in the OP with the tag "WORKS(Kinda)"!
One thing, which is a big reason why I'm trying to do it this way-- clicking the icons launches the app, it just doesn't turn the screen back on! I've tracked it down, and it seems as if when the Feed Screen is on, it has the SCover flag set to on, manually, but when a user clicks a button from another Feed, it turns that flag back off, thus turning the screen back on. The easiest/cleanest way for us to do that too would be our Custom Feed Panel implementing the same OnClickHandler that the others do, just can't without doingwhat we're trying to do!
EDIT: Please still use the QuickLaunch apk with the tag "Signed" though for testing the replacement of CocktailBarService! My new one just does it the bad way, and had to get rid of the code for trying the good.
(There's other ways to turn the screen on, but the way I'm trying to do it does it easily, and allows for more advanced functionality!)
FOR DEVELOPERS:
If you are interested in taking what I have and running with it/collaborating, I am more than willing to send all sources of what I have so far, my resources that I've been using, along with all information gathered so far. Just ask!
Click to expand...
Click to collapse
Liking the Quicklaunch app , are you still needing testers? or have you got all the info you need?
Alex-V said:
BTW.. can be disabled in the kernel source also.. I did that in m8 times
Click to expand...
Click to collapse
Exactly and imo its better if its done this way..
for anyone interested
you need to edit the security/selinux/selinuxfs.c file from source
FIND:
Code:
selinux_status_update_setenforce(new_value);
#else
ADD RIGHT BELOW "#else":
Code:
new_value = 0;
So it becomes:
Code:
selinux_status_update_setenforce(new_value);
#else
new_value = 0;
or use this one (from the G925F source)
friedrich420 said:
Exactly and imo its better if its done this way..
for anyone interested
you need to edit the security/selinux/selinuxfs.c file from source
FIND:
Code:
selinux_status_update_setenforce(new_value);
#else
ADD RIGHT BELOW "#else":
Code:
new_value = 0;
So it becomes:
Code:
selinux_status_update_setenforce(new_value);
#else
new_value = 0;
or use this one (from the G925F source)
Click to expand...
Click to collapse
yeah.. that's the one I used.. I'm still for and back to root or not..means for me.. develop roms and kernels ..or use it as it is.. lol..
friedrich420 said:
Exactly and imo its better if its done this way..
for anyone interested
you need to edit the security/selinux/selinuxfs.c file from source
FIND:
Code:
selinux_status_update_setenforce(new_value);
#else
ADD RIGHT BELOW "#else":
Code:
new_value = 0;
So it becomes:
Code:
selinux_status_update_setenforce(new_value);
#else
new_value = 0;
or use this one (from the G925F source)
Click to expand...
Click to collapse
Hii my friend, i also still , have a non rooted S6 Edge :thumbup:
Hey guys, I finished the QuickLaunch Feed and posted it in the Apps Folder here:
Click Me!
I did manage to get it to turn the screen on, then, with the clicking of the shortcuts, and it still launches it once unlocked (if you have a lockscreen). I am going to begin work on a music player Feed, now
I will continue development on more advanced Feeds, and also delve into enhancing the edge in other ways, once we Verizon users get root (or until I win the lottery and get a Sprint version ). I see all these great opportunities to make it better, I just can't do anything with it until I'm rooted, since this didn't go as well as I planned. Where we are stuck at now is this, and where it would be too much of a pain for me to do without a phone of my own to test one:
We need to re-sign the system with a signature key we have access to. This includes framework, apps, and the priv-apps signed with the samsung key. Then I can go about doing what I wanted to do, but otherwise, it's a no go.
A developer who does have a Sprint or T-Mobile version with root, I can tell you the information I gathered so far. I have seen where the 'turn screen on gesture' is stored, and all these other great things, I just can't right now
trailblazer101 said:
Hey guys, I finished the QuickLaunch Feed and posted it in the Apps Folder here:
Click Me!
I did manage to get it to turn the screen on, then, with the clicking of the shortcuts, and it still launches it once unlocked (if you have a lockscreen). I am going to begin work on a music player Feed, now
I will continue development on more advanced Feeds, and also delve into enhancing the edge in other ways, once we Verizon users get root (or until I win the lottery and get a Sprint version ). I see all these great opportunities to make it better, I just can't do anything with it until I'm rooted, since this didn't go as well as I planned. Where we are stuck at now is this, and where it would be too much of a pain for me to do without a phone of my own to test one:
We need to re-sign the system with a signature key we have access to. This includes framework, apps, and the priv-apps signed with the samsung key. Then I can go about doing what I wanted to do, but otherwise, it's a no go.
A developer who does have a Sprint or T-Mobile version with root, I can tell you the information I gathered so far. I have seen where the 'turn screen on gesture' is stored, and all these other great things, I just can't right now
Click to expand...
Click to collapse
very nice.. thanks my friend ?
This is just sounding AWESOME! I am on AT&T so will have to wait as well for Root. I was wondering if there is a possability for the edge to just turn on, on its own without the need to swipe the screen? Like when a new notification comes in it will just scroll across the edge (or maybe the icon will blink on and off until you see it and swipe).
I still feel the swipe is to hard to do consistantly and would rather use a double tap or something if the auto on isn't possible.
Hi everyone!
I just created my first Tasker plug-in. This plug-in enables you to send an adb shell command to any other device on the network that has adb over wifi enabled. I for example use it to turn my androidtv on or off by sending it the command "input keyevent POWER". You can also open specific activities in apps for example or simulate touch input.
Please read the description before using it and don't hesitate to leave feedback/bug reports/tips! This is my first app ever published so I still have a lot to learn.
You can download it for free from the play store:
https://play.google.com/store/apps/details?id=com.ADBPlugin
Edit: It's now also available on XDA Labs! You can find it here
First update is live!
This includes proper (cat)logs and Tasker errors if something went wrong, so if you run in any problems, you can now tell me . It also plays a lot nicer with the Tasker timeout system.
@Humpie
Thanks for this plugin. I allready made a project for my sony android tv. Start apps and controll media play.
But to make the plugin better I have some featur requests:
It would be nice to be able to work with tasker variables. e.g input text "%mytext".
Another feature reqest would be to get a output variable for commands with output like adb shell pm list packages.
MartelKombat said:
@Humpie
Thanks for this plugin. I allready made a project for my sony android tv. Start apps and controll media play.
But to make the plugin better I have some featur requests:
It would be nice to be able to work with tasker variables. e.g input text "%mytext".
Another feature reqest would be to get a output variable for commands with output like adb shell pm list packages.
Click to expand...
Click to collapse
Thanks for the tips! Will definitely add variable support and I'll also have a look at output variables. They are visible in the logs already, but not yet to tasker.
Why can't we use the built-in code Acton in Tasker? Is there a difference?
loogielv said:
Why can't we use the built-in code Acton in Tasker? Is there a difference?
Click to expand...
Click to collapse
In fact there is, since android 4.something google removed adb from android devices, so you can't perform adb commands from your phone, well aside from my plugin that is.
There would however be no difference if your remote device did have Tasker and you programmed it so that a certain action does something with code. However, you would have to figure out a way to contact that device etc...
Second update! The Plugin now has Tasker variable support!
(enjoy @MartelKombat btw I'm still thinking about how to implement your other request!)
I doont understand. I can type the code, but i do have to remove the "adb sell" part of the code but it's good to go… is that not what this plugin does?
Humpie said:
Thanks for the tips! Will definitely add variable support and I'll also have a look at output variables. They are visible in the logs already, but not yet to tasker.
Click to expand...
Click to collapse
Humpie said:
Second update! The Plugin now has Tasker variable support!
(enjoy @MartelKombat btw I'm still thinking about how to implement your other request!)
Click to expand...
Click to collapse
Any news on the output variable? I have high hopes since you mentioned you already see the output in the logs...
Thanks a lot for this plugin! It makes an unrooted phone much easier to control!
How to run root commands on an unrooted device with this plugin
I just wanted to share how I use this plugin, just to give others an example of what this nice plugin is capable of.
Recently, I bought a new device and for now, I have no intention of rooting it. Coming from a rooted OnePlus One, this means some of my Tasker profiles do not work as expected anymore and I have to find workarounds.
On LineageOS (and CyanogenMod before that), we have the option to display left/right cursor arrows in the navigation bar when typing text. I always loved this feature, since placing the cursor in the right position by tapping will always be a hit&miss game. Since my new device (S7 Edge) has no onscreen navigation bar, I was searching for a replacement solution to move the cursor. I came up with the idea that it would be quite handy to use the volume buttons for this. So, the idea was the following:
IF the keyboard is shown THEN use the volume keys to move the cursor (and suppress any volume changes, if possible).
It took me a while to figure out how to determine whether the keyboard is out (solution: install another keyboard and intercept the "change input method" notification as a trigger). Suppressing the volume keys' usual behaviour was easy (AutoInput -> Key Suppress) but the final step turned out to be quite difficult: How to move the cursor?
After doing some extensive research, I always came to the same point: "not possible without root". Damn.
But then, this plugin came in. The keyword "remote" in its name might suggest that you can use this plugin only to act from one device to another, but that's not true. Actually, you can use this plugin to run adb commands on the same device.
What does that mean? It means that you can run an adb shell command like "adb shell input keyevent xy" on your phone WITHOUT ROOT. In my case, I can run "input keyevent 21" and "input keyevent 22" to move the cursor. So, how can we do that?
Prerequisites:
Connect your device via ADB to a PC (google it if you don't know how) and run the command "adb tcpip 5555". That's it, you can disconnect your device now.
Then in Tasker, create an action with this plugin and type in the following:
IP Address: localhost
Port: 5555
ADB Shell Command: input keyevent POWER
Hit the play button to test this action. If you've done everything right, your screen will turn off.
Congrats, you just executed a command on an unrooted device which usually requires root privileges!
Important:
The only downside is, the tcpip setting does not survive a reboot, so you have to set the port 5555 again via PC after rebooting the device.
I hope I explained the important part well enough. If that's not the case, don't hesitate to quote me and I'll answer here.
digitalpig82 said:
Any news on the output variable? I have high hopes since you mentioned you already see the output in the logs...
Thanks a lot for this plugin! It makes an unrooted phone much easier to control!
Click to expand...
Click to collapse
I'm sorry for my absence, really busy with school etc. (honestly, I also completely forgot, I hope you can forgive me). I'll try to look into it soon (this week or the next) and see how far I get. I really like that you like my plugin! I just found out myself last week that I can let unrooted phones send shell commands to themselves using my plugin, so I'm glad to see you found it out as well! (I used it for snapchat to simulate volume key presses, which is also possible without root indeed: https://www.reddit.com/r/tasker/comments/699sav/project_share_handsfree_snapchat_picture_and/ It also works for other camera apps that require you to hold the button to film, like whatsapp etc)
Edit: I hope it pleases you to hear that today I started working on it again. I already have the responses bundled in a list in Java, now I just need to parse them to Tasker
loogielv said:
I doont understand. I can type the code, but i do have to remove the "adb sell" part of the code but it's good to go… is that not what this plugin does?
Click to expand...
Click to collapse
Yes, you have to remove the "adb shell" part since all my plugin does is access the adb shell part. This means commands like adb pull etc won't work, that requires a different type of connection, that for now I can't achieve with Tasker. But running any remote shell command should be fine (like how you would run it if you were directly running the commands from a terminal on your phone)
digitalpig82 said:
I just wanted to share how I use this plugin, just to give others an example of what this nice plugin is capable of.
Recently, I bought a new device and for now, I have no intention of rooting it. Coming from a rooted OnePlus One, this means some of my Tasker profiles do not work as expected anymore and I have to find workarounds.
On LineageOS (and CyanogenMod before that), we have the option to display left/right cursor arrows in the navigation bar when typing text. I always loved this feature, since placing the cursor in the right position by tapping will always be a hit&miss game. Since my new device (S7 Edge) has no onscreen navigation bar, I was searching for a replacement solution to move the cursor. I came up with the idea that it would be quite handy to use the volume buttons for this. So, the idea was the following:
IF the keyboard is shown THEN use the volume keys to move the cursor (and suppress any volume changes, if possible).
It took me a while to figure out how to determine whether the keyboard is out (solution: install another keyboard and intercept the "change input method" notification as a trigger). Suppressing the volume keys' usual behaviour was easy (AutoInput -> Key Suppress) but the final step turned out to be quite difficult: How to move the cursor?
After doing some extensive research, I always came to the same point: "not possible without root". Damn.
But then, this plugin came in. The keyword "remote" in its name might suggest that you can use this plugin only to act from one device to another, but that's not true. Actually, you can use this plugin to run adb commands on the same device.
What does that mean? It means that you can run an adb shell command like "adb shell input keyevent xy" on your phone WITHOUT ROOT. In my case, I can run "input keyevent 21" and "input keyevent 22" to move the cursor. So, how can we do that?
Prerequisites:
Connect your device via ADB to a PC (google it if you don't know how) and run the command "adb tcpip 5555". That's it, you can disconnect your device now.
Then in Tasker, create an action with this plugin and type in the following:
IP Address: localhost
Port: 5555
ADB Shell Command: input keyevent POWER
Hit the play button to test this action. If you've done everything right, your screen will turn off.
Congrats, you just executed a command on an unrooted device which usually requires root privileges!
Important:
The only downside is, the tcpip setting does not survive a reboot, so you have to set the port 5555 again via PC after rebooting the device.
I hope I explained the important part well enough. If that's not the case, don't hesitate to quote me and I'll answer here.
Click to expand...
Click to collapse
So...is it possible to create a version of the plugin that runs locally and doesn't disappear on a reboot?
kenkiller said:
So...is it possible to create a version of the plugin that runs locally and doesn't disappear on a reboot?
Click to expand...
Click to collapse
I would like to be able to create such a think but I don't think Google would allow it since it's a big security flaw to have adb opened to the world at all time without notifying the user. Some devices however have a debug over wifi function hidden in the developer options (like the nvidia shield android tv), there you can just enable it and it will probably survive a reboot.
However what I would advise to do if this option is not available, is to create a .bat file on your desktop containing "adb tcpip 5555". That way after a reboot you can just plug in your phone, click the bat file and be done!
Humpie said:
I would like to be able to create such a think but I don't think Google would allow it since it's a big security flaw to have adb opened to the world at all time without notifying the user. Some devices however have a debug over wifi function hidden in the developer options (like the nvidia shield android tv), there you can just enable it and it will probably survive a reboot.
However what I would advise to do if this option is not available, is to create a .bat file on your desktop containing "adb tcpip 5555". That way after a reboot you can just plug in your phone, click the bat file and be done!
Click to expand...
Click to collapse
Hmm....But there's this custom nav bar app where it allows users to grant it adb shell permissions, and the permission survives over reboots. Auto tools and Securetask relies on the same process as well.
I guess what we're asking for is something that's not as encompassing as your plugin. Me, I just want to execute the power command without root in a way that respects smart lock, which is possible now with your app but doesn't survive a reboot, or with the custom nav bar app, which survives a reboot, but restricts me to using it in a tiny button on the nav bar, as the dev doesn't seem interested in exposing the commands to external usage.
---------- Post added at 07:30 AM ---------- Previous post was at 07:28 AM ----------
We discussed it in this part here....
https://forum.xda-developers.com/an...avigation-bar-customize-t3590967/post72212488
kenkiller said:
Hmm....But there's this custom nav bar app where it allows users to grant it adb shell permissions, and the permission survives over reboots. Auto tools and Securetask relies on the same process as well.
I guess what we're asking for is something that's not as encompassing as your plugin. Me, I just want to execute the power command without root in a way that respects smart lock, which is possible now with your app but doesn't survive a reboot, or with the custom nav bar app, which survives a reboot, but restricts me to using it in a tiny button on the nav bar, as the dev doesn't seem interested in exposing the commands to external usage.
---------- Post added at 07:30 AM ---------- Previous post was at 07:28 AM ----------
We discussed it in this part here....
https://forum.xda-developers.com/an...avigation-bar-customize-t3590967/post72212488
Click to expand...
Click to collapse
It seems this app uses specific android permissions to be able to send events etc. However my plugin has no direct access to the android system (only by using the adb bridge), so granting my plugin these permissions won't help. What however would help is if I could find a way to enable adb over wifi using only some permissions... I have no clue whether this is possible though as the app would have to call service.adb.tcp.port 5555 for itself and that needs root or an adb connection (so it still requires a laptop XD). I'm still trying though.
Humpie said:
It seems this app uses specific android permissions to be able to send events etc. However my plugin has no direct access to the android system (only by using the adb bridge), so granting my plugin these permissions won't help. What however would help is if I could find a way to enable adb over wifi using only some permissions... I have no clue whether this is possible though as the app would have to call service.adb.tcp.port 5555 for itself and that needs root or an adb connection (so it still requires a laptop XD). I'm still trying though.
Click to expand...
Click to collapse
No worries. It's just that it's so close yet so far, heheh.... I guess I'll have to reboot only when home.
kenkiller said:
No worries. It's just that it's so close yet so far, heheh.... I guess I'll have to reboot only when home.
Click to expand...
Click to collapse
I found out it is in fact possible to have wireless adb survive a reboot! However it requires a build.prop edit.
in \system\build.prop "service.adb.tcp.port=5555" needs to be added at the end of the file and then after a reboot adb over wifi will still be enabled (at least it was in my case).
The downside is that this modification can't be done via adb without root unless you have a custom recovery like TWRP and run adb while having that opened and /System/ mounted.
I'm trying to create a zip that modifies the build.prop how it should be modified, but I don't think it's possible to run it through a non-custom recovery...
Edit: I added my .bat file for modifying the build.prop adding that line. It uses an adb connection that requires more rights than what android allows when booted, but should probably work if you are able to access adb from recovery and you are of course booted in recovery mode (using recoveries like TWRP or even some stock manufacturer ones).
Update 4.3 is live!
As requested you can now access the output from the console directly in Tasker.
I tried to order everything neatly in a list, with each line in the console being an item in the list, but this does mean that the initial "device\sdcard $" et cetera get added as an item as well.
But since I didn't want to cut off anything important I just kept it that way. You can just modify the list in any way you want (AutoTools has some handy Array handling tools built in).
I also added some hints in the main screen just for fun.
If you run into any strange behaviour, bugs or have tips, please tell me!
digitalpig82 said:
Any news on the output variable? I have high hopes since you mentioned you already see the output in the logs...
Thanks a lot for this plugin! It makes an unrooted phone much easier to control!
Click to expand...
Click to collapse
Enjoy
Since most people are using my Plugin locally instead of remotely, I'm thinking of renaming it to just 'ADB Shell [Tasker]'. It would make it simpler when googling it. What do you think?
Waze uses celebrity voices for navigation occasionally but they are only available for a limited time.
This was the previous method of getting the voices to work once they were removed from the app: https://www.reddit.com/r/waze/comments/57t2ue/waze_voice_pack_archive/
It seems the old method of downloading a voice then replacing the .mp3 files in the folder now either result in no audio at all or just a glitchy experience.
It would be great to have a module that allows users to replace the voices with one of the old ones.
Here's a list of celebrity recordings in the new .mp3 format vs the reddit archive that uses .bin files: http://www.mikeyip.com/2016/04/celebrity-for-waze.html
Anyone willing to help out the community and make a simple module to do this? I know a lot of people would appreciate it!
Bump
How to get Waze celebrity and other voices back onto your Waze app
Hey, Merry Christmas everybody! I finally cracked the code - I hacked the waze celebrity voices back onto my Waze app!
As most of you have figured out, Waze recently disabled the ability to use whatever voices that you copy into the "sound" folder. With older versions you could do so, but now they just won't play when you choose the folder you dumped the voices into. Instead, you'll be greeted with the frustrating sound of silence anytime you choose that voice in settings. Add to this the annoying fact that new celebrity voices are updated onto your voices menu as a promotional thing, only to be automatically deleted after a certain amount of time, and you'll see why I was this close to downgrading my Waze version just to be able to get whatever voice when I could get it! However, after ages of poking at this I finally figured it out: it's just a simple file flag change.
SHORT/GEEK VERSION
*I'm assuming you're rooted.
*Download whatever celebrity voices you want (the folders and their mp3s) into a desired location on your phone for copying and/or backup
*Using the Waze app, download a useless foreign voice and make a note of the name
*Copy all the mp3s of your desired celebrity voice
*/data/data/com.waze/waze/sound/[The useless foreign voice folder]/Paste (overwrite) the desired celebrity voice mp3s over the mp3s already there
*Long press any mp3 you just pasted in/Select all/3-dot menu icon/"Change SE context"/"Enter context manually"
*Manually type in:
Code:
u:object_r:app_data_file:s0:c512,c768
*Press OK
*Change all mp3 permissions to "rw-------" (0600)
*Rejoice!
THOROUGH/NON-GEEK VERSION:
*I recommend being rooted, since you have to be able to access, copy, and edit Waze system files with a root explorer app. How to root your phone is beyond the scope of this short tutorial. Good luck.
*Using Root Explorer, make a separate folder to hold your downloaded voices wherever you want in your file system (I just made a folder called "Celebrity Voices" within /data/data/com.waze/waze/sound, and Waze doesn't screw with it, but it will delete any other celebrity/promotional folders it wants from the "sound" folder on your next update).
*Download whatever celebrity voice you want onto your phone, and copy/paste it into the folder you just made.
*Now do the following: [your new folder]/long press any mp3 file/3-dot menu icon/"Change SE context". You should see a popup window that has something like this under the file name:
Code:
"Current value: u:object_r:app_data_file:s0" (This is why the files DON'T work)
*Now do the same in your Waze "sound" folder /data/data/com.waze/waze/sound/(Any currently working Waze voice folder like "eng_nathan" or whatever)/long press any mp3 file/3-dot menu icon/"Change SE context". Now you should see something like this:
Code:
"Current value: u:object_r:app_data_file:s0:c512,c768" (This is what the files have to be to work)
*Waze won't allow you to just make your own folders you can choose within the app voice menu, because it's not programmed to (this is why it won't screw with the folder you created- it doesn't know it's there!). So, you'll have to copy your desired voice files into an already existing voice folder that you know you won't use and paste them over its files- something like Serbian or another foreign language you don't speak and know you'll never need. Basically you're hijacking the folder Waze uses and replacing it with voices you want.
*First you have to go get those voices on your phone: Waze app/left swipe screen/gear symbol(preferences or settings)/Voice directions. Choose a voice you know you won't need (Example: I use "Deutsch - Mica" for my Arnold Schwarzenegger voice), and tap it to start downloading. This should take you back to the main screen where you'll see the red text showing you the download progress. Wait until it's finished.
*Now go back to your downloaded voice folder: Long press any mp3/Select all (a little square icon)/COPY
*Go into /data/data/com.waze/waze/sound/[the folder of your new Waze voice you just downloaded]/PASTE (choose "yes" if asked to overwrite existing files).
*Long press any mp3 you just copied over/Select all/3-dot menu icon/"Change SE context"/"Enter context manually"
*Manually type in:
Code:
u:object_r:app_data_file:s0:c512,c768
*Press ok. Watch the magic happen. Congrats, you just "hacked" your Waze voices. And also, you just earned a geek point. Score!
*Double check under the mp3 file names that the permissions are set to "rw-------". If not, do the following: Long press any mp3/Select all/3-dot menu icon/Permissions/Only check "Read" and "Write" next to Owner, and set all others to unchecked/Press OK.
*Now go to Waze and see if your celebrity of choice gives you directions.
NOTES:
*Highly recommended- make a text note somewhere on your phone to keep track of what voices are the same as the celebrity voice you hacked in. Download enough voices and you'll find yourself saying "Dammit, was C3P0 the "Gabriela" voice or the "Shahdan" voice?"
*Create a text file somewhere on your phone with the correct SE Context code pre-written into it so you can copy/paste it into any new voice's SE Context Manual entry line(cause that crap's just a pain in the butt to type out on a phone).
*Don't bother screwing with the SE Context of the files BEFORE you copy them into your Waze "sound" folder, because the copy/paste process breaks the changes and you'll just have to do it over again. This one took me a while to figure out.
*I personally never had to reset my phone- I found I could use my new voices immediately.
*Individual mileage may vary, and the folders may not be labeled exactly as written here. Use your imagination, and good luck.
*Don't worry if you change your mind about someday needing some foreign language as originally provided by Waze that you replaced with Morgan Freeman or something. Who knows, you might want to learn Spanish someday! You can always just delete that folder, go back into Waze, and download it as before, and it will start fresh. Just don't forget to back up Morgan...
*You can manipulate these voices in a sound editor and do whatever you want with them as long as the mp3 filenames stay exactly the same as before. If you're a sound geek this can be way fun.
*Anytime a new voice shows up on your phone, copy and paste it over into your personal celebrity voices folder and label its folder so you can identify it easily later on, because they'll just hijack it away from you when its promotional period is over. Just copy them into another foreign language folder as above and it's yours whenever you want.
*I have tried to find all the voices you can download from other websites, but I know there are others out there. I just received and nabbed Santa Claus ("Coca-Cola shill" version) and Liam Neeson (promotion for "The Commuter") on my phone as well. My all-time favorite: T-Pain...
*I am using:
Samsung Galaxy Note 4 running Lineage OS 14.1
Root Explorer 4.1.6
Waze 4.25.0.2
Merry Christmas, or whatever holiday you celebrate at this time of year!
Regzim
Hi Regzim
I used your method on a rooted phone (which is not mine!) running Kitkat and it worked like a charm.
My own phone isn't rooted and runs Nougat in which there is no access to Waze files. So, I'm looking for a method to use the voice recording feature in Waze on a rooted phone to use an old voice pack and then share it with my non-rooted phone (take a look at this thread)
Any idea?
P.S:
I'm testing a stupid workaround. I installed Waze in Bluestacks and tried to record prompts one by one using stereo mix. The problem is that there's a weird noise on the recordings in Waze. However, there's no noise when I used a voice recording app (Easy Voice Recorder) in Bluestacks.
Do you have any clue why it is so?
Thanks
Making this work on non-rooted phones...
Hi Sedhadi!
Awesome, I'm glad it worked- I was holding my breath wondering if this was a "my phone only" kind of thing or that maybe they changed the file flag differently for different phones or something. :laugh:
Hmmm... making this work on a non-rooted phone? That's a tricky chestnut to crack. I think I've seen that thread before in my quest to figure this out, but it seems like most of those methods they mention are older pre-Waze update methods that don't take the SE context into account and are thus no longer useful to newer Waze versions...
I don't have time to sink my teeth into it thoroughly at the moment, but my mind immediately goes to ADB (Android Debug Bridge) push/pull. Basically it allows you to poke around and manipulate files in your phone through a terminal interface on your computer using command line prompts. I'm not sure off the top of my head whether you need to be rooted to use ADB as well. Ironically I don't have any non-rooted phones around to test this out on, so I can't help you there without a thorough web search. However, I couldn't find anything on how to change SE context using ADB, and since getting this to work hinges completely on the SE context, the prognosis doesn't look good. Do a search for "all things android se android commands" for now and see what you can find, but when I get some free time I'll poke around and check out what I can discover as far as method goes.
Also FWIW, there are some apps out there that root your phone for a limited time, so you may be able to get that going just long enough to manipulate the files as needed, but you'd have to work fast, and have Root Explorer ready to go. Disclaimer: some of the temp root apps can be adware bombs, so caveat emptor...
As for the weird sound, I'd need to hear it to be sure but I'm thinking it may be the normal "noise floor" problems (electronic interference, background noise, crappy mouthpiece, etc.) that come with recording anything using your phone's built-in microphone/mouthpiece. Is it a buzzing, a hiss, or what? For those reasons I'm not a big fan of the "record your own directions" function on Waze, as the sound quality mostly comes out pretty crappy in the end because of the technical limits of the mouthpiece.
Regzim
---------- Post added at 03:24 AM ---------- Previous post was at 03:21 AM ----------
P.S., just realized I didn't know what Bluestacks was until I looked it up- since it's an emulator, you might be getting weird noises because of your COMPUTER'S microphone/ audio input device. What kind of mic do you have?
Regzim
Hi Regzim
Thanks for taking the time to answer.
In that Reddit thread, it was suggested to replace a recorded voice files with a celebrity voice pack instead of doing so to a useless foreign voice. I tested that method and it worked and I could hear the prompts while navigating but the share button didn't activate (which means Waze realized I manipulated the files).
If we find a workaround (like changing SE context (which I tried to pull off on these files as well but failed)), then there will be no need to come up with a solution for non-root phones because we can share the celebrity voice as a recorded voice.
P.S: I didn't use any real mic. I used Stereo Mix (aka What You Hear) feature of Windows. I played the celebrity's voice in VLC and started recording in Waze in Bluestacks. So, no extra noise actually adds up to the source sound. But the result in Waze is awful.
It seems there's something wrong with Waze while recording.
Regards
Another bump. Would love to have an easy solution for non-rooted phones.
Waze voice packs
Did you guys made any progress on this?
I have a non rooted Samsung s8 so I am interested as well. Please find a work around! Thank you.
This is not the right section. It needs to be posted in the module section. However what you're requesting doesn't need Xposed AT ALL.
Is this still working for some?
I downloaded the bottom three voices in Waze and followed the instructions (not for the first time, new phone).
The permissions and SE context are correct, but still no sound.
joekeee said:
Is this still working for some?
I downloaded the bottom three voices in Waze and followed the instructions (not for the first time, new phone).
The permissions and SE context are correct, but still no sound.
Click to expand...
Click to collapse
Still works!
But for me it only works when I choose a language that doesn't contain a _ in the foldername.
Like Croatian, Swedish, Turkish.
Regzim said:
*Long press any mp3 you just pasted in/Select all/3-dot menu icon/"Change SE context"/"Enter context manually"
*Manually type in:
Code:
u:object_r:app_data_file:s0:c512,c768
*Press OK
*Change all mp3 permissions to "rw-------" (0600)
*Rejoice!
Click to expand...
Click to collapse
Thanks for putting this up. I was bummed when they changed it and would love to get celeb voices back. I'm rooted and got up to copying and overwriting the files into the foreign Waze sound folder, but I don't get anything like "Change SE context". I originally copied the files with ES File Explorer and didn't see anything like that, so I specifically tried Root Explorer free version and still no option like that. I also can't see the rw permissions (I CAN see and modify those permissions in ES). Is that something that's only in the paid version?
No "Change SE context" in menu
raulrocks said:
Thanks for putting this up. I was bummed when they changed it and would love to get celeb voices back. I'm rooted and got up to copying and overwriting the files into the foreign Waze sound folder, but I don't get anything like "Change SE context". I originally copied the files with ES File Explorer and didn't see anything like that, so I specifically tried Root Explorer free version and still no option like that. I also can't see the rw permissions (I CAN see and modify those permissions in ES). Is that something that's only in the paid version?
Click to expand...
Click to collapse
Hmmm... I wonder if this is a "my phone/OS only" thing. But this doesn't make sense since the SE context thing is within Root Explorer, not exclusive to my OS. Not quite sure if I've got the free version of Root Explorer (Version 4.1.6) as well, but these options were in my version when I long pressed the files/3-dot menu/Change SE context near the bottom of the drop-down menu. At the time of writing this the free version is up to 4.4.3 FWIW.
Gotta admit I'm flummoxed on this one. There's just too many variables from phone to phone to explore here, but an app is an app - either it has the same menu items on every phone or it's not the same version or app!
Some ideas off the top of my head that may be worth chasing down:
*The free version may not provide the SE context option (to be honest I can't remember whether I am on the free version, or if ages ago I cleverly "got hold" of the paid version if you follow my meaning). Maybe bite the bullet and buy the app (or "get hold" of it somehow)?
*An upgrade to Root Explorer somewhere along the line maybe broke or eliminated this option. This is not out of the question since I read all the time about loyal users *****ing about how their app used to "be perfect" until the latest stupid upgrade changed everything for the worse. I never have this problem since I sideload every app into my phone manually and turn off automatic upgrades on all apps, because I can't stand upgrades breaking and/or ruining perfectly good working apps. Sure, my apps are sometimes a little behind the times, but they freaking work and keep working until I outgrow them or something better comes along. Maybe find version 4.1.6 somehow and see what happens?
Sorry if none of this works and if I can't be of more help than this. Bummed to think only an elite few may be able to do this, because I hate it when software nazis lock up options that allow us users to customize.
Hope you crack this, and please share if you do!
Regzim
Thanks for the additional info, especially the version!
I had installed the first "Root Explorer" that was free, but it has different version numbers. Based on your info it looks like the one you have (by Speed Software) call their pro version Root Explorer and their free version simply Explorer. And yes indeedy do you need to the paid version to view/edit root files. I happened to come across the current version and everything you said fell into place.
Even though it was 3:40 am, ran down to my car (3 flights) and was ELATED and did a happy dance when 3PO said "In 0.1 miles turn left master"!
HOOOOO-raaaaaayyyy!!!! And thanks, triple thumbs up! :good::good::good:
Hi
I rooted my Xperia Z5 (7.1.1) yesterday. This method doesn't seem to be working on my phone. All I get is silence.
Any idea what the problem may be?
Sedhadi said:
Hi
I rooted my Xperia Z5 (7.1.1) yesterday. This method doesn't seem to be working on my phone. All I get is silence.
Any idea what the problem may be?
Click to expand...
Click to collapse
hai,
this method still work for me.
i use 1+5.
Regards
barani kumar said:
hai,
this method still work for me.
i use 1+5.
Regards
Click to expand...
Click to collapse
Hi
What's your Android and Waze version?
Sedhadi said:
Hi
What's your Android and Waze version?
Click to expand...
Click to collapse
Hai
I'm using 1+5 with OOS beta 35 (Pie)
Waze 4.52.3. 4
Im been using this method for long time.
And I do clean install every few month.
So Im very confident this method work for latest ver.
Regards.
Do I have to be rooted to do this?
I have a s8 and can't find the Waze file can someone help
See post #50 for a new user-customizable version, RN Menu 2.0!
*Updated to v. 1.1.1--more accurate placement of menu in landscape*
Version 1.2.1 substitutes FastMode2 for NoRefresh.
This app is a toggle which places a small menu directly below the status bar "reading now" button and extends the function of that button. While the app can be used as a stand-alone toggle, it is best used by reassigning the "reading now" button with Nook Touch ModManager to the app. No function is lost, as the first item on the short menu is "reading now". As currently configured, the menu options are:
1. Reading Now (same as original stock button function)
2. Orientation (a landscape/portrait toggle using Rotation Locker)
3. No Refresh
4. Set Cover (which potentially sets the screensaver image to the current book cover)
See screenshot below.
While the app is not user-configurable (maybe some day, probably not) now that I have produced a template to work with it is reasonably easy to customize and I would entertain requests for specific items--assuming I can figure out how to implement them! There have been other approaches to setting a menu in this position, but they have involved modding jars and have been limited to specific firmwares. This app should run on all firmwares and does not require modification of any jar files. If you don't like it, you just uninstall it and it's over and done with. For me, this project has been a proof of concept and I've learned a lot. Maybe an extended power menu is next?
Requirements
--Rotation Locker (attached below) (required for Orientation option)
--No Refresh Toggle (I am running NoRefreshToggle-debug2, but it may not matter--someone can let me know?)
--Root (required for Set Cover option and for menu itself as of v.1.1.1)
--sqlite3 (available in this post where the screensaver option setup is explained in detail)
--As this is a Tasker-generated app (but does not require Tasker to run!) there is a dependency on two library files normally installed with GApps. If you do not have GApps installed on your device, you can still use this app by copying the two attached files into the locations shown below (the xml file is zipped so you can download it rather than view it):
/system/etc/permissions/com.google.android.maps.xml
/system/framework/com.google.android.maps.jar
Set permissions for both files to rw-r--r-- and reboot. Without these files resident, the app will not install.
---------------------------------------------------
How to use
The best implementation is to reassign the "reading now" button to this app using Nook Touch ModManager. When that is done, tapping on the "reading now" icon will produce the menu and you can make your selection from there. If you inadvertently tap the icon, you can dismiss the menu by tapping again. It's a toggle. Starting with v. 1.1.1, root is required to allow the app to query the current screen orientation. This enables a more accurate placement of the menu in landscape mode.
The screen orientation by default is, of course, Portrait, so the toggle goes immediately to Landscape. Landscape runs as a background service (notification) to lock in the feature since some apps resist the change. Selecting orientation again returns you to Portrait and ends the background service until the next selection. It's also possible to exit Landscape by tapping on the notification. This brings up the three-line menu (invisible text unless you have altered your background image colors). The top option is Portrait.
The first time you select Set Cover you will be asked to allow root access. This part of the app includes shell commands and thus needs root access.
That's it! I'd appreciate bug reports and/or suggestions and welcome requests for customized menus (at least for now!). Enjoy!
@nmyshkin I really appreciate you continuing to develop this wonderful device. Thank you for everything you've done on the NST.
I have a request, if you have time and it's not too much trouble.
1. Reading Now
2. Renate's Temblast Library (which I use as a quick list of what I'm currently reading)
3. Fastmode2
4. Your new USB Audio Toggle
ALinkToTao said:
I have a request, if you have time and it's not too much trouble.
1. Reading Now
2. Renate's Temblast Library (which I use as a quick list of what I'm currently reading)
3. Fastmode2
4. Your new USB Audio Toggle
Click to expand...
Click to collapse
I can do that easily if I know how the library is supposed to work. Is it just sending an intent, starting an app or....?
Also, there's nothing magic about 4 items, so if you want fewer or more, that's doable.
Edit: I've looked at the Library app. Very straightforward tap-and-go. So just let me know if you want any more (or fewer) items and I'll get on it.
nmyshkin said:
I can do that easily if I know how the library is supposed to work. Is it just sending an intent, starting an app or....?
Also, there's nothing magic about 4 items, so if you want fewer or more, that's doable.
Edit: I've looked at the Library app. Very straightforward tap-and-go. So just let me know if you want any more (or fewer) items and I'll get on it.
Click to expand...
Click to collapse
Wow! That's awesome! Yeah, I think those four would be awesome!
Could you also make one with
1. Reading Now
2. Renate's Temblast Library
I have bought and rooted many NST's for friends and having just those two options will be very convenient for them... They aren't really techy, so too many options would just confuse them.
That would be useful for them when I make other NST's. I'm planning on making 3 more, so I think that would be great! The one with 4 options on it, I'd be using personally.
ALinkToTao said:
Wow! That's awesome! Yeah, I think those four would be awesome!
Could you also make one with
1. Reading Now
2. Renate's Temblast Library
I have bought and rooted many NST's for friends and having just those two options will be very convenient for them... They aren't really techy, so too many options would just confuse them.
That would be useful for them when I make other NST's. I'm planning on making 3 more, so I think that would be great! The one with 4 options on it, I'd be using personally.
Click to expand...
Click to collapse
These are the apps you're looking for {waves hand vaguely}.
Thanks so much! I'll put it to use and see how it runs. I'm sure it will be great.
It runs great! I have noticed that this theoretically could be used to have a second quicknav menu. You can activate it also by programming one of the side buttons to show/hide it. Great job!
If someone didn't want to run the launcher, this could save them from using it with their most used apps on this.
@nmyshkin ... thanks ... I would be interested in this app, I wanted to have the default 'reading now' on nook reader ... and a customizable option so i can probable configure some other reading apps and their last read book directly opening when the option is invoked ...
Update
_____________
I tried installing your app from OP for 1.2.1 ... but it did not install ... If its not too much trouble can you make one that runs on 1.2.2 and share the same ?
thank.s
aiamuzz said:
@nmyshkin ... thanks ... I would be interested in this app, I wanted to have the default 'reading now' on nook reader ... and a customizable option so i can probable configure some other reading apps and their last read book directly opening when the option is invoked ...
Update
_____________
I tried installing your app from OP for 1.2.1 ... but it did not install ... If its not too much trouble can you make one that runs on 1.2.2 and share the same ?
thank.s
Click to expand...
Click to collapse
The app should run on FW 1.2.2. If you can't install maybe you forgot to copy the two small dependency files?
nmyshkin said:
/system/etc/permissions/com.google.android.maps.xml
/system/framework/com.google.android.maps.jar
Set permissions for both files to rw-r--r-- and reboot. Without these files resident, the app will not install.
Click to expand...
Click to collapse
Edit: or, did you forget to install Rotation Locker first? Because that app is one of the menu options, it's seen as a dependency and my app will not install if it doesn't see it there.
As I made it, however, the app will not do what you want. It is not programmable by the user. At the time I made it I was just starting out with making apps with Tasker. I suppose it would be possible now to produce an app that is more flexible, but it would not be very user friendly because there is no way to predict what someone might want to do and therefore code would almost certainly need to be sussed out and written in by the user. That doesn't sound like something people would really want. In any case I'm still bogged down in my Dictionary project so.....
If you have a static set of wishes, that would be easier.
In any case I'm still bogged down in my Dictionary project so.....
If you have a static set of wishes, that would be easier.
Click to expand...
Click to collapse
Oh Dictionary project for our Nook Simple Touch and Glowlight ?
Is it interesting ? If so pleas share the link to ...
Static set of wishes ... It has a limitation of 4 buttons only ?
1. Nook continue to the Last read book and position.
2. Amazon app so that will direct the user to the amazon app with the last book open.
3. App Drawer
4. Nook Clear Screen
these would be my 4 if 4 is the limitation ... however if more were to be accommodated then ...
5. File Manager(Root Browser)
6. Statusbar - Glowlight
Would a cleaner implementation for the 5th & 6th options and others separately as an app that can be mapped with NTMM to the Statusbar - Glowlight button(primarily because this part is accessible directly from the book you are reading in the default nook reader, some ting of a quickaccess tiles/lists with the below ...
1. Glowligh & Wifi
2. File Manager(Root Browser)
3.
4.
5.
aiamuzz said:
Oh Dictionary project for our Nook Simple Touch and Glowlight ?
Is it interesting ? If so pleas share the link to ...
Click to expand...
Click to collapse
Not ready yet, but slowly getting there. The app is complete. Still testing to be sure it won't destroy the NST/G. I have a few more dictionaries to complete.
aiamuzz said:
Static set of wishes ... It has a limitation of 4 buttons only ?
Click to expand...
Click to collapse
That's how it is now, but any number of buttons can be added. Do you really want a laundry list?
aiamuzz said:
1. Nook continue to the Last read book and position.
2. Amazon app so that will direct the user to the amazon app with the last book open.
3. App Drawer
4. Nook Clear Screen
these would be my 4 if 4 is the limitation ... however if more were to be accommodated then ...
5. File Manager(Root Browser)
6. Statusbar - Glowlight
Click to expand...
Click to collapse
Mmmm.... See below.
aiamuzz said:
Would a cleaner implementation for the 5th & 6th options and others separately as an app that can be mapped with NTMM to the Statusbar - Glowlight button(primarily because this part is accessible directly from the book you are reading in the default nook reader, some ting of a quickaccess tiles/lists with the below ...
1. Glowligh & Wifi
2. File Manager(Root Browser)
3.
4.
5.
Click to expand...
Click to collapse
So you seem to be describing (kinda) my QuickTiles app. Have you looked at it?
Take a look at that (which includes the Nook Clear Screen option and the Glowlight and WiFi controls, but not a file manager option) and see if that would meet your needs. Modules could be added but I did sort of want to keep it to display/mode functions, rather than turning it into a sort of launcher.
After that, confirm your choices for the ReadingNow menu and I'll see what I can come up with. Not sure about the Kindle app opening to the last book, but the info must be somewhere that could be poked at.
Not ready yet, but slowly getting there. The app is complete. Still testing to be sure it won't destroy the NST/G. I have a few more dictionaries to complete.
Click to expand...
Click to collapse
that's good to know ... its for NST/NSTG ... I just can't seem to part with this device myself ... and you are developing things for it ... can't get any better than that !
After that, confirm your choices for the ReadingNow menu and I'll see what I can come up with. Not sure about the Kindle app opening to the last book, but the info must be somewhere that could be poked at.
Click to expand...
Click to collapse
as far as the kindle app and its last read book is concerned, you don't have to dig deep ... when i read a book on kindle and exit out of the app without hitting the back button ... the app will start with the last book open.
The following sequence/order should be good enough for 4 entries ...
1. App Drawer
2. Nook continue to the Last read book and position.
3. Amazon app so that it will direct the user to the amazon app with the last book open.
4. Nook Clear Screen
thanks for all the help ...
(the xml file is zipped so you can download it rather than view it):
Click to expand...
Click to collapse
I can't seem to extract the xml file from this zip file ... or ... should i just rename the extension to .xml ?
aiamuzz said:
I can't seem to extract the xml file from this zip file ... or ... should i just rename the extension to .xml ?
Click to expand...
Click to collapse
Huh. Wonder how/when that happened? Try it again. I uploaded a new copy and downloaded it to test. Worked fine this time.
nmyshkin said:
Huh. Wonder how/when that happened? Try it again. I uploaded a new copy and downloaded it to test. Worked fine this time
Click to expand...
Click to collapse
No problem ... i was able to download that xml file from one of your other threads whose pre-requisite too was to have these very same 2 files to be present on the device.
I opened your RN app and the drop down did open on the top left book icon ... but this opens only one time ... Does one have to reconfigure using NTMM so it opens every time ?
aiamuzz said:
No problem ... i was able to download that xml file from one of your other threads whose pre-requisite too was to have these very same 2 files to be present on the device.
I opened your RN app and the drop down did open on the top left book icon ... but this opens only one time ... Does one have to reconfigure using NTMM so it opens every time ?
Click to expand...
Click to collapse
I downloaded and installed the apk (1.1.1) from the first post. It runs fine for me. Did you get and approve the SU prompt?
There's nothing special to be done with NTMM other than assign the app to the "reading now" soft button.
Did you by any chance reinstall over a previous installation when you were having trouble? If so, you need to do a complete uninstall before reinstalling on apps like this with toggles. If the toggle variable has been messed up it will stay that way unless you do a fresh install since installing over an existing app of the same version preserves the data (like the state of the toggle variable).
@nmyshkin ... thanks i figured ... Is it just me or the Nook Book Button app seems to be a little quicker(about 2-3 seconds) quicker than your RN app to show the drop down menu on invocation.
Not sure if its just me and my device or its across the board.
Cheers.
aiamuzz said:
@nmyshkin ... thanks i figured ... Is it just me or the Nook Book Button app seems to be a little quicker(about 2-3 seconds) quicker than your RN app to show the drop down menu on invocation.
Not sure if its just me and my device or its across the board.
Cheers.
Click to expand...
Click to collapse
No, it's not just you. I could change it like I did QuickTiles so that it responds more quickly but as I don't use it any longer, I have never revisited it. It would involve an "always on" overlay of the button.
The following sequence/order should be good enough for 4 entries ...
Click to expand...
Click to collapse
1. App Drawer
Click to expand...
Click to collapse
2. Nook continue to the Last read book and position.
Click to expand...
Click to collapse
3. Amazon app so that it will direct the user to the amazon app with the last book open.
Click to expand...
Click to collapse
4. Nook Clear Screen
Click to expand...
Click to collapse
Oh you can make it snappy ? Thanks whenever you find time to work on this request, please do remember to make it fast and responsive ...