[TUT] Remove default launcher on Amazon Fire 8" & 10" (NO ROOT) - Fire HD 8 and HD 10 General

I never finished this, please use Launcher Hijacker v3+ as it works much much better!
EDIT 09/23/16
I finally found a permanent solution to how to change fire launcher on the Amazon Fire without root. It works on any version (FireOS 5.3.1) on any tablet variant (7, HD 8, HD 10 etc...).
You can read the detailed tutorial at http://forum.xda-developers.com/ama...-remove-default-launcher-amazon-fire-t3288310 but basically you run one command, must be done after reboot currently via adb shell:
Noval Launcher on Amazon Fire no-root:
Code:
nohup logcat -c; logcat | grep --line-buffered 'flg=0x10200000 cmp=com.amazon.firelauncher/.Launcher' | while read line; do am start com.teslacoilsw.launcher/.NovaLauncher; done &
That's it. Once you paste that into your adb shell you're done; you now have a default launcher programmatically set via ADB.
Optionally, you can install the modded firelauncher.apk so you can finally delete it without root .
(this is optional, you wont have any launcher after doing this! backup your old APK!!)
Code:
adb install -r -d com.amazon.firelauncher.apk
... as you can now see this will -r reinstall and -d downgrade the launcher, causing it to crash and never open.
Thanks for your support guys, I love android!
EDIT:
I have updated with a new method that is much better, the only negative to this new method is when you hit the home button, for a brief moment you see the firelauncher. Performance, speed, and bugs are perfect.
Just paste this code in adb shell, I'm working on setting up nohup to work with it, when you close adb it will stop working.. Going to bed for now though.
Code:
#!/bin/bash
am monitor | while read -r line; do
if [[ $line == *"firelauncher"* ]]
then
am start [B]com.newlauncher.launcher[/B]
fi
done
I'm new to the whole Android scene, and recently I had acquired an Amazon Fire HD 8. The only complaint about this tablet is the lack of Google Play and the horrible firelauncher. There is currently no root options available for the Fire HD modles 8 & 10, so I have spent the time to develop a temporary workaround.
Please take a quick look at the developmental thread I previously created so we can collaborate to make a more efficient version of this:
http://forum.xda-developers.com/hd8...zon-fire-hd-8-10-remove-firelauncher-t3286646
Disclaimer:
If you plan on installing new applications/packages while this script is running you may have a hard time. Installing packages may take 2-10 minutes, or maybe not at all!
If you experience any problems you can undo everything by running the undo script attatched (unix), or by typing "adb shell ps | grep /system/bin/sh", you will see anywhere from 2-10 processes listed. For each type "adb shell kill -9 <pid>", pid would be the process ID, should be the first number you see on each line.
There is a small chance when you press the home button that it will load the regular firelauncher, do not fret, try again and it will go to whichever launcher you previously selected.
Performance may be slightly altered, if it becomes too bad to use try adjusting the script and change the interval at which it loops (set to 20 by default).
This is an alpha experiment, and I am a noob with Android so please bare with me
This is a noobish approach to disabling the firelauncher (com.amazon.firelauncher.apk), please do not judge it, this is also my first time releasing something for Android.
If you are using a unix operating system (like Linux or Mac), I have compiled a script that does the work for you! Windows users will have to wait and do it manually since I am unfamilar with batch (would someone like to help with this?)
Automatic Tool (easy, linux, mac only)
Step One:
Download the two script attachments:
remove_default_launcher.sh - disables amazon's firelauncher
re-endable_firelauncher(undo).sh - reverts the process, if you have any issues
Step Two:
Run the following commands to make the scripts executable:
Code:
chmod +x remove_default_launcher.sh
chmod +x re-endable_firelauncher(undo).sh
Here is a video showing you how to do this next step:
https://www.youtube.com/watch?v=1IVOa048UbY
Run the tool to remove amazon's nasty launcher!
Code:
./remove_default_launcher.sh
Step Three:
The script should automatically do everything, when it's done, check your Fire. Keep pressing the home button and switching between applications until you get the "Change default launcher" dialogue, make sure you have an alternative launcher installed beforehand or else you won't have a launcher! When it's all working how it should be go to step four!
Step Four:
Simply exit out of your terminal window, do not type anything, just exit ADB. The script will continue running!
This is what a successful window looks like, whenever you have confirmed it is working, close out of the ADB window and end that process.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Manually (harder, windows)
Step One:
Open up a new ADB shell window and type
Code:
adb shell
Step Two:
Once you are in the shell window, simply copy and paste this line of code and press return. It is just a simple bash script that loops the command "install -r -d "/system/priv-app/com.amazon.firelauncher/com.amazon.firelauncher.apk"" which will reinstall the firelauncher repeatedly, which temporary uninstalls it.
Code:
#!/system/bin/sh
nohup
while :
do
kill $!
sleep 1 & pm install -r -d "/system/priv-app/com.amazon.firelauncher/com.amazon.firelauncher.apk" & sleep 20; kill $!
kill $!
done &
exit
#press enter now
After pressing enter, you can watch it go to work, or you can close out of the adb window and unplug your device, it will continue to run until you kill the shell processes or reboot the device. Make sure you have an alternative launcher already installed so it can easily be set as default. EDIT: Reboot may not reset it, which is cool but could be annoying. To turn off this wonderful feature open up adb shell and use "ls | grep shell" and kill using "kill <pid>" all releated processes to /bin/shell or whatever. It may take up to a minute to reset.
If you have any issues at all please comment and I will send you a private message with detailed instructions catered to your specific issue!
If you are a dev, take a look at my unix auto-install script, it may help you figure it out yourself as well. I need someone who understands batch to help me write a windows version .
I literally spent about 45 minutes working on this noobish approach, so if you find bugs or want to modify the script, simply post in the comments your version and why you think it is more efficient. If you want to help make a dedicated and more efficient approach to this, check out the development thread here (there are alternative methods here too):
http://forum.xda-developers.com/hd8...zon-fire-hd-8-10-remove-firelauncher-t3286646
This appears to be a very stable system actually, I recommend everyone does this to the Fire HD tablets!
I hope this helps someone, if this helps you please give me a thanks so I know it

Just tried this on my HD 8. Works like a charm! Haven't noticed much of a performance decrease as I figured would happen. On occasions when I press home it likes to hang at a black screen until I press home again. Other than that its perfect. Thanks!

ZenPowerBuilder said:
Just tried this on my HD 8. Works like a charm! Haven't noticed much of a performance decrease as I figured would happen. On occasions when I press home it likes to hang at a black screen until I press home again. Other than that its perfect. Thanks!
Click to expand...
Click to collapse
I am working on a better version, I have noticed some performance issues that irritate me.. I also made the scripts better much better.
I am glad I was able to help you .

I have updated with a new method that is much better, the only negative to this new method is when you hit the home button, for a brief moment you see the firelauncher. Performance, speed, and bugs are perfect.
Just paste this code in adb shell, I'm working on setting up nohup to work with it, when you close adb it will stop working.. Going to bed for now though.
Code:
#!/bin/bash
am monitor | while read -r line; do
if [[ $line == *"firelauncher"* ]]
then
am start [B]com.newlauncher.launcher[/B]
fi
done

nyln said:
I have updated with a new method that is much better, the only negative to this new method is when you hit the home button, for a brief moment you see the firelauncher. Performance, speed, and bugs are perfect.
Just paste this code in adb shell, I'm working on setting up nohup to work with it, when you close adb it will stop working.. Going to bed for now though.
Code:
#!/bin/bash
am monitor | while read -r line; do
if [[ $line == *"firelauncher"* ]]
then
am start [B]com.newlauncher.launcher[/B]
fi
done
Click to expand...
Click to collapse
Has anyone had any luck finding a way to keep this script running? I am experimenting with Python..

I have not had too much time to work on this, but all the puzzle pieces are here if anyone wants to make a permanent solution.

nyln said:
I have not had too much time to work on this, but all the puzzle pieces are here if anyone wants to make a permanent solution.
Click to expand...
Click to collapse
I have used your manual method and during the execution of this process I could with the command "adb shell pm hide com.amazon.firelauncher" the amazon firelauncher set as permanent hidden. After that I could set the Nova Launcher as a standard launcher. As a substitute for home button (was not working) I set in the "overlays app" the Nova launcher as a foreground application. So I can select the foreground Nova launcher symbol as a home replacement. For me is that a good workaround.

schr01 said:
I have used your manual method and during the execution of this process I could with the command "adb shell pm hide com.amazon.firelauncher" the amazon firelauncher set as permanent hidden. After that I could set the Nova Launcher as a standard launcher. As a substitute for home button (was not working) I set in the "overlays app" the Nova launcher as a foreground application. So I can select the foreground Nova launcher symbol as a home replacement. For me is that a good workaround.
Click to expand...
Click to collapse
The package manager requires root or superuser in order to hide/disable the firelauncher package properly. You probably have the 7" model.

