[SCRIPT] Proprietary Lib Cleaner (silence logcat spammers with ease) - Android Software/Hacking General [Developers Only]

Proprietary Lib Cleaner (PLC)
Linux shell script that allows you to silence certain lines from chatty proprietary binaries/libs which makes logcat actually readable, instead of it getting spammed by binaries such as mpdecision or thermal-engine.
Made with intention to be easily extensible for end-user. (would love to see a big database of hexxable strings)​
Article featured on XDA Portal!:
http://www.xda-developers.com/android/clean-up-your-logcat-code-with-lib-cleaner/
Why I have created it.
I have made this shell script because I have experimented earlier with replacing hex strings in proprietary files, which worked out very well. I have had a lot of hassle trying to make the hex string replace work. But I found this great tool called Swiss File Knife that allows you to make hex replacements by just entering the string. Because of this it was very easy to create a template system so that users can easily add more entries to the database, rather then needing to adjust code of script every time.
{
"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"
}
The template system works like this:
Every binary/library is placed in the corresponding directory but in a virtual replication, in these files are the lines that need to be hexxed out of the binaries are present. nothing less nothing more.
Example 1:
~/ProprietaryLibCleaner/dbs/system/bin contains mpdecision which is a regular text file with the following strings inside it:
Code:
num online cores: %d reqd : %d available : %d rq_depth:%f
hotplug_avg_load_dw: %d
UP cpu:%d core_idx:%d Nw:%f Tw:%d total_time_up:%f
DOWN cpu:%d core_idx:%d Ns:%f Ts:%d total_time_down:%f
cpu%d: core_idx: %d uptime: %f downtime %f
cpu%d: core_idx: %d Nw: %f, Tw :%d, Ns: %f, Ts: %d, util_high_and:%d
cpus_up: %d cpus_down: %d thermal_mask: 0x%x
Example2:
~/ProprietaryLibCleaner/dbs/system/lib/hw contains sensors.msm8960.so which is also a regular text file since its a patch, it only has a simple reference inside (but a very annoying one)
Code:
mCompEngine is NULL
These 2 examples are listed in the shell script, when more is added it is automatically appended in the 'database'
Last but not least is the patching process which is done on a 'fail-safe' method, it first checks whether its actually applicable before making any changes, if not it will skip it, so it won't make your files unusable
Instructions for normal usage:
1. Download latest release
2. Unpack somewhere on PC
3. Run script with ./PLC
4. Install ADB + ADB USB Driver if not installed
5. Install Swiss File Knife on Phone if not installed
6. View targets & patches
7. Set target and patch
8. Profit
Downloads
Latest version: v0.7 - here or here
Github page:
https://github.com/broodplank/ProprietaryLibCleaner
Additional Credits:
stahlworks - Swiss File Knife

Changelog
Version 0.7 - 19/04/2014
- updated adb downloading method
Version 0.6 - 19/04/2014
- updated lines of mpdecision
- updated compatibility with quotes ( ' ' ) inside lines, was causing thermal-engine patch fail
Version 0.5 - Initial Release - 15/04/2014

How to make a template / submit a patch
You can get readable strings from file by using 'strings' command.
When using the new beta method (auto submit by using my raspberry pi)
Enter:
1. Your XDA username
2. path to file
3. lines to be patched
If this tool gets abused it will INSTANTLY be taken offline!
http://plcsubmit.broodplank.net/
By posting it as a reply to this topic:
TEMPLATE said:
/path/to/bin/or/lib
Code:
string 1
string 2
string 3
string 4
Click to expand...
Click to collapse
I will merge it on github then.
By Github pull merge request
For the more advanced developer:
./dbs/system/path/to/bin/or/lib said:
string 1
string 2
string 3
string 4
Click to expand...
Click to collapse
But then in the git folder
Make a file (same name as target) in right folder with lines inside the file that need to be hexxed.
Then make a merge pull request on Github!

another one just in case (reserved)

Wow I just noticed the topic was horribly formated! tip to everyone DO NOT USE THE WYSIWYG Editor!

The Sensors get knocked out when you silence sensors.msm8960.so

imanoob said:
The Sensors get knocked out when you silence sensors.msm8960.so
Click to expand...
Click to collapse
I have had this once, it was the cause of a invalid hex replacement. but I have been using the hexxed sensors.msm8960.so for a while now and in the app sensorbox everything is showing, compared to nothing showing when a failed hexx is done. please show me the results of sensorbox.
it should work just fine.

Wow this looks promising .
I've been doing some little hex edits on some system binarys, will try this out .
Regards

superdragonpt said:
Wow this looks promising .
I've been doing some little hex edits on some system binarys, will try this out .
Regards
Click to expand...
Click to collapse
Thank you , I hope it becomes useful for you

Is it possible to run the patches directly on the phone via terminal emulator or adb shell (assuming all prerequisites like adb, drivers, and sfk are installed)?

First of all, thanks a lot for these scripts, and for the tutorial you provided in your other thread on how to patch them manually. The script seemed to work just fine but for some reason the resulting binaries would be a few bytes smaller than the original file and so I'd get an error that would say something about ELF header magic ( can't remember the exact error message) and they could not be executed. I decided to try to create my own script and finally managed to get something working. My original script is run from the phone itself, but I tried to port it to yours as a dbs/patcher script replacement, keeping as much of the original functionality as I could. It seems to work, but could maybe use some polishing. I thought you might be interested in it, as it does not require any installation of extra binaries (it uses grep and dd to perform the functions of sfk). Feel free to use any of it how and where you might see fit. To use it just put it into dbs in place of the original patcher script.
Update: The patcher in patcherv2.zip now correctly restores the file permissions.
As an interesting side note I noticed that with unmodified files, my CPU usage while the phone is otherwise idle and only a single core is active, is reported as 3% with periodic spikes every few seconds of up to 10%. Once the strings are cleaned from the files, the CPU consistently reports usage of 0% or 1%, and the spikes are completely nonexistent.

Chahk said:
Is it possible to run the patches directly on the phone via terminal emulator or adb shell (assuming all prerequisites like adb, drivers, and sfk are installed)?
Click to expand...
Click to collapse
yes with some modification to the code it can do that. but you will have to convert it to real sh script instead of bash. it's somewhat different.
bsimpson1 said:
First of all, thanks a lot for these scripts, and for the tutorial you provided in your other thread on how to patch them manually. The script seemed to work just fine but for some reason the resulting binaries would be a few bytes smaller than the original file and so I'd get an error that would say something about ELF header magic ( can't remember the exact error message) and they could not be executed. I decided to try to create my own script and finally managed to get something working. My original script is run from the phone itself, but I tried to port it to yours as a dbs/patcher script replacement, keeping as much of the original functionality as I could. It seems to work, but could maybe use some polishing. I thought you might be interested in it, as it does not require any installation of extra binaries (it uses grep and dd to perform the functions of sfk). Feel free to use any of it how and where you might see fit. To use it just put it into dbs in place of the original patcher script.
Update: The patcher in patcherv2.zip now correctly restores the file permissions.
As an interesting side note I noticed that with unmodified files, my CPU usage while the phone is otherwise idle and only a single core is active, is reported as 3% with periodic spikes every few seconds of up to 10%. Once the strings are cleaned from the files, the CPU consistently reports usage of 0% or 1%, and the spikes are completely nonexistent.
Click to expand...
Click to collapse
You're welcome. This may be caused because the strings are replaced with "nothing", It might be a good idea for me to count the numbers (in hex) of the string and then replace it all with zero's instead. I think this creates more compatibility, but I'm not 100% sure of that.
Some files indeed get corrupted by hexxing them, (at least when removing strings), maybe putting zero's there would fix it. as I am not advanced in hex at all I honestly don't know before I have tested it.. anyways, the binary templates that are included should not corrupt the files.
I really appreciate you have put this effort in updating the patcher. It really looks awesome, I have not tested it yet, but if it really can replace sfk consistently It will be great. I will take a look at the script and I am certainly interested in it! The script looks pretty advanced to me actually, for example that regex is just badass!
I think I will integrate your patcher and generate an option that lets you choose between your method (local patching, on PC) and my method (remote patching, on phone), that way users could choose what they prefer. Of course I will add your credits to the top because you made it. not me
I will look into this very soon, for the meanwhile you could create merge pull requests on the git if you'd like.
And btw I am really glad to hear that removing the strings actually lowered the cpu usage , that's a great thing! and is absolutely the goal of the script next to making it more readable ^^
Thanks a lot for your wisdom and effort on this patcher

broodplank1337 said:
yes with some modification to the code it can do that. but you will have to convert it to real sh script instead of bash. it's somewhat different.
You're welcome. This may be caused because the strings are replaced with "nothing", It might be a good idea for me to count the numbers (in hex) of the string and then replace it all with zero's instead. I think this creates more compatibility, but I'm not 100% sure of that.
Some files indeed get corrupted by hexxing them, (at least when removing strings), maybe putting zero's there would fix it. as I am not advanced in hex at all I honestly don't know before I have tested it.. anyways, the binary templates that are included should not corrupt the files.
I really appreciate you have put this effort in updating the patcher. It really looks awesome, I have not tested it yet, but if it really can replace sfk consistently It will be great. I will take a look at the script and I am certainly interested in it! The script looks pretty advanced to me actually, for example that regex is just badass!
I think I will integrate your patcher and generate an option that lets you choose between your method (local patching, on PC) and my method (remote patching, on phone), that way users could choose what they prefer. Of course I will add your credits to the top because you made it. not me
I will look into this very soon, for the meanwhile you could create merge pull requests on the git if you'd like.
And btw I am really glad to hear that removing the strings actually lowered the cpu usage , that's a great thing! and is absolutely the goal of the script next to making it more readable ^^
Thanks a lot for your wisdom and effort on this patcher
Click to expand...
Click to collapse
I'm glad to help! I'm not very familiar with binary files myself. I recently noticed that it's possible to simply pass the flag '-o' to the 'strings' command to print the byte offset along with each string! I think that would be a lot more reliable than using grep, not to mention faster. Since that's also how other users will be getting the strings to use for the templates it seems like a very good option also. I'll see if I can come up with a revised version
Unfortunately, the version of strings that's provided by busybox on my phone doesn't have the -o option, but i managed to find a version of the real strings binary with -o support that runs on android, so it could be very possible to eventually make a flashable zip or version that runs on the phone: View attachment strings-armeabi.zip (can't seem to remember where i found this)

bsimpson1 said:
I'm glad to help! I'm not very familiar with binary files myself. I recently noticed that it's possible to simply pass the flag '-o' to the 'strings' command to print the byte offset along with each string! I think that would be a lot more reliable than using grep, not to mention faster. Since that's also how other users will be getting the strings to use for the templates it seems like a very good option also. I'll see if I can come up with a revised version
Unfortunately, the version of strings that's provided by busybox on my phone doesn't have the -o option, but i managed to find a version of the real strings binary with -o support that runs on android, so it could be very possible to eventually make a flashable zip or version that runs on the phone: View attachment 2810739 (can't seem to remember where i found this)
Click to expand...
Click to collapse
Me neither hehe, I just tested the -o flag and you're right , it works, it returns idd the byte offset. that is nice. and it would be faster for sure, dd'ing some bytes to a certain area has to be faster then grep/replace. But my concern is that maybe the byte offsets are not the same on files, which could easily corrupt the binary if it doesn't match the template. And how do you calculate how many bytes should be flashed to the byte offset? or you just want to jump to the offset and then replace hex? i am not sure which is better honestly. Anyways, I appreciate it that you want to come up with a revised version maybe
Oh it didn't? Do you perhaps have an old version of busybox? I have "BusyBox v1.21.1-kk bionic" and for me it works in android (adb shell, with for example "busybox strings -o /system/bin/mpdecision"), so there wouldn't be need for a seperate binary, just an updated busybox.
Anyways, before we could seriously replace the method we need to do a lot of testing ;p

@broodplank1337 - is this script still being maintained, if not, are there any other alternatives?

Related

[TOOL] iAPK Suite v0.9 - Drag & Drop APK Installer

Alright, straight to it.
This is iAPK Suite 0.9. The newest incarnation of iAPK. It's functions have been vastly increased, while keeping it's sole purpose still unique.
The new version of iAPK merits it a new name, iAPK Suite. This means it not only installs APKs, it is a full fledged manager. It installs, deletes, backups, and restores APKs from your respective Android devices. Aside from being drag 'n' drop friendly, i've incorporated a tremendous amount of useful features. Hell, it even signs APKs with a simple click.
There are currently two versions. iAPK Suite and iAPK Mini. The Suite version allows full APK management, while the mini just has simple drag and drop as well as the docking panel without any other APK functions which makes the file size practically cut in half.
Mind you, the usage of this application gets a lot easier when you learn all of the shortcuts I implemented to making things a lot quicker. A wiki will be made to explore everything about iAPK and how to use every function i've built into it, even the not so obvious ones
..:: Screenshots ::..
{
"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"
}
..:: Features ::..
- Sleek Drag n' Drop User Interface
- Docking Panel
- File Type associations with .apk files
- APK Management
- Signs APKs
- Drag Multiple APKs for installation
- Drag Folders containing APKs for installation
..:: Wiki ::..
iAPK Suite 0.9 Wiki *DOWN*
..:: Download ::..
Download iAPK Suite for Windows (LINK UPDATED JUNE 2012)
..:: Issues/Todo ::..
- adb sometimes has an issue with apks installed from folders with spaces in their name. (Working on a fix)
- small animation glitches tend to appear depending on the environment. (Does not pose any functional problems)
- a system tray icon needs to be added to allow for easy configuration of certain adb options/switches. (Working on)
- several adb switches need to be added to allow forced apk installed (-r) and other various tags. (Working on)
- deleting apks has not been testing thoroughly. (Waiting for feedback)
- iAPK needs an installer instead of being just compiled into a zip. (Working on)
..:: Changelog ::..
v0.9
+ Added quicker docking panel
+ Added File type associations with .apk files
+ Added APK management through the Android Device Bridge (adb.exe)
+ Added APK manifest dumping using the Android Asset Packaging Tool (aapt.exe)
+ New UI built from scratch
+ New Information panel notifier
+ Added a mini version for smaller file size
v0.3
+ Added Update Checker(Now notifies the user if an update is available)
+ Added Directory APK Installing(Not tested)
+ Now checks to see if adb is in $Path or already specified instead of always making a copy of adb locally(Not tested)
+ Added a configuration panel(Intended for internal use, otherwise no use right now)
- Taken out some un-needed functions(may work a little faster for some people)
++ Will be available for Mac OSX, Linux in the next release.
++ Will incorporate a default filetype & shortcut for windows(allows auto-install on doubleclick)
v0.2
+ Added Multiple APK Installing functionality (Drag and Drop multiple APK's)
+ Cleaned up some more code
+ Operation manager for internal use (Allows for batch calculation and apk management)
+ Added small tool tip for future use
+ Added an operation summary at the end of each..operation.
- Taken out 99.9% of the popups
- Taken out clunky option gear graphic
++ Coming soon... Just mention it.
This application works globally for ANY Android Device. Posting it in here is just because i'm in this sub-forum a lot. But this application will work with ANY Android device. It would be nice if this thread was pinned for easy access
Pretty cool. Heres another alternative i use. I just created a batch file where i made it pickup a file as an argument and "adb install -r" it. I compiled it to an exe and gave it an icon and set it as a default program for apk's. Here it is for those interested. You can either set it as default program for apk filetype, or just drag an apk into it.
Link
I like it. Simple and nice interface and easy to work with it
Thanks
10 char.
qberty said:
Hey xda inhabitants!
Here's something I made to shorten APK installing. This is my take on an easy drag and drop apk installer with quick and to the point functions. It's very simple and straight forward, drag and drop your APK onto my program, and it will install it over ADB to your phone! Very simple as opposed to using the 0.04 second long browse button, Dragging and dropping saves a bunch of time!
Screenie-bo-beenie
Download-oh-...err
1.4MB RAR
1.6MB ZIP
Please let me know if you want features that adb can provide or ..just anything you want implemented.
Click to expand...
Click to collapse
Interesting. Does it support multiple/batch apk files? That would be useful for a restore.
wow..nice one
if can drag multiple apk files and batch install would be nice
Binary100100 said:
Interesting. Does it support multiple/batch apk files? That would be useful for a restore.
Click to expand...
Click to collapse
pingy_ping said:
wow..nice one
if can drag multiple apk files and batch install would be nice
Click to expand...
Click to collapse
Hmm..You guys are right.. it does not support multiple apks... It might since it's through adbs command, not sure if that would work. But I have a method of making multiple apks work at once. Lemme throw that on the table.
...Done.
Updated, and fixed v0.2 link.
pretty sweeet
sweet, love the idea of batch installs! Save a lot of time when switching between roms
Thanks! If anyone has anything else they want added. Let me know.
color me stupid but i cant get this to work...
may be that im on a pc at work.
there is nothing fancy needed to get it to work is there?
i am able to use the sdk tools and ADB can see my phone but the app keeps saying failed
any ideas would be great.
ceasee said:
color me stupid but i cant get this to work...
may be that im on a pc at work.
there is nothing fancy needed to get it to work is there?
i am able to use the sdk tools and ADB can see my phone but the app keeps saying failed
any ideas would be great.
Click to expand...
Click to collapse
I did some quick debugging and I found out that I broke the single APK installer by adding the multiple batch one. Damn lol. Well for now, untill I release the completely working one, just drop two or more apks on it for them to properly work. That is an error on my part, must have forgot an if/then/else somewhere along the road, I'll fix it now. Should be compiled within an hour. Thanks
Terribly sorry for the confusion. I have fixed the weird problem. Everything now works as it should. Please re-download v0.2 from the original post.
This is a really Nice utility
I have a couple of requests. Feel free to make them come true
1. Make it so if set as a default app for apks, when i double click an apk it launches this program, installs the apk, then shuts the program.
2. Make it so it detects if adb is currently in $path, u can do that using something like errorlevels in batch. So if it detects it, then it shouldnt have to extract the files such as adb and the dlls.
Just my $0.02
Great!! thanks!
Daneshm90 said:
1. Make it so if set as a default app for apks, when i double click an apk it launches this program, installs the apk, then shuts the program.
Click to expand...
Click to collapse
This.. is not the easiest thing to do, since I would now need to make my app utilize commandlines in win shells to allow me to add apk file locations to a command to be installed quickly. It's definitely possible, but unfortunately i can't complete it within an hour so, that'll take a bit longer.
Daneshm90 said:
2. Make it so it detects if adb is currently in $path, u can do that using something like errorlevels in batch. So if it detects it, then it shouldnt have to extract the files such as adb and the dlls.
Just my $0.2
Click to expand...
Click to collapse
This is definitely an easy task, never thought of that, consider it done as I have the exact code in my head
I'll compile everything when I get homerz.
$0.2 is actually 20 cents... wow. You put a lot thought into this one. lol
Anyway, keep in mind, I can do..just about ANYTHING with this app. So don't hold back with your suggestions.
qberty said:
This.. is not the easiest thing to do, since I would now need to make my app utilize commandlines in win shells to allow me to add apk file locations to a command to be installed quickly. It's definitely possible, but unfortunately i can't complete it within an hour so, that'll take a bit longer.
This is definitely an easy task, never thought of that, consider it done as I have the exact code in my head
I'll compile everything when I get homerz.
$0.2 is actually 20 cents... wow. You put a lot thought into this one. lol
Anyway, keep in mind, I can do..just about ANYTHING with this app. So don't hold back with your suggestions.
Click to expand...
Click to collapse
lol my bad. Typing on phone/in a hurry don't go too well
Btw wht did u write this in ? vb?
qberty said:
This.. is not the easiest thing to do, since I would now need to make my app utilize commandlines in win shells to allow me to add apk file locations to a command to be installed quickly. It's definitely possible, but unfortunately i can't complete it within an hour so, that'll take a bit longer.
This is definitely an easy task, never thought of that, consider it done as I have the exact code in my head
I'll compile everything when I get homerz.
$0.2 is actually 20 cents... wow. You put a lot thought into this one. lol
Anyway, keep in mind, I can do..just about ANYTHING with this app. So don't hold back with your suggestions.
Click to expand...
Click to collapse
Anything? Lol (I won't go there!) What is the advantage to this verses using su file manager to just copy and paste within the phone? I guess I should just try it out, but didn't want to waste my time cause I have no problems with adb commands, but some of my friends might like it! 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, .

[WindowsTool] APKSharp: De-bloat, view full details & manage APKs on any Android

APK# v1.4
==================================================
Copyright (c) 2020 Captain Majid
Chat with me on Discord: https://discord.gg/F3Ds69M#android
==================================================
{
"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"
}
​Description:
==============
Quickly de-bloat, view full details & manage APKs on any Android device/emulator, no other app do/show all that.
Features:
==========
Easily know what app works on what device/emulator by comparing Android cpu architecture to the app's supported architectures (arm, arm64-v8a, x86, etc...), and also by comparing the minimum Android ver required to run an app.
Backup multiple apks at once.
Install multiple apks at once.
Quick-infos of multiple apks at once.
Disable multiple apks at once. (for Android >= 6.0 only)
Uninstall multiple apks at once, including system apps (for Android >= 6.0 only, this doesn't require root, it just uninstall it for the current user, use this to remove unnecessary pre-installed junkware/bloatware system apps).
Push/pull files/folders to/from your Android even when its on Charge mode or connected wirelessly.
Quickly search for a package name without waiting for the whole list to be ready. (really time-saving feature)
Displaying current WiFi & IP with the ability to connect to the Android device wirelessly, no other tool automates that that easy.
Infos mirrored/logged to Excel files by default, also you can save custom screen contents as columns to Excel file for later reference, simply press Alt + Space -> Edit -> Select All/Mark -> Enter -> then paste the clipboard in a text file but change the extension to .csv
APK names encoded in UTF8 text to Excel file format (for non-Latin letters like Arabic, Japanese, Russian, etc...), you can also use an advanced cmd emulator (like mini cmder, that can display these characters on console screen).
Requirements:
==============
Windows ADB drivers: there is no generic solution for all Android manufacturers, even Google solutions mightn't work for your device: https://developer.android.com/studio/run/oem-usb#InstallingDriver, also remember that Windows disables installation of unsigned drivers unless you enable it manually on Windows boot.
So the generic solution is: to get https://sdi-tool.org/SDI_Update.torrent we only need to select \drivers\DP_zAndroid_*.7z, maybe also DP_Telephone_*.7z, & maybe DP_MassStorage_*.7z for MTP or ADB if you use Windows XP, you can also try this solution if the previous didn't work.
.NET 4.0 (if you've Windows older than 8).
Enable "USB Debugging" on your Android device/emulator.
Screenshots:
=============
Videos:
========
While searching on Google, I found this fan-made video, [Perfect Tool] ? :fingers-crossed: uhmmm... but I'm not done yet .
Review & Download:
===================
https://www.softpedia.com/get/System/System-Info/APK.shtml
Donations:
I don't need donations, just made this tool to ease the pain on users that aren't able to root/own their Android anymore, found it useful ? spread the word !
Why didn't you put it in the Play Store?
S.l.v.n said:
Why didn't you put it in the Play Store?
Click to expand...
Click to collapse
Its not an Android app, It's a Windows app written in C# no app/apk is installed on Android at all.
@Zer0De8th Sorry for the late reply to your pm, yes I'm going to add an option to disable a package later and some other features, hopefully not more than a week from now, thanks for the feedback.
You can also join me here if you're on Discord: https://discord.gg/F3Ds69M
Moataz Bellah said:
@Zer0De8th Sorry for the late reply to your pm, yes I'm going to add an option to disable a package later and some other features, hopefully not more than a week from now, thanks for the feedback.
You can also join me here if you're on Discord: https://discord.gg/F3Ds69M
Click to expand...
Click to collapse
Thanks for considering my request.
Updated to v1.3
Donations:
I don't need donations, just made this tool to ease the pain on users that aren't able to root/own their Android anymore, found it useful ? spread the word !
While searching on Google, I found this fan-made video, [Perfect Tool] ? :fingers-crossed: uhmmm... but I'm not done yet .

			
				
Moataz Bellah said:
Windows ADB drivers: there is no generic solution for all Android manufacturers, even Google solutions mightn't work for your device: https://developer.android.com/studio/run/oem-usb#InstallingDriver, also remember that Windows disables installation of unsigned drivers unless you enable it manually on Windows boot.
Click to expand...
Click to collapse
I don't know what kind of solution is in that torrent file (maybe again koush one that distributes illegally MS sign program makecert.exe, like devcon.exe it's not allowed really. But then again also Intel and Amlogic has done/does it, so who cares...) but here is another Windows ADB driver generic solution, signed and all... by me
Yet Another Universal ADB Driver Package and adbupdater for Windows
:laugh::silly:
MesterPerfect said:
Click to expand...
Click to collapse
Thanks for the feedback, this error happens when screen resolution (width) is <= 1024, so make it anything above 1024x786 and the problem should be gone, this will be fixed in the next release.
CXZa said:
I don't know what kind of solution is in that torrent file (maybe again koush one that distributes illegally MS sign program makecert.exe, like devcon.exe it's not allowed really. But then again also Intel and Amlogic has done/does it, so who cares...) but here is another Windows ADB driver generic solution, signed and all... by me
Yet Another Universal ADB Driver Package and adbupdater for Windows
:laugh::silly:
Click to expand...
Click to collapse
Thanks for sharing your project with us, you also seem to be a fan of emojis, right?
Well, the torrent is a collection of drivers called Snappy Driver Installer, it's almost the same as DriverPack Solution, both are trusted by thousands of people, but SDI has more features, flexible, and you can just update/download 1 driver when you want, not the whole pack, I don't think alot of people cares if the driver is signed by Microsoft or not as long as it works, does your solution covers all Android manufacturers ?
The phenomenal v1.4 update is here, why I say phenomenal ? well, I checked other similar adb-based tools on the web, and most of them are not just poor in functionalities compared to APK#, but paid/require donations to unlock very basic features, which is annoying.
For example, I didn't find any tool to automate the wireless connection between Windows & Android as easy as APK# (even awesome tools like https://github.com/Genymobile/scrcpy doesn't), also the tool does not make you wait to load all the packages infos anymore, you just use the Quick Search feature, and save your day.
Enjoy
Moataz Bellah said:
So the generic solution is: to get https://sdi-tool.org/SDI_Update.torrent we only need to select \drivers\DP_zAndroid_*.7z, maybe also DP_Telephone_*.7z, & maybe DP_MassStorage_*.7z for MTP or ADB if you use Windows XP.
Click to expand...
Click to collapse
Moataz Bellah said:
does your solution covers all Android manufacturers ?
Click to expand...
Click to collapse
Yep, and future manufactures too if the drivers don't change too much. And it isn't around 130MB like those files that you suggest downloading by using that torrent.
Moataz Bellah said:
The phenomenal v1.4 update is here
< --snip -->
Enjoy
Click to expand...
Click to collapse
Like how? 1.3 is available, not 1.4... just saying...
CXZa said:
Yep, and future manufactures too if the drivers don't change too much. And it isn't around 130MB like those files that you suggest downloading by using that torrent.
Like how? 1.3 is available, not 1.4... just saying...
Click to expand...
Click to collapse
Sorry for that delay, I was waiting for Softpedia to re-test/re-scan the update, I wanted the source of download to be them for additional trust, and to monitor the download count easily, now APKSharp v1.4 is ready. I also added your ADB drivers solution to the main post.
Moataz Bellah said:
Sorry for that delay, I was waiting for Softpedia to re-test/re-scan the update, I wanted the source of download to be them for additional trust, and to monitor the download count easily, now APKSharp v1.4 is ready. I also added your ADB drivers solution to the main post.
Click to expand...
Click to collapse
Okay, great, have to check what's this phenomenality is all about...
My driver package's phenomenality is maybe questionable but it usually does its ****...
Scrolling and filter issues
Overall appreciate your program. Very helpful and useful.
(Currently using ver 1.4 of your apk sharp program on the latest version of windows 10).
Having said this, there seems to be some issues with your program or perhaps
I am misunderstanding its use in certain places which hopefully you can clarify.
1. Is the “quick search” feature the same as your filter except it’s used at the very beginning to preclude the wait period as the app lines are created but then after that the filter is basically one’s search function?
2. Filter option issues:
Don’t understand how the filter works?
Example: If I type in the line number say 205 (of line 205; wuffy player etc.) no result is shown.
Any reason why typing in a number as my filter/search phrase won’t work?
If I type in “wuffy player” (without the quotes) a resulting line is shown as expected.
If I select the “wuffy player” phrase then do ctrl-c to copy then a ctrl-v to paste, its pasted correctly on the filter line but no result is subsequently shown so I am always forced to MANUALLY write in the search phrase which is NOT very helpful.
I even tried doing the ctrl-c OUTSIDE of your program using one of the csv files your program creates, and then tried the ctrl-v to paste in your program with no result. It is as if the ctrl-c or ctrl-v confuses your program.
I think you really need to resolve this because no one wants to always have to manually type in their search phrase every single time.
3. OR’s and ANDS’s in filter phrase – how to?
How do you do OR’s and AND’s with your filter? I tried “search phrase 1” “search phrase 2” (space in between, also tried commas, semi colons etc. in between the phrases) to execute an AND search but got no results.
For an OR’d phrase I tried “search phrase 1” | “search phrase 2” using the “|” as the separator and tried many other chars for the separator char but all yielded no results. Can you please explain how to do OR’s and AND’s when using your filter option?
4. Unnecessary scrolling of existing app lines:
After all the app lines are shown and one sorts say by name using option key ”1” for name, if one enters any char key like say “t” that is not a valid option key the entire app lines are unnecessarily re-scrolled which is quite annoying and provides no added value in doing so. The screen should remain as is with the invalid option char simply ignored.
Also, when a valid option key is pressed and its results are shown, the last valid char is seen on the line so if one backspaces which is a NATURAL user instinct to subsequently erase that char in order to select the next valid char option, all the existing app lines again get unnecessarily scrolled because the backspace just happens to be an invalid option selection char.
This is confusing because for a next valid selection to work, one needs to type in a valid option char at the same time a previous valid selection still remains on the line. This is not a natural user interaction.
Thanks
Ed R.
Burgrio said:
put it in the play store
Click to expand...
Click to collapse
No, I won't :laugh:
ed_ray said:
Overall appreciate your program. Very helpful and useful.
(Currently using ver 1.4 of your apk sharp program on the latest version of windows 10).
Having said this, there seems to be some issues with your program or perhaps
I am misunderstanding its use in certain places which hopefully you can clarify.
1. Is the “quick search” feature the same as your filter except it’s used at the very beginning to preclude the wait period as the app lines are created but then after that the filter is basically one’s search function?
2. Filter option issues:
Don’t understand how the filter works?
Example: If I type in the line number say 205 (of line 205; wuffy player etc.) no result is shown.
Any reason why typing in a number as my filter/search phrase won’t work?
If I type in “wuffy player” (without the quotes) a resulting line is shown as expected.
If I select the “wuffy player” phrase then do ctrl-c to copy then a ctrl-v to paste, its pasted correctly on the filter line but no result is subsequently shown so I am always forced to MANUALLY write in the search phrase which is NOT very helpful.
I even tried doing the ctrl-c OUTSIDE of your program using one of the csv files your program creates, and then tried the ctrl-v to paste in your program with no result. It is as if the ctrl-c or ctrl-v confuses your program.
I think you really need to resolve this because no one wants to always have to manually type in their search phrase every single time.
3. OR’s and ANDS’s in filter phrase – how to?
How do you do OR’s and AND’s with your filter? I tried “search phrase 1” “search phrase 2” (space in between, also tried commas, semi colons etc. in between the phrases) to execute an AND search but got no results.
For an OR’d phrase I tried “search phrase 1” | “search phrase 2” using the “|” as the separator and tried many other chars for the separator char but all yielded no results. Can you please explain how to do OR’s and AND’s when using your filter option?
4. Unnecessary scrolling of existing app lines:
After all the app lines are shown and one sorts say by name using option key ”1” for name, if one enters any char key like say “t” that is not a valid option key the entire app lines are unnecessarily re-scrolled which is quite annoying and provides no added value in doing so. The screen should remain as is with the invalid option char simply ignored.
Also, when a valid option key is pressed and its results are shown, the last valid char is seen on the line so if one backspaces which is a NATURAL user instinct to subsequently erase that char in order to select the next valid char option, all the existing app lines again get unnecessarily scrolled because the backspace just happens to be an invalid option selection char.
This is confusing because for a next valid selection to work, one needs to type in a valid option char at the same time a previous valid selection still remains on the line. This is not a natural user interaction.
Thanks
Ed R.
Click to expand...
Click to collapse
Overall thank you so much for this highly constructive feedback :victory:
1. & 2. "Quick Search" only searches for a package name (not app name) inside user/sys apps, so to search for "Google Play Store" app, you need to type any part of the package name which is "com.android.vending", so just typing "vend" will do the job.
"Filter" will search in the current cached list of apps for an EXACT phrase like: "cpu arch" or "app name" or "package name", so just typing "arm64-v8a" or "play store" or "vend" will give the same result, but you can't use more than 1 filter in the same time, so you can't say "play store arm64-v8a", you also don't need to specify a full word/phrase, just typing "sto" or "pla", is enough to get "Google Play Store".
3. Sorry if you get lost in this, the default filter is an EXACT phrase like I said above, if you find it necessary, I can add "OR" & "AND" filter later.
4. I've added a small update here to prevent apps relisting when an unsupported character is provided.
Please also note that with sorting, pressing the digits from 1 to 5 two times will reverse the sorting method (ascending/decending), so you can get the biggest/smallest app in size at the end by pressing '4' two times.
I'll add this in the main post later, thanks again and have a nice day.
Ooh, this looks like just what I needed to remove bloatware (without touching the necessary stuff). Two questions:
1. Does this work for a samsung galaxy s7 (G930T)?
2. How do I get started? (Instructions on how to use would be nice.)
Hopefully this works for my device (I tried using ADB to uninstall stuff, but kept hitting issues (and reset several times), so now it's sitting in a new (unopened) state. Important stuff is backed up before I started the uninstalling.
pyereciae2788 said:
Ooh, this looks like just what I needed to remove bloatware (without touching the necessary stuff). Two questions:
1. Does this work for a samsung galaxy s7 (G930T)?
2. How do I get started? (Instructions on how to use would be nice.)
Hopefully this works for my device (I tried using ADB to uninstall stuff, but kept hitting issues (and reset several times), so now it's sitting in a new (unopened) state. Important stuff is backed up before I started the uninstalling.
Click to expand...
Click to collapse
As long as
Code:
adb devices
detects your device, you're good to go.
1. It should work for any Android device/emulator, if you have an issue, let us know, screenshot it, etc...
2. Just follow the on-screen instructions and press the corresponding keys, maybe watch the video in the 1st post.
AHHH~
This worked better than I expected (especially the part where it lists the package name along with the file name). Also, thanks for color-coding everything! I can finally tell what something is, the file name, version, etc. It's also easier than using ADB for uninstalling, as it's just searching for the names, filtering with "6" + Enter, then uninstalling with "u" + Enter then the numbers with plus signs in between (e.g. 1+2+3). Much faster and simpler than "pm uninstall -k --user 0 [FILE NAME]" where [FILE NAME] is what the file name is (e.g. com.nimblebit.pocketfrogs for Pocket Frogs).
Now I can sleep without worrying to much...
I think one error is when I tried to undo uninstalling but it just gives "Uninstalled system apps:" then moves on as normal without the app being re-installed...

Categories

Resources