[size=+3]What is it?[/size]
Devs these days think they need a toast for every little thing. I won't name names or apps, but you know what they are. Well, this module will block those pesky toasts with patterns or strings (escape all .?^&$*-()[]{} with \). See http://developer.android.com/reference/java/util/regex/Pattern.html
[size=+3]Requirements![/size]
* [size=+1]Xposed![/size] Get it here (Xposed repository) or here (XDA thread) and post any Xposed related issues in its thread.
* Your Android smart device. UnToaster should* support Gingerbread and up (the OSs that Xposed supports).
[size=+3]Things to Note[/size]
* I can't guarantee the functionality if this mood if you have another that also hooks into the Toast class. That said, this works with the latest Burnt Toast (1.0) and Buttered Toast (1.1).
* I'm too lazy, and there's not much room for it anyway, to add a Copy button. This can be achieved by clicking the package name you want to copy, change the package name, and click Save. The original file will be preserved and a new file added.
* Renaming is the same plus click the old one and click Delete.
* If you have a bug, give me the error.log from Xposed and a logcat *in this thread* - PM logs will be missed or ignored.
Code:
tail -n 100 /data/data/de.robv.android.xposed.installer/log/error.log >/sdcard/UnToaster.log;
logcat -d | egrep "System\.err|UnToaster" >>/sdcard/UnToaster.log;
** I'm not flashing a ROM or buy a phone just to debug your problem and I only have an SGS2 and an SGS4.
* If you have a suggestion, post it. I will entertain just about any suggestion so long as it's feasible, practical, and within the scope of this mod.
* Donations are accepted, but are neither required nor expected and currently, there are no perks for donating. Any donations will be logged. And should I add any perks, they will be retroactive.
* If you would like it translated, translate it. You can get the strings.xml file from GitHub, but there's not much there to translate.
[size=+3]Examples[/size]
*
* (+v1.2.6) To get the package name, you can look in the logcat after you see the toast. Command line: logcat | grep "I/UnToaster"
* A blank pattern box is the same as ".*".
* (+v1.1.2) Using "all" as a package name will allow you to block the same pattern from all apps. Even newly installed ones. In 1.1.5 and up, you must put something in "all" or it won't get processed.
Code:
Connected to Wi-Fi.*
.*successful
.*loaded.*
Can\'t find phone number [\d]{7,11}
Can\'t find phone number 1{0,1} \([\d]{3}\) [\d]{3}[-\s][\d]{4}
^\[.*\].*
[size=+3]Screenshots[/size]
[size=+3]Disclaimer[/size]
I am not responsible for your device. It you mess it up, it's your fault. Not mine. Not the app's. Yours and yours alone.
[size=+3]License[/size]
Code:
/*
* Copyright 2014 Eric Gingell (c)
*
* UnToasted is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* UnToasted is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with UnToasted. If not, see .
*/
[size=+3]Downloads and Source[/size]
[size=+2]Source[/size]
* GitHub
[size=+2]Current Version[/size]
[size=+1]Version name: 1.2.8[/size]
Download: com.egingell.untoaster_v20_8d0e67.apk (127.6 KB)
MD5 checksum: 8d0e671eb5758345544b7c4cb4826629
Changes: NPE's no longer shown in the log.
[size=+2]Older Versions[/size]
[size=+1]Version name: 1.2.7.1[/size]
Download: com.egingell.untoaster_v19_29957f.apk (127.38 KB)
MD5 checksum: 29957f2ac9f52fb419ea6252c977485e
Changes: Oops. I forgot to "finish" the log activity when switching back to edit mode.
[size=+1]Version name: 1.2.7[/size]
Download: com.egingell.untoaster_v18_be8cd5.apk (127.38 KB)
MD5 checksum: be8cd5b9e54f88e595b54fc0a9b8f09d
Changes: Added in-app logs.
[size=+1]Version name: 1.2.6[/size]
Download: com.egingell.untoaster_v17_112263.apk (72.9 KB)
MD5 checksum: 11226334106fd36542fd49ae3c01d351
Changes: Using logcat instead of Xposed to log info (logcat | grep "UnToaster").
[size=+1]Version name: 1.2.5[/size]
Download: com.egingell.untoaster_v16_706b5b.apk (72.9 KB)
MD5 checksum: 706b5ba4191d47d60d4b1a6f730282a1
Changes: Xposed v52 had issues with my module's constructor. I don't know why it suddenly cropped up, but there you have it.
[size=+1]Version name: 1.2.4[/size]
Download: com.egingell.untoaster_v15_849860.apk (72.75 KB)
MD5 checksum: 84986088b0ab42c13eba98ff3da7c5f1
Changes: Per @rovo89 and @GermainZ in the Xposed Framework thread, I have switched my hook up slightly. It is unlikely that you, the user, will notice a difference.
More...
[size=+3]Other Notes[/size]
* I haven't tested this on KitKat *, JB 4.3 *, ICS, or Gingerbread, but they may work just as well. * Other members have stated that this works on 4.3 and 4.4.
* This doesn't work without an internal (built-in) SD card.
* This was tested on Touchwiz JB 4.1.2 and JB 4.2.2 stock.
[size=+3]Thanks[/size]
* @MohammadAG: For Buttered/Burnt Toast.
* @defim: For suggesting that I cache compiled regex patterns.
* @rovo89: For the Xposed framework without which this would not be possible.
* The numerous people, @FemBlack, @wanam, MohammadAG, rovo89, @zst123, and many others, who posted their source code for me and others to look at and learn from.
* MohammadAG, rovo89, @JamMasterClay, @GermainZ: For assisting me in figuring out the SharedPreferences dilemma.
Last edited: