Difference between revisions of "Voice Notify"

From Pilot_51's Wiki
Jump to navigation Jump to search
(Update Privacy Policy, remove Changelog in favor of GitHub, other updates)
 
(4 intermediate revisions by the same user not shown)
Line 1: Line 1:
[[Image:voicenotify_qrcode_l.png|right|210px|Scan this QR Code with an Android device to go to Voice Notify in the Android Market]]
+
[[Image:voicenotify_qrcode_l.png|right|210px|Scan this QR Code with an Android device to go to Voice Notify in Google Play]]
'''Voice Notify''' is an open source Android app that uses Text-To-Speech through the Accessibility service in Android 1.6 and above to speak notification messages from the status bar when they appear, allowing you to know what a notification says without looking at the screen. It features a fully customizable spoken message and a list of installed apps which can be ignored.<br />
+
'''Voice Notify''' is an open source Android app that uses Text-To-Speech through the Notification Listener service in Android 4.3 and above to speak notification messages from the status bar when they appear, allowing users to know what a notification says without looking at the screen. It features a fully customizable spoken message and a list of installed apps which can be ignored.<br />
 
<br />
 
<br />
 
Price: Free!<br />
 
Price: Free!<br />
 
Open source license: [http://apache.org/licenses/LICENSE-2.0 Apache License 2.0]<br />
 
Open source license: [http://apache.org/licenses/LICENSE-2.0 Apache License 2.0]<br />
 +
Started development: 2011-02-03<br />
 +
Initial release: 2011-02-13<br />
 
<br />
 
<br />
 
== Links ==
 
== Links ==
 
*<b>[http://play.google.com/store/apps/details?id=com.pilot51.voicenotify Voice Notify on Google Play]</b>
 
*<b>[http://play.google.com/store/apps/details?id=com.pilot51.voicenotify Voice Notify on Google Play]</b>
*[http://github.com/pilot51/voicenotify Voice Notify on GitHub]
+
*<b>[http://github.com/pilot51/voicenotify Voice Notify on GitHub]</b> (source code, issue tracker, release notes, APK download)
*[http://getlocalization.com/voicenotify Voice Notify on GetLocalization] (crowdsourced translations)
+
*[https://hosted.weblate.org/projects/voice-notify Voice Notify on Weblate] (crowdsourced translations)
*<b>[http://tracker.pilot51.com/describecomponents.cgi?product=Voice%20Notify Voice Notify issue tracker]</b> (view or submit problems and suggestions)
 
*[http://pilot51.com/apk/voicenotify Direct download APK] (all versions available; not recommended for most users)
 
*[http://voicenotify.pilot51.com voicenotify.pilot51.com] (forwards here)
 
 
<br />
 
<br />
== Changelog ==
+
== Privacy Policy ==
Dates are in GMT.
+
Voice Notify does not collect or transmit data off of the device. However, it does use third party apps or services that may transmit data, as outlined below under "Third party apps and services".<br />
 
 
==== v1.0.11 [2014-01-01] ====
 
*Italian translation updated by Matteo Regoli (Teorouge).
 
*Add option to pause/dim other media while speaking. [Code contributed by Scott Albertine]
 
*Add support for new widget picker. [Code contributed by 1karu5]
 
*Add option to ignore empty notifications (previously they were always ignored).
 
*Add support for more audio streams: Voice, Ring, Alarm
 
*Add option to donate through Google Wallet.
 
*Fix service status in config not updating when resumed from background.
 
*Fix handling of TTS initialization, preventing notifications from being missed and other possible issues.
 
 
 
==== v1.0.10.1 [2013-06-11] ====
 
*Fix crash on some devices when initializing TTS before speech if TTS Delay or TTS Repeat is set. This seems to have mainly affected quad-core devices.
 
*Don't interrupt speech when screen changes to ignored state.
 
*French translation updated by Titan44.
 
 
 
==== v1.0.10 [2013-06-08] ====
 
*New translations: French by caliann and Souln77, German by massimo2001, Hungarian by njozsef.
 
*Make speaking of toasts optional in Android 3.0+.
 
*Add un/ignore in Notification Log via long-press & confirm.
 
*Increase Notification Log history limit from 10 to 20.
 
*Instead of "Enable/Disable", indicate whether VN service is running.
 
*Add menu option in App List to show soft keyboard for filtering. This solves devices without hardware keyboard unable to filter.
 
*Add widget. Color indicates service status. Clicking it toggles service suspend or opens Accessibility settings if disabled.
 
*Only run TTS service while speaking. Reduces memory usage while not speaking and hopefully fixes issues with audio from other apps not being restored after speaking completes.
 
*Add GetLocalization and GitHub to Support menu.
 
*Add basic info to support email body: VN version, Android version, Android build number, Device.
 
*Fix crash when viewing log with app not yet in app list.
 
*Fix crash when viewing log during TTS Delay & ignore.
 
*Fix crash when resuming App List after process death.
 
*Fix crash when notification received and not ignored with TTS Delay set between 2147484 and 2147483647 seconds.
 
*Fix crashes when opening App List multiple times while loading. Also fixes duplicates in App List if it doesn't crash.
 
*Major performance boost on first load of app list.
 
*TTS Repeat improvements. Fixes crash with TTS Repeat set between 35792 and 2147483647 minutes. Hopefully fixes [http://tracker.pilot51.com/29 issue 29].
 
 
 
v1.0.10 public beta released on 2013-06-03.
 
 
 
==== v1.0.9.1 [2012-11-26] ====
 
*Fix crash when opening App List and an uninstalled app gets removed from cache.
 
*Fix shake sensor remaining active after TTS stops speaking. Fixes shake applying to last notification in Log long since done speaking. Possibly resolves the reported excessive battery usage.
 
*Significant improvement to shake detection, fixing erroneous detections.
 
*Don't allow installing/moving to SD card since it causes problems.
 
 
 
==== v1.0.9 [2012-11-15] ====
 
*Add Russian translation by Max Ponomaryov (ceejay).
 
*Add Spanish translation by PaoloNB.
 
*Add Shake-To-Silence preference to configure sensitivity threshold.
 
*In Notification Log, show reasons in yellow if silenced after speaking started.
 
*Change keyboard type for number preferences from "phone" to "number".
 
*Fix [http://tracker.pilot51.com/30 issue 30]: VN not appearing in Android 4.2 Accessibility list.
 
*Fix some ignore reasons not showing in Notification Log.
 
*Fix crash when ignoring all/none while App List is loading.
 
*Fix crash when running Test on Android 4.2 device in vibrate mode (add vibrate permission).
 
 
 
==== v1.0.8 [2012-08-04] ====
 
*Add Italian translation by Teorouge.
 
*Fix [http://tracker.pilot51.com/27 issue 27]: Accessibility broken in Android 4.1 (Jelly Bean).
 
*Add shake-to-silence.
 
*Add notification log. Shows list of last 10 notifications with time, app name, message, and ignore reasons. Log data is only kept in memory for the life of the process.
 
*Add option for TTS to repeat notifications at a custom interval in minutes while screen is off.
 
*Fix Ignored Text not working when containing capital letters.
 
 
 
==== v1.0.7.2 [2012-03-28] ====
 
*Fix mislabeled device states (on and off were swapped).
 
*Fix somewhat rare crash at start caused by NullPointerException (I don't know why, couldn't reproduce) when checking if the old ignores file exists before transferring to database.
 
 
 
==== v1.0.7.1 [2012-03-27] ====
 
*Fix crash when notification received and Ignore Text is not set/initialized.
 
 
 
==== v1.0.7 [2012-03-26] ====
 
*Add Ignore Text preference.
 
*Add Ignore Repeats preference. Default, which was previously hard-coded, is to ignore identical consecutive notifications within 10 seconds.
 
*Add Silent/Vibrate to Device States preference. Default, which was previously hard-coded, is disabled (not speak).
 
*Default ignore for new apps is based on Ignore All/None.
 
*Change App List progress indicator to indeterminate title bar style since load time is much quicker.
 
*Change to a database to store ignores and to work as a cache for near-instant loading of App List. First time displaying App List will take some time to get all installed apps cached (loading app labels from the system is very slow).
 
*App search filtering now includes package names and search containing text instead of words starting with the search term.
 
*Show toast message when running Test with Voice Notify ignored.
 
*Check notification-independent ignores after TTS Delay instead of before.
 
*Stop speaking if headset changes to ignored state.
 
*Fix crash at service initialization on some (most?) Android 2.0.1 and lower devices.
 
*Fix/enable TTS Settings for ICS.
 
*Fix TTS Settings crash in Honeycomb & Android 4.0 (API 11-14).
 
 
 
==== v1.0.6 [2012-01-10] ====
 
*Add option for custom TTS Delay. Value in seconds.
 
*Add headset on/off to device states. Note: Due to API limitations, all Bluetooth devices are detected the same, headset or not.
 
*Add Bluetooth permission. Required to detect Bluetooth connections.
 
*Add option to post a test notification. Delayed 5 seconds to allow user to, for example, turn off the screen.
 
*Fix crash when notification received on Android 2.0.1 or lower. My bad, in v1.0.4 I used an API introduced in 2.1 without realizing.
 
*Fix crash when opening TTS Settings on some devices. Now the option is disabled if TTS settings could not be found. Please contact me if you have an affected device that has TTS settings.
 
 
 
==== v1.0.5 [2011-12-18] ====
 
*Fix [http://tracker.pilot51.com/10 issue 10]: App List jumps slightly when item toggled.
 
*Fix crash when opening TTS Settings on Google TV.
 
*Fix crash when filtering App List.
 
*Ignore All/None only applies to apps in filter.
 
 
 
==== v1.0.4 [2011-12-12] ====
 
*Add option to select whether to speak with screen on or off. ([http://tracker.pilot51.com/25 issue 25])
 
*Remove touchscreen requirement (makes compatible with Google TV).
 
 
 
==== v1.0.3 [2011-10-23] ====
 
*Fix [http://tracker.pilot51.com/24 issue 24]: On some devices (mostly tablets) while using an external audio device, audio stops working for other apps when VN speaks on Notification stream and doesn't return, requiring VN to either be disabled or to speak on Media stream. Now, the audio will still stop, but it returns after TTS completes. [Thanks for all the reports and big thanks to [https://plus.google.com/115123396002525155383 Sum Wun] for helping test fixes!]
 
*Special characters | [ ] { } * < > in notification messages are not spoken (replaced with a space).([http://tracker.pilot51.com/23 issue 23])
 
*Change default audio stream back to Media.
 
*Notifications are ignored when device is in silent or vibrate mode. (only really a difference for Media stream, as Notification stream already matches the mode)
 
*Notifications are ignored while phone is ringing or in a call.
 
*Add Quiet Time option.
 
*Add options to rate/comment (Market) or contact developer (email app).
 
 
 
==== v1.0.2 [2011-04-05] ====
 
*Fix Ignore All option creating duplicate ignores, sometimes requiring multiple touches to enable an app.
 
*Add option to donate through Paypal (opens Paypal donate page in external browser).
 
*Fix speaking of quickly repeated notifications (usually progress bars).
 
*Add option to change TTS between Notification and Media audio streams. Solution to Bluetooth issue reported by SRadner.
 
*Fix App List jumping to top when selection changed. (rough/temporary workaround, list still jumps by up to one item)
 
 
 
==== v1.0.1 [2011-03-28] ====
 
*Fix crash when custom TTS message contains an unsupported percent variable. [reported by SRadner]
 
*TTS runs on Notification audio stream instead of Media stream, also removed control of media volume while displayed.
 
*Add App List menu options to ignore all or none.
 
 
 
==== v1.0.0 [2011-02-13] ====
 
*Initial release to the Android Market!<br />
 
 
<br />
 
<br />
'''Started development on 2011-02-03'''
+
In the unlikely event that sensitive or personal information is received by the developer, it will not be sold, shared, copied, or used without the express consent of who the information belongs to. In the absence of consent, the information will be deleted if possible.<br />
 +
<br />
 +
The purpose of Voice Notify is to speak notifications, and as such it is likely that spoken notifications may be heard by people or microphones in the vicinity. It is recommended to configure Voice Notify and the device to prevent undesired spoken notifications. Use at your own risk.<br />
 +
<br />
 +
The notifications received by Voice Notify are only held in memory to be displayed in the Notification Log (up to the most recent 20) and are not written to storage. This prevents other apps from accessing the data, especially if the device is rooted. As a result, if the Voice Notify process is terminated, the notification log is cleared.<br />
 +
<br />
 +
Installed apps are read and listed to allow users to choose which apps have their notifications spoken. The app titles and package names are stored in a database in Voice Notify's internal private data storage on the device to save selections and act as a cache to improve performance of loading the app list.<br />
 +
<br />
 +
Third party apps and services:<br />
 +
• Text-To-Speech engine - Voice Notify passes notification text to be spoken to the default Text-To-Speech engine, which is outside the direct control of Voice Notify. Please read the privacy policy of the TTS engine for how it uses data.<br />
 +
• Google Play Services may send anonymized crash and basic analytical data back to the developer to assist in improving the app.<br />
 +
• Messaging app - The "Contact Developer" option opens the user's chosen or default messaging app, such as an email app, and pre-populates the message with the Voice Notify version, Android version, Android build number, and device name. For an email app, the "To" field is set to the developer's address (pilota51@gmail.com). By sending the message, the user understands and consents to their name and contact information being shared with the recipient(s), as determined by the messaging app.<br />
 +
• Other options under "Help & Support" open the relevant external apps or websites (Play Store, Weblate.org, GitHub.com), only sending a hard coded URL to the Voice Notify page.<br />
 +
<br />
 +
Below are the permissions used by Voice Notify and why they're needed:<br />
 +
• Bluetooth - Required to detect whether Bluetooth headset is connected.<br />
 +
• Vibrate - Required for Test feature while phone is in vibrate mode.<br />
 +
• Modify Audio Settings - Required for improved wired headset detection.<br />
 +
• Read Phone State - Required to interrupt TTS if a phone call becomes active.<br />
 
[[Category:Android]]
 
[[Category:Android]]

Latest revision as of 20:11, 7 August 2022

Scan this QR Code with an Android device to go to Voice Notify in Google Play

Voice Notify is an open source Android app that uses Text-To-Speech through the Notification Listener service in Android 4.3 and above to speak notification messages from the status bar when they appear, allowing users to know what a notification says without looking at the screen. It features a fully customizable spoken message and a list of installed apps which can be ignored.

Price: Free!
Open source license: Apache License 2.0
Started development: 2011-02-03
Initial release: 2011-02-13

Links


Privacy Policy

Voice Notify does not collect or transmit data off of the device. However, it does use third party apps or services that may transmit data, as outlined below under "Third party apps and services".

In the unlikely event that sensitive or personal information is received by the developer, it will not be sold, shared, copied, or used without the express consent of who the information belongs to. In the absence of consent, the information will be deleted if possible.

The purpose of Voice Notify is to speak notifications, and as such it is likely that spoken notifications may be heard by people or microphones in the vicinity. It is recommended to configure Voice Notify and the device to prevent undesired spoken notifications. Use at your own risk.

The notifications received by Voice Notify are only held in memory to be displayed in the Notification Log (up to the most recent 20) and are not written to storage. This prevents other apps from accessing the data, especially if the device is rooted. As a result, if the Voice Notify process is terminated, the notification log is cleared.

Installed apps are read and listed to allow users to choose which apps have their notifications spoken. The app titles and package names are stored in a database in Voice Notify's internal private data storage on the device to save selections and act as a cache to improve performance of loading the app list.

Third party apps and services:
• Text-To-Speech engine - Voice Notify passes notification text to be spoken to the default Text-To-Speech engine, which is outside the direct control of Voice Notify. Please read the privacy policy of the TTS engine for how it uses data.
• Google Play Services may send anonymized crash and basic analytical data back to the developer to assist in improving the app.
• Messaging app - The "Contact Developer" option opens the user's chosen or default messaging app, such as an email app, and pre-populates the message with the Voice Notify version, Android version, Android build number, and device name. For an email app, the "To" field is set to the developer's address (pilota51@gmail.com). By sending the message, the user understands and consents to their name and contact information being shared with the recipient(s), as determined by the messaging app.
• Other options under "Help & Support" open the relevant external apps or websites (Play Store, Weblate.org, GitHub.com), only sending a hard coded URL to the Voice Notify page.

Below are the permissions used by Voice Notify and why they're needed:
• Bluetooth - Required to detect whether Bluetooth headset is connected.
• Vibrate - Required for Test feature while phone is in vibrate mode.
• Modify Audio Settings - Required for improved wired headset detection.
• Read Phone State - Required to interrupt TTS if a phone call becomes active.