nyln said:
The package manager requires root or superuser in order to hide/disable the firelauncher package properly. You probably have the 7" model.
Click to expand...
Click to collapse
That is true, that the package manager requires root or superuser in order to hide/disable the firelauncher package.
But there must be a "time gap" when there is running in a first adb window (task) the following adb shell script
!/system/bin/sh
nohup
while :
do
kill $!
sleep 1 & pm install -r -d "/system/priv-app/com.amazon.firelauncher/com.amazon.firelauncher.apk" & sleep 20; kill $!
kill $!
done &
exit
and in a second adb window (task) is executed the "adb shell pm hide com.amazon.firelauncher" command.
Remark: I must multiple times repeat this command until I get the "TRUE" confirmation.
I has this done on my HD8 ( 5th generation) model. wiht the firmware 5.1.1.

nyln: awesome job!
now i bought this tablet for my son (6 yrs old) and the "child profiles" suck since they do not allow non amazon apps to be shown there. So having the nova launcher is the next best thing since i can hide the apps i dont want him touching. Problem is this if we are out somewhere and an app crashes the tablet, i have no way to get nova back on.
Is there a way to put this script on the tablet and run it that way?

5.1.4?
It is not working on 5.1.4?

XJimmyCaoQ99X said:
It is not working on 5.1.4?
Click to expand...
Click to collapse
You can downgrade to 5.1.2

@nyln can't wait to try this when i get home, can you install widgets on nova launcher now?
Sent from my HTC 10 using XDA Labs

ahac85 said:
@nyln can't wait to try this when i get home, can you install widgets on nova launcher now?
Sent from my HTC 10 using XDA Labs
Click to expand...
Click to collapse
How it actually works:
First of all, corrupting the firelauncher will prevent your system from loading it, which saves memory and cpu resources on these low-end devices. After that, in order to replace the system launcher I actually just intercept the home activity and allow a launcher of your choice to open. So it's really just a clean hack you won't notice. Only downside currently is the fact that it takes about 100ms for your home button to actually take you to the launcher of your choice.
tldr: It should work perfectly normally with widget.

XJimmyCaoQ99X said:
It is not working on 5.1.4?
Click to expand...
Click to collapse
It works on all versions, including 5.1.4. In fact, this will work on ANY device with ANY operating system. If you have 5.1.4 why don't you just root?

Can someone tell me if this works after reboot?

@nyln when i try to execute the script i get "syntax error: 'while' unmatched"
I saved the script to a file on my fire HD 8 and executed it with sh filename.sh, because with adb shell i pasted the text but i couldn't press enter to execute it. It just entered a new line to the script.
Here is how it looks:

aldileon said:
@nyln when i try to execute the script i get "syntax error: 'while' unmatched"
I saved the script to a file on my fire HD 8 and executed it with sh filename.sh, because with adb shell i pasted the text but i couldn't press enter to execute it. It just entered a new line to the script.
Here is how it looks:
Click to expand...
Click to collapse
The image looks good. You may need unix for this or cygwin.

But as i understood, the script runs on the fire tab? So why should it matter what OS I am pushing the script with? Or why should Unix work better than windows?

I'm not totally naive to the command line, nor to customizing android installations. This is my first experience with the Amazon tablets; I have the Fire HD8 6th-gen. I'm running the 5.3.1.1 firmware. I tried entering the command in the top post, entered into a terminal emulator, and it didn't seem to return anything -- no error, no nothing. Still having the same issue; I can run NovaLauncher and it's fine until I get into a different app or hit home, then it goes back to Amazon's junk launcher... am I doing something wrong in the terminal?

Related

ADB enhanced Putty (replacement for "adb shell" command)

We all know that running "adb shell" from the command line is pretty crap, and when using a latter busybox version which has coloring support it's ultimately crap. One workaround was usually to start a telnet server on the phone, and use putty to connect to that telnet server. Actually there is a more easier way to do that which also works for non rooted phones.
Actually the Android Debug Bridge has a terminal connection feature (roughly speaking), which will be enabled after you connect to the adb server in "0006shell:" mode. You can actually use the putty to connect to this interface always, by setting the following things:
- Turn off line discipline in settings
- Use RAW mode to connect to localhost:5037
- Enter "0012transport-usb" (without quotes)
- Enter "0006shell:" (without quotes)
Now you've got a full fledged connection to your device. The main drawback is that it's tedious to repeat the above all the time, so I've made some modifications to the putty binary that adds a new type of connection, called "Adb"
To use the enhanced putty:
- Select Adb from the connection type list
- Enter "transport-usb" in the host (or any other connection string, check the adb socket interface documentation if you need something else than connecting via usb)
- Enter 5037 as port, if it's not already set there.
- Connect and enjoy (you might also save this connection, so next time you only have to double-click on the settings)
DL and source: http://github.com/sztupy/adbputty/downloads
Screenshot:
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Thanks for this sztupy! I had scripted out connecting to my N1 via putty, but lost the scripts.
I just tried connecting using your tweaked putty, but got an error. Here're a couple screenshots to show how I tried to connect and the issue I had.
Namuna said:
Thanks for this sztupy! I had scripted out connecting to my N1 via putty, but lost the scripts.
I just tried connecting using your tweaked putty, but got an error. Here're a couple screenshots to show how I tried to connect and the issue I had.
Click to expand...
Click to collapse
The only place where it uses gethostbyname is while querying "localhost". I don't know why this fails. (maybe IPv6 related(?)...) I'll replace it to actually use "127.0.0.1"...
Hi there, just go an LG Optimus 2X, and I'm starting to play with it.
But as my linux skill is almost inexistant I do have a hard time
So I wanted to use your alternate putty, mainly for tab-completion, but it doesn't work.
Putty is working, but "tab" is just tabing ...
Read that's a server functionality ==> does it mean that I need to install something on my phone ?
Thx for your time
goulloux said:
Hi there, just go an LG Optimus 2X, and I'm starting to play with it.
But as my linux skill is almost inexistant I do have a hard time
So I wanted to use your alternate putty, mainly for tab-completion, but it doesn't work.
Putty is working, but "tab" is just tabing ...
Read that's a server functionality ==> does it mean that I need to install something on my phone ?
Thx for your time
Click to expand...
Click to collapse
To have auto complete you need to have an auto-complete enabled shell on the phone. The default "sh" shell is very minimal (as usual phone users won't use it), so you need another one. Busybox's "sh" is actually "ash" which has all of the features you need. So to use this feature you have to have busybox installed (which is usually there if you have rooted your phone, or can be installed from market)
If you have busybox installed, then you have to run it's sh with "busybox sh" or "busybox ash". You'll get a new prompt with the new features.
Thanks for adb putty!
How can I configure Home and End keys?
Putty replacement
Hi there,
I don't know how relevant my post is in the context of this thread but I just wanted to let everyone know that I came across a new free terminal "ClearTerminal" which seems to be good.
You can try this one out if you need a replacement for putty or any other terminal.
It's available at clearconnex.com/content/clearterminal
Have a good time
I'm using the modified PuTTY above, which works great if there is only one device connected. Is there a way to specify a device# if you have more than one device connected?
Thanks,
Pretty sweet! How do you get the colors in the session? Mine is black & white only. Running CM7.1.
only colors ?
i think its the same ..
Euclid's Brother said:
I'm using the modified PuTTY above, which works great if there is only one device connected. Is there a way to specify a device# if you have more than one device connected?
Thanks,
Click to expand...
Click to collapse
For anyone interested in using this when multiple devices are connected, here's sztupy's response..
sztupy said:
Yeah it's possible, and if you know the ID's of the devices you can already do it. The "transport-usb" seciotn actually means that connect to the only available usb device. If there are more than one, you have to specify the actual one. Here is the command list: http://lxr.e2g.org/source/system/core/adb/SERVICES.TXT
According to it you have to use the "transport:<serial-number>" command
Click to expand...
Click to collapse
Thanks sztupy!
I don't know what is the problem but whenever i try to connect it just close it self.
Any ideas
[email protected]!n said:
I don't know what is the problem but whenever i try to connect it just close it self.
Any ideas
Click to expand...
Click to collapse
You may need to start the ADB server first. You can do this by running any ADB command such as "adb devices". Then try again your new PUTTY.
d00mz said:
Pretty sweet! How do you get the colors in the session? Mine is black & white only. Running CM7.1.
Click to expand...
Click to collapse
Mine too, it' s like the default command prompt window.
Sweet! Bash runs great with all the glorious ls colors. Thanks for this, sztupy.
mulţumesc!!
sztupy said:
We all know that running "adb shell" from the command line is pretty crap, and when using a latter busybox version which has coloring support it's ultimately crap. One workaround was usually to start a telnet server on the phone, and use putty to connect to that telnet server. Actually there is a more easier way to do that which also works for non rooted phones.
Actually the Android Debug Bridge has a terminal connection feature (roughly speaking), which will be enabled after you connect to the adb server in "0006shell:" mode. You can actually use the putty to connect to this interface always, by setting the following things:
- Turn off line discipline in settings
- Use RAW mode to connect to localhost:5037
- Enter "0012transport-usb" (without quotes)
- Enter "0006shell:" (without quotes)
Now you've got a full fledged connection to your device. The main drawback is that it's tedious to repeat the above all the time, so I've made some modifications to the putty binary that adds a new type of connection, called "Adb"
To use the enhanced putty:
- Select Adb from the connection type list
- Enter "transport-usb" in the host (or any other connection string, check the adb socket interface documentation if you need something else than connecting via usb)
- Enter 5037 as port, if it's not already set there.
- Connect and enjoy (you might also save this connection, so next time you only have to double-click on the settings)
DL and source: http://github.com/sztupy/adbputty/downloads
Screenshot:
Click to expand...
Click to collapse
Command history ?
Very nice tips and patch to putty !
It works great exept on one point :
I can't use command history, with commands I use before login (so during a previous login)
If I connect with adb shell with up arrow I see last commands I send. Not with putty-adb (neither with normal putty with manual 'login')
Can you access to your command history ?
Kytrix.
Kytrix said:
Very nice tips and patch to putty !
It works great exept on one point :
I can't use command history, with commands I use before login (so during a previous login)
If I connect with adb shell with up arrow I see last commands I send. Not with putty-adb (neither with normal putty with manual 'login')
Can you access to your command history ?
Kytrix.
Click to expand...
Click to collapse
That's because the sh on your phone does not support saving of command history. I don't know whether there exists an appropriate sh version for Android that supports this feature.
Now that I have the ADB enhanced Putty, I am annoyed that I have to manually launch the ADB server, so I wrote a batch file to start the ADB server daemon and then lauch Putty directly connected to the Android device. As described earlier, if you want to connect to a specific device, then you'll need to create and connect to a session that explicitly refers to the device ID. In my case I rarely have more than one Android device plugged in at a time, so the following batch file works for me. The session I'm connecting to is named "Android" which is why the command line for Putty uses @Android. If you had multiple connections, you could make this into a parameter and then invoke the shortcut with an argument then you could have a "Tablet" and a "Phone" shortcut. The script will wait until your device is found before launching Putty, so you can run the script and then plug in your phone later if it happens to be unplugged.
RUN-ADB-PUTTY.BAT
Code:
@echo off
cmd /C adb wait-for-device
start "PuTTY" /B "C:\Program Files (x86)\PuTTY\adbputty.exe" @Android
Once I created this file, I then made a shortcut to the script and placed it in my Windows 7 start menu.
New android app
swishman said:
only colors ?
i think its the same ..
Click to expand...
Click to collapse
Hi guys,
can you take a look at the new android app here :
http://forum.xda-developers.com/showthread.php?p=32619680
Thanks

[APP][2.2+][24 Jul - v0.11] CommandCenter the power of shell without the terminal

Have you ever dreamed of an app to execute your favorite shell commands, whether it is for collection dmesg/logcat/dumpsys or set kernel parameters.
Well here comes CommandCenter, a generic app for grouping all your favorite commands.
CommandCenter is free with ads and can be downloaded from the Google Play (please be patient, it takes a while to update as I just published)
It is also open source and your can check my repo to inspect / review the code.
If you are a kernel developer you may want to provide a tool for your users to run certain commands without havint to maintain an app for that; if yes just submit a Command Set and have your users download it.
If you are a poweruser there are commands that you use all the time, wither from adb shell or in the terminal. Make one or multiple Command Set and enjoy the comfort of an Android app and the power of your favorite commands.
From version 0.10 a Locale / Tasker Plugin was added to execute command from actions.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
How it works
The command sets are stored of the sdcard in the app's private folder /sdcard/Android/data/com.asksven.commandcenter/files in the form of json files. On load the files are parsed and each file (Command Set) shown as a tab.
A single click on a Command displays its details, a long click pops up a dialog from where you can run the command (this is configurable in the preferences).
A command has two parts:
- the command to be executed itself: it may contain a variable and in that case a popup will ask for the value to be used
- an optional command to retrieve a status: if a status can be read it will be displayed
CommandCenter comes with two pre-configured Command Sets:
- general commands for logging / diagnosis
- a few command for Fracisco Franco's awsome GN kernel
Want to contribute?
If you want to create and distribute command set just drop me a PM. I would be happy to give you more details about the syntax of the command sets and there is a section in this thread to list authored Command Sets. I may also add some to the Market app.
Caution
Always check the command's before running them. CommandCenter support 'su' command and you should know what you do as those could harm your phone. I will not take any responsibility for any dammage caused by command run using CommandCenter
Contact
You can contact me here (PM, this thread) or on twitter
Release Notes
v0.11.0 2012-07-24
Major fix: added synchronization to avoid freeze conditions
#24: "refresh" reads changes on command collections from the external storage
#26, #27, #28: different error conditions from reports
v0.10.1 2012-05-06
#15: samples scripts were being re-created on every start instead of once at first install
#14: FC when turning to portrait
#16: FC when number of result lines for a command < 5
#17: Various FC conditions from google play logs
#21: error in one script should not cause the other not to load
v0.9.0 2012-03-10
Solved stability issues (threaded processing)
Tablet support
#8: new command dialog layout
v0.8.0 2012-02-24
#4 Popup menu was called "edit"
#5 added support for user defined and editable commands
#6 added support for commands returning data
v0.7.2 2012-02-12
#2: dumpsys missing su, and logcat files have zero-length
#3: A few issues with backward compat to Android 2.1/2.2 fixed
v0.7.1 2012-02-11
#1: fixed Android 2.1 compatibility issue
v0.7 2012-02-11 Initial release
Command Sets
If you want to create command set for CommandCenter please read this
FAQ
For future use
sounds quite nice, can't wait to try. Have been using Tasker + Secure Settings for that so far, let's see how it compares.
V0.7.1
Fixed a minor issue with Android 2.1 (getExternalFilesDir does not exist on Eclair)
When I try and dump logcat radio or logcat it creates the file but it's blank. Also when I dump alarms the file reads Permission Denial: can't dump AlarmManager from pid=5637, uid=10128. ComandCenter never ask for SU Permissions. I ran the dump alarms with su permission from the terminal and it worked fine. HTC Inspire running ICS.
harpo1 said:
When I try and dump logcat radio or logcat it creates the file but it's blank. Also when I dump alarms the file reads Permission Denial: can't dump AlarmManager from pid=5637, uid=10128. ComandCenter never ask for SU Permissions. I ran the dump alarms with su permission from the terminal and it worked fine. HTC Inspire running ICS.
Click to expand...
Click to collapse
Ok the alarm dump is fixed, it was a definition error in the command set (dumpsys did not require su).
Testing the other commands now on rooted and unrooted device
V0.7.2
Fix-Release is rolling out, see post #2 for release notes.
I did quite a lot of testing on 2.1, 2.2, 2.3 and 4 devices with and without root and I hope the fixes work for everyone.
chamonix said:
Fix-Release is rolling out, see post #2 for release notes.
I did quite a lot of testing on 2.1, 2.2, 2.3 and 4 devices with and without root and I hope the fixes work for everyone.
Click to expand...
Click to collapse
Thanks for fixing this so fast. Everything is working perfectly now. Great app.
Another great release from chamonix
I have been looking for an app like this..so thank you very much. Now I'll start study it to take full advantage from it
Sent from my sandwiched SGS
It's time to collect some feature requests and build some use cases. Do you guys have suggestions for feature or know a kernel dev who has no time to write a sexy "settings" app. I'd be happy to provide the command sets while finalizing the schema aiming at making it public for contributors
Should it be possible to add or modify the command sets? I don't seem to be able to do either. In Edit mode, my soft keyboard never open and I don't see any option to create a new command set. Maybe I'm just not looking in the right place?
This is on a Samsung Galaxy Nexus running a rooted AOSP ICS.
short/y said:
Should it be possible to add or modify the command sets? I don't seem to be able to do either. In Edit mode, my soft keyboard never open and I don't see any option to create a new command set. Maybe I'm just not looking in the right place?
This is on a Samsung Galaxy Nexus running a rooted AOSP ICS.
Click to expand...
Click to collapse
In fact the is no way of editing the commands from within the app. I have been thinking about that a lot and the functionality itselt is not the problem (it occurs to me that the popup menu is named "edit" and this is of course not correct).
The reason I did not provide edition of commands within the app is that I want to offer a distribution channel for authors to update their command sets. Those updates would overwrite the local changes.
What you can do to edit the commands is edit the json files located on the sdcard in Android/data/com.asksven.commandcenter/files (one file per command set).
Do you feel the need to have "local" commands as well that could be edited from the app and stored in a local database?
chamonix said:
In fact the is no way of editing the commands from within the app. I have been thinking about that a lot and the functionality itselt is not the problem (it occurs to me that the popup menu is named "edit" and this is of course not correct).
The reason I did not provide edition of commands within the app is that I want to offer a distribution channel for authors to update their command sets. Those updates would overwrite the local changes.
What you can do to edit the commands is edit the json files located on the sdcard in Android/data/com.asksven.commandcenter/files (one file per command set).
Do you feel the need to have "local" commands as well that could be edited from the app and stored in a local database?
Click to expand...
Click to collapse
Local commands would be handy also you can do generics for brand htc Samsung etc as the kernels tend to have commands in the same spot, also a log viewer would be cool but they are. Readily avaliable
Sent from my HTC Evo 3D using Tapatalk
Auto upload to paste bin would be sick and the ability to email to dev as well as adding the kernel version to the file name
Sent from my HTC Evo 3D using Tapatalk
chamonix said:
In fact the is no way of editing the commands from within the app. I have been thinking about that a lot and the functionality itselt is not the problem (it occurs to me that the popup menu is named "edit" and this is of course not correct).
The reason I did not provide edition of commands within the app is that I want to offer a distribution channel for authors to update their command sets. Those updates would overwrite the local changes.
What you can do to edit the commands is edit the json files located on the sdcard in Android/data/com.asksven.commandcenter/files (one file per command set).
Do you feel the need to have "local" commands as well that could be edited from the app and stored in a local database?
Click to expand...
Click to collapse
Yes, I'd like to have that. I can think of a few I'd like to have NOW as opposed to waiting for someone to come up with them
Code:
df -h /sdcard
df -h
ls -lrt /mnt/sdcard | tail
ls -lrt /sdcard/Download | tail
ping www.google.com
ifconfig lte_rmnet1
netstat -rn
netstat -l
netstat | grep CLOSE
uptime
And probably few others that I could come up with once I really thought about it. Why not have "protected" command sets which are updated thru the app or Market and "user" or, as you call them, "local"?
First of all, thanks for develop another great application.
I concur that having the possibility to add commands is really a 'must have'. Of course, if we are thinking about to create commands, this means all of us have already a terminal app installed to run them, but the purpose of this app is to make life easier for having our favorite commands ready to execute. Many of these commands are possibly a small subset of common ones, but even with that, I probably prefer to redirect the output to a diffferent place that abother user using the same command. So having a 'user tab' to be able to add, edit and delete commands (also maybe copy a command from other tab) will be very useful.
Anyway, congrats for comming up with this useful app.
short/y said:
Yes, I'd like to have that. I can think of a few I'd like to have NOW as opposed to waiting for someone to come up with them
Code:
df -h /sdcard
df -h
ls -lrt /mnt/sdcard | tail
ls -lrt /sdcard/Download | tail
ping www.google.com
ifconfig lte_rmnet1
netstat -rn
netstat -l
netstat | grep CLOSE
uptime
And probably few others that I could come up with once I really thought about it. Why not have "protected" command sets which are updated thru the app or Market and "user" or, as you call them, "local"?
Click to expand...
Click to collapse
One question about those commands: some of them return results that will not fit on one line and so would not fit in the space reserved for the status (lower line in the list).
How would you like to display the result?
- as a popup when running the command
- as a multi line status field 'growing' when required and updating automatically
pp1276 said:
First of all, thanks for develop another great application.
I concur that having the possibility to add commands is really a 'must have'. Of course, if we are thinking about to create commands, this means all of us have already a terminal app installed to run them, but the purpose of this app is to make life easier for having our favorite commands ready to execute. Many of these commands are possibly a small subset of common ones, but even with that, I probably prefer to redirect the output to a diffferent place that abother user using the same command. So having a 'user tab' to be able to add, edit and delete commands (also maybe copy a command from other tab) will be very useful.
Anyway, congrats for comming up with this useful app.
Click to expand...
Click to collapse
I am convinced: https://github.com/asksven/CommandCenter/issues/5

[SCRIPT][1.6+][WHATSAPP][14/11/08] Disable sending read-receipts for WhatsApp msgs

Shell script to disable read receipts for all your incoming Whatsapp messages
Even "better": Others won't see whether you've already read their message(s) or not. However, you will still be able to see the read receipts of others!
Code:
################################################################################
#
# Shell script to disable read receipts for all incoming Whatsapp messages.
#
# [ ANDROID AND ROOT ONLY ! ]
#
# Author: Stephan Schmitz <[email protected]>
# Source: https://gist.github.com/eyecatchup/9af90363732801b131bf
# Last Updated: 09. Nov 2014
#
# ABOUT
#
# You don't like that everyone in your Whatsapp contact list is now able to see
# whether you've already read their latest message(s) or not? Then feel free to
# use the following "work-around" that I found to disable sending read receipts
# globally. Once patched, whenever you get new messages, the senders will never
# see the 2 check marks in blue. They'll just stay gray, just like it was until
# recently. Well, almost. Because you'll still be able to see whether your chat
# partners have already read the messages you sent to them. ;)
#
# DESCRIPTION
#
# In early Nov. 2014, Whatsapp added a new "feature" - read receipts. It means,
# your chat partners will get a visual feedback (2 blue check marks) as soon as
# you've read their message(s).
#
# Unfortunately, Whatsapp's dev team forgot to implement a corresponding privacy
# setting for users to be able to turn off this feature. However, fortunately, I
# found it was fairly simple to disable the feature, since it is set in a public
# XML file in Whatsapp's app data directory.
#
# This script shall serve as a convenient wrapper for those Android users who do
# not live in userland - as well as for the lazy ones.
#
# PRE-REQUIREMENT
#
# Basically, all it needs is a working `sed` commandline utily in path.
# If you should not have "Busybox" installed yet, choose one of the available
# "Busybox" installer apps from Google Play Store and let it install busybox.
#
# USAGE
#
# - Save this script to your phone's sdcard as disable_whatsapp_read_receipts.sh
# - Open a terminal session on your device
# E.g. https://play.google.com/store/apps/details?id=jackpal.androidterm
# - In the console, login as root (type su, hit enter) and type:
# sh /sdcard/disable_whatsapp_read_receipts.sh
# (adjust the path, if required, to fit your's!)
# - Hit the enter button. Done. (Whatsapp will restart afterwards)
#
# If you get any error message a) make sure the /data partition is mounted /w rw
# permissions and b), if the permission for restarting WA is denied, 1st try to
# uncomment the last line of this script (append hash char "#" (without quotes))
# and run the again. Otherwise, consult me for help here:
# http://forum.xda-developers.com/android/development/script-disable-whatsapp-read-receipts-t2933467
#
# IMPORTANT NOTE
#
# The last successful test for this was run at 09. Nov. 2014 and on the Whatsapp
# Android version 2.11.399 and 2.11.432 only. Even though it should work for all
# Android versions, it was not tested. Also, Whatsapp might change their current
# implementation any time soon. So this work-around might stop working any time
# soon too. Keep that in mind!
#
################################################################################
Download
NOTE: This script requires the "sed" command line utily (ie "busybox") installed on the system, which pre-requires a rooted device!
NOTE: The gist requires an update, which I'll post tomorrow. For further details and a manual workaround see my post here: http://forum.xda-developers.com/showpost.php?p=56640205&postcount=9
External link to gist.github.com (see the inline comments for further instructions): http://goo.gl/EiOvO0
Download, run, done. Enjoy. Whatever.
PS: For those who understand German, here're some screenshots of testing this " hack". As you can see, my chat partners can't see the read status. http://imgur.com/a/kzQs3
Nice trick!
However, I've noticed that the preferences .XML files are reset to the original values once the application relaunches. So, basically, the changes do not stick.
Any workaround on this?
smartxdev said:
Nice trick!
However, I've noticed that the preferences .XML files are reset to the original values once the application relaunches. So, basically, the changes do not stick.
Any workaround on this?
Click to expand...
Click to collapse
That's kind of odd, since the script explictly restarts the Whatsapp package *after* applying the changes to the prefs xml. Which then, in turn, should result in no result at all (assuming a restart rewrites the xml), right!? But it does work. Now, the first question would be how you define restart (activity (re)launch, package force && start)?
Update: Just checked it and you're right. If I use the -S option on the am start call (to force stop Whatsapp before (re)starting the activity), running script has no effect at all - since the XML is being recreated. And that also means, that the change will gets lost with every device reboot.
The easiest solution I see here, to have a "permanent" effect, to wrap the script in a plain simple app and attach it an onboot service. (Also, looking at #4, some further checks should be added.) If Whatsapp will leave this current implementation of defining whether to send read receipts or not, I'll invest the time into an app version, I think. (Just don't want to have too much hustle with it. So want to wait whether it's worth to spend more time on this.) Thoughts?
hi, i have this problem:
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
can you fix it?
Dj Mauro said:
hi, i have this problem:
can you fix it?
Click to expand...
Click to collapse
I had permission error too.
In the terminal, try to first run "su" command (without the quotation marks), it will obtain root permissions for the terminal.
Then run the actual command. That solved the permission error for me.
Bexton said:
That's kind of odd, since the script explictly restarts the Whatsapp package *after* applying the changes to the prefs xml. Which then, in turn, should result in no result at all (assuming a restart rewrites the xml), right!? But it does work. Now, the first question would be how you define restart (activity (re)launch, package force && start)?
Click to expand...
Click to collapse
Actually it never worked for me (I mean, script ran successfully, but i have no success in disabling the "read recipient" when i tested it).
Then, I tried to do it manually:
- make a backup copy of the target file (/data/data/com.whatsapp/shared_prefs/com.whatsapp_preferences.xml)
- and then set: "read_receipts" to value="0" in the original file
- save it
- and when i open whatsapp app again, the XML file is restored to the older values, and the "backup" copy gets erased.
And for the "restart" question, i tried the following:
1 - swipe the app away from the recents, make XML modifications, and relaunch
2 - kill the app, make XML modifications, and run it again
I also tried to set XML file permissions to read-only, but it still was replaced by original config. once i opened the app.
-----
I was thinking about another workaround:
Since the read receipt (and delivery too) is usually done by transmitting a small message by the application, back to the sender, once the conversation window is opened.
It may be possible to just block this outgoing communication on your side by XPrivacy.
But, i have yet to hunt down the specific permission/address to block, without crippling the app..
Dj Mauro said:
hi, i have this problem:
snip
can you fix it?
Click to expand...
Click to collapse
As a quick fix, this should work for you:
1.) Add the following line above the line with the sed command:
Code:
mount -o rw,remount /data
2.) Change the last line of the script to the following (if it still compains replace the user id value in the command with that from the error message. and if it still complains, it might even work when you just comment out the line):
Code:
echo `am start --user -2 -n com.whatsapp/com.whatsapp.Conversation`
3.) Back in the console again, login as root (su, enter) and run the script.
Let me know if it worked.
As said in my update to post #3, I'll probably add some automatisms for such issues soon.
Bexton Tnx !
how about an xposed module?
smartxdev said:
I had permission error too.
In the terminal, try to first run "su" command (without the quotation marks), it will obtain root permissions for the terminal.
Then run the actual command. That solved the permission error for me.
Click to expand...
Click to collapse
Yeah, recognized already that I completely forgot to mention that at all (to run the script as root). I updated the inline instructions accordingly.
smartxdev said:
Actually it never worked for me (I mean, script ran successfully, but i have no success in disabling the "read recipient" when i tested it).
Then, I tried to do it manually:
- make a backup copy of the target file (/data/data/com.whatsapp/shared_prefs/com.whatsapp_preferences.xml)
- and then set: "read_receipts" to value="0" in the original file
- save it
- and when i open whatsapp app again, the XML file is restored to the older values, and the "backup" copy gets erased.
And for the "restart" question, i tried the following:
1 - swipe the app away from the recents, make XML modifications, and relaunch
2 - kill the app, make XML modifications, and run it again
I also tried to set XML file permissions to read-only, but it still was replaced by original config. once i opened the app.
Click to expand...
Click to collapse
Sheesh. Okay, I think I got what's wrong here.
As far as I understood, you didn't even got to the point where the file
Code:
/data/data/com.whatsapp/shared_prefs/com.whatsapp_preferences.xml
stored the modified value, correct?
When I was looking at your manual procedure I recognized a small but probably crucial difference! Let's have a look at it. My initial, manual approach was:
# Login as root
Code:
[email protected]> [B]adb shell[/B]
[email protected]:/ $ [B]su[/B]
# Copy the original prefs xml file to /sdcard/.
# NOTE: We use cp as root user, but with the --preserve switch to copy a file owned by Whatapp's OS user.
Code:
[email protected]:/ # [B]cp -p /data/data/com.whatsapp/shared_prefs/com.whatsapp_preferences.xml /sdcard/[/B]
# So, at this point, the copied file /sdcard/com.whatsapp_preferences.xml is still owned by Whatapp's OS user.
# Now, my last 2 steps were to modify the read-receipts settings value in /sdcard/com.whatsapp_preferences.xml and copy back the modified file to its original location, which I did as follows:
Code:
[email protected]:/ # [B]sed -i'.bak' 's/^.*\bread_receipts\b.*$/ <long name="read_receipts" value="0" \/>/g' /sdcard/com.whatsapp_preferences.xml[/B]
[email protected]:/ # [B]cp -p /sdcard/com.whatsapp_preferences.xml /data/data/com.whatsapp/shared_prefs/[/B]
So all together, this was:
Code:
[email protected]> [B]adb shell[/B]
[email protected]:/ $ [B]su[/B]
[email protected]:/ # [B]cp -p /data/data/com.whatsapp/shared_prefs/com.whatsapp_preferences.xml /sdcard/[/B]
[email protected]:/ # [B]sed -i'.bak' 's/^.*\bread_receipts\b.*$/ <long name="read_receipts" value="0" \/>/g' /sdcard/com.whatsapp_preferences.xml[/B]
[email protected]:/ # [B]cp -fp /sdcard/com.whatsapp_preferences.xml /data/data/com.whatsapp/shared_prefs/[/B]
So what happened with the last 2 commands that made it work for me, but breaks in the script version?
The core problem here is, as I just learned, that GNU sed's -i extension does not actually edit files in place (--in-place is a misnomer, in my opinion); it creates a temp file, deletes the original file, then renames the temp to the name of the original. The result is a new file - much possibly with a different owner.
So in my manual procedure, the result of the sed command worked fine except for the fact that it changed ownership on all the files it went through. The only problem is that these files (or at least the backup file) were owned by the root user - the user I run the command as. However, then I used the -f switch (to force overwrite) and the -p switch (to preserve permission, ownership and timestamps) to copy back the prefs file from /sdcard/ back to its original location in the Whatsapp data folder. That means, as a result, in the Whatsapp data folder there was a) no new file from another user (the backup file) and b) the modified prefs xml file still had its original ownership information. Basically, this kind of "fixed" sed's -i mode behaviour on the prefs file plus didn't created a new file in Whatsapp's data folder.
The last step to solve the puzzle is fairly simple. I just tried the procedure manually - as defined upthread - with all my friends' phones. Thus, I didn't noticed the sed behaviour. Plus, the friend Iinitially wrote the script for didn't told me that it wasn't working for him.
Anyway. Let's finally come to how to fix.
A quick look into the sed manual unveils that -c switch should do the trick:
Code:
-c, --copy
use copy instead of rename when shuffling files in -i mode
(avoids change of input file ownership)
Unfortunately, this switch is not enabled in all the busybox sed's for Android. Also, this would still leave us with a new file in Whatsapp's data directory. Even if all ownership information of existing files can be preserved, we should also not create any files in the folder that are not known to the Whatsapp app.
So basically my manual approach is the way to go:
a) Save the backup of the original prefs file somewhere on /sdcard/
b) Preserve ownership and permissions for /data/data/com.whatsapp/shared_prefs/com.whatsapp_preferences.xml
NOTE: Even if you got the value in the prefs xml saved to "0" and with no changes to ownership and permissions, you still need to restart any running Whatsapp process. Otherwise the change will have no effect! And, rebooting the device, resets the prefs xml file!
I'll post an updated version later. Until then, probably the easiest way to test this, is the manual way using a text editor app on your device.
- Open any text editor app with root capabilities (I used https://play.google.com/store/apps/details?id=com.maskyn.fileeditor )
- From the menu choose "Open file", navigate to /data/data/com.whatsapp/shared_prefs/ and open the file com.whatsapp_preferences.xml
- Find the line that reads <long name="read_receipts" value="SOMENUMBER" /> (SOMENUMBER is a placeholder, of course)
- Replace SOMENUMBER with 0 (zero), so the line reads <long name="read_receipts" value="0" />
- Save the file
- Now, close Whatsapp from the recent apps view and restart it.
- You can verify the change by running the following command (as root) from a terminal on your phone:
Code:
cat /data/data/com.whatsapp/shared_prefs/com.whatsapp_preferences.xml |grep read
- You can verify the ownership and permissions by running the following command (as root) from a terminal on your phone:
Code:
ls -l /data/data/com.whatsapp/shared_prefs/com.whatsapp_preferences.xml
smartxdev said:
I was thinking about another workaround:
Since the read receipt (and delivery too) is usually done by transmitting a small message by the application, back to the sender, once the conversation window is opened.
It may be possible to just block this outgoing communication on your side by XPrivacy.
But, i have yet to hunt down the specific permission/address to block, without crippling the app..
Click to expand...
Click to collapse
Sure, feel free to share any suggestions!
Ather said:
how about an xposed module?
Click to expand...
Click to collapse
I guess that'd be possible too. Just that I never looked into it yet.
Thanks, @Bexton for your detailed explanation.
Manual editing by Turbo Editor did the work for me.
I tested it, and the blue check marks were indeed blocked.
And btw, Turbo Editor has a nice "recent files" list on the startup, so reediting of the parameter on restart should be simple and easy.
Then, i did Restart (full restart to the device), and.... ...it still holds!
The parameter in the XML is unchanged and read notifications are still blocked
So, it made me wonder, why it didn't work for me before? I used ES Text Editor to edit the XML, it was fine, but then i made a backup copy somewhere inside the /data/data/com.whatsapp/ folder. And I think that "foreign" file caused full rewrite of the xml files by the app.
I hope it may hold permanently, but, we'll see..
Ahoy everyone!
We're 2 students from the University of Milan who created a repository [https://github.com/phosphore/whatsapp-blue/wiki]
for an Android app with the aim of getting rid of those blue ticks. We're currently
considering and testing out all the possible solutions including the modification
of com.whatsapp_preferences.xml (as found by @Bexton) or the filtering of the TCP
packet responsible for the read receipt.
Although using Bexton's method greatly simplifies the solution, it is just a
temporary workaround before Whatsapp fixes it.
Having a proxy filtering the requests should be a permanent solution. We are
reverse engineering FunXMPP (WA proprietary protocol) to find that particular request.
We're open to contribution!
smartxdev said:
So, it made me wonder, why it didn't work for me before? I used ES Text Editor to edit the XML, it was fine, but then i made a backup copy somewhere inside the /data/data/com.whatsapp/ folder. And I think that "foreign" file caused full rewrite of the xml files by the app.
I hope it may hold permanently, but, we'll see..
Click to expand...
Click to collapse
Some editors use a similar internal workflow as GNU's sed in -i mode and without the c switch. Resulting in "corrupted" files (in the sense of ownership & contex)..
Th3Zer0 said:
Ahoy everyone!
We're 2 students from the University of Milan who created a repository [https://github.com/phosphore/whatsapp-blue/wiki]
for an Android app with the aim of getting rid of those blue ticks. We're currently
considering and testing out all the possible solutions including the modification
of com.whatsapp_preferences.xml (as found by @Bexton) or the filtering of the TCP
packet responsible for the read receipt.
Although using Bexton's method greatly simplifies the solution, it is just a
temporary workaround before Whatsapp fixes it.
Having a proxy filtering the requests should be a permanent solution. We are
reverse engineering FunXMPP (WA proprietary protocol) to find that particular request.
We're open to contribution!
Click to expand...
Click to collapse
Could you hook up via email? I'm working on an app as well and currently considering the possibilities. Maybe it's worth sharing thought.. Please send to [email protected], thanks!
This is why I waited before investing more time into it, hehe. So, time to relax for everyone. Here is news:
Whatsapp will soon get the ability to turn off the blue checkmark read indicator, according to an alleged Beta tester of the application.
Click to expand...
Click to collapse
Original tweet: https://twitter.com/0xmaciln/status/530294585072025600
Via: http://www.myce.com/news/whatsapp-w...ble-privacy-sensitive-blue-check-marks-73438/
Looks like this thread will be obsolete very soon.
Bexton said:
Whatsapp will soon get the ability to turn off the blue checkmark read indicator, according to an alleged Beta tester of the application.
Original tweet: https://twitter.com/0xmaciln/status/530294585072025600
Via: http://www.myce.com/news/whatsapp-wi...k-marks-73438/
Looks like this thread will be obsolete very soon.
Click to expand...
Click to collapse
Nice!
I think whatsapp(facebook?) expected this to come, they already had some bad experience with the "last seen" issue some time ago.
And it is already implemented as a simple switch inside XML prefs...
Bexton said:
Looks like this thread will be obsolete very soon.
Click to expand...
Click to collapse
Hm, maybe I was wrong and it will not become obsolete. Maybe I will still build an app for it. Why? I found more news on the matter, that pointed out a major difference to me.
The same person who confirmed the additon of the on/off toggle for the read receipts, Ihlan Pektas, actually blogged about the feature already a few days ago. The essential information given in his blog post here (in German language) for me is, that he says that early alpha builds already have an implementation for it, and when you disable sending your read status (so that others can't see if you've read a msg), you will, in return, NOT be able to see the read status of your chat partners! (What makes perfectly sense, becausee it's the same way they do it for the "last seen" status.)
That being said, I think there'll be interest in an alternative. An alternative that is capable of disable sending one's own read status, while still being able to see the read status for one's own msgs, sent to others?!
Well, we'll see. (But the party ain't over yet.. )
Thanks Bexton. Tried your manual method with ES File Explorer, without making a backup, and it works. Even survives a full reboot.
Bexton said:
That being said, I think there'll be interest in an alternative. An alternative that is capable of disable sending one's own read status, while still being able to see the read status for one's own msgs, sent to others?!
Well, we'll see. (But the party ain't over yet.. )
Click to expand...
Click to collapse
I see your point, but to make this happen, we need to look at another approach. Because, now we disable it by the pretty obvious flag in the pref. file, and once they release a "feature" it will be probably the same flag that will cause you not the deliver read receipts either.
The thing is, that in fact I barely use whatsapp, for various reasons. I'm here to help some non-techie friends of mine.
Anyways, I use Open WhisperSystems' TextSecure mostly (less polished and fewer features, but free, opensource, and actually secure).
So, a short while ago, they've introduced "delivery receipts". And for some reason, only I was able to get others' delivery receipts, but when others send me messages, they didn't receive a delivery receipt from me. (That's basically what we are trying to do here, just with read receipts)
At first, I was sure there is some bug in this. But then it turned out that I tuned XPrivacy too tight on restrictions, and this new feature could not get through and send the delivery notice. (unfortunately I don't remember what exactly the troublesome restriction was)
That's why i first thought about XPrivacy for this case as well.
Logically, the mechanism here might be the same, and once we find out what activity or address to block it will do the trick without letting the app itself know about it.
And it seems like @Th3Zer0 guys have the same direction in mind.
Bottom line: sounds like a good idea to find out how to "cheat" those things, and maybe build Xposed module/app on it
This seems to be the equivalent of downgrading whatsapp, letting you see blue ticks but other's cant see
It seems that it disables the part where you can highlight your own message and see who has seen the message though.
Working on 2.11.432.
Whatsapp just enabled a new feature a la Telegram where you can see who's typing in a group.
Contradictory to my previous report, I'm noticing that over time the "read_receipts" parameter keep reverting to a original value. What's weird though is that i was unable to pinpoint when it actually happening, since it happens without any kind of full phone restart in between.
Have you (@Bexton?) any insight on it?
And by the way, as I was talking about the sadly unpopular, but security-wise superior TextSecure, this post came out: Open Whisper Systems partners with WhatsApp.
Sounds promising, but it still remains to be seen how it all gets implemented and how much of a metadata leakage will be going on, since it is very unlikely that a proprietary and closed source SW company as WhatsApp will kill their business value (which is an insight on near 700M users' data) just like that.

[GUIDE] Freenet for Android

UPDATE: 09/12/2016 (dd:mm:yyyy, just in case).
The guide has been updated! . Enjoy it guys :fingers-crossed:.
I'm not responsible for anything that happens with your phone, also, some people experienced some bricks on certain devices, so, just take care where you put paths and data because your phone maybe vulnerable to bricks!
Hi guys, assuming that you read the disclaimer above, so you understand what you're doing, also, and not less important, that this will most likely void your phone's warranty.
Ok, let's go.
Firstly... what's Freenet? From Wikipedia
Freenet is a peer-to-peer platform for censorship-resistant communication. It uses a decentralized distributed data store to keep and deliver information, and has a suite of free software for publishing and communicating on the Web without fear of censorship. Both Freenet and some of its associated tools were originally designed by Ian Clarke, who defined Freenet's goal as providing freedom of speech on the Internet with strong anonymity protection
Click to expand...
Click to collapse
As Freenet started, they don't gave any signal of being ported as an APK for Android (or something like this) so, we'll enjoy the availability of OpenJDK for ARMEL and ARMHF thankfully to the development of Raspberry Pi and Arduino (and whatever else kind of free hardware).
What do I need?
You need to:
Download and install "Linux Deploy" (from Google Play)
Download and install a SSH Client (for Android) or this one (for Windows/Linux/Mac PC) (how to use below).
At least, 768 mb of free space on your internal or external memory (anywhere you want to put your distro)
Free space on your internal memory, or a SD Card. If you're going to use your SD Card make sure it's working well.
A good internet connection (to retrieve the packages) [ 6 mbps or more recommended ]
System Requirements
CPU: 1 GHz dual-core (any)
RAM: 512 mb
SD Card: 8GB Class 4 Memory Card(at least)
First part: Installing a Linux Distribution on your Android Device​
Open "Play Store", search for "Linux Deploy" (or open the Play Store link written above).
Tap the first result and install it.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Open "Linux Deploy" and tap the "Download" icon.
Then, set the settings below like this (unless you want to modify them and you know what you're going to do)
Distribution: Debian - I suggest to not change it, because OpenJDK/Oracle Java have trouble with other distros in ARMEL and / or ARMHF.
Distribution suite: wheezy - I suggest to not change it, because OpenJDK/Oracle Java have trouble with other distros in ARMEL and / or ARMHF.
Source path: http://ftp.debian.org/debian/
Installation type: File
Installation path: /sdcard/linux.img - to install to the internal memory (unless your phone isn't partitioned with a fake internal SD, else this will be your external SD), if you are planning to use your external SD leave it untouched or if you changed it write the variable ${EXTERNAL_STORAGE} instead of /sdcard.
Image size (MB): Whatever you want more than 768, in MegaBytes. - I suggest 3 GB ( 3000 MB* ) to make sure that the OS will have space for all what it wants to save.
File system: Auto
User name: android
User password: android
SSH > Enable: tick
It should look like those screenshots:
Marked parts with a red square are the most important things you should change as explained above.
That's all, don't touch anything else, unless you know what it does.
Now, get back to the application's main screen and tap "Menu" (your device's menu button or the three dots button at the top of the screen) and then "Install", it will give a popup saying: "Start installation of GNU/Linux system?"; tap "OK".
Allow the application to get root permissions.
WARNING: I've noticed a programming error in the software which makes it unable to wait the user to allow the superuser permissions. That way, the program fails sometimes to start the installation. If that happens, just tap Stop and then repeat the installation steps above and it'll work.
Then, wait until it installs the OS, and make sure you don't close the app and don't lose WiFi, losing WiFi connection will result in an unfinished and non-working Linux installation, then you'll need to delete "linux.img" and re-install, so take care; also for battery, make sure that it's nicely and lovely charged.
The installation, depending on your CPU, RAM and Internet Bandwith, will take up to, aproximately 3 or 4 hours.
For me, it took one hour (downloading at 6 Mbps).
When the installation ends, you'll see something like:
[xx:xx:xx] <<< deploy
Click to expand...
Click to collapse
(where x(s) were the current time when the process ended)
That for the last line.
It should look similar to this screenshot:
Second part: Preparing your distro for Java and Freenet​
When you see the message explained in the above screenshot, you're able to tap "Start".
Tap "Start", and then "Ok". It should look like those screenshots:
When it successfully (or not) starts, it'll say:
[xx:xx:xx] <<< end: start
Click to expand...
Click to collapse
Like this:
Then, you'll see on the NavBar your IP address, for me, it is "192.168.1.115" (local). We're actually going to use Putty from Windows. A basic Putty usage will be explained in the next screenshots:
Browse to http://www.putty.org and click in the download page link:
Do the steps in order as shown in the screenshot:
Open putty.exe (yeah, I'm captain obvious)
Fill the text box with your phone's local IP address and then click "Open".
Hit "Yes" for that warning.
Congratulations! If everything's fine, you should see something like this:
Once done, type the next command hitting enter after every command:
Code:
sudo -s
nano script.sh
Then, copy this code:
Code:
echo "deb http://ppa.launchpad.net/webupd8team/java/ubuntu xenial main" | tee /etc/apt/sources.list.d/webupd8team-java.list
echo "deb-src http://ppa.launchpad.net/webupd8team/java/ubuntu xenial main" | tee -a /etc/apt/sources.list.d/webupd8team-java.list
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys EEA14886
apt-get update
apt-get install oracle-java8-installer
(thanks to WebUpd8 for the repo and the commands list for Wheezy)
And paste it in Putty's window right-clicking anywhere in the window's black space.
Now run:
Code:
sh script.sh
Follow the installation steps shown by the script and don't forget to accept any of the terms and conditions shown by Oracle's Java installer.
When it installs, you can type:
java
To check if it works; if it works it'll give you the help menu.
Okay, then, type:
wget 'https://freenetproject.org/jnlp/freenet_installer.jar'
And then:
java -jar freenet_installer.jar
When you complete the wizard, you need to run it, so, do
cd <where you put it>
And then do
sudo nano run.sh
edit the line where it says "./bin/wrapper...." and "./bin/1run.sh...." change them to "/bin/wrapper..." and "/bin/1run.sh...., then, save with CTRL + O and Y.
Right now, you can do:
./run.sh start
Let Freenet do the first run, when it completes (about 10 minutes), visit in your Android browser that URL:
http://127.0.0.1:8888/
Complete the wizard, and then, you're done, you can use Freenet exactly as you do with your PC
Third part: My phone is lagging and Freenet / whole Distro aren't responding! What should I do?​
Remember, nothing is perfect, an entire OS running behind another is a nicely big task assuming that it's an ARM processor and it's running on a phone, but you can do something to get it a bit more responsive; just do it:
Clean your RAM before opening your browser, to make sure that all other trash is removed
Have your phone in a cold state, at least during Freenet bootup and during node announcement
Shut it down properly (stop Freenet with CTRL + C and then, after all is closed tap STOP on the Linux Deploy's UI)
Freeze bad programmed apps, such as: Files Managers (almost all of them), Google Now (Google Search App), Facebook, Fancy Widgets, Google Play Services, Google Play Store, Messenger, Whatsapp and almost every game
Switch to another ROM that's better managed than stock or your current custom; for the Alcatel One Touch Idol 6030a I suggest to switch to DragonPL wich is the better that I found for that phone, anyway it's for the MT6882, I checked that it works perfectly!
And, at last, reboot your phone, it might be good; if you reboot it, please make sure that you do a Full Reboot and not a Software Reboot, because of doing a Software Reboot may leave some data loaded to RAM and it will be exactly the same (or worse) that leaving it as it is.
Hope you enjoy it! Leave a "Thanks" if you like it!
Very big THANKS!
I personally tested the this guide, it's awesome!
Anyway I suggest to include a little guide to install oracle java8 since openjdk7 is quite old and Freenet complains about it.
Personally it's not a big deal, but for others can be difficult.
EDIT: I'm on SM G850F and it runs perfectly.
Cobmaster said:
I personally tested the this guide, it's awesome!
Anyway I suggest to include a little guide to install oracle java8 since openjdk7 is quite old and Freenet complains about it.
Personally it's not a big deal, but for others can be difficult.
EDIT: I'm on SM G850F and it runs perfectly.
Click to expand...
Click to collapse
Thanks for your contribution at making this guide better.
I believe the Java thing can be solved by just updating apt-get's database and running the installation command changing the 7 for an 8. Please reply if it's just that or tell me what you did to get it to work with Java 8 and I'll add it to the guide.
Also, it's likely to be outdated. I thought no one was going to see it anymore, I'll update it later . Just tell me that, please.
EDIT: I've updated the thread with all the new requirements and setup. All done, enjoy it .
Smith Jones said:
This is insightful.
Click to expand...
Click to collapse
Thanks . I hope you enjoy Freenet's power .
facuarmo said:
Thanks for your contribution at making this guide better.
I believe the Java thing can be solved by just updating apt-get's database and running the installation command changing the 7 for an 8. Please reply if it's just that or tell me what you did to get it to work with Java 8 and I'll add it to the guide.
Also, it's likely to be outdated. I thought no one was going to see it anymore, I'll update it later . Just tell me that, please.
EDIT: I've updated the thread with all the new requirements and setup. All done, enjoy it .
Click to expand...
Click to collapse
I was about to write a reply, but you are fast! Good job!
:good::good:
Cobmaster said:
I was about to write a reply, but you are fast! Good job!
:good::good:
Click to expand...
Click to collapse
Thanks. Your post made me re-read the thread and notice how outdated it was, .

[APP] Waze Without Ads or POI Balloons or Popup Ads

Hello there folks! If you are like many of us, you enjoy using Waze to get around but in the last several versions you may have taken a active dislike to distracting and potentially dangerous advertising popping up while you are on the road. These advertisements come in two forms, one of which is so-called "Points of Interest" [POI] balloons and the other is pop-up advertising when you are stopped at an intersection.
I'm very sorry, but I don't need to see distracting pop-ups in traffic for the local movie, as this is an excellent way to end up having an accident due to how modern human brains have been wired to stare constantly at electronic screens. Plus the POI's obstruct other navigation icons or notifications of traffic on the screen. (My body will thank me if I don't stop by Dunkin' Donuts or the local fried chicken restaurant.)
The overall solution is you will download an older version of Waze, and overwrite the preferences file with a modified file that cuts out the advertising. You will need root level access in order to do this.
Since we are not modifying the program itself, and since the program is given away for free (in exchange for all that sweet, sweet "big data"), this is not what would be classified as "warez".
Most advertising from Waze is served from advil.waze.com or some localized equivalent thereof, depending on your language. We replace callouts in the preferences file to advil.waze.com instead with http://127.0.0.1 which causes the android computer to connect to nothing. We also set the number of POI balloons on the screen to zero.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Instructions are as follows:
0. If you have Waze already installed, your first step is to roll over to /data/data/com.waze/ and delete the entire folder. Then uninstall your existing copy of Waze.
1. Next download and install the attached version of Waze 3.9.6.0.
com.waze_3.9.6.0.zip 34.8 MB
https://mega.nz/#!VRcFmBSA!Ztlwd8tuQm_KNickcnlrr3kZ47edtmfnUEuWWbMMyTk
(No, it is not the most current version but this is what we do to block ads, and it works well enough.)
2. Open this version of Waze on your android device just to get it going. Close out after you get to the navigation screen.
3. Save the attached preferences zip onto your local disk, then decompress it there.
4. Take this preferences file, copy it onto your android device.
5. Navigate over to /data/data/com.waze/ and overwrite the preferences file you find there with our modified one.
6. Enjoy a pleasant, relaxing, ad-free drive.
This works excellently for older RK3188 CPU android head units.
(Alternately, if you discover this modified preferences file causes problems on your phone or hardware, you should uninstall, reinstall, and manually replace any preferences callout to "advil.waze.com" with http://127.0.0.1 then set any references in that file about "POI" to zero.)
As a general note, any rooted android device you have should have ad blocking enabled, which can be done by installing AdAway through FDroid. https://f-droid.org/ downside is most of these advertising filters are not quite well tuned to block advertisements in Waze.
So we get around this by adding advil.waze.com to the blacklist option in AdAway.
Works well even in later versions of Waze, even if you can't block out POI balloons with this approach.
Happy Motoring!
Any thoughts or questions?
Thanks! I applied the same to the latest version as of this post. I'll let you know how it goes. I also found the following and changed them, hopefully correctly.
Code:
ExternalPOI.Popup Enabled: no
ExternalPOI.My Coupons URL: https://127.0.0.2
ExternalPOI.Max POIs Display Small Screen: 0
@oreo27
Latest versions of Waze will overwrite preferences file on startup.
If you own the file by root, 1. that will get reset by android on bootup, and 2. waze creates an alternate file anyway.
We can solve this by owning preferences as root, and /data/data/com.waze as root after reboot.
If you're running magisk, you can create a script in /magisk/.core/post-fs-data.d/99waze with these contents; (remember to chmod 755 your script)
Code:
#!/system/bin/sh
sleep 30
chown root:root /data/data/com.waze
chown root:root /data/data/com.waze/preferences
chmod 755 /data/data/com.waze
chmod 644 /data/data/com.waze/preferences
After doing this, some of your other preferences won't save between launches, so I suggest you set waze up the way you like it before you apply this.
Unfortunately waze does not honour "Max POIs Display", "Coupons", "Ad Images" and "External POI URL*" in preferences.
It does honour these which gets rid of popups at stoplights;
ExternalPOI.My Coupons Enabled: no
ExternalPOI.Feature Enabled: no
ExternalPOI.Popup Enabled: no
You can still adblock advil.waze.com and adsassets.waze.com to get rid of POIs, however this results in waze constantly "searching for network". I suggest redirecting them to a valid https webserver instead. The cert will simply fail. (doesnt work.)
skanadian said:
@oreo27
Latest versions of Waze will overwrite preferences file on startup.
If you own the file by root, 1. that will get reset by android on bootup, and 2. waze creates an alternate file anyway.
We can solve this by owning preferences as root, and /data/data/com.waze as root after reboot.
If you're running magisk, you can create a script in /magisk/.core/post-fs-data.d/99waze with these contents; (remember to chmod 755 your script)
Code:
#!/system/bin/sh
sleep 30
chown root:root /data/data/com.waze
chown root:root /data/data/com.waze/preferences
chmod 755 /data/data/com.waze
chmod 644 /data/data/com.waze/preferences
After doing this, some of your other preferences won't save between launches, so I suggest you set waze up the way you like it before you apply this.
Unfortunately waze does not honour "Max POIs Display", "Coupons", "Ad Images" and "External POI URL*" in preferences.
It does honour these which gets rid of popups at stoplights;
ExternalPOI.My Coupons Enabled: no
ExternalPOI.Feature Enabled: no
ExternalPOI.Popup Enabled: no
You can still adblock advil.waze.com and adsassets.waze.com to get rid of POIs, however this results in waze constantly "searching for network". I suggest redirecting them to a valid https webserver instead. The cert will simply fail.
Click to expand...
Click to collapse
Thanks for the comprehensive answer. I actually did run into this problem when doing trying this myself. I made a similar .sh script which failed miserably for some reason
Code:
#Place this in /magisk/.core/post-fs-data.d since scripting this in a module doesn't seem to work.
# Change the owner of the Waze Directory and Preferences file to root
chown root:root /data/data/com.waze
chown root:root /data/data/com.waze/preferences
# Lock Permissions of the Waze Directory and Preferences file
chmod 555 /data/data/com.waze
chmod 555 /data/data/com.waze/preferences
# Replace any preferences that may have been modified
# Using the piping "|" delimeter so that I can use forward slashes which are common in web addresses.
# Using .* for wildcards so that it works with any region
# Using 127.0.0.2 in case one is utilizing localhost
sed -i -e 's|.*ExternalPOI.My Coupons Enabled:.*|ExternalPOI.My Coupons Enabled: no|g' /data/data/com.waze/preferences
sed -i -e 's|.*ExternalPOI.Feature Enabled:.*|ExternalPOI.Feature Enabled: no|g' /data/data/com.waze/preferences
sed -i -e 's|.*Download.Ad Images:.*|Download.Ad Images: http://127.0.0.2|g' /data/data/com.waze/preferences
sed -i -e 's|.*ExternalPOI.Max POIs Display:.*|ExternalPOI.Max POIs Display: 0|g' /data/data/com.waze/preferences
sed -i -e 's|.*Search Autocomplete.Ads URL:.*|Search Autocomplete.Ads URL: https://127.0.0.2|g' /data/data/com.waze/preferences
sed -i -e 's|.*ExternalPOI.URL:.*|ExternalPOI.URL: https://127.0.0.2|g' /data/data/com.waze/preferences
sed -i -e 's|.*ExternalPOI.URL V3:.*|ExternalPOI.URL V3: https://127.0.0.2|g' /data/data/com.waze/preferences
sed -i -e 's|.*ExternalPOI.URL V2:.*|ExternalPOI.URL V2: https://127.0.0.2|g' /data/data/com.waze/preferences
sed -i -e 's|.*ExternalPOI.Popup Enabled:.*|ExternalPOI.Popup Enabled: no|g' /data/data/com.waze/preferences
sed -i -e 's|.*ExternalPOI.My Coupons URL:.*|ExternalPOI.My Coupons URL: https://127.0.0.2|g' /data/data/com.waze/preferences
sed -i -e 's|.*ExternalPOI.Max POIs Display Small Screen:.*|ExternalPOI.Max POIs Display Small Screen: 0|g' /data/data/com.waze/preferences
I suppose the sleep is on there because the ownership changes within the first 30 seconds of boot? Perhaps that's why my permissions got messed up?
Also, I noticed that once the file is modified, Waze will initialize and download language. Does this happen on your end as well?
Also, is there a way to simply block ads without modifying the file/s?
Edit - Also, since I did this, Waze would just freeze up while in navigation. I've tried uninstalling and re-installing the app and that didn't seem to work.
oreo27 said:
I suppose the sleep is on there because the ownership changes within the first 30 seconds of boot? Perhaps that's why my permissions got messed up?
Click to expand...
Click to collapse
Yup.
oreo27 said:
Also, I noticed that once the file is modified, Waze will initialize and download language. Does this happen on your end as well?
Click to expand...
Click to collapse
After a fresh install, you have to start/exit waze twice before owning by root. It doesn't download the language files until the 2nd start.
oreo27 said:
Also, is there a way to simply block ads without modifying the file/s?
Click to expand...
Click to collapse
Blackhole/redirect advil/adsassets does a decent job, but you'll still get a big blank white page at most stop lights. Editting preferences is the only way to get rid of that. I wish someone would mod the apk to get rid of all the ads. (or waze offered a one time/subscription fee to remove them.)
oreo27 said:
Edit - Also, since I did this, Waze would just freeze up while in navigation. I've tried uninstalling and re-installing the app and that didn't seem to work.
Click to expand...
Click to collapse
It gets sketchy with adsassets/advil blocked but generally navigation still works for me. I've had more luck with redirection instead of blackholing them.(doesn't help)
The 3.9.6 apk supports these mods a little better (and more, like alert distance), but it lacks a lot of features like trips with friends, eta's, spotify integration, the inbox doesn't work, etc.
@oreo27
Code:
chown root:root /data/data/com.waze/waze/skins/default
chmod 555 /data/data/com.waze/waze/skins/default
find /data/data/com.waze/waze/skins/default -name "*x28*" | xargs rm -rf
Explanation: POI icons get placed in that directory with the name [randombull****][email protected] We'll prevent access to the directory and dump any cached POIs.
Full script for anyone else that comes here
https://forum.xda-developers.com/showpost.php?p=73880023&postcount=19
Can anyone confirm if the above works?
It does
Popups at stoplights are still showing, I'm working on it.
Hm, very interesting.
Is it possible to roll this into a Magisk module, or TWRP flashable, similar to iYTBP?
Would be much more user-friendly and appreciated.
Valiante said:
Hm, very interesting.
Is it possible to roll this into a Magisk module, or TWRP flashable, similar to iYTBP?
Would be much more user-friendly and appreciated.
Click to expand...
Click to collapse
I wound like this as well. Good stuff.
Valiante said:
Hm, very interesting.
Is it possible to roll this into a Magisk module, or TWRP flashable, similar to iYTBP?
Would be much more user-friendly and appreciated.
Click to expand...
Click to collapse
While that may be simpler, it's really quite easy to paste the code into a text file, rename to .sh, copy it where the directions say, and change it's permissions. I consider myself pretty dumb and useless and even I could figure it out XD
gohamstergo said:
While that may be simpler, it's really quite easy to paste the code into a text file, rename to .sh, copy it where the directions say, and change it's permissions. I consider myself pretty dumb and useless and even I could figure it out XD
Click to expand...
Click to collapse
It's not the fact of 'pretty dumb' ... It's for people who flash a lot of roms to make it substantially easier.
kinda confused on something... should i name the file 99waze or 99waze.sh?
tymestopm said:
It's not the fact of 'pretty dumb' ... It's for people who flash a lot of roms to make it substantially easier.
Click to expand...
Click to collapse
gohamstergo said:
While that may be simpler, it's really quite easy to paste the code into a text file, rename to .sh, copy it where the directions say, and change it's permissions. I consider myself pretty dumb and useless and even I could figure it out XD
Click to expand...
Click to collapse
From my understanding, everytime the app updates you have to do this again. That's why a module would make sense
EDIT; My mistake OP says it should survive, I misread
hmm i did this and now i am having issues updating or installing apps from google play store. I dont know if its directly related but just before i did this mod by adding a script for magisk and rebooting, I updated all my apps. now i cant. It just says download pending
It might be just a coincidence, but its weird...
Would love if somebody could package this in some way to make an easy install for us. Would donate via paypal.
anyone made any further progress?
Waze blocked owning the skins directory by root/removing permissions in the latest version. (4.29 broken, 4.28 works).
Hi waze devs! Can I have a t-shirt?
I don't think I'll be posting anything else here.
Code:
[12:45:xx.xxx (0xd15xxxx) 15xxx 15xxx Error] Java Layer: Skins dir /data/user/0/com.waze/waze/skins/default permissions were changed; Notifying and exiting [Logger_JNI.c:55 (Java_com_waze_Logger_WazeLogNTV)]
For future visitors, I'm adblocking advil.waze.com and using this code on 4.28 (check apkmirror) and it works fairly well.
Code:
#!/system/bin/sh
sleep 30
chown root:root /data/data/com.waze/waze/skins/default
chmod 555 /data/data/com.waze/waze/skins/default
find /data/data/com.waze/waze/skins/default -name "*x28*" | xargs rm -rf
lame.

Categories

Resources