https://pilot51.com/w/api.php?action=feedcontributions&user=Pilot+51&feedformat=atomPilot_51's Wiki - User contributions [en]2024-03-29T00:23:20ZUser contributionsMediaWiki 1.35.2https://pilot51.com/w/index.php?title=Voice_Notify&diff=1345Voice Notify2022-08-07T20:11:30Z<p>Pilot 51: Update Privacy Policy, remove Changelog in favor of GitHub, other updates</p>
<hr />
<div>[[Image:voicenotify_qrcode_l.png|right|210px|Scan this QR Code with an Android device to go to Voice Notify in Google Play]]<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 /><br />
Price: Free!<br /><br />
Open source license: [http://apache.org/licenses/LICENSE-2.0 Apache License 2.0]<br /><br />
Started development: 2011-02-03<br /><br />
Initial release: 2011-02-13<br /><br />
<br /><br />
== Links ==<br />
*<b>[http://play.google.com/store/apps/details?id=com.pilot51.voicenotify Voice Notify on Google Play]</b><br />
*<b>[http://github.com/pilot51/voicenotify Voice Notify on GitHub]</b> (source code, issue tracker, release notes, APK download)<br />
*[https://hosted.weblate.org/projects/voice-notify Voice Notify on Weblate] (crowdsourced translations)<br />
<br /><br />
== Privacy Policy ==<br />
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 /><br />
<br /><br />
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 />
<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 />
<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 />
<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 />
<br /><br />
Third party apps and services:<br /><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 /><br />
• Google Play Services may send anonymized crash and basic analytical data back to the developer to assist in improving the app.<br /><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 /><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 />
<br /><br />
Below are the permissions used by Voice Notify and why they're needed:<br /><br />
• Bluetooth - Required to detect whether Bluetooth headset is connected.<br /><br />
• Vibrate - Required for Test feature while phone is in vibrate mode.<br /><br />
• Modify Audio Settings - Required for improved wired headset detection.<br /><br />
• Read Phone State - Required to interrupt TTS if a phone call becomes active.<br /><br />
[[Category:Android]]</div>Pilot 51https://pilot51.com/w/index.php?title=Lander&diff=1341Lander2018-05-20T13:45:14Z<p>Pilot 51: /* Links */ Update links</p>
<hr />
<div>'''Lander''' is a variant of Lunar Lander for Windows 3.1, developed by [http://neurohack.com George Moromisato] in 1990.<br /><br />
<br /><br /><br />
<br />
== Links ==<br />
*<b>[http://pilot51.com/lander/Lander13.exe Download v1.3 from my server]</b><br />
*[http://pilot51.com/lander/Lander12.exe Download v1.2 from my server]<br />
*[http://pilot51.com/lander/Lander11.exe Download v1.1 from my server]<br />
*[[Lander (Android)|Android port of Lander]]<br />
*[[Lander (Java)|Java port of Lander]]<br />
*[https://archive.org/search.php?query=creator%3A%22George%20Moromisato%22%20lander Lander on Archive.org]<br />
*[http://win3game.com/fileinfo-game-lander3.html Lander on Win3Game.com]<br />
<br /><br /><br />
<br />
== Readme file (LANDER.WRI) ==<br />
LANDER v1.1<br /><br />
by George Moromisato<br /><br />
Copyright (c) 1990 by TMA<br /><br />
<br /><br />
Welcome to Lander!<br /><br />
<br /><br />
Lander is a real-time simulation of a Lunar Excursion Module on its final approach to the lunar surface. As the pilot of the lander, you must control the vertical and horizontal rockets to guide your craft to a safe landing.<br /><br />
<br /><br />
Playing the Game<br /><br />
<br /><br />
As a Windows application, Lander attempts to conform to the guidelines set by Microsoft. You may play the game with either the keyboard or the mouse using standard interface conventions. For example, you may make menu selections and interact with dialog boxes as you would in any other Windows program.<br /><br />
<br /><br />
When the game first starts, your lander is at one thousand meters. Press any key or click on the window with the mouse to start the game. The display on the upper-right part of the screen shows your altitude, horizontal velocity, vertical velocity, and remaining fuel. The three buttons below let you apply thrust in three different directions: left, right and down. The object of the game is to land on flat terrain with a horizontal velocity of less than one meter per second and a vertical velocity of less than ten meters per second.<br /><br />
<br /><br />
Status Information<br /><br />
<br /><br />
The different pieces of information displayed on the screen are described below.<br /><br />
<br /><br />
Altitude: The altitude of the lander with respect to the landing pad is displayed in meters. Note that this display is only accurate to within a few meters because of round-off errors.<br /><br />
<br /><br />
Velocity X: The horizontal velocity of the lander is displayed in meters per second. If the velocity is negative, the lander is moving to the left; if positive, it is moving to the right. The horizontal velocity must be between -1 and 1 meters per second for a safe landing.<br /><br />
<br /><br />
Velocity Y: The vertical velocity of the lander is displayed in meters per second. A negative velocity indicates that the lander is falling towards the ground. The lander must land with a velocity less than ten meters per second.<br /><br />
<br /><br />
Fuel: The fuel left in the lander is displayed in kilograms. This contributes to the weight of the lander.<br /><br />
<br /><br />
Thrust Controls<br /><br />
<br /><br />
The vertical thrust control burns ten kilograms of fuel per second and applies a constant vertical force. The horizontal thrust controls burn two kilograms of fuel per second and apply force horizontally. By default, the right control will thrust to the right, pushing the lander to the left, but you may change this in the Options screen. (See Lander Options.)<br /><br />
<br /><br />
New Game and Restart Game<br /><br />
<br /><br />
Selecting New from the Game menu will generate a new random terrain and start the lander at one thousand meters. Selecting Restart will restart the lander but use the current terrain.<br /><br />
<br /><br />
Lander Options<br /><br />
<br /><br />
Several options and parameters can be changed with this screen. The fields available are described below:<br /><br />
<br /><br />
Gravity: The acceleration due to gravity may vary from 1.0 to 9.0 meters per second per second in increments of 1.0 meter per second per second. The default is 3.0 meters per second.<br /><br />
<br /><br />
Fuel: The initial fuel of the lander may vary from 200 to 2,000 kilograms of fuel in increments of 200 kilograms. The default is 1,000 kilograms.<br /><br />
<br /><br />
Thrust: The force applied by the main thruster may vary from 5,000 to 22,500 Newtons in increments of 2,500 Newtons. The default is 10,000 Newtons.<br /><br />
<br /><br />
Reverse Thrust: If you prefer the left thrust button to move the lander to the left and the right button to move the lander to the right, select this option. This option is off by default.<br /><br />
<br /><br />
Draw Flame: If you want the computer to draw a flame on the lander while it is thrusting, select this option. Because the game is faster if it does not draw the flame, players with slower machines may wish to turn this option off. This option is on by default.<br /><br />
<br /><br />
System Requirements<br /><br />
<br /><br />
Lander requires Microsoft Windows 3.0 or higher to run; it will not run under Windows 2.x.<br /><br />
<br /><br />
Source Code<br /><br />
<br /><br />
The source code for this program, written in Microsoft C 5.1, is available from TMA for $15. If you would like to see the code, including all resource files and bitmaps, please send a check or money order to:<br /><br />
<br /><br />
TMA<br /><br />
15 Whittier Rd.<br /><br />
Natick, MA 01760<br /><br />
(508) 655-5823<br /></div>Pilot 51https://pilot51.com/w/index.php?title=Voice_Notify&diff=1340Voice Notify2017-12-11T07:12:55Z<p>Pilot 51: Add v1.1.0 and Privacy Policy, plus some other updates.</p>
<hr />
<div>[[Image:voicenotify_qrcode_l.png|right|210px|Scan this QR Code with an Android device to go to Voice Notify in the Android Market]]<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 /><br />
Price: Free!<br /><br />
Open source license: [http://apache.org/licenses/LICENSE-2.0 Apache License 2.0]<br /><br />
<br /><br />
== Links ==<br />
*<b>[http://play.google.com/store/apps/details?id=com.pilot51.voicenotify Voice Notify on Google Play]</b><br />
*<b>[http://github.com/pilot51/voicenotify Voice Notify on GitHub]</b> (source code and issue tracker)<br />
*[http://getlocalization.com/voicenotify Voice Notify on GetLocalization] (crowdsourced translations)<br />
*[http://voicenotify.pilot51.com voicenotify.pilot51.com] and [http://vn.p51.me vn.p51.me] (forwards here)<br />
<br /><br />
== Privacy Policy ==<br />
Voice Notify developers are not responsible for any undesired spoken notifications, as users should configure VN and their device to prevent unwanted spoken notifications. However, users should not expect any broad configuration to work perfectly for all possible cases, which is a risk they must accept if they use VN.<br />
<br />
Notification data is received by Voice Notify and, if settings allow, is sent to the Text-To-Speech engine. The data is also temporarily kept in a notification log that holds up to 20 notifications and is only kept in memory, never written to storage or sent anywhere else. The TTS engine is outside the direct control of Voice Notify and could potentially use spoken text for other purposes.<br />
<br />
Installed apps are read and listed to allow users to (un)ignore notifications from individual apps. The app titles and package names are stored in a database in VN's internal private data storage.<br />
<br />
The Contact Developer option prepopulates an email message (or whatever app the user chooses to launch) with the VN version, Android version, Android build number, and device name. The message is not sent until the user chooses to do so.<br />
<br />
Below are the used permissions and why they're needed:<br /><br />
Bluetooth - Required to detect whether Bluetooth headset is connected.<br /><br />
Vibrate - Required for Test feature while phone is in vibrate mode.<br /><br />
Modify Audio Settings - Required for improved wired headset detection.<br /><br />
Read Phone State - Required to interrupt TTS if a phone call becomes active.<br />
<br />
== Changelog ==<br />
Dates are in GMT.<br />
<br />
==== v1.1.0 [2017-12-11] ====<br />
*Update minSdkVersion from 4 (Android 1.6) to 18 (Android 4.3).<br />
*Update build SDK to 27 (Android 8.1) for visual refresh and new APIs such as Notification Listener.<br />
*Switch from Accessibility to Notification Listener service.<br />
*Remove support for reading toasts (Accessibility feature).<br />
*Support reading much more notification content (TTS Message default changed as a result).<br />
*Add TTS Text Replacement option.<br />
*Add option to truncate messages. [contributor: Mark Burton]<br />
*Enable speaking caller ID while ringing (requires READ_PHONE_STATE permission).<br />
*Enable fast scroll in App List. [contributor: Damien Degois]<br />
*Move TTS preferences into separate screen.<br />
*Fix issue with repeated message detection. [contributor: Mark Burton]<br />
*Fix Google Wallet launcher.<br />
*Add crowdsourced translations: Czech, Greek, Dutch, Portuguese<br />
<br />
==== v1.0.12 [2014-05-04] ====<br />
*Fix Google Now hotword disabled while VN service running.<br />
*Use better headset connectivity detection for Android 2.0+. Requires Modify Audio Settings permission. [Code contributed by Chris Rae (pugwonk)]<br />
*Fix [https://github.com/pilot51/voicenotify/issues/24 issue 24]: Shake-To-Silence silencing future notifications.<br />
<br />
==== v1.0.11.2 [2014-02-10] ====<br />
*Fix crash when DeviceStateReceiver triggered while all notifications are ignored and the Notification Log is empty (usually happens at service start).<br />
*Update translations. Don't translate support email strings to encourage users to write in English. Russian updated by new translator: vanetned<br />
<br />
==== v1.0.11.1 [2014-01-12] ====<br />
*Add mention that Google Wallet Send Money is only available in the United States.<br />
*Fix status showing suspended and nothing happening when clicked after suspending with widget and then disabling VN.<br />
*Fix crash at launch for API 7 (2.1) and earlier.<br />
*Fix wrong app toggled when un/checking app in filtered list. [Code contributed by 1karu5]<br />
*Fix VN crashing or ceasing to function in some situations, plus other TTS fixes. [Code contributed by Scott Albertine]<br />
<br />
==== v1.0.11 [2014-01-01] ====<br />
*Italian translation updated by Matteo Regoli (Teorouge).<br />
*Add option to pause/dim other media while speaking. [Code contributed by Scott Albertine]<br />
*Add support for new widget picker. [Code contributed by 1karu5]<br />
*Add option to ignore empty notifications (previously they were always ignored).<br />
*Add support for more audio streams: Voice, Ring, Alarm<br />
*Add option to donate through Google Wallet.<br />
*Fix service status in config not updating when resumed from background.<br />
*Fix handling of TTS initialization, preventing notifications from being missed and other possible issues.<br />
<br />
==== v1.0.10.1 [2013-06-11] ====<br />
*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.<br />
*Don't interrupt speech when screen changes to ignored state.<br />
*French translation updated by Titan44.<br />
<br />
==== v1.0.10 [2013-06-08] ====<br />
*New translations: French by caliann and Souln77, German by massimo2001, Hungarian by njozsef.<br />
*Make speaking of toasts optional in Android 3.0+.<br />
*Add un/ignore in Notification Log via long-press & confirm.<br />
*Increase Notification Log history limit from 10 to 20.<br />
*Instead of "Enable/Disable", indicate whether VN service is running.<br />
*Add menu option in App List to show soft keyboard for filtering. This solves devices without hardware keyboard unable to filter.<br />
*Add widget. Color indicates service status. Clicking it toggles service suspend or opens Accessibility settings if disabled.<br />
*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.<br />
*Add GetLocalization and GitHub to Support menu.<br />
*Add basic info to support email body: VN version, Android version, Android build number, Device.<br />
*Fix crash when viewing log with app not yet in app list.<br />
*Fix crash when viewing log during TTS Delay & ignore.<br />
*Fix crash when resuming App List after process death.<br />
*Fix crash when notification received and not ignored with TTS Delay set between 2147484 and 2147483647 seconds.<br />
*Fix crashes when opening App List multiple times while loading. Also fixes duplicates in App List if it doesn't crash.<br />
*Major performance boost on first load of app list.<br />
*TTS Repeat improvements. Fixes crash with TTS Repeat set between 35792 and 2147483647 minutes. Hopefully fixes [http://tracker.pilot51.com/29 issue 29].<br />
<br />
v1.0.10 public beta released on 2013-06-03.<br />
<br />
==== v1.0.9.1 [2012-11-26] ====<br />
*Fix crash when opening App List and an uninstalled app gets removed from cache.<br />
*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.<br />
*Significant improvement to shake detection, fixing erroneous detections.<br />
*Don't allow installing/moving to SD card since it causes problems.<br />
<br />
==== v1.0.9 [2012-11-15] ====<br />
*Add Russian translation by Max Ponomaryov (ceejay).<br />
*Add Spanish translation by PaoloNB.<br />
*Add Shake-To-Silence preference to configure sensitivity threshold.<br />
*In Notification Log, show reasons in yellow if silenced after speaking started.<br />
*Change keyboard type for number preferences from "phone" to "number".<br />
*Fix [http://tracker.pilot51.com/30 issue 30]: VN not appearing in Android 4.2 Accessibility list.<br />
*Fix some ignore reasons not showing in Notification Log.<br />
*Fix crash when ignoring all/none while App List is loading.<br />
*Fix crash when running Test on Android 4.2 device in vibrate mode (add vibrate permission).<br />
<br />
==== v1.0.8 [2012-08-04] ====<br />
*Add Italian translation by Teorouge.<br />
*Fix [http://tracker.pilot51.com/27 issue 27]: Accessibility broken in Android 4.1 (Jelly Bean).<br />
*Add shake-to-silence.<br />
*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.<br />
*Add option for TTS to repeat notifications at a custom interval in minutes while screen is off.<br />
*Fix Ignored Text not working when containing capital letters.<br />
<br />
==== v1.0.7.2 [2012-03-28] ====<br />
*Fix mislabeled device states (on and off were swapped).<br />
*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.<br />
<br />
==== v1.0.7.1 [2012-03-27] ====<br />
*Fix crash when notification received and Ignore Text is not set/initialized.<br />
<br />
==== v1.0.7 [2012-03-26] ====<br />
*Add Ignore Text preference.<br />
*Add Ignore Repeats preference. Default, which was previously hard-coded, is to ignore identical consecutive notifications within 10 seconds.<br />
*Add Silent/Vibrate to Device States preference. Default, which was previously hard-coded, is disabled (not speak).<br />
*Default ignore for new apps is based on Ignore All/None.<br />
*Change App List progress indicator to indeterminate title bar style since load time is much quicker.<br />
*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).<br />
*App search filtering now includes package names and search containing text instead of words starting with the search term.<br />
*Show toast message when running Test with Voice Notify ignored.<br />
*Check notification-independent ignores after TTS Delay instead of before.<br />
*Stop speaking if headset changes to ignored state.<br />
*Fix crash at service initialization on some (most?) Android 2.0.1 and lower devices.<br />
*Fix/enable TTS Settings for ICS.<br />
*Fix TTS Settings crash in Honeycomb & Android 4.0 (API 11-14).<br />
<br />
==== v1.0.6 [2012-01-10] ====<br />
*Add option for custom TTS Delay. Value in seconds.<br />
*Add headset on/off to device states. Note: Due to API limitations, all Bluetooth devices are detected the same, headset or not.<br />
*Add Bluetooth permission. Required to detect Bluetooth connections.<br />
*Add option to post a test notification. Delayed 5 seconds to allow user to, for example, turn off the screen.<br />
*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.<br />
*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.<br />
<br />
==== v1.0.5 [2011-12-18] ====<br />
*Fix [http://tracker.pilot51.com/10 issue 10]: App List jumps slightly when item toggled.<br />
*Fix crash when opening TTS Settings on Google TV.<br />
*Fix crash when filtering App List.<br />
*Ignore All/None only applies to apps in filter.<br />
<br />
==== v1.0.4 [2011-12-12] ====<br />
*Add option to select whether to speak with screen on or off. ([http://tracker.pilot51.com/25 issue 25])<br />
*Remove touchscreen requirement (makes compatible with Google TV).<br />
<br />
==== v1.0.3 [2011-10-23] ====<br />
*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!]<br />
*Special characters | [ ] { } * < > in notification messages are not spoken (replaced with a space).([http://tracker.pilot51.com/23 issue 23])<br />
*Change default audio stream back to Media.<br />
*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)<br />
*Notifications are ignored while phone is ringing or in a call.<br />
*Add Quiet Time option.<br />
*Add options to rate/comment (Market) or contact developer (email app).<br />
<br />
==== v1.0.2 [2011-04-05] ====<br />
*Fix Ignore All option creating duplicate ignores, sometimes requiring multiple touches to enable an app.<br />
*Add option to donate through Paypal (opens Paypal donate page in external browser).<br />
*Fix speaking of quickly repeated notifications (usually progress bars).<br />
*Add option to change TTS between Notification and Media audio streams. Solution to Bluetooth issue reported by SRadner.<br />
*Fix App List jumping to top when selection changed. (rough/temporary workaround, list still jumps by up to one item)<br />
<br />
==== v1.0.1 [2011-03-28] ====<br />
*Fix crash when custom TTS message contains an unsupported percent variable. [reported by SRadner]<br />
*TTS runs on Notification audio stream instead of Media stream, also removed control of media volume while displayed.<br />
*Add App List menu options to ignore all or none.<br />
<br />
==== v1.0.0 [2011-02-13] ====<br />
*Initial release to the Android Market!<br /><br />
<br /><br />
'''Started development on 2011-02-03'''<br />
[[Category:Android]]</div>Pilot 51https://pilot51.com/w/index.php?title=PrediSat&diff=1339PrediSat2017-10-18T06:07:57Z<p>Pilot 51: v1.3.0 released.</p>
<hr />
<div>'''PrediSat''' is an Android app that grabs Iridium flare and satellite pass data from [http://Heavens-Above.com Heavens-Above.com] and formats it for the small screen of the phone. It also includes a few features to make satellite watching easier, such as alerts, countdowns, and night mode.<br /><br />
[[Image:predisat_qrcode.png|right|250px|Read this QR Code with an Android device to go to PrediSat in Google Play]]<br />
<br /><br />
== Links ==<br />
*<b>[http://play.google.com/store/apps/details?id=com.pilot51.predisat PrediSat on Google Play]</b><br />
*<b>[http://play.google.com/store/apps/details?id=com.pilot51.predisatpro PrediSat Pro on Google Play]</b><br />
*[http://heavens-above.com Heavens-Above] (the source of satellite data for PrediSat)<br />
*[https://github.com/pilot51/predisat/issues PrediSat issue tracker]<br />
*[http://predisat.com PrediSat.com], [http://predisat.pilot51.com predisat.pilot51.com], [http://predisat.p51.me predisat.p51.me] (forwards here)<br />
<br /><br /><br />
<br />
== Pro version ==<br />
[[Image:predisatpro_qrcode.png|right|220px|Read this QR Code with an Android device to go to PrediSat Pro in the Android Market]]<br />
The Pro version adds some advanced features on top of what is available in the free version. It may also include early features that will later be added to the free version.<br /><br />
Price is $1 (USD).<br /><br />
<br /><br />
Current Pro-only features:<br /><br />
*Multiple satellite USSC ID's can be entered for 10-day pass predictions<br />
*Multiple alerts per event can be set<br /><br />
*Text-To-Speech alerts (optional)<br /><br />
*Alerts automatically created based on custom magnitude when list is loaded with new data (optional)<br /><br />
*Sightings log<br /><br />
*Export sightings to CSV<br /><br />
*Import/export database<br /><br />
<br /><br />
<br />
== Changelog ==<br />
Dates are based on GMT.<br /><br />
==== v1.3.0 [2017-10-18] ====<br />
*Add xxhdpi icon.<br />
*Pro: Prevent excess spaces in Alert Time.<br />
*If not already granted, request location permission when Get Coordinates button pressed.<br />
*Add map to pick location.<br />
*Add background updater service.<br />
**Runs on a recurring schedule between cache expire time and 48 hours (or cache expire time if higher) at the system's discretion.<br />
**Requires both Cache Expire Time and Alert Time options to be set.<br />
*Use 12h/24h time as configured in the system.<br />
*Don't repeatedly update location from network while waiting for GPS location.<br />
*Fix some preference dialogs keeping changes when canceled and reopened.<br />
*Fix a notification crash.<br />
*Free: Remove ads. They were broken and paid very little when they worked.<br />
*Significant improvements to night mode. Not perfect, but much better.<br />
*Fix crash in Android 7+ when selecting preference item in Night Mode.<br />
*Increase minSdkVersion from 3 (Android 1.5) to 11 (Android 3.0) for various newer APIs used.<br />
*Change targetSdkVersion from 8 (Android 2.2) and compileSdkVersion from 13 (Android 3.2) to 25 (Android 7.1.1).<br />
*Migrate project from Eclipse to Android Studio.<br />
<br />
==== v1.2.3 [2014-07-06] ====<br />
*Fix fetching of specific date/time broken for all passes list, due to HA changes.<br />
*Enable DOM storage API in browser for API 7+ (Android 2.1+), allowing HA mobile prototype to function.<br />
<br />
==== v1.2.2.1 [2014-03-03] ====<br />
*Pro: Fix crash when TTS tries speaking. (Regression in v1.2.2)<br />
*Preserve current tab in Alerts/Sightings list when toggling night mode.<br />
*Add xhdpi icon.<br />
*Update About text.<br />
*A couple spelling corrections in German strings.<br />
*Use "en dash" character for time range in summary of Morning/Evening Passes setting.<br />
*Minor code tweaks and optimizations.<br />
<br />
==== v1.2.2 [2014-02-24] ====<br />
*Update Russian with translated timezones and a couple changed strings.<br />
*Add notification message variables for magnitude (%m), direction/azimuth (%z), elevation (%e).<br />
*Add example in notification message dialog.<br />
*Use custom notification message in notification ticker.<br />
*Enable JavaScript in browser since some HA pages use it.<br />
*Free: Update AdMob SDK, remove AdWhirl and Greystripe. Remove read phone state permission that was required by Greystripe.<br />
*Changes to better follow HA usage guidelines: Change Morning Passes default to disabled, change Daytime Flares default to disabled, change Cache Expire Time default to 24 hours.<br />
*Add app name and version to user agent so HA can identify requests from PrediSat.<br />
*Consolidate all source of Free and Pro into core project for future flexibility (ease of development and later allowing for Pro features to be unlocked in Free). The downside of doing this: The Pro apk size jumped from 192KB to 360KB now that it contains (but doesn't use) the AdMob library.<br />
*Pro: Fix crash when exporting sightings.<br />
*Fix parsing of morning/evening passes. Caused by recently added language selector on HA.<br />
*Fix crash when parsing 10-day pass with magnitude "?".<br />
*Fix quiet time inaccuracy when alert + timezone offset passes midnight.<br />
<br />
==== v1.2.1.4 [2012-12-14] ====<br />
*Fix parsing of date/time for flares. Another HA change either overlooked in previous release or happened after release.<br />
<br />
==== v1.2.1.3 [2012-12-13] ====<br />
*Fix parsing of passes, caused by more changes on HA.<br />
*Re-add pass magnitude 5.0 filter since HA re-added it.<br />
*Remove detail context menu options for flares due to HA not providing required data.<br />
*Fix flare count doubled during parsing.<br />
<br />
==== v1.2.1.2 [2012-11-19] ====<br />
*Change numeric keyboard type from 'phone' to 'number'.<br />
*Pro: Prevent invalid value being entered in Auto-Alert Mag. settings, leading to a crash.<br />
*Fix performance issue after updating list, mainly event timer not appearing immediately.<br />
*Fix crash when encountering unexpected character(s) in place of degree symbol (°). Happened occasionally either at launch when loading pre-1.2.1 database or when parsing new list.<br />
*Fix parsing of flares again, caused by another change on HA. Daytime flares now use same list as night flares, so only need to download/parse once.<br />
*Restore parsing/saving of flare center info. Not restored in UI for this version, currently only viewable in sightings export.<br />
*Fix magnitude setting no longer working for page request (another HA change). Not really noticeable to the user since events are already removed by magnitude after parsing.<br />
*Update Russian translation for "Orbital Height Profile".<br />
<br />
==== v1.2.1.1 [2012-11-08] ====<br />
*Pro: Fix crash after fetching a list when alert magnitude for the list has never been set.<br />
*Fix crash at launch when loading daytime flares from the database that were previously saved before v1.2.1.<br />
*Fix debug logging, of which there is a lot, being posted to logcat with Debug Mode disabled. (BuildConfig.DEBUG not working as expected in v1.2.1)<br />
<br />
==== v1.2.1 [2012-11-05] ====<br />
*Add context menu option for Orbital Height Profile.<br />
*Sort passes by max time rather than start time.<br />
*Disable flare event details due to new limitations with HA URL query.<br />
*Remove flare center magnitude/distance columns since HA no longer provides that data for night flares.<br />
*Remove obsolete Flare Days preference.<br />
*Significant improvements to how event data is handled. This is a prerequisite for better filtering and sorting in later versions.<br />
*Fix flares not parsing due to changes on HA.<br />
*Fix satellite details link for 10-day passes.<br />
*Fix debug mode not creating files if predisat folder doesn't already exist.<br />
<br />
==== v1.2.0.2 [2012-08-07] ====<br />
*Fix timezone/DST not initialized (using GMT+0) when opening Alerts from notification.<br />
*Fix 'Set 10 Days of Passes' context item appearing in Alerts and Sightings, functionless. It is intended to only appear in main Passes list.<br />
*Improve accuracy and efficiency of clock and countdown.<br />
<br />
==== v1.2.0.1 [2012-08-01] ====<br />
*Fix crash after downloading empty passes list. Don't know how I missed it after v1.2.0 fix of a very similar crash.<br />
*Free: Fix crash when opening passes context menu when there is no satellite set on 10 Days of Passes.<br />
<br />
==== v1.2.0 [2012-07-31] ====<br />
*New translations: German and Russian. Huge thanks to the translators, XoXFaby and Himura respectively!<br />
*Pro: Reverse sort order of sightings list, with more recent events towards top.<br />
*Add context option to add/remove selected satellite in 10 Days of Passes. In Free, this replaces existing entry, while Pro adds.<br />
*Add preference to force DST/Summer Time. Try this if time is off by an hour, especially useful for timezones that permanently do or don't observe DST. Note: Forcing DST just because your timezone permanently observes DST may not be what you want, this is because the GMT offset provided by Heavens-Above in the timezone name may already include DST.<br />
*Add Debug Mode preference. Requires WRITE_EXTERNAL_STORAGE permission to save debug.log and timestamped HTML files in [sdcard]/predisat/debug/. It is intended to be emailed to me, manually, if you have problems such as crashing. PRIVACY NOTICE: The configured coordinates are included in the debug files.<br />
*Open timezone list preference if detection fails.<br />
*Add screen title at top of list screens.<br />
*Fix timezone/DST changes not applying immediately.<br />
*Fix crash when fetching passes on some 3G carriers. [Huge thanks to Carol for being first to email me about it, 4 months after the ~80 insufficient crash reports started coming in!]<br />
*Fix crash when getting coordinates on locales that use comma (,) instead of period (.) as a decimal separator.<br />
*Update timezone names.<br />
*Fix crash when parsing empty passes list.<br />
*Pro: Fix crash at alert in Android 1.5 due to TTS not supported (happened regardless of TTS preference).<br />
*Increase night mode backlight brightness. This is because at least one device (Xperia mini) is known to have a higher minimum brightness than G1.<br />
*Remove compatibility upgrade for v1.0.7 data.<br />
*Change "HA Website" button to "Heavens-Above.com".<br />
*Bottom buttons in main screen: Increase to 2 lines height, reduce font size in portrait orientation.<br />
<br />
==== v1.1.2.2 [2012-03-17] ====<br />
*Fix crash on some devices when downloading passes. Caused by using the wrong thread in a fallback when a more efficient method of getting the default user agent failed. The workaround was to open the in-app browser before downloading the list.<br />
*Fix first fetch of evening receiving (and blindly accepting) morning when morning is current, or vice versa if evening is disabled. Now evening will still receive current morning, but will detect it, hold that data for the morning fetch, and try again. This happens because a specific request can't be made until the first page is downloaded to receive a couple random session strings generated by the server which need to be sent back to the server with each request; those strings are kept for the life of the process.<br />
*Fix progress bar not working for morning/evening after initial fetch.<br />
<br />
==== v1.1.2.1 [2012-03-13] ====<br />
*Fix parsing of morning/evening passes lists. Caused by major changes to the all satellites page on Heavens-Above. Sorry again for the delay.<br />
*If the last pass for the current period (AM or PM) has ended, fetch the same period for the next day, or (Pro) an additional day if multiple days.<br />
*Remove requirement for location and GPS features (supports Google TV).<br />
<br />
==== v1.1.2 [2012-02-17] ====<br />
*Fix crash when parsing 10-day list. Caused by minor changes to the 10-day page on Heavens-Above around Feb. 12. Sorry for the delay.<br />
*Show year in Date column.<br />
*Add pass magnitude filters for 0.0-2.5 (0.5 step).<br />
*Remove pass magnitude 5.0 filter (no longer supported by HA).<br />
*Add option to clear cache.<br />
*Changing filter preference while in list now takes effect on next manual refresh without the need to close and reopen the list.<br />
*Minor improvements to layouts making it appear better on large screens.<br />
*Remove touchscreen requirement.<br />
*Free: Update AdWhirl, AdMob, and Greystripe ad SDKs to latest versions.<br />
*Free: Enable full-screen ad option for Android 2.3.x users since updated Greystripe SDK fixes a crash.<br />
<br />
==== v1.1.1.3 [2011-12-10] ====<br />
*Pro: TTS doesn't speak if phone is in silent mode or in a call.<br />
*Fix rash when trying to update coordinates on some devices that don't have GPS (Honeycomb/tablets).<br />
*Fix how process is closed. Bad practice of forcibly killing process because TTS service was badly coded and holding process open.<br />
<br />
==== v1.1.1.2 [2011-08-04] ====<br />
*Fix crash on somewhat rare occasion when opening Alerts, caused by wrong thread exception when automatically selecting initial tab.<br />
<br />
==== v1.1.1.1 [2011-07-29] ====<br />
*Fix crash when trying to sort empty list immediately after parsing. Thanks to a crash report for pointing it out!<br />
<br />
==== v1.1.1 [2011-07-28] ====<br />
*Fix refreshing more than once in a single list instance causing following issues:<br />
**Crash during parsing of morning or evening passes after 10 day was enabled in previous refresh.<br />
**Evening passes fetching morning instead if 10 day was disabled and morning was enabled in previous refresh,<br />
**Night flares fetching daytime instead if daytime was enabled in previous refresh.<br />
*Progress dialog indicates the number of events in list being parsed, instead of always showing 100.<br />
*Fix countdown timer not automatically appearing for next event in Alerts if Remove Old Events is disabled.<br />
*If existing instance of Alerts screen is at top of process when opening notification, it is used instead of starting a second Alerts instance.<br />
*When opening Alerts, the tab with the next event is selected.<br />
*Pro: Allow fetching multiple days of all passes, configurable between 1-10 days. It's a bit on the experimental side, but nonetheless very useful. Disabled by default, using the old and reliable method of fetching up to 24 hours.<br />
*Slight increase in sorting performance and albeit more accurate as well. Sorting now happens as a single action after parsing instead of while parsing each event.<br />
*Broke some night mode styling in Preferences due to style inheritance breaking in current revision of SDK. This change only affects 2.0 - 2.2, all the other SDK's have always had broken inheritance.<br />
<br />
==== v1.1.0.1 [2011-07-13] ====<br />
*Fix [http://tracker.pilot51.com/show_bug.cgi?id=18 bug 18] (hopefully): Crash immediately after downloading lists. Couldn't reproduce based on limited information of crash reports & haven't been contacted directly about this.<br />
*Time difference threshold for existing events from 10 to 40 minutes. Avoids duplicate events showing up in alerts if 10-day list not updated for awhile and prediction changes by more than 10 minutes.<br />
<br />
==== v1.1.0 [2011-06-07] ====<br />
*Tabs are used in Alerts and Sightings to select Passes and Flares lists, instead of splitting both lists on screen. The tabs indicate exactly the list associated with it (Pass/Flare Alerts/Sightings) and the number of events in each.<br />
*Add confirmation dialog when clearing alerts or sightings lists.<br />
*Add customizable notification message for TTS (Pro) and bubbles. Variables: Satellite name, event type, and minutes until event.<br />
*Fix displayed time for stored events not changing when timezone is changed, plus other issues with using a different timezone than the phone.<br />
*Satellite name is above countdown instead of in parentheses after, or in landscape mode the name is aligned to the right.<br />
*Increased font size of countdown and made bold.<br />
*Increased minimum height of list items about 2x to make them easier to touch.<br />
*Event timer is shown for the next event when opening list.<br />
*Add preferences to toggle messages for tips and updated alert times.<br />
*Single-digit days are formatted without "0" prefix.<br />
*Free: Fix space allowed in Alert Time preference, which causes alerts to not work.<br />
*Pro: Timestamp included in filename of exported sightings CSV with pattern of yyyyMMddHHmm, preventing any unwanted overwrites.<br />
*Fix progress not updating while parsing flares.<br />
*Preferences and night mode menu options now accessible from lists.<br />
*Preferences are categorized into different screens.<br />
*10-day passes - ISS replaced with USSC ID entry. Free allows only one entry, Pro is space-separated. ISS is default.<br />
*Fix toast message showing string resource ID instead of "Timezone set to" when detecting timezone in preferences.<br />
*Events are removed from alerts and main lists a custom number of minutes (default: 10) after they have completely passed. Check is only performed when opening or refreshing list.<br />
*Lists are populated in UI (behind progress dialog) as parsing progresses.<br />
*All lists are loaded to memory at launch and remains until app is closed, making it very quick to open lists.<br />
*New list is only downloaded if manually refreshed from menu, cache is empty, or a custom number of hours (default: 6) have passed since last refresh.<br />
*Huge performance boost for parsing, about 15-30x faster! (all 3 pass lists timed on G1 going from 285 to 10 sec. and Droid from 65 to 5 sec., including download time)<br />
*Fix inability to load saved data across different ROMs. Data is now saved in an SQLite database. Data from 1.0.7 is moved at first launch.<br />
*Removed: Backwards compatibility for alerts and sightings saved as cache in v1.0.6 and earlier. If you have not run any of the v1.0.7 releases, data from older versions will be lost.<br />
<br />
==== v1.0.7.8 [2011-05-21] ====<br />
*Fix automatic location starting when night mode is toggled.<br />
*Pro: Fix colon at end of "Move to Sightings" in context menu for Alerts.<br />
*Fix crash when opening context menu in Passes/Flares lists after loading from cache.<br />
<br />
==== v1.0.7.7 [2011-05-19] ====<br />
*Fix automatic location starting when orientation changes.<br />
*Fix crash at start when Automatic Location is enabled. Thanks for crash reports, I didn't think to test it.<br />
<br />
==== v1.0.7.6 [2011-05-19] ====<br />
*Fix crash when opening preferences while using night mode for Android 2.0 and 2.3.1 to 3.1.<br />
*Free: Fix problems (crash?) at launch for Android 2.3.x. Greystripe issue, had to disable option for full-screen ads in 2.3.x.<br />
*Fix coordinates update stopping when orientation changes.<br />
*Fix inability to get altitude coordinates because receiving location from network prevents GPS from providing it. Now continues searching for GPS after network location received if GPS is enabled.<br />
*Fix Get Coordinates button disabled with GPS even if Network Location enabled.<br />
*All interface-visible text moved from code into XML string resources to make ready for translating. Please contact me if you would like to help translate.<br />
<br />
==== v1.0.7.5 [2011-05-10] ====<br />
*Fix crash during parsing with most system languages. English was the only unaffected language in all versions of Android.<br />
*Fix Alerts and Sightings buttons not appearing correctly in Android 1.5.<br />
<br />
==== v1.0.7.4 [2011-03-19] ====<br />
*Fix inability to scroll in About dialog for 1.5 and 1.6.<br />
*Fix inability to cancel download, a problem if there is connectivity but HA isn't responding.<br />
*Fix lists or browser restarting when physical keyboard opened/closed.<br />
*Fix several elements not changing for night mode. There are still some not changing, but it's greatly improved.<br />
*Fix crash when received data is not from Heavens-Above, such as a network login page. [2.2+ crash report]<br />
*Fix button backlight stuck on (mistake in code from previous update).<br />
<br />
==== v1.0.7.3 [2011-02-02] ====<br />
*Fix crash at launch in Android 2.1 caused by uncaught NoSuchFieldError when trying to set button brightness. [reported by 2 users in Market]<br />
<br />
==== v1.0.7.2 [2011-02-01] ====<br />
*Pro: Fix existing alerts not being updated if auto-alerts disabled.<br />
*Fix crash from bad parsing of single-digit day in start date range of 10-day ISS.<br />
<br />
==== v1.0.7.1 [2011-01-29] ====<br />
*Disabled links in About dialog text, tends to be more trouble than it's worth (turned 1.0.7.1 into link).<br />
*Fix crash when opening notification.<br />
<br />
==== v1.0.7 [2011-01-29] ====<br />
*Alerts & sightings data moved from app cache to files, so clearing cache from Android app manager won't delete it.<br />
*Remove preference to delete data. Avoids accidental deletion, menu on Alerts/Sightings screens should be safer.<br />
*Remove preference to clear coordinates. Not necessary since it's just as easy to manually clear coordinates.<br />
*Free: Existing alerts are automatically updated when new data is loaded. (Pro already had this with auto-alerts)<br />
*Pro: Option in preferences to export sightings to sdcard as CSV files, uses WRITE_EXTERNAL_STORAGE permission.<br />
*Messages for updated alerts will only appear if the time has changed and shows the old and new times.<br />
*Threshold for duplicate alert/sighting check increased from 10 seconds to 10 minutes.<br />
*Pro: If event is in alerts, Add Sighting becomes Move to Sightings in context menu.<br />
*Pro: Add Sighting is disabled until 2 minutes before event start.<br />
*Add Alert is disabled for events that have already started, also applies for auto-alerts in Pro.<br />
*Buttons on main screen repositioned.<br />
*Add ACCESS_NETWORK_STATE permission for connectivity detection, also required by Greystripe in Free version.<br />
*Connectivity is now checked before attempting to access.<br />
*Add 10-day ISS list. (optional) [Suggested by Seth]<br />
*Countdown to start, max, and end instead of just start.<br />
*Countdown is initiated by tapping an event instead of from the context menu.<br />
*Include daytime flares in list. (optional)<br />
*Add progress dialog in list showing what is loading and percentage of each process. [Suggested by SuM_WuN]<br />
*Better performance with the use of multiple threads and other optimizations.<br />
*Add quiet time: No alert notifications between certain times of day. [Suggested by Rick]<br />
*Fix location search stopping when invalid coordinates received.<br />
*Add network location (works seamlessly with GPS) and message indicating what provided the coordinates.<br />
*After opening notification, pressing back button from Alerts opens main screen.<br />
*Fix missing indication of disabled GPS on GPS button. [Reported by ka0ticstyle]<br />
*Volume buttons control notification volume, or media volume if TTS is enabled.<br />
*Fix browser closing when orientation changes.<br />
*Add date on satellite passes lists. [Suggested by Rick]<br />
*Button backlight turns off in Night Mode if supported by API and hardware.<br />
*Fix exiting with back button causing home screen folder in background to close.<br />
*Fix empty countdown view and list header color missing when returning to list from web browser.<br />
*Main and preferences screens are not restarted when changing timezone or alert time.<br />
*Free: Option to toggle between banner ads or full screen ad at launch.<br />
*Free: READ_PHONE_STATE permission required by Greystripe.<br />
*Free: Greystripe ads.<br />
*Free: Update SDKs for AdWhirl and AdMob.<br />
*Pro: Remove option for ads.<br />
*Instead of buttons for each list on Heavens-Above site, one button for the homepage.<br />
*Remove changelog.<br />
<br />
==== v1.0.6 [2010-10-14] ====<br />
*Initial release of Pro.<br />
*Fix countdown timer way off after orientation change.<br />
*Pro: Sightings log.<br />
*Pro: Alerts automatically created based on custom magnitude when list is loaded with new data.<br />
*Fix back button not working as expected in web view.<br />
*Night mode uses color filtering instead of replacing graphics with plain colors.<br />
*Ad manager is AdWhirl, which provides much more flexibility with multiple ad networks.<br />
*Pro: Text-To-Speech alerts.<br />
*Pro: Multiple alert times can be set, space separated.<br />
*Pro: Ads are disabled by default and can be toggled.<br />
*Fix detection of existing alerts with certain differences in data, alert is updated when required.<br />
*Fix value shown in title of 'Alert time' preference stacking when changed.<br />
==== v1.0.5 [2010-09-24] ====<br />
*Alert time preference shows the current setting in its title.<br />
*Alert lists are sorted by event time instead of order they were added.<br />
*Add description on Timezone preference clarifying that it is the standard GMT offset.<br />
*Add menu option on main screen to toggle night mode.<br />
*Add menu options in Alerts view to clear either list.<br />
*Detect incompatible alerts at launch and delete along with cache, preventing crash after version upgrade.<br />
*Fix detection of existing alerts created in different list instances.<br />
*Alerts can be removed through event lists.<br />
*Events can be added to alerts even if alerts are currently disabled.<br />
*If invalid GPS coordinates received, show error instead of crashing.<br />
*Toast notification at alert trigger.<br />
*Notification timer is much more efficient, using a native method instead of a very bloated and often buggy countdown.<br />
*Try setting timezone automatically at launch if not set.<br />
*Fix error when parser encounters trimmed/optimized HTML. (Thanks to [http://twitter.com/SkepticBarista SkepticBarista]!)<br />
*Fix expired alerts being triggered on service modification/start if alert time is set to 0.<br />
==== v1.0.4 [2010-09-02] ====<br />
*Fix event timer timezone not being calculated properly for timezones different from phone.<br />
*Significantly reduced possibility of alerts being skipped because of lag.<br />
*If parser runs into problem, show error and try loading cache instead of crashing.<br />
==== v1.0.3 [2010-08-31] ====<br />
*Save coordinates when opening preferences.<br />
*Fix alert time not applying to existing alerts when changed.<br />
*Fix crash when both pass periods are selected and one of them returns no passes.<br />
*Fix crash when alert is triggered and ringtone was not configured.<br />
*Fix DST sometimes being 'forgotten' while running in background as service.<br />
==== v1.0.1 and v1.0.2 [2010-08-28] ====<br />
*Fix two crashes in the web browser.<br />
==== v1.0.0 [2010-08-28] ====<br />
*Initial release to the Android Market!<br />
<br /><br />
'''Started development on 2010-06-29'''<br />
[[Category:Android]]</div>Pilot 51https://pilot51.com/w/index.php?title=Lander_(Java)&diff=1338Lander (Java)2016-09-22T03:07:19Z<p>Pilot 51: Fix applet link.</p>
<hr />
<div>'''Lander for Java''' is a Java port of the 1990 game 'Lander' for Windows 3.1, originally developed by [http://neurohack.com George Moromisato].<br /><br />
Full permission and v1.3 source code has been provided to aid in the development of porting it.<br /><br />
<br /><br />
This is a side project with priority on the Android version and other Android projects, so development may be very slow.<br /><br />
<br /><br /><br />
<br />
== Links ==<br />
*<b>[http://pilot51.com/lander/LanderApplet.htm Play Lander in your web browser!]</b> (requires [http://java.com Java Runtime Environment])<br />
*[[Lander (Android)|Android port of Lander]]<br />
*[[Lander|Original Lander for Windows]]<br />
<br /><br /><br />
<br />
== Changelog ==<br />
Dates are based on GMT.<br /><br />
=== Alpha versions ===<br />
==== v0.2.0 [2011-08-22] ====<br />
*Added names for on-screen values.<br />
*Reduced speed from 30ms per frame to 50ms per frame, making it easier to play and matching speed of original. Not sure what I was thinking when I set it to 30ms.<br />
*Added end game dialogs with original images.<br />
<br />
==== v0.1.0-1 [2011-07-23] ====<br />
*Fixed applet not working in some cases by packaging image resources differently.<br />
<br />
==== v0.1.0 [2011-07-19] ====<br />
*Initial release to web as Java applet!<br />
*Only basic gameplay is functional. Non-functional or missing: Dialogs (including options), on-screen controls, names of on-screen values.<br />
<br /><br />
'''Started development on 2011-04-13'''<br /><br />
'''Received permission on 2011-02-16 and source code the next day'''<br />
<br />
[[Category:Java]][[Category:Development]]</div>Pilot 51https://pilot51.com/w/index.php?title=Main_Page&diff=1337Main Page2016-09-16T07:46:15Z<p>Pilot 51: Add Comet Busters! and remove Xfire, plus other minor updates.</p>
<hr />
<div>Welcome to Pilot_51's Wiki.<br /><br />
<br /><br />
This wiki is intended to organize information regarding games, software development, and technology in general. It mainly focuses on my own projects.<br /><br />
<br /><br />
If you wish to contribute, in particular where information is missing such as the Battlefield 1942 mod development articles, please [[#Contact | contact]] me and I can create an account for you.<br /><br />
<br /><br />
== Major articles ==<br />
=== Android ===<br />
*[[Cannon]]<br />
*[[Coinflip]]<br />
*[[Lander (Android)]]<br />
*[[L-Clock]]<br />
*[[PrediSat]]<br />
*[[Voice Notify]]<br />
<br /><br />
=== Java ===<br />
*[[Comet Busters! (Java)]]<br />
*[[Lander (Java)]]<br />
<br /><br />
=== Battlefield 1942 ===<br />
*[[List of Battlefield 1942 properties]]<br />
*[[List of Battlefield 1942 objects]]<br />
*[[WWII Reality (BF1942 mod)]]<br />
*[[Battleship (BF1942 map)]]<br />
*[[Stunting Grounds (BF1942 map)]]<br />
<br /><br />
<br /><br />
<br />
== Contact ==<br />
I can be contacted through any of the mediums listed below.<br /><br />
Due to spammers, if given the option, please explain why you are contacting me in your add request or you WILL be denied! Email, Google+, or Twitter are recommended.<br />
Email: pilota51(a)gmail.com<br />
AIM: PilotA51<br />
ICQ: 85196460<br />
<!--MSN: areapilot51(a)hotmail.com<br />
Yahoo: Pilot_A51--><br />
Skype: pilot_51<br />
Steam: [http://steamcommunity.com/id/pilot51 Pilot_51]<br />
Twitter: [http://twitter.com/Pilot_51 Pilot_51]<br />
Google+: [http://plus.google.com/118433700808427873827 Mark Injerd]<br />
Mumble: Pilot_51 @ voice.pilot51.com</div>Pilot 51https://pilot51.com/w/index.php?title=Comet_Busters!_(Java)&diff=1336Comet Busters! (Java)2016-09-16T07:10:31Z<p>Pilot 51: Created page with "'''Comet Busters! for Java''' is a Java port of the Windows 3.1/95 game 'Comet Busters!', originally developed by [https://twitter.com/sehugg Steven E. Hugg] and released in 1..."</p>
<hr />
<div>'''Comet Busters! for Java''' is a Java port of the Windows 3.1/95 game 'Comet Busters!', originally developed by [https://twitter.com/sehugg Steven E. Hugg] and released in 1991.<br /><br />
<br /><br />
With permission from Steven, the port is open source under the [http://www.apache.org/licenses/LICENSE-2.0 Apache License].<br /><br />
<br /><br /><br />
<br />
== Links ==<br />
*<b>[http://pilot51.com/cometbusters/CometBustersApplet.htm Play Comet Busters in your web browser!]</b> (requires [http://java.com Java Runtime Environment])<br />
*[https://github.com/pilot51/cometbusters-java GitHub repository]<br />
*[https://en.wikipedia.org/wiki/Comet_Busters! Wikipedia article for original game]<br />
<br />
[[Category:Java]][[Category:Development]]</div>Pilot 51https://pilot51.com/w/index.php?title=L-Clock&diff=1335L-Clock2015-03-31T01:32:43Z<p>Pilot 51: /* v0.7.2 [2015-03-31] */ Released.</p>
<hr />
<div>[[Image:lclock_qrcode_m.png|right|210px|Scan this QR Code with an Android device to go to L-Clock in Google Play]]<br />
'''L-Clock''' is an Android app that fetches data from [http://spaceflightnow.com/launch-schedule/ SpaceflightNow.com] and creates a formatted list of upcoming rocket launches, along with a launch clock and notifications.<br /><br />
<br /><br />
L-Clock is currently in beta. There are a few important features missing and some issues to be resolved by v1.0.0, but the basic functionality is there.<br /><br />
<br /><br />
L-Clock is free and open source software (FOSS)!<br /><br />
Code contributions through GitHub are encouraged for the benefit of the user community.<br /><br />
<br /><br />
Open source license: [http://apache.org/licenses/LICENSE-2.0 Apache License 2.0]<br /><br />
<br /><br />
== Links ==<br />
*<b>[http://play.google.com/store/apps/details?id=com.pilot51.lclock L-Clock on Google Play]</b><br />
*[http://github.com/pilot51/lclock L-Clock on GitHub]<br />
*[http://pilot51.com/apk/lclock Direct download APK] (all versions available; not recommended for most users)<br />
*[http://l-clock.com L-Clock.com] (forwards here)<br />
<br /><br />
<br />
== Changelog ==<br />
Dates are in GMT.<br />
For all code changes, see the [https://github.com/pilot51/lclock/commits commit history].<br />
<br />
==== v0.7.2 [2015-03-31] ====<br />
*Fix parsing again, caused by </p> where expecting </div>.<br />
<br />
==== v0.7.1 [2015-03-13] ====<br />
*Fix parsing, caused by introduction of "Launch period".<br />
<br />
==== v0.7.0 [2014-12-31] ====<br />
*Fix SpaceflightNow download and parsing.<br />
*Fix list adapter not updating after refresh completion.<br />
*Remove NASA. This is because the schedule page changed in a way that makes it difficult to get the data.<br />
*Remove ads. Was using AdWhirl, which was discontinued long ago.<br />
*Use 12/24 hour clock format as configured in Android settings.<br />
*Add refresh option to menu and don't auto-refresh within 12 hours.<br />
*If cached, show timer for next launch before refresh.<br />
*Show appropriate error when attempting refresh without a connection.<br />
<br />
==== v0.6.6 [2013-01-12] ====<br />
*Fix NASA parsing.<br />
*Applied [http://apache.org/licenses/LICENSE-2.0 Apache License 2.0] and released the source code on GitHub!<br />
<br />
==== v0.6.5 [2012-01-01] ====<br />
*Fix NASA parsing, again.<br />
*Fix Spaceflight Now parsing of dates containing "NET".<br />
*Remove touchscreen requirement. (Makes compatible with Google TV)<br />
*Update AdMob and AdWhirl SDKs. (Was using very old versions due to a significant visual bug with house ads in newer versions of AdWhirl including this version, decided the potential benefit of new features outweighs the bug)<br />
<br />
==== v0.6.4 [2011-12-09] ====<br />
*Fix SFN calendar parsing.<br />
**Fix incorrect calendar date when both GMT and EST dates are given (separated by /).<br />
**Remove " on [day]" before parsing calendar.<br />
**Remove underline tags before parsing list.<br />
*Fix NASA parsing failure.<br />
**Remove HTML comments before parsing.<br />
<br />
==== v0.6.3 [2011-10-13] ====<br />
*Add indeterminate progress indicator to title bar when list is refreshing.<br />
*Fix occasional crash when opening list, mostly on some slower devices. Caused by the list adapter being read and written in two different threads at the same time and the read happens on an empty list before the write; fixed by combining into single thread with read after write.<br />
<br />
==== v0.6.2 [2011-10-11] ====<br />
*Make ready for translating. Let me know if you want to translate! (note: this does not apply for list data)<br />
*Fix more NASA parsing issues. Notably support for future years and fixing error after the site had minor design changes.<br />
*Initial countdown shows next launch (first that hasn't passed) instead of first.<br />
*Fetch and parse data in a separate thread, preventing GUI from hanging while it waits for data.<br />
*Access to menu/preferences from lists.<br />
*Pre-load cache when app is started.<br />
*Use database instead of saving as raw file.<br />
<br />
==== v0.6.1 [2011-05-15] ====<br />
*Fix date/time parsing for most languages/locales and a few launches.<br />
*Connectivity is checked before attempting to download data or fetch ads. Requires ACCESS_NETWORK_STATE (view network state) permission.<br />
*Only create alerts for launches accurate to the minute or better.<br />
*Format time of launch (above clock) to not include missing time information.<br />
*Parts of clock change to red to indicate inaccuracy of schedule information.<br />
*Change countdown clock to L -/+ clock.<br />
<br />
==== v0.6.0 [2011-02-24] ====<br />
*Alerts!<br />
*Preferences.<br />
*Data is cached - cache loaded if unable to download.<br />
*Fix NASA descriptions cut off at the beginning.<br />
*Fix crash when no connection.<br />
*Hide ad space if no ad is loaded.<br />
<br />
==== v0.5.2 [2011-02-23] ====<br />
*Preserve list (don't re-download) on orientation change.<br />
*Indicate that launch cannot be confirmed by saying "supposedly".<br />
*Keep launch time in countdown area after launch.<br />
*Fix text on main screen in landscape orientation.<br />
*Fix text parsing issues.<br />
<br />
==== v0.5.1 [2010-12-15] ====<br />
*Better workaround for determining launch year in Spaceflight Now list.<br />
*Context menu option to view location in Google Maps.<br />
*In Spaceflight Now list, changed empty Mission column to Payload and populate.<br />
<br />
==== v0.5.0 [2010-12-15] ====<br />
*Initial release to the Android Market!<br /><br />
<br /><br />
'''Started development on 2010-11-14'''<br />
[[Category:Android]]</div>Pilot 51https://pilot51.com/w/index.php?title=L-Clock&diff=1334L-Clock2015-03-13T04:04:41Z<p>Pilot 51: /* v0.7.1 [2015-03-13] */ Released.</p>
<hr />
<div>[[Image:lclock_qrcode_m.png|right|210px|Scan this QR Code with an Android device to go to L-Clock in Google Play]]<br />
'''L-Clock''' is an Android app that fetches data from [http://spaceflightnow.com/launch-schedule/ SpaceflightNow.com] and creates a formatted list of upcoming rocket launches, along with a launch clock and notifications.<br /><br />
<br /><br />
L-Clock is currently in beta. There are a few important features missing and some issues to be resolved by v1.0.0, but the basic functionality is there.<br /><br />
<br /><br />
L-Clock is free and open source software (FOSS)!<br /><br />
Code contributions through GitHub are encouraged for the benefit of the user community.<br /><br />
<br /><br />
Open source license: [http://apache.org/licenses/LICENSE-2.0 Apache License 2.0]<br /><br />
<br /><br />
== Links ==<br />
*<b>[http://play.google.com/store/apps/details?id=com.pilot51.lclock L-Clock on Google Play]</b><br />
*[http://github.com/pilot51/lclock L-Clock on GitHub]<br />
*[http://pilot51.com/apk/lclock Direct download APK] (all versions available; not recommended for most users)<br />
*[http://l-clock.com L-Clock.com] (forwards here)<br />
<br /><br />
<br />
== Changelog ==<br />
Dates are in GMT.<br />
For all code changes, see the [https://github.com/pilot51/lclock/commits commit history].<br />
<br />
==== v0.7.1 [2015-03-13] ====<br />
*Fix parsing, caused by introduction of "Launch period".<br />
<br />
==== v0.7.0 [2014-12-31] ====<br />
*Fix SpaceflightNow download and parsing.<br />
*Fix list adapter not updating after refresh completion.<br />
*Remove NASA. This is because the schedule page changed in a way that makes it difficult to get the data.<br />
*Remove ads. Was using AdWhirl, which was discontinued long ago.<br />
*Use 12/24 hour clock format as configured in Android settings.<br />
*Add refresh option to menu and don't auto-refresh within 12 hours.<br />
*If cached, show timer for next launch before refresh.<br />
*Show appropriate error when attempting refresh without a connection.<br />
<br />
==== v0.6.6 [2013-01-12] ====<br />
*Fix NASA parsing.<br />
*Applied [http://apache.org/licenses/LICENSE-2.0 Apache License 2.0] and released the source code on GitHub!<br />
<br />
==== v0.6.5 [2012-01-01] ====<br />
*Fix NASA parsing, again.<br />
*Fix Spaceflight Now parsing of dates containing "NET".<br />
*Remove touchscreen requirement. (Makes compatible with Google TV)<br />
*Update AdMob and AdWhirl SDKs. (Was using very old versions due to a significant visual bug with house ads in newer versions of AdWhirl including this version, decided the potential benefit of new features outweighs the bug)<br />
<br />
==== v0.6.4 [2011-12-09] ====<br />
*Fix SFN calendar parsing.<br />
**Fix incorrect calendar date when both GMT and EST dates are given (separated by /).<br />
**Remove " on [day]" before parsing calendar.<br />
**Remove underline tags before parsing list.<br />
*Fix NASA parsing failure.<br />
**Remove HTML comments before parsing.<br />
<br />
==== v0.6.3 [2011-10-13] ====<br />
*Add indeterminate progress indicator to title bar when list is refreshing.<br />
*Fix occasional crash when opening list, mostly on some slower devices. Caused by the list adapter being read and written in two different threads at the same time and the read happens on an empty list before the write; fixed by combining into single thread with read after write.<br />
<br />
==== v0.6.2 [2011-10-11] ====<br />
*Make ready for translating. Let me know if you want to translate! (note: this does not apply for list data)<br />
*Fix more NASA parsing issues. Notably support for future years and fixing error after the site had minor design changes.<br />
*Initial countdown shows next launch (first that hasn't passed) instead of first.<br />
*Fetch and parse data in a separate thread, preventing GUI from hanging while it waits for data.<br />
*Access to menu/preferences from lists.<br />
*Pre-load cache when app is started.<br />
*Use database instead of saving as raw file.<br />
<br />
==== v0.6.1 [2011-05-15] ====<br />
*Fix date/time parsing for most languages/locales and a few launches.<br />
*Connectivity is checked before attempting to download data or fetch ads. Requires ACCESS_NETWORK_STATE (view network state) permission.<br />
*Only create alerts for launches accurate to the minute or better.<br />
*Format time of launch (above clock) to not include missing time information.<br />
*Parts of clock change to red to indicate inaccuracy of schedule information.<br />
*Change countdown clock to L -/+ clock.<br />
<br />
==== v0.6.0 [2011-02-24] ====<br />
*Alerts!<br />
*Preferences.<br />
*Data is cached - cache loaded if unable to download.<br />
*Fix NASA descriptions cut off at the beginning.<br />
*Fix crash when no connection.<br />
*Hide ad space if no ad is loaded.<br />
<br />
==== v0.5.2 [2011-02-23] ====<br />
*Preserve list (don't re-download) on orientation change.<br />
*Indicate that launch cannot be confirmed by saying "supposedly".<br />
*Keep launch time in countdown area after launch.<br />
*Fix text on main screen in landscape orientation.<br />
*Fix text parsing issues.<br />
<br />
==== v0.5.1 [2010-12-15] ====<br />
*Better workaround for determining launch year in Spaceflight Now list.<br />
*Context menu option to view location in Google Maps.<br />
*In Spaceflight Now list, changed empty Mission column to Payload and populate.<br />
<br />
==== v0.5.0 [2010-12-15] ====<br />
*Initial release to the Android Market!<br /><br />
<br /><br />
'''Started development on 2010-11-14'''<br />
[[Category:Android]]</div>Pilot 51https://pilot51.com/w/index.php?title=L-Clock&diff=1333L-Clock2014-12-31T07:32:38Z<p>Pilot 51: v0.7.0 Released. Other changes to page.</p>
<hr />
<div>[[Image:lclock_qrcode_m.png|right|210px|Scan this QR Code with an Android device to go to L-Clock in Google Play]]<br />
'''L-Clock''' is an Android app that fetches data from [http://spaceflightnow.com/launch-schedule/ SpaceflightNow.com] and creates a formatted list of upcoming rocket launches, along with a launch clock and notifications.<br /><br />
<br /><br />
L-Clock is currently in beta. There are a few important features missing and some issues to be resolved by v1.0.0, but the basic functionality is there.<br /><br />
<br /><br />
L-Clock is free and open source software (FOSS)!<br /><br />
Code contributions through GitHub are encouraged for the benefit of the user community.<br /><br />
<br /><br />
Open source license: [http://apache.org/licenses/LICENSE-2.0 Apache License 2.0]<br /><br />
<br /><br />
== Links ==<br />
*<b>[http://play.google.com/store/apps/details?id=com.pilot51.lclock L-Clock on Google Play]</b><br />
*[http://github.com/pilot51/lclock L-Clock on GitHub]<br />
*[http://pilot51.com/apk/lclock Direct download APK] (all versions available; not recommended for most users)<br />
*[http://l-clock.com L-Clock.com] (forwards here)<br />
<br /><br />
<br />
== Changelog ==<br />
Dates are in GMT.<br />
For all code changes, see the [https://github.com/pilot51/lclock/commits commit history].<br />
<br />
==== v0.7.0 [2014-12-31] ====<br />
*Fix SpaceflightNow download and parsing.<br />
*Fix list adapter not updating after refresh completion.<br />
*Remove NASA. This is because the schedule page changed in a way that makes it difficult to get the data.<br />
*Remove ads. Was using AdWhirl, which was discontinued long ago.<br />
*Use 12/24 hour clock format as configured in Android settings.<br />
*Add refresh option to menu and don't auto-refresh within 12 hours.<br />
*If cached, show timer for next launch before refresh.<br />
*Show appropriate error when attempting refresh without a connection.<br />
<br />
==== v0.6.6 [2013-01-12] ====<br />
*Fix NASA parsing.<br />
*Applied [http://apache.org/licenses/LICENSE-2.0 Apache License 2.0] and released the source code on GitHub!<br />
<br />
==== v0.6.5 [2012-01-01] ====<br />
*Fix NASA parsing, again.<br />
*Fix Spaceflight Now parsing of dates containing "NET".<br />
*Remove touchscreen requirement. (Makes compatible with Google TV)<br />
*Update AdMob and AdWhirl SDKs. (Was using very old versions due to a significant visual bug with house ads in newer versions of AdWhirl including this version, decided the potential benefit of new features outweighs the bug)<br />
<br />
==== v0.6.4 [2011-12-09] ====<br />
*Fix SFN calendar parsing.<br />
**Fix incorrect calendar date when both GMT and EST dates are given (separated by /).<br />
**Remove " on [day]" before parsing calendar.<br />
**Remove underline tags before parsing list.<br />
*Fix NASA parsing failure.<br />
**Remove HTML comments before parsing.<br />
<br />
==== v0.6.3 [2011-10-13] ====<br />
*Add indeterminate progress indicator to title bar when list is refreshing.<br />
*Fix occasional crash when opening list, mostly on some slower devices. Caused by the list adapter being read and written in two different threads at the same time and the read happens on an empty list before the write; fixed by combining into single thread with read after write.<br />
<br />
==== v0.6.2 [2011-10-11] ====<br />
*Make ready for translating. Let me know if you want to translate! (note: this does not apply for list data)<br />
*Fix more NASA parsing issues. Notably support for future years and fixing error after the site had minor design changes.<br />
*Initial countdown shows next launch (first that hasn't passed) instead of first.<br />
*Fetch and parse data in a separate thread, preventing GUI from hanging while it waits for data.<br />
*Access to menu/preferences from lists.<br />
*Pre-load cache when app is started.<br />
*Use database instead of saving as raw file.<br />
<br />
==== v0.6.1 [2011-05-15] ====<br />
*Fix date/time parsing for most languages/locales and a few launches.<br />
*Connectivity is checked before attempting to download data or fetch ads. Requires ACCESS_NETWORK_STATE (view network state) permission.<br />
*Only create alerts for launches accurate to the minute or better.<br />
*Format time of launch (above clock) to not include missing time information.<br />
*Parts of clock change to red to indicate inaccuracy of schedule information.<br />
*Change countdown clock to L -/+ clock.<br />
<br />
==== v0.6.0 [2011-02-24] ====<br />
*Alerts!<br />
*Preferences.<br />
*Data is cached - cache loaded if unable to download.<br />
*Fix NASA descriptions cut off at the beginning.<br />
*Fix crash when no connection.<br />
*Hide ad space if no ad is loaded.<br />
<br />
==== v0.5.2 [2011-02-23] ====<br />
*Preserve list (don't re-download) on orientation change.<br />
*Indicate that launch cannot be confirmed by saying "supposedly".<br />
*Keep launch time in countdown area after launch.<br />
*Fix text on main screen in landscape orientation.<br />
*Fix text parsing issues.<br />
<br />
==== v0.5.1 [2010-12-15] ====<br />
*Better workaround for determining launch year in Spaceflight Now list.<br />
*Context menu option to view location in Google Maps.<br />
*In Spaceflight Now list, changed empty Mission column to Payload and populate.<br />
<br />
==== v0.5.0 [2010-12-15] ====<br />
*Initial release to the Android Market!<br /><br />
<br /><br />
'''Started development on 2010-11-14'''<br />
[[Category:Android]]</div>Pilot 51https://pilot51.com/w/index.php?title=PrediSat&diff=1332PrediSat2014-07-06T06:26:55Z<p>Pilot 51: /* v1.2.3 [2014-07-06] */ Released.</p>
<hr />
<div>'''PrediSat''' is an Android app that grabs Iridium flare and satellite pass data from [http://Heavens-Above.com Heavens-Above.com] and formats it for the small screen of the phone. It also includes a few features to make satellite watching easier, such as alerts, countdowns, and night mode.<br /><br />
[[Image:predisat_qrcode.png|right|250px|Read this QR Code with an Android device to go to PrediSat in Google Play]]<br />
<br /><br />
== Links ==<br />
*<b>[http://play.google.com/store/apps/details?id=com.pilot51.predisat PrediSat on Google Play]</b><br />
*<b>[http://play.google.com/store/apps/details?id=com.pilot51.predisatpro PrediSat Pro on Google Play]</b><br />
*[http://heavens-above.com Heavens-Above] (the source of satellite data for PrediSat)<br />
*[http://tracker.pilot51.com/describecomponents.cgi?product=PrediSat PrediSat issue tracker] (view or submit problems and suggestions)<br />
*[http://predisat.com PrediSat.com], [http://predisat.pilot51.com predisat.pilot51.com], [http://predisat.p51.me predisat.p51.me] (forwards here)<br />
<br /><br /><br />
<br />
== Pro version ==<br />
[[Image:predisatpro_qrcode.png|right|220px|Read this QR Code with an Android device to go to PrediSat Pro in the Android Market]]<br />
The Pro version adds some advanced features on top of what is available in the free version. It may also include early features that will later be added to the free version.<br /><br />
Price is $1 (USD).<br /><br />
<br /><br />
Current Pro-only features:<br /><br />
*Multiple satellite USSC ID's can be entered for 10-day pass predictions<br />
*Multiple alerts per event can be set<br /><br />
*Text-To-Speech alerts (optional)<br /><br />
*Alerts automatically created based on custom magnitude when list is loaded with new data (optional)<br /><br />
*Sightings log<br /><br />
*Export sightings to CSV<br /><br />
*No ads<br /><br />
<br /><br />
<br />
== Changelog ==<br />
Dates are based on GMT.<br /><br />
==== v1.2.3 [2014-07-06] ====<br />
*Fix fetching of specific date/time broken for all passes list, due to HA changes.<br />
*Enable DOM storage API in browser for API 7+ (Android 2.1+), allowing HA mobile prototype to function.<br />
<br />
==== v1.2.2.1 [2014-03-03] ====<br />
*Pro: Fix crash when TTS tries speaking. (Regression in v1.2.2)<br />
*Preserve current tab in Alerts/Sightings list when toggling night mode.<br />
*Add xhdpi icon.<br />
*Update About text.<br />
*A couple spelling corrections in German strings.<br />
*Use "en dash" character for time range in summary of Morning/Evening Passes setting.<br />
*Minor code tweaks and optimizations.<br />
<br />
==== v1.2.2 [2014-02-24] ====<br />
*Update Russian with translated timezones and a couple changed strings.<br />
*Add notification message variables for magnitude (%m), direction/azimuth (%z), elevation (%e).<br />
*Add example in notification message dialog.<br />
*Use custom notification message in notification ticker.<br />
*Enable JavaScript in browser since some HA pages use it.<br />
*Free: Update AdMob SDK, remove AdWhirl and Greystripe. Remove read phone state permission that was required by Greystripe.<br />
*Changes to better follow HA usage guidelines: Change Morning Passes default to disabled, change Daytime Flares default to disabled, change Cache Expire Time default to 24 hours.<br />
*Add app name and version to user agent so HA can identify requests from PrediSat.<br />
*Consolidate all source of Free and Pro into core project for future flexibility (ease of development and later allowing for Pro features to be unlocked in Free). The downside of doing this: The Pro apk size jumped from 192KB to 360KB now that it contains (but doesn't use) the AdMob library.<br />
*Pro: Fix crash when exporting sightings.<br />
*Fix parsing of morning/evening passes. Caused by recently added language selector on HA.<br />
*Fix crash when parsing 10-day pass with magnitude "?".<br />
*Fix quiet time inaccuracy when alert + timezone offset passes midnight.<br />
<br />
==== v1.2.1.4 [2012-12-14] ====<br />
*Fix parsing of date/time for flares. Another HA change either overlooked in previous release or happened after release.<br />
<br />
==== v1.2.1.3 [2012-12-13] ====<br />
*Fix parsing of passes, caused by more changes on HA.<br />
*Re-add pass magnitude 5.0 filter since HA re-added it.<br />
*Remove detail context menu options for flares due to HA not providing required data.<br />
*Fix flare count doubled during parsing.<br />
<br />
==== v1.2.1.2 [2012-11-19] ====<br />
*Change numeric keyboard type from 'phone' to 'number'.<br />
*Pro: Prevent invalid value being entered in Auto-Alert Mag. settings, leading to a crash.<br />
*Fix performance issue after updating list, mainly event timer not appearing immediately.<br />
*Fix crash when encountering unexpected character(s) in place of degree symbol (°). Happened occasionally either at launch when loading pre-1.2.1 database or when parsing new list.<br />
*Fix parsing of flares again, caused by another change on HA. Daytime flares now use same list as night flares, so only need to download/parse once.<br />
*Restore parsing/saving of flare center info. Not restored in UI for this version, currently only viewable in sightings export.<br />
*Fix magnitude setting no longer working for page request (another HA change). Not really noticeable to the user since events are already removed by magnitude after parsing.<br />
*Update Russian translation for "Orbital Height Profile".<br />
<br />
==== v1.2.1.1 [2012-11-08] ====<br />
*Pro: Fix crash after fetching a list when alert magnitude for the list has never been set.<br />
*Fix crash at launch when loading daytime flares from the database that were previously saved before v1.2.1.<br />
*Fix debug logging, of which there is a lot, being posted to logcat with Debug Mode disabled. (BuildConfig.DEBUG not working as expected in v1.2.1)<br />
<br />
==== v1.2.1 [2012-11-05] ====<br />
*Add context menu option for Orbital Height Profile.<br />
*Sort passes by max time rather than start time.<br />
*Disable flare event details due to new limitations with HA URL query.<br />
*Remove flare center magnitude/distance columns since HA no longer provides that data for night flares.<br />
*Remove obsolete Flare Days preference.<br />
*Significant improvements to how event data is handled. This is a prerequisite for better filtering and sorting in later versions.<br />
*Fix flares not parsing due to changes on HA.<br />
*Fix satellite details link for 10-day passes.<br />
*Fix debug mode not creating files if predisat folder doesn't already exist.<br />
<br />
==== v1.2.0.2 [2012-08-07] ====<br />
*Fix timezone/DST not initialized (using GMT+0) when opening Alerts from notification.<br />
*Fix 'Set 10 Days of Passes' context item appearing in Alerts and Sightings, functionless. It is intended to only appear in main Passes list.<br />
*Improve accuracy and efficiency of clock and countdown.<br />
<br />
==== v1.2.0.1 [2012-08-01] ====<br />
*Fix crash after downloading empty passes list. Don't know how I missed it after v1.2.0 fix of a very similar crash.<br />
*Free: Fix crash when opening passes context menu when there is no satellite set on 10 Days of Passes.<br />
<br />
==== v1.2.0 [2012-07-31] ====<br />
*New translations: German and Russian. Huge thanks to the translators, XoXFaby and Himura respectively!<br />
*Pro: Reverse sort order of sightings list, with more recent events towards top.<br />
*Add context option to add/remove selected satellite in 10 Days of Passes. In Free, this replaces existing entry, while Pro adds.<br />
*Add preference to force DST/Summer Time. Try this if time is off by an hour, especially useful for timezones that permanently do or don't observe DST. Note: Forcing DST just because your timezone permanently observes DST may not be what you want, this is because the GMT offset provided by Heavens-Above in the timezone name may already include DST.<br />
*Add Debug Mode preference. Requires WRITE_EXTERNAL_STORAGE permission to save debug.log and timestamped HTML files in [sdcard]/predisat/debug/. It is intended to be emailed to me, manually, if you have problems such as crashing. PRIVACY NOTICE: The configured coordinates are included in the debug files.<br />
*Open timezone list preference if detection fails.<br />
*Add screen title at top of list screens.<br />
*Fix timezone/DST changes not applying immediately.<br />
*Fix crash when fetching passes on some 3G carriers. [Huge thanks to Carol for being first to email me about it, 4 months after the ~80 insufficient crash reports started coming in!]<br />
*Fix crash when getting coordinates on locales that use comma (,) instead of period (.) as a decimal separator.<br />
*Update timezone names.<br />
*Fix crash when parsing empty passes list.<br />
*Pro: Fix crash at alert in Android 1.5 due to TTS not supported (happened regardless of TTS preference).<br />
*Increase night mode backlight brightness. This is because at least one device (Xperia mini) is known to have a higher minimum brightness than G1.<br />
*Remove compatibility upgrade for v1.0.7 data.<br />
*Change "HA Website" button to "Heavens-Above.com".<br />
*Bottom buttons in main screen: Increase to 2 lines height, reduce font size in portrait orientation.<br />
<br />
==== v1.1.2.2 [2012-03-17] ====<br />
*Fix crash on some devices when downloading passes. Caused by using the wrong thread in a fallback when a more efficient method of getting the default user agent failed. The workaround was to open the in-app browser before downloading the list.<br />
*Fix first fetch of evening receiving (and blindly accepting) morning when morning is current, or vice versa if evening is disabled. Now evening will still receive current morning, but will detect it, hold that data for the morning fetch, and try again. This happens because a specific request can't be made until the first page is downloaded to receive a couple random session strings generated by the server which need to be sent back to the server with each request; those strings are kept for the life of the process.<br />
*Fix progress bar not working for morning/evening after initial fetch.<br />
<br />
==== v1.1.2.1 [2012-03-13] ====<br />
*Fix parsing of morning/evening passes lists. Caused by major changes to the all satellites page on Heavens-Above. Sorry again for the delay.<br />
*If the last pass for the current period (AM or PM) has ended, fetch the same period for the next day, or (Pro) an additional day if multiple days.<br />
*Remove requirement for location and GPS features (supports Google TV).<br />
<br />
==== v1.1.2 [2012-02-17] ====<br />
*Fix crash when parsing 10-day list. Caused by minor changes to the 10-day page on Heavens-Above around Feb. 12. Sorry for the delay.<br />
*Show year in Date column.<br />
*Add pass magnitude filters for 0.0-2.5 (0.5 step).<br />
*Remove pass magnitude 5.0 filter (no longer supported by HA).<br />
*Add option to clear cache.<br />
*Changing filter preference while in list now takes effect on next manual refresh without the need to close and reopen the list.<br />
*Minor improvements to layouts making it appear better on large screens.<br />
*Remove touchscreen requirement.<br />
*Free: Update AdWhirl, AdMob, and Greystripe ad SDKs to latest versions.<br />
*Free: Enable full-screen ad option for Android 2.3.x users since updated Greystripe SDK fixes a crash.<br />
<br />
==== v1.1.1.3 [2011-12-10] ====<br />
*Pro: TTS doesn't speak if phone is in silent mode or in a call.<br />
*Fix rash when trying to update coordinates on some devices that don't have GPS (Honeycomb/tablets).<br />
*Fix how process is closed. Bad practice of forcibly killing process because TTS service was badly coded and holding process open.<br />
<br />
==== v1.1.1.2 [2011-08-04] ====<br />
*Fix crash on somewhat rare occasion when opening Alerts, caused by wrong thread exception when automatically selecting initial tab.<br />
<br />
==== v1.1.1.1 [2011-07-29] ====<br />
*Fix crash when trying to sort empty list immediately after parsing. Thanks to a crash report for pointing it out!<br />
<br />
==== v1.1.1 [2011-07-28] ====<br />
*Fix refreshing more than once in a single list instance causing following issues:<br />
**Crash during parsing of morning or evening passes after 10 day was enabled in previous refresh.<br />
**Evening passes fetching morning instead if 10 day was disabled and morning was enabled in previous refresh,<br />
**Night flares fetching daytime instead if daytime was enabled in previous refresh.<br />
*Progress dialog indicates the number of events in list being parsed, instead of always showing 100.<br />
*Fix countdown timer not automatically appearing for next event in Alerts if Remove Old Events is disabled.<br />
*If existing instance of Alerts screen is at top of process when opening notification, it is used instead of starting a second Alerts instance.<br />
*When opening Alerts, the tab with the next event is selected.<br />
*Pro: Allow fetching multiple days of all passes, configurable between 1-10 days. It's a bit on the experimental side, but nonetheless very useful. Disabled by default, using the old and reliable method of fetching up to 24 hours.<br />
*Slight increase in sorting performance and albeit more accurate as well. Sorting now happens as a single action after parsing instead of while parsing each event.<br />
*Broke some night mode styling in Preferences due to style inheritance breaking in current revision of SDK. This change only affects 2.0 - 2.2, all the other SDK's have always had broken inheritance.<br />
<br />
==== v1.1.0.1 [2011-07-13] ====<br />
*Fix [http://tracker.pilot51.com/show_bug.cgi?id=18 bug 18] (hopefully): Crash immediately after downloading lists. Couldn't reproduce based on limited information of crash reports & haven't been contacted directly about this.<br />
*Time difference threshold for existing events from 10 to 40 minutes. Avoids duplicate events showing up in alerts if 10-day list not updated for awhile and prediction changes by more than 10 minutes.<br />
<br />
==== v1.1.0 [2011-06-07] ====<br />
*Tabs are used in Alerts and Sightings to select Passes and Flares lists, instead of splitting both lists on screen. The tabs indicate exactly the list associated with it (Pass/Flare Alerts/Sightings) and the number of events in each.<br />
*Add confirmation dialog when clearing alerts or sightings lists.<br />
*Add customizable notification message for TTS (Pro) and bubbles. Variables: Satellite name, event type, and minutes until event.<br />
*Fix displayed time for stored events not changing when timezone is changed, plus other issues with using a different timezone than the phone.<br />
*Satellite name is above countdown instead of in parentheses after, or in landscape mode the name is aligned to the right.<br />
*Increased font size of countdown and made bold.<br />
*Increased minimum height of list items about 2x to make them easier to touch.<br />
*Event timer is shown for the next event when opening list.<br />
*Add preferences to toggle messages for tips and updated alert times.<br />
*Single-digit days are formatted without "0" prefix.<br />
*Free: Fix space allowed in Alert Time preference, which causes alerts to not work.<br />
*Pro: Timestamp included in filename of exported sightings CSV with pattern of yyyyMMddHHmm, preventing any unwanted overwrites.<br />
*Fix progress not updating while parsing flares.<br />
*Preferences and night mode menu options now accessible from lists.<br />
*Preferences are categorized into different screens.<br />
*10-day passes - ISS replaced with USSC ID entry. Free allows only one entry, Pro is space-separated. ISS is default.<br />
*Fix toast message showing string resource ID instead of "Timezone set to" when detecting timezone in preferences.<br />
*Events are removed from alerts and main lists a custom number of minutes (default: 10) after they have completely passed. Check is only performed when opening or refreshing list.<br />
*Lists are populated in UI (behind progress dialog) as parsing progresses.<br />
*All lists are loaded to memory at launch and remains until app is closed, making it very quick to open lists.<br />
*New list is only downloaded if manually refreshed from menu, cache is empty, or a custom number of hours (default: 6) have passed since last refresh.<br />
*Huge performance boost for parsing, about 15-30x faster! (all 3 pass lists timed on G1 going from 285 to 10 sec. and Droid from 65 to 5 sec., including download time)<br />
*Fix inability to load saved data across different ROMs. Data is now saved in an SQLite database. Data from 1.0.7 is moved at first launch.<br />
*Removed: Backwards compatibility for alerts and sightings saved as cache in v1.0.6 and earlier. If you have not run any of the v1.0.7 releases, data from older versions will be lost.<br />
<br />
==== v1.0.7.8 [2011-05-21] ====<br />
*Fix automatic location starting when night mode is toggled.<br />
*Pro: Fix colon at end of "Move to Sightings" in context menu for Alerts.<br />
*Fix crash when opening context menu in Passes/Flares lists after loading from cache.<br />
<br />
==== v1.0.7.7 [2011-05-19] ====<br />
*Fix automatic location starting when orientation changes.<br />
*Fix crash at start when Automatic Location is enabled. Thanks for crash reports, I didn't think to test it.<br />
<br />
==== v1.0.7.6 [2011-05-19] ====<br />
*Fix crash when opening preferences while using night mode for Android 2.0 and 2.3.1 to 3.1.<br />
*Free: Fix problems (crash?) at launch for Android 2.3.x. Greystripe issue, had to disable option for full-screen ads in 2.3.x.<br />
*Fix coordinates update stopping when orientation changes.<br />
*Fix inability to get altitude coordinates because receiving location from network prevents GPS from providing it. Now continues searching for GPS after network location received if GPS is enabled.<br />
*Fix Get Coordinates button disabled with GPS even if Network Location enabled.<br />
*All interface-visible text moved from code into XML string resources to make ready for translating. Please contact me if you would like to help translate.<br />
<br />
==== v1.0.7.5 [2011-05-10] ====<br />
*Fix crash during parsing with most system languages. English was the only unaffected language in all versions of Android.<br />
*Fix Alerts and Sightings buttons not appearing correctly in Android 1.5.<br />
<br />
==== v1.0.7.4 [2011-03-19] ====<br />
*Fix inability to scroll in About dialog for 1.5 and 1.6.<br />
*Fix inability to cancel download, a problem if there is connectivity but HA isn't responding.<br />
*Fix lists or browser restarting when physical keyboard opened/closed.<br />
*Fix several elements not changing for night mode. There are still some not changing, but it's greatly improved.<br />
*Fix crash when received data is not from Heavens-Above, such as a network login page. [2.2+ crash report]<br />
*Fix button backlight stuck on (mistake in code from previous update).<br />
<br />
==== v1.0.7.3 [2011-02-02] ====<br />
*Fix crash at launch in Android 2.1 caused by uncaught NoSuchFieldError when trying to set button brightness. [reported by 2 users in Market]<br />
<br />
==== v1.0.7.2 [2011-02-01] ====<br />
*Pro: Fix existing alerts not being updated if auto-alerts disabled.<br />
*Fix crash from bad parsing of single-digit day in start date range of 10-day ISS.<br />
<br />
==== v1.0.7.1 [2011-01-29] ====<br />
*Disabled links in About dialog text, tends to be more trouble than it's worth (turned 1.0.7.1 into link).<br />
*Fix crash when opening notification.<br />
<br />
==== v1.0.7 [2011-01-29] ====<br />
*Alerts & sightings data moved from app cache to files, so clearing cache from Android app manager won't delete it.<br />
*Remove preference to delete data. Avoids accidental deletion, menu on Alerts/Sightings screens should be safer.<br />
*Remove preference to clear coordinates. Not necessary since it's just as easy to manually clear coordinates.<br />
*Free: Existing alerts are automatically updated when new data is loaded. (Pro already had this with auto-alerts)<br />
*Pro: Option in preferences to export sightings to sdcard as CSV files, uses WRITE_EXTERNAL_STORAGE permission.<br />
*Messages for updated alerts will only appear if the time has changed and shows the old and new times.<br />
*Threshold for duplicate alert/sighting check increased from 10 seconds to 10 minutes.<br />
*Pro: If event is in alerts, Add Sighting becomes Move to Sightings in context menu.<br />
*Pro: Add Sighting is disabled until 2 minutes before event start.<br />
*Add Alert is disabled for events that have already started, also applies for auto-alerts in Pro.<br />
*Buttons on main screen repositioned.<br />
*Add ACCESS_NETWORK_STATE permission for connectivity detection, also required by Greystripe in Free version.<br />
*Connectivity is now checked before attempting to access.<br />
*Add 10-day ISS list. (optional) [Suggested by Seth]<br />
*Countdown to start, max, and end instead of just start.<br />
*Countdown is initiated by tapping an event instead of from the context menu.<br />
*Include daytime flares in list. (optional)<br />
*Add progress dialog in list showing what is loading and percentage of each process. [Suggested by SuM_WuN]<br />
*Better performance with the use of multiple threads and other optimizations.<br />
*Add quiet time: No alert notifications between certain times of day. [Suggested by Rick]<br />
*Fix location search stopping when invalid coordinates received.<br />
*Add network location (works seamlessly with GPS) and message indicating what provided the coordinates.<br />
*After opening notification, pressing back button from Alerts opens main screen.<br />
*Fix missing indication of disabled GPS on GPS button. [Reported by ka0ticstyle]<br />
*Volume buttons control notification volume, or media volume if TTS is enabled.<br />
*Fix browser closing when orientation changes.<br />
*Add date on satellite passes lists. [Suggested by Rick]<br />
*Button backlight turns off in Night Mode if supported by API and hardware.<br />
*Fix exiting with back button causing home screen folder in background to close.<br />
*Fix empty countdown view and list header color missing when returning to list from web browser.<br />
*Main and preferences screens are not restarted when changing timezone or alert time.<br />
*Free: Option to toggle between banner ads or full screen ad at launch.<br />
*Free: READ_PHONE_STATE permission required by Greystripe.<br />
*Free: Greystripe ads.<br />
*Free: Update SDKs for AdWhirl and AdMob.<br />
*Pro: Remove option for ads.<br />
*Instead of buttons for each list on Heavens-Above site, one button for the homepage.<br />
*Remove changelog.<br />
<br />
==== v1.0.6 [2010-10-14] ====<br />
*Initial release of Pro.<br />
*Fix countdown timer way off after orientation change.<br />
*Pro: Sightings log.<br />
*Pro: Alerts automatically created based on custom magnitude when list is loaded with new data.<br />
*Fix back button not working as expected in web view.<br />
*Night mode uses color filtering instead of replacing graphics with plain colors.<br />
*Ad manager is AdWhirl, which provides much more flexibility with multiple ad networks.<br />
*Pro: Text-To-Speech alerts.<br />
*Pro: Multiple alert times can be set, space separated.<br />
*Pro: Ads are disabled by default and can be toggled.<br />
*Fix detection of existing alerts with certain differences in data, alert is updated when required.<br />
*Fix value shown in title of 'Alert time' preference stacking when changed.<br />
==== v1.0.5 [2010-09-24] ====<br />
*Alert time preference shows the current setting in its title.<br />
*Alert lists are sorted by event time instead of order they were added.<br />
*Add description on Timezone preference clarifying that it is the standard GMT offset.<br />
*Add menu option on main screen to toggle night mode.<br />
*Add menu options in Alerts view to clear either list.<br />
*Detect incompatible alerts at launch and delete along with cache, preventing crash after version upgrade.<br />
*Fix detection of existing alerts created in different list instances.<br />
*Alerts can be removed through event lists.<br />
*Events can be added to alerts even if alerts are currently disabled.<br />
*If invalid GPS coordinates received, show error instead of crashing.<br />
*Toast notification at alert trigger.<br />
*Notification timer is much more efficient, using a native method instead of a very bloated and often buggy countdown.<br />
*Try setting timezone automatically at launch if not set.<br />
*Fix error when parser encounters trimmed/optimized HTML. (Thanks to [http://twitter.com/SkepticBarista SkepticBarista]!)<br />
*Fix expired alerts being triggered on service modification/start if alert time is set to 0.<br />
==== v1.0.4 [2010-09-02] ====<br />
*Fix event timer timezone not being calculated properly for timezones different from phone.<br />
*Significantly reduced possibility of alerts being skipped because of lag.<br />
*If parser runs into problem, show error and try loading cache instead of crashing.<br />
==== v1.0.3 [2010-08-31] ====<br />
*Save coordinates when opening preferences.<br />
*Fix alert time not applying to existing alerts when changed.<br />
*Fix crash when both pass periods are selected and one of them returns no passes.<br />
*Fix crash when alert is triggered and ringtone was not configured.<br />
*Fix DST sometimes being 'forgotten' while running in background as service.<br />
==== v1.0.1 and v1.0.2 [2010-08-28] ====<br />
*Fix two crashes in the web browser.<br />
==== v1.0.0 [2010-08-28] ====<br />
*Initial release to the Android Market!<br />
<br /><br />
'''Started development on 2010-06-29'''<br />
[[Category:Android]]</div>Pilot 51https://pilot51.com/w/index.php?title=Voice_Notify&diff=1331Voice Notify2014-05-05T00:50:13Z<p>Pilot 51: /* v1.0.12 [2014-05-04] */ Released.</p>
<hr />
<div>[[Image:voicenotify_qrcode_l.png|right|210px|Scan this QR Code with an Android device to go to Voice Notify in the Android Market]]<br />
'''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 /><br />
<br /><br />
Price: Free!<br /><br />
Open source license: [http://apache.org/licenses/LICENSE-2.0 Apache License 2.0]<br /><br />
<br /><br />
== Links ==<br />
*<b>[http://play.google.com/store/apps/details?id=com.pilot51.voicenotify Voice Notify on Google Play]</b><br />
*<b>[http://github.com/pilot51/voicenotify Voice Notify on GitHub]</b> (source code and issue tracker)<br />
*[http://getlocalization.com/voicenotify Voice Notify on GetLocalization] (crowdsourced translations)<br />
*[http://tracker.pilot51.com/describecomponents.cgi?product=Voice%20Notify Voice Notify issue tracker] (old, use GitHub)<br />
*[http://pilot51.com/apk/voicenotify Direct download APK] (all versions available; not recommended for most users)<br />
*[http://voicenotify.pilot51.com voicenotify.pilot51.com] and [http://vn.p51.me vn.p51.me] (forwards here)<br />
<br /><br />
== Changelog ==<br />
Dates are in GMT.<br />
<br />
==== v1.0.12 [2014-05-04] ====<br />
*Fix Google Now hotword disabled while VN service running.<br />
*Use better headset connectivity detection for Android 2.0+. Requires Modify Audio Settings permission. [Code contributed by Chris Rae (pugwonk)]<br />
*Fix [https://github.com/pilot51/voicenotify/issues/24 issue 24]: Shake-To-Silence silencing future notifications.<br />
<br />
==== v1.0.11.2 [2014-02-10] ====<br />
*Fix crash when DeviceStateReceiver triggered while all notifications are ignored and the Notification Log is empty (usually happens at service start).<br />
*Update translations. Don't translate support email strings to encourage users to write in English. Russian updated by new translator: vanetned<br />
<br />
==== v1.0.11.1 [2014-01-12] ====<br />
*Add mention that Google Wallet Send Money is only available in the United States.<br />
*Fix status showing suspended and nothing happening when clicked after suspending with widget and then disabling VN.<br />
*Fix crash at launch for API 7 (2.1) and earlier.<br />
*Fix wrong app toggled when un/checking app in filtered list. [Code contributed by 1karu5]<br />
*Fix VN crashing or ceasing to function in some situations, plus other TTS fixes. [Code contributed by Scott Albertine]<br />
<br />
==== v1.0.11 [2014-01-01] ====<br />
*Italian translation updated by Matteo Regoli (Teorouge).<br />
*Add option to pause/dim other media while speaking. [Code contributed by Scott Albertine]<br />
*Add support for new widget picker. [Code contributed by 1karu5]<br />
*Add option to ignore empty notifications (previously they were always ignored).<br />
*Add support for more audio streams: Voice, Ring, Alarm<br />
*Add option to donate through Google Wallet.<br />
*Fix service status in config not updating when resumed from background.<br />
*Fix handling of TTS initialization, preventing notifications from being missed and other possible issues.<br />
<br />
==== v1.0.10.1 [2013-06-11] ====<br />
*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.<br />
*Don't interrupt speech when screen changes to ignored state.<br />
*French translation updated by Titan44.<br />
<br />
==== v1.0.10 [2013-06-08] ====<br />
*New translations: French by caliann and Souln77, German by massimo2001, Hungarian by njozsef.<br />
*Make speaking of toasts optional in Android 3.0+.<br />
*Add un/ignore in Notification Log via long-press & confirm.<br />
*Increase Notification Log history limit from 10 to 20.<br />
*Instead of "Enable/Disable", indicate whether VN service is running.<br />
*Add menu option in App List to show soft keyboard for filtering. This solves devices without hardware keyboard unable to filter.<br />
*Add widget. Color indicates service status. Clicking it toggles service suspend or opens Accessibility settings if disabled.<br />
*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.<br />
*Add GetLocalization and GitHub to Support menu.<br />
*Add basic info to support email body: VN version, Android version, Android build number, Device.<br />
*Fix crash when viewing log with app not yet in app list.<br />
*Fix crash when viewing log during TTS Delay & ignore.<br />
*Fix crash when resuming App List after process death.<br />
*Fix crash when notification received and not ignored with TTS Delay set between 2147484 and 2147483647 seconds.<br />
*Fix crashes when opening App List multiple times while loading. Also fixes duplicates in App List if it doesn't crash.<br />
*Major performance boost on first load of app list.<br />
*TTS Repeat improvements. Fixes crash with TTS Repeat set between 35792 and 2147483647 minutes. Hopefully fixes [http://tracker.pilot51.com/29 issue 29].<br />
<br />
v1.0.10 public beta released on 2013-06-03.<br />
<br />
==== v1.0.9.1 [2012-11-26] ====<br />
*Fix crash when opening App List and an uninstalled app gets removed from cache.<br />
*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.<br />
*Significant improvement to shake detection, fixing erroneous detections.<br />
*Don't allow installing/moving to SD card since it causes problems.<br />
<br />
==== v1.0.9 [2012-11-15] ====<br />
*Add Russian translation by Max Ponomaryov (ceejay).<br />
*Add Spanish translation by PaoloNB.<br />
*Add Shake-To-Silence preference to configure sensitivity threshold.<br />
*In Notification Log, show reasons in yellow if silenced after speaking started.<br />
*Change keyboard type for number preferences from "phone" to "number".<br />
*Fix [http://tracker.pilot51.com/30 issue 30]: VN not appearing in Android 4.2 Accessibility list.<br />
*Fix some ignore reasons not showing in Notification Log.<br />
*Fix crash when ignoring all/none while App List is loading.<br />
*Fix crash when running Test on Android 4.2 device in vibrate mode (add vibrate permission).<br />
<br />
==== v1.0.8 [2012-08-04] ====<br />
*Add Italian translation by Teorouge.<br />
*Fix [http://tracker.pilot51.com/27 issue 27]: Accessibility broken in Android 4.1 (Jelly Bean).<br />
*Add shake-to-silence.<br />
*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.<br />
*Add option for TTS to repeat notifications at a custom interval in minutes while screen is off.<br />
*Fix Ignored Text not working when containing capital letters.<br />
<br />
==== v1.0.7.2 [2012-03-28] ====<br />
*Fix mislabeled device states (on and off were swapped).<br />
*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.<br />
<br />
==== v1.0.7.1 [2012-03-27] ====<br />
*Fix crash when notification received and Ignore Text is not set/initialized.<br />
<br />
==== v1.0.7 [2012-03-26] ====<br />
*Add Ignore Text preference.<br />
*Add Ignore Repeats preference. Default, which was previously hard-coded, is to ignore identical consecutive notifications within 10 seconds.<br />
*Add Silent/Vibrate to Device States preference. Default, which was previously hard-coded, is disabled (not speak).<br />
*Default ignore for new apps is based on Ignore All/None.<br />
*Change App List progress indicator to indeterminate title bar style since load time is much quicker.<br />
*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).<br />
*App search filtering now includes package names and search containing text instead of words starting with the search term.<br />
*Show toast message when running Test with Voice Notify ignored.<br />
*Check notification-independent ignores after TTS Delay instead of before.<br />
*Stop speaking if headset changes to ignored state.<br />
*Fix crash at service initialization on some (most?) Android 2.0.1 and lower devices.<br />
*Fix/enable TTS Settings for ICS.<br />
*Fix TTS Settings crash in Honeycomb & Android 4.0 (API 11-14).<br />
<br />
==== v1.0.6 [2012-01-10] ====<br />
*Add option for custom TTS Delay. Value in seconds.<br />
*Add headset on/off to device states. Note: Due to API limitations, all Bluetooth devices are detected the same, headset or not.<br />
*Add Bluetooth permission. Required to detect Bluetooth connections.<br />
*Add option to post a test notification. Delayed 5 seconds to allow user to, for example, turn off the screen.<br />
*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.<br />
*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.<br />
<br />
==== v1.0.5 [2011-12-18] ====<br />
*Fix [http://tracker.pilot51.com/10 issue 10]: App List jumps slightly when item toggled.<br />
*Fix crash when opening TTS Settings on Google TV.<br />
*Fix crash when filtering App List.<br />
*Ignore All/None only applies to apps in filter.<br />
<br />
==== v1.0.4 [2011-12-12] ====<br />
*Add option to select whether to speak with screen on or off. ([http://tracker.pilot51.com/25 issue 25])<br />
*Remove touchscreen requirement (makes compatible with Google TV).<br />
<br />
==== v1.0.3 [2011-10-23] ====<br />
*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!]<br />
*Special characters | [ ] { } * < > in notification messages are not spoken (replaced with a space).([http://tracker.pilot51.com/23 issue 23])<br />
*Change default audio stream back to Media.<br />
*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)<br />
*Notifications are ignored while phone is ringing or in a call.<br />
*Add Quiet Time option.<br />
*Add options to rate/comment (Market) or contact developer (email app).<br />
<br />
==== v1.0.2 [2011-04-05] ====<br />
*Fix Ignore All option creating duplicate ignores, sometimes requiring multiple touches to enable an app.<br />
*Add option to donate through Paypal (opens Paypal donate page in external browser).<br />
*Fix speaking of quickly repeated notifications (usually progress bars).<br />
*Add option to change TTS between Notification and Media audio streams. Solution to Bluetooth issue reported by SRadner.<br />
*Fix App List jumping to top when selection changed. (rough/temporary workaround, list still jumps by up to one item)<br />
<br />
==== v1.0.1 [2011-03-28] ====<br />
*Fix crash when custom TTS message contains an unsupported percent variable. [reported by SRadner]<br />
*TTS runs on Notification audio stream instead of Media stream, also removed control of media volume while displayed.<br />
*Add App List menu options to ignore all or none.<br />
<br />
==== v1.0.0 [2011-02-13] ====<br />
*Initial release to the Android Market!<br /><br />
<br /><br />
'''Started development on 2011-02-03'''<br />
[[Category:Android]]</div>Pilot 51https://pilot51.com/w/index.php?title=PrediSat&diff=1330PrediSat2014-03-03T03:07:44Z<p>Pilot 51: /* v1.2.2.1 [2014-03-03] */ Released.</p>
<hr />
<div>'''PrediSat''' is an Android app that grabs Iridium flare and satellite pass data from [http://Heavens-Above.com Heavens-Above.com] and formats it for the small screen of the phone. It also includes a few features to make satellite watching easier, such as alerts, countdowns, and night mode.<br /><br />
[[Image:predisat_qrcode.png|right|250px|Read this QR Code with an Android device to go to PrediSat in Google Play]]<br />
<br /><br />
== Links ==<br />
*<b>[http://play.google.com/store/apps/details?id=com.pilot51.predisat PrediSat on Google Play]</b><br />
*<b>[http://play.google.com/store/apps/details?id=com.pilot51.predisatpro PrediSat Pro on Google Play]</b><br />
*[http://heavens-above.com Heavens-Above] (the source of satellite data for PrediSat)<br />
*[http://tracker.pilot51.com/describecomponents.cgi?product=PrediSat PrediSat issue tracker] (view or submit problems and suggestions)<br />
*[http://predisat.com PrediSat.com], [http://predisat.pilot51.com predisat.pilot51.com], [http://predisat.p51.me predisat.p51.me] (forwards here)<br />
<br /><br /><br />
<br />
== Pro version ==<br />
[[Image:predisatpro_qrcode.png|right|220px|Read this QR Code with an Android device to go to PrediSat Pro in the Android Market]]<br />
The Pro version adds some advanced features on top of what is available in the free version. It may also include early features that will later be added to the free version.<br /><br />
Price is $1 (USD).<br /><br />
<br /><br />
Current Pro-only features:<br /><br />
*Multiple satellite USSC ID's can be entered for 10-day pass predictions<br />
*Multiple alerts per event can be set<br /><br />
*Text-To-Speech alerts (optional)<br /><br />
*Alerts automatically created based on custom magnitude when list is loaded with new data (optional)<br /><br />
*Sightings log<br /><br />
*Export sightings to CSV<br /><br />
*No ads<br /><br />
<br /><br />
<br />
== Changelog ==<br />
Dates are based on GMT.<br /><br />
==== v1.2.2.1 [2014-03-03] ====<br />
*Pro: Fix crash when TTS tries speaking. (Regression in v1.2.2)<br />
*Preserve current tab in Alerts/Sightings list when toggling night mode.<br />
*Add xhdpi icon.<br />
*Update About text.<br />
*A couple spelling corrections in German strings.<br />
*Use "en dash" character for time range in summary of Morning/Evening Passes setting.<br />
*Minor code tweaks and optimizations.<br />
<br />
==== v1.2.2 [2014-02-24] ====<br />
*Update Russian with translated timezones and a couple changed strings.<br />
*Add notification message variables for magnitude (%m), direction/azimuth (%z), elevation (%e).<br />
*Add example in notification message dialog.<br />
*Use custom notification message in notification ticker.<br />
*Enable JavaScript in browser since some HA pages use it.<br />
*Free: Update AdMob SDK, remove AdWhirl and Greystripe. Remove read phone state permission that was required by Greystripe.<br />
*Changes to better follow HA usage guidelines: Change Morning Passes default to disabled, change Daytime Flares default to disabled, change Cache Expire Time default to 24 hours.<br />
*Add app name and version to user agent so HA can identify requests from PrediSat.<br />
*Consolidate all source of Free and Pro into core project for future flexibility (ease of development and later allowing for Pro features to be unlocked in Free). The downside of doing this: The Pro apk size jumped from 192KB to 360KB now that it contains (but doesn't use) the AdMob library.<br />
*Pro: Fix crash when exporting sightings.<br />
*Fix parsing of morning/evening passes. Caused by recently added language selector on HA.<br />
*Fix crash when parsing 10-day pass with magnitude "?".<br />
*Fix quiet time inaccuracy when alert + timezone offset passes midnight.<br />
<br />
==== v1.2.1.4 [2012-12-14] ====<br />
*Fix parsing of date/time for flares. Another HA change either overlooked in previous release or happened after release.<br />
<br />
==== v1.2.1.3 [2012-12-13] ====<br />
*Fix parsing of passes, caused by more changes on HA.<br />
*Re-add pass magnitude 5.0 filter since HA re-added it.<br />
*Remove detail context menu options for flares due to HA not providing required data.<br />
*Fix flare count doubled during parsing.<br />
<br />
==== v1.2.1.2 [2012-11-19] ====<br />
*Change numeric keyboard type from 'phone' to 'number'.<br />
*Pro: Prevent invalid value being entered in Auto-Alert Mag. settings, leading to a crash.<br />
*Fix performance issue after updating list, mainly event timer not appearing immediately.<br />
*Fix crash when encountering unexpected character(s) in place of degree symbol (°). Happened occasionally either at launch when loading pre-1.2.1 database or when parsing new list.<br />
*Fix parsing of flares again, caused by another change on HA. Daytime flares now use same list as night flares, so only need to download/parse once.<br />
*Restore parsing/saving of flare center info. Not restored in UI for this version, currently only viewable in sightings export.<br />
*Fix magnitude setting no longer working for page request (another HA change). Not really noticeable to the user since events are already removed by magnitude after parsing.<br />
*Update Russian translation for "Orbital Height Profile".<br />
<br />
==== v1.2.1.1 [2012-11-08] ====<br />
*Pro: Fix crash after fetching a list when alert magnitude for the list has never been set.<br />
*Fix crash at launch when loading daytime flares from the database that were previously saved before v1.2.1.<br />
*Fix debug logging, of which there is a lot, being posted to logcat with Debug Mode disabled. (BuildConfig.DEBUG not working as expected in v1.2.1)<br />
<br />
==== v1.2.1 [2012-11-05] ====<br />
*Add context menu option for Orbital Height Profile.<br />
*Sort passes by max time rather than start time.<br />
*Disable flare event details due to new limitations with HA URL query.<br />
*Remove flare center magnitude/distance columns since HA no longer provides that data for night flares.<br />
*Remove obsolete Flare Days preference.<br />
*Significant improvements to how event data is handled. This is a prerequisite for better filtering and sorting in later versions.<br />
*Fix flares not parsing due to changes on HA.<br />
*Fix satellite details link for 10-day passes.<br />
*Fix debug mode not creating files if predisat folder doesn't already exist.<br />
<br />
==== v1.2.0.2 [2012-08-07] ====<br />
*Fix timezone/DST not initialized (using GMT+0) when opening Alerts from notification.<br />
*Fix 'Set 10 Days of Passes' context item appearing in Alerts and Sightings, functionless. It is intended to only appear in main Passes list.<br />
*Improve accuracy and efficiency of clock and countdown.<br />
<br />
==== v1.2.0.1 [2012-08-01] ====<br />
*Fix crash after downloading empty passes list. Don't know how I missed it after v1.2.0 fix of a very similar crash.<br />
*Free: Fix crash when opening passes context menu when there is no satellite set on 10 Days of Passes.<br />
<br />
==== v1.2.0 [2012-07-31] ====<br />
*New translations: German and Russian. Huge thanks to the translators, XoXFaby and Himura respectively!<br />
*Pro: Reverse sort order of sightings list, with more recent events towards top.<br />
*Add context option to add/remove selected satellite in 10 Days of Passes. In Free, this replaces existing entry, while Pro adds.<br />
*Add preference to force DST/Summer Time. Try this if time is off by an hour, especially useful for timezones that permanently do or don't observe DST. Note: Forcing DST just because your timezone permanently observes DST may not be what you want, this is because the GMT offset provided by Heavens-Above in the timezone name may already include DST.<br />
*Add Debug Mode preference. Requires WRITE_EXTERNAL_STORAGE permission to save debug.log and timestamped HTML files in [sdcard]/predisat/debug/. It is intended to be emailed to me, manually, if you have problems such as crashing. PRIVACY NOTICE: The configured coordinates are included in the debug files.<br />
*Open timezone list preference if detection fails.<br />
*Add screen title at top of list screens.<br />
*Fix timezone/DST changes not applying immediately.<br />
*Fix crash when fetching passes on some 3G carriers. [Huge thanks to Carol for being first to email me about it, 4 months after the ~80 insufficient crash reports started coming in!]<br />
*Fix crash when getting coordinates on locales that use comma (,) instead of period (.) as a decimal separator.<br />
*Update timezone names.<br />
*Fix crash when parsing empty passes list.<br />
*Pro: Fix crash at alert in Android 1.5 due to TTS not supported (happened regardless of TTS preference).<br />
*Increase night mode backlight brightness. This is because at least one device (Xperia mini) is known to have a higher minimum brightness than G1.<br />
*Remove compatibility upgrade for v1.0.7 data.<br />
*Change "HA Website" button to "Heavens-Above.com".<br />
*Bottom buttons in main screen: Increase to 2 lines height, reduce font size in portrait orientation.<br />
<br />
==== v1.1.2.2 [2012-03-17] ====<br />
*Fix crash on some devices when downloading passes. Caused by using the wrong thread in a fallback when a more efficient method of getting the default user agent failed. The workaround was to open the in-app browser before downloading the list.<br />
*Fix first fetch of evening receiving (and blindly accepting) morning when morning is current, or vice versa if evening is disabled. Now evening will still receive current morning, but will detect it, hold that data for the morning fetch, and try again. This happens because a specific request can't be made until the first page is downloaded to receive a couple random session strings generated by the server which need to be sent back to the server with each request; those strings are kept for the life of the process.<br />
*Fix progress bar not working for morning/evening after initial fetch.<br />
<br />
==== v1.1.2.1 [2012-03-13] ====<br />
*Fix parsing of morning/evening passes lists. Caused by major changes to the all satellites page on Heavens-Above. Sorry again for the delay.<br />
*If the last pass for the current period (AM or PM) has ended, fetch the same period for the next day, or (Pro) an additional day if multiple days.<br />
*Remove requirement for location and GPS features (supports Google TV).<br />
<br />
==== v1.1.2 [2012-02-17] ====<br />
*Fix crash when parsing 10-day list. Caused by minor changes to the 10-day page on Heavens-Above around Feb. 12. Sorry for the delay.<br />
*Show year in Date column.<br />
*Add pass magnitude filters for 0.0-2.5 (0.5 step).<br />
*Remove pass magnitude 5.0 filter (no longer supported by HA).<br />
*Add option to clear cache.<br />
*Changing filter preference while in list now takes effect on next manual refresh without the need to close and reopen the list.<br />
*Minor improvements to layouts making it appear better on large screens.<br />
*Remove touchscreen requirement.<br />
*Free: Update AdWhirl, AdMob, and Greystripe ad SDKs to latest versions.<br />
*Free: Enable full-screen ad option for Android 2.3.x users since updated Greystripe SDK fixes a crash.<br />
<br />
==== v1.1.1.3 [2011-12-10] ====<br />
*Pro: TTS doesn't speak if phone is in silent mode or in a call.<br />
*Fix rash when trying to update coordinates on some devices that don't have GPS (Honeycomb/tablets).<br />
*Fix how process is closed. Bad practice of forcibly killing process because TTS service was badly coded and holding process open.<br />
<br />
==== v1.1.1.2 [2011-08-04] ====<br />
*Fix crash on somewhat rare occasion when opening Alerts, caused by wrong thread exception when automatically selecting initial tab.<br />
<br />
==== v1.1.1.1 [2011-07-29] ====<br />
*Fix crash when trying to sort empty list immediately after parsing. Thanks to a crash report for pointing it out!<br />
<br />
==== v1.1.1 [2011-07-28] ====<br />
*Fix refreshing more than once in a single list instance causing following issues:<br />
**Crash during parsing of morning or evening passes after 10 day was enabled in previous refresh.<br />
**Evening passes fetching morning instead if 10 day was disabled and morning was enabled in previous refresh,<br />
**Night flares fetching daytime instead if daytime was enabled in previous refresh.<br />
*Progress dialog indicates the number of events in list being parsed, instead of always showing 100.<br />
*Fix countdown timer not automatically appearing for next event in Alerts if Remove Old Events is disabled.<br />
*If existing instance of Alerts screen is at top of process when opening notification, it is used instead of starting a second Alerts instance.<br />
*When opening Alerts, the tab with the next event is selected.<br />
*Pro: Allow fetching multiple days of all passes, configurable between 1-10 days. It's a bit on the experimental side, but nonetheless very useful. Disabled by default, using the old and reliable method of fetching up to 24 hours.<br />
*Slight increase in sorting performance and albeit more accurate as well. Sorting now happens as a single action after parsing instead of while parsing each event.<br />
*Broke some night mode styling in Preferences due to style inheritance breaking in current revision of SDK. This change only affects 2.0 - 2.2, all the other SDK's have always had broken inheritance.<br />
<br />
==== v1.1.0.1 [2011-07-13] ====<br />
*Fix [http://tracker.pilot51.com/show_bug.cgi?id=18 bug 18] (hopefully): Crash immediately after downloading lists. Couldn't reproduce based on limited information of crash reports & haven't been contacted directly about this.<br />
*Time difference threshold for existing events from 10 to 40 minutes. Avoids duplicate events showing up in alerts if 10-day list not updated for awhile and prediction changes by more than 10 minutes.<br />
<br />
==== v1.1.0 [2011-06-07] ====<br />
*Tabs are used in Alerts and Sightings to select Passes and Flares lists, instead of splitting both lists on screen. The tabs indicate exactly the list associated with it (Pass/Flare Alerts/Sightings) and the number of events in each.<br />
*Add confirmation dialog when clearing alerts or sightings lists.<br />
*Add customizable notification message for TTS (Pro) and bubbles. Variables: Satellite name, event type, and minutes until event.<br />
*Fix displayed time for stored events not changing when timezone is changed, plus other issues with using a different timezone than the phone.<br />
*Satellite name is above countdown instead of in parentheses after, or in landscape mode the name is aligned to the right.<br />
*Increased font size of countdown and made bold.<br />
*Increased minimum height of list items about 2x to make them easier to touch.<br />
*Event timer is shown for the next event when opening list.<br />
*Add preferences to toggle messages for tips and updated alert times.<br />
*Single-digit days are formatted without "0" prefix.<br />
*Free: Fix space allowed in Alert Time preference, which causes alerts to not work.<br />
*Pro: Timestamp included in filename of exported sightings CSV with pattern of yyyyMMddHHmm, preventing any unwanted overwrites.<br />
*Fix progress not updating while parsing flares.<br />
*Preferences and night mode menu options now accessible from lists.<br />
*Preferences are categorized into different screens.<br />
*10-day passes - ISS replaced with USSC ID entry. Free allows only one entry, Pro is space-separated. ISS is default.<br />
*Fix toast message showing string resource ID instead of "Timezone set to" when detecting timezone in preferences.<br />
*Events are removed from alerts and main lists a custom number of minutes (default: 10) after they have completely passed. Check is only performed when opening or refreshing list.<br />
*Lists are populated in UI (behind progress dialog) as parsing progresses.<br />
*All lists are loaded to memory at launch and remains until app is closed, making it very quick to open lists.<br />
*New list is only downloaded if manually refreshed from menu, cache is empty, or a custom number of hours (default: 6) have passed since last refresh.<br />
*Huge performance boost for parsing, about 15-30x faster! (all 3 pass lists timed on G1 going from 285 to 10 sec. and Droid from 65 to 5 sec., including download time)<br />
*Fix inability to load saved data across different ROMs. Data is now saved in an SQLite database. Data from 1.0.7 is moved at first launch.<br />
*Removed: Backwards compatibility for alerts and sightings saved as cache in v1.0.6 and earlier. If you have not run any of the v1.0.7 releases, data from older versions will be lost.<br />
<br />
==== v1.0.7.8 [2011-05-21] ====<br />
*Fix automatic location starting when night mode is toggled.<br />
*Pro: Fix colon at end of "Move to Sightings" in context menu for Alerts.<br />
*Fix crash when opening context menu in Passes/Flares lists after loading from cache.<br />
<br />
==== v1.0.7.7 [2011-05-19] ====<br />
*Fix automatic location starting when orientation changes.<br />
*Fix crash at start when Automatic Location is enabled. Thanks for crash reports, I didn't think to test it.<br />
<br />
==== v1.0.7.6 [2011-05-19] ====<br />
*Fix crash when opening preferences while using night mode for Android 2.0 and 2.3.1 to 3.1.<br />
*Free: Fix problems (crash?) at launch for Android 2.3.x. Greystripe issue, had to disable option for full-screen ads in 2.3.x.<br />
*Fix coordinates update stopping when orientation changes.<br />
*Fix inability to get altitude coordinates because receiving location from network prevents GPS from providing it. Now continues searching for GPS after network location received if GPS is enabled.<br />
*Fix Get Coordinates button disabled with GPS even if Network Location enabled.<br />
*All interface-visible text moved from code into XML string resources to make ready for translating. Please contact me if you would like to help translate.<br />
<br />
==== v1.0.7.5 [2011-05-10] ====<br />
*Fix crash during parsing with most system languages. English was the only unaffected language in all versions of Android.<br />
*Fix Alerts and Sightings buttons not appearing correctly in Android 1.5.<br />
<br />
==== v1.0.7.4 [2011-03-19] ====<br />
*Fix inability to scroll in About dialog for 1.5 and 1.6.<br />
*Fix inability to cancel download, a problem if there is connectivity but HA isn't responding.<br />
*Fix lists or browser restarting when physical keyboard opened/closed.<br />
*Fix several elements not changing for night mode. There are still some not changing, but it's greatly improved.<br />
*Fix crash when received data is not from Heavens-Above, such as a network login page. [2.2+ crash report]<br />
*Fix button backlight stuck on (mistake in code from previous update).<br />
<br />
==== v1.0.7.3 [2011-02-02] ====<br />
*Fix crash at launch in Android 2.1 caused by uncaught NoSuchFieldError when trying to set button brightness. [reported by 2 users in Market]<br />
<br />
==== v1.0.7.2 [2011-02-01] ====<br />
*Pro: Fix existing alerts not being updated if auto-alerts disabled.<br />
*Fix crash from bad parsing of single-digit day in start date range of 10-day ISS.<br />
<br />
==== v1.0.7.1 [2011-01-29] ====<br />
*Disabled links in About dialog text, tends to be more trouble than it's worth (turned 1.0.7.1 into link).<br />
*Fix crash when opening notification.<br />
<br />
==== v1.0.7 [2011-01-29] ====<br />
*Alerts & sightings data moved from app cache to files, so clearing cache from Android app manager won't delete it.<br />
*Remove preference to delete data. Avoids accidental deletion, menu on Alerts/Sightings screens should be safer.<br />
*Remove preference to clear coordinates. Not necessary since it's just as easy to manually clear coordinates.<br />
*Free: Existing alerts are automatically updated when new data is loaded. (Pro already had this with auto-alerts)<br />
*Pro: Option in preferences to export sightings to sdcard as CSV files, uses WRITE_EXTERNAL_STORAGE permission.<br />
*Messages for updated alerts will only appear if the time has changed and shows the old and new times.<br />
*Threshold for duplicate alert/sighting check increased from 10 seconds to 10 minutes.<br />
*Pro: If event is in alerts, Add Sighting becomes Move to Sightings in context menu.<br />
*Pro: Add Sighting is disabled until 2 minutes before event start.<br />
*Add Alert is disabled for events that have already started, also applies for auto-alerts in Pro.<br />
*Buttons on main screen repositioned.<br />
*Add ACCESS_NETWORK_STATE permission for connectivity detection, also required by Greystripe in Free version.<br />
*Connectivity is now checked before attempting to access.<br />
*Add 10-day ISS list. (optional) [Suggested by Seth]<br />
*Countdown to start, max, and end instead of just start.<br />
*Countdown is initiated by tapping an event instead of from the context menu.<br />
*Include daytime flares in list. (optional)<br />
*Add progress dialog in list showing what is loading and percentage of each process. [Suggested by SuM_WuN]<br />
*Better performance with the use of multiple threads and other optimizations.<br />
*Add quiet time: No alert notifications between certain times of day. [Suggested by Rick]<br />
*Fix location search stopping when invalid coordinates received.<br />
*Add network location (works seamlessly with GPS) and message indicating what provided the coordinates.<br />
*After opening notification, pressing back button from Alerts opens main screen.<br />
*Fix missing indication of disabled GPS on GPS button. [Reported by ka0ticstyle]<br />
*Volume buttons control notification volume, or media volume if TTS is enabled.<br />
*Fix browser closing when orientation changes.<br />
*Add date on satellite passes lists. [Suggested by Rick]<br />
*Button backlight turns off in Night Mode if supported by API and hardware.<br />
*Fix exiting with back button causing home screen folder in background to close.<br />
*Fix empty countdown view and list header color missing when returning to list from web browser.<br />
*Main and preferences screens are not restarted when changing timezone or alert time.<br />
*Free: Option to toggle between banner ads or full screen ad at launch.<br />
*Free: READ_PHONE_STATE permission required by Greystripe.<br />
*Free: Greystripe ads.<br />
*Free: Update SDKs for AdWhirl and AdMob.<br />
*Pro: Remove option for ads.<br />
*Instead of buttons for each list on Heavens-Above site, one button for the homepage.<br />
*Remove changelog.<br />
<br />
==== v1.0.6 [2010-10-14] ====<br />
*Initial release of Pro.<br />
*Fix countdown timer way off after orientation change.<br />
*Pro: Sightings log.<br />
*Pro: Alerts automatically created based on custom magnitude when list is loaded with new data.<br />
*Fix back button not working as expected in web view.<br />
*Night mode uses color filtering instead of replacing graphics with plain colors.<br />
*Ad manager is AdWhirl, which provides much more flexibility with multiple ad networks.<br />
*Pro: Text-To-Speech alerts.<br />
*Pro: Multiple alert times can be set, space separated.<br />
*Pro: Ads are disabled by default and can be toggled.<br />
*Fix detection of existing alerts with certain differences in data, alert is updated when required.<br />
*Fix value shown in title of 'Alert time' preference stacking when changed.<br />
==== v1.0.5 [2010-09-24] ====<br />
*Alert time preference shows the current setting in its title.<br />
*Alert lists are sorted by event time instead of order they were added.<br />
*Add description on Timezone preference clarifying that it is the standard GMT offset.<br />
*Add menu option on main screen to toggle night mode.<br />
*Add menu options in Alerts view to clear either list.<br />
*Detect incompatible alerts at launch and delete along with cache, preventing crash after version upgrade.<br />
*Fix detection of existing alerts created in different list instances.<br />
*Alerts can be removed through event lists.<br />
*Events can be added to alerts even if alerts are currently disabled.<br />
*If invalid GPS coordinates received, show error instead of crashing.<br />
*Toast notification at alert trigger.<br />
*Notification timer is much more efficient, using a native method instead of a very bloated and often buggy countdown.<br />
*Try setting timezone automatically at launch if not set.<br />
*Fix error when parser encounters trimmed/optimized HTML. (Thanks to [http://twitter.com/SkepticBarista SkepticBarista]!)<br />
*Fix expired alerts being triggered on service modification/start if alert time is set to 0.<br />
==== v1.0.4 [2010-09-02] ====<br />
*Fix event timer timezone not being calculated properly for timezones different from phone.<br />
*Significantly reduced possibility of alerts being skipped because of lag.<br />
*If parser runs into problem, show error and try loading cache instead of crashing.<br />
==== v1.0.3 [2010-08-31] ====<br />
*Save coordinates when opening preferences.<br />
*Fix alert time not applying to existing alerts when changed.<br />
*Fix crash when both pass periods are selected and one of them returns no passes.<br />
*Fix crash when alert is triggered and ringtone was not configured.<br />
*Fix DST sometimes being 'forgotten' while running in background as service.<br />
==== v1.0.1 and v1.0.2 [2010-08-28] ====<br />
*Fix two crashes in the web browser.<br />
==== v1.0.0 [2010-08-28] ====<br />
*Initial release to the Android Market!<br />
<br /><br />
'''Started development on 2010-06-29'''<br />
[[Category:Android]]</div>Pilot 51https://pilot51.com/w/index.php?title=PrediSat&diff=1329PrediSat2014-02-24T03:39:59Z<p>Pilot 51: /* v1.2.2 [2014-02-24] */</p>
<hr />
<div>'''PrediSat''' is an Android app that grabs Iridium flare and satellite pass data from [http://Heavens-Above.com Heavens-Above.com] and formats it for the small screen of the phone. It also includes a few features to make satellite watching easier, such as alerts, countdowns, and night mode.<br /><br />
[[Image:predisat_qrcode.png|right|250px|Read this QR Code with an Android device to go to PrediSat in Google Play]]<br />
<br /><br />
== Links ==<br />
*<b>[http://play.google.com/store/apps/details?id=com.pilot51.predisat PrediSat on Google Play]</b><br />
*<b>[http://play.google.com/store/apps/details?id=com.pilot51.predisatpro PrediSat Pro on Google Play]</b><br />
*[http://heavens-above.com Heavens-Above] (the source of satellite data for PrediSat)<br />
*[http://tracker.pilot51.com/describecomponents.cgi?product=PrediSat PrediSat issue tracker] (view or submit problems and suggestions)<br />
*[http://predisat.com PrediSat.com], [http://predisat.pilot51.com predisat.pilot51.com], [http://predisat.p51.me predisat.p51.me] (forwards here)<br />
<br /><br /><br />
<br />
== Pro version ==<br />
[[Image:predisatpro_qrcode.png|right|220px|Read this QR Code with an Android device to go to PrediSat Pro in the Android Market]]<br />
The Pro version adds some advanced features on top of what is available in the free version. It may also include early features that will later be added to the free version.<br /><br />
Price is $1 (USD).<br /><br />
<br /><br />
Current Pro-only features:<br /><br />
*Multiple satellite USSC ID's can be entered for 10-day pass predictions<br />
*Multiple alerts per event can be set<br /><br />
*Text-To-Speech alerts (optional)<br /><br />
*Alerts automatically created based on custom magnitude when list is loaded with new data (optional)<br /><br />
*Sightings log<br /><br />
*Export sightings to CSV<br /><br />
*No ads<br /><br />
<br /><br />
<br />
== Changelog ==<br />
Dates are based on GMT.<br /><br />
==== v1.2.2 [2014-02-24] ====<br />
*Update Russian with translated timezones and a couple changed strings.<br />
*Add notification message variables for magnitude (%m), direction/azimuth (%z), elevation (%e).<br />
*Add example in notification message dialog.<br />
*Use custom notification message in notification ticker.<br />
*Enable JavaScript in browser since some HA pages use it.<br />
*Free: Update AdMob SDK, remove AdWhirl and Greystripe. Remove read phone state permission that was required by Greystripe.<br />
*Changes to better follow HA usage guidelines: Change Morning Passes default to disabled, change Daytime Flares default to disabled, change Cache Expire Time default to 24 hours.<br />
*Add app name and version to user agent so HA can identify requests from PrediSat.<br />
*Consolidate all source of Free and Pro into core project for future flexibility (ease of development and later allowing for Pro features to be unlocked in Free). The downside of doing this: The Pro apk size jumped from 192KB to 360KB now that it contains (but doesn't use) the AdMob library.<br />
*Pro: Fix crash when exporting sightings.<br />
*Fix parsing of morning/evening passes. Caused by recently added language selector on HA.<br />
*Fix crash when parsing 10-day pass with magnitude "?".<br />
*Fix quiet time inaccuracy when alert + timezone offset passes midnight.<br />
<br />
==== v1.2.1.4 [2012-12-14] ====<br />
*Fix parsing of date/time for flares. Another HA change either overlooked in previous release or happened after release.<br />
<br />
==== v1.2.1.3 [2012-12-13] ====<br />
*Fix parsing of passes, caused by more changes on HA.<br />
*Re-add pass magnitude 5.0 filter since HA re-added it.<br />
*Remove detail context menu options for flares due to HA not providing required data.<br />
*Fix flare count doubled during parsing.<br />
<br />
==== v1.2.1.2 [2012-11-19] ====<br />
*Change numeric keyboard type from 'phone' to 'number'.<br />
*Pro: Prevent invalid value being entered in Auto-Alert Mag. settings, leading to a crash.<br />
*Fix performance issue after updating list, mainly event timer not appearing immediately.<br />
*Fix crash when encountering unexpected character(s) in place of degree symbol (°). Happened occasionally either at launch when loading pre-1.2.1 database or when parsing new list.<br />
*Fix parsing of flares again, caused by another change on HA. Daytime flares now use same list as night flares, so only need to download/parse once.<br />
*Restore parsing/saving of flare center info. Not restored in UI for this version, currently only viewable in sightings export.<br />
*Fix magnitude setting no longer working for page request (another HA change). Not really noticeable to the user since events are already removed by magnitude after parsing.<br />
*Update Russian translation for "Orbital Height Profile".<br />
<br />
==== v1.2.1.1 [2012-11-08] ====<br />
*Pro: Fix crash after fetching a list when alert magnitude for the list has never been set.<br />
*Fix crash at launch when loading daytime flares from the database that were previously saved before v1.2.1.<br />
*Fix debug logging, of which there is a lot, being posted to logcat with Debug Mode disabled. (BuildConfig.DEBUG not working as expected in v1.2.1)<br />
<br />
==== v1.2.1 [2012-11-05] ====<br />
*Add context menu option for Orbital Height Profile.<br />
*Sort passes by max time rather than start time.<br />
*Disable flare event details due to new limitations with HA URL query.<br />
*Remove flare center magnitude/distance columns since HA no longer provides that data for night flares.<br />
*Remove obsolete Flare Days preference.<br />
*Significant improvements to how event data is handled. This is a prerequisite for better filtering and sorting in later versions.<br />
*Fix flares not parsing due to changes on HA.<br />
*Fix satellite details link for 10-day passes.<br />
*Fix debug mode not creating files if predisat folder doesn't already exist.<br />
<br />
==== v1.2.0.2 [2012-08-07] ====<br />
*Fix timezone/DST not initialized (using GMT+0) when opening Alerts from notification.<br />
*Fix 'Set 10 Days of Passes' context item appearing in Alerts and Sightings, functionless. It is intended to only appear in main Passes list.<br />
*Improve accuracy and efficiency of clock and countdown.<br />
<br />
==== v1.2.0.1 [2012-08-01] ====<br />
*Fix crash after downloading empty passes list. Don't know how I missed it after v1.2.0 fix of a very similar crash.<br />
*Free: Fix crash when opening passes context menu when there is no satellite set on 10 Days of Passes.<br />
<br />
==== v1.2.0 [2012-07-31] ====<br />
*New translations: German and Russian. Huge thanks to the translators, XoXFaby and Himura respectively!<br />
*Pro: Reverse sort order of sightings list, with more recent events towards top.<br />
*Add context option to add/remove selected satellite in 10 Days of Passes. In Free, this replaces existing entry, while Pro adds.<br />
*Add preference to force DST/Summer Time. Try this if time is off by an hour, especially useful for timezones that permanently do or don't observe DST. Note: Forcing DST just because your timezone permanently observes DST may not be what you want, this is because the GMT offset provided by Heavens-Above in the timezone name may already include DST.<br />
*Add Debug Mode preference. Requires WRITE_EXTERNAL_STORAGE permission to save debug.log and timestamped HTML files in [sdcard]/predisat/debug/. It is intended to be emailed to me, manually, if you have problems such as crashing. PRIVACY NOTICE: The configured coordinates are included in the debug files.<br />
*Open timezone list preference if detection fails.<br />
*Add screen title at top of list screens.<br />
*Fix timezone/DST changes not applying immediately.<br />
*Fix crash when fetching passes on some 3G carriers. [Huge thanks to Carol for being first to email me about it, 4 months after the ~80 insufficient crash reports started coming in!]<br />
*Fix crash when getting coordinates on locales that use comma (,) instead of period (.) as a decimal separator.<br />
*Update timezone names.<br />
*Fix crash when parsing empty passes list.<br />
*Pro: Fix crash at alert in Android 1.5 due to TTS not supported (happened regardless of TTS preference).<br />
*Increase night mode backlight brightness. This is because at least one device (Xperia mini) is known to have a higher minimum brightness than G1.<br />
*Remove compatibility upgrade for v1.0.7 data.<br />
*Change "HA Website" button to "Heavens-Above.com".<br />
*Bottom buttons in main screen: Increase to 2 lines height, reduce font size in portrait orientation.<br />
<br />
==== v1.1.2.2 [2012-03-17] ====<br />
*Fix crash on some devices when downloading passes. Caused by using the wrong thread in a fallback when a more efficient method of getting the default user agent failed. The workaround was to open the in-app browser before downloading the list.<br />
*Fix first fetch of evening receiving (and blindly accepting) morning when morning is current, or vice versa if evening is disabled. Now evening will still receive current morning, but will detect it, hold that data for the morning fetch, and try again. This happens because a specific request can't be made until the first page is downloaded to receive a couple random session strings generated by the server which need to be sent back to the server with each request; those strings are kept for the life of the process.<br />
*Fix progress bar not working for morning/evening after initial fetch.<br />
<br />
==== v1.1.2.1 [2012-03-13] ====<br />
*Fix parsing of morning/evening passes lists. Caused by major changes to the all satellites page on Heavens-Above. Sorry again for the delay.<br />
*If the last pass for the current period (AM or PM) has ended, fetch the same period for the next day, or (Pro) an additional day if multiple days.<br />
*Remove requirement for location and GPS features (supports Google TV).<br />
<br />
==== v1.1.2 [2012-02-17] ====<br />
*Fix crash when parsing 10-day list. Caused by minor changes to the 10-day page on Heavens-Above around Feb. 12. Sorry for the delay.<br />
*Show year in Date column.<br />
*Add pass magnitude filters for 0.0-2.5 (0.5 step).<br />
*Remove pass magnitude 5.0 filter (no longer supported by HA).<br />
*Add option to clear cache.<br />
*Changing filter preference while in list now takes effect on next manual refresh without the need to close and reopen the list.<br />
*Minor improvements to layouts making it appear better on large screens.<br />
*Remove touchscreen requirement.<br />
*Free: Update AdWhirl, AdMob, and Greystripe ad SDKs to latest versions.<br />
*Free: Enable full-screen ad option for Android 2.3.x users since updated Greystripe SDK fixes a crash.<br />
<br />
==== v1.1.1.3 [2011-12-10] ====<br />
*Pro: TTS doesn't speak if phone is in silent mode or in a call.<br />
*Fix rash when trying to update coordinates on some devices that don't have GPS (Honeycomb/tablets).<br />
*Fix how process is closed. Bad practice of forcibly killing process because TTS service was badly coded and holding process open.<br />
<br />
==== v1.1.1.2 [2011-08-04] ====<br />
*Fix crash on somewhat rare occasion when opening Alerts, caused by wrong thread exception when automatically selecting initial tab.<br />
<br />
==== v1.1.1.1 [2011-07-29] ====<br />
*Fix crash when trying to sort empty list immediately after parsing. Thanks to a crash report for pointing it out!<br />
<br />
==== v1.1.1 [2011-07-28] ====<br />
*Fix refreshing more than once in a single list instance causing following issues:<br />
**Crash during parsing of morning or evening passes after 10 day was enabled in previous refresh.<br />
**Evening passes fetching morning instead if 10 day was disabled and morning was enabled in previous refresh,<br />
**Night flares fetching daytime instead if daytime was enabled in previous refresh.<br />
*Progress dialog indicates the number of events in list being parsed, instead of always showing 100.<br />
*Fix countdown timer not automatically appearing for next event in Alerts if Remove Old Events is disabled.<br />
*If existing instance of Alerts screen is at top of process when opening notification, it is used instead of starting a second Alerts instance.<br />
*When opening Alerts, the tab with the next event is selected.<br />
*Pro: Allow fetching multiple days of all passes, configurable between 1-10 days. It's a bit on the experimental side, but nonetheless very useful. Disabled by default, using the old and reliable method of fetching up to 24 hours.<br />
*Slight increase in sorting performance and albeit more accurate as well. Sorting now happens as a single action after parsing instead of while parsing each event.<br />
*Broke some night mode styling in Preferences due to style inheritance breaking in current revision of SDK. This change only affects 2.0 - 2.2, all the other SDK's have always had broken inheritance.<br />
<br />
==== v1.1.0.1 [2011-07-13] ====<br />
*Fix [http://tracker.pilot51.com/show_bug.cgi?id=18 bug 18] (hopefully): Crash immediately after downloading lists. Couldn't reproduce based on limited information of crash reports & haven't been contacted directly about this.<br />
*Time difference threshold for existing events from 10 to 40 minutes. Avoids duplicate events showing up in alerts if 10-day list not updated for awhile and prediction changes by more than 10 minutes.<br />
<br />
==== v1.1.0 [2011-06-07] ====<br />
*Tabs are used in Alerts and Sightings to select Passes and Flares lists, instead of splitting both lists on screen. The tabs indicate exactly the list associated with it (Pass/Flare Alerts/Sightings) and the number of events in each.<br />
*Add confirmation dialog when clearing alerts or sightings lists.<br />
*Add customizable notification message for TTS (Pro) and bubbles. Variables: Satellite name, event type, and minutes until event.<br />
*Fix displayed time for stored events not changing when timezone is changed, plus other issues with using a different timezone than the phone.<br />
*Satellite name is above countdown instead of in parentheses after, or in landscape mode the name is aligned to the right.<br />
*Increased font size of countdown and made bold.<br />
*Increased minimum height of list items about 2x to make them easier to touch.<br />
*Event timer is shown for the next event when opening list.<br />
*Add preferences to toggle messages for tips and updated alert times.<br />
*Single-digit days are formatted without "0" prefix.<br />
*Free: Fix space allowed in Alert Time preference, which causes alerts to not work.<br />
*Pro: Timestamp included in filename of exported sightings CSV with pattern of yyyyMMddHHmm, preventing any unwanted overwrites.<br />
*Fix progress not updating while parsing flares.<br />
*Preferences and night mode menu options now accessible from lists.<br />
*Preferences are categorized into different screens.<br />
*10-day passes - ISS replaced with USSC ID entry. Free allows only one entry, Pro is space-separated. ISS is default.<br />
*Fix toast message showing string resource ID instead of "Timezone set to" when detecting timezone in preferences.<br />
*Events are removed from alerts and main lists a custom number of minutes (default: 10) after they have completely passed. Check is only performed when opening or refreshing list.<br />
*Lists are populated in UI (behind progress dialog) as parsing progresses.<br />
*All lists are loaded to memory at launch and remains until app is closed, making it very quick to open lists.<br />
*New list is only downloaded if manually refreshed from menu, cache is empty, or a custom number of hours (default: 6) have passed since last refresh.<br />
*Huge performance boost for parsing, about 15-30x faster! (all 3 pass lists timed on G1 going from 285 to 10 sec. and Droid from 65 to 5 sec., including download time)<br />
*Fix inability to load saved data across different ROMs. Data is now saved in an SQLite database. Data from 1.0.7 is moved at first launch.<br />
*Removed: Backwards compatibility for alerts and sightings saved as cache in v1.0.6 and earlier. If you have not run any of the v1.0.7 releases, data from older versions will be lost.<br />
<br />
==== v1.0.7.8 [2011-05-21] ====<br />
*Fix automatic location starting when night mode is toggled.<br />
*Pro: Fix colon at end of "Move to Sightings" in context menu for Alerts.<br />
*Fix crash when opening context menu in Passes/Flares lists after loading from cache.<br />
<br />
==== v1.0.7.7 [2011-05-19] ====<br />
*Fix automatic location starting when orientation changes.<br />
*Fix crash at start when Automatic Location is enabled. Thanks for crash reports, I didn't think to test it.<br />
<br />
==== v1.0.7.6 [2011-05-19] ====<br />
*Fix crash when opening preferences while using night mode for Android 2.0 and 2.3.1 to 3.1.<br />
*Free: Fix problems (crash?) at launch for Android 2.3.x. Greystripe issue, had to disable option for full-screen ads in 2.3.x.<br />
*Fix coordinates update stopping when orientation changes.<br />
*Fix inability to get altitude coordinates because receiving location from network prevents GPS from providing it. Now continues searching for GPS after network location received if GPS is enabled.<br />
*Fix Get Coordinates button disabled with GPS even if Network Location enabled.<br />
*All interface-visible text moved from code into XML string resources to make ready for translating. Please contact me if you would like to help translate.<br />
<br />
==== v1.0.7.5 [2011-05-10] ====<br />
*Fix crash during parsing with most system languages. English was the only unaffected language in all versions of Android.<br />
*Fix Alerts and Sightings buttons not appearing correctly in Android 1.5.<br />
<br />
==== v1.0.7.4 [2011-03-19] ====<br />
*Fix inability to scroll in About dialog for 1.5 and 1.6.<br />
*Fix inability to cancel download, a problem if there is connectivity but HA isn't responding.<br />
*Fix lists or browser restarting when physical keyboard opened/closed.<br />
*Fix several elements not changing for night mode. There are still some not changing, but it's greatly improved.<br />
*Fix crash when received data is not from Heavens-Above, such as a network login page. [2.2+ crash report]<br />
*Fix button backlight stuck on (mistake in code from previous update).<br />
<br />
==== v1.0.7.3 [2011-02-02] ====<br />
*Fix crash at launch in Android 2.1 caused by uncaught NoSuchFieldError when trying to set button brightness. [reported by 2 users in Market]<br />
<br />
==== v1.0.7.2 [2011-02-01] ====<br />
*Pro: Fix existing alerts not being updated if auto-alerts disabled.<br />
*Fix crash from bad parsing of single-digit day in start date range of 10-day ISS.<br />
<br />
==== v1.0.7.1 [2011-01-29] ====<br />
*Disabled links in About dialog text, tends to be more trouble than it's worth (turned 1.0.7.1 into link).<br />
*Fix crash when opening notification.<br />
<br />
==== v1.0.7 [2011-01-29] ====<br />
*Alerts & sightings data moved from app cache to files, so clearing cache from Android app manager won't delete it.<br />
*Remove preference to delete data. Avoids accidental deletion, menu on Alerts/Sightings screens should be safer.<br />
*Remove preference to clear coordinates. Not necessary since it's just as easy to manually clear coordinates.<br />
*Free: Existing alerts are automatically updated when new data is loaded. (Pro already had this with auto-alerts)<br />
*Pro: Option in preferences to export sightings to sdcard as CSV files, uses WRITE_EXTERNAL_STORAGE permission.<br />
*Messages for updated alerts will only appear if the time has changed and shows the old and new times.<br />
*Threshold for duplicate alert/sighting check increased from 10 seconds to 10 minutes.<br />
*Pro: If event is in alerts, Add Sighting becomes Move to Sightings in context menu.<br />
*Pro: Add Sighting is disabled until 2 minutes before event start.<br />
*Add Alert is disabled for events that have already started, also applies for auto-alerts in Pro.<br />
*Buttons on main screen repositioned.<br />
*Add ACCESS_NETWORK_STATE permission for connectivity detection, also required by Greystripe in Free version.<br />
*Connectivity is now checked before attempting to access.<br />
*Add 10-day ISS list. (optional) [Suggested by Seth]<br />
*Countdown to start, max, and end instead of just start.<br />
*Countdown is initiated by tapping an event instead of from the context menu.<br />
*Include daytime flares in list. (optional)<br />
*Add progress dialog in list showing what is loading and percentage of each process. [Suggested by SuM_WuN]<br />
*Better performance with the use of multiple threads and other optimizations.<br />
*Add quiet time: No alert notifications between certain times of day. [Suggested by Rick]<br />
*Fix location search stopping when invalid coordinates received.<br />
*Add network location (works seamlessly with GPS) and message indicating what provided the coordinates.<br />
*After opening notification, pressing back button from Alerts opens main screen.<br />
*Fix missing indication of disabled GPS on GPS button. [Reported by ka0ticstyle]<br />
*Volume buttons control notification volume, or media volume if TTS is enabled.<br />
*Fix browser closing when orientation changes.<br />
*Add date on satellite passes lists. [Suggested by Rick]<br />
*Button backlight turns off in Night Mode if supported by API and hardware.<br />
*Fix exiting with back button causing home screen folder in background to close.<br />
*Fix empty countdown view and list header color missing when returning to list from web browser.<br />
*Main and preferences screens are not restarted when changing timezone or alert time.<br />
*Free: Option to toggle between banner ads or full screen ad at launch.<br />
*Free: READ_PHONE_STATE permission required by Greystripe.<br />
*Free: Greystripe ads.<br />
*Free: Update SDKs for AdWhirl and AdMob.<br />
*Pro: Remove option for ads.<br />
*Instead of buttons for each list on Heavens-Above site, one button for the homepage.<br />
*Remove changelog.<br />
<br />
==== v1.0.6 [2010-10-14] ====<br />
*Initial release of Pro.<br />
*Fix countdown timer way off after orientation change.<br />
*Pro: Sightings log.<br />
*Pro: Alerts automatically created based on custom magnitude when list is loaded with new data.<br />
*Fix back button not working as expected in web view.<br />
*Night mode uses color filtering instead of replacing graphics with plain colors.<br />
*Ad manager is AdWhirl, which provides much more flexibility with multiple ad networks.<br />
*Pro: Text-To-Speech alerts.<br />
*Pro: Multiple alert times can be set, space separated.<br />
*Pro: Ads are disabled by default and can be toggled.<br />
*Fix detection of existing alerts with certain differences in data, alert is updated when required.<br />
*Fix value shown in title of 'Alert time' preference stacking when changed.<br />
==== v1.0.5 [2010-09-24] ====<br />
*Alert time preference shows the current setting in its title.<br />
*Alert lists are sorted by event time instead of order they were added.<br />
*Add description on Timezone preference clarifying that it is the standard GMT offset.<br />
*Add menu option on main screen to toggle night mode.<br />
*Add menu options in Alerts view to clear either list.<br />
*Detect incompatible alerts at launch and delete along with cache, preventing crash after version upgrade.<br />
*Fix detection of existing alerts created in different list instances.<br />
*Alerts can be removed through event lists.<br />
*Events can be added to alerts even if alerts are currently disabled.<br />
*If invalid GPS coordinates received, show error instead of crashing.<br />
*Toast notification at alert trigger.<br />
*Notification timer is much more efficient, using a native method instead of a very bloated and often buggy countdown.<br />
*Try setting timezone automatically at launch if not set.<br />
*Fix error when parser encounters trimmed/optimized HTML. (Thanks to [http://twitter.com/SkepticBarista SkepticBarista]!)<br />
*Fix expired alerts being triggered on service modification/start if alert time is set to 0.<br />
==== v1.0.4 [2010-09-02] ====<br />
*Fix event timer timezone not being calculated properly for timezones different from phone.<br />
*Significantly reduced possibility of alerts being skipped because of lag.<br />
*If parser runs into problem, show error and try loading cache instead of crashing.<br />
==== v1.0.3 [2010-08-31] ====<br />
*Save coordinates when opening preferences.<br />
*Fix alert time not applying to existing alerts when changed.<br />
*Fix crash when both pass periods are selected and one of them returns no passes.<br />
*Fix crash when alert is triggered and ringtone was not configured.<br />
*Fix DST sometimes being 'forgotten' while running in background as service.<br />
==== v1.0.1 and v1.0.2 [2010-08-28] ====<br />
*Fix two crashes in the web browser.<br />
==== v1.0.0 [2010-08-28] ====<br />
*Initial release to the Android Market!<br />
<br /><br />
'''Started development on 2010-06-29'''<br />
[[Category:Android]]</div>Pilot 51https://pilot51.com/w/index.php?title=PrediSat&diff=1328PrediSat2014-02-24T03:29:42Z<p>Pilot 51: /* v1.2.2 [2014-02-24] */ Mention removal of read phone state permission.</p>
<hr />
<div>'''PrediSat''' is an Android app that grabs Iridium flare and satellite pass data from [http://Heavens-Above.com Heavens-Above.com] and formats it for the small screen of the phone. It also includes a few features to make satellite watching easier, such as alerts, countdowns, and night mode.<br /><br />
[[Image:predisat_qrcode.png|right|250px|Read this QR Code with an Android device to go to PrediSat in Google Play]]<br />
<br /><br />
== Links ==<br />
*<b>[http://play.google.com/store/apps/details?id=com.pilot51.predisat PrediSat on Google Play]</b><br />
*<b>[http://play.google.com/store/apps/details?id=com.pilot51.predisatpro PrediSat Pro on Google Play]</b><br />
*[http://heavens-above.com Heavens-Above] (the source of satellite data for PrediSat)<br />
*[http://tracker.pilot51.com/describecomponents.cgi?product=PrediSat PrediSat issue tracker] (view or submit problems and suggestions)<br />
*[http://predisat.com PrediSat.com], [http://predisat.pilot51.com predisat.pilot51.com], [http://predisat.p51.me predisat.p51.me] (forwards here)<br />
<br /><br /><br />
<br />
== Pro version ==<br />
[[Image:predisatpro_qrcode.png|right|220px|Read this QR Code with an Android device to go to PrediSat Pro in the Android Market]]<br />
The Pro version adds some advanced features on top of what is available in the free version. It may also include early features that will later be added to the free version.<br /><br />
Price is $1 (USD).<br /><br />
<br /><br />
Current Pro-only features:<br /><br />
*Multiple satellite USSC ID's can be entered for 10-day pass predictions<br />
*Multiple alerts per event can be set<br /><br />
*Text-To-Speech alerts (optional)<br /><br />
*Alerts automatically created based on custom magnitude when list is loaded with new data (optional)<br /><br />
*Sightings log<br /><br />
*Export sightings to CSV<br /><br />
*No ads<br /><br />
<br /><br />
<br />
== Changelog ==<br />
Dates are based on GMT.<br /><br />
==== v1.2.2 [2014-02-24] ====<br />
*Update Russian with translated timezones and a couple changed strings.<br />
*Add notification message variables for magnitude (%m), direction/azimuth (%z), elevation (%e).<br />
*Add example in notification message dialog.<br />
*Use custom notification message in notification ticker.<br />
*Enable JavaScript in browser since some HA pages use it.<br />
*Update AdMob SDK, remove AdWhirl and Greystripe. Remove read phone state permission that was required by Greystripe.<br />
*Changes to better follow HA usage guidelines: Change Morning Passes default to disabled, change Daytime Flares default to disabled, change Cache Expire Time default to 24 hours.<br />
*Add app name and version to user agent so HA can identify requests from PrediSat.<br />
*Consolidate all source of Free and Pro into core project for future flexibility (ease of development and later allowing for Pro features to be unlocked in Free).<br />
*Pro: Fix crash when exporting sightings.<br />
*Fix parsing of morning/evening passes. Caused by recently added language selector on HA.<br />
*Fix crash when parsing 10-day pass with magnitude "?".<br />
*Fix quiet time inaccuracy when alert + timezone offset passes midnight.<br />
<br />
==== v1.2.1.4 [2012-12-14] ====<br />
*Fix parsing of date/time for flares. Another HA change either overlooked in previous release or happened after release.<br />
<br />
==== v1.2.1.3 [2012-12-13] ====<br />
*Fix parsing of passes, caused by more changes on HA.<br />
*Re-add pass magnitude 5.0 filter since HA re-added it.<br />
*Remove detail context menu options for flares due to HA not providing required data.<br />
*Fix flare count doubled during parsing.<br />
<br />
==== v1.2.1.2 [2012-11-19] ====<br />
*Change numeric keyboard type from 'phone' to 'number'.<br />
*Pro: Prevent invalid value being entered in Auto-Alert Mag. settings, leading to a crash.<br />
*Fix performance issue after updating list, mainly event timer not appearing immediately.<br />
*Fix crash when encountering unexpected character(s) in place of degree symbol (°). Happened occasionally either at launch when loading pre-1.2.1 database or when parsing new list.<br />
*Fix parsing of flares again, caused by another change on HA. Daytime flares now use same list as night flares, so only need to download/parse once.<br />
*Restore parsing/saving of flare center info. Not restored in UI for this version, currently only viewable in sightings export.<br />
*Fix magnitude setting no longer working for page request (another HA change). Not really noticeable to the user since events are already removed by magnitude after parsing.<br />
*Update Russian translation for "Orbital Height Profile".<br />
<br />
==== v1.2.1.1 [2012-11-08] ====<br />
*Pro: Fix crash after fetching a list when alert magnitude for the list has never been set.<br />
*Fix crash at launch when loading daytime flares from the database that were previously saved before v1.2.1.<br />
*Fix debug logging, of which there is a lot, being posted to logcat with Debug Mode disabled. (BuildConfig.DEBUG not working as expected in v1.2.1)<br />
<br />
==== v1.2.1 [2012-11-05] ====<br />
*Add context menu option for Orbital Height Profile.<br />
*Sort passes by max time rather than start time.<br />
*Disable flare event details due to new limitations with HA URL query.<br />
*Remove flare center magnitude/distance columns since HA no longer provides that data for night flares.<br />
*Remove obsolete Flare Days preference.<br />
*Significant improvements to how event data is handled. This is a prerequisite for better filtering and sorting in later versions.<br />
*Fix flares not parsing due to changes on HA.<br />
*Fix satellite details link for 10-day passes.<br />
*Fix debug mode not creating files if predisat folder doesn't already exist.<br />
<br />
==== v1.2.0.2 [2012-08-07] ====<br />
*Fix timezone/DST not initialized (using GMT+0) when opening Alerts from notification.<br />
*Fix 'Set 10 Days of Passes' context item appearing in Alerts and Sightings, functionless. It is intended to only appear in main Passes list.<br />
*Improve accuracy and efficiency of clock and countdown.<br />
<br />
==== v1.2.0.1 [2012-08-01] ====<br />
*Fix crash after downloading empty passes list. Don't know how I missed it after v1.2.0 fix of a very similar crash.<br />
*Free: Fix crash when opening passes context menu when there is no satellite set on 10 Days of Passes.<br />
<br />
==== v1.2.0 [2012-07-31] ====<br />
*New translations: German and Russian. Huge thanks to the translators, XoXFaby and Himura respectively!<br />
*Pro: Reverse sort order of sightings list, with more recent events towards top.<br />
*Add context option to add/remove selected satellite in 10 Days of Passes. In Free, this replaces existing entry, while Pro adds.<br />
*Add preference to force DST/Summer Time. Try this if time is off by an hour, especially useful for timezones that permanently do or don't observe DST. Note: Forcing DST just because your timezone permanently observes DST may not be what you want, this is because the GMT offset provided by Heavens-Above in the timezone name may already include DST.<br />
*Add Debug Mode preference. Requires WRITE_EXTERNAL_STORAGE permission to save debug.log and timestamped HTML files in [sdcard]/predisat/debug/. It is intended to be emailed to me, manually, if you have problems such as crashing. PRIVACY NOTICE: The configured coordinates are included in the debug files.<br />
*Open timezone list preference if detection fails.<br />
*Add screen title at top of list screens.<br />
*Fix timezone/DST changes not applying immediately.<br />
*Fix crash when fetching passes on some 3G carriers. [Huge thanks to Carol for being first to email me about it, 4 months after the ~80 insufficient crash reports started coming in!]<br />
*Fix crash when getting coordinates on locales that use comma (,) instead of period (.) as a decimal separator.<br />
*Update timezone names.<br />
*Fix crash when parsing empty passes list.<br />
*Pro: Fix crash at alert in Android 1.5 due to TTS not supported (happened regardless of TTS preference).<br />
*Increase night mode backlight brightness. This is because at least one device (Xperia mini) is known to have a higher minimum brightness than G1.<br />
*Remove compatibility upgrade for v1.0.7 data.<br />
*Change "HA Website" button to "Heavens-Above.com".<br />
*Bottom buttons in main screen: Increase to 2 lines height, reduce font size in portrait orientation.<br />
<br />
==== v1.1.2.2 [2012-03-17] ====<br />
*Fix crash on some devices when downloading passes. Caused by using the wrong thread in a fallback when a more efficient method of getting the default user agent failed. The workaround was to open the in-app browser before downloading the list.<br />
*Fix first fetch of evening receiving (and blindly accepting) morning when morning is current, or vice versa if evening is disabled. Now evening will still receive current morning, but will detect it, hold that data for the morning fetch, and try again. This happens because a specific request can't be made until the first page is downloaded to receive a couple random session strings generated by the server which need to be sent back to the server with each request; those strings are kept for the life of the process.<br />
*Fix progress bar not working for morning/evening after initial fetch.<br />
<br />
==== v1.1.2.1 [2012-03-13] ====<br />
*Fix parsing of morning/evening passes lists. Caused by major changes to the all satellites page on Heavens-Above. Sorry again for the delay.<br />
*If the last pass for the current period (AM or PM) has ended, fetch the same period for the next day, or (Pro) an additional day if multiple days.<br />
*Remove requirement for location and GPS features (supports Google TV).<br />
<br />
==== v1.1.2 [2012-02-17] ====<br />
*Fix crash when parsing 10-day list. Caused by minor changes to the 10-day page on Heavens-Above around Feb. 12. Sorry for the delay.<br />
*Show year in Date column.<br />
*Add pass magnitude filters for 0.0-2.5 (0.5 step).<br />
*Remove pass magnitude 5.0 filter (no longer supported by HA).<br />
*Add option to clear cache.<br />
*Changing filter preference while in list now takes effect on next manual refresh without the need to close and reopen the list.<br />
*Minor improvements to layouts making it appear better on large screens.<br />
*Remove touchscreen requirement.<br />
*Free: Update AdWhirl, AdMob, and Greystripe ad SDKs to latest versions.<br />
*Free: Enable full-screen ad option for Android 2.3.x users since updated Greystripe SDK fixes a crash.<br />
<br />
==== v1.1.1.3 [2011-12-10] ====<br />
*Pro: TTS doesn't speak if phone is in silent mode or in a call.<br />
*Fix rash when trying to update coordinates on some devices that don't have GPS (Honeycomb/tablets).<br />
*Fix how process is closed. Bad practice of forcibly killing process because TTS service was badly coded and holding process open.<br />
<br />
==== v1.1.1.2 [2011-08-04] ====<br />
*Fix crash on somewhat rare occasion when opening Alerts, caused by wrong thread exception when automatically selecting initial tab.<br />
<br />
==== v1.1.1.1 [2011-07-29] ====<br />
*Fix crash when trying to sort empty list immediately after parsing. Thanks to a crash report for pointing it out!<br />
<br />
==== v1.1.1 [2011-07-28] ====<br />
*Fix refreshing more than once in a single list instance causing following issues:<br />
**Crash during parsing of morning or evening passes after 10 day was enabled in previous refresh.<br />
**Evening passes fetching morning instead if 10 day was disabled and morning was enabled in previous refresh,<br />
**Night flares fetching daytime instead if daytime was enabled in previous refresh.<br />
*Progress dialog indicates the number of events in list being parsed, instead of always showing 100.<br />
*Fix countdown timer not automatically appearing for next event in Alerts if Remove Old Events is disabled.<br />
*If existing instance of Alerts screen is at top of process when opening notification, it is used instead of starting a second Alerts instance.<br />
*When opening Alerts, the tab with the next event is selected.<br />
*Pro: Allow fetching multiple days of all passes, configurable between 1-10 days. It's a bit on the experimental side, but nonetheless very useful. Disabled by default, using the old and reliable method of fetching up to 24 hours.<br />
*Slight increase in sorting performance and albeit more accurate as well. Sorting now happens as a single action after parsing instead of while parsing each event.<br />
*Broke some night mode styling in Preferences due to style inheritance breaking in current revision of SDK. This change only affects 2.0 - 2.2, all the other SDK's have always had broken inheritance.<br />
<br />
==== v1.1.0.1 [2011-07-13] ====<br />
*Fix [http://tracker.pilot51.com/show_bug.cgi?id=18 bug 18] (hopefully): Crash immediately after downloading lists. Couldn't reproduce based on limited information of crash reports & haven't been contacted directly about this.<br />
*Time difference threshold for existing events from 10 to 40 minutes. Avoids duplicate events showing up in alerts if 10-day list not updated for awhile and prediction changes by more than 10 minutes.<br />
<br />
==== v1.1.0 [2011-06-07] ====<br />
*Tabs are used in Alerts and Sightings to select Passes and Flares lists, instead of splitting both lists on screen. The tabs indicate exactly the list associated with it (Pass/Flare Alerts/Sightings) and the number of events in each.<br />
*Add confirmation dialog when clearing alerts or sightings lists.<br />
*Add customizable notification message for TTS (Pro) and bubbles. Variables: Satellite name, event type, and minutes until event.<br />
*Fix displayed time for stored events not changing when timezone is changed, plus other issues with using a different timezone than the phone.<br />
*Satellite name is above countdown instead of in parentheses after, or in landscape mode the name is aligned to the right.<br />
*Increased font size of countdown and made bold.<br />
*Increased minimum height of list items about 2x to make them easier to touch.<br />
*Event timer is shown for the next event when opening list.<br />
*Add preferences to toggle messages for tips and updated alert times.<br />
*Single-digit days are formatted without "0" prefix.<br />
*Free: Fix space allowed in Alert Time preference, which causes alerts to not work.<br />
*Pro: Timestamp included in filename of exported sightings CSV with pattern of yyyyMMddHHmm, preventing any unwanted overwrites.<br />
*Fix progress not updating while parsing flares.<br />
*Preferences and night mode menu options now accessible from lists.<br />
*Preferences are categorized into different screens.<br />
*10-day passes - ISS replaced with USSC ID entry. Free allows only one entry, Pro is space-separated. ISS is default.<br />
*Fix toast message showing string resource ID instead of "Timezone set to" when detecting timezone in preferences.<br />
*Events are removed from alerts and main lists a custom number of minutes (default: 10) after they have completely passed. Check is only performed when opening or refreshing list.<br />
*Lists are populated in UI (behind progress dialog) as parsing progresses.<br />
*All lists are loaded to memory at launch and remains until app is closed, making it very quick to open lists.<br />
*New list is only downloaded if manually refreshed from menu, cache is empty, or a custom number of hours (default: 6) have passed since last refresh.<br />
*Huge performance boost for parsing, about 15-30x faster! (all 3 pass lists timed on G1 going from 285 to 10 sec. and Droid from 65 to 5 sec., including download time)<br />
*Fix inability to load saved data across different ROMs. Data is now saved in an SQLite database. Data from 1.0.7 is moved at first launch.<br />
*Removed: Backwards compatibility for alerts and sightings saved as cache in v1.0.6 and earlier. If you have not run any of the v1.0.7 releases, data from older versions will be lost.<br />
<br />
==== v1.0.7.8 [2011-05-21] ====<br />
*Fix automatic location starting when night mode is toggled.<br />
*Pro: Fix colon at end of "Move to Sightings" in context menu for Alerts.<br />
*Fix crash when opening context menu in Passes/Flares lists after loading from cache.<br />
<br />
==== v1.0.7.7 [2011-05-19] ====<br />
*Fix automatic location starting when orientation changes.<br />
*Fix crash at start when Automatic Location is enabled. Thanks for crash reports, I didn't think to test it.<br />
<br />
==== v1.0.7.6 [2011-05-19] ====<br />
*Fix crash when opening preferences while using night mode for Android 2.0 and 2.3.1 to 3.1.<br />
*Free: Fix problems (crash?) at launch for Android 2.3.x. Greystripe issue, had to disable option for full-screen ads in 2.3.x.<br />
*Fix coordinates update stopping when orientation changes.<br />
*Fix inability to get altitude coordinates because receiving location from network prevents GPS from providing it. Now continues searching for GPS after network location received if GPS is enabled.<br />
*Fix Get Coordinates button disabled with GPS even if Network Location enabled.<br />
*All interface-visible text moved from code into XML string resources to make ready for translating. Please contact me if you would like to help translate.<br />
<br />
==== v1.0.7.5 [2011-05-10] ====<br />
*Fix crash during parsing with most system languages. English was the only unaffected language in all versions of Android.<br />
*Fix Alerts and Sightings buttons not appearing correctly in Android 1.5.<br />
<br />
==== v1.0.7.4 [2011-03-19] ====<br />
*Fix inability to scroll in About dialog for 1.5 and 1.6.<br />
*Fix inability to cancel download, a problem if there is connectivity but HA isn't responding.<br />
*Fix lists or browser restarting when physical keyboard opened/closed.<br />
*Fix several elements not changing for night mode. There are still some not changing, but it's greatly improved.<br />
*Fix crash when received data is not from Heavens-Above, such as a network login page. [2.2+ crash report]<br />
*Fix button backlight stuck on (mistake in code from previous update).<br />
<br />
==== v1.0.7.3 [2011-02-02] ====<br />
*Fix crash at launch in Android 2.1 caused by uncaught NoSuchFieldError when trying to set button brightness. [reported by 2 users in Market]<br />
<br />
==== v1.0.7.2 [2011-02-01] ====<br />
*Pro: Fix existing alerts not being updated if auto-alerts disabled.<br />
*Fix crash from bad parsing of single-digit day in start date range of 10-day ISS.<br />
<br />
==== v1.0.7.1 [2011-01-29] ====<br />
*Disabled links in About dialog text, tends to be more trouble than it's worth (turned 1.0.7.1 into link).<br />
*Fix crash when opening notification.<br />
<br />
==== v1.0.7 [2011-01-29] ====<br />
*Alerts & sightings data moved from app cache to files, so clearing cache from Android app manager won't delete it.<br />
*Remove preference to delete data. Avoids accidental deletion, menu on Alerts/Sightings screens should be safer.<br />
*Remove preference to clear coordinates. Not necessary since it's just as easy to manually clear coordinates.<br />
*Free: Existing alerts are automatically updated when new data is loaded. (Pro already had this with auto-alerts)<br />
*Pro: Option in preferences to export sightings to sdcard as CSV files, uses WRITE_EXTERNAL_STORAGE permission.<br />
*Messages for updated alerts will only appear if the time has changed and shows the old and new times.<br />
*Threshold for duplicate alert/sighting check increased from 10 seconds to 10 minutes.<br />
*Pro: If event is in alerts, Add Sighting becomes Move to Sightings in context menu.<br />
*Pro: Add Sighting is disabled until 2 minutes before event start.<br />
*Add Alert is disabled for events that have already started, also applies for auto-alerts in Pro.<br />
*Buttons on main screen repositioned.<br />
*Add ACCESS_NETWORK_STATE permission for connectivity detection, also required by Greystripe in Free version.<br />
*Connectivity is now checked before attempting to access.<br />
*Add 10-day ISS list. (optional) [Suggested by Seth]<br />
*Countdown to start, max, and end instead of just start.<br />
*Countdown is initiated by tapping an event instead of from the context menu.<br />
*Include daytime flares in list. (optional)<br />
*Add progress dialog in list showing what is loading and percentage of each process. [Suggested by SuM_WuN]<br />
*Better performance with the use of multiple threads and other optimizations.<br />
*Add quiet time: No alert notifications between certain times of day. [Suggested by Rick]<br />
*Fix location search stopping when invalid coordinates received.<br />
*Add network location (works seamlessly with GPS) and message indicating what provided the coordinates.<br />
*After opening notification, pressing back button from Alerts opens main screen.<br />
*Fix missing indication of disabled GPS on GPS button. [Reported by ka0ticstyle]<br />
*Volume buttons control notification volume, or media volume if TTS is enabled.<br />
*Fix browser closing when orientation changes.<br />
*Add date on satellite passes lists. [Suggested by Rick]<br />
*Button backlight turns off in Night Mode if supported by API and hardware.<br />
*Fix exiting with back button causing home screen folder in background to close.<br />
*Fix empty countdown view and list header color missing when returning to list from web browser.<br />
*Main and preferences screens are not restarted when changing timezone or alert time.<br />
*Free: Option to toggle between banner ads or full screen ad at launch.<br />
*Free: READ_PHONE_STATE permission required by Greystripe.<br />
*Free: Greystripe ads.<br />
*Free: Update SDKs for AdWhirl and AdMob.<br />
*Pro: Remove option for ads.<br />
*Instead of buttons for each list on Heavens-Above site, one button for the homepage.<br />
*Remove changelog.<br />
<br />
==== v1.0.6 [2010-10-14] ====<br />
*Initial release of Pro.<br />
*Fix countdown timer way off after orientation change.<br />
*Pro: Sightings log.<br />
*Pro: Alerts automatically created based on custom magnitude when list is loaded with new data.<br />
*Fix back button not working as expected in web view.<br />
*Night mode uses color filtering instead of replacing graphics with plain colors.<br />
*Ad manager is AdWhirl, which provides much more flexibility with multiple ad networks.<br />
*Pro: Text-To-Speech alerts.<br />
*Pro: Multiple alert times can be set, space separated.<br />
*Pro: Ads are disabled by default and can be toggled.<br />
*Fix detection of existing alerts with certain differences in data, alert is updated when required.<br />
*Fix value shown in title of 'Alert time' preference stacking when changed.<br />
==== v1.0.5 [2010-09-24] ====<br />
*Alert time preference shows the current setting in its title.<br />
*Alert lists are sorted by event time instead of order they were added.<br />
*Add description on Timezone preference clarifying that it is the standard GMT offset.<br />
*Add menu option on main screen to toggle night mode.<br />
*Add menu options in Alerts view to clear either list.<br />
*Detect incompatible alerts at launch and delete along with cache, preventing crash after version upgrade.<br />
*Fix detection of existing alerts created in different list instances.<br />
*Alerts can be removed through event lists.<br />
*Events can be added to alerts even if alerts are currently disabled.<br />
*If invalid GPS coordinates received, show error instead of crashing.<br />
*Toast notification at alert trigger.<br />
*Notification timer is much more efficient, using a native method instead of a very bloated and often buggy countdown.<br />
*Try setting timezone automatically at launch if not set.<br />
*Fix error when parser encounters trimmed/optimized HTML. (Thanks to [http://twitter.com/SkepticBarista SkepticBarista]!)<br />
*Fix expired alerts being triggered on service modification/start if alert time is set to 0.<br />
==== v1.0.4 [2010-09-02] ====<br />
*Fix event timer timezone not being calculated properly for timezones different from phone.<br />
*Significantly reduced possibility of alerts being skipped because of lag.<br />
*If parser runs into problem, show error and try loading cache instead of crashing.<br />
==== v1.0.3 [2010-08-31] ====<br />
*Save coordinates when opening preferences.<br />
*Fix alert time not applying to existing alerts when changed.<br />
*Fix crash when both pass periods are selected and one of them returns no passes.<br />
*Fix crash when alert is triggered and ringtone was not configured.<br />
*Fix DST sometimes being 'forgotten' while running in background as service.<br />
==== v1.0.1 and v1.0.2 [2010-08-28] ====<br />
*Fix two crashes in the web browser.<br />
==== v1.0.0 [2010-08-28] ====<br />
*Initial release to the Android Market!<br />
<br /><br />
'''Started development on 2010-06-29'''<br />
[[Category:Android]]</div>Pilot 51https://pilot51.com/w/index.php?title=PrediSat&diff=1327PrediSat2014-02-24T03:18:44Z<p>Pilot 51: /* v1.2.2 [2014-02-24] */ Released.</p>
<hr />
<div>'''PrediSat''' is an Android app that grabs Iridium flare and satellite pass data from [http://Heavens-Above.com Heavens-Above.com] and formats it for the small screen of the phone. It also includes a few features to make satellite watching easier, such as alerts, countdowns, and night mode.<br /><br />
[[Image:predisat_qrcode.png|right|250px|Read this QR Code with an Android device to go to PrediSat in Google Play]]<br />
<br /><br />
== Links ==<br />
*<b>[http://play.google.com/store/apps/details?id=com.pilot51.predisat PrediSat on Google Play]</b><br />
*<b>[http://play.google.com/store/apps/details?id=com.pilot51.predisatpro PrediSat Pro on Google Play]</b><br />
*[http://heavens-above.com Heavens-Above] (the source of satellite data for PrediSat)<br />
*[http://tracker.pilot51.com/describecomponents.cgi?product=PrediSat PrediSat issue tracker] (view or submit problems and suggestions)<br />
*[http://predisat.com PrediSat.com], [http://predisat.pilot51.com predisat.pilot51.com], [http://predisat.p51.me predisat.p51.me] (forwards here)<br />
<br /><br /><br />
<br />
== Pro version ==<br />
[[Image:predisatpro_qrcode.png|right|220px|Read this QR Code with an Android device to go to PrediSat Pro in the Android Market]]<br />
The Pro version adds some advanced features on top of what is available in the free version. It may also include early features that will later be added to the free version.<br /><br />
Price is $1 (USD).<br /><br />
<br /><br />
Current Pro-only features:<br /><br />
*Multiple satellite USSC ID's can be entered for 10-day pass predictions<br />
*Multiple alerts per event can be set<br /><br />
*Text-To-Speech alerts (optional)<br /><br />
*Alerts automatically created based on custom magnitude when list is loaded with new data (optional)<br /><br />
*Sightings log<br /><br />
*Export sightings to CSV<br /><br />
*No ads<br /><br />
<br /><br />
<br />
== Changelog ==<br />
Dates are based on GMT.<br /><br />
==== v1.2.2 [2014-02-24] ====<br />
*Update Russian with translated timezones and a couple changed strings.<br />
*Add notification message variables for magnitude (%m), direction/azimuth (%z), elevation (%e).<br />
*Add example in notification message dialog.<br />
*Use custom notification message in notification ticker.<br />
*Enable JavaScript in browser since some HA pages use it.<br />
*Update AdMob SDK, remove AdWhirl and Greystripe.<br />
*Changes to better follow HA usage guidelines: Change Morning Passes default to disabled, change Daytime Flares default to disabled, change Cache Expire Time default to 24 hours.<br />
*Add app name and version to user agent so HA can identify requests from PrediSat.<br />
*Consolidate all source of Free and Pro into core project for future flexibility (ease of development and later allowing for Pro features to be unlocked in Free).<br />
*Pro: Fix crash when exporting sightings.<br />
*Fix parsing of morning/evening passes. Caused by recently added language selector on HA.<br />
*Fix crash when parsing 10-day pass with magnitude "?".<br />
*Fix quiet time inaccuracy when alert + timezone offset passes midnight.<br />
<br />
==== v1.2.1.4 [2012-12-14] ====<br />
*Fix parsing of date/time for flares. Another HA change either overlooked in previous release or happened after release.<br />
<br />
==== v1.2.1.3 [2012-12-13] ====<br />
*Fix parsing of passes, caused by more changes on HA.<br />
*Re-add pass magnitude 5.0 filter since HA re-added it.<br />
*Remove detail context menu options for flares due to HA not providing required data.<br />
*Fix flare count doubled during parsing.<br />
<br />
==== v1.2.1.2 [2012-11-19] ====<br />
*Change numeric keyboard type from 'phone' to 'number'.<br />
*Pro: Prevent invalid value being entered in Auto-Alert Mag. settings, leading to a crash.<br />
*Fix performance issue after updating list, mainly event timer not appearing immediately.<br />
*Fix crash when encountering unexpected character(s) in place of degree symbol (°). Happened occasionally either at launch when loading pre-1.2.1 database or when parsing new list.<br />
*Fix parsing of flares again, caused by another change on HA. Daytime flares now use same list as night flares, so only need to download/parse once.<br />
*Restore parsing/saving of flare center info. Not restored in UI for this version, currently only viewable in sightings export.<br />
*Fix magnitude setting no longer working for page request (another HA change). Not really noticeable to the user since events are already removed by magnitude after parsing.<br />
*Update Russian translation for "Orbital Height Profile".<br />
<br />
==== v1.2.1.1 [2012-11-08] ====<br />
*Pro: Fix crash after fetching a list when alert magnitude for the list has never been set.<br />
*Fix crash at launch when loading daytime flares from the database that were previously saved before v1.2.1.<br />
*Fix debug logging, of which there is a lot, being posted to logcat with Debug Mode disabled. (BuildConfig.DEBUG not working as expected in v1.2.1)<br />
<br />
==== v1.2.1 [2012-11-05] ====<br />
*Add context menu option for Orbital Height Profile.<br />
*Sort passes by max time rather than start time.<br />
*Disable flare event details due to new limitations with HA URL query.<br />
*Remove flare center magnitude/distance columns since HA no longer provides that data for night flares.<br />
*Remove obsolete Flare Days preference.<br />
*Significant improvements to how event data is handled. This is a prerequisite for better filtering and sorting in later versions.<br />
*Fix flares not parsing due to changes on HA.<br />
*Fix satellite details link for 10-day passes.<br />
*Fix debug mode not creating files if predisat folder doesn't already exist.<br />
<br />
==== v1.2.0.2 [2012-08-07] ====<br />
*Fix timezone/DST not initialized (using GMT+0) when opening Alerts from notification.<br />
*Fix 'Set 10 Days of Passes' context item appearing in Alerts and Sightings, functionless. It is intended to only appear in main Passes list.<br />
*Improve accuracy and efficiency of clock and countdown.<br />
<br />
==== v1.2.0.1 [2012-08-01] ====<br />
*Fix crash after downloading empty passes list. Don't know how I missed it after v1.2.0 fix of a very similar crash.<br />
*Free: Fix crash when opening passes context menu when there is no satellite set on 10 Days of Passes.<br />
<br />
==== v1.2.0 [2012-07-31] ====<br />
*New translations: German and Russian. Huge thanks to the translators, XoXFaby and Himura respectively!<br />
*Pro: Reverse sort order of sightings list, with more recent events towards top.<br />
*Add context option to add/remove selected satellite in 10 Days of Passes. In Free, this replaces existing entry, while Pro adds.<br />
*Add preference to force DST/Summer Time. Try this if time is off by an hour, especially useful for timezones that permanently do or don't observe DST. Note: Forcing DST just because your timezone permanently observes DST may not be what you want, this is because the GMT offset provided by Heavens-Above in the timezone name may already include DST.<br />
*Add Debug Mode preference. Requires WRITE_EXTERNAL_STORAGE permission to save debug.log and timestamped HTML files in [sdcard]/predisat/debug/. It is intended to be emailed to me, manually, if you have problems such as crashing. PRIVACY NOTICE: The configured coordinates are included in the debug files.<br />
*Open timezone list preference if detection fails.<br />
*Add screen title at top of list screens.<br />
*Fix timezone/DST changes not applying immediately.<br />
*Fix crash when fetching passes on some 3G carriers. [Huge thanks to Carol for being first to email me about it, 4 months after the ~80 insufficient crash reports started coming in!]<br />
*Fix crash when getting coordinates on locales that use comma (,) instead of period (.) as a decimal separator.<br />
*Update timezone names.<br />
*Fix crash when parsing empty passes list.<br />
*Pro: Fix crash at alert in Android 1.5 due to TTS not supported (happened regardless of TTS preference).<br />
*Increase night mode backlight brightness. This is because at least one device (Xperia mini) is known to have a higher minimum brightness than G1.<br />
*Remove compatibility upgrade for v1.0.7 data.<br />
*Change "HA Website" button to "Heavens-Above.com".<br />
*Bottom buttons in main screen: Increase to 2 lines height, reduce font size in portrait orientation.<br />
<br />
==== v1.1.2.2 [2012-03-17] ====<br />
*Fix crash on some devices when downloading passes. Caused by using the wrong thread in a fallback when a more efficient method of getting the default user agent failed. The workaround was to open the in-app browser before downloading the list.<br />
*Fix first fetch of evening receiving (and blindly accepting) morning when morning is current, or vice versa if evening is disabled. Now evening will still receive current morning, but will detect it, hold that data for the morning fetch, and try again. This happens because a specific request can't be made until the first page is downloaded to receive a couple random session strings generated by the server which need to be sent back to the server with each request; those strings are kept for the life of the process.<br />
*Fix progress bar not working for morning/evening after initial fetch.<br />
<br />
==== v1.1.2.1 [2012-03-13] ====<br />
*Fix parsing of morning/evening passes lists. Caused by major changes to the all satellites page on Heavens-Above. Sorry again for the delay.<br />
*If the last pass for the current period (AM or PM) has ended, fetch the same period for the next day, or (Pro) an additional day if multiple days.<br />
*Remove requirement for location and GPS features (supports Google TV).<br />
<br />
==== v1.1.2 [2012-02-17] ====<br />
*Fix crash when parsing 10-day list. Caused by minor changes to the 10-day page on Heavens-Above around Feb. 12. Sorry for the delay.<br />
*Show year in Date column.<br />
*Add pass magnitude filters for 0.0-2.5 (0.5 step).<br />
*Remove pass magnitude 5.0 filter (no longer supported by HA).<br />
*Add option to clear cache.<br />
*Changing filter preference while in list now takes effect on next manual refresh without the need to close and reopen the list.<br />
*Minor improvements to layouts making it appear better on large screens.<br />
*Remove touchscreen requirement.<br />
*Free: Update AdWhirl, AdMob, and Greystripe ad SDKs to latest versions.<br />
*Free: Enable full-screen ad option for Android 2.3.x users since updated Greystripe SDK fixes a crash.<br />
<br />
==== v1.1.1.3 [2011-12-10] ====<br />
*Pro: TTS doesn't speak if phone is in silent mode or in a call.<br />
*Fix rash when trying to update coordinates on some devices that don't have GPS (Honeycomb/tablets).<br />
*Fix how process is closed. Bad practice of forcibly killing process because TTS service was badly coded and holding process open.<br />
<br />
==== v1.1.1.2 [2011-08-04] ====<br />
*Fix crash on somewhat rare occasion when opening Alerts, caused by wrong thread exception when automatically selecting initial tab.<br />
<br />
==== v1.1.1.1 [2011-07-29] ====<br />
*Fix crash when trying to sort empty list immediately after parsing. Thanks to a crash report for pointing it out!<br />
<br />
==== v1.1.1 [2011-07-28] ====<br />
*Fix refreshing more than once in a single list instance causing following issues:<br />
**Crash during parsing of morning or evening passes after 10 day was enabled in previous refresh.<br />
**Evening passes fetching morning instead if 10 day was disabled and morning was enabled in previous refresh,<br />
**Night flares fetching daytime instead if daytime was enabled in previous refresh.<br />
*Progress dialog indicates the number of events in list being parsed, instead of always showing 100.<br />
*Fix countdown timer not automatically appearing for next event in Alerts if Remove Old Events is disabled.<br />
*If existing instance of Alerts screen is at top of process when opening notification, it is used instead of starting a second Alerts instance.<br />
*When opening Alerts, the tab with the next event is selected.<br />
*Pro: Allow fetching multiple days of all passes, configurable between 1-10 days. It's a bit on the experimental side, but nonetheless very useful. Disabled by default, using the old and reliable method of fetching up to 24 hours.<br />
*Slight increase in sorting performance and albeit more accurate as well. Sorting now happens as a single action after parsing instead of while parsing each event.<br />
*Broke some night mode styling in Preferences due to style inheritance breaking in current revision of SDK. This change only affects 2.0 - 2.2, all the other SDK's have always had broken inheritance.<br />
<br />
==== v1.1.0.1 [2011-07-13] ====<br />
*Fix [http://tracker.pilot51.com/show_bug.cgi?id=18 bug 18] (hopefully): Crash immediately after downloading lists. Couldn't reproduce based on limited information of crash reports & haven't been contacted directly about this.<br />
*Time difference threshold for existing events from 10 to 40 minutes. Avoids duplicate events showing up in alerts if 10-day list not updated for awhile and prediction changes by more than 10 minutes.<br />
<br />
==== v1.1.0 [2011-06-07] ====<br />
*Tabs are used in Alerts and Sightings to select Passes and Flares lists, instead of splitting both lists on screen. The tabs indicate exactly the list associated with it (Pass/Flare Alerts/Sightings) and the number of events in each.<br />
*Add confirmation dialog when clearing alerts or sightings lists.<br />
*Add customizable notification message for TTS (Pro) and bubbles. Variables: Satellite name, event type, and minutes until event.<br />
*Fix displayed time for stored events not changing when timezone is changed, plus other issues with using a different timezone than the phone.<br />
*Satellite name is above countdown instead of in parentheses after, or in landscape mode the name is aligned to the right.<br />
*Increased font size of countdown and made bold.<br />
*Increased minimum height of list items about 2x to make them easier to touch.<br />
*Event timer is shown for the next event when opening list.<br />
*Add preferences to toggle messages for tips and updated alert times.<br />
*Single-digit days are formatted without "0" prefix.<br />
*Free: Fix space allowed in Alert Time preference, which causes alerts to not work.<br />
*Pro: Timestamp included in filename of exported sightings CSV with pattern of yyyyMMddHHmm, preventing any unwanted overwrites.<br />
*Fix progress not updating while parsing flares.<br />
*Preferences and night mode menu options now accessible from lists.<br />
*Preferences are categorized into different screens.<br />
*10-day passes - ISS replaced with USSC ID entry. Free allows only one entry, Pro is space-separated. ISS is default.<br />
*Fix toast message showing string resource ID instead of "Timezone set to" when detecting timezone in preferences.<br />
*Events are removed from alerts and main lists a custom number of minutes (default: 10) after they have completely passed. Check is only performed when opening or refreshing list.<br />
*Lists are populated in UI (behind progress dialog) as parsing progresses.<br />
*All lists are loaded to memory at launch and remains until app is closed, making it very quick to open lists.<br />
*New list is only downloaded if manually refreshed from menu, cache is empty, or a custom number of hours (default: 6) have passed since last refresh.<br />
*Huge performance boost for parsing, about 15-30x faster! (all 3 pass lists timed on G1 going from 285 to 10 sec. and Droid from 65 to 5 sec., including download time)<br />
*Fix inability to load saved data across different ROMs. Data is now saved in an SQLite database. Data from 1.0.7 is moved at first launch.<br />
*Removed: Backwards compatibility for alerts and sightings saved as cache in v1.0.6 and earlier. If you have not run any of the v1.0.7 releases, data from older versions will be lost.<br />
<br />
==== v1.0.7.8 [2011-05-21] ====<br />
*Fix automatic location starting when night mode is toggled.<br />
*Pro: Fix colon at end of "Move to Sightings" in context menu for Alerts.<br />
*Fix crash when opening context menu in Passes/Flares lists after loading from cache.<br />
<br />
==== v1.0.7.7 [2011-05-19] ====<br />
*Fix automatic location starting when orientation changes.<br />
*Fix crash at start when Automatic Location is enabled. Thanks for crash reports, I didn't think to test it.<br />
<br />
==== v1.0.7.6 [2011-05-19] ====<br />
*Fix crash when opening preferences while using night mode for Android 2.0 and 2.3.1 to 3.1.<br />
*Free: Fix problems (crash?) at launch for Android 2.3.x. Greystripe issue, had to disable option for full-screen ads in 2.3.x.<br />
*Fix coordinates update stopping when orientation changes.<br />
*Fix inability to get altitude coordinates because receiving location from network prevents GPS from providing it. Now continues searching for GPS after network location received if GPS is enabled.<br />
*Fix Get Coordinates button disabled with GPS even if Network Location enabled.<br />
*All interface-visible text moved from code into XML string resources to make ready for translating. Please contact me if you would like to help translate.<br />
<br />
==== v1.0.7.5 [2011-05-10] ====<br />
*Fix crash during parsing with most system languages. English was the only unaffected language in all versions of Android.<br />
*Fix Alerts and Sightings buttons not appearing correctly in Android 1.5.<br />
<br />
==== v1.0.7.4 [2011-03-19] ====<br />
*Fix inability to scroll in About dialog for 1.5 and 1.6.<br />
*Fix inability to cancel download, a problem if there is connectivity but HA isn't responding.<br />
*Fix lists or browser restarting when physical keyboard opened/closed.<br />
*Fix several elements not changing for night mode. There are still some not changing, but it's greatly improved.<br />
*Fix crash when received data is not from Heavens-Above, such as a network login page. [2.2+ crash report]<br />
*Fix button backlight stuck on (mistake in code from previous update).<br />
<br />
==== v1.0.7.3 [2011-02-02] ====<br />
*Fix crash at launch in Android 2.1 caused by uncaught NoSuchFieldError when trying to set button brightness. [reported by 2 users in Market]<br />
<br />
==== v1.0.7.2 [2011-02-01] ====<br />
*Pro: Fix existing alerts not being updated if auto-alerts disabled.<br />
*Fix crash from bad parsing of single-digit day in start date range of 10-day ISS.<br />
<br />
==== v1.0.7.1 [2011-01-29] ====<br />
*Disabled links in About dialog text, tends to be more trouble than it's worth (turned 1.0.7.1 into link).<br />
*Fix crash when opening notification.<br />
<br />
==== v1.0.7 [2011-01-29] ====<br />
*Alerts & sightings data moved from app cache to files, so clearing cache from Android app manager won't delete it.<br />
*Remove preference to delete data. Avoids accidental deletion, menu on Alerts/Sightings screens should be safer.<br />
*Remove preference to clear coordinates. Not necessary since it's just as easy to manually clear coordinates.<br />
*Free: Existing alerts are automatically updated when new data is loaded. (Pro already had this with auto-alerts)<br />
*Pro: Option in preferences to export sightings to sdcard as CSV files, uses WRITE_EXTERNAL_STORAGE permission.<br />
*Messages for updated alerts will only appear if the time has changed and shows the old and new times.<br />
*Threshold for duplicate alert/sighting check increased from 10 seconds to 10 minutes.<br />
*Pro: If event is in alerts, Add Sighting becomes Move to Sightings in context menu.<br />
*Pro: Add Sighting is disabled until 2 minutes before event start.<br />
*Add Alert is disabled for events that have already started, also applies for auto-alerts in Pro.<br />
*Buttons on main screen repositioned.<br />
*Add ACCESS_NETWORK_STATE permission for connectivity detection, also required by Greystripe in Free version.<br />
*Connectivity is now checked before attempting to access.<br />
*Add 10-day ISS list. (optional) [Suggested by Seth]<br />
*Countdown to start, max, and end instead of just start.<br />
*Countdown is initiated by tapping an event instead of from the context menu.<br />
*Include daytime flares in list. (optional)<br />
*Add progress dialog in list showing what is loading and percentage of each process. [Suggested by SuM_WuN]<br />
*Better performance with the use of multiple threads and other optimizations.<br />
*Add quiet time: No alert notifications between certain times of day. [Suggested by Rick]<br />
*Fix location search stopping when invalid coordinates received.<br />
*Add network location (works seamlessly with GPS) and message indicating what provided the coordinates.<br />
*After opening notification, pressing back button from Alerts opens main screen.<br />
*Fix missing indication of disabled GPS on GPS button. [Reported by ka0ticstyle]<br />
*Volume buttons control notification volume, or media volume if TTS is enabled.<br />
*Fix browser closing when orientation changes.<br />
*Add date on satellite passes lists. [Suggested by Rick]<br />
*Button backlight turns off in Night Mode if supported by API and hardware.<br />
*Fix exiting with back button causing home screen folder in background to close.<br />
*Fix empty countdown view and list header color missing when returning to list from web browser.<br />
*Main and preferences screens are not restarted when changing timezone or alert time.<br />
*Free: Option to toggle between banner ads or full screen ad at launch.<br />
*Free: READ_PHONE_STATE permission required by Greystripe.<br />
*Free: Greystripe ads.<br />
*Free: Update SDKs for AdWhirl and AdMob.<br />
*Pro: Remove option for ads.<br />
*Instead of buttons for each list on Heavens-Above site, one button for the homepage.<br />
*Remove changelog.<br />
<br />
==== v1.0.6 [2010-10-14] ====<br />
*Initial release of Pro.<br />
*Fix countdown timer way off after orientation change.<br />
*Pro: Sightings log.<br />
*Pro: Alerts automatically created based on custom magnitude when list is loaded with new data.<br />
*Fix back button not working as expected in web view.<br />
*Night mode uses color filtering instead of replacing graphics with plain colors.<br />
*Ad manager is AdWhirl, which provides much more flexibility with multiple ad networks.<br />
*Pro: Text-To-Speech alerts.<br />
*Pro: Multiple alert times can be set, space separated.<br />
*Pro: Ads are disabled by default and can be toggled.<br />
*Fix detection of existing alerts with certain differences in data, alert is updated when required.<br />
*Fix value shown in title of 'Alert time' preference stacking when changed.<br />
==== v1.0.5 [2010-09-24] ====<br />
*Alert time preference shows the current setting in its title.<br />
*Alert lists are sorted by event time instead of order they were added.<br />
*Add description on Timezone preference clarifying that it is the standard GMT offset.<br />
*Add menu option on main screen to toggle night mode.<br />
*Add menu options in Alerts view to clear either list.<br />
*Detect incompatible alerts at launch and delete along with cache, preventing crash after version upgrade.<br />
*Fix detection of existing alerts created in different list instances.<br />
*Alerts can be removed through event lists.<br />
*Events can be added to alerts even if alerts are currently disabled.<br />
*If invalid GPS coordinates received, show error instead of crashing.<br />
*Toast notification at alert trigger.<br />
*Notification timer is much more efficient, using a native method instead of a very bloated and often buggy countdown.<br />
*Try setting timezone automatically at launch if not set.<br />
*Fix error when parser encounters trimmed/optimized HTML. (Thanks to [http://twitter.com/SkepticBarista SkepticBarista]!)<br />
*Fix expired alerts being triggered on service modification/start if alert time is set to 0.<br />
==== v1.0.4 [2010-09-02] ====<br />
*Fix event timer timezone not being calculated properly for timezones different from phone.<br />
*Significantly reduced possibility of alerts being skipped because of lag.<br />
*If parser runs into problem, show error and try loading cache instead of crashing.<br />
==== v1.0.3 [2010-08-31] ====<br />
*Save coordinates when opening preferences.<br />
*Fix alert time not applying to existing alerts when changed.<br />
*Fix crash when both pass periods are selected and one of them returns no passes.<br />
*Fix crash when alert is triggered and ringtone was not configured.<br />
*Fix DST sometimes being 'forgotten' while running in background as service.<br />
==== v1.0.1 and v1.0.2 [2010-08-28] ====<br />
*Fix two crashes in the web browser.<br />
==== v1.0.0 [2010-08-28] ====<br />
*Initial release to the Android Market!<br />
<br /><br />
'''Started development on 2010-06-29'''<br />
[[Category:Android]]</div>Pilot 51https://pilot51.com/w/index.php?title=Voice_Notify&diff=1326Voice Notify2014-02-10T04:05:55Z<p>Pilot 51: /* v1.0.11.2 [2014-02-10] */ Released.</p>
<hr />
<div>[[Image:voicenotify_qrcode_l.png|right|210px|Scan this QR Code with an Android device to go to Voice Notify in the Android Market]]<br />
'''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 /><br />
<br /><br />
Price: Free!<br /><br />
Open source license: [http://apache.org/licenses/LICENSE-2.0 Apache License 2.0]<br /><br />
<br /><br />
== Links ==<br />
*<b>[http://play.google.com/store/apps/details?id=com.pilot51.voicenotify Voice Notify on Google Play]</b><br />
*<b>[http://github.com/pilot51/voicenotify Voice Notify on GitHub]</b> (source code and issue tracker)<br />
*[http://getlocalization.com/voicenotify Voice Notify on GetLocalization] (crowdsourced translations)<br />
*[http://tracker.pilot51.com/describecomponents.cgi?product=Voice%20Notify Voice Notify issue tracker] (old, use GitHub)<br />
*[http://pilot51.com/apk/voicenotify Direct download APK] (all versions available; not recommended for most users)<br />
*[http://voicenotify.pilot51.com voicenotify.pilot51.com] and [http://vn.p51.me vn.p51.me] (forwards here)<br />
<br /><br />
== Changelog ==<br />
Dates are in GMT.<br />
<br />
==== v1.0.11.2 [2014-02-10] ====<br />
*Fix crash when DeviceStateReceiver triggered while all notifications are ignored and the Notification Log is empty (usually happens at service start).<br />
*Update translations. Don't translate support email strings to encourage users to write in English. Russian updated by new translator: vanetned<br />
<br />
==== v1.0.11.1 [2014-01-12] ====<br />
*Add mention that Google Wallet Send Money is only available in the United States.<br />
*Fix status showing suspended and nothing happening when clicked after suspending with widget and then disabling VN.<br />
*Fix crash at launch for API 7 (2.1) and earlier.<br />
*Fix wrong app toggled when un/checking app in filtered list. [Code contributed by 1karu5]<br />
*Fix VN crashing or ceasing to function in some situations, plus other TTS fixes. [Code contributed by Scott Albertine]<br />
<br />
==== v1.0.11 [2014-01-01] ====<br />
*Italian translation updated by Matteo Regoli (Teorouge).<br />
*Add option to pause/dim other media while speaking. [Code contributed by Scott Albertine]<br />
*Add support for new widget picker. [Code contributed by 1karu5]<br />
*Add option to ignore empty notifications (previously they were always ignored).<br />
*Add support for more audio streams: Voice, Ring, Alarm<br />
*Add option to donate through Google Wallet.<br />
*Fix service status in config not updating when resumed from background.<br />
*Fix handling of TTS initialization, preventing notifications from being missed and other possible issues.<br />
<br />
==== v1.0.10.1 [2013-06-11] ====<br />
*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.<br />
*Don't interrupt speech when screen changes to ignored state.<br />
*French translation updated by Titan44.<br />
<br />
==== v1.0.10 [2013-06-08] ====<br />
*New translations: French by caliann and Souln77, German by massimo2001, Hungarian by njozsef.<br />
*Make speaking of toasts optional in Android 3.0+.<br />
*Add un/ignore in Notification Log via long-press & confirm.<br />
*Increase Notification Log history limit from 10 to 20.<br />
*Instead of "Enable/Disable", indicate whether VN service is running.<br />
*Add menu option in App List to show soft keyboard for filtering. This solves devices without hardware keyboard unable to filter.<br />
*Add widget. Color indicates service status. Clicking it toggles service suspend or opens Accessibility settings if disabled.<br />
*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.<br />
*Add GetLocalization and GitHub to Support menu.<br />
*Add basic info to support email body: VN version, Android version, Android build number, Device.<br />
*Fix crash when viewing log with app not yet in app list.<br />
*Fix crash when viewing log during TTS Delay & ignore.<br />
*Fix crash when resuming App List after process death.<br />
*Fix crash when notification received and not ignored with TTS Delay set between 2147484 and 2147483647 seconds.<br />
*Fix crashes when opening App List multiple times while loading. Also fixes duplicates in App List if it doesn't crash.<br />
*Major performance boost on first load of app list.<br />
*TTS Repeat improvements. Fixes crash with TTS Repeat set between 35792 and 2147483647 minutes. Hopefully fixes [http://tracker.pilot51.com/29 issue 29].<br />
<br />
v1.0.10 public beta released on 2013-06-03.<br />
<br />
==== v1.0.9.1 [2012-11-26] ====<br />
*Fix crash when opening App List and an uninstalled app gets removed from cache.<br />
*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.<br />
*Significant improvement to shake detection, fixing erroneous detections.<br />
*Don't allow installing/moving to SD card since it causes problems.<br />
<br />
==== v1.0.9 [2012-11-15] ====<br />
*Add Russian translation by Max Ponomaryov (ceejay).<br />
*Add Spanish translation by PaoloNB.<br />
*Add Shake-To-Silence preference to configure sensitivity threshold.<br />
*In Notification Log, show reasons in yellow if silenced after speaking started.<br />
*Change keyboard type for number preferences from "phone" to "number".<br />
*Fix [http://tracker.pilot51.com/30 issue 30]: VN not appearing in Android 4.2 Accessibility list.<br />
*Fix some ignore reasons not showing in Notification Log.<br />
*Fix crash when ignoring all/none while App List is loading.<br />
*Fix crash when running Test on Android 4.2 device in vibrate mode (add vibrate permission).<br />
<br />
==== v1.0.8 [2012-08-04] ====<br />
*Add Italian translation by Teorouge.<br />
*Fix [http://tracker.pilot51.com/27 issue 27]: Accessibility broken in Android 4.1 (Jelly Bean).<br />
*Add shake-to-silence.<br />
*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.<br />
*Add option for TTS to repeat notifications at a custom interval in minutes while screen is off.<br />
*Fix Ignored Text not working when containing capital letters.<br />
<br />
==== v1.0.7.2 [2012-03-28] ====<br />
*Fix mislabeled device states (on and off were swapped).<br />
*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.<br />
<br />
==== v1.0.7.1 [2012-03-27] ====<br />
*Fix crash when notification received and Ignore Text is not set/initialized.<br />
<br />
==== v1.0.7 [2012-03-26] ====<br />
*Add Ignore Text preference.<br />
*Add Ignore Repeats preference. Default, which was previously hard-coded, is to ignore identical consecutive notifications within 10 seconds.<br />
*Add Silent/Vibrate to Device States preference. Default, which was previously hard-coded, is disabled (not speak).<br />
*Default ignore for new apps is based on Ignore All/None.<br />
*Change App List progress indicator to indeterminate title bar style since load time is much quicker.<br />
*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).<br />
*App search filtering now includes package names and search containing text instead of words starting with the search term.<br />
*Show toast message when running Test with Voice Notify ignored.<br />
*Check notification-independent ignores after TTS Delay instead of before.<br />
*Stop speaking if headset changes to ignored state.<br />
*Fix crash at service initialization on some (most?) Android 2.0.1 and lower devices.<br />
*Fix/enable TTS Settings for ICS.<br />
*Fix TTS Settings crash in Honeycomb & Android 4.0 (API 11-14).<br />
<br />
==== v1.0.6 [2012-01-10] ====<br />
*Add option for custom TTS Delay. Value in seconds.<br />
*Add headset on/off to device states. Note: Due to API limitations, all Bluetooth devices are detected the same, headset or not.<br />
*Add Bluetooth permission. Required to detect Bluetooth connections.<br />
*Add option to post a test notification. Delayed 5 seconds to allow user to, for example, turn off the screen.<br />
*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.<br />
*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.<br />
<br />
==== v1.0.5 [2011-12-18] ====<br />
*Fix [http://tracker.pilot51.com/10 issue 10]: App List jumps slightly when item toggled.<br />
*Fix crash when opening TTS Settings on Google TV.<br />
*Fix crash when filtering App List.<br />
*Ignore All/None only applies to apps in filter.<br />
<br />
==== v1.0.4 [2011-12-12] ====<br />
*Add option to select whether to speak with screen on or off. ([http://tracker.pilot51.com/25 issue 25])<br />
*Remove touchscreen requirement (makes compatible with Google TV).<br />
<br />
==== v1.0.3 [2011-10-23] ====<br />
*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!]<br />
*Special characters | [ ] { } * < > in notification messages are not spoken (replaced with a space).([http://tracker.pilot51.com/23 issue 23])<br />
*Change default audio stream back to Media.<br />
*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)<br />
*Notifications are ignored while phone is ringing or in a call.<br />
*Add Quiet Time option.<br />
*Add options to rate/comment (Market) or contact developer (email app).<br />
<br />
==== v1.0.2 [2011-04-05] ====<br />
*Fix Ignore All option creating duplicate ignores, sometimes requiring multiple touches to enable an app.<br />
*Add option to donate through Paypal (opens Paypal donate page in external browser).<br />
*Fix speaking of quickly repeated notifications (usually progress bars).<br />
*Add option to change TTS between Notification and Media audio streams. Solution to Bluetooth issue reported by SRadner.<br />
*Fix App List jumping to top when selection changed. (rough/temporary workaround, list still jumps by up to one item)<br />
<br />
==== v1.0.1 [2011-03-28] ====<br />
*Fix crash when custom TTS message contains an unsupported percent variable. [reported by SRadner]<br />
*TTS runs on Notification audio stream instead of Media stream, also removed control of media volume while displayed.<br />
*Add App List menu options to ignore all or none.<br />
<br />
==== v1.0.0 [2011-02-13] ====<br />
*Initial release to the Android Market!<br /><br />
<br /><br />
'''Started development on 2011-02-03'''<br />
[[Category:Android]]</div>Pilot 51https://pilot51.com/w/index.php?title=Voice_Notify&diff=1325Voice Notify2014-01-12T22:22:10Z<p>Pilot 51: /* v1.0.11.1 [2014-01-12] */ Released.</p>
<hr />
<div>[[Image:voicenotify_qrcode_l.png|right|210px|Scan this QR Code with an Android device to go to Voice Notify in the Android Market]]<br />
'''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 /><br />
<br /><br />
Price: Free!<br /><br />
Open source license: [http://apache.org/licenses/LICENSE-2.0 Apache License 2.0]<br /><br />
<br /><br />
== Links ==<br />
*<b>[http://play.google.com/store/apps/details?id=com.pilot51.voicenotify Voice Notify on Google Play]</b><br />
*[http://github.com/pilot51/voicenotify Voice Notify on GitHub]<br />
*[http://getlocalization.com/voicenotify Voice Notify on GetLocalization] (crowdsourced translations)<br />
*<b>[http://tracker.pilot51.com/describecomponents.cgi?product=Voice%20Notify Voice Notify issue tracker]</b> (view or submit problems and suggestions)<br />
*[http://pilot51.com/apk/voicenotify Direct download APK] (all versions available; not recommended for most users)<br />
*[http://voicenotify.pilot51.com voicenotify.pilot51.com] (forwards here)<br />
<br /><br />
== Changelog ==<br />
Dates are in GMT.<br />
<br />
==== v1.0.11.1 [2014-01-12] ====<br />
*Add mention that Google Wallet Send Money is only available in the United States.<br />
*Fix status showing suspended and nothing happening when clicked after suspending with widget and then disabling VN.<br />
*Fix crash at launch for API 7 (2.1) and earlier.<br />
*Fix wrong app toggled when un/checking app in filtered list. [Code contributed by 1karu5]<br />
*Fix VN crashing or ceasing to function in some situations, plus other TTS fixes. [Code contributed by Scott Albertine]<br />
<br />
==== v1.0.11 [2014-01-01] ====<br />
*Italian translation updated by Matteo Regoli (Teorouge).<br />
*Add option to pause/dim other media while speaking. [Code contributed by Scott Albertine]<br />
*Add support for new widget picker. [Code contributed by 1karu5]<br />
*Add option to ignore empty notifications (previously they were always ignored).<br />
*Add support for more audio streams: Voice, Ring, Alarm<br />
*Add option to donate through Google Wallet.<br />
*Fix service status in config not updating when resumed from background.<br />
*Fix handling of TTS initialization, preventing notifications from being missed and other possible issues.<br />
<br />
==== v1.0.10.1 [2013-06-11] ====<br />
*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.<br />
*Don't interrupt speech when screen changes to ignored state.<br />
*French translation updated by Titan44.<br />
<br />
==== v1.0.10 [2013-06-08] ====<br />
*New translations: French by caliann and Souln77, German by massimo2001, Hungarian by njozsef.<br />
*Make speaking of toasts optional in Android 3.0+.<br />
*Add un/ignore in Notification Log via long-press & confirm.<br />
*Increase Notification Log history limit from 10 to 20.<br />
*Instead of "Enable/Disable", indicate whether VN service is running.<br />
*Add menu option in App List to show soft keyboard for filtering. This solves devices without hardware keyboard unable to filter.<br />
*Add widget. Color indicates service status. Clicking it toggles service suspend or opens Accessibility settings if disabled.<br />
*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.<br />
*Add GetLocalization and GitHub to Support menu.<br />
*Add basic info to support email body: VN version, Android version, Android build number, Device.<br />
*Fix crash when viewing log with app not yet in app list.<br />
*Fix crash when viewing log during TTS Delay & ignore.<br />
*Fix crash when resuming App List after process death.<br />
*Fix crash when notification received and not ignored with TTS Delay set between 2147484 and 2147483647 seconds.<br />
*Fix crashes when opening App List multiple times while loading. Also fixes duplicates in App List if it doesn't crash.<br />
*Major performance boost on first load of app list.<br />
*TTS Repeat improvements. Fixes crash with TTS Repeat set between 35792 and 2147483647 minutes. Hopefully fixes [http://tracker.pilot51.com/29 issue 29].<br />
<br />
v1.0.10 public beta released on 2013-06-03.<br />
<br />
==== v1.0.9.1 [2012-11-26] ====<br />
*Fix crash when opening App List and an uninstalled app gets removed from cache.<br />
*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.<br />
*Significant improvement to shake detection, fixing erroneous detections.<br />
*Don't allow installing/moving to SD card since it causes problems.<br />
<br />
==== v1.0.9 [2012-11-15] ====<br />
*Add Russian translation by Max Ponomaryov (ceejay).<br />
*Add Spanish translation by PaoloNB.<br />
*Add Shake-To-Silence preference to configure sensitivity threshold.<br />
*In Notification Log, show reasons in yellow if silenced after speaking started.<br />
*Change keyboard type for number preferences from "phone" to "number".<br />
*Fix [http://tracker.pilot51.com/30 issue 30]: VN not appearing in Android 4.2 Accessibility list.<br />
*Fix some ignore reasons not showing in Notification Log.<br />
*Fix crash when ignoring all/none while App List is loading.<br />
*Fix crash when running Test on Android 4.2 device in vibrate mode (add vibrate permission).<br />
<br />
==== v1.0.8 [2012-08-04] ====<br />
*Add Italian translation by Teorouge.<br />
*Fix [http://tracker.pilot51.com/27 issue 27]: Accessibility broken in Android 4.1 (Jelly Bean).<br />
*Add shake-to-silence.<br />
*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.<br />
*Add option for TTS to repeat notifications at a custom interval in minutes while screen is off.<br />
*Fix Ignored Text not working when containing capital letters.<br />
<br />
==== v1.0.7.2 [2012-03-28] ====<br />
*Fix mislabeled device states (on and off were swapped).<br />
*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.<br />
<br />
==== v1.0.7.1 [2012-03-27] ====<br />
*Fix crash when notification received and Ignore Text is not set/initialized.<br />
<br />
==== v1.0.7 [2012-03-26] ====<br />
*Add Ignore Text preference.<br />
*Add Ignore Repeats preference. Default, which was previously hard-coded, is to ignore identical consecutive notifications within 10 seconds.<br />
*Add Silent/Vibrate to Device States preference. Default, which was previously hard-coded, is disabled (not speak).<br />
*Default ignore for new apps is based on Ignore All/None.<br />
*Change App List progress indicator to indeterminate title bar style since load time is much quicker.<br />
*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).<br />
*App search filtering now includes package names and search containing text instead of words starting with the search term.<br />
*Show toast message when running Test with Voice Notify ignored.<br />
*Check notification-independent ignores after TTS Delay instead of before.<br />
*Stop speaking if headset changes to ignored state.<br />
*Fix crash at service initialization on some (most?) Android 2.0.1 and lower devices.<br />
*Fix/enable TTS Settings for ICS.<br />
*Fix TTS Settings crash in Honeycomb & Android 4.0 (API 11-14).<br />
<br />
==== v1.0.6 [2012-01-10] ====<br />
*Add option for custom TTS Delay. Value in seconds.<br />
*Add headset on/off to device states. Note: Due to API limitations, all Bluetooth devices are detected the same, headset or not.<br />
*Add Bluetooth permission. Required to detect Bluetooth connections.<br />
*Add option to post a test notification. Delayed 5 seconds to allow user to, for example, turn off the screen.<br />
*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.<br />
*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.<br />
<br />
==== v1.0.5 [2011-12-18] ====<br />
*Fix [http://tracker.pilot51.com/10 issue 10]: App List jumps slightly when item toggled.<br />
*Fix crash when opening TTS Settings on Google TV.<br />
*Fix crash when filtering App List.<br />
*Ignore All/None only applies to apps in filter.<br />
<br />
==== v1.0.4 [2011-12-12] ====<br />
*Add option to select whether to speak with screen on or off. ([http://tracker.pilot51.com/25 issue 25])<br />
*Remove touchscreen requirement (makes compatible with Google TV).<br />
<br />
==== v1.0.3 [2011-10-23] ====<br />
*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!]<br />
*Special characters | [ ] { } * < > in notification messages are not spoken (replaced with a space).([http://tracker.pilot51.com/23 issue 23])<br />
*Change default audio stream back to Media.<br />
*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)<br />
*Notifications are ignored while phone is ringing or in a call.<br />
*Add Quiet Time option.<br />
*Add options to rate/comment (Market) or contact developer (email app).<br />
<br />
==== v1.0.2 [2011-04-05] ====<br />
*Fix Ignore All option creating duplicate ignores, sometimes requiring multiple touches to enable an app.<br />
*Add option to donate through Paypal (opens Paypal donate page in external browser).<br />
*Fix speaking of quickly repeated notifications (usually progress bars).<br />
*Add option to change TTS between Notification and Media audio streams. Solution to Bluetooth issue reported by SRadner.<br />
*Fix App List jumping to top when selection changed. (rough/temporary workaround, list still jumps by up to one item)<br />
<br />
==== v1.0.1 [2011-03-28] ====<br />
*Fix crash when custom TTS message contains an unsupported percent variable. [reported by SRadner]<br />
*TTS runs on Notification audio stream instead of Media stream, also removed control of media volume while displayed.<br />
*Add App List menu options to ignore all or none.<br />
<br />
==== v1.0.0 [2011-02-13] ====<br />
*Initial release to the Android Market!<br /><br />
<br /><br />
'''Started development on 2011-02-03'''<br />
[[Category:Android]]</div>Pilot 51https://pilot51.com/w/index.php?title=Voice_Notify&diff=1324Voice Notify2014-01-02T01:18:50Z<p>Pilot 51: /* v1.0.11 [2014-01-01] */ Released.</p>
<hr />
<div>[[Image:voicenotify_qrcode_l.png|right|210px|Scan this QR Code with an Android device to go to Voice Notify in the Android Market]]<br />
'''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 /><br />
<br /><br />
Price: Free!<br /><br />
Open source license: [http://apache.org/licenses/LICENSE-2.0 Apache License 2.0]<br /><br />
<br /><br />
== Links ==<br />
*<b>[http://play.google.com/store/apps/details?id=com.pilot51.voicenotify Voice Notify on Google Play]</b><br />
*[http://github.com/pilot51/voicenotify Voice Notify on GitHub]<br />
*[http://getlocalization.com/voicenotify Voice Notify on GetLocalization] (crowdsourced translations)<br />
*<b>[http://tracker.pilot51.com/describecomponents.cgi?product=Voice%20Notify Voice Notify issue tracker]</b> (view or submit problems and suggestions)<br />
*[http://pilot51.com/apk/voicenotify Direct download APK] (all versions available; not recommended for most users)<br />
*[http://voicenotify.pilot51.com voicenotify.pilot51.com] (forwards here)<br />
<br /><br />
== Changelog ==<br />
Dates are in GMT.<br />
<br />
==== v1.0.11 [2014-01-01] ====<br />
*Italian translation updated by Matteo Regoli (Teorouge).<br />
*Add option to pause/dim other media while speaking. [Code contributed by Scott Albertine]<br />
*Add support for new widget picker. [Code contributed by 1karu5]<br />
*Add option to ignore empty notifications (previously they were always ignored).<br />
*Add support for more audio streams: Voice, Ring, Alarm<br />
*Add option to donate through Google Wallet.<br />
*Fix service status in config not updating when resumed from background.<br />
*Fix handling of TTS initialization, preventing notifications from being missed and other possible issues.<br />
<br />
==== v1.0.10.1 [2013-06-11] ====<br />
*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.<br />
*Don't interrupt speech when screen changes to ignored state.<br />
*French translation updated by Titan44.<br />
<br />
==== v1.0.10 [2013-06-08] ====<br />
*New translations: French by caliann and Souln77, German by massimo2001, Hungarian by njozsef.<br />
*Make speaking of toasts optional in Android 3.0+.<br />
*Add un/ignore in Notification Log via long-press & confirm.<br />
*Increase Notification Log history limit from 10 to 20.<br />
*Instead of "Enable/Disable", indicate whether VN service is running.<br />
*Add menu option in App List to show soft keyboard for filtering. This solves devices without hardware keyboard unable to filter.<br />
*Add widget. Color indicates service status. Clicking it toggles service suspend or opens Accessibility settings if disabled.<br />
*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.<br />
*Add GetLocalization and GitHub to Support menu.<br />
*Add basic info to support email body: VN version, Android version, Android build number, Device.<br />
*Fix crash when viewing log with app not yet in app list.<br />
*Fix crash when viewing log during TTS Delay & ignore.<br />
*Fix crash when resuming App List after process death.<br />
*Fix crash when notification received and not ignored with TTS Delay set between 2147484 and 2147483647 seconds.<br />
*Fix crashes when opening App List multiple times while loading. Also fixes duplicates in App List if it doesn't crash.<br />
*Major performance boost on first load of app list.<br />
*TTS Repeat improvements. Fixes crash with TTS Repeat set between 35792 and 2147483647 minutes. Hopefully fixes [http://tracker.pilot51.com/29 issue 29].<br />
<br />
v1.0.10 public beta released on 2013-06-03.<br />
<br />
==== v1.0.9.1 [2012-11-26] ====<br />
*Fix crash when opening App List and an uninstalled app gets removed from cache.<br />
*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.<br />
*Significant improvement to shake detection, fixing erroneous detections.<br />
*Don't allow installing/moving to SD card since it causes problems.<br />
<br />
==== v1.0.9 [2012-11-15] ====<br />
*Add Russian translation by Max Ponomaryov (ceejay).<br />
*Add Spanish translation by PaoloNB.<br />
*Add Shake-To-Silence preference to configure sensitivity threshold.<br />
*In Notification Log, show reasons in yellow if silenced after speaking started.<br />
*Change keyboard type for number preferences from "phone" to "number".<br />
*Fix [http://tracker.pilot51.com/30 issue 30]: VN not appearing in Android 4.2 Accessibility list.<br />
*Fix some ignore reasons not showing in Notification Log.<br />
*Fix crash when ignoring all/none while App List is loading.<br />
*Fix crash when running Test on Android 4.2 device in vibrate mode (add vibrate permission).<br />
<br />
==== v1.0.8 [2012-08-04] ====<br />
*Add Italian translation by Teorouge.<br />
*Fix [http://tracker.pilot51.com/27 issue 27]: Accessibility broken in Android 4.1 (Jelly Bean).<br />
*Add shake-to-silence.<br />
*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.<br />
*Add option for TTS to repeat notifications at a custom interval in minutes while screen is off.<br />
*Fix Ignored Text not working when containing capital letters.<br />
<br />
==== v1.0.7.2 [2012-03-28] ====<br />
*Fix mislabeled device states (on and off were swapped).<br />
*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.<br />
<br />
==== v1.0.7.1 [2012-03-27] ====<br />
*Fix crash when notification received and Ignore Text is not set/initialized.<br />
<br />
==== v1.0.7 [2012-03-26] ====<br />
*Add Ignore Text preference.<br />
*Add Ignore Repeats preference. Default, which was previously hard-coded, is to ignore identical consecutive notifications within 10 seconds.<br />
*Add Silent/Vibrate to Device States preference. Default, which was previously hard-coded, is disabled (not speak).<br />
*Default ignore for new apps is based on Ignore All/None.<br />
*Change App List progress indicator to indeterminate title bar style since load time is much quicker.<br />
*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).<br />
*App search filtering now includes package names and search containing text instead of words starting with the search term.<br />
*Show toast message when running Test with Voice Notify ignored.<br />
*Check notification-independent ignores after TTS Delay instead of before.<br />
*Stop speaking if headset changes to ignored state.<br />
*Fix crash at service initialization on some (most?) Android 2.0.1 and lower devices.<br />
*Fix/enable TTS Settings for ICS.<br />
*Fix TTS Settings crash in Honeycomb & Android 4.0 (API 11-14).<br />
<br />
==== v1.0.6 [2012-01-10] ====<br />
*Add option for custom TTS Delay. Value in seconds.<br />
*Add headset on/off to device states. Note: Due to API limitations, all Bluetooth devices are detected the same, headset or not.<br />
*Add Bluetooth permission. Required to detect Bluetooth connections.<br />
*Add option to post a test notification. Delayed 5 seconds to allow user to, for example, turn off the screen.<br />
*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.<br />
*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.<br />
<br />
==== v1.0.5 [2011-12-18] ====<br />
*Fix [http://tracker.pilot51.com/10 issue 10]: App List jumps slightly when item toggled.<br />
*Fix crash when opening TTS Settings on Google TV.<br />
*Fix crash when filtering App List.<br />
*Ignore All/None only applies to apps in filter.<br />
<br />
==== v1.0.4 [2011-12-12] ====<br />
*Add option to select whether to speak with screen on or off. ([http://tracker.pilot51.com/25 issue 25])<br />
*Remove touchscreen requirement (makes compatible with Google TV).<br />
<br />
==== v1.0.3 [2011-10-23] ====<br />
*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!]<br />
*Special characters | [ ] { } * < > in notification messages are not spoken (replaced with a space).([http://tracker.pilot51.com/23 issue 23])<br />
*Change default audio stream back to Media.<br />
*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)<br />
*Notifications are ignored while phone is ringing or in a call.<br />
*Add Quiet Time option.<br />
*Add options to rate/comment (Market) or contact developer (email app).<br />
<br />
==== v1.0.2 [2011-04-05] ====<br />
*Fix Ignore All option creating duplicate ignores, sometimes requiring multiple touches to enable an app.<br />
*Add option to donate through Paypal (opens Paypal donate page in external browser).<br />
*Fix speaking of quickly repeated notifications (usually progress bars).<br />
*Add option to change TTS between Notification and Media audio streams. Solution to Bluetooth issue reported by SRadner.<br />
*Fix App List jumping to top when selection changed. (rough/temporary workaround, list still jumps by up to one item)<br />
<br />
==== v1.0.1 [2011-03-28] ====<br />
*Fix crash when custom TTS message contains an unsupported percent variable. [reported by SRadner]<br />
*TTS runs on Notification audio stream instead of Media stream, also removed control of media volume while displayed.<br />
*Add App List menu options to ignore all or none.<br />
<br />
==== v1.0.0 [2011-02-13] ====<br />
*Initial release to the Android Market!<br /><br />
<br /><br />
'''Started development on 2011-02-03'''<br />
[[Category:Android]]</div>Pilot 51https://pilot51.com/w/index.php?title=Voice_Notify&diff=1323Voice Notify2013-06-11T03:10:42Z<p>Pilot 51: /* v1.0.10.1 [2013-06-11] */ Released.</p>
<hr />
<div>[[Image:voicenotify_qrcode_l.png|right|210px|Scan this QR Code with an Android device to go to Voice Notify in the Android Market]]<br />
'''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 /><br />
<br /><br />
Price: Free!<br /><br />
Open source license: [http://apache.org/licenses/LICENSE-2.0 Apache License 2.0]<br /><br />
<br /><br />
== Links ==<br />
*<b>[http://play.google.com/store/apps/details?id=com.pilot51.voicenotify Voice Notify on Google Play]</b><br />
*[http://github.com/pilot51/voicenotify Voice Notify on GitHub]<br />
*[http://getlocalization.com/voicenotify Voice Notify on GetLocalization] (crowdsourced translations)<br />
*<b>[http://tracker.pilot51.com/describecomponents.cgi?product=Voice%20Notify Voice Notify issue tracker]</b> (view or submit problems and suggestions)<br />
*[http://pilot51.com/apk/voicenotify Direct download APK] (all versions available; not recommended for most users)<br />
*[http://voicenotify.pilot51.com voicenotify.pilot51.com] (forwards here)<br />
<br /><br />
== Changelog ==<br />
Dates are in GMT.<br />
<br />
==== v1.0.10.1 [2013-06-11] ====<br />
*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.<br />
*Don't interrupt speech when screen changes to ignored state.<br />
*Update to French translation by Titan44.<br />
<br />
==== v1.0.10 [2013-06-08] ====<br />
*New translations: French by caliann and Souln77, German by massimo2001, Hungarian by njozsef.<br />
*Make speaking of toasts optional in Android 3.0+.<br />
*Add un/ignore in Notification Log via long-press & confirm.<br />
*Increase Notification Log history limit from 10 to 20.<br />
*Instead of "Enable/Disable", indicate whether VN service is running.<br />
*Add menu option in App List to show soft keyboard for filtering. This solves devices without hardware keyboard unable to filter.<br />
*Add widget. Color indicates service status. Clicking it toggles service suspend or opens Accessibility settings if disabled.<br />
*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.<br />
*Add GetLocalization and GitHub to Support menu.<br />
*Add basic info to support email body: VN version, Android version, Android build number, Device.<br />
*Fix crash when viewing log with app not yet in app list.<br />
*Fix crash when viewing log during TTS Delay & ignore.<br />
*Fix crash when resuming App List after process death.<br />
*Fix crash when notification received and not ignored with TTS Delay set between 2147484 and 2147483647 seconds.<br />
*Fix crashes when opening App List multiple times while loading. Also fixes duplicates in App List if it doesn't crash.<br />
*Major performance boost on first load of app list.<br />
*TTS Repeat improvements. Fixes crash with TTS Repeat set between 35792 and 2147483647 minutes. Hopefully fixes [http://tracker.pilot51.com/29 issue 29].<br />
<br />
v1.0.10 public beta released on 2013-06-03.<br />
<br />
==== v1.0.9.1 [2012-11-26] ====<br />
*Fix crash when opening App List and an uninstalled app gets removed from cache.<br />
*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.<br />
*Significant improvement to shake detection, fixing erroneous detections.<br />
*Don't allow installing/moving to SD card since it causes problems.<br />
<br />
==== v1.0.9 [2012-11-15] ====<br />
*Add Russian translation by Max Ponomaryov (ceejay).<br />
*Add Spanish translation by PaoloNB.<br />
*Add Shake-To-Silence preference to configure sensitivity threshold.<br />
*In Notification Log, show reasons in yellow if silenced after speaking started.<br />
*Change keyboard type for number preferences from "phone" to "number".<br />
*Fix [http://tracker.pilot51.com/30 issue 30]: VN not appearing in Android 4.2 Accessibility list.<br />
*Fix some ignore reasons not showing in Notification Log.<br />
*Fix crash when ignoring all/none while App List is loading.<br />
*Fix crash when running Test on Android 4.2 device in vibrate mode (add vibrate permission).<br />
<br />
==== v1.0.8 [2012-08-04] ====<br />
*Add Italian translation by Teorouge.<br />
*Fix [http://tracker.pilot51.com/27 issue 27]: Accessibility broken in Android 4.1 (Jelly Bean).<br />
*Add shake-to-silence.<br />
*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.<br />
*Add option for TTS to repeat notifications at a custom interval in minutes while screen is off.<br />
*Fix Ignored Text not working when containing capital letters.<br />
<br />
==== v1.0.7.2 [2012-03-28] ====<br />
*Fix mislabeled device states (on and off were swapped).<br />
*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.<br />
<br />
==== v1.0.7.1 [2012-03-27] ====<br />
*Fix crash when notification received and Ignore Text is not set/initialized.<br />
<br />
==== v1.0.7 [2012-03-26] ====<br />
*Add Ignore Text preference.<br />
*Add Ignore Repeats preference. Default, which was previously hard-coded, is to ignore identical consecutive notifications within 10 seconds.<br />
*Add Silent/Vibrate to Device States preference. Default, which was previously hard-coded, is disabled (not speak).<br />
*Default ignore for new apps is based on Ignore All/None.<br />
*Change App List progress indicator to indeterminate title bar style since load time is much quicker.<br />
*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).<br />
*App search filtering now includes package names and search containing text instead of words starting with the search term.<br />
*Show toast message when running Test with Voice Notify ignored.<br />
*Check notification-independent ignores after TTS Delay instead of before.<br />
*Stop speaking if headset changes to ignored state.<br />
*Fix crash at service initialization on some (most?) Android 2.0.1 and lower devices.<br />
*Fix/enable TTS Settings for ICS.<br />
*Fix TTS Settings crash in Honeycomb & Android 4.0 (API 11-14).<br />
<br />
==== v1.0.6 [2012-01-10] ====<br />
*Add option for custom TTS Delay. Value in seconds.<br />
*Add headset on/off to device states. Note: Due to API limitations, all Bluetooth devices are detected the same, headset or not.<br />
*Add Bluetooth permission. Required to detect Bluetooth connections.<br />
*Add option to post a test notification. Delayed 5 seconds to allow user to, for example, turn off the screen.<br />
*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.<br />
*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.<br />
<br />
==== v1.0.5 [2011-12-18] ====<br />
*Fix [http://tracker.pilot51.com/10 issue 10]: App List jumps slightly when item toggled.<br />
*Fix crash when opening TTS Settings on Google TV.<br />
*Fix crash when filtering App List.<br />
*Ignore All/None only applies to apps in filter.<br />
<br />
==== v1.0.4 [2011-12-12] ====<br />
*Add option to select whether to speak with screen on or off. ([http://tracker.pilot51.com/25 issue 25])<br />
*Remove touchscreen requirement (makes compatible with Google TV).<br />
<br />
==== v1.0.3 [2011-10-23] ====<br />
*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!]<br />
*Special characters | [ ] { } * < > in notification messages are not spoken (replaced with a space).([http://tracker.pilot51.com/23 issue 23])<br />
*Change default audio stream back to Media.<br />
*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)<br />
*Notifications are ignored while phone is ringing or in a call.<br />
*Add Quiet Time option.<br />
*Add options to rate/comment (Market) or contact developer (email app).<br />
<br />
==== v1.0.2 [2011-04-05] ====<br />
*Fix Ignore All option creating duplicate ignores, sometimes requiring multiple touches to enable an app.<br />
*Add option to donate through Paypal (opens Paypal donate page in external browser).<br />
*Fix speaking of quickly repeated notifications (usually progress bars).<br />
*Add option to change TTS between Notification and Media audio streams. Solution to Bluetooth issue reported by SRadner.<br />
*Fix App List jumping to top when selection changed. (rough/temporary workaround, list still jumps by up to one item)<br />
<br />
==== v1.0.1 [2011-03-28] ====<br />
*Fix crash when custom TTS message contains an unsupported percent variable. [reported by SRadner]<br />
*TTS runs on Notification audio stream instead of Media stream, also removed control of media volume while displayed.<br />
*Add App List menu options to ignore all or none.<br />
<br />
==== v1.0.0 [2011-02-13] ====<br />
*Initial release to the Android Market!<br /><br />
<br /><br />
'''Started development on 2011-02-03'''<br />
[[Category:Android]]</div>Pilot 51https://pilot51.com/w/index.php?title=Voice_Notify&diff=1322Voice Notify2013-06-08T14:24:41Z<p>Pilot 51: /* v1.0.10 [2013-06-08] */</p>
<hr />
<div>[[Image:voicenotify_qrcode_l.png|right|210px|Scan this QR Code with an Android device to go to Voice Notify in the Android Market]]<br />
'''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 /><br />
<br /><br />
Price: Free!<br /><br />
Open source license: [http://apache.org/licenses/LICENSE-2.0 Apache License 2.0]<br /><br />
<br /><br />
== Links ==<br />
*<b>[http://play.google.com/store/apps/details?id=com.pilot51.voicenotify Voice Notify on Google Play]</b><br />
*[http://github.com/pilot51/voicenotify Voice Notify on GitHub]<br />
*[http://getlocalization.com/voicenotify Voice Notify on GetLocalization] (crowdsourced translations)<br />
*<b>[http://tracker.pilot51.com/describecomponents.cgi?product=Voice%20Notify Voice Notify issue tracker]</b> (view or submit problems and suggestions)<br />
*[http://pilot51.com/apk/voicenotify Direct download APK] (all versions available; not recommended for most users)<br />
*[http://voicenotify.pilot51.com voicenotify.pilot51.com] (forwards here)<br />
<br /><br />
== Changelog ==<br />
Dates are in GMT.<br />
<br />
==== v1.0.10 [2013-06-08] ====<br />
*New translations: French by caliann and Souln77, German by massimo2001, Hungarian by njozsef.<br />
*Make speaking of toasts optional in Android 3.0+.<br />
*Add un/ignore in Notification Log via long-press & confirm.<br />
*Increase Notification Log history limit from 10 to 20.<br />
*Instead of "Enable/Disable", indicate whether VN service is running.<br />
*Add menu option in App List to show soft keyboard for filtering. This solves devices without hardware keyboard unable to filter.<br />
*Add widget. Color indicates service status. Clicking it toggles service suspend or opens Accessibility settings if disabled.<br />
*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.<br />
*Add GetLocalization and GitHub to Support menu.<br />
*Add basic info to support email body: VN version, Android version, Android build number, Device.<br />
*Fix crash when viewing log with app not yet in app list.<br />
*Fix crash when viewing log during TTS Delay & ignore.<br />
*Fix crash when resuming App List after process death.<br />
*Fix crash when notification received and not ignored with TTS Delay set between 2147484 and 2147483647 seconds.<br />
*Fix crashes when opening App List multiple times while loading. Also fixes duplicates in App List if it doesn't crash.<br />
*Major performance boost on first load of app list.<br />
*TTS Repeat improvements. Fixes crash with TTS Repeat set between 35792 and 2147483647 minutes. Hopefully fixes [http://tracker.pilot51.com/29 issue 29].<br />
<br />
v1.0.10 public beta released on 2013-06-03.<br />
<br />
==== v1.0.9.1 [2012-11-26] ====<br />
*Fix crash when opening App List and an uninstalled app gets removed from cache.<br />
*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.<br />
*Significant improvement to shake detection, fixing erroneous detections.<br />
*Don't allow installing/moving to SD card since it causes problems.<br />
<br />
==== v1.0.9 [2012-11-15] ====<br />
*Add Russian translation by Max Ponomaryov (ceejay).<br />
*Add Spanish translation by PaoloNB.<br />
*Add Shake-To-Silence preference to configure sensitivity threshold.<br />
*In Notification Log, show reasons in yellow if silenced after speaking started.<br />
*Change keyboard type for number preferences from "phone" to "number".<br />
*Fix [http://tracker.pilot51.com/30 issue 30]: VN not appearing in Android 4.2 Accessibility list.<br />
*Fix some ignore reasons not showing in Notification Log.<br />
*Fix crash when ignoring all/none while App List is loading.<br />
*Fix crash when running Test on Android 4.2 device in vibrate mode (add vibrate permission).<br />
<br />
==== v1.0.8 [2012-08-04] ====<br />
*Add Italian translation by Teorouge.<br />
*Fix [http://tracker.pilot51.com/27 issue 27]: Accessibility broken in Android 4.1 (Jelly Bean).<br />
*Add shake-to-silence.<br />
*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.<br />
*Add option for TTS to repeat notifications at a custom interval in minutes while screen is off.<br />
*Fix Ignored Text not working when containing capital letters.<br />
<br />
==== v1.0.7.2 [2012-03-28] ====<br />
*Fix mislabeled device states (on and off were swapped).<br />
*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.<br />
<br />
==== v1.0.7.1 [2012-03-27] ====<br />
*Fix crash when notification received and Ignore Text is not set/initialized.<br />
<br />
==== v1.0.7 [2012-03-26] ====<br />
*Add Ignore Text preference.<br />
*Add Ignore Repeats preference. Default, which was previously hard-coded, is to ignore identical consecutive notifications within 10 seconds.<br />
*Add Silent/Vibrate to Device States preference. Default, which was previously hard-coded, is disabled (not speak).<br />
*Default ignore for new apps is based on Ignore All/None.<br />
*Change App List progress indicator to indeterminate title bar style since load time is much quicker.<br />
*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).<br />
*App search filtering now includes package names and search containing text instead of words starting with the search term.<br />
*Show toast message when running Test with Voice Notify ignored.<br />
*Check notification-independent ignores after TTS Delay instead of before.<br />
*Stop speaking if headset changes to ignored state.<br />
*Fix crash at service initialization on some (most?) Android 2.0.1 and lower devices.<br />
*Fix/enable TTS Settings for ICS.<br />
*Fix TTS Settings crash in Honeycomb & Android 4.0 (API 11-14).<br />
<br />
==== v1.0.6 [2012-01-10] ====<br />
*Add option for custom TTS Delay. Value in seconds.<br />
*Add headset on/off to device states. Note: Due to API limitations, all Bluetooth devices are detected the same, headset or not.<br />
*Add Bluetooth permission. Required to detect Bluetooth connections.<br />
*Add option to post a test notification. Delayed 5 seconds to allow user to, for example, turn off the screen.<br />
*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.<br />
*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.<br />
<br />
==== v1.0.5 [2011-12-18] ====<br />
*Fix [http://tracker.pilot51.com/10 issue 10]: App List jumps slightly when item toggled.<br />
*Fix crash when opening TTS Settings on Google TV.<br />
*Fix crash when filtering App List.<br />
*Ignore All/None only applies to apps in filter.<br />
<br />
==== v1.0.4 [2011-12-12] ====<br />
*Add option to select whether to speak with screen on or off. ([http://tracker.pilot51.com/25 issue 25])<br />
*Remove touchscreen requirement (makes compatible with Google TV).<br />
<br />
==== v1.0.3 [2011-10-23] ====<br />
*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!]<br />
*Special characters | [ ] { } * < > in notification messages are not spoken (replaced with a space).([http://tracker.pilot51.com/23 issue 23])<br />
*Change default audio stream back to Media.<br />
*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)<br />
*Notifications are ignored while phone is ringing or in a call.<br />
*Add Quiet Time option.<br />
*Add options to rate/comment (Market) or contact developer (email app).<br />
<br />
==== v1.0.2 [2011-04-05] ====<br />
*Fix Ignore All option creating duplicate ignores, sometimes requiring multiple touches to enable an app.<br />
*Add option to donate through Paypal (opens Paypal donate page in external browser).<br />
*Fix speaking of quickly repeated notifications (usually progress bars).<br />
*Add option to change TTS between Notification and Media audio streams. Solution to Bluetooth issue reported by SRadner.<br />
*Fix App List jumping to top when selection changed. (rough/temporary workaround, list still jumps by up to one item)<br />
<br />
==== v1.0.1 [2011-03-28] ====<br />
*Fix crash when custom TTS message contains an unsupported percent variable. [reported by SRadner]<br />
*TTS runs on Notification audio stream instead of Media stream, also removed control of media volume while displayed.<br />
*Add App List menu options to ignore all or none.<br />
<br />
==== v1.0.0 [2011-02-13] ====<br />
*Initial release to the Android Market!<br /><br />
<br /><br />
'''Started development on 2011-02-03'''<br />
[[Category:Android]]</div>Pilot 51https://pilot51.com/w/index.php?title=Voice_Notify&diff=1321Voice Notify2013-06-08T14:23:15Z<p>Pilot 51: /* v1.0.10 [2013-06-08] */ Released.</p>
<hr />
<div>[[Image:voicenotify_qrcode_l.png|right|210px|Scan this QR Code with an Android device to go to Voice Notify in the Android Market]]<br />
'''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 /><br />
<br /><br />
Price: Free!<br /><br />
Open source license: [http://apache.org/licenses/LICENSE-2.0 Apache License 2.0]<br /><br />
<br /><br />
== Links ==<br />
*<b>[http://play.google.com/store/apps/details?id=com.pilot51.voicenotify Voice Notify on Google Play]</b><br />
*[http://github.com/pilot51/voicenotify Voice Notify on GitHub]<br />
*[http://getlocalization.com/voicenotify Voice Notify on GetLocalization] (crowdsourced translations)<br />
*<b>[http://tracker.pilot51.com/describecomponents.cgi?product=Voice%20Notify Voice Notify issue tracker]</b> (view or submit problems and suggestions)<br />
*[http://pilot51.com/apk/voicenotify Direct download APK] (all versions available; not recommended for most users)<br />
*[http://voicenotify.pilot51.com voicenotify.pilot51.com] (forwards here)<br />
<br /><br />
== Changelog ==<br />
Dates are in GMT.<br />
<br />
==== v1.0.10 [2013-06-08] ====<br />
New translations: French by caliann and Souln77, German by massimo2001, Hungarian by njozsef.<br />
Make speaking of toasts optional in Android 3.0+.<br />
Add un/ignore in NotifyList via long-press & confirm.<br />
Increase Notification Log history limit from 10 to 20.<br />
Instead of "Enable/Disable", indicate whether VN service is running.<br />
Add menu option in App List to show soft keyboard for filtering. This solves devices without hardware keyboard unable to filter.<br />
Add widget. Color indicates service status. Clicking it toggles service suspend or opens Accessibility settings if disabled.<br />
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.<br />
Add GetLocalization and GitHub to Support menu.<br />
Add basic info to support email body: VN version, Android version, Android build number, Device.<br />
Fix crash when viewing log with app not yet in app list.<br />
Fix crash when viewing log during TTS Delay & ignore.<br />
Fix crash when resuming App List after process death.<br />
Fix crash when notification received and not ignored with TTS Delay set between 2147484 and 2147483647 seconds.<br />
Fix crashes when opening App List multiple times while loading. Also fixes duplicates in App List if it doesn't crash.<br />
Major performance boost on first load of app list.<br />
TTS Repeat improvements. Fixes crash with TTS Repeat set between 35792 and 2147483647 minutes. Hopefully fixes [http://tracker.pilot51.com/29 issue 29].<br />
<br />
v1.0.10 public beta released on 2013-06-03.<br />
<br />
==== v1.0.9.1 [2012-11-26] ====<br />
*Fix crash when opening App List and an uninstalled app gets removed from cache.<br />
*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.<br />
*Significant improvement to shake detection, fixing erroneous detections.<br />
*Don't allow installing/moving to SD card since it causes problems.<br />
<br />
==== v1.0.9 [2012-11-15] ====<br />
*Add Russian translation by Max Ponomaryov (ceejay).<br />
*Add Spanish translation by PaoloNB.<br />
*Add Shake-To-Silence preference to configure sensitivity threshold.<br />
*In Notification Log, show reasons in yellow if silenced after speaking started.<br />
*Change keyboard type for number preferences from "phone" to "number".<br />
*Fix [http://tracker.pilot51.com/30 issue 30]: VN not appearing in Android 4.2 Accessibility list.<br />
*Fix some ignore reasons not showing in Notification Log.<br />
*Fix crash when ignoring all/none while App List is loading.<br />
*Fix crash when running Test on Android 4.2 device in vibrate mode (add vibrate permission).<br />
<br />
==== v1.0.8 [2012-08-04] ====<br />
*Add Italian translation by Teorouge.<br />
*Fix [http://tracker.pilot51.com/27 issue 27]: Accessibility broken in Android 4.1 (Jelly Bean).<br />
*Add shake-to-silence.<br />
*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.<br />
*Add option for TTS to repeat notifications at a custom interval in minutes while screen is off.<br />
*Fix Ignored Text not working when containing capital letters.<br />
<br />
==== v1.0.7.2 [2012-03-28] ====<br />
*Fix mislabeled device states (on and off were swapped).<br />
*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.<br />
<br />
==== v1.0.7.1 [2012-03-27] ====<br />
*Fix crash when notification received and Ignore Text is not set/initialized.<br />
<br />
==== v1.0.7 [2012-03-26] ====<br />
*Add Ignore Text preference.<br />
*Add Ignore Repeats preference. Default, which was previously hard-coded, is to ignore identical consecutive notifications within 10 seconds.<br />
*Add Silent/Vibrate to Device States preference. Default, which was previously hard-coded, is disabled (not speak).<br />
*Default ignore for new apps is based on Ignore All/None.<br />
*Change App List progress indicator to indeterminate title bar style since load time is much quicker.<br />
*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).<br />
*App search filtering now includes package names and search containing text instead of words starting with the search term.<br />
*Show toast message when running Test with Voice Notify ignored.<br />
*Check notification-independent ignores after TTS Delay instead of before.<br />
*Stop speaking if headset changes to ignored state.<br />
*Fix crash at service initialization on some (most?) Android 2.0.1 and lower devices.<br />
*Fix/enable TTS Settings for ICS.<br />
*Fix TTS Settings crash in Honeycomb & Android 4.0 (API 11-14).<br />
<br />
==== v1.0.6 [2012-01-10] ====<br />
*Add option for custom TTS Delay. Value in seconds.<br />
*Add headset on/off to device states. Note: Due to API limitations, all Bluetooth devices are detected the same, headset or not.<br />
*Add Bluetooth permission. Required to detect Bluetooth connections.<br />
*Add option to post a test notification. Delayed 5 seconds to allow user to, for example, turn off the screen.<br />
*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.<br />
*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.<br />
<br />
==== v1.0.5 [2011-12-18] ====<br />
*Fix [http://tracker.pilot51.com/10 issue 10]: App List jumps slightly when item toggled.<br />
*Fix crash when opening TTS Settings on Google TV.<br />
*Fix crash when filtering App List.<br />
*Ignore All/None only applies to apps in filter.<br />
<br />
==== v1.0.4 [2011-12-12] ====<br />
*Add option to select whether to speak with screen on or off. ([http://tracker.pilot51.com/25 issue 25])<br />
*Remove touchscreen requirement (makes compatible with Google TV).<br />
<br />
==== v1.0.3 [2011-10-23] ====<br />
*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!]<br />
*Special characters | [ ] { } * < > in notification messages are not spoken (replaced with a space).([http://tracker.pilot51.com/23 issue 23])<br />
*Change default audio stream back to Media.<br />
*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)<br />
*Notifications are ignored while phone is ringing or in a call.<br />
*Add Quiet Time option.<br />
*Add options to rate/comment (Market) or contact developer (email app).<br />
<br />
==== v1.0.2 [2011-04-05] ====<br />
*Fix Ignore All option creating duplicate ignores, sometimes requiring multiple touches to enable an app.<br />
*Add option to donate through Paypal (opens Paypal donate page in external browser).<br />
*Fix speaking of quickly repeated notifications (usually progress bars).<br />
*Add option to change TTS between Notification and Media audio streams. Solution to Bluetooth issue reported by SRadner.<br />
*Fix App List jumping to top when selection changed. (rough/temporary workaround, list still jumps by up to one item)<br />
<br />
==== v1.0.1 [2011-03-28] ====<br />
*Fix crash when custom TTS message contains an unsupported percent variable. [reported by SRadner]<br />
*TTS runs on Notification audio stream instead of Media stream, also removed control of media volume while displayed.<br />
*Add App List menu options to ignore all or none.<br />
<br />
==== v1.0.0 [2011-02-13] ====<br />
*Initial release to the Android Market!<br /><br />
<br /><br />
'''Started development on 2011-02-03'''<br />
[[Category:Android]]</div>Pilot 51https://pilot51.com/w/index.php?title=L-Clock&diff=1320L-Clock2013-01-13T04:59:04Z<p>Pilot 51: Released v0.6.6, some other updates.</p>
<hr />
<div>[[Image:lclock_qrcode_m.png|right|210px|Scan this QR Code with an Android device to go to L-Clock in the Android Market]]<br />
'''L-Clock''' is an Android app that fetches data from [http://www.nasa.gov/missions/highlights/schedule.html NASA.gov] and [http://spaceflightnow.com/tracking/index.html SpaceflightNow.com] and creates a formatted list of upcoming rocket launches. Touch an item in the list to display the launch date/time and a countdown.<br /><br />
<br /><br />
L-Clock is currently in beta. There are a few obvious issues that will be fixed by v1.0.0, but the basic concept is mostly functional.<br /><br />
<br /><br />
L-Clock is free and open source software (FOSS)!<br /><br />
It is currently ad-supported, but feel free to remove the ads from the code and compile yourself.<br /><br />
Code contributions through GitHub are encouraged for the benefit of the user community.<br /><br />
<br /><br />
Open source license: [http://apache.org/licenses/LICENSE-2.0 Apache License 2.0]<br /><br />
<br /><br />
== Links ==<br />
*<b>[http://play.google.com/store/apps/details?id=com.pilot51.lclock L-Clock on Google Play]</b><br />
*[http://github.com/pilot51/lclock L-Clock on GitHub]<br />
*[http://bugs.pilot51.com/describecomponents.cgi?product=L-Clock L-Clock issue tracker] (view or submit problems and suggestions)<br />
*[http://pilot51.com/apk/lclock Direct download APK] (all versions available; not recommended for most users)<br />
*[http://l-clock.com L-Clock.com] (forwards here)<br />
<br /><br />
<br />
== Changelog ==<br />
Dates are in GMT.<br />
<br />
==== v0.6.6 [2013-01-12] ====<br />
*Fix NASA parsing.<br />
*Applied [http://apache.org/licenses/LICENSE-2.0 Apache License 2.0] and released the source code on GitHub!<br />
<br />
==== v0.6.5 [2012-01-01] ====<br />
*Fix NASA parsing, again.<br />
*Fix Spaceflight Now parsing of dates containing "NET".<br />
*Remove touchscreen requirement. (Makes compatible with Google TV)<br />
*Update AdMob and AdWhirl SDKs. (Was using very old versions due to a significant visual bug with house ads in newer versions of AdWhirl including this version, decided the potential benefit of new features outweighs the bug)<br />
<br />
==== v0.6.4 [2011-12-09] ====<br />
*Fix SFN calendar parsing.<br />
**Fix incorrect calendar date when both GMT and EST dates are given (separated by /).<br />
**Remove " on [day]" before parsing calendar.<br />
**Remove underline tags before parsing list.<br />
*Fix NASA parsing failure.<br />
**Remove HTML comments before parsing.<br />
<br />
==== v0.6.3 [2011-10-13] ====<br />
*Add indeterminate progress indicator to title bar when list is refreshing.<br />
*Fix occasional crash when opening list, mostly on some slower devices. Caused by the list adapter being read and written in two different threads at the same time and the read happens on an empty list before the write; fixed by combining into single thread with read after write.<br />
<br />
==== v0.6.2 [2011-10-11] ====<br />
*Make ready for translating. Let me know if you want to translate! (note: this does not apply for list data)<br />
*Fix more NASA parsing issues. Notably support for future years and fixing error after the site had minor design changes.<br />
*Initial countdown shows next launch (first that hasn't passed) instead of first.<br />
*Fetch and parse data in a separate thread, preventing GUI from hanging while it waits for data.<br />
*Access to menu/preferences from lists.<br />
*Pre-load cache when app is started.<br />
*Use database instead of saving as raw file.<br />
<br />
==== v0.6.1 [2011-05-15] ====<br />
*Fix date/time parsing for most languages/locales and a few launches.<br />
*Connectivity is checked before attempting to download data or fetch ads. Requires ACCESS_NETWORK_STATE (view network state) permission.<br />
*Only create alerts for launches accurate to the minute or better.<br />
*Format time of launch (above clock) to not include missing time information.<br />
*Parts of clock change to red to indicate inaccuracy of schedule information.<br />
*Change countdown clock to L -/+ clock.<br />
<br />
==== v0.6.0 [2011-02-24] ====<br />
*Alerts!<br />
*Preferences.<br />
*Data is cached - cache loaded if unable to download.<br />
*Fix NASA descriptions cut off at the beginning.<br />
*Fix crash when no connection.<br />
*Hide ad space if no ad is loaded.<br />
<br />
==== v0.5.2 [2011-02-23] ====<br />
*Preserve list (don't re-download) on orientation change.<br />
*Indicate that launch cannot be confirmed by saying "supposedly".<br />
*Keep launch time in countdown area after launch.<br />
*Fix text on main screen in landscape orientation.<br />
*Fix text parsing issues.<br />
<br />
==== v0.5.1 [2010-12-15] ====<br />
*Better workaround for determining launch year in Spaceflight Now list.<br />
*Context menu option to view location in Google Maps.<br />
*In Spaceflight Now list, changed empty Mission column to Payload and populate.<br />
<br />
==== v0.5.0 [2010-12-15] ====<br />
*Initial release to the Android Market!<br /><br />
<br /><br />
'''Started development on 2010-11-14'''<br />
[[Category:Android]]</div>Pilot 51https://pilot51.com/w/index.php?title=PrediSat&diff=1319PrediSat2012-12-14T06:21:56Z<p>Pilot 51: /* v1.2.1.4 [2012-12-14] */ Released.</p>
<hr />
<div>'''PrediSat''' is an Android app that grabs Iridium flare and satellite pass data from [http://Heavens-Above.com Heavens-Above.com] and formats it for the small screen of the phone. It also includes a few features to make satellite watching easier, such as alerts, countdowns, and night mode.<br /><br />
[[Image:predisat_qrcode.png|right|250px|Read this QR Code with an Android device to go to PrediSat in the Android Market]]<br />
<br /><br />
== Links ==<br />
*<b>[http://play.google.com/store/apps/details?id=com.pilot51.predisat PrediSat on Android Market]</b><br />
*<b>[http://play.google.com/store/apps/details?id=com.pilot51.predisatpro PrediSat Pro on Android Market]</b><br />
*[http://heavens-above.com Heavens-Above] (the source of satellite data for PrediSat)<br />
*<b>[http://tracker.pilot51.com/describecomponents.cgi?product=PrediSat PrediSat issue tracker]</b> (view or submit problems and suggestions)<br />
*[http://predisat.com PrediSat.com] (forwards here)<br />
<br /><br /><br />
<br />
== Pro version ==<br />
[[Image:predisatpro_qrcode.png|right|220px|Read this QR Code with an Android device to go to PrediSat Pro in the Android Market]]<br />
The Pro version adds some advanced features on top of what is available in the free version. It may also include early features that will later be added to the free version.<br /><br />
Price is $1 (USD).<br /><br />
<br /><br />
Current Pro-only features:<br /><br />
*Multiple satellite USSC ID's can be entered for 10-day pass predictions<br />
*Multiple alerts per event can be set<br /><br />
*Text-To-Speech alerts (optional)<br /><br />
*Alerts automatically created based on custom magnitude when list is loaded with new data (optional)<br /><br />
*Sightings log<br /><br />
*Export sightings to CSV<br /><br />
*No ads<br /><br />
<br /><br />
<br />
== Changelog ==<br />
Dates are based on GMT.<br /><br />
==== v1.2.1.4 [2012-12-14] ====<br />
Fix parsing of date/time for flares. Another HA change either overlooked in previous release or happened after release.<br />
<br />
==== v1.2.1.3 [2012-12-13] ====<br />
*Fix parsing of passes, caused by more changes on HA.<br />
*Re-add pass magnitude 5.0 filter since HA re-added it.<br />
*Remove detail context menu options for flares due to HA not providing required data.<br />
*Fix flare count doubled during parsing.<br />
<br />
==== v1.2.1.2 [2012-11-19] ====<br />
*Change numeric keyboard type from 'phone' to 'number'.<br />
*Pro: Prevent invalid value being entered in Auto-Alert Mag. settings, leading to a crash.<br />
*Fix performance issue after updating list, mainly event timer not appearing immediately.<br />
*Fix crash when encountering unexpected character(s) in place of degree symbol (°). Happened occasionally either at launch when loading pre-1.2.1 database or when parsing new list.<br />
*Fix parsing of flares again, caused by another change on HA. Daytime flares now use same list as night flares, so only need to download/parse once.<br />
*Restore parsing/saving of flare center info. Not restored in UI for this version, currently only viewable in sightings export.<br />
*Fix magnitude setting no longer working for page request (another HA change). Not really noticeable to the user since events are already removed by magnitude after parsing.<br />
*Update Russian translation for "Orbital Height Profile".<br />
<br />
==== v1.2.1.1 [2012-11-08] ====<br />
*Pro: Fix crash after fetching a list when alert magnitude for the list has never been set.<br />
*Fix crash at launch when loading daytime flares from the database that were previously saved before v1.2.1.<br />
*Fix debug logging, of which there is a lot, being posted to logcat with Debug Mode disabled. (BuildConfig.DEBUG not working as expected in v1.2.1)<br />
<br />
==== v1.2.1 [2012-11-05] ====<br />
*Add context menu option for Orbital Height Profile.<br />
*Sort passes by max time rather than start time.<br />
*Disable flare event details due to new limitations with HA URL query.<br />
*Remove flare center magnitude/distance columns since HA no longer provides that data for night flares.<br />
*Remove obsolete Flare Days preference.<br />
*Significant improvements to how event data is handled. This is a prerequisite for better filtering and sorting in later versions.<br />
*Fix flares not parsing due to changes on HA.<br />
*Fix satellite details link for 10-day passes.<br />
*Fix debug mode not creating files if predisat folder doesn't already exist.<br />
<br />
==== v1.2.0.2 [2012-08-07] ====<br />
*Fix timezone/DST not initialized (using GMT+0) when opening Alerts from notification.<br />
*Fix 'Set 10 Days of Passes' context item appearing in Alerts and Sightings, functionless. It is intended to only appear in main Passes list.<br />
*Improve accuracy and efficiency of clock and countdown.<br />
<br />
==== v1.2.0.1 [2012-08-01] ====<br />
*Fix crash after downloading empty passes list. Don't know how I missed it after v1.2.0 fix of a very similar crash.<br />
*Free: Fix crash when opening passes context menu when there is no satellite set on 10 Days of Passes.<br />
<br />
==== v1.2.0 [2012-07-31] ====<br />
*New translations: German and Russian. Huge thanks to the translators, XoXFaby and Himura respectively!<br />
*Pro: Reverse sort order of sightings list, with more recent events towards top.<br />
*Add context option to add/remove selected satellite in 10 Days of Passes. In Free, this replaces existing entry, while Pro adds.<br />
*Add preference to force DST/Summer Time. Try this if time is off by an hour, especially useful for timezones that permanently do or don't observe DST. Note: Forcing DST just because your timezone permanently observes DST may not be what you want, this is because the GMT offset provided by Heavens-Above in the timezone name may already include DST.<br />
*Add Debug Mode preference. Requires WRITE_EXTERNAL_STORAGE permission to save debug.log and timestamped HTML files in [sdcard]/predisat/debug/. It is intended to be emailed to me, manually, if you have problems such as crashing. PRIVACY NOTICE: The configured coordinates are included in the debug files.<br />
*Open timezone list preference if detection fails.<br />
*Add screen title at top of list screens.<br />
*Fix timezone/DST changes not applying immediately.<br />
*Fix crash when fetching passes on some 3G carriers. [Huge thanks to Carol for being first to email me about it, 4 months after the ~80 insufficient crash reports started coming in!]<br />
*Fix crash when getting coordinates on locales that use comma (,) instead of period (.) as a decimal separator.<br />
*Update timezone names.<br />
*Fix crash when parsing empty passes list.<br />
*Pro: Fix crash at alert in Android 1.5 due to TTS not supported (happened regardless of TTS preference).<br />
*Increase night mode backlight brightness. This is because at least one device (Xperia mini) is known to have a higher minimum brightness than G1.<br />
*Remove compatibility upgrade for v1.0.7 data.<br />
*Change "HA Website" button to "Heavens-Above.com".<br />
*Bottom buttons in main screen: Increase to 2 lines height, reduce font size in portrait orientation.<br />
<br />
==== v1.1.2.2 [2012-03-17] ====<br />
*Fix crash on some devices when downloading passes. Caused by using the wrong thread in a fallback when a more efficient method of getting the default user agent failed. The workaround was to open the in-app browser before downloading the list.<br />
*Fix first fetch of evening receiving (and blindly accepting) morning when morning is current, or vice versa if evening is disabled. Now evening will still receive current morning, but will detect it, hold that data for the morning fetch, and try again. This happens because a specific request can't be made until the first page is downloaded to receive a couple random session strings generated by the server which need to be sent back to the server with each request; those strings are kept for the life of the process.<br />
*Fix progress bar not working for morning/evening after initial fetch.<br />
<br />
==== v1.1.2.1 [2012-03-13] ====<br />
*Fix parsing of morning/evening passes lists. Caused by major changes to the all satellites page on Heavens-Above. Sorry again for the delay.<br />
*If the last pass for the current period (AM or PM) has ended, fetch the same period for the next day, or (Pro) an additional day if multiple days.<br />
*Remove requirement for location and GPS features (supports Google TV).<br />
<br />
==== v1.1.2 [2012-02-17] ====<br />
*Fix crash when parsing 10-day list. Caused by minor changes to the 10-day page on Heavens-Above around Feb. 12. Sorry for the delay.<br />
*Show year in Date column.<br />
*Add pass magnitude filters for 0.0-2.5 (0.5 step).<br />
*Remove pass magnitude 5.0 filter (no longer supported by HA).<br />
*Add option to clear cache.<br />
*Changing filter preference while in list now takes effect on next manual refresh without the need to close and reopen the list.<br />
*Minor improvements to layouts making it appear better on large screens.<br />
*Remove touchscreen requirement.<br />
*Free: Update AdWhirl, AdMob, and Greystripe ad SDKs to latest versions.<br />
*Free: Enable full-screen ad option for Android 2.3.x users since updated Greystripe SDK fixes a crash.<br />
<br />
==== v1.1.1.3 [2011-12-10] ====<br />
*Pro: TTS doesn't speak if phone is in silent mode or in a call.<br />
*Fix rash when trying to update coordinates on some devices that don't have GPS (Honeycomb/tablets).<br />
*Fix how process is closed. Bad practice of forcibly killing process because TTS service was badly coded and holding process open.<br />
<br />
==== v1.1.1.2 [2011-08-04] ====<br />
*Fix crash on somewhat rare occasion when opening Alerts, caused by wrong thread exception when automatically selecting initial tab.<br />
<br />
==== v1.1.1.1 [2011-07-29] ====<br />
*Fix crash when trying to sort empty list immediately after parsing. Thanks to a crash report for pointing it out!<br />
<br />
==== v1.1.1 [2011-07-28] ====<br />
*Fix refreshing more than once in a single list instance causing following issues:<br />
**Crash during parsing of morning or evening passes after 10 day was enabled in previous refresh.<br />
**Evening passes fetching morning instead if 10 day was disabled and morning was enabled in previous refresh,<br />
**Night flares fetching daytime instead if daytime was enabled in previous refresh.<br />
*Progress dialog indicates the number of events in list being parsed, instead of always showing 100.<br />
*Fix countdown timer not automatically appearing for next event in Alerts if Remove Old Events is disabled.<br />
*If existing instance of Alerts screen is at top of process when opening notification, it is used instead of starting a second Alerts instance.<br />
*When opening Alerts, the tab with the next event is selected.<br />
*Pro: Allow fetching multiple days of all passes, configurable between 1-10 days. It's a bit on the experimental side, but nonetheless very useful. Disabled by default, using the old and reliable method of fetching up to 24 hours.<br />
*Slight increase in sorting performance and albeit more accurate as well. Sorting now happens as a single action after parsing instead of while parsing each event.<br />
*Broke some night mode styling in Preferences due to style inheritance breaking in current revision of SDK. This change only affects 2.0 - 2.2, all the other SDK's have always had broken inheritance.<br />
<br />
==== v1.1.0.1 [2011-07-13] ====<br />
*Fix [http://tracker.pilot51.com/show_bug.cgi?id=18 bug 18] (hopefully): Crash immediately after downloading lists. Couldn't reproduce based on limited information of crash reports & haven't been contacted directly about this.<br />
*Time difference threshold for existing events from 10 to 40 minutes. Avoids duplicate events showing up in alerts if 10-day list not updated for awhile and prediction changes by more than 10 minutes.<br />
<br />
==== v1.1.0 [2011-06-07] ====<br />
*Tabs are used in Alerts and Sightings to select Passes and Flares lists, instead of splitting both lists on screen. The tabs indicate exactly the list associated with it (Pass/Flare Alerts/Sightings) and the number of events in each.<br />
*Add confirmation dialog when clearing alerts or sightings lists.<br />
*Add customizable notification message for TTS (Pro) and bubbles. Variables: Satellite name, event type, and minutes until event.<br />
*Fix displayed time for stored events not changing when timezone is changed, plus other issues with using a different timezone than the phone.<br />
*Satellite name is above countdown instead of in parentheses after, or in landscape mode the name is aligned to the right.<br />
*Increased font size of countdown and made bold.<br />
*Increased minimum height of list items about 2x to make them easier to touch.<br />
*Event timer is shown for the next event when opening list.<br />
*Add preferences to toggle messages for tips and updated alert times.<br />
*Single-digit days are formatted without "0" prefix.<br />
*Free: Fix space allowed in Alert Time preference, which causes alerts to not work.<br />
*Pro: Timestamp included in filename of exported sightings CSV with pattern of yyyyMMddHHmm, preventing any unwanted overwrites.<br />
*Fix progress not updating while parsing flares.<br />
*Preferences and night mode menu options now accessible from lists.<br />
*Preferences are categorized into different screens.<br />
*10-day passes - ISS replaced with USSC ID entry. Free allows only one entry, Pro is space-separated. ISS is default.<br />
*Fix toast message showing string resource ID instead of "Timezone set to" when detecting timezone in preferences.<br />
*Events are removed from alerts and main lists a custom number of minutes (default: 10) after they have completely passed. Check is only performed when opening or refreshing list.<br />
*Lists are populated in UI (behind progress dialog) as parsing progresses.<br />
*All lists are loaded to memory at launch and remains until app is closed, making it very quick to open lists.<br />
*New list is only downloaded if manually refreshed from menu, cache is empty, or a custom number of hours (default: 6) have passed since last refresh.<br />
*Huge performance boost for parsing, about 15-30x faster! (all 3 pass lists timed on G1 going from 285 to 10 sec. and Droid from 65 to 5 sec., including download time)<br />
*Fix inability to load saved data across different ROMs. Data is now saved in an SQLite database. Data from 1.0.7 is moved at first launch.<br />
*Removed: Backwards compatibility for alerts and sightings saved as cache in v1.0.6 and earlier. If you have not run any of the v1.0.7 releases, data from older versions will be lost.<br />
<br />
==== v1.0.7.8 [2011-05-21] ====<br />
*Fix automatic location starting when night mode is toggled.<br />
*Pro: Fix colon at end of "Move to Sightings" in context menu for Alerts.<br />
*Fix crash when opening context menu in Passes/Flares lists after loading from cache.<br />
<br />
==== v1.0.7.7 [2011-05-19] ====<br />
*Fix automatic location starting when orientation changes.<br />
*Fix crash at start when Automatic Location is enabled. Thanks for crash reports, I didn't think to test it.<br />
<br />
==== v1.0.7.6 [2011-05-19] ====<br />
*Fix crash when opening preferences while using night mode for Android 2.0 and 2.3.1 to 3.1.<br />
*Free: Fix problems (crash?) at launch for Android 2.3.x. Greystripe issue, had to disable option for full-screen ads in 2.3.x.<br />
*Fix coordinates update stopping when orientation changes.<br />
*Fix inability to get altitude coordinates because receiving location from network prevents GPS from providing it. Now continues searching for GPS after network location received if GPS is enabled.<br />
*Fix Get Coordinates button disabled with GPS even if Network Location enabled.<br />
*All interface-visible text moved from code into XML string resources to make ready for translating. Please contact me if you would like to help translate.<br />
<br />
==== v1.0.7.5 [2011-05-10] ====<br />
*Fix crash during parsing with most system languages. English was the only unaffected language in all versions of Android.<br />
*Fix Alerts and Sightings buttons not appearing correctly in Android 1.5.<br />
<br />
==== v1.0.7.4 [2011-03-19] ====<br />
*Fix inability to scroll in About dialog for 1.5 and 1.6.<br />
*Fix inability to cancel download, a problem if there is connectivity but HA isn't responding.<br />
*Fix lists or browser restarting when physical keyboard opened/closed.<br />
*Fix several elements not changing for night mode. There are still some not changing, but it's greatly improved.<br />
*Fix crash when received data is not from Heavens-Above, such as a network login page. [2.2+ crash report]<br />
*Fix button backlight stuck on (mistake in code from previous update).<br />
<br />
==== v1.0.7.3 [2011-02-02] ====<br />
*Fix crash at launch in Android 2.1 caused by uncaught NoSuchFieldError when trying to set button brightness. [reported by 2 users in Market]<br />
<br />
==== v1.0.7.2 [2011-02-01] ====<br />
*Pro: Fix existing alerts not being updated if auto-alerts disabled.<br />
*Fix crash from bad parsing of single-digit day in start date range of 10-day ISS.<br />
<br />
==== v1.0.7.1 [2011-01-29] ====<br />
*Disabled links in About dialog text, tends to be more trouble than it's worth (turned 1.0.7.1 into link).<br />
*Fix crash when opening notification.<br />
<br />
==== v1.0.7 [2011-01-29] ====<br />
*Alerts & sightings data moved from app cache to files, so clearing cache from Android app manager won't delete it.<br />
*Remove preference to delete data. Avoids accidental deletion, menu on Alerts/Sightings screens should be safer.<br />
*Remove preference to clear coordinates. Not necessary since it's just as easy to manually clear coordinates.<br />
*Free: Existing alerts are automatically updated when new data is loaded. (Pro already had this with auto-alerts)<br />
*Pro: Option in preferences to export sightings to sdcard as CSV files, uses WRITE_EXTERNAL_STORAGE permission.<br />
*Messages for updated alerts will only appear if the time has changed and shows the old and new times.<br />
*Threshold for duplicate alert/sighting check increased from 10 seconds to 10 minutes.<br />
*Pro: If event is in alerts, Add Sighting becomes Move to Sightings in context menu.<br />
*Pro: Add Sighting is disabled until 2 minutes before event start.<br />
*Add Alert is disabled for events that have already started, also applies for auto-alerts in Pro.<br />
*Buttons on main screen repositioned.<br />
*Add ACCESS_NETWORK_STATE permission for connectivity detection, also required by Greystripe in Free version.<br />
*Connectivity is now checked before attempting to access.<br />
*Add 10-day ISS list. (optional) [Suggested by Seth]<br />
*Countdown to start, max, and end instead of just start.<br />
*Countdown is initiated by tapping an event instead of from the context menu.<br />
*Include daytime flares in list. (optional)<br />
*Add progress dialog in list showing what is loading and percentage of each process. [Suggested by SuM_WuN]<br />
*Better performance with the use of multiple threads and other optimizations.<br />
*Add quiet time: No alert notifications between certain times of day. [Suggested by Rick]<br />
*Fix location search stopping when invalid coordinates received.<br />
*Add network location (works seamlessly with GPS) and message indicating what provided the coordinates.<br />
*After opening notification, pressing back button from Alerts opens main screen.<br />
*Fix missing indication of disabled GPS on GPS button. [Reported by ka0ticstyle]<br />
*Volume buttons control notification volume, or media volume if TTS is enabled.<br />
*Fix browser closing when orientation changes.<br />
*Add date on satellite passes lists. [Suggested by Rick]<br />
*Button backlight turns off in Night Mode if supported by API and hardware.<br />
*Fix exiting with back button causing home screen folder in background to close.<br />
*Fix empty countdown view and list header color missing when returning to list from web browser.<br />
*Main and preferences screens are not restarted when changing timezone or alert time.<br />
*Free: Option to toggle between banner ads or full screen ad at launch.<br />
*Free: READ_PHONE_STATE permission required by Greystripe.<br />
*Free: Greystripe ads.<br />
*Free: Update SDKs for AdWhirl and AdMob.<br />
*Pro: Remove option for ads.<br />
*Instead of buttons for each list on Heavens-Above site, one button for the homepage.<br />
*Remove changelog.<br />
<br />
==== v1.0.6 [2010-10-14] ====<br />
*Initial release of Pro.<br />
*Fix countdown timer way off after orientation change.<br />
*Pro: Sightings log.<br />
*Pro: Alerts automatically created based on custom magnitude when list is loaded with new data.<br />
*Fix back button not working as expected in web view.<br />
*Night mode uses color filtering instead of replacing graphics with plain colors.<br />
*Ad manager is AdWhirl, which provides much more flexibility with multiple ad networks.<br />
*Pro: Text-To-Speech alerts.<br />
*Pro: Multiple alert times can be set, space separated.<br />
*Pro: Ads are disabled by default and can be toggled.<br />
*Fix detection of existing alerts with certain differences in data, alert is updated when required.<br />
*Fix value shown in title of 'Alert time' preference stacking when changed.<br />
==== v1.0.5 [2010-09-24] ====<br />
*Alert time preference shows the current setting in its title.<br />
*Alert lists are sorted by event time instead of order they were added.<br />
*Add description on Timezone preference clarifying that it is the standard GMT offset.<br />
*Add menu option on main screen to toggle night mode.<br />
*Add menu options in Alerts view to clear either list.<br />
*Detect incompatible alerts at launch and delete along with cache, preventing crash after version upgrade.<br />
*Fix detection of existing alerts created in different list instances.<br />
*Alerts can be removed through event lists.<br />
*Events can be added to alerts even if alerts are currently disabled.<br />
*If invalid GPS coordinates received, show error instead of crashing.<br />
*Toast notification at alert trigger.<br />
*Notification timer is much more efficient, using a native method instead of a very bloated and often buggy countdown.<br />
*Try setting timezone automatically at launch if not set.<br />
*Fix error when parser encounters trimmed/optimized HTML. (Thanks to [http://twitter.com/SkepticBarista SkepticBarista]!)<br />
*Fix expired alerts being triggered on service modification/start if alert time is set to 0.<br />
==== v1.0.4 [2010-09-02] ====<br />
*Fix event timer timezone not being calculated properly for timezones different from phone.<br />
*Significantly reduced possibility of alerts being skipped because of lag.<br />
*If parser runs into problem, show error and try loading cache instead of crashing.<br />
==== v1.0.3 [2010-08-31] ====<br />
*Save coordinates when opening preferences.<br />
*Fix alert time not applying to existing alerts when changed.<br />
*Fix crash when both pass periods are selected and one of them returns no passes.<br />
*Fix crash when alert is triggered and ringtone was not configured.<br />
*Fix DST sometimes being 'forgotten' while running in background as service.<br />
==== v1.0.1 and v1.0.2 [2010-08-28] ====<br />
*Fix two crashes in the web browser.<br />
==== v1.0.0 [2010-08-28] ====<br />
*Initial release to the Android Market!<br />
<br /><br />
'''Started development on 2010-06-29'''<br />
[[Category:Android]]</div>Pilot 51https://pilot51.com/w/index.php?title=PrediSat&diff=1318PrediSat2012-12-13T04:57:33Z<p>Pilot 51: /* v1.2.1.3 [2012-12-13] */ Released.</p>
<hr />
<div>'''PrediSat''' is an Android app that grabs Iridium flare and satellite pass data from [http://Heavens-Above.com Heavens-Above.com] and formats it for the small screen of the phone. It also includes a few features to make satellite watching easier, such as alerts, countdowns, and night mode.<br /><br />
[[Image:predisat_qrcode.png|right|250px|Read this QR Code with an Android device to go to PrediSat in the Android Market]]<br />
<br /><br />
== Links ==<br />
*<b>[http://play.google.com/store/apps/details?id=com.pilot51.predisat PrediSat on Android Market]</b><br />
*<b>[http://play.google.com/store/apps/details?id=com.pilot51.predisatpro PrediSat Pro on Android Market]</b><br />
*[http://heavens-above.com Heavens-Above] (the source of satellite data for PrediSat)<br />
*<b>[http://tracker.pilot51.com/describecomponents.cgi?product=PrediSat PrediSat issue tracker]</b> (view or submit problems and suggestions)<br />
*[http://predisat.com PrediSat.com] (forwards here)<br />
<br /><br /><br />
<br />
== Pro version ==<br />
[[Image:predisatpro_qrcode.png|right|220px|Read this QR Code with an Android device to go to PrediSat Pro in the Android Market]]<br />
The Pro version adds some advanced features on top of what is available in the free version. It may also include early features that will later be added to the free version.<br /><br />
Price is $1 (USD).<br /><br />
<br /><br />
Current Pro-only features:<br /><br />
*Multiple satellite USSC ID's can be entered for 10-day pass predictions<br />
*Multiple alerts per event can be set<br /><br />
*Text-To-Speech alerts (optional)<br /><br />
*Alerts automatically created based on custom magnitude when list is loaded with new data (optional)<br /><br />
*Sightings log<br /><br />
*Export sightings to CSV<br /><br />
*No ads<br /><br />
<br /><br />
<br />
== Changelog ==<br />
Dates are based on GMT.<br /><br />
==== v1.2.1.3 [2012-12-13] ====<br />
*Fix parsing of passes, caused by more changes on HA.<br />
*Re-add pass magnitude 5.0 filter since HA re-added it.<br />
*Remove detail context menu options for flares due to HA not providing required data.<br />
*Fix flare count doubled during parsing.<br />
<br />
==== v1.2.1.2 [2012-11-19] ====<br />
*Change numeric keyboard type from 'phone' to 'number'.<br />
*Pro: Prevent invalid value being entered in Auto-Alert Mag. settings, leading to a crash.<br />
*Fix performance issue after updating list, mainly event timer not appearing immediately.<br />
*Fix crash when encountering unexpected character(s) in place of degree symbol (°). Happened occasionally either at launch when loading pre-1.2.1 database or when parsing new list.<br />
*Fix parsing of flares again, caused by another change on HA. Daytime flares now use same list as night flares, so only need to download/parse once.<br />
*Restore parsing/saving of flare center info. Not restored in UI for this version, currently only viewable in sightings export.<br />
*Fix magnitude setting no longer working for page request (another HA change). Not really noticeable to the user since events are already removed by magnitude after parsing.<br />
*Update Russian translation for "Orbital Height Profile".<br />
<br />
==== v1.2.1.1 [2012-11-08] ====<br />
*Pro: Fix crash after fetching a list when alert magnitude for the list has never been set.<br />
*Fix crash at launch when loading daytime flares from the database that were previously saved before v1.2.1.<br />
*Fix debug logging, of which there is a lot, being posted to logcat with Debug Mode disabled. (BuildConfig.DEBUG not working as expected in v1.2.1)<br />
<br />
==== v1.2.1 [2012-11-05] ====<br />
*Add context menu option for Orbital Height Profile.<br />
*Sort passes by max time rather than start time.<br />
*Disable flare event details due to new limitations with HA URL query.<br />
*Remove flare center magnitude/distance columns since HA no longer provides that data for night flares.<br />
*Remove obsolete Flare Days preference.<br />
*Significant improvements to how event data is handled. This is a prerequisite for better filtering and sorting in later versions.<br />
*Fix flares not parsing due to changes on HA.<br />
*Fix satellite details link for 10-day passes.<br />
*Fix debug mode not creating files if predisat folder doesn't already exist.<br />
<br />
==== v1.2.0.2 [2012-08-07] ====<br />
*Fix timezone/DST not initialized (using GMT+0) when opening Alerts from notification.<br />
*Fix 'Set 10 Days of Passes' context item appearing in Alerts and Sightings, functionless. It is intended to only appear in main Passes list.<br />
*Improve accuracy and efficiency of clock and countdown.<br />
<br />
==== v1.2.0.1 [2012-08-01] ====<br />
*Fix crash after downloading empty passes list. Don't know how I missed it after v1.2.0 fix of a very similar crash.<br />
*Free: Fix crash when opening passes context menu when there is no satellite set on 10 Days of Passes.<br />
<br />
==== v1.2.0 [2012-07-31] ====<br />
*New translations: German and Russian. Huge thanks to the translators, XoXFaby and Himura respectively!<br />
*Pro: Reverse sort order of sightings list, with more recent events towards top.<br />
*Add context option to add/remove selected satellite in 10 Days of Passes. In Free, this replaces existing entry, while Pro adds.<br />
*Add preference to force DST/Summer Time. Try this if time is off by an hour, especially useful for timezones that permanently do or don't observe DST. Note: Forcing DST just because your timezone permanently observes DST may not be what you want, this is because the GMT offset provided by Heavens-Above in the timezone name may already include DST.<br />
*Add Debug Mode preference. Requires WRITE_EXTERNAL_STORAGE permission to save debug.log and timestamped HTML files in [sdcard]/predisat/debug/. It is intended to be emailed to me, manually, if you have problems such as crashing. PRIVACY NOTICE: The configured coordinates are included in the debug files.<br />
*Open timezone list preference if detection fails.<br />
*Add screen title at top of list screens.<br />
*Fix timezone/DST changes not applying immediately.<br />
*Fix crash when fetching passes on some 3G carriers. [Huge thanks to Carol for being first to email me about it, 4 months after the ~80 insufficient crash reports started coming in!]<br />
*Fix crash when getting coordinates on locales that use comma (,) instead of period (.) as a decimal separator.<br />
*Update timezone names.<br />
*Fix crash when parsing empty passes list.<br />
*Pro: Fix crash at alert in Android 1.5 due to TTS not supported (happened regardless of TTS preference).<br />
*Increase night mode backlight brightness. This is because at least one device (Xperia mini) is known to have a higher minimum brightness than G1.<br />
*Remove compatibility upgrade for v1.0.7 data.<br />
*Change "HA Website" button to "Heavens-Above.com".<br />
*Bottom buttons in main screen: Increase to 2 lines height, reduce font size in portrait orientation.<br />
<br />
==== v1.1.2.2 [2012-03-17] ====<br />
*Fix crash on some devices when downloading passes. Caused by using the wrong thread in a fallback when a more efficient method of getting the default user agent failed. The workaround was to open the in-app browser before downloading the list.<br />
*Fix first fetch of evening receiving (and blindly accepting) morning when morning is current, or vice versa if evening is disabled. Now evening will still receive current morning, but will detect it, hold that data for the morning fetch, and try again. This happens because a specific request can't be made until the first page is downloaded to receive a couple random session strings generated by the server which need to be sent back to the server with each request; those strings are kept for the life of the process.<br />
*Fix progress bar not working for morning/evening after initial fetch.<br />
<br />
==== v1.1.2.1 [2012-03-13] ====<br />
*Fix parsing of morning/evening passes lists. Caused by major changes to the all satellites page on Heavens-Above. Sorry again for the delay.<br />
*If the last pass for the current period (AM or PM) has ended, fetch the same period for the next day, or (Pro) an additional day if multiple days.<br />
*Remove requirement for location and GPS features (supports Google TV).<br />
<br />
==== v1.1.2 [2012-02-17] ====<br />
*Fix crash when parsing 10-day list. Caused by minor changes to the 10-day page on Heavens-Above around Feb. 12. Sorry for the delay.<br />
*Show year in Date column.<br />
*Add pass magnitude filters for 0.0-2.5 (0.5 step).<br />
*Remove pass magnitude 5.0 filter (no longer supported by HA).<br />
*Add option to clear cache.<br />
*Changing filter preference while in list now takes effect on next manual refresh without the need to close and reopen the list.<br />
*Minor improvements to layouts making it appear better on large screens.<br />
*Remove touchscreen requirement.<br />
*Free: Update AdWhirl, AdMob, and Greystripe ad SDKs to latest versions.<br />
*Free: Enable full-screen ad option for Android 2.3.x users since updated Greystripe SDK fixes a crash.<br />
<br />
==== v1.1.1.3 [2011-12-10] ====<br />
*Pro: TTS doesn't speak if phone is in silent mode or in a call.<br />
*Fix rash when trying to update coordinates on some devices that don't have GPS (Honeycomb/tablets).<br />
*Fix how process is closed. Bad practice of forcibly killing process because TTS service was badly coded and holding process open.<br />
<br />
==== v1.1.1.2 [2011-08-04] ====<br />
*Fix crash on somewhat rare occasion when opening Alerts, caused by wrong thread exception when automatically selecting initial tab.<br />
<br />
==== v1.1.1.1 [2011-07-29] ====<br />
*Fix crash when trying to sort empty list immediately after parsing. Thanks to a crash report for pointing it out!<br />
<br />
==== v1.1.1 [2011-07-28] ====<br />
*Fix refreshing more than once in a single list instance causing following issues:<br />
**Crash during parsing of morning or evening passes after 10 day was enabled in previous refresh.<br />
**Evening passes fetching morning instead if 10 day was disabled and morning was enabled in previous refresh,<br />
**Night flares fetching daytime instead if daytime was enabled in previous refresh.<br />
*Progress dialog indicates the number of events in list being parsed, instead of always showing 100.<br />
*Fix countdown timer not automatically appearing for next event in Alerts if Remove Old Events is disabled.<br />
*If existing instance of Alerts screen is at top of process when opening notification, it is used instead of starting a second Alerts instance.<br />
*When opening Alerts, the tab with the next event is selected.<br />
*Pro: Allow fetching multiple days of all passes, configurable between 1-10 days. It's a bit on the experimental side, but nonetheless very useful. Disabled by default, using the old and reliable method of fetching up to 24 hours.<br />
*Slight increase in sorting performance and albeit more accurate as well. Sorting now happens as a single action after parsing instead of while parsing each event.<br />
*Broke some night mode styling in Preferences due to style inheritance breaking in current revision of SDK. This change only affects 2.0 - 2.2, all the other SDK's have always had broken inheritance.<br />
<br />
==== v1.1.0.1 [2011-07-13] ====<br />
*Fix [http://tracker.pilot51.com/show_bug.cgi?id=18 bug 18] (hopefully): Crash immediately after downloading lists. Couldn't reproduce based on limited information of crash reports & haven't been contacted directly about this.<br />
*Time difference threshold for existing events from 10 to 40 minutes. Avoids duplicate events showing up in alerts if 10-day list not updated for awhile and prediction changes by more than 10 minutes.<br />
<br />
==== v1.1.0 [2011-06-07] ====<br />
*Tabs are used in Alerts and Sightings to select Passes and Flares lists, instead of splitting both lists on screen. The tabs indicate exactly the list associated with it (Pass/Flare Alerts/Sightings) and the number of events in each.<br />
*Add confirmation dialog when clearing alerts or sightings lists.<br />
*Add customizable notification message for TTS (Pro) and bubbles. Variables: Satellite name, event type, and minutes until event.<br />
*Fix displayed time for stored events not changing when timezone is changed, plus other issues with using a different timezone than the phone.<br />
*Satellite name is above countdown instead of in parentheses after, or in landscape mode the name is aligned to the right.<br />
*Increased font size of countdown and made bold.<br />
*Increased minimum height of list items about 2x to make them easier to touch.<br />
*Event timer is shown for the next event when opening list.<br />
*Add preferences to toggle messages for tips and updated alert times.<br />
*Single-digit days are formatted without "0" prefix.<br />
*Free: Fix space allowed in Alert Time preference, which causes alerts to not work.<br />
*Pro: Timestamp included in filename of exported sightings CSV with pattern of yyyyMMddHHmm, preventing any unwanted overwrites.<br />
*Fix progress not updating while parsing flares.<br />
*Preferences and night mode menu options now accessible from lists.<br />
*Preferences are categorized into different screens.<br />
*10-day passes - ISS replaced with USSC ID entry. Free allows only one entry, Pro is space-separated. ISS is default.<br />
*Fix toast message showing string resource ID instead of "Timezone set to" when detecting timezone in preferences.<br />
*Events are removed from alerts and main lists a custom number of minutes (default: 10) after they have completely passed. Check is only performed when opening or refreshing list.<br />
*Lists are populated in UI (behind progress dialog) as parsing progresses.<br />
*All lists are loaded to memory at launch and remains until app is closed, making it very quick to open lists.<br />
*New list is only downloaded if manually refreshed from menu, cache is empty, or a custom number of hours (default: 6) have passed since last refresh.<br />
*Huge performance boost for parsing, about 15-30x faster! (all 3 pass lists timed on G1 going from 285 to 10 sec. and Droid from 65 to 5 sec., including download time)<br />
*Fix inability to load saved data across different ROMs. Data is now saved in an SQLite database. Data from 1.0.7 is moved at first launch.<br />
*Removed: Backwards compatibility for alerts and sightings saved as cache in v1.0.6 and earlier. If you have not run any of the v1.0.7 releases, data from older versions will be lost.<br />
<br />
==== v1.0.7.8 [2011-05-21] ====<br />
*Fix automatic location starting when night mode is toggled.<br />
*Pro: Fix colon at end of "Move to Sightings" in context menu for Alerts.<br />
*Fix crash when opening context menu in Passes/Flares lists after loading from cache.<br />
<br />
==== v1.0.7.7 [2011-05-19] ====<br />
*Fix automatic location starting when orientation changes.<br />
*Fix crash at start when Automatic Location is enabled. Thanks for crash reports, I didn't think to test it.<br />
<br />
==== v1.0.7.6 [2011-05-19] ====<br />
*Fix crash when opening preferences while using night mode for Android 2.0 and 2.3.1 to 3.1.<br />
*Free: Fix problems (crash?) at launch for Android 2.3.x. Greystripe issue, had to disable option for full-screen ads in 2.3.x.<br />
*Fix coordinates update stopping when orientation changes.<br />
*Fix inability to get altitude coordinates because receiving location from network prevents GPS from providing it. Now continues searching for GPS after network location received if GPS is enabled.<br />
*Fix Get Coordinates button disabled with GPS even if Network Location enabled.<br />
*All interface-visible text moved from code into XML string resources to make ready for translating. Please contact me if you would like to help translate.<br />
<br />
==== v1.0.7.5 [2011-05-10] ====<br />
*Fix crash during parsing with most system languages. English was the only unaffected language in all versions of Android.<br />
*Fix Alerts and Sightings buttons not appearing correctly in Android 1.5.<br />
<br />
==== v1.0.7.4 [2011-03-19] ====<br />
*Fix inability to scroll in About dialog for 1.5 and 1.6.<br />
*Fix inability to cancel download, a problem if there is connectivity but HA isn't responding.<br />
*Fix lists or browser restarting when physical keyboard opened/closed.<br />
*Fix several elements not changing for night mode. There are still some not changing, but it's greatly improved.<br />
*Fix crash when received data is not from Heavens-Above, such as a network login page. [2.2+ crash report]<br />
*Fix button backlight stuck on (mistake in code from previous update).<br />
<br />
==== v1.0.7.3 [2011-02-02] ====<br />
*Fix crash at launch in Android 2.1 caused by uncaught NoSuchFieldError when trying to set button brightness. [reported by 2 users in Market]<br />
<br />
==== v1.0.7.2 [2011-02-01] ====<br />
*Pro: Fix existing alerts not being updated if auto-alerts disabled.<br />
*Fix crash from bad parsing of single-digit day in start date range of 10-day ISS.<br />
<br />
==== v1.0.7.1 [2011-01-29] ====<br />
*Disabled links in About dialog text, tends to be more trouble than it's worth (turned 1.0.7.1 into link).<br />
*Fix crash when opening notification.<br />
<br />
==== v1.0.7 [2011-01-29] ====<br />
*Alerts & sightings data moved from app cache to files, so clearing cache from Android app manager won't delete it.<br />
*Remove preference to delete data. Avoids accidental deletion, menu on Alerts/Sightings screens should be safer.<br />
*Remove preference to clear coordinates. Not necessary since it's just as easy to manually clear coordinates.<br />
*Free: Existing alerts are automatically updated when new data is loaded. (Pro already had this with auto-alerts)<br />
*Pro: Option in preferences to export sightings to sdcard as CSV files, uses WRITE_EXTERNAL_STORAGE permission.<br />
*Messages for updated alerts will only appear if the time has changed and shows the old and new times.<br />
*Threshold for duplicate alert/sighting check increased from 10 seconds to 10 minutes.<br />
*Pro: If event is in alerts, Add Sighting becomes Move to Sightings in context menu.<br />
*Pro: Add Sighting is disabled until 2 minutes before event start.<br />
*Add Alert is disabled for events that have already started, also applies for auto-alerts in Pro.<br />
*Buttons on main screen repositioned.<br />
*Add ACCESS_NETWORK_STATE permission for connectivity detection, also required by Greystripe in Free version.<br />
*Connectivity is now checked before attempting to access.<br />
*Add 10-day ISS list. (optional) [Suggested by Seth]<br />
*Countdown to start, max, and end instead of just start.<br />
*Countdown is initiated by tapping an event instead of from the context menu.<br />
*Include daytime flares in list. (optional)<br />
*Add progress dialog in list showing what is loading and percentage of each process. [Suggested by SuM_WuN]<br />
*Better performance with the use of multiple threads and other optimizations.<br />
*Add quiet time: No alert notifications between certain times of day. [Suggested by Rick]<br />
*Fix location search stopping when invalid coordinates received.<br />
*Add network location (works seamlessly with GPS) and message indicating what provided the coordinates.<br />
*After opening notification, pressing back button from Alerts opens main screen.<br />
*Fix missing indication of disabled GPS on GPS button. [Reported by ka0ticstyle]<br />
*Volume buttons control notification volume, or media volume if TTS is enabled.<br />
*Fix browser closing when orientation changes.<br />
*Add date on satellite passes lists. [Suggested by Rick]<br />
*Button backlight turns off in Night Mode if supported by API and hardware.<br />
*Fix exiting with back button causing home screen folder in background to close.<br />
*Fix empty countdown view and list header color missing when returning to list from web browser.<br />
*Main and preferences screens are not restarted when changing timezone or alert time.<br />
*Free: Option to toggle between banner ads or full screen ad at launch.<br />
*Free: READ_PHONE_STATE permission required by Greystripe.<br />
*Free: Greystripe ads.<br />
*Free: Update SDKs for AdWhirl and AdMob.<br />
*Pro: Remove option for ads.<br />
*Instead of buttons for each list on Heavens-Above site, one button for the homepage.<br />
*Remove changelog.<br />
<br />
==== v1.0.6 [2010-10-14] ====<br />
*Initial release of Pro.<br />
*Fix countdown timer way off after orientation change.<br />
*Pro: Sightings log.<br />
*Pro: Alerts automatically created based on custom magnitude when list is loaded with new data.<br />
*Fix back button not working as expected in web view.<br />
*Night mode uses color filtering instead of replacing graphics with plain colors.<br />
*Ad manager is AdWhirl, which provides much more flexibility with multiple ad networks.<br />
*Pro: Text-To-Speech alerts.<br />
*Pro: Multiple alert times can be set, space separated.<br />
*Pro: Ads are disabled by default and can be toggled.<br />
*Fix detection of existing alerts with certain differences in data, alert is updated when required.<br />
*Fix value shown in title of 'Alert time' preference stacking when changed.<br />
==== v1.0.5 [2010-09-24] ====<br />
*Alert time preference shows the current setting in its title.<br />
*Alert lists are sorted by event time instead of order they were added.<br />
*Add description on Timezone preference clarifying that it is the standard GMT offset.<br />
*Add menu option on main screen to toggle night mode.<br />
*Add menu options in Alerts view to clear either list.<br />
*Detect incompatible alerts at launch and delete along with cache, preventing crash after version upgrade.<br />
*Fix detection of existing alerts created in different list instances.<br />
*Alerts can be removed through event lists.<br />
*Events can be added to alerts even if alerts are currently disabled.<br />
*If invalid GPS coordinates received, show error instead of crashing.<br />
*Toast notification at alert trigger.<br />
*Notification timer is much more efficient, using a native method instead of a very bloated and often buggy countdown.<br />
*Try setting timezone automatically at launch if not set.<br />
*Fix error when parser encounters trimmed/optimized HTML. (Thanks to [http://twitter.com/SkepticBarista SkepticBarista]!)<br />
*Fix expired alerts being triggered on service modification/start if alert time is set to 0.<br />
==== v1.0.4 [2010-09-02] ====<br />
*Fix event timer timezone not being calculated properly for timezones different from phone.<br />
*Significantly reduced possibility of alerts being skipped because of lag.<br />
*If parser runs into problem, show error and try loading cache instead of crashing.<br />
==== v1.0.3 [2010-08-31] ====<br />
*Save coordinates when opening preferences.<br />
*Fix alert time not applying to existing alerts when changed.<br />
*Fix crash when both pass periods are selected and one of them returns no passes.<br />
*Fix crash when alert is triggered and ringtone was not configured.<br />
*Fix DST sometimes being 'forgotten' while running in background as service.<br />
==== v1.0.1 and v1.0.2 [2010-08-28] ====<br />
*Fix two crashes in the web browser.<br />
==== v1.0.0 [2010-08-28] ====<br />
*Initial release to the Android Market!<br />
<br /><br />
'''Started development on 2010-06-29'''<br />
[[Category:Android]]</div>Pilot 51https://pilot51.com/w/index.php?title=Voice_Notify&diff=1317Voice Notify2012-11-26T05:29:04Z<p>Pilot 51: Update links and add open source to description.</p>
<hr />
<div>[[Image:voicenotify_qrcode_l.png|right|210px|Scan this QR Code with an Android device to go to Voice Notify in the Android Market]]<br />
'''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 /><br />
<br /><br />
Price: Free!<br /><br />
Open source license: [http://apache.org/licenses/LICENSE-2.0 Apache License 2.0]<br /><br />
<br /><br />
== Links ==<br />
*<b>[http://play.google.com/store/apps/details?id=com.pilot51.voicenotify Voice Notify on Google Play]</b><br />
*[http://github.com/pilot51/voicenotify Voice Notify on GitHub]<br />
*[http://getlocalization.com/voicenotify Voice Notify on GetLocalization] (crowdsourced translations)<br />
*<b>[http://tracker.pilot51.com/describecomponents.cgi?product=Voice%20Notify Voice Notify issue tracker]</b> (view or submit problems and suggestions)<br />
*[http://pilot51.com/apk/voicenotify Direct download APK] (all versions available; not recommended for most users)<br />
*[http://voicenotify.pilot51.com voicenotify.pilot51.com] (forwards here)<br />
<br /><br />
== Changelog ==<br />
Dates are in GMT.<br />
<br />
==== v1.0.9.1 [2012-11-26] ====<br />
*Fix crash when opening App List and an uninstalled app gets removed from cache.<br />
*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.<br />
*Significant improvement to shake detection, fixing erroneous detections.<br />
*Don't allow installing/moving to SD card since it causes problems.<br />
<br />
==== v1.0.9 [2012-11-15] ====<br />
*Add Russian translation by Max Ponomaryov (ceejay).<br />
*Add Spanish translation by PaoloNB.<br />
*Add Shake-To-Silence preference to configure sensitivity threshold.<br />
*In Notification Log, show reasons in yellow if silenced after speaking started.<br />
*Change keyboard type for number preferences from "phone" to "number".<br />
*Fix [http://tracker.pilot51.com/30 issue 30]: VN not appearing in Android 4.2 Accessibility list.<br />
*Fix some ignore reasons not showing in Notification Log.<br />
*Fix crash when ignoring all/none while App List is loading.<br />
*Fix crash when running Test on Android 4.2 device in vibrate mode (add vibrate permission).<br />
<br />
==== v1.0.8 [2012-08-04] ====<br />
*Add Italian translation by Teorouge.<br />
*Fix [http://tracker.pilot51.com/27 issue 27]: Accessibility broken in Android 4.1 (Jelly Bean).<br />
*Add shake-to-silence.<br />
*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.<br />
*Add option for TTS to repeat notifications at a custom interval in minutes while screen is off.<br />
*Fix Ignored Text not working when containing capital letters.<br />
<br />
==== v1.0.7.2 [2012-03-28] ====<br />
*Fix mislabeled device states (on and off were swapped).<br />
*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.<br />
<br />
==== v1.0.7.1 [2012-03-27] ====<br />
*Fix crash when notification received and Ignore Text is not set/initialized.<br />
<br />
==== v1.0.7 [2012-03-26] ====<br />
*Add Ignore Text preference.<br />
*Add Ignore Repeats preference. Default, which was previously hard-coded, is to ignore identical consecutive notifications within 10 seconds.<br />
*Add Silent/Vibrate to Device States preference. Default, which was previously hard-coded, is disabled (not speak).<br />
*Default ignore for new apps is based on Ignore All/None.<br />
*Change App List progress indicator to indeterminate title bar style since load time is much quicker.<br />
*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).<br />
*App search filtering now includes package names and search containing text instead of words starting with the search term.<br />
*Show toast message when running Test with Voice Notify ignored.<br />
*Check notification-independent ignores after TTS Delay instead of before.<br />
*Stop speaking if headset changes to ignored state.<br />
*Fix crash at service initialization on some (most?) Android 2.0.1 and lower devices.<br />
*Fix/enable TTS Settings for ICS.<br />
*Fix TTS Settings crash in Honeycomb & Android 4.0 (API 11-14).<br />
<br />
==== v1.0.6 [2012-01-10] ====<br />
*Add option for custom TTS Delay. Value in seconds.<br />
*Add headset on/off to device states. Note: Due to API limitations, all Bluetooth devices are detected the same, headset or not.<br />
*Add Bluetooth permission. Required to detect Bluetooth connections.<br />
*Add option to post a test notification. Delayed 5 seconds to allow user to, for example, turn off the screen.<br />
*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.<br />
*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.<br />
<br />
==== v1.0.5 [2011-12-18] ====<br />
*Fix [http://tracker.pilot51.com/10 issue 10]: App List jumps slightly when item toggled.<br />
*Fix crash when opening TTS Settings on Google TV.<br />
*Fix crash when filtering App List.<br />
*Ignore All/None only applies to apps in filter.<br />
<br />
==== v1.0.4 [2011-12-12] ====<br />
*Add option to select whether to speak with screen on or off. ([http://tracker.pilot51.com/25 issue 25])<br />
*Remove touchscreen requirement (makes compatible with Google TV).<br />
<br />
==== v1.0.3 [2011-10-23] ====<br />
*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!]<br />
*Special characters | [ ] { } * < > in notification messages are not spoken (replaced with a space).([http://tracker.pilot51.com/23 issue 23])<br />
*Change default audio stream back to Media.<br />
*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)<br />
*Notifications are ignored while phone is ringing or in a call.<br />
*Add Quiet Time option.<br />
*Add options to rate/comment (Market) or contact developer (email app).<br />
<br />
==== v1.0.2 [2011-04-05] ====<br />
*Fix Ignore All option creating duplicate ignores, sometimes requiring multiple touches to enable an app.<br />
*Add option to donate through Paypal (opens Paypal donate page in external browser).<br />
*Fix speaking of quickly repeated notifications (usually progress bars).<br />
*Add option to change TTS between Notification and Media audio streams. Solution to Bluetooth issue reported by SRadner.<br />
*Fix App List jumping to top when selection changed. (rough/temporary workaround, list still jumps by up to one item)<br />
<br />
==== v1.0.1 [2011-03-28] ====<br />
*Fix crash when custom TTS message contains an unsupported percent variable. [reported by SRadner]<br />
*TTS runs on Notification audio stream instead of Media stream, also removed control of media volume while displayed.<br />
*Add App List menu options to ignore all or none.<br />
<br />
==== v1.0.0 [2011-02-13] ====<br />
*Initial release to the Android Market!<br /><br />
<br /><br />
'''Started development on 2011-02-03'''<br />
[[Category:Android]]</div>Pilot 51https://pilot51.com/w/index.php?title=Voice_Notify&diff=1316Voice Notify2012-11-26T05:05:09Z<p>Pilot 51: /* v1.0.9.1 [2012-11-26] */ Released.</p>
<hr />
<div>[[Image:voicenotify_qrcode_l.png|right|210px|Scan this QR Code with an Android device to go to Voice Notify in the Android Market]]<br />
'''Voice Notify''' is an 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 /><br />
<br /><br />
Price: Free!<br /><br />
<br /><br />
== Links ==<br />
*<b>[http://market.android.com/details?id=com.pilot51.voicenotify Voice Notify on Android Market]</b><br />
*[http://appbrain.com/app/com.pilot51.voicenotify Voice Notify on AppBrain]<br />
*<b>[http://tracker.pilot51.com/describecomponents.cgi?product=Voice%20Notify Voice Notify issue tracker]</b> (view or submit problems and suggestions)<br />
*[http://pilot51.com/apk/voicenotify Direct download APK] (all versions available; not recommended for most users)<br />
*[http://voicenotify.pilot51.com voicenotify.pilot51.com] (forwards here)<br />
<br />
<br /><br />
== Changelog ==<br />
Dates are in GMT.<br />
==== v1.0.9.1 [2012-11-26] ====<br />
*Fix crash when opening App List and an uninstalled app gets removed from cache.<br />
*Fix shake sensor remaining active after TTS stops speaking, fixing shake applying to last notification in Log long since done speaking and possibly resolves the reported excessive battery usage.<br />
*Significant improvement to shake detection, fixing erroneous detections.<br />
*Don't allow installing/moving to SD card since it causes problems.<br />
<br />
==== v1.0.9 [2012-11-15] ====<br />
*Add Russian translation by Max Ponomaryov (ceejay).<br />
*Add Spanish translation by PaoloNB.<br />
*Add Shake-To-Silence preference to configure sensitivity threshold.<br />
*In Notification Log, show reasons in yellow if silenced after speaking started.<br />
*Change keyboard type for number preferences from "phone" to "number".<br />
*Fix [http://tracker.pilot51.com/30 issue 30]: VN not appearing in Android 4.2 Accessibility list.<br />
*Fix some ignore reasons not showing in Notification Log.<br />
*Fix crash when ignoring all/none while App List is loading.<br />
*Fix crash when running Test on Android 4.2 device in vibrate mode (add vibrate permission).<br />
<br />
==== v1.0.8 [2012-08-04] ====<br />
*Add Italian translation by Teorouge.<br />
*Fix [http://tracker.pilot51.com/27 issue 27]: Accessibility broken in Android 4.1 (Jelly Bean).<br />
*Add shake-to-silence.<br />
*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.<br />
*Add option for TTS to repeat notifications at a custom interval in minutes while screen is off.<br />
*Fix Ignored Text not working when containing capital letters.<br />
<br />
==== v1.0.7.2 [2012-03-28] ====<br />
*Fix mislabeled device states (on and off were swapped).<br />
*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.<br />
<br />
==== v1.0.7.1 [2012-03-27] ====<br />
*Fix crash when notification received and Ignore Text is not set/initialized.<br />
<br />
==== v1.0.7 [2012-03-26] ====<br />
*Add Ignore Text preference.<br />
*Add Ignore Repeats preference. Default, which was previously hard-coded, is to ignore identical consecutive notifications within 10 seconds.<br />
*Add Silent/Vibrate to Device States preference. Default, which was previously hard-coded, is disabled (not speak).<br />
*Default ignore for new apps is based on Ignore All/None.<br />
*Change App List progress indicator to indeterminate title bar style since load time is much quicker.<br />
*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).<br />
*App search filtering now includes package names and search containing text instead of words starting with the search term.<br />
*Show toast message when running Test with Voice Notify ignored.<br />
*Check notification-independent ignores after TTS Delay instead of before.<br />
*Stop speaking if headset changes to ignored state.<br />
*Fix crash at service initialization on some (most?) Android 2.0.1 and lower devices.<br />
*Fix/enable TTS Settings for ICS.<br />
*Fix TTS Settings crash in Honeycomb & Android 4.0 (API 11-14).<br />
<br />
==== v1.0.6 [2012-01-10] ====<br />
*Add option for custom TTS Delay. Value in seconds.<br />
*Add headset on/off to device states. Note: Due to API limitations, all Bluetooth devices are detected the same, headset or not.<br />
*Add Bluetooth permission. Required to detect Bluetooth connections.<br />
*Add option to post a test notification. Delayed 5 seconds to allow user to, for example, turn off the screen.<br />
*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.<br />
*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.<br />
<br />
==== v1.0.5 [2011-12-18] ====<br />
*Fix [http://tracker.pilot51.com/10 issue 10]: App List jumps slightly when item toggled.<br />
*Fix crash when opening TTS Settings on Google TV.<br />
*Fix crash when filtering App List.<br />
*Ignore All/None only applies to apps in filter.<br />
<br />
==== v1.0.4 [2011-12-12] ====<br />
*Add option to select whether to speak with screen on or off. ([http://tracker.pilot51.com/25 issue 25])<br />
*Remove touchscreen requirement (makes compatible with Google TV).<br />
<br />
==== v1.0.3 [2011-10-23] ====<br />
*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!]<br />
*Special characters | [ ] { } * < > in notification messages are not spoken (replaced with a space).([http://tracker.pilot51.com/23 issue 23])<br />
*Change default audio stream back to Media.<br />
*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)<br />
*Notifications are ignored while phone is ringing or in a call.<br />
*Add Quiet Time option.<br />
*Add options to rate/comment (Market) or contact developer (email app).<br />
<br />
==== v1.0.2 [2011-04-05] ====<br />
*Fix Ignore All option creating duplicate ignores, sometimes requiring multiple touches to enable an app.<br />
*Add option to donate through Paypal (opens Paypal donate page in external browser).<br />
*Fix speaking of quickly repeated notifications (usually progress bars).<br />
*Add option to change TTS between Notification and Media audio streams. Solution to Bluetooth issue reported by SRadner.<br />
*Fix App List jumping to top when selection changed. (rough/temporary workaround, list still jumps by up to one item)<br />
<br />
==== v1.0.1 [2011-03-28] ====<br />
*Fix crash when custom TTS message contains an unsupported percent variable. [reported by SRadner]<br />
*TTS runs on Notification audio stream instead of Media stream, also removed control of media volume while displayed.<br />
*Add App List menu options to ignore all or none.<br />
<br />
==== v1.0.0 [2011-02-13] ====<br />
*Initial release to the Android Market!<br /><br />
<br /><br />
'''Started development on 2011-02-03'''<br />
[[Category:Android]]</div>Pilot 51https://pilot51.com/w/index.php?title=PrediSat&diff=1315PrediSat2012-11-19T08:56:22Z<p>Pilot 51: /* v1.2.1.2 [2012-11-19] */ Released.</p>
<hr />
<div>'''PrediSat''' is an Android app that grabs Iridium flare and satellite pass data from [http://Heavens-Above.com Heavens-Above.com] and formats it for the small screen of the phone. It also includes a few features to make satellite watching easier, such as alerts, countdowns, and night mode.<br /><br />
[[Image:predisat_qrcode.png|right|250px|Read this QR Code with an Android device to go to PrediSat in the Android Market]]<br />
<br /><br />
== Links ==<br />
*<b>[http://play.google.com/store/apps/details?id=com.pilot51.predisat PrediSat on Android Market]</b><br />
*<b>[http://play.google.com/store/apps/details?id=com.pilot51.predisatpro PrediSat Pro on Android Market]</b><br />
*[http://heavens-above.com Heavens-Above] (the source of satellite data for PrediSat)<br />
*<b>[http://tracker.pilot51.com/describecomponents.cgi?product=PrediSat PrediSat issue tracker]</b> (view or submit problems and suggestions)<br />
*[http://predisat.com PrediSat.com] (forwards here)<br />
<br /><br /><br />
<br />
== Pro version ==<br />
[[Image:predisatpro_qrcode.png|right|220px|Read this QR Code with an Android device to go to PrediSat Pro in the Android Market]]<br />
The Pro version adds some advanced features on top of what is available in the free version. It may also include early features that will later be added to the free version.<br /><br />
Price is $1 (USD).<br /><br />
<br /><br />
Current Pro-only features:<br /><br />
*Multiple satellite USSC ID's can be entered for 10-day pass predictions<br />
*Multiple alerts per event can be set<br /><br />
*Text-To-Speech alerts (optional)<br /><br />
*Alerts automatically created based on custom magnitude when list is loaded with new data (optional)<br /><br />
*Sightings log<br /><br />
*Export sightings to CSV<br /><br />
*No ads<br /><br />
<br /><br />
<br />
== Changelog ==<br />
Dates are based on GMT.<br /><br />
==== v1.2.1.2 [2012-11-19] ====<br />
*Change numeric keyboard type from 'phone' to 'number'.<br />
*Pro: Prevent invalid value being entered in Auto-Alert Mag. settings, leading to a crash.<br />
*Fix performance issue after updating list, mainly event timer not appearing immediately.<br />
*Fix crash when encountering unexpected character(s) in place of degree symbol (°). Happened occasionally either at launch when loading pre-1.2.1 database or when parsing new list.<br />
*Fix parsing of flares again, caused by another change on HA. Daytime flares now use same list as night flares, so only need to download/parse once.<br />
*Restore parsing/saving of flare center info. Not restored in UI for this version, currently only viewable in sightings export.<br />
*Fix magnitude setting no longer working for page request (another HA change). Not really noticeable to the user since events are already removed by magnitude after parsing.<br />
*Update Russian translation for "Orbital Height Profile".<br />
<br />
==== v1.2.1.1 [2012-11-08] ====<br />
*Pro: Fix crash after fetching a list when alert magnitude for the list has never been set.<br />
*Fix crash at launch when loading daytime flares from the database that were previously saved before v1.2.1.<br />
*Fix debug logging, of which there is a lot, being posted to logcat with Debug Mode disabled. (BuildConfig.DEBUG not working as expected in v1.2.1)<br />
<br />
==== v1.2.1 [2012-11-05] ====<br />
*Add context menu option for Orbital Height Profile.<br />
*Sort passes by max time rather than start time.<br />
*Disable flare event details due to new limitations with HA URL query.<br />
*Remove flare center magnitude/distance columns since HA no longer provides that data for night flares.<br />
*Remove obsolete Flare Days preference.<br />
*Significant improvements to how event data is handled. This is a prerequisite for better filtering and sorting in later versions.<br />
*Fix flares not parsing due to changes on HA.<br />
*Fix satellite details link for 10-day passes.<br />
*Fix debug mode not creating files if predisat folder doesn't already exist.<br />
<br />
==== v1.2.0.2 [2012-08-07] ====<br />
*Fix timezone/DST not initialized (using GMT+0) when opening Alerts from notification.<br />
*Fix 'Set 10 Days of Passes' context item appearing in Alerts and Sightings, functionless. It is intended to only appear in main Passes list.<br />
*Improve accuracy and efficiency of clock and countdown.<br />
<br />
==== v1.2.0.1 [2012-08-01] ====<br />
*Fix crash after downloading empty passes list. Don't know how I missed it after v1.2.0 fix of a very similar crash.<br />
*Free: Fix crash when opening passes context menu when there is no satellite set on 10 Days of Passes.<br />
<br />
==== v1.2.0 [2012-07-31] ====<br />
*New translations: German and Russian. Huge thanks to the translators, XoXFaby and Himura respectively!<br />
*Pro: Reverse sort order of sightings list, with more recent events towards top.<br />
*Add context option to add/remove selected satellite in 10 Days of Passes. In Free, this replaces existing entry, while Pro adds.<br />
*Add preference to force DST/Summer Time. Try this if time is off by an hour, especially useful for timezones that permanently do or don't observe DST. Note: Forcing DST just because your timezone permanently observes DST may not be what you want, this is because the GMT offset provided by Heavens-Above in the timezone name may already include DST.<br />
*Add Debug Mode preference. Requires WRITE_EXTERNAL_STORAGE permission to save debug.log and timestamped HTML files in [sdcard]/predisat/debug/. It is intended to be emailed to me, manually, if you have problems such as crashing. PRIVACY NOTICE: The configured coordinates are included in the debug files.<br />
*Open timezone list preference if detection fails.<br />
*Add screen title at top of list screens.<br />
*Fix timezone/DST changes not applying immediately.<br />
*Fix crash when fetching passes on some 3G carriers. [Huge thanks to Carol for being first to email me about it, 4 months after the ~80 insufficient crash reports started coming in!]<br />
*Fix crash when getting coordinates on locales that use comma (,) instead of period (.) as a decimal separator.<br />
*Update timezone names.<br />
*Fix crash when parsing empty passes list.<br />
*Pro: Fix crash at alert in Android 1.5 due to TTS not supported (happened regardless of TTS preference).<br />
*Increase night mode backlight brightness. This is because at least one device (Xperia mini) is known to have a higher minimum brightness than G1.<br />
*Remove compatibility upgrade for v1.0.7 data.<br />
*Change "HA Website" button to "Heavens-Above.com".<br />
*Bottom buttons in main screen: Increase to 2 lines height, reduce font size in portrait orientation.<br />
<br />
==== v1.1.2.2 [2012-03-17] ====<br />
*Fix crash on some devices when downloading passes. Caused by using the wrong thread in a fallback when a more efficient method of getting the default user agent failed. The workaround was to open the in-app browser before downloading the list.<br />
*Fix first fetch of evening receiving (and blindly accepting) morning when morning is current, or vice versa if evening is disabled. Now evening will still receive current morning, but will detect it, hold that data for the morning fetch, and try again. This happens because a specific request can't be made until the first page is downloaded to receive a couple random session strings generated by the server which need to be sent back to the server with each request; those strings are kept for the life of the process.<br />
*Fix progress bar not working for morning/evening after initial fetch.<br />
<br />
==== v1.1.2.1 [2012-03-13] ====<br />
*Fix parsing of morning/evening passes lists. Caused by major changes to the all satellites page on Heavens-Above. Sorry again for the delay.<br />
*If the last pass for the current period (AM or PM) has ended, fetch the same period for the next day, or (Pro) an additional day if multiple days.<br />
*Remove requirement for location and GPS features (supports Google TV).<br />
<br />
==== v1.1.2 [2012-02-17] ====<br />
*Fix crash when parsing 10-day list. Caused by minor changes to the 10-day page on Heavens-Above around Feb. 12. Sorry for the delay.<br />
*Show year in Date column.<br />
*Add pass magnitude filters for 0.0-2.5 (0.5 step).<br />
*Remove pass magnitude 5.0 filter (no longer supported by HA).<br />
*Add option to clear cache.<br />
*Changing filter preference while in list now takes effect on next manual refresh without the need to close and reopen the list.<br />
*Minor improvements to layouts making it appear better on large screens.<br />
*Remove touchscreen requirement.<br />
*Free: Update AdWhirl, AdMob, and Greystripe ad SDKs to latest versions.<br />
*Free: Enable full-screen ad option for Android 2.3.x users since updated Greystripe SDK fixes a crash.<br />
<br />
==== v1.1.1.3 [2011-12-10] ====<br />
*Pro: TTS doesn't speak if phone is in silent mode or in a call.<br />
*Fix rash when trying to update coordinates on some devices that don't have GPS (Honeycomb/tablets).<br />
*Fix how process is closed. Bad practice of forcibly killing process because TTS service was badly coded and holding process open.<br />
<br />
==== v1.1.1.2 [2011-08-04] ====<br />
*Fix crash on somewhat rare occasion when opening Alerts, caused by wrong thread exception when automatically selecting initial tab.<br />
<br />
==== v1.1.1.1 [2011-07-29] ====<br />
*Fix crash when trying to sort empty list immediately after parsing. Thanks to a crash report for pointing it out!<br />
<br />
==== v1.1.1 [2011-07-28] ====<br />
*Fix refreshing more than once in a single list instance causing following issues:<br />
**Crash during parsing of morning or evening passes after 10 day was enabled in previous refresh.<br />
**Evening passes fetching morning instead if 10 day was disabled and morning was enabled in previous refresh,<br />
**Night flares fetching daytime instead if daytime was enabled in previous refresh.<br />
*Progress dialog indicates the number of events in list being parsed, instead of always showing 100.<br />
*Fix countdown timer not automatically appearing for next event in Alerts if Remove Old Events is disabled.<br />
*If existing instance of Alerts screen is at top of process when opening notification, it is used instead of starting a second Alerts instance.<br />
*When opening Alerts, the tab with the next event is selected.<br />
*Pro: Allow fetching multiple days of all passes, configurable between 1-10 days. It's a bit on the experimental side, but nonetheless very useful. Disabled by default, using the old and reliable method of fetching up to 24 hours.<br />
*Slight increase in sorting performance and albeit more accurate as well. Sorting now happens as a single action after parsing instead of while parsing each event.<br />
*Broke some night mode styling in Preferences due to style inheritance breaking in current revision of SDK. This change only affects 2.0 - 2.2, all the other SDK's have always had broken inheritance.<br />
<br />
==== v1.1.0.1 [2011-07-13] ====<br />
*Fix [http://tracker.pilot51.com/show_bug.cgi?id=18 bug 18] (hopefully): Crash immediately after downloading lists. Couldn't reproduce based on limited information of crash reports & haven't been contacted directly about this.<br />
*Time difference threshold for existing events from 10 to 40 minutes. Avoids duplicate events showing up in alerts if 10-day list not updated for awhile and prediction changes by more than 10 minutes.<br />
<br />
==== v1.1.0 [2011-06-07] ====<br />
*Tabs are used in Alerts and Sightings to select Passes and Flares lists, instead of splitting both lists on screen. The tabs indicate exactly the list associated with it (Pass/Flare Alerts/Sightings) and the number of events in each.<br />
*Add confirmation dialog when clearing alerts or sightings lists.<br />
*Add customizable notification message for TTS (Pro) and bubbles. Variables: Satellite name, event type, and minutes until event.<br />
*Fix displayed time for stored events not changing when timezone is changed, plus other issues with using a different timezone than the phone.<br />
*Satellite name is above countdown instead of in parentheses after, or in landscape mode the name is aligned to the right.<br />
*Increased font size of countdown and made bold.<br />
*Increased minimum height of list items about 2x to make them easier to touch.<br />
*Event timer is shown for the next event when opening list.<br />
*Add preferences to toggle messages for tips and updated alert times.<br />
*Single-digit days are formatted without "0" prefix.<br />
*Free: Fix space allowed in Alert Time preference, which causes alerts to not work.<br />
*Pro: Timestamp included in filename of exported sightings CSV with pattern of yyyyMMddHHmm, preventing any unwanted overwrites.<br />
*Fix progress not updating while parsing flares.<br />
*Preferences and night mode menu options now accessible from lists.<br />
*Preferences are categorized into different screens.<br />
*10-day passes - ISS replaced with USSC ID entry. Free allows only one entry, Pro is space-separated. ISS is default.<br />
*Fix toast message showing string resource ID instead of "Timezone set to" when detecting timezone in preferences.<br />
*Events are removed from alerts and main lists a custom number of minutes (default: 10) after they have completely passed. Check is only performed when opening or refreshing list.<br />
*Lists are populated in UI (behind progress dialog) as parsing progresses.<br />
*All lists are loaded to memory at launch and remains until app is closed, making it very quick to open lists.<br />
*New list is only downloaded if manually refreshed from menu, cache is empty, or a custom number of hours (default: 6) have passed since last refresh.<br />
*Huge performance boost for parsing, about 15-30x faster! (all 3 pass lists timed on G1 going from 285 to 10 sec. and Droid from 65 to 5 sec., including download time)<br />
*Fix inability to load saved data across different ROMs. Data is now saved in an SQLite database. Data from 1.0.7 is moved at first launch.<br />
*Removed: Backwards compatibility for alerts and sightings saved as cache in v1.0.6 and earlier. If you have not run any of the v1.0.7 releases, data from older versions will be lost.<br />
<br />
==== v1.0.7.8 [2011-05-21] ====<br />
*Fix automatic location starting when night mode is toggled.<br />
*Pro: Fix colon at end of "Move to Sightings" in context menu for Alerts.<br />
*Fix crash when opening context menu in Passes/Flares lists after loading from cache.<br />
<br />
==== v1.0.7.7 [2011-05-19] ====<br />
*Fix automatic location starting when orientation changes.<br />
*Fix crash at start when Automatic Location is enabled. Thanks for crash reports, I didn't think to test it.<br />
<br />
==== v1.0.7.6 [2011-05-19] ====<br />
*Fix crash when opening preferences while using night mode for Android 2.0 and 2.3.1 to 3.1.<br />
*Free: Fix problems (crash?) at launch for Android 2.3.x. Greystripe issue, had to disable option for full-screen ads in 2.3.x.<br />
*Fix coordinates update stopping when orientation changes.<br />
*Fix inability to get altitude coordinates because receiving location from network prevents GPS from providing it. Now continues searching for GPS after network location received if GPS is enabled.<br />
*Fix Get Coordinates button disabled with GPS even if Network Location enabled.<br />
*All interface-visible text moved from code into XML string resources to make ready for translating. Please contact me if you would like to help translate.<br />
<br />
==== v1.0.7.5 [2011-05-10] ====<br />
*Fix crash during parsing with most system languages. English was the only unaffected language in all versions of Android.<br />
*Fix Alerts and Sightings buttons not appearing correctly in Android 1.5.<br />
<br />
==== v1.0.7.4 [2011-03-19] ====<br />
*Fix inability to scroll in About dialog for 1.5 and 1.6.<br />
*Fix inability to cancel download, a problem if there is connectivity but HA isn't responding.<br />
*Fix lists or browser restarting when physical keyboard opened/closed.<br />
*Fix several elements not changing for night mode. There are still some not changing, but it's greatly improved.<br />
*Fix crash when received data is not from Heavens-Above, such as a network login page. [2.2+ crash report]<br />
*Fix button backlight stuck on (mistake in code from previous update).<br />
<br />
==== v1.0.7.3 [2011-02-02] ====<br />
*Fix crash at launch in Android 2.1 caused by uncaught NoSuchFieldError when trying to set button brightness. [reported by 2 users in Market]<br />
<br />
==== v1.0.7.2 [2011-02-01] ====<br />
*Pro: Fix existing alerts not being updated if auto-alerts disabled.<br />
*Fix crash from bad parsing of single-digit day in start date range of 10-day ISS.<br />
<br />
==== v1.0.7.1 [2011-01-29] ====<br />
*Disabled links in About dialog text, tends to be more trouble than it's worth (turned 1.0.7.1 into link).<br />
*Fix crash when opening notification.<br />
<br />
==== v1.0.7 [2011-01-29] ====<br />
*Alerts & sightings data moved from app cache to files, so clearing cache from Android app manager won't delete it.<br />
*Remove preference to delete data. Avoids accidental deletion, menu on Alerts/Sightings screens should be safer.<br />
*Remove preference to clear coordinates. Not necessary since it's just as easy to manually clear coordinates.<br />
*Free: Existing alerts are automatically updated when new data is loaded. (Pro already had this with auto-alerts)<br />
*Pro: Option in preferences to export sightings to sdcard as CSV files, uses WRITE_EXTERNAL_STORAGE permission.<br />
*Messages for updated alerts will only appear if the time has changed and shows the old and new times.<br />
*Threshold for duplicate alert/sighting check increased from 10 seconds to 10 minutes.<br />
*Pro: If event is in alerts, Add Sighting becomes Move to Sightings in context menu.<br />
*Pro: Add Sighting is disabled until 2 minutes before event start.<br />
*Add Alert is disabled for events that have already started, also applies for auto-alerts in Pro.<br />
*Buttons on main screen repositioned.<br />
*Add ACCESS_NETWORK_STATE permission for connectivity detection, also required by Greystripe in Free version.<br />
*Connectivity is now checked before attempting to access.<br />
*Add 10-day ISS list. (optional) [Suggested by Seth]<br />
*Countdown to start, max, and end instead of just start.<br />
*Countdown is initiated by tapping an event instead of from the context menu.<br />
*Include daytime flares in list. (optional)<br />
*Add progress dialog in list showing what is loading and percentage of each process. [Suggested by SuM_WuN]<br />
*Better performance with the use of multiple threads and other optimizations.<br />
*Add quiet time: No alert notifications between certain times of day. [Suggested by Rick]<br />
*Fix location search stopping when invalid coordinates received.<br />
*Add network location (works seamlessly with GPS) and message indicating what provided the coordinates.<br />
*After opening notification, pressing back button from Alerts opens main screen.<br />
*Fix missing indication of disabled GPS on GPS button. [Reported by ka0ticstyle]<br />
*Volume buttons control notification volume, or media volume if TTS is enabled.<br />
*Fix browser closing when orientation changes.<br />
*Add date on satellite passes lists. [Suggested by Rick]<br />
*Button backlight turns off in Night Mode if supported by API and hardware.<br />
*Fix exiting with back button causing home screen folder in background to close.<br />
*Fix empty countdown view and list header color missing when returning to list from web browser.<br />
*Main and preferences screens are not restarted when changing timezone or alert time.<br />
*Free: Option to toggle between banner ads or full screen ad at launch.<br />
*Free: READ_PHONE_STATE permission required by Greystripe.<br />
*Free: Greystripe ads.<br />
*Free: Update SDKs for AdWhirl and AdMob.<br />
*Pro: Remove option for ads.<br />
*Instead of buttons for each list on Heavens-Above site, one button for the homepage.<br />
*Remove changelog.<br />
<br />
==== v1.0.6 [2010-10-14] ====<br />
*Initial release of Pro.<br />
*Fix countdown timer way off after orientation change.<br />
*Pro: Sightings log.<br />
*Pro: Alerts automatically created based on custom magnitude when list is loaded with new data.<br />
*Fix back button not working as expected in web view.<br />
*Night mode uses color filtering instead of replacing graphics with plain colors.<br />
*Ad manager is AdWhirl, which provides much more flexibility with multiple ad networks.<br />
*Pro: Text-To-Speech alerts.<br />
*Pro: Multiple alert times can be set, space separated.<br />
*Pro: Ads are disabled by default and can be toggled.<br />
*Fix detection of existing alerts with certain differences in data, alert is updated when required.<br />
*Fix value shown in title of 'Alert time' preference stacking when changed.<br />
==== v1.0.5 [2010-09-24] ====<br />
*Alert time preference shows the current setting in its title.<br />
*Alert lists are sorted by event time instead of order they were added.<br />
*Add description on Timezone preference clarifying that it is the standard GMT offset.<br />
*Add menu option on main screen to toggle night mode.<br />
*Add menu options in Alerts view to clear either list.<br />
*Detect incompatible alerts at launch and delete along with cache, preventing crash after version upgrade.<br />
*Fix detection of existing alerts created in different list instances.<br />
*Alerts can be removed through event lists.<br />
*Events can be added to alerts even if alerts are currently disabled.<br />
*If invalid GPS coordinates received, show error instead of crashing.<br />
*Toast notification at alert trigger.<br />
*Notification timer is much more efficient, using a native method instead of a very bloated and often buggy countdown.<br />
*Try setting timezone automatically at launch if not set.<br />
*Fix error when parser encounters trimmed/optimized HTML. (Thanks to [http://twitter.com/SkepticBarista SkepticBarista]!)<br />
*Fix expired alerts being triggered on service modification/start if alert time is set to 0.<br />
==== v1.0.4 [2010-09-02] ====<br />
*Fix event timer timezone not being calculated properly for timezones different from phone.<br />
*Significantly reduced possibility of alerts being skipped because of lag.<br />
*If parser runs into problem, show error and try loading cache instead of crashing.<br />
==== v1.0.3 [2010-08-31] ====<br />
*Save coordinates when opening preferences.<br />
*Fix alert time not applying to existing alerts when changed.<br />
*Fix crash when both pass periods are selected and one of them returns no passes.<br />
*Fix crash when alert is triggered and ringtone was not configured.<br />
*Fix DST sometimes being 'forgotten' while running in background as service.<br />
==== v1.0.1 and v1.0.2 [2010-08-28] ====<br />
*Fix two crashes in the web browser.<br />
==== v1.0.0 [2010-08-28] ====<br />
*Initial release to the Android Market!<br />
<br /><br />
'''Started development on 2010-06-29'''<br />
[[Category:Android]]</div>Pilot 51https://pilot51.com/w/index.php?title=Voice_Notify&diff=1314Voice Notify2012-11-15T05:44:42Z<p>Pilot 51: /* v1.0.9 [2012-11-15] */ Released.</p>
<hr />
<div>[[Image:voicenotify_qrcode_l.png|right|210px|Scan this QR Code with an Android device to go to Voice Notify in the Android Market]]<br />
'''Voice Notify''' is an 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 /><br />
<br /><br />
Price: Free!<br /><br />
<br /><br />
== Links ==<br />
*<b>[http://market.android.com/details?id=com.pilot51.voicenotify Voice Notify on Android Market]</b><br />
*[http://appbrain.com/app/com.pilot51.voicenotify Voice Notify on AppBrain]<br />
*<b>[http://tracker.pilot51.com/describecomponents.cgi?product=Voice%20Notify Voice Notify issue tracker]</b> (view or submit problems and suggestions)<br />
*[http://pilot51.com/apk/voicenotify Direct download APK] (all versions available; not recommended for most users)<br />
*[http://voicenotify.pilot51.com voicenotify.pilot51.com] (forwards here)<br />
<br />
<br /><br />
== Changelog ==<br />
Dates are in GMT.<br />
==== v1.0.9 [2012-11-15] ====<br />
*Add Russian translation by Max Ponomaryov (ceejay).<br />
*Add Spanish translation by PaoloNB.<br />
*Add Shake-To-Silence preference to configure sensitivity threshold.<br />
*In Notification Log, show reasons in yellow if silenced after speaking started.<br />
*Change keyboard type for number preferences from "phone" to "number".<br />
*Fix [http://tracker.pilot51.com/30 issue 30]: VN not appearing in Android 4.2 Accessibility list.<br />
*Fix some ignore reasons not showing in Notification Log.<br />
*Fix crash when ignoring all/none while App List is loading.<br />
*Fix crash when running Test on Android 4.2 device in vibrate mode (add vibrate permission).<br />
<br />
==== v1.0.8 [2012-08-04] ====<br />
*Add Italian translation by Teorouge.<br />
*Fix [http://tracker.pilot51.com/27 issue 27]: Accessibility broken in Android 4.1 (Jelly Bean).<br />
*Add shake-to-silence.<br />
*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.<br />
*Add option for TTS to repeat notifications at a custom interval in minutes while screen is off.<br />
*Fix Ignored Text not working when containing capital letters.<br />
<br />
==== v1.0.7.2 [2012-03-28] ====<br />
*Fix mislabeled device states (on and off were swapped).<br />
*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.<br />
<br />
==== v1.0.7.1 [2012-03-27] ====<br />
*Fix crash when notification received and Ignore Text is not set/initialized.<br />
<br />
==== v1.0.7 [2012-03-26] ====<br />
*Add Ignore Text preference.<br />
*Add Ignore Repeats preference. Default, which was previously hard-coded, is to ignore identical consecutive notifications within 10 seconds.<br />
*Add Silent/Vibrate to Device States preference. Default, which was previously hard-coded, is disabled (not speak).<br />
*Default ignore for new apps is based on Ignore All/None.<br />
*Change App List progress indicator to indeterminate title bar style since load time is much quicker.<br />
*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).<br />
*App search filtering now includes package names and search containing text instead of words starting with the search term.<br />
*Show toast message when running Test with Voice Notify ignored.<br />
*Check notification-independent ignores after TTS Delay instead of before.<br />
*Stop speaking if headset changes to ignored state.<br />
*Fix crash at service initialization on some (most?) Android 2.0.1 and lower devices.<br />
*Fix/enable TTS Settings for ICS.<br />
*Fix TTS Settings crash in Honeycomb & Android 4.0 (API 11-14).<br />
<br />
==== v1.0.6 [2012-01-10] ====<br />
*Add option for custom TTS Delay. Value in seconds.<br />
*Add headset on/off to device states. Note: Due to API limitations, all Bluetooth devices are detected the same, headset or not.<br />
*Add Bluetooth permission. Required to detect Bluetooth connections.<br />
*Add option to post a test notification. Delayed 5 seconds to allow user to, for example, turn off the screen.<br />
*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.<br />
*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.<br />
<br />
==== v1.0.5 [2011-12-18] ====<br />
*Fix [http://tracker.pilot51.com/10 issue 10]: App List jumps slightly when item toggled.<br />
*Fix crash when opening TTS Settings on Google TV.<br />
*Fix crash when filtering App List.<br />
*Ignore All/None only applies to apps in filter.<br />
<br />
==== v1.0.4 [2011-12-12] ====<br />
*Add option to select whether to speak with screen on or off. ([http://tracker.pilot51.com/25 issue 25])<br />
*Remove touchscreen requirement (makes compatible with Google TV).<br />
<br />
==== v1.0.3 [2011-10-23] ====<br />
*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!]<br />
*Special characters | [ ] { } * < > in notification messages are not spoken (replaced with a space).([http://tracker.pilot51.com/23 issue 23])<br />
*Change default audio stream back to Media.<br />
*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)<br />
*Notifications are ignored while phone is ringing or in a call.<br />
*Add Quiet Time option.<br />
*Add options to rate/comment (Market) or contact developer (email app).<br />
<br />
==== v1.0.2 [2011-04-05] ====<br />
*Fix Ignore All option creating duplicate ignores, sometimes requiring multiple touches to enable an app.<br />
*Add option to donate through Paypal (opens Paypal donate page in external browser).<br />
*Fix speaking of quickly repeated notifications (usually progress bars).<br />
*Add option to change TTS between Notification and Media audio streams. Solution to Bluetooth issue reported by SRadner.<br />
*Fix App List jumping to top when selection changed. (rough/temporary workaround, list still jumps by up to one item)<br />
<br />
==== v1.0.1 [2011-03-28] ====<br />
*Fix crash when custom TTS message contains an unsupported percent variable. [reported by SRadner]<br />
*TTS runs on Notification audio stream instead of Media stream, also removed control of media volume while displayed.<br />
*Add App List menu options to ignore all or none.<br />
<br />
==== v1.0.0 [2011-02-13] ====<br />
*Initial release to the Android Market!<br /><br />
<br /><br />
'''Started development on 2011-02-03'''<br />
[[Category:Android]]</div>Pilot 51https://pilot51.com/w/index.php?title=PrediSat&diff=1313PrediSat2012-11-08T05:35:31Z<p>Pilot 51: /* v1.2.1.1 [2012-11-08] */ Released.</p>
<hr />
<div>'''PrediSat''' is an Android app that grabs Iridium flare and satellite pass data from [http://Heavens-Above.com Heavens-Above.com] and formats it for the small screen of the phone. It also includes a few features to make satellite watching easier, such as alerts, countdowns, and night mode.<br /><br />
[[Image:predisat_qrcode.png|right|250px|Read this QR Code with an Android device to go to PrediSat in the Android Market]]<br />
<br /><br />
== Links ==<br />
*<b>[http://play.google.com/store/apps/details?id=com.pilot51.predisat PrediSat on Android Market]</b><br />
*<b>[http://play.google.com/store/apps/details?id=com.pilot51.predisatpro PrediSat Pro on Android Market]</b><br />
*[http://heavens-above.com Heavens-Above] (the source of satellite data for PrediSat)<br />
*<b>[http://tracker.pilot51.com/describecomponents.cgi?product=PrediSat PrediSat issue tracker]</b> (view or submit problems and suggestions)<br />
*[http://predisat.com PrediSat.com] (forwards here)<br />
<br /><br /><br />
<br />
== Pro version ==<br />
[[Image:predisatpro_qrcode.png|right|220px|Read this QR Code with an Android device to go to PrediSat Pro in the Android Market]]<br />
The Pro version adds some advanced features on top of what is available in the free version. It may also include early features that will later be added to the free version.<br /><br />
Price is $1 (USD).<br /><br />
<br /><br />
Current Pro-only features:<br /><br />
*Multiple satellite USSC ID's can be entered for 10-day pass predictions<br />
*Multiple alerts per event can be set<br /><br />
*Text-To-Speech alerts (optional)<br /><br />
*Alerts automatically created based on custom magnitude when list is loaded with new data (optional)<br /><br />
*Sightings log<br /><br />
*Export sightings to CSV<br /><br />
*No ads<br /><br />
<br /><br />
<br />
== Changelog ==<br />
Dates are based on GMT.<br /><br />
==== v1.2.1.1 [2012-11-08] ====<br />
*Pro: Fix crash after fetching a list when alert magnitude for the list has never been set.<br />
*Fix crash at launch when loading daytime flares from the database that were previously saved before v1.2.1.<br />
*Fix debug logging, of which there is a lot, being posted to logcat with Debug Mode disabled. (BuildConfig.DEBUG not working as expected in v1.2.1)<br />
<br />
==== v1.2.1 [2012-11-05] ====<br />
*Add context menu option for Orbital Height Profile.<br />
*Sort passes by max time rather than start time.<br />
*Disable flare event details due to new limitations with HA URL query.<br />
*Remove flare center magnitude/distance columns since HA no longer provides that data for night flares.<br />
*Remove obsolete Flare Days preference.<br />
*Significant improvements to how event data is handled. This is a prerequisite for better filtering and sorting in later versions.<br />
*Fix flares not parsing due to changes on HA.<br />
*Fix satellite details link for 10-day passes.<br />
*Fix debug mode not creating files if predisat folder doesn't already exist.<br />
<br />
==== v1.2.0.2 [2012-08-07] ====<br />
*Fix timezone/DST not initialized (using GMT+0) when opening Alerts from notification.<br />
*Fix 'Set 10 Days of Passes' context item appearing in Alerts and Sightings, functionless. It is intended to only appear in main Passes list.<br />
*Improve accuracy and efficiency of clock and countdown.<br />
<br />
==== v1.2.0.1 [2012-08-01] ====<br />
*Fix crash after downloading empty passes list. Don't know how I missed it after v1.2.0 fix of a very similar crash.<br />
*Free: Fix crash when opening passes context menu when there is no satellite set on 10 Days of Passes.<br />
<br />
==== v1.2.0 [2012-07-31] ====<br />
*New translations: German and Russian. Huge thanks to the translators, XoXFaby and Himura respectively!<br />
*Pro: Reverse sort order of sightings list, with more recent events towards top.<br />
*Add context option to add/remove selected satellite in 10 Days of Passes. In Free, this replaces existing entry, while Pro adds.<br />
*Add preference to force DST/Summer Time. Try this if time is off by an hour, especially useful for timezones that permanently do or don't observe DST. Note: Forcing DST just because your timezone permanently observes DST may not be what you want, this is because the GMT offset provided by Heavens-Above in the timezone name may already include DST.<br />
*Add Debug Mode preference. Requires WRITE_EXTERNAL_STORAGE permission to save debug.log and timestamped HTML files in [sdcard]/predisat/debug/. It is intended to be emailed to me, manually, if you have problems such as crashing. PRIVACY NOTICE: The configured coordinates are included in the debug files.<br />
*Open timezone list preference if detection fails.<br />
*Add screen title at top of list screens.<br />
*Fix timezone/DST changes not applying immediately.<br />
*Fix crash when fetching passes on some 3G carriers. [Huge thanks to Carol for being first to email me about it, 4 months after the ~80 insufficient crash reports started coming in!]<br />
*Fix crash when getting coordinates on locales that use comma (,) instead of period (.) as a decimal separator.<br />
*Update timezone names.<br />
*Fix crash when parsing empty passes list.<br />
*Pro: Fix crash at alert in Android 1.5 due to TTS not supported (happened regardless of TTS preference).<br />
*Increase night mode backlight brightness. This is because at least one device (Xperia mini) is known to have a higher minimum brightness than G1.<br />
*Remove compatibility upgrade for v1.0.7 data.<br />
*Change "HA Website" button to "Heavens-Above.com".<br />
*Bottom buttons in main screen: Increase to 2 lines height, reduce font size in portrait orientation.<br />
<br />
==== v1.1.2.2 [2012-03-17] ====<br />
*Fix crash on some devices when downloading passes. Caused by using the wrong thread in a fallback when a more efficient method of getting the default user agent failed. The workaround was to open the in-app browser before downloading the list.<br />
*Fix first fetch of evening receiving (and blindly accepting) morning when morning is current, or vice versa if evening is disabled. Now evening will still receive current morning, but will detect it, hold that data for the morning fetch, and try again. This happens because a specific request can't be made until the first page is downloaded to receive a couple random session strings generated by the server which need to be sent back to the server with each request; those strings are kept for the life of the process.<br />
*Fix progress bar not working for morning/evening after initial fetch.<br />
<br />
==== v1.1.2.1 [2012-03-13] ====<br />
*Fix parsing of morning/evening passes lists. Caused by major changes to the all satellites page on Heavens-Above. Sorry again for the delay.<br />
*If the last pass for the current period (AM or PM) has ended, fetch the same period for the next day, or (Pro) an additional day if multiple days.<br />
*Remove requirement for location and GPS features (supports Google TV).<br />
<br />
==== v1.1.2 [2012-02-17] ====<br />
*Fix crash when parsing 10-day list. Caused by minor changes to the 10-day page on Heavens-Above around Feb. 12. Sorry for the delay.<br />
*Show year in Date column.<br />
*Add pass magnitude filters for 0.0-2.5 (0.5 step).<br />
*Remove pass magnitude 5.0 filter (no longer supported by HA).<br />
*Add option to clear cache.<br />
*Changing filter preference while in list now takes effect on next manual refresh without the need to close and reopen the list.<br />
*Minor improvements to layouts making it appear better on large screens.<br />
*Remove touchscreen requirement.<br />
*Free: Update AdWhirl, AdMob, and Greystripe ad SDKs to latest versions.<br />
*Free: Enable full-screen ad option for Android 2.3.x users since updated Greystripe SDK fixes a crash.<br />
<br />
==== v1.1.1.3 [2011-12-10] ====<br />
*Pro: TTS doesn't speak if phone is in silent mode or in a call.<br />
*Fix rash when trying to update coordinates on some devices that don't have GPS (Honeycomb/tablets).<br />
*Fix how process is closed. Bad practice of forcibly killing process because TTS service was badly coded and holding process open.<br />
<br />
==== v1.1.1.2 [2011-08-04] ====<br />
*Fix crash on somewhat rare occasion when opening Alerts, caused by wrong thread exception when automatically selecting initial tab.<br />
<br />
==== v1.1.1.1 [2011-07-29] ====<br />
*Fix crash when trying to sort empty list immediately after parsing. Thanks to a crash report for pointing it out!<br />
<br />
==== v1.1.1 [2011-07-28] ====<br />
*Fix refreshing more than once in a single list instance causing following issues:<br />
**Crash during parsing of morning or evening passes after 10 day was enabled in previous refresh.<br />
**Evening passes fetching morning instead if 10 day was disabled and morning was enabled in previous refresh,<br />
**Night flares fetching daytime instead if daytime was enabled in previous refresh.<br />
*Progress dialog indicates the number of events in list being parsed, instead of always showing 100.<br />
*Fix countdown timer not automatically appearing for next event in Alerts if Remove Old Events is disabled.<br />
*If existing instance of Alerts screen is at top of process when opening notification, it is used instead of starting a second Alerts instance.<br />
*When opening Alerts, the tab with the next event is selected.<br />
*Pro: Allow fetching multiple days of all passes, configurable between 1-10 days. It's a bit on the experimental side, but nonetheless very useful. Disabled by default, using the old and reliable method of fetching up to 24 hours.<br />
*Slight increase in sorting performance and albeit more accurate as well. Sorting now happens as a single action after parsing instead of while parsing each event.<br />
*Broke some night mode styling in Preferences due to style inheritance breaking in current revision of SDK. This change only affects 2.0 - 2.2, all the other SDK's have always had broken inheritance.<br />
<br />
==== v1.1.0.1 [2011-07-13] ====<br />
*Fix [http://tracker.pilot51.com/show_bug.cgi?id=18 bug 18] (hopefully): Crash immediately after downloading lists. Couldn't reproduce based on limited information of crash reports & haven't been contacted directly about this.<br />
*Time difference threshold for existing events from 10 to 40 minutes. Avoids duplicate events showing up in alerts if 10-day list not updated for awhile and prediction changes by more than 10 minutes.<br />
<br />
==== v1.1.0 [2011-06-07] ====<br />
*Tabs are used in Alerts and Sightings to select Passes and Flares lists, instead of splitting both lists on screen. The tabs indicate exactly the list associated with it (Pass/Flare Alerts/Sightings) and the number of events in each.<br />
*Add confirmation dialog when clearing alerts or sightings lists.<br />
*Add customizable notification message for TTS (Pro) and bubbles. Variables: Satellite name, event type, and minutes until event.<br />
*Fix displayed time for stored events not changing when timezone is changed, plus other issues with using a different timezone than the phone.<br />
*Satellite name is above countdown instead of in parentheses after, or in landscape mode the name is aligned to the right.<br />
*Increased font size of countdown and made bold.<br />
*Increased minimum height of list items about 2x to make them easier to touch.<br />
*Event timer is shown for the next event when opening list.<br />
*Add preferences to toggle messages for tips and updated alert times.<br />
*Single-digit days are formatted without "0" prefix.<br />
*Free: Fix space allowed in Alert Time preference, which causes alerts to not work.<br />
*Pro: Timestamp included in filename of exported sightings CSV with pattern of yyyyMMddHHmm, preventing any unwanted overwrites.<br />
*Fix progress not updating while parsing flares.<br />
*Preferences and night mode menu options now accessible from lists.<br />
*Preferences are categorized into different screens.<br />
*10-day passes - ISS replaced with USSC ID entry. Free allows only one entry, Pro is space-separated. ISS is default.<br />
*Fix toast message showing string resource ID instead of "Timezone set to" when detecting timezone in preferences.<br />
*Events are removed from alerts and main lists a custom number of minutes (default: 10) after they have completely passed. Check is only performed when opening or refreshing list.<br />
*Lists are populated in UI (behind progress dialog) as parsing progresses.<br />
*All lists are loaded to memory at launch and remains until app is closed, making it very quick to open lists.<br />
*New list is only downloaded if manually refreshed from menu, cache is empty, or a custom number of hours (default: 6) have passed since last refresh.<br />
*Huge performance boost for parsing, about 15-30x faster! (all 3 pass lists timed on G1 going from 285 to 10 sec. and Droid from 65 to 5 sec., including download time)<br />
*Fix inability to load saved data across different ROMs. Data is now saved in an SQLite database. Data from 1.0.7 is moved at first launch.<br />
*Removed: Backwards compatibility for alerts and sightings saved as cache in v1.0.6 and earlier. If you have not run any of the v1.0.7 releases, data from older versions will be lost.<br />
<br />
==== v1.0.7.8 [2011-05-21] ====<br />
*Fix automatic location starting when night mode is toggled.<br />
*Pro: Fix colon at end of "Move to Sightings" in context menu for Alerts.<br />
*Fix crash when opening context menu in Passes/Flares lists after loading from cache.<br />
<br />
==== v1.0.7.7 [2011-05-19] ====<br />
*Fix automatic location starting when orientation changes.<br />
*Fix crash at start when Automatic Location is enabled. Thanks for crash reports, I didn't think to test it.<br />
<br />
==== v1.0.7.6 [2011-05-19] ====<br />
*Fix crash when opening preferences while using night mode for Android 2.0 and 2.3.1 to 3.1.<br />
*Free: Fix problems (crash?) at launch for Android 2.3.x. Greystripe issue, had to disable option for full-screen ads in 2.3.x.<br />
*Fix coordinates update stopping when orientation changes.<br />
*Fix inability to get altitude coordinates because receiving location from network prevents GPS from providing it. Now continues searching for GPS after network location received if GPS is enabled.<br />
*Fix Get Coordinates button disabled with GPS even if Network Location enabled.<br />
*All interface-visible text moved from code into XML string resources to make ready for translating. Please contact me if you would like to help translate.<br />
<br />
==== v1.0.7.5 [2011-05-10] ====<br />
*Fix crash during parsing with most system languages. English was the only unaffected language in all versions of Android.<br />
*Fix Alerts and Sightings buttons not appearing correctly in Android 1.5.<br />
<br />
==== v1.0.7.4 [2011-03-19] ====<br />
*Fix inability to scroll in About dialog for 1.5 and 1.6.<br />
*Fix inability to cancel download, a problem if there is connectivity but HA isn't responding.<br />
*Fix lists or browser restarting when physical keyboard opened/closed.<br />
*Fix several elements not changing for night mode. There are still some not changing, but it's greatly improved.<br />
*Fix crash when received data is not from Heavens-Above, such as a network login page. [2.2+ crash report]<br />
*Fix button backlight stuck on (mistake in code from previous update).<br />
<br />
==== v1.0.7.3 [2011-02-02] ====<br />
*Fix crash at launch in Android 2.1 caused by uncaught NoSuchFieldError when trying to set button brightness. [reported by 2 users in Market]<br />
<br />
==== v1.0.7.2 [2011-02-01] ====<br />
*Pro: Fix existing alerts not being updated if auto-alerts disabled.<br />
*Fix crash from bad parsing of single-digit day in start date range of 10-day ISS.<br />
<br />
==== v1.0.7.1 [2011-01-29] ====<br />
*Disabled links in About dialog text, tends to be more trouble than it's worth (turned 1.0.7.1 into link).<br />
*Fix crash when opening notification.<br />
<br />
==== v1.0.7 [2011-01-29] ====<br />
*Alerts & sightings data moved from app cache to files, so clearing cache from Android app manager won't delete it.<br />
*Remove preference to delete data. Avoids accidental deletion, menu on Alerts/Sightings screens should be safer.<br />
*Remove preference to clear coordinates. Not necessary since it's just as easy to manually clear coordinates.<br />
*Free: Existing alerts are automatically updated when new data is loaded. (Pro already had this with auto-alerts)<br />
*Pro: Option in preferences to export sightings to sdcard as CSV files, uses WRITE_EXTERNAL_STORAGE permission.<br />
*Messages for updated alerts will only appear if the time has changed and shows the old and new times.<br />
*Threshold for duplicate alert/sighting check increased from 10 seconds to 10 minutes.<br />
*Pro: If event is in alerts, Add Sighting becomes Move to Sightings in context menu.<br />
*Pro: Add Sighting is disabled until 2 minutes before event start.<br />
*Add Alert is disabled for events that have already started, also applies for auto-alerts in Pro.<br />
*Buttons on main screen repositioned.<br />
*Add ACCESS_NETWORK_STATE permission for connectivity detection, also required by Greystripe in Free version.<br />
*Connectivity is now checked before attempting to access.<br />
*Add 10-day ISS list. (optional) [Suggested by Seth]<br />
*Countdown to start, max, and end instead of just start.<br />
*Countdown is initiated by tapping an event instead of from the context menu.<br />
*Include daytime flares in list. (optional)<br />
*Add progress dialog in list showing what is loading and percentage of each process. [Suggested by SuM_WuN]<br />
*Better performance with the use of multiple threads and other optimizations.<br />
*Add quiet time: No alert notifications between certain times of day. [Suggested by Rick]<br />
*Fix location search stopping when invalid coordinates received.<br />
*Add network location (works seamlessly with GPS) and message indicating what provided the coordinates.<br />
*After opening notification, pressing back button from Alerts opens main screen.<br />
*Fix missing indication of disabled GPS on GPS button. [Reported by ka0ticstyle]<br />
*Volume buttons control notification volume, or media volume if TTS is enabled.<br />
*Fix browser closing when orientation changes.<br />
*Add date on satellite passes lists. [Suggested by Rick]<br />
*Button backlight turns off in Night Mode if supported by API and hardware.<br />
*Fix exiting with back button causing home screen folder in background to close.<br />
*Fix empty countdown view and list header color missing when returning to list from web browser.<br />
*Main and preferences screens are not restarted when changing timezone or alert time.<br />
*Free: Option to toggle between banner ads or full screen ad at launch.<br />
*Free: READ_PHONE_STATE permission required by Greystripe.<br />
*Free: Greystripe ads.<br />
*Free: Update SDKs for AdWhirl and AdMob.<br />
*Pro: Remove option for ads.<br />
*Instead of buttons for each list on Heavens-Above site, one button for the homepage.<br />
*Remove changelog.<br />
<br />
==== v1.0.6 [2010-10-14] ====<br />
*Initial release of Pro.<br />
*Fix countdown timer way off after orientation change.<br />
*Pro: Sightings log.<br />
*Pro: Alerts automatically created based on custom magnitude when list is loaded with new data.<br />
*Fix back button not working as expected in web view.<br />
*Night mode uses color filtering instead of replacing graphics with plain colors.<br />
*Ad manager is AdWhirl, which provides much more flexibility with multiple ad networks.<br />
*Pro: Text-To-Speech alerts.<br />
*Pro: Multiple alert times can be set, space separated.<br />
*Pro: Ads are disabled by default and can be toggled.<br />
*Fix detection of existing alerts with certain differences in data, alert is updated when required.<br />
*Fix value shown in title of 'Alert time' preference stacking when changed.<br />
==== v1.0.5 [2010-09-24] ====<br />
*Alert time preference shows the current setting in its title.<br />
*Alert lists are sorted by event time instead of order they were added.<br />
*Add description on Timezone preference clarifying that it is the standard GMT offset.<br />
*Add menu option on main screen to toggle night mode.<br />
*Add menu options in Alerts view to clear either list.<br />
*Detect incompatible alerts at launch and delete along with cache, preventing crash after version upgrade.<br />
*Fix detection of existing alerts created in different list instances.<br />
*Alerts can be removed through event lists.<br />
*Events can be added to alerts even if alerts are currently disabled.<br />
*If invalid GPS coordinates received, show error instead of crashing.<br />
*Toast notification at alert trigger.<br />
*Notification timer is much more efficient, using a native method instead of a very bloated and often buggy countdown.<br />
*Try setting timezone automatically at launch if not set.<br />
*Fix error when parser encounters trimmed/optimized HTML. (Thanks to [http://twitter.com/SkepticBarista SkepticBarista]!)<br />
*Fix expired alerts being triggered on service modification/start if alert time is set to 0.<br />
==== v1.0.4 [2010-09-02] ====<br />
*Fix event timer timezone not being calculated properly for timezones different from phone.<br />
*Significantly reduced possibility of alerts being skipped because of lag.<br />
*If parser runs into problem, show error and try loading cache instead of crashing.<br />
==== v1.0.3 [2010-08-31] ====<br />
*Save coordinates when opening preferences.<br />
*Fix alert time not applying to existing alerts when changed.<br />
*Fix crash when both pass periods are selected and one of them returns no passes.<br />
*Fix crash when alert is triggered and ringtone was not configured.<br />
*Fix DST sometimes being 'forgotten' while running in background as service.<br />
==== v1.0.1 and v1.0.2 [2010-08-28] ====<br />
*Fix two crashes in the web browser.<br />
==== v1.0.0 [2010-08-28] ====<br />
*Initial release to the Android Market!<br />
<br /><br />
'''Started development on 2010-06-29'''<br />
[[Category:Android]]</div>Pilot 51https://pilot51.com/w/index.php?title=PrediSat&diff=1312PrediSat2012-11-05T05:33:28Z<p>Pilot 51: /* v1.2.1 [2012-11-05] */ Released.</p>
<hr />
<div>'''PrediSat''' is an Android app that grabs Iridium flare and satellite pass data from [http://Heavens-Above.com Heavens-Above.com] and formats it for the small screen of the phone. It also includes a few features to make satellite watching easier, such as alerts, countdowns, and night mode.<br /><br />
[[Image:predisat_qrcode.png|right|250px|Read this QR Code with an Android device to go to PrediSat in the Android Market]]<br />
<br /><br />
== Links ==<br />
*<b>[http://play.google.com/store/apps/details?id=com.pilot51.predisat PrediSat on Android Market]</b><br />
*<b>[http://play.google.com/store/apps/details?id=com.pilot51.predisatpro PrediSat Pro on Android Market]</b><br />
*[http://heavens-above.com Heavens-Above] (the source of satellite data for PrediSat)<br />
*<b>[http://tracker.pilot51.com/describecomponents.cgi?product=PrediSat PrediSat issue tracker]</b> (view or submit problems and suggestions)<br />
*[http://predisat.com PrediSat.com] (forwards here)<br />
<br /><br /><br />
<br />
== Pro version ==<br />
[[Image:predisatpro_qrcode.png|right|220px|Read this QR Code with an Android device to go to PrediSat Pro in the Android Market]]<br />
The Pro version adds some advanced features on top of what is available in the free version. It may also include early features that will later be added to the free version.<br /><br />
Price is $1 (USD).<br /><br />
<br /><br />
Current Pro-only features:<br /><br />
*Multiple satellite USSC ID's can be entered for 10-day pass predictions<br />
*Multiple alerts per event can be set<br /><br />
*Text-To-Speech alerts (optional)<br /><br />
*Alerts automatically created based on custom magnitude when list is loaded with new data (optional)<br /><br />
*Sightings log<br /><br />
*Export sightings to CSV<br /><br />
*No ads<br /><br />
<br /><br />
<br />
== Changelog ==<br />
Dates are based on GMT.<br /><br />
==== v1.2.1 [2012-11-05] ====<br />
*Add context menu option for Orbital Height Profile.<br />
*Sort passes by max time rather than start time.<br />
*Disable flare event details due to new limitations with HA URL query.<br />
*Remove flare center magnitude/distance columns since HA no longer provides that data for night flares.<br />
*Remove obsolete Flare Days preference.<br />
*Significant improvements to how event data is handled. This is a prerequisite for better filtering and sorting in later versions.<br />
*Fix flares not parsing due to changes on HA.<br />
*Fix satellite details link for 10-day passes.<br />
*Fix debug mode not creating files if predisat folder doesn't already exist.<br />
<br />
==== v1.2.0.2 [2012-08-07] ====<br />
*Fix timezone/DST not initialized (using GMT+0) when opening Alerts from notification.<br />
*Fix 'Set 10 Days of Passes' context item appearing in Alerts and Sightings, functionless. It is intended to only appear in main Passes list.<br />
*Improve accuracy and efficiency of clock and countdown.<br />
<br />
==== v1.2.0.1 [2012-08-01] ====<br />
*Fix crash after downloading empty passes list. Don't know how I missed it after v1.2.0 fix of a very similar crash.<br />
*Free: Fix crash when opening passes context menu when there is no satellite set on 10 Days of Passes.<br />
<br />
==== v1.2.0 [2012-07-31] ====<br />
*New translations: German and Russian. Huge thanks to the translators, XoXFaby and Himura respectively!<br />
*Pro: Reverse sort order of sightings list, with more recent events towards top.<br />
*Add context option to add/remove selected satellite in 10 Days of Passes. In Free, this replaces existing entry, while Pro adds.<br />
*Add preference to force DST/Summer Time. Try this if time is off by an hour, especially useful for timezones that permanently do or don't observe DST. Note: Forcing DST just because your timezone permanently observes DST may not be what you want, this is because the GMT offset provided by Heavens-Above in the timezone name may already include DST.<br />
*Add Debug Mode preference. Requires WRITE_EXTERNAL_STORAGE permission to save debug.log and timestamped HTML files in [sdcard]/predisat/debug/. It is intended to be emailed to me, manually, if you have problems such as crashing. PRIVACY NOTICE: The configured coordinates are included in the debug files.<br />
*Open timezone list preference if detection fails.<br />
*Add screen title at top of list screens.<br />
*Fix timezone/DST changes not applying immediately.<br />
*Fix crash when fetching passes on some 3G carriers. [Huge thanks to Carol for being first to email me about it, 4 months after the ~80 insufficient crash reports started coming in!]<br />
*Fix crash when getting coordinates on locales that use comma (,) instead of period (.) as a decimal separator.<br />
*Update timezone names.<br />
*Fix crash when parsing empty passes list.<br />
*Pro: Fix crash at alert in Android 1.5 due to TTS not supported (happened regardless of TTS preference).<br />
*Increase night mode backlight brightness. This is because at least one device (Xperia mini) is known to have a higher minimum brightness than G1.<br />
*Remove compatibility upgrade for v1.0.7 data.<br />
*Change "HA Website" button to "Heavens-Above.com".<br />
*Bottom buttons in main screen: Increase to 2 lines height, reduce font size in portrait orientation.<br />
<br />
==== v1.1.2.2 [2012-03-17] ====<br />
*Fix crash on some devices when downloading passes. Caused by using the wrong thread in a fallback when a more efficient method of getting the default user agent failed. The workaround was to open the in-app browser before downloading the list.<br />
*Fix first fetch of evening receiving (and blindly accepting) morning when morning is current, or vice versa if evening is disabled. Now evening will still receive current morning, but will detect it, hold that data for the morning fetch, and try again. This happens because a specific request can't be made until the first page is downloaded to receive a couple random session strings generated by the server which need to be sent back to the server with each request; those strings are kept for the life of the process.<br />
*Fix progress bar not working for morning/evening after initial fetch.<br />
<br />
==== v1.1.2.1 [2012-03-13] ====<br />
*Fix parsing of morning/evening passes lists. Caused by major changes to the all satellites page on Heavens-Above. Sorry again for the delay.<br />
*If the last pass for the current period (AM or PM) has ended, fetch the same period for the next day, or (Pro) an additional day if multiple days.<br />
*Remove requirement for location and GPS features (supports Google TV).<br />
<br />
==== v1.1.2 [2012-02-17] ====<br />
*Fix crash when parsing 10-day list. Caused by minor changes to the 10-day page on Heavens-Above around Feb. 12. Sorry for the delay.<br />
*Show year in Date column.<br />
*Add pass magnitude filters for 0.0-2.5 (0.5 step).<br />
*Remove pass magnitude 5.0 filter (no longer supported by HA).<br />
*Add option to clear cache.<br />
*Changing filter preference while in list now takes effect on next manual refresh without the need to close and reopen the list.<br />
*Minor improvements to layouts making it appear better on large screens.<br />
*Remove touchscreen requirement.<br />
*Free: Update AdWhirl, AdMob, and Greystripe ad SDKs to latest versions.<br />
*Free: Enable full-screen ad option for Android 2.3.x users since updated Greystripe SDK fixes a crash.<br />
<br />
==== v1.1.1.3 [2011-12-10] ====<br />
*Pro: TTS doesn't speak if phone is in silent mode or in a call.<br />
*Fix rash when trying to update coordinates on some devices that don't have GPS (Honeycomb/tablets).<br />
*Fix how process is closed. Bad practice of forcibly killing process because TTS service was badly coded and holding process open.<br />
<br />
==== v1.1.1.2 [2011-08-04] ====<br />
*Fix crash on somewhat rare occasion when opening Alerts, caused by wrong thread exception when automatically selecting initial tab.<br />
<br />
==== v1.1.1.1 [2011-07-29] ====<br />
*Fix crash when trying to sort empty list immediately after parsing. Thanks to a crash report for pointing it out!<br />
<br />
==== v1.1.1 [2011-07-28] ====<br />
*Fix refreshing more than once in a single list instance causing following issues:<br />
**Crash during parsing of morning or evening passes after 10 day was enabled in previous refresh.<br />
**Evening passes fetching morning instead if 10 day was disabled and morning was enabled in previous refresh,<br />
**Night flares fetching daytime instead if daytime was enabled in previous refresh.<br />
*Progress dialog indicates the number of events in list being parsed, instead of always showing 100.<br />
*Fix countdown timer not automatically appearing for next event in Alerts if Remove Old Events is disabled.<br />
*If existing instance of Alerts screen is at top of process when opening notification, it is used instead of starting a second Alerts instance.<br />
*When opening Alerts, the tab with the next event is selected.<br />
*Pro: Allow fetching multiple days of all passes, configurable between 1-10 days. It's a bit on the experimental side, but nonetheless very useful. Disabled by default, using the old and reliable method of fetching up to 24 hours.<br />
*Slight increase in sorting performance and albeit more accurate as well. Sorting now happens as a single action after parsing instead of while parsing each event.<br />
*Broke some night mode styling in Preferences due to style inheritance breaking in current revision of SDK. This change only affects 2.0 - 2.2, all the other SDK's have always had broken inheritance.<br />
<br />
==== v1.1.0.1 [2011-07-13] ====<br />
*Fix [http://tracker.pilot51.com/show_bug.cgi?id=18 bug 18] (hopefully): Crash immediately after downloading lists. Couldn't reproduce based on limited information of crash reports & haven't been contacted directly about this.<br />
*Time difference threshold for existing events from 10 to 40 minutes. Avoids duplicate events showing up in alerts if 10-day list not updated for awhile and prediction changes by more than 10 minutes.<br />
<br />
==== v1.1.0 [2011-06-07] ====<br />
*Tabs are used in Alerts and Sightings to select Passes and Flares lists, instead of splitting both lists on screen. The tabs indicate exactly the list associated with it (Pass/Flare Alerts/Sightings) and the number of events in each.<br />
*Add confirmation dialog when clearing alerts or sightings lists.<br />
*Add customizable notification message for TTS (Pro) and bubbles. Variables: Satellite name, event type, and minutes until event.<br />
*Fix displayed time for stored events not changing when timezone is changed, plus other issues with using a different timezone than the phone.<br />
*Satellite name is above countdown instead of in parentheses after, or in landscape mode the name is aligned to the right.<br />
*Increased font size of countdown and made bold.<br />
*Increased minimum height of list items about 2x to make them easier to touch.<br />
*Event timer is shown for the next event when opening list.<br />
*Add preferences to toggle messages for tips and updated alert times.<br />
*Single-digit days are formatted without "0" prefix.<br />
*Free: Fix space allowed in Alert Time preference, which causes alerts to not work.<br />
*Pro: Timestamp included in filename of exported sightings CSV with pattern of yyyyMMddHHmm, preventing any unwanted overwrites.<br />
*Fix progress not updating while parsing flares.<br />
*Preferences and night mode menu options now accessible from lists.<br />
*Preferences are categorized into different screens.<br />
*10-day passes - ISS replaced with USSC ID entry. Free allows only one entry, Pro is space-separated. ISS is default.<br />
*Fix toast message showing string resource ID instead of "Timezone set to" when detecting timezone in preferences.<br />
*Events are removed from alerts and main lists a custom number of minutes (default: 10) after they have completely passed. Check is only performed when opening or refreshing list.<br />
*Lists are populated in UI (behind progress dialog) as parsing progresses.<br />
*All lists are loaded to memory at launch and remains until app is closed, making it very quick to open lists.<br />
*New list is only downloaded if manually refreshed from menu, cache is empty, or a custom number of hours (default: 6) have passed since last refresh.<br />
*Huge performance boost for parsing, about 15-30x faster! (all 3 pass lists timed on G1 going from 285 to 10 sec. and Droid from 65 to 5 sec., including download time)<br />
*Fix inability to load saved data across different ROMs. Data is now saved in an SQLite database. Data from 1.0.7 is moved at first launch.<br />
*Removed: Backwards compatibility for alerts and sightings saved as cache in v1.0.6 and earlier. If you have not run any of the v1.0.7 releases, data from older versions will be lost.<br />
<br />
==== v1.0.7.8 [2011-05-21] ====<br />
*Fix automatic location starting when night mode is toggled.<br />
*Pro: Fix colon at end of "Move to Sightings" in context menu for Alerts.<br />
*Fix crash when opening context menu in Passes/Flares lists after loading from cache.<br />
<br />
==== v1.0.7.7 [2011-05-19] ====<br />
*Fix automatic location starting when orientation changes.<br />
*Fix crash at start when Automatic Location is enabled. Thanks for crash reports, I didn't think to test it.<br />
<br />
==== v1.0.7.6 [2011-05-19] ====<br />
*Fix crash when opening preferences while using night mode for Android 2.0 and 2.3.1 to 3.1.<br />
*Free: Fix problems (crash?) at launch for Android 2.3.x. Greystripe issue, had to disable option for full-screen ads in 2.3.x.<br />
*Fix coordinates update stopping when orientation changes.<br />
*Fix inability to get altitude coordinates because receiving location from network prevents GPS from providing it. Now continues searching for GPS after network location received if GPS is enabled.<br />
*Fix Get Coordinates button disabled with GPS even if Network Location enabled.<br />
*All interface-visible text moved from code into XML string resources to make ready for translating. Please contact me if you would like to help translate.<br />
<br />
==== v1.0.7.5 [2011-05-10] ====<br />
*Fix crash during parsing with most system languages. English was the only unaffected language in all versions of Android.<br />
*Fix Alerts and Sightings buttons not appearing correctly in Android 1.5.<br />
<br />
==== v1.0.7.4 [2011-03-19] ====<br />
*Fix inability to scroll in About dialog for 1.5 and 1.6.<br />
*Fix inability to cancel download, a problem if there is connectivity but HA isn't responding.<br />
*Fix lists or browser restarting when physical keyboard opened/closed.<br />
*Fix several elements not changing for night mode. There are still some not changing, but it's greatly improved.<br />
*Fix crash when received data is not from Heavens-Above, such as a network login page. [2.2+ crash report]<br />
*Fix button backlight stuck on (mistake in code from previous update).<br />
<br />
==== v1.0.7.3 [2011-02-02] ====<br />
*Fix crash at launch in Android 2.1 caused by uncaught NoSuchFieldError when trying to set button brightness. [reported by 2 users in Market]<br />
<br />
==== v1.0.7.2 [2011-02-01] ====<br />
*Pro: Fix existing alerts not being updated if auto-alerts disabled.<br />
*Fix crash from bad parsing of single-digit day in start date range of 10-day ISS.<br />
<br />
==== v1.0.7.1 [2011-01-29] ====<br />
*Disabled links in About dialog text, tends to be more trouble than it's worth (turned 1.0.7.1 into link).<br />
*Fix crash when opening notification.<br />
<br />
==== v1.0.7 [2011-01-29] ====<br />
*Alerts & sightings data moved from app cache to files, so clearing cache from Android app manager won't delete it.<br />
*Remove preference to delete data. Avoids accidental deletion, menu on Alerts/Sightings screens should be safer.<br />
*Remove preference to clear coordinates. Not necessary since it's just as easy to manually clear coordinates.<br />
*Free: Existing alerts are automatically updated when new data is loaded. (Pro already had this with auto-alerts)<br />
*Pro: Option in preferences to export sightings to sdcard as CSV files, uses WRITE_EXTERNAL_STORAGE permission.<br />
*Messages for updated alerts will only appear if the time has changed and shows the old and new times.<br />
*Threshold for duplicate alert/sighting check increased from 10 seconds to 10 minutes.<br />
*Pro: If event is in alerts, Add Sighting becomes Move to Sightings in context menu.<br />
*Pro: Add Sighting is disabled until 2 minutes before event start.<br />
*Add Alert is disabled for events that have already started, also applies for auto-alerts in Pro.<br />
*Buttons on main screen repositioned.<br />
*Add ACCESS_NETWORK_STATE permission for connectivity detection, also required by Greystripe in Free version.<br />
*Connectivity is now checked before attempting to access.<br />
*Add 10-day ISS list. (optional) [Suggested by Seth]<br />
*Countdown to start, max, and end instead of just start.<br />
*Countdown is initiated by tapping an event instead of from the context menu.<br />
*Include daytime flares in list. (optional)<br />
*Add progress dialog in list showing what is loading and percentage of each process. [Suggested by SuM_WuN]<br />
*Better performance with the use of multiple threads and other optimizations.<br />
*Add quiet time: No alert notifications between certain times of day. [Suggested by Rick]<br />
*Fix location search stopping when invalid coordinates received.<br />
*Add network location (works seamlessly with GPS) and message indicating what provided the coordinates.<br />
*After opening notification, pressing back button from Alerts opens main screen.<br />
*Fix missing indication of disabled GPS on GPS button. [Reported by ka0ticstyle]<br />
*Volume buttons control notification volume, or media volume if TTS is enabled.<br />
*Fix browser closing when orientation changes.<br />
*Add date on satellite passes lists. [Suggested by Rick]<br />
*Button backlight turns off in Night Mode if supported by API and hardware.<br />
*Fix exiting with back button causing home screen folder in background to close.<br />
*Fix empty countdown view and list header color missing when returning to list from web browser.<br />
*Main and preferences screens are not restarted when changing timezone or alert time.<br />
*Free: Option to toggle between banner ads or full screen ad at launch.<br />
*Free: READ_PHONE_STATE permission required by Greystripe.<br />
*Free: Greystripe ads.<br />
*Free: Update SDKs for AdWhirl and AdMob.<br />
*Pro: Remove option for ads.<br />
*Instead of buttons for each list on Heavens-Above site, one button for the homepage.<br />
*Remove changelog.<br />
<br />
==== v1.0.6 [2010-10-14] ====<br />
*Initial release of Pro.<br />
*Fix countdown timer way off after orientation change.<br />
*Pro: Sightings log.<br />
*Pro: Alerts automatically created based on custom magnitude when list is loaded with new data.<br />
*Fix back button not working as expected in web view.<br />
*Night mode uses color filtering instead of replacing graphics with plain colors.<br />
*Ad manager is AdWhirl, which provides much more flexibility with multiple ad networks.<br />
*Pro: Text-To-Speech alerts.<br />
*Pro: Multiple alert times can be set, space separated.<br />
*Pro: Ads are disabled by default and can be toggled.<br />
*Fix detection of existing alerts with certain differences in data, alert is updated when required.<br />
*Fix value shown in title of 'Alert time' preference stacking when changed.<br />
==== v1.0.5 [2010-09-24] ====<br />
*Alert time preference shows the current setting in its title.<br />
*Alert lists are sorted by event time instead of order they were added.<br />
*Add description on Timezone preference clarifying that it is the standard GMT offset.<br />
*Add menu option on main screen to toggle night mode.<br />
*Add menu options in Alerts view to clear either list.<br />
*Detect incompatible alerts at launch and delete along with cache, preventing crash after version upgrade.<br />
*Fix detection of existing alerts created in different list instances.<br />
*Alerts can be removed through event lists.<br />
*Events can be added to alerts even if alerts are currently disabled.<br />
*If invalid GPS coordinates received, show error instead of crashing.<br />
*Toast notification at alert trigger.<br />
*Notification timer is much more efficient, using a native method instead of a very bloated and often buggy countdown.<br />
*Try setting timezone automatically at launch if not set.<br />
*Fix error when parser encounters trimmed/optimized HTML. (Thanks to [http://twitter.com/SkepticBarista SkepticBarista]!)<br />
*Fix expired alerts being triggered on service modification/start if alert time is set to 0.<br />
==== v1.0.4 [2010-09-02] ====<br />
*Fix event timer timezone not being calculated properly for timezones different from phone.<br />
*Significantly reduced possibility of alerts being skipped because of lag.<br />
*If parser runs into problem, show error and try loading cache instead of crashing.<br />
==== v1.0.3 [2010-08-31] ====<br />
*Save coordinates when opening preferences.<br />
*Fix alert time not applying to existing alerts when changed.<br />
*Fix crash when both pass periods are selected and one of them returns no passes.<br />
*Fix crash when alert is triggered and ringtone was not configured.<br />
*Fix DST sometimes being 'forgotten' while running in background as service.<br />
==== v1.0.1 and v1.0.2 [2010-08-28] ====<br />
*Fix two crashes in the web browser.<br />
==== v1.0.0 [2010-08-28] ====<br />
*Initial release to the Android Market!<br />
<br /><br />
'''Started development on 2010-06-29'''<br />
[[Category:Android]]</div>Pilot 51https://pilot51.com/w/index.php?title=PrediSat&diff=1311PrediSat2012-08-07T11:01:42Z<p>Pilot 51: </p>
<hr />
<div>'''PrediSat''' is an Android app that grabs Iridium flare and satellite pass data from [http://Heavens-Above.com Heavens-Above.com] and formats it for the small screen of the phone. It also includes a few features to make satellite watching easier, such as alerts, countdowns, and night mode.<br /><br />
[[Image:predisat_qrcode.png|right|250px|Read this QR Code with an Android device to go to PrediSat in the Android Market]]<br />
<br /><br />
== Links ==<br />
*<b>[http://play.google.com/store/apps/details?id=com.pilot51.predisat PrediSat on Android Market]</b><br />
*<b>[http://play.google.com/store/apps/details?id=com.pilot51.predisatpro PrediSat Pro on Android Market]</b><br />
*[http://heavens-above.com Heavens-Above] (the source of satellite data for PrediSat)<br />
*<b>[http://tracker.pilot51.com/describecomponents.cgi?product=PrediSat PrediSat issue tracker]</b> (view or submit problems and suggestions)<br />
*[http://predisat.com PrediSat.com] (forwards here)<br />
<br /><br /><br />
<br />
== Pro version ==<br />
[[Image:predisatpro_qrcode.png|right|220px|Read this QR Code with an Android device to go to PrediSat Pro in the Android Market]]<br />
The Pro version adds some advanced features on top of what is available in the free version. It may also include early features that will later be added to the free version.<br /><br />
Price is $1 (USD).<br /><br />
<br /><br />
Current Pro-only features:<br /><br />
*Multiple satellite USSC ID's can be entered for 10-day pass predictions<br />
*Multiple alerts per event can be set<br /><br />
*Text-To-Speech alerts (optional)<br /><br />
*Alerts automatically created based on custom magnitude when list is loaded with new data (optional)<br /><br />
*Sightings log<br /><br />
*Export sightings to CSV<br /><br />
*No ads<br /><br />
<br /><br />
<br />
== Changelog ==<br />
Dates are based on GMT.<br /><br />
==== v1.2.0.2 [2012-08-07] ====<br />
*Fix timezone/DST not initialized (using GMT+0) when opening Alerts from notification.<br />
*Fix 'Set 10 Days of Passes' context item appearing in Alerts and Sightings, functionless. It is intended to only appear in main Passes list.<br />
*Improve accuracy and efficiency of clock and countdown.<br />
<br />
==== v1.2.0.1 [2012-08-01] ====<br />
*Fix crash after downloading empty passes list. Don't know how I missed it after v1.2.0 fix of a very similar crash.<br />
*Free: Fix crash when opening passes context menu when there is no satellite set on 10 Days of Passes.<br />
<br />
==== v1.2.0 [2012-07-31] ====<br />
*New translations: German and Russian. Huge thanks to the translators, XoXFaby and Himura respectively!<br />
*Pro: Reverse sort order of sightings list, with more recent events towards top.<br />
*Add context option to add/remove selected satellite in 10 Days of Passes. In Free, this replaces existing entry, while Pro adds.<br />
*Add preference to force DST/Summer Time. Try this if time is off by an hour, especially useful for timezones that permanently do or don't observe DST. Note: Forcing DST just because your timezone permanently observes DST may not be what you want, this is because the GMT offset provided by Heavens-Above in the timezone name may already include DST.<br />
*Add Debug Mode preference. Requires WRITE_EXTERNAL_STORAGE permission to save debug.log and timestamped HTML files in [sdcard]/predisat/debug/. It is intended to be emailed to me, manually, if you have problems such as crashing. PRIVACY NOTICE: The configured coordinates are included in the debug files.<br />
*Open timezone list preference if detection fails.<br />
*Add screen title at top of list screens.<br />
*Fix timezone/DST changes not applying immediately.<br />
*Fix crash when fetching passes on some 3G carriers. [Huge thanks to Carol for being first to email me about it, 4 months after the ~80 insufficient crash reports started coming in!]<br />
*Fix crash when getting coordinates on locales that use comma (,) instead of period (.) as a decimal separator.<br />
*Update timezone names.<br />
*Fix crash when parsing empty passes list.<br />
*Pro: Fix crash at alert in Android 1.5 due to TTS not supported (happened regardless of TTS preference).<br />
*Increase night mode backlight brightness. This is because at least one device (Xperia mini) is known to have a higher minimum brightness than G1.<br />
*Remove compatibility upgrade for v1.0.7 data.<br />
*Change "HA Website" button to "Heavens-Above.com".<br />
*Bottom buttons in main screen: Increase to 2 lines height, reduce font size in portrait orientation.<br />
<br />
==== v1.1.2.2 [2012-03-17] ====<br />
*Fix crash on some devices when downloading passes. Caused by using the wrong thread in a fallback when a more efficient method of getting the default user agent failed. The workaround was to open the in-app browser before downloading the list.<br />
*Fix first fetch of evening receiving (and blindly accepting) morning when morning is current, or vice versa if evening is disabled. Now evening will still receive current morning, but will detect it, hold that data for the morning fetch, and try again. This happens because a specific request can't be made until the first page is downloaded to receive a couple random session strings generated by the server which need to be sent back to the server with each request; those strings are kept for the life of the process.<br />
*Fix progress bar not working for morning/evening after initial fetch.<br />
<br />
==== v1.1.2.1 [2012-03-13] ====<br />
*Fix parsing of morning/evening passes lists. Caused by major changes to the all satellites page on Heavens-Above. Sorry again for the delay.<br />
*If the last pass for the current period (AM or PM) has ended, fetch the same period for the next day, or (Pro) an additional day if multiple days.<br />
*Remove requirement for location and GPS features (supports Google TV).<br />
<br />
==== v1.1.2 [2012-02-17] ====<br />
*Fix crash when parsing 10-day list. Caused by minor changes to the 10-day page on Heavens-Above around Feb. 12. Sorry for the delay.<br />
*Show year in Date column.<br />
*Add pass magnitude filters for 0.0-2.5 (0.5 step).<br />
*Remove pass magnitude 5.0 filter (no longer supported by HA).<br />
*Add option to clear cache.<br />
*Changing filter preference while in list now takes effect on next manual refresh without the need to close and reopen the list.<br />
*Minor improvements to layouts making it appear better on large screens.<br />
*Remove touchscreen requirement.<br />
*Free: Update AdWhirl, AdMob, and Greystripe ad SDKs to latest versions.<br />
*Free: Enable full-screen ad option for Android 2.3.x users since updated Greystripe SDK fixes a crash.<br />
<br />
==== v1.1.1.3 [2011-12-10] ====<br />
*Pro: TTS doesn't speak if phone is in silent mode or in a call.<br />
*Fix rash when trying to update coordinates on some devices that don't have GPS (Honeycomb/tablets).<br />
*Fix how process is closed. Bad practice of forcibly killing process because TTS service was badly coded and holding process open.<br />
<br />
==== v1.1.1.2 [2011-08-04] ====<br />
*Fix crash on somewhat rare occasion when opening Alerts, caused by wrong thread exception when automatically selecting initial tab.<br />
<br />
==== v1.1.1.1 [2011-07-29] ====<br />
*Fix crash when trying to sort empty list immediately after parsing. Thanks to a crash report for pointing it out!<br />
<br />
==== v1.1.1 [2011-07-28] ====<br />
*Fix refreshing more than once in a single list instance causing following issues:<br />
**Crash during parsing of morning or evening passes after 10 day was enabled in previous refresh.<br />
**Evening passes fetching morning instead if 10 day was disabled and morning was enabled in previous refresh,<br />
**Night flares fetching daytime instead if daytime was enabled in previous refresh.<br />
*Progress dialog indicates the number of events in list being parsed, instead of always showing 100.<br />
*Fix countdown timer not automatically appearing for next event in Alerts if Remove Old Events is disabled.<br />
*If existing instance of Alerts screen is at top of process when opening notification, it is used instead of starting a second Alerts instance.<br />
*When opening Alerts, the tab with the next event is selected.<br />
*Pro: Allow fetching multiple days of all passes, configurable between 1-10 days. It's a bit on the experimental side, but nonetheless very useful. Disabled by default, using the old and reliable method of fetching up to 24 hours.<br />
*Slight increase in sorting performance and albeit more accurate as well. Sorting now happens as a single action after parsing instead of while parsing each event.<br />
*Broke some night mode styling in Preferences due to style inheritance breaking in current revision of SDK. This change only affects 2.0 - 2.2, all the other SDK's have always had broken inheritance.<br />
<br />
==== v1.1.0.1 [2011-07-13] ====<br />
*Fix [http://tracker.pilot51.com/show_bug.cgi?id=18 bug 18] (hopefully): Crash immediately after downloading lists. Couldn't reproduce based on limited information of crash reports & haven't been contacted directly about this.<br />
*Time difference threshold for existing events from 10 to 40 minutes. Avoids duplicate events showing up in alerts if 10-day list not updated for awhile and prediction changes by more than 10 minutes.<br />
<br />
==== v1.1.0 [2011-06-07] ====<br />
*Tabs are used in Alerts and Sightings to select Passes and Flares lists, instead of splitting both lists on screen. The tabs indicate exactly the list associated with it (Pass/Flare Alerts/Sightings) and the number of events in each.<br />
*Add confirmation dialog when clearing alerts or sightings lists.<br />
*Add customizable notification message for TTS (Pro) and bubbles. Variables: Satellite name, event type, and minutes until event.<br />
*Fix displayed time for stored events not changing when timezone is changed, plus other issues with using a different timezone than the phone.<br />
*Satellite name is above countdown instead of in parentheses after, or in landscape mode the name is aligned to the right.<br />
*Increased font size of countdown and made bold.<br />
*Increased minimum height of list items about 2x to make them easier to touch.<br />
*Event timer is shown for the next event when opening list.<br />
*Add preferences to toggle messages for tips and updated alert times.<br />
*Single-digit days are formatted without "0" prefix.<br />
*Free: Fix space allowed in Alert Time preference, which causes alerts to not work.<br />
*Pro: Timestamp included in filename of exported sightings CSV with pattern of yyyyMMddHHmm, preventing any unwanted overwrites.<br />
*Fix progress not updating while parsing flares.<br />
*Preferences and night mode menu options now accessible from lists.<br />
*Preferences are categorized into different screens.<br />
*10-day passes - ISS replaced with USSC ID entry. Free allows only one entry, Pro is space-separated. ISS is default.<br />
*Fix toast message showing string resource ID instead of "Timezone set to" when detecting timezone in preferences.<br />
*Events are removed from alerts and main lists a custom number of minutes (default: 10) after they have completely passed. Check is only performed when opening or refreshing list.<br />
*Lists are populated in UI (behind progress dialog) as parsing progresses.<br />
*All lists are loaded to memory at launch and remains until app is closed, making it very quick to open lists.<br />
*New list is only downloaded if manually refreshed from menu, cache is empty, or a custom number of hours (default: 6) have passed since last refresh.<br />
*Huge performance boost for parsing, about 15-30x faster! (all 3 pass lists timed on G1 going from 285 to 10 sec. and Droid from 65 to 5 sec., including download time)<br />
*Fix inability to load saved data across different ROMs. Data is now saved in an SQLite database. Data from 1.0.7 is moved at first launch.<br />
*Removed: Backwards compatibility for alerts and sightings saved as cache in v1.0.6 and earlier. If you have not run any of the v1.0.7 releases, data from older versions will be lost.<br />
<br />
==== v1.0.7.8 [2011-05-21] ====<br />
*Fix automatic location starting when night mode is toggled.<br />
*Pro: Fix colon at end of "Move to Sightings" in context menu for Alerts.<br />
*Fix crash when opening context menu in Passes/Flares lists after loading from cache.<br />
<br />
==== v1.0.7.7 [2011-05-19] ====<br />
*Fix automatic location starting when orientation changes.<br />
*Fix crash at start when Automatic Location is enabled. Thanks for crash reports, I didn't think to test it.<br />
<br />
==== v1.0.7.6 [2011-05-19] ====<br />
*Fix crash when opening preferences while using night mode for Android 2.0 and 2.3.1 to 3.1.<br />
*Free: Fix problems (crash?) at launch for Android 2.3.x. Greystripe issue, had to disable option for full-screen ads in 2.3.x.<br />
*Fix coordinates update stopping when orientation changes.<br />
*Fix inability to get altitude coordinates because receiving location from network prevents GPS from providing it. Now continues searching for GPS after network location received if GPS is enabled.<br />
*Fix Get Coordinates button disabled with GPS even if Network Location enabled.<br />
*All interface-visible text moved from code into XML string resources to make ready for translating. Please contact me if you would like to help translate.<br />
<br />
==== v1.0.7.5 [2011-05-10] ====<br />
*Fix crash during parsing with most system languages. English was the only unaffected language in all versions of Android.<br />
*Fix Alerts and Sightings buttons not appearing correctly in Android 1.5.<br />
<br />
==== v1.0.7.4 [2011-03-19] ====<br />
*Fix inability to scroll in About dialog for 1.5 and 1.6.<br />
*Fix inability to cancel download, a problem if there is connectivity but HA isn't responding.<br />
*Fix lists or browser restarting when physical keyboard opened/closed.<br />
*Fix several elements not changing for night mode. There are still some not changing, but it's greatly improved.<br />
*Fix crash when received data is not from Heavens-Above, such as a network login page. [2.2+ crash report]<br />
*Fix button backlight stuck on (mistake in code from previous update).<br />
<br />
==== v1.0.7.3 [2011-02-02] ====<br />
*Fix crash at launch in Android 2.1 caused by uncaught NoSuchFieldError when trying to set button brightness. [reported by 2 users in Market]<br />
<br />
==== v1.0.7.2 [2011-02-01] ====<br />
*Pro: Fix existing alerts not being updated if auto-alerts disabled.<br />
*Fix crash from bad parsing of single-digit day in start date range of 10-day ISS.<br />
<br />
==== v1.0.7.1 [2011-01-29] ====<br />
*Disabled links in About dialog text, tends to be more trouble than it's worth (turned 1.0.7.1 into link).<br />
*Fix crash when opening notification.<br />
<br />
==== v1.0.7 [2011-01-29] ====<br />
*Alerts & sightings data moved from app cache to files, so clearing cache from Android app manager won't delete it.<br />
*Remove preference to delete data. Avoids accidental deletion, menu on Alerts/Sightings screens should be safer.<br />
*Remove preference to clear coordinates. Not necessary since it's just as easy to manually clear coordinates.<br />
*Free: Existing alerts are automatically updated when new data is loaded. (Pro already had this with auto-alerts)<br />
*Pro: Option in preferences to export sightings to sdcard as CSV files, uses WRITE_EXTERNAL_STORAGE permission.<br />
*Messages for updated alerts will only appear if the time has changed and shows the old and new times.<br />
*Threshold for duplicate alert/sighting check increased from 10 seconds to 10 minutes.<br />
*Pro: If event is in alerts, Add Sighting becomes Move to Sightings in context menu.<br />
*Pro: Add Sighting is disabled until 2 minutes before event start.<br />
*Add Alert is disabled for events that have already started, also applies for auto-alerts in Pro.<br />
*Buttons on main screen repositioned.<br />
*Add ACCESS_NETWORK_STATE permission for connectivity detection, also required by Greystripe in Free version.<br />
*Connectivity is now checked before attempting to access.<br />
*Add 10-day ISS list. (optional) [Suggested by Seth]<br />
*Countdown to start, max, and end instead of just start.<br />
*Countdown is initiated by tapping an event instead of from the context menu.<br />
*Include daytime flares in list. (optional)<br />
*Add progress dialog in list showing what is loading and percentage of each process. [Suggested by SuM_WuN]<br />
*Better performance with the use of multiple threads and other optimizations.<br />
*Add quiet time: No alert notifications between certain times of day. [Suggested by Rick]<br />
*Fix location search stopping when invalid coordinates received.<br />
*Add network location (works seamlessly with GPS) and message indicating what provided the coordinates.<br />
*After opening notification, pressing back button from Alerts opens main screen.<br />
*Fix missing indication of disabled GPS on GPS button. [Reported by ka0ticstyle]<br />
*Volume buttons control notification volume, or media volume if TTS is enabled.<br />
*Fix browser closing when orientation changes.<br />
*Add date on satellite passes lists. [Suggested by Rick]<br />
*Button backlight turns off in Night Mode if supported by API and hardware.<br />
*Fix exiting with back button causing home screen folder in background to close.<br />
*Fix empty countdown view and list header color missing when returning to list from web browser.<br />
*Main and preferences screens are not restarted when changing timezone or alert time.<br />
*Free: Option to toggle between banner ads or full screen ad at launch.<br />
*Free: READ_PHONE_STATE permission required by Greystripe.<br />
*Free: Greystripe ads.<br />
*Free: Update SDKs for AdWhirl and AdMob.<br />
*Pro: Remove option for ads.<br />
*Instead of buttons for each list on Heavens-Above site, one button for the homepage.<br />
*Remove changelog.<br />
<br />
==== v1.0.6 [2010-10-14] ====<br />
*Initial release of Pro.<br />
*Fix countdown timer way off after orientation change.<br />
*Pro: Sightings log.<br />
*Pro: Alerts automatically created based on custom magnitude when list is loaded with new data.<br />
*Fix back button not working as expected in web view.<br />
*Night mode uses color filtering instead of replacing graphics with plain colors.<br />
*Ad manager is AdWhirl, which provides much more flexibility with multiple ad networks.<br />
*Pro: Text-To-Speech alerts.<br />
*Pro: Multiple alert times can be set, space separated.<br />
*Pro: Ads are disabled by default and can be toggled.<br />
*Fix detection of existing alerts with certain differences in data, alert is updated when required.<br />
*Fix value shown in title of 'Alert time' preference stacking when changed.<br />
==== v1.0.5 [2010-09-24] ====<br />
*Alert time preference shows the current setting in its title.<br />
*Alert lists are sorted by event time instead of order they were added.<br />
*Add description on Timezone preference clarifying that it is the standard GMT offset.<br />
*Add menu option on main screen to toggle night mode.<br />
*Add menu options in Alerts view to clear either list.<br />
*Detect incompatible alerts at launch and delete along with cache, preventing crash after version upgrade.<br />
*Fix detection of existing alerts created in different list instances.<br />
*Alerts can be removed through event lists.<br />
*Events can be added to alerts even if alerts are currently disabled.<br />
*If invalid GPS coordinates received, show error instead of crashing.<br />
*Toast notification at alert trigger.<br />
*Notification timer is much more efficient, using a native method instead of a very bloated and often buggy countdown.<br />
*Try setting timezone automatically at launch if not set.<br />
*Fix error when parser encounters trimmed/optimized HTML. (Thanks to [http://twitter.com/SkepticBarista SkepticBarista]!)<br />
*Fix expired alerts being triggered on service modification/start if alert time is set to 0.<br />
==== v1.0.4 [2010-09-02] ====<br />
*Fix event timer timezone not being calculated properly for timezones different from phone.<br />
*Significantly reduced possibility of alerts being skipped because of lag.<br />
*If parser runs into problem, show error and try loading cache instead of crashing.<br />
==== v1.0.3 [2010-08-31] ====<br />
*Save coordinates when opening preferences.<br />
*Fix alert time not applying to existing alerts when changed.<br />
*Fix crash when both pass periods are selected and one of them returns no passes.<br />
*Fix crash when alert is triggered and ringtone was not configured.<br />
*Fix DST sometimes being 'forgotten' while running in background as service.<br />
==== v1.0.1 and v1.0.2 [2010-08-28] ====<br />
*Fix two crashes in the web browser.<br />
==== v1.0.0 [2010-08-28] ====<br />
*Initial release to the Android Market!<br />
<br /><br />
'''Started development on 2010-06-29'''<br />
[[Category:Android]]</div>Pilot 51https://pilot51.com/w/index.php?title=PrediSat&diff=1310PrediSat2012-08-07T10:34:17Z<p>Pilot 51: /* v1.2.0.2 [2012-08-07] */ Released.</p>
<hr />
<div>'''PrediSat''' is an Android app that grabs Iridium flare and satellite pass data from [http://Heavens-Above.com Heavens-Above.com] and formats it for the small screen of the phone. It also includes a few features to make satellite watching easier, such as alerts, countdowns, and night mode.<br /><br />
[[Image:predisat_qrcode.png|right|250px|Read this QR Code with an Android device to go to PrediSat in the Android Market]]<br />
<br /><br />
== Links ==<br />
*<b>[http://market.android.com/details?id=com.pilot51.predisat PrediSat on Android Market]</b><br />
*<b>[http://market.android.com/details?id=com.pilot51.predisatpro PrediSat Pro on Android Market]</b><br />
*[http://www.appbrain.com/app/com.pilot51.predisat PrediSat on AppBrain]<br />
*[http://www.appbrain.com/app/com.pilot51.predisatpro PrediSat Pro on AppBrain]<br />
*[http://heavens-above.com Heavens-Above] (the source of satellite data for PrediSat)<br />
*<b>[http://tracker.pilot51.com/describecomponents.cgi?product=PrediSat PrediSat issue tracker]</b> (view or submit problems and suggestions)<br />
*[http://predisat.com PrediSat.com] (forwards here)<br />
<br /><br /><br />
<br />
== Pro version ==<br />
[[Image:predisatpro_qrcode.png|right|220px|Read this QR Code with an Android device to go to PrediSat Pro in the Android Market]]<br />
The Pro version adds some advanced features on top of what is available in the free version. It may also include early features that will later be added to the free version.<br /><br />
Price is $1 (USD).<br /><br />
<br /><br />
Current Pro-only features:<br /><br />
*Multiple satellite USSC ID's can be entered for 10-day pass predictions<br />
*Multiple alerts per event can be set<br /><br />
*Text-To-Speech alerts (optional)<br /><br />
*Alerts automatically created based on custom magnitude when list is loaded with new data (optional)<br /><br />
*Sightings log<br /><br />
*Export sightings to CSV<br /><br />
*No ads<br /><br />
<br /><br />
<br />
== Changelog ==<br />
Dates are based on GMT.<br /><br />
==== v1.2.0.2 [2012-08-07] ====<br />
*Fix configured timezone/DST not initialized (using GMT+0) when opening Alerts from notification.<br />
*Fix 'Set 10 Days of Passes' context item appearing in Alerts and Sightings, functionless. It is intended to only appear in main Passes list.<br />
*Improve accuracy and efficiency of clock and countdown.<br />
<br />
==== v1.2.0.1 [2012-08-01] ====<br />
*Fix crash after downloading empty passes list. Don't know how I missed it after v1.2.0 fix of a very similar crash.<br />
*Free: Fix crash when opening passes context menu when there is no satellite set on 10 Days of Passes.<br />
<br />
==== v1.2.0 [2012-07-31] ====<br />
*New translations: German and Russian. Huge thanks to the translators, XoXFaby and Himura respectively!<br />
*Pro: Reverse sort order of sightings list, with more recent events towards top.<br />
*Add context option to add/remove selected satellite in 10 Days of Passes. In Free, this replaces existing entry, while Pro adds.<br />
*Add preference to force DST/Summer Time. Try this if time is off by an hour, especially useful for timezones that permanently do or don't observe DST. Note: Forcing DST just because your timezone permanently observes DST may not be what you want, this is because the GMT offset provided by Heavens-Above in the timezone name may already include DST.<br />
*Add Debug Mode preference. Requires WRITE_EXTERNAL_STORAGE permission to save debug.log and timestamped HTML files in [sdcard]/predisat/debug/. It is intended to be emailed to me, manually, if you have problems such as crashing. PRIVACY NOTICE: The configured coordinates are included in the debug files.<br />
*Open timezone list preference if detection fails.<br />
*Add screen title at top of list screens.<br />
*Fix DST / timezone changes not applying immediately.<br />
*Fix crash when fetching passes on some 3G carriers. [Huge thanks to Carol for being first to email me about it, 4 months after insufficient reports started!]<br />
*Fix crash when fetching passes on some 3G carriers. [Huge thanks to Carol for being first to email me about it, 4 months after insufficient reports started!]<br />
*Fix crash when getting coordinates on locales that use comma (,) instead of period (.) as a decimal separator.<br />
*Update timezone names.<br />
*Fix crash when parsing empty passes list.<br />
*Pro: Fix crash at alert in Android 1.5 due to TTS not supported (happened regardless of TTS preference).<br />
*Increase night mode backlight brightness. This is because at least one device (Xperia mini) is known to have a higher minimum brightness than G1.<br />
*Remove compatibility upgrade for v1.0.7 data.<br />
*Change "HA Website" button to "Heavens-Above.com".<br />
*Bottom buttons in main screen: Increase to 2 lines height, reduce font size in portrait orientation.<br />
<br />
==== v1.1.2.2 [2012-03-17] ====<br />
*Fix crash on some devices when downloading passes. Caused by using the wrong thread in a fallback when a more efficient method of getting the default user agent failed. The workaround was to open the in-app browser before downloading the list.<br />
*Fix first fetch of evening receiving (and blindly accepting) morning when morning is current, or vice versa if evening is disabled. Now evening will still receive current morning, but will detect it, hold that data for the morning fetch, and try again. This happens because a specific request can't be made until the first page is downloaded to receive a couple random session strings generated by the server which need to be sent back to the server with each request; those strings are kept for the life of the process.<br />
*Fix progress bar not working for morning/evening after initial fetch.<br />
<br />
==== v1.1.2.1 [2012-03-13] ====<br />
*Fix parsing of morning/evening passes lists. Caused by major changes to the all satellites page on Heavens-Above. Sorry again for the delay.<br />
*If the last pass for the current period (AM or PM) has ended, fetch the same period for the next day, or (Pro) an additional day if multiple days.<br />
*Remove requirement for location and GPS features (supports Google TV).<br />
<br />
==== v1.1.2 [2012-02-17] ====<br />
*Fix crash when parsing 10-day list. Caused by minor changes to the 10-day page on Heavens-Above around Feb. 12. Sorry for the delay.<br />
*Show year in Date column.<br />
*Add pass magnitude filters for 0.0-2.5 (0.5 step).<br />
*Remove pass magnitude 5.0 filter (no longer supported by HA).<br />
*Add option to clear cache.<br />
*Changing filter preference while in list now takes effect on next manual refresh without the need to close and reopen the list.<br />
*Minor improvements to layouts making it appear better on large screens.<br />
*Remove touchscreen requirement.<br />
*Free: Update AdWhirl, AdMob, and Greystripe ad SDKs to latest versions.<br />
*Free: Enable full-screen ad option for Android 2.3.x users since updated Greystripe SDK fixes a crash.<br />
<br />
==== v1.1.1.3 [2011-12-10] ====<br />
*Pro: TTS doesn't speak if phone is in silent mode or in a call.<br />
*Fix rash when trying to update coordinates on some devices that don't have GPS (Honeycomb/tablets).<br />
*Fix how process is closed. Bad practice of forcibly killing process because TTS service was badly coded and holding process open.<br />
<br />
==== v1.1.1.2 [2011-08-04] ====<br />
*Fix crash on somewhat rare occasion when opening Alerts, caused by wrong thread exception when automatically selecting initial tab.<br />
<br />
==== v1.1.1.1 [2011-07-29] ====<br />
*Fix crash when trying to sort empty list immediately after parsing. Thanks to a crash report for pointing it out!<br />
<br />
==== v1.1.1 [2011-07-28] ====<br />
*Fix refreshing more than once in a single list instance causing following issues:<br />
**Crash during parsing of morning or evening passes after 10 day was enabled in previous refresh.<br />
**Evening passes fetching morning instead if 10 day was disabled and morning was enabled in previous refresh,<br />
**Night flares fetching daytime instead if daytime was enabled in previous refresh.<br />
*Progress dialog indicates the number of events in list being parsed, instead of always showing 100.<br />
*Fix countdown timer not automatically appearing for next event in Alerts if Remove Old Events is disabled.<br />
*If existing instance of Alerts screen is at top of process when opening notification, it is used instead of starting a second Alerts instance.<br />
*When opening Alerts, the tab with the next event is selected.<br />
*Pro: Allow fetching multiple days of all passes, configurable between 1-10 days. It's a bit on the experimental side, but nonetheless very useful. Disabled by default, using the old and reliable method of fetching up to 24 hours.<br />
*Slight increase in sorting performance and albeit more accurate as well. Sorting now happens as a single action after parsing instead of while parsing each event.<br />
*Broke some night mode styling in Preferences due to style inheritance breaking in current revision of SDK. This change only affects 2.0 - 2.2, all the other SDK's have always had broken inheritance.<br />
<br />
==== v1.1.0.1 [2011-07-13] ====<br />
*Fix [http://tracker.pilot51.com/show_bug.cgi?id=18 bug 18] (hopefully): Crash immediately after downloading lists. Couldn't reproduce based on limited information of crash reports & haven't been contacted directly about this.<br />
*Time difference threshold for existing events from 10 to 40 minutes. Avoids duplicate events showing up in alerts if 10-day list not updated for awhile and prediction changes by more than 10 minutes.<br />
<br />
==== v1.1.0 [2011-06-07] ====<br />
*Tabs are used in Alerts and Sightings to select Passes and Flares lists, instead of splitting both lists on screen. The tabs indicate exactly the list associated with it (Pass/Flare Alerts/Sightings) and the number of events in each.<br />
*Add confirmation dialog when clearing alerts or sightings lists.<br />
*Add customizable notification message for TTS (Pro) and bubbles. Variables: Satellite name, event type, and minutes until event.<br />
*Fix displayed time for stored events not changing when timezone is changed, plus other issues with using a different timezone than the phone.<br />
*Satellite name is above countdown instead of in parentheses after, or in landscape mode the name is aligned to the right.<br />
*Increased font size of countdown and made bold.<br />
*Increased minimum height of list items about 2x to make them easier to touch.<br />
*Event timer is shown for the next event when opening list.<br />
*Add preferences to toggle messages for tips and updated alert times.<br />
*Single-digit days are formatted without "0" prefix.<br />
*Free: Fix space allowed in Alert Time preference, which causes alerts to not work.<br />
*Pro: Timestamp included in filename of exported sightings CSV with pattern of yyyyMMddHHmm, preventing any unwanted overwrites.<br />
*Fix progress not updating while parsing flares.<br />
*Preferences and night mode menu options now accessible from lists.<br />
*Preferences are categorized into different screens.<br />
*10-day passes - ISS replaced with USSC ID entry. Free allows only one entry, Pro is space-separated. ISS is default.<br />
*Fix toast message showing string resource ID instead of "Timezone set to" when detecting timezone in preferences.<br />
*Events are removed from alerts and main lists a custom number of minutes (default: 10) after they have completely passed. Check is only performed when opening or refreshing list.<br />
*Lists are populated in UI (behind progress dialog) as parsing progresses.<br />
*All lists are loaded to memory at launch and remains until app is closed, making it very quick to open lists.<br />
*New list is only downloaded if manually refreshed from menu, cache is empty, or a custom number of hours (default: 6) have passed since last refresh.<br />
*Huge performance boost for parsing, about 15-30x faster! (all 3 pass lists timed on G1 going from 285 to 10 sec. and Droid from 65 to 5 sec., including download time)<br />
*Fix inability to load saved data across different ROMs. Data is now saved in an SQLite database. Data from 1.0.7 is moved at first launch.<br />
*Removed: Backwards compatibility for alerts and sightings saved as cache in v1.0.6 and earlier. If you have not run any of the v1.0.7 releases, data from older versions will be lost.<br />
<br />
==== v1.0.7.8 [2011-05-21] ====<br />
*Fix automatic location starting when night mode is toggled.<br />
*Pro: Fix colon at end of "Move to Sightings" in context menu for Alerts.<br />
*Fix crash when opening context menu in Passes/Flares lists after loading from cache.<br />
<br />
==== v1.0.7.7 [2011-05-19] ====<br />
*Fix automatic location starting when orientation changes.<br />
*Fix crash at start when Automatic Location is enabled. Thanks for crash reports, I didn't think to test it.<br />
<br />
==== v1.0.7.6 [2011-05-19] ====<br />
*Fix crash when opening preferences while using night mode for Android 2.0 and 2.3.1 to 3.1.<br />
*Free: Fix problems (crash?) at launch for Android 2.3.x. Greystripe issue, had to disable option for full-screen ads in 2.3.x.<br />
*Fix coordinates update stopping when orientation changes.<br />
*Fix inability to get altitude coordinates because receiving location from network prevents GPS from providing it. Now continues searching for GPS after network location received if GPS is enabled.<br />
*Fix Get Coordinates button disabled with GPS even if Network Location enabled.<br />
*All interface-visible text moved from code into XML string resources to make ready for translating. Please contact me if you would like to help translate.<br />
<br />
==== v1.0.7.5 [2011-05-10] ====<br />
*Fix crash during parsing with most system languages. English was the only unaffected language in all versions of Android.<br />
*Fix Alerts and Sightings buttons not appearing correctly in Android 1.5.<br />
<br />
==== v1.0.7.4 [2011-03-19] ====<br />
*Fix inability to scroll in About dialog for 1.5 and 1.6.<br />
*Fix inability to cancel download, a problem if there is connectivity but HA isn't responding.<br />
*Fix lists or browser restarting when physical keyboard opened/closed.<br />
*Fix several elements not changing for night mode. There are still some not changing, but it's greatly improved.<br />
*Fix crash when received data is not from Heavens-Above, such as a network login page. [2.2+ crash report]<br />
*Fix button backlight stuck on (mistake in code from previous update).<br />
<br />
==== v1.0.7.3 [2011-02-02] ====<br />
*Fix crash at launch in Android 2.1 caused by uncaught NoSuchFieldError when trying to set button brightness. [reported by 2 users in Market]<br />
<br />
==== v1.0.7.2 [2011-02-01] ====<br />
*Pro: Fix existing alerts not being updated if auto-alerts disabled.<br />
*Fix crash from bad parsing of single-digit day in start date range of 10-day ISS.<br />
<br />
==== v1.0.7.1 [2011-01-29] ====<br />
*Disabled links in About dialog text, tends to be more trouble than it's worth (turned 1.0.7.1 into link).<br />
*Fix crash when opening notification.<br />
<br />
==== v1.0.7 [2011-01-29] ====<br />
*Alerts & sightings data moved from app cache to files, so clearing cache from Android app manager won't delete it.<br />
*Remove preference to delete data. Avoids accidental deletion, menu on Alerts/Sightings screens should be safer.<br />
*Remove preference to clear coordinates. Not necessary since it's just as easy to manually clear coordinates.<br />
*Free: Existing alerts are automatically updated when new data is loaded. (Pro already had this with auto-alerts)<br />
*Pro: Option in preferences to export sightings to sdcard as CSV files, uses WRITE_EXTERNAL_STORAGE permission.<br />
*Messages for updated alerts will only appear if the time has changed and shows the old and new times.<br />
*Threshold for duplicate alert/sighting check increased from 10 seconds to 10 minutes.<br />
*Pro: If event is in alerts, Add Sighting becomes Move to Sightings in context menu.<br />
*Pro: Add Sighting is disabled until 2 minutes before event start.<br />
*Add Alert is disabled for events that have already started, also applies for auto-alerts in Pro.<br />
*Buttons on main screen repositioned.<br />
*Add ACCESS_NETWORK_STATE permission for connectivity detection, also required by Greystripe in Free version.<br />
*Connectivity is now checked before attempting to access.<br />
*Add 10-day ISS list. (optional) [Suggested by Seth]<br />
*Countdown to start, max, and end instead of just start.<br />
*Countdown is initiated by tapping an event instead of from the context menu.<br />
*Include daytime flares in list. (optional)<br />
*Add progress dialog in list showing what is loading and percentage of each process. [Suggested by SuM_WuN]<br />
*Better performance with the use of multiple threads and other optimizations.<br />
*Add quiet time: No alert notifications between certain times of day. [Suggested by Rick]<br />
*Fix location search stopping when invalid coordinates received.<br />
*Add network location (works seamlessly with GPS) and message indicating what provided the coordinates.<br />
*After opening notification, pressing back button from Alerts opens main screen.<br />
*Fix missing indication of disabled GPS on GPS button. [Reported by ka0ticstyle]<br />
*Volume buttons control notification volume, or media volume if TTS is enabled.<br />
*Fix browser closing when orientation changes.<br />
*Add date on satellite passes lists. [Suggested by Rick]<br />
*Button backlight turns off in Night Mode if supported by API and hardware.<br />
*Fix exiting with back button causing home screen folder in background to close.<br />
*Fix empty countdown view and list header color missing when returning to list from web browser.<br />
*Main and preferences screens are not restarted when changing timezone or alert time.<br />
*Free: Option to toggle between banner ads or full screen ad at launch.<br />
*Free: READ_PHONE_STATE permission required by Greystripe.<br />
*Free: Greystripe ads.<br />
*Free: Update SDKs for AdWhirl and AdMob.<br />
*Pro: Remove option for ads.<br />
*Instead of buttons for each list on Heavens-Above site, one button for the homepage.<br />
*Remove changelog.<br />
<br />
==== v1.0.6 [2010-10-14] ====<br />
*Initial release of Pro.<br />
*Fix countdown timer way off after orientation change.<br />
*Pro: Sightings log.<br />
*Pro: Alerts automatically created based on custom magnitude when list is loaded with new data.<br />
*Fix back button not working as expected in web view.<br />
*Night mode uses color filtering instead of replacing graphics with plain colors.<br />
*Ad manager is AdWhirl, which provides much more flexibility with multiple ad networks.<br />
*Pro: Text-To-Speech alerts.<br />
*Pro: Multiple alert times can be set, space separated.<br />
*Pro: Ads are disabled by default and can be toggled.<br />
*Fix detection of existing alerts with certain differences in data, alert is updated when required.<br />
*Fix value shown in title of 'Alert time' preference stacking when changed.<br />
==== v1.0.5 [2010-09-24] ====<br />
*Alert time preference shows the current setting in its title.<br />
*Alert lists are sorted by event time instead of order they were added.<br />
*Add description on Timezone preference clarifying that it is the standard GMT offset.<br />
*Add menu option on main screen to toggle night mode.<br />
*Add menu options in Alerts view to clear either list.<br />
*Detect incompatible alerts at launch and delete along with cache, preventing crash after version upgrade.<br />
*Fix detection of existing alerts created in different list instances.<br />
*Alerts can be removed through event lists.<br />
*Events can be added to alerts even if alerts are currently disabled.<br />
*If invalid GPS coordinates received, show error instead of crashing.<br />
*Toast notification at alert trigger.<br />
*Notification timer is much more efficient, using a native method instead of a very bloated and often buggy countdown.<br />
*Try setting timezone automatically at launch if not set.<br />
*Fix error when parser encounters trimmed/optimized HTML. (Thanks to [http://twitter.com/SkepticBarista SkepticBarista]!)<br />
*Fix expired alerts being triggered on service modification/start if alert time is set to 0.<br />
==== v1.0.4 [2010-09-02] ====<br />
*Fix event timer timezone not being calculated properly for timezones different from phone.<br />
*Significantly reduced possibility of alerts being skipped because of lag.<br />
*If parser runs into problem, show error and try loading cache instead of crashing.<br />
==== v1.0.3 [2010-08-31] ====<br />
*Save coordinates when opening preferences.<br />
*Fix alert time not applying to existing alerts when changed.<br />
*Fix crash when both pass periods are selected and one of them returns no passes.<br />
*Fix crash when alert is triggered and ringtone was not configured.<br />
*Fix DST sometimes being 'forgotten' while running in background as service.<br />
==== v1.0.1 and v1.0.2 [2010-08-28] ====<br />
*Fix two crashes in the web browser.<br />
==== v1.0.0 [2010-08-28] ====<br />
*Initial release to the Android Market!<br />
<br /><br />
'''Started development on 2010-06-29'''<br />
[[Category:Android]]</div>Pilot 51https://pilot51.com/w/index.php?title=Voice_Notify&diff=1309Voice Notify2012-08-04T21:51:52Z<p>Pilot 51: /* v1.0.8 [2012-08-04] */ Released.</p>
<hr />
<div>[[Image:voicenotify_qrcode_l.png|right|210px|Scan this QR Code with an Android device to go to Voice Notify in the Android Market]]<br />
'''Voice Notify''' is an 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 /><br />
<br /><br />
Price: Free!<br /><br />
<br /><br />
== Links ==<br />
*<b>[http://market.android.com/details?id=com.pilot51.voicenotify Voice Notify on Android Market]</b><br />
*[http://appbrain.com/app/com.pilot51.voicenotify Voice Notify on AppBrain]<br />
*<b>[http://tracker.pilot51.com/describecomponents.cgi?product=Voice%20Notify Voice Notify issue tracker]</b> (view or submit problems and suggestions)<br />
*[http://pilot51.com/apk/voicenotify Direct download APK] (all versions available; not recommended for most users)<br />
*[http://voicenotify.pilot51.com voicenotify.pilot51.com] (forwards here)<br />
<br />
<br /><br />
== Changelog ==<br />
Dates are in GMT.<br />
==== v1.0.8 [2012-08-04] ====<br />
*Add Italian translation by Teorouge.<br />
*Fix [http://tracker.pilot51.com/27 issue 27]: Accessibility broken in Android 4.1 (Jelly Bean).<br />
*Add shake-to-silence.<br />
*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.<br />
*Add option for TTS to repeat notifications at a custom interval in minutes while screen is off.<br />
*Fix Ignored Text not working when containing capital letters.<br />
<br />
==== v1.0.7.2 [2012-03-28] ====<br />
*Fix mislabeled device states (on and off were swapped).<br />
*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.<br />
<br />
==== v1.0.7.1 [2012-03-27] ====<br />
*Fix crash when notification received and Ignore Text is not set/initialized.<br />
<br />
==== v1.0.7 [2012-03-26] ====<br />
*Add Ignore Text preference.<br />
*Add Ignore Repeats preference. Default, which was previously hard-coded, is to ignore identical consecutive notifications within 10 seconds.<br />
*Add Silent/Vibrate to Device States preference. Default, which was previously hard-coded, is disabled (not speak).<br />
*Default ignore for new apps is based on Ignore All/None.<br />
*Change App List progress indicator to indeterminate title bar style since load time is much quicker.<br />
*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).<br />
*App search filtering now includes package names and search containing text instead of words starting with the search term.<br />
*Show toast message when running Test with Voice Notify ignored.<br />
*Check notification-independent ignores after TTS Delay instead of before.<br />
*Stop speaking if headset changes to ignored state.<br />
*Fix crash at service initialization on some (most?) Android 2.0.1 and lower devices.<br />
*Fix/enable TTS Settings for ICS.<br />
*Fix TTS Settings crash in Honeycomb & Android 4.0 (API 11-14).<br />
<br />
==== v1.0.6 [2012-01-10] ====<br />
*Add option for custom TTS Delay. Value in seconds.<br />
*Add headset on/off to device states. Note: Due to API limitations, all Bluetooth devices are detected the same, headset or not.<br />
*Add Bluetooth permission. Required to detect Bluetooth connections.<br />
*Add option to post a test notification. Delayed 5 seconds to allow user to, for example, turn off the screen.<br />
*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.<br />
*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.<br />
<br />
==== v1.0.5 [2011-12-18] ====<br />
*Fix [http://tracker.pilot51.com/10 issue 10]: App List jumps slightly when item toggled.<br />
*Fix crash when opening TTS Settings on Google TV.<br />
*Fix crash when filtering App List.<br />
*Ignore All/None only applies to apps in filter.<br />
<br />
==== v1.0.4 [2011-12-12] ====<br />
*Add option to select whether to speak with screen on or off. ([http://tracker.pilot51.com/25 issue 25])<br />
*Remove touchscreen requirement (makes compatible with Google TV).<br />
<br />
==== v1.0.3 [2011-10-23] ====<br />
*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!]<br />
*Special characters | [ ] { } * < > in notification messages are not spoken (replaced with a space).([http://tracker.pilot51.com/23 issue 23])<br />
*Change default audio stream back to Media.<br />
*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)<br />
*Notifications are ignored while phone is ringing or in a call.<br />
*Add Quiet Time option.<br />
*Add options to rate/comment (Market) or contact developer (email app).<br />
<br />
==== v1.0.2 [2011-04-05] ====<br />
*Fix Ignore All option creating duplicate ignores, sometimes requiring multiple touches to enable an app.<br />
*Add option to donate through Paypal (opens Paypal donate page in external browser).<br />
*Fix speaking of quickly repeated notifications (usually progress bars).<br />
*Add option to change TTS between Notification and Media audio streams. Solution to Bluetooth issue reported by SRadner.<br />
*Fix App List jumping to top when selection changed. (rough/temporary workaround, list still jumps by up to one item)<br />
<br />
==== v1.0.1 [2011-03-28] ====<br />
*Fix crash when custom TTS message contains an unsupported percent variable. [reported by SRadner]<br />
*TTS runs on Notification audio stream instead of Media stream, also removed control of media volume while displayed.<br />
*Add App List menu options to ignore all or none.<br />
<br />
==== v1.0.0 [2011-02-13] ====<br />
*Initial release to the Android Market!<br /><br />
<br /><br />
'''Started development on 2011-02-03'''<br />
[[Category:Android]]</div>Pilot 51https://pilot51.com/w/index.php?title=PrediSat&diff=1308PrediSat2012-08-01T23:30:19Z<p>Pilot 51: /* v1.2.0.1 [2012-08-01] */ Released.</p>
<hr />
<div>'''PrediSat''' is an Android app that grabs Iridium flare and satellite pass data from [http://Heavens-Above.com Heavens-Above.com] and formats it for the small screen of the phone. It also includes a few features to make satellite watching easier, such as alerts, countdowns, and night mode.<br /><br />
[[Image:predisat_qrcode.png|right|250px|Read this QR Code with an Android device to go to PrediSat in the Android Market]]<br />
<br /><br />
== Links ==<br />
*<b>[http://market.android.com/details?id=com.pilot51.predisat PrediSat on Android Market]</b><br />
*<b>[http://market.android.com/details?id=com.pilot51.predisatpro PrediSat Pro on Android Market]</b><br />
*[http://www.appbrain.com/app/com.pilot51.predisat PrediSat on AppBrain]<br />
*[http://www.appbrain.com/app/com.pilot51.predisatpro PrediSat Pro on AppBrain]<br />
*[http://heavens-above.com Heavens-Above] (the source of satellite data for PrediSat)<br />
*<b>[http://tracker.pilot51.com/describecomponents.cgi?product=PrediSat PrediSat issue tracker]</b> (view or submit problems and suggestions)<br />
*[http://predisat.com PrediSat.com] (forwards here)<br />
<br /><br /><br />
<br />
== Pro version ==<br />
[[Image:predisatpro_qrcode.png|right|220px|Read this QR Code with an Android device to go to PrediSat Pro in the Android Market]]<br />
The Pro version adds some advanced features on top of what is available in the free version. It may also include early features that will later be added to the free version.<br /><br />
Price is $1 (USD).<br /><br />
<br /><br />
Current Pro-only features:<br /><br />
*Multiple satellite USSC ID's can be entered for 10-day pass predictions<br />
*Multiple alerts per event can be set<br /><br />
*Text-To-Speech alerts (optional)<br /><br />
*Alerts automatically created based on custom magnitude when list is loaded with new data (optional)<br /><br />
*Sightings log<br /><br />
*Export sightings to CSV<br /><br />
*No ads<br /><br />
<br /><br />
<br />
== Changelog ==<br />
Dates are based on GMT.<br /><br />
==== v1.2.0.1 [2012-08-01] ====<br />
*Fix crash after downloading empty passes list. Don't know how I missed it after v1.2.0 fix of a very similar crash.<br />
*Free: Fix crash when opening passes context menu when there is no satellite set on 10 Days of Passes.<br />
==== v1.2.0 [2012-07-31] ====<br />
*New translations: German and Russian. Huge thanks to the translators, XoXFaby and Himura respectively!<br />
*Pro: Reverse sort order of sightings list, with more recent events towards top.<br />
*Add context option to add/remove selected satellite in 10 Days of Passes. In Free, this replaces existing entry, while Pro adds.<br />
*Add preference to force DST/Summer Time. Try this if time is off by an hour, especially useful for timezones that permanently do or don't observe DST. Note: Forcing DST just because your timezone permanently observes DST may not be what you want, this is because the GMT offset provided by Heavens-Above in the timezone name may already include DST.<br />
*Add Debug Mode preference. Requires WRITE_EXTERNAL_STORAGE permission to save debug.log and timestamped HTML files in [sdcard]/predisat/debug/. It is intended to be emailed to me, manually, if you have problems such as crashing. PRIVACY NOTICE: The configured coordinates are included in the debug files.<br />
*Open timezone list preference if detection fails.<br />
*Add screen title at top of list screens.<br />
*Fix DST / timezone changes not applying immediately.<br />
*Fix crash when fetching passes on some 3G carriers. [Huge thanks to Carol for being first to email me about it, 4 months after insufficient reports started!]<br />
*Fix crash when fetching passes on some 3G carriers. [Huge thanks to Carol for being first to email me about it, 4 months after insufficient reports started!]<br />
*Fix crash when getting coordinates on locales that use comma (,) instead of period (.) as a decimal separator.<br />
*Update timezone names.<br />
*Fix crash when parsing empty passes list.<br />
*Pro: Fix crash at alert in Android 1.5 due to TTS not supported (happened regardless of TTS preference).<br />
*Increase night mode backlight brightness. This is because at least one device (Xperia mini) is known to have a higher minimum brightness than G1.<br />
*Remove compatibility upgrade for v1.0.7 data.<br />
*Change "HA Website" button to "Heavens-Above.com".<br />
*Bottom buttons in main screen: Increase to 2 lines height, reduce font size in portrait orientation.<br />
<br />
==== v1.1.2.2 [2012-03-17] ====<br />
*Fix crash on some devices when downloading passes. Caused by using the wrong thread in a fallback when a more efficient method of getting the default user agent failed. The workaround was to open the in-app browser before downloading the list.<br />
*Fix first fetch of evening receiving (and blindly accepting) morning when morning is current, or vice versa if evening is disabled. Now evening will still receive current morning, but will detect it, hold that data for the morning fetch, and try again. This happens because a specific request can't be made until the first page is downloaded to receive a couple random session strings generated by the server which need to be sent back to the server with each request; those strings are kept for the life of the process.<br />
*Fix progress bar not working for morning/evening after initial fetch.<br />
<br />
==== v1.1.2.1 [2012-03-13] ====<br />
*Fix parsing of morning/evening passes lists. Caused by major changes to the all satellites page on Heavens-Above. Sorry again for the delay.<br />
*If the last pass for the current period (AM or PM) has ended, fetch the same period for the next day, or (Pro) an additional day if multiple days.<br />
*Remove requirement for location and GPS features (supports Google TV).<br />
<br />
==== v1.1.2 [2012-02-17] ====<br />
*Fix crash when parsing 10-day list. Caused by minor changes to the 10-day page on Heavens-Above around Feb. 12. Sorry for the delay.<br />
*Show year in Date column.<br />
*Add pass magnitude filters for 0.0-2.5 (0.5 step).<br />
*Remove pass magnitude 5.0 filter (no longer supported by HA).<br />
*Add option to clear cache.<br />
*Changing filter preference while in list now takes effect on next manual refresh without the need to close and reopen the list.<br />
*Minor improvements to layouts making it appear better on large screens.<br />
*Remove touchscreen requirement.<br />
*Free: Update AdWhirl, AdMob, and Greystripe ad SDKs to latest versions.<br />
*Free: Enable full-screen ad option for Android 2.3.x users since updated Greystripe SDK fixes a crash.<br />
<br />
==== v1.1.1.3 [2011-12-10] ====<br />
*Pro: TTS doesn't speak if phone is in silent mode or in a call.<br />
*Fix rash when trying to update coordinates on some devices that don't have GPS (Honeycomb/tablets).<br />
*Fix how process is closed. Bad practice of forcibly killing process because TTS service was badly coded and holding process open.<br />
<br />
==== v1.1.1.2 [2011-08-04] ====<br />
*Fix crash on somewhat rare occasion when opening Alerts, caused by wrong thread exception when automatically selecting initial tab.<br />
<br />
==== v1.1.1.1 [2011-07-29] ====<br />
*Fix crash when trying to sort empty list immediately after parsing. Thanks to a crash report for pointing it out!<br />
<br />
==== v1.1.1 [2011-07-28] ====<br />
*Fix refreshing more than once in a single list instance causing following issues:<br />
**Crash during parsing of morning or evening passes after 10 day was enabled in previous refresh.<br />
**Evening passes fetching morning instead if 10 day was disabled and morning was enabled in previous refresh,<br />
**Night flares fetching daytime instead if daytime was enabled in previous refresh.<br />
*Progress dialog indicates the number of events in list being parsed, instead of always showing 100.<br />
*Fix countdown timer not automatically appearing for next event in Alerts if Remove Old Events is disabled.<br />
*If existing instance of Alerts screen is at top of process when opening notification, it is used instead of starting a second Alerts instance.<br />
*When opening Alerts, the tab with the next event is selected.<br />
*Pro: Allow fetching multiple days of all passes, configurable between 1-10 days. It's a bit on the experimental side, but nonetheless very useful. Disabled by default, using the old and reliable method of fetching up to 24 hours.<br />
*Slight increase in sorting performance and albeit more accurate as well. Sorting now happens as a single action after parsing instead of while parsing each event.<br />
*Broke some night mode styling in Preferences due to style inheritance breaking in current revision of SDK. This change only affects 2.0 - 2.2, all the other SDK's have always had broken inheritance.<br />
<br />
==== v1.1.0.1 [2011-07-13] ====<br />
*Fix [http://tracker.pilot51.com/show_bug.cgi?id=18 bug 18] (hopefully): Crash immediately after downloading lists. Couldn't reproduce based on limited information of crash reports & haven't been contacted directly about this.<br />
*Time difference threshold for existing events from 10 to 40 minutes. Avoids duplicate events showing up in alerts if 10-day list not updated for awhile and prediction changes by more than 10 minutes.<br />
<br />
==== v1.1.0 [2011-06-07] ====<br />
*Tabs are used in Alerts and Sightings to select Passes and Flares lists, instead of splitting both lists on screen. The tabs indicate exactly the list associated with it (Pass/Flare Alerts/Sightings) and the number of events in each.<br />
*Add confirmation dialog when clearing alerts or sightings lists.<br />
*Add customizable notification message for TTS (Pro) and bubbles. Variables: Satellite name, event type, and minutes until event.<br />
*Fix displayed time for stored events not changing when timezone is changed, plus other issues with using a different timezone than the phone.<br />
*Satellite name is above countdown instead of in parentheses after, or in landscape mode the name is aligned to the right.<br />
*Increased font size of countdown and made bold.<br />
*Increased minimum height of list items about 2x to make them easier to touch.<br />
*Event timer is shown for the next event when opening list.<br />
*Add preferences to toggle messages for tips and updated alert times.<br />
*Single-digit days are formatted without "0" prefix.<br />
*Free: Fix space allowed in Alert Time preference, which causes alerts to not work.<br />
*Pro: Timestamp included in filename of exported sightings CSV with pattern of yyyyMMddHHmm, preventing any unwanted overwrites.<br />
*Fix progress not updating while parsing flares.<br />
*Preferences and night mode menu options now accessible from lists.<br />
*Preferences are categorized into different screens.<br />
*10-day passes - ISS replaced with USSC ID entry. Free allows only one entry, Pro is space-separated. ISS is default.<br />
*Fix toast message showing string resource ID instead of "Timezone set to" when detecting timezone in preferences.<br />
*Events are removed from alerts and main lists a custom number of minutes (default: 10) after they have completely passed. Check is only performed when opening or refreshing list.<br />
*Lists are populated in UI (behind progress dialog) as parsing progresses.<br />
*All lists are loaded to memory at launch and remains until app is closed, making it very quick to open lists.<br />
*New list is only downloaded if manually refreshed from menu, cache is empty, or a custom number of hours (default: 6) have passed since last refresh.<br />
*Huge performance boost for parsing, about 15-30x faster! (all 3 pass lists timed on G1 going from 285 to 10 sec. and Droid from 65 to 5 sec., including download time)<br />
*Fix inability to load saved data across different ROMs. Data is now saved in an SQLite database. Data from 1.0.7 is moved at first launch.<br />
*Removed: Backwards compatibility for alerts and sightings saved as cache in v1.0.6 and earlier. If you have not run any of the v1.0.7 releases, data from older versions will be lost.<br />
<br />
==== v1.0.7.8 [2011-05-21] ====<br />
*Fix automatic location starting when night mode is toggled.<br />
*Pro: Fix colon at end of "Move to Sightings" in context menu for Alerts.<br />
*Fix crash when opening context menu in Passes/Flares lists after loading from cache.<br />
<br />
==== v1.0.7.7 [2011-05-19] ====<br />
*Fix automatic location starting when orientation changes.<br />
*Fix crash at start when Automatic Location is enabled. Thanks for crash reports, I didn't think to test it.<br />
<br />
==== v1.0.7.6 [2011-05-19] ====<br />
*Fix crash when opening preferences while using night mode for Android 2.0 and 2.3.1 to 3.1.<br />
*Free: Fix problems (crash?) at launch for Android 2.3.x. Greystripe issue, had to disable option for full-screen ads in 2.3.x.<br />
*Fix coordinates update stopping when orientation changes.<br />
*Fix inability to get altitude coordinates because receiving location from network prevents GPS from providing it. Now continues searching for GPS after network location received if GPS is enabled.<br />
*Fix Get Coordinates button disabled with GPS even if Network Location enabled.<br />
*All interface-visible text moved from code into XML string resources to make ready for translating. Please contact me if you would like to help translate.<br />
<br />
==== v1.0.7.5 [2011-05-10] ====<br />
*Fix crash during parsing with most system languages. English was the only unaffected language in all versions of Android.<br />
*Fix Alerts and Sightings buttons not appearing correctly in Android 1.5.<br />
<br />
==== v1.0.7.4 [2011-03-19] ====<br />
*Fix inability to scroll in About dialog for 1.5 and 1.6.<br />
*Fix inability to cancel download, a problem if there is connectivity but HA isn't responding.<br />
*Fix lists or browser restarting when physical keyboard opened/closed.<br />
*Fix several elements not changing for night mode. There are still some not changing, but it's greatly improved.<br />
*Fix crash when received data is not from Heavens-Above, such as a network login page. [2.2+ crash report]<br />
*Fix button backlight stuck on (mistake in code from previous update).<br />
<br />
==== v1.0.7.3 [2011-02-02] ====<br />
*Fix crash at launch in Android 2.1 caused by uncaught NoSuchFieldError when trying to set button brightness. [reported by 2 users in Market]<br />
<br />
==== v1.0.7.2 [2011-02-01] ====<br />
*Pro: Fix existing alerts not being updated if auto-alerts disabled.<br />
*Fix crash from bad parsing of single-digit day in start date range of 10-day ISS.<br />
<br />
==== v1.0.7.1 [2011-01-29] ====<br />
*Disabled links in About dialog text, tends to be more trouble than it's worth (turned 1.0.7.1 into link).<br />
*Fix crash when opening notification.<br />
<br />
==== v1.0.7 [2011-01-29] ====<br />
*Alerts & sightings data moved from app cache to files, so clearing cache from Android app manager won't delete it.<br />
*Remove preference to delete data. Avoids accidental deletion, menu on Alerts/Sightings screens should be safer.<br />
*Remove preference to clear coordinates. Not necessary since it's just as easy to manually clear coordinates.<br />
*Free: Existing alerts are automatically updated when new data is loaded. (Pro already had this with auto-alerts)<br />
*Pro: Option in preferences to export sightings to sdcard as CSV files, uses WRITE_EXTERNAL_STORAGE permission.<br />
*Messages for updated alerts will only appear if the time has changed and shows the old and new times.<br />
*Threshold for duplicate alert/sighting check increased from 10 seconds to 10 minutes.<br />
*Pro: If event is in alerts, Add Sighting becomes Move to Sightings in context menu.<br />
*Pro: Add Sighting is disabled until 2 minutes before event start.<br />
*Add Alert is disabled for events that have already started, also applies for auto-alerts in Pro.<br />
*Buttons on main screen repositioned.<br />
*Add ACCESS_NETWORK_STATE permission for connectivity detection, also required by Greystripe in Free version.<br />
*Connectivity is now checked before attempting to access.<br />
*Add 10-day ISS list. (optional) [Suggested by Seth]<br />
*Countdown to start, max, and end instead of just start.<br />
*Countdown is initiated by tapping an event instead of from the context menu.<br />
*Include daytime flares in list. (optional)<br />
*Add progress dialog in list showing what is loading and percentage of each process. [Suggested by SuM_WuN]<br />
*Better performance with the use of multiple threads and other optimizations.<br />
*Add quiet time: No alert notifications between certain times of day. [Suggested by Rick]<br />
*Fix location search stopping when invalid coordinates received.<br />
*Add network location (works seamlessly with GPS) and message indicating what provided the coordinates.<br />
*After opening notification, pressing back button from Alerts opens main screen.<br />
*Fix missing indication of disabled GPS on GPS button. [Reported by ka0ticstyle]<br />
*Volume buttons control notification volume, or media volume if TTS is enabled.<br />
*Fix browser closing when orientation changes.<br />
*Add date on satellite passes lists. [Suggested by Rick]<br />
*Button backlight turns off in Night Mode if supported by API and hardware.<br />
*Fix exiting with back button causing home screen folder in background to close.<br />
*Fix empty countdown view and list header color missing when returning to list from web browser.<br />
*Main and preferences screens are not restarted when changing timezone or alert time.<br />
*Free: Option to toggle between banner ads or full screen ad at launch.<br />
*Free: READ_PHONE_STATE permission required by Greystripe.<br />
*Free: Greystripe ads.<br />
*Free: Update SDKs for AdWhirl and AdMob.<br />
*Pro: Remove option for ads.<br />
*Instead of buttons for each list on Heavens-Above site, one button for the homepage.<br />
*Remove changelog.<br />
<br />
==== v1.0.6 [2010-10-14] ====<br />
*Initial release of Pro.<br />
*Fix countdown timer way off after orientation change.<br />
*Pro: Sightings log.<br />
*Pro: Alerts automatically created based on custom magnitude when list is loaded with new data.<br />
*Fix back button not working as expected in web view.<br />
*Night mode uses color filtering instead of replacing graphics with plain colors.<br />
*Ad manager is AdWhirl, which provides much more flexibility with multiple ad networks.<br />
*Pro: Text-To-Speech alerts.<br />
*Pro: Multiple alert times can be set, space separated.<br />
*Pro: Ads are disabled by default and can be toggled.<br />
*Fix detection of existing alerts with certain differences in data, alert is updated when required.<br />
*Fix value shown in title of 'Alert time' preference stacking when changed.<br />
==== v1.0.5 [2010-09-24] ====<br />
*Alert time preference shows the current setting in its title.<br />
*Alert lists are sorted by event time instead of order they were added.<br />
*Add description on Timezone preference clarifying that it is the standard GMT offset.<br />
*Add menu option on main screen to toggle night mode.<br />
*Add menu options in Alerts view to clear either list.<br />
*Detect incompatible alerts at launch and delete along with cache, preventing crash after version upgrade.<br />
*Fix detection of existing alerts created in different list instances.<br />
*Alerts can be removed through event lists.<br />
*Events can be added to alerts even if alerts are currently disabled.<br />
*If invalid GPS coordinates received, show error instead of crashing.<br />
*Toast notification at alert trigger.<br />
*Notification timer is much more efficient, using a native method instead of a very bloated and often buggy countdown.<br />
*Try setting timezone automatically at launch if not set.<br />
*Fix error when parser encounters trimmed/optimized HTML. (Thanks to [http://twitter.com/SkepticBarista SkepticBarista]!)<br />
*Fix expired alerts being triggered on service modification/start if alert time is set to 0.<br />
==== v1.0.4 [2010-09-02] ====<br />
*Fix event timer timezone not being calculated properly for timezones different from phone.<br />
*Significantly reduced possibility of alerts being skipped because of lag.<br />
*If parser runs into problem, show error and try loading cache instead of crashing.<br />
==== v1.0.3 [2010-08-31] ====<br />
*Save coordinates when opening preferences.<br />
*Fix alert time not applying to existing alerts when changed.<br />
*Fix crash when both pass periods are selected and one of them returns no passes.<br />
*Fix crash when alert is triggered and ringtone was not configured.<br />
*Fix DST sometimes being 'forgotten' while running in background as service.<br />
==== v1.0.1 and v1.0.2 [2010-08-28] ====<br />
*Fix two crashes in the web browser.<br />
==== v1.0.0 [2010-08-28] ====<br />
*Initial release to the Android Market!<br />
<br /><br />
'''Started development on 2010-06-29'''<br />
[[Category:Android]]</div>Pilot 51https://pilot51.com/w/index.php?title=PrediSat&diff=1307PrediSat2012-07-31T12:16:35Z<p>Pilot 51: /* v1.2.0 [2012-07-31] */ Released.</p>
<hr />
<div>'''PrediSat''' is an Android app that grabs Iridium flare and satellite pass data from [http://Heavens-Above.com Heavens-Above.com] and formats it for the small screen of the phone. It also includes a few features to make satellite watching easier, such as alerts, countdowns, and night mode.<br /><br />
[[Image:predisat_qrcode.png|right|250px|Read this QR Code with an Android device to go to PrediSat in the Android Market]]<br />
<br /><br />
== Links ==<br />
*<b>[http://market.android.com/details?id=com.pilot51.predisat PrediSat on Android Market]</b><br />
*<b>[http://market.android.com/details?id=com.pilot51.predisatpro PrediSat Pro on Android Market]</b><br />
*[http://www.appbrain.com/app/com.pilot51.predisat PrediSat on AppBrain]<br />
*[http://www.appbrain.com/app/com.pilot51.predisatpro PrediSat Pro on AppBrain]<br />
*[http://heavens-above.com Heavens-Above] (the source of satellite data for PrediSat)<br />
*<b>[http://tracker.pilot51.com/describecomponents.cgi?product=PrediSat PrediSat issue tracker]</b> (view or submit problems and suggestions)<br />
*[http://predisat.com PrediSat.com] (forwards here)<br />
<br /><br /><br />
<br />
== Pro version ==<br />
[[Image:predisatpro_qrcode.png|right|220px|Read this QR Code with an Android device to go to PrediSat Pro in the Android Market]]<br />
The Pro version adds some advanced features on top of what is available in the free version. It may also include early features that will later be added to the free version.<br /><br />
Price is $1 (USD).<br /><br />
<br /><br />
Current Pro-only features:<br /><br />
*Multiple satellite USSC ID's can be entered for 10-day pass predictions<br />
*Multiple alerts per event can be set<br /><br />
*Text-To-Speech alerts (optional)<br /><br />
*Alerts automatically created based on custom magnitude when list is loaded with new data (optional)<br /><br />
*Sightings log<br /><br />
*Export sightings to CSV<br /><br />
*No ads<br /><br />
<br /><br />
<br />
== Changelog ==<br />
Dates are based on GMT.<br /><br />
==== v1.2.0 [2012-07-31] ====<br />
*New translations: German and Russian. Huge thanks to the translators, XoXFaby and Himura respectively!<br />
*Pro: Reverse sort order of sightings list, with more recent events towards top.<br />
*Add context option to add/remove selected satellite in 10 Days of Passes. In Free, this replaces existing entry, while Pro adds.<br />
*Add preference to force DST/Summer Time. Try this if time is off by an hour, especially useful for timezones that permanently do or don't observe DST. Note: Forcing DST just because your timezone permanently observes DST may not be what you want, this is because the GMT offset provided by Heavens-Above in the timezone name may already include DST.<br />
*Add Debug Mode preference. Requires WRITE_EXTERNAL_STORAGE permission to save debug.log and timestamped HTML files in [sdcard]/predisat/debug/. It is intended to be emailed to me, manually, if you have problems such as crashing. PRIVACY NOTICE: The configured coordinates are included in the debug files.<br />
*Open timezone list preference if detection fails.<br />
*Add screen title at top of list screens.<br />
*Fix DST / timezone changes not applying immediately.<br />
*Fix crash when fetching passes on some 3G carriers. [Huge thanks to Carol for being first to email me about it, 4 months after insufficient reports started!]<br />
*Fix crash when fetching passes on some 3G carriers. [Huge thanks to Carol for being first to email me about it, 4 months after insufficient reports started!]<br />
*Fix crash when getting coordinates on locales that use comma (,) instead of period (.) as a decimal separator.<br />
*Update timezone names.<br />
*Fix crash when parsing empty passes list.<br />
*Pro: Fix crash at alert in Android 1.5 due to TTS not supported (happened regardless of TTS preference).<br />
*Increase night mode backlight brightness. This is because at least one device (Xperia mini) is known to have a higher minimum brightness than G1.<br />
*Remove compatibility upgrade for v1.0.7 data.<br />
*Change "HA Website" button to "Heavens-Above.com".<br />
*Bottom buttons in main screen: Increase to 2 lines height, reduce font size in portrait orientation.<br />
<br />
==== v1.1.2.2 [2012-03-17] ====<br />
*Fix crash on some devices when downloading passes. Caused by using the wrong thread in a fallback when a more efficient method of getting the default user agent failed. The workaround was to open the in-app browser before downloading the list.<br />
*Fix first fetch of evening receiving (and blindly accepting) morning when morning is current, or vice versa if evening is disabled. Now evening will still receive current morning, but will detect it, hold that data for the morning fetch, and try again. This happens because a specific request can't be made until the first page is downloaded to receive a couple random session strings generated by the server which need to be sent back to the server with each request; those strings are kept for the life of the process.<br />
*Fix progress bar not working for morning/evening after initial fetch.<br />
<br />
==== v1.1.2.1 [2012-03-13] ====<br />
*Fix parsing of morning/evening passes lists. Caused by major changes to the all satellites page on Heavens-Above. Sorry again for the delay.<br />
*If the last pass for the current period (AM or PM) has ended, fetch the same period for the next day, or (Pro) an additional day if multiple days.<br />
*Remove requirement for location and GPS features (supports Google TV).<br />
<br />
==== v1.1.2 [2012-02-17] ====<br />
*Fix crash when parsing 10-day list. Caused by minor changes to the 10-day page on Heavens-Above around Feb. 12. Sorry for the delay.<br />
*Show year in Date column.<br />
*Add pass magnitude filters for 0.0-2.5 (0.5 step).<br />
*Remove pass magnitude 5.0 filter (no longer supported by HA).<br />
*Add option to clear cache.<br />
*Changing filter preference while in list now takes effect on next manual refresh without the need to close and reopen the list.<br />
*Minor improvements to layouts making it appear better on large screens.<br />
*Remove touchscreen requirement.<br />
*Free: Update AdWhirl, AdMob, and Greystripe ad SDKs to latest versions.<br />
*Free: Enable full-screen ad option for Android 2.3.x users since updated Greystripe SDK fixes a crash.<br />
<br />
==== v1.1.1.3 [2011-12-10] ====<br />
*Pro: TTS doesn't speak if phone is in silent mode or in a call.<br />
*Fix rash when trying to update coordinates on some devices that don't have GPS (Honeycomb/tablets).<br />
*Fix how process is closed. Bad practice of forcibly killing process because TTS service was badly coded and holding process open.<br />
<br />
==== v1.1.1.2 [2011-08-04] ====<br />
*Fix crash on somewhat rare occasion when opening Alerts, caused by wrong thread exception when automatically selecting initial tab.<br />
<br />
==== v1.1.1.1 [2011-07-29] ====<br />
*Fix crash when trying to sort empty list immediately after parsing. Thanks to a crash report for pointing it out!<br />
<br />
==== v1.1.1 [2011-07-28] ====<br />
*Fix refreshing more than once in a single list instance causing following issues:<br />
**Crash during parsing of morning or evening passes after 10 day was enabled in previous refresh.<br />
**Evening passes fetching morning instead if 10 day was disabled and morning was enabled in previous refresh,<br />
**Night flares fetching daytime instead if daytime was enabled in previous refresh.<br />
*Progress dialog indicates the number of events in list being parsed, instead of always showing 100.<br />
*Fix countdown timer not automatically appearing for next event in Alerts if Remove Old Events is disabled.<br />
*If existing instance of Alerts screen is at top of process when opening notification, it is used instead of starting a second Alerts instance.<br />
*When opening Alerts, the tab with the next event is selected.<br />
*Pro: Allow fetching multiple days of all passes, configurable between 1-10 days. It's a bit on the experimental side, but nonetheless very useful. Disabled by default, using the old and reliable method of fetching up to 24 hours.<br />
*Slight increase in sorting performance and albeit more accurate as well. Sorting now happens as a single action after parsing instead of while parsing each event.<br />
*Broke some night mode styling in Preferences due to style inheritance breaking in current revision of SDK. This change only affects 2.0 - 2.2, all the other SDK's have always had broken inheritance.<br />
<br />
==== v1.1.0.1 [2011-07-13] ====<br />
*Fix [http://tracker.pilot51.com/show_bug.cgi?id=18 bug 18] (hopefully): Crash immediately after downloading lists. Couldn't reproduce based on limited information of crash reports & haven't been contacted directly about this.<br />
*Time difference threshold for existing events from 10 to 40 minutes. Avoids duplicate events showing up in alerts if 10-day list not updated for awhile and prediction changes by more than 10 minutes.<br />
<br />
==== v1.1.0 [2011-06-07] ====<br />
*Tabs are used in Alerts and Sightings to select Passes and Flares lists, instead of splitting both lists on screen. The tabs indicate exactly the list associated with it (Pass/Flare Alerts/Sightings) and the number of events in each.<br />
*Add confirmation dialog when clearing alerts or sightings lists.<br />
*Add customizable notification message for TTS (Pro) and bubbles. Variables: Satellite name, event type, and minutes until event.<br />
*Fix displayed time for stored events not changing when timezone is changed, plus other issues with using a different timezone than the phone.<br />
*Satellite name is above countdown instead of in parentheses after, or in landscape mode the name is aligned to the right.<br />
*Increased font size of countdown and made bold.<br />
*Increased minimum height of list items about 2x to make them easier to touch.<br />
*Event timer is shown for the next event when opening list.<br />
*Add preferences to toggle messages for tips and updated alert times.<br />
*Single-digit days are formatted without "0" prefix.<br />
*Free: Fix space allowed in Alert Time preference, which causes alerts to not work.<br />
*Pro: Timestamp included in filename of exported sightings CSV with pattern of yyyyMMddHHmm, preventing any unwanted overwrites.<br />
*Fix progress not updating while parsing flares.<br />
*Preferences and night mode menu options now accessible from lists.<br />
*Preferences are categorized into different screens.<br />
*10-day passes - ISS replaced with USSC ID entry. Free allows only one entry, Pro is space-separated. ISS is default.<br />
*Fix toast message showing string resource ID instead of "Timezone set to" when detecting timezone in preferences.<br />
*Events are removed from alerts and main lists a custom number of minutes (default: 10) after they have completely passed. Check is only performed when opening or refreshing list.<br />
*Lists are populated in UI (behind progress dialog) as parsing progresses.<br />
*All lists are loaded to memory at launch and remains until app is closed, making it very quick to open lists.<br />
*New list is only downloaded if manually refreshed from menu, cache is empty, or a custom number of hours (default: 6) have passed since last refresh.<br />
*Huge performance boost for parsing, about 15-30x faster! (all 3 pass lists timed on G1 going from 285 to 10 sec. and Droid from 65 to 5 sec., including download time)<br />
*Fix inability to load saved data across different ROMs. Data is now saved in an SQLite database. Data from 1.0.7 is moved at first launch.<br />
*Removed: Backwards compatibility for alerts and sightings saved as cache in v1.0.6 and earlier. If you have not run any of the v1.0.7 releases, data from older versions will be lost.<br />
<br />
==== v1.0.7.8 [2011-05-21] ====<br />
*Fix automatic location starting when night mode is toggled.<br />
*Pro: Fix colon at end of "Move to Sightings" in context menu for Alerts.<br />
*Fix crash when opening context menu in Passes/Flares lists after loading from cache.<br />
<br />
==== v1.0.7.7 [2011-05-19] ====<br />
*Fix automatic location starting when orientation changes.<br />
*Fix crash at start when Automatic Location is enabled. Thanks for crash reports, I didn't think to test it.<br />
<br />
==== v1.0.7.6 [2011-05-19] ====<br />
*Fix crash when opening preferences while using night mode for Android 2.0 and 2.3.1 to 3.1.<br />
*Free: Fix problems (crash?) at launch for Android 2.3.x. Greystripe issue, had to disable option for full-screen ads in 2.3.x.<br />
*Fix coordinates update stopping when orientation changes.<br />
*Fix inability to get altitude coordinates because receiving location from network prevents GPS from providing it. Now continues searching for GPS after network location received if GPS is enabled.<br />
*Fix Get Coordinates button disabled with GPS even if Network Location enabled.<br />
*All interface-visible text moved from code into XML string resources to make ready for translating. Please contact me if you would like to help translate.<br />
<br />
==== v1.0.7.5 [2011-05-10] ====<br />
*Fix crash during parsing with most system languages. English was the only unaffected language in all versions of Android.<br />
*Fix Alerts and Sightings buttons not appearing correctly in Android 1.5.<br />
<br />
==== v1.0.7.4 [2011-03-19] ====<br />
*Fix inability to scroll in About dialog for 1.5 and 1.6.<br />
*Fix inability to cancel download, a problem if there is connectivity but HA isn't responding.<br />
*Fix lists or browser restarting when physical keyboard opened/closed.<br />
*Fix several elements not changing for night mode. There are still some not changing, but it's greatly improved.<br />
*Fix crash when received data is not from Heavens-Above, such as a network login page. [2.2+ crash report]<br />
*Fix button backlight stuck on (mistake in code from previous update).<br />
<br />
==== v1.0.7.3 [2011-02-02] ====<br />
*Fix crash at launch in Android 2.1 caused by uncaught NoSuchFieldError when trying to set button brightness. [reported by 2 users in Market]<br />
<br />
==== v1.0.7.2 [2011-02-01] ====<br />
*Pro: Fix existing alerts not being updated if auto-alerts disabled.<br />
*Fix crash from bad parsing of single-digit day in start date range of 10-day ISS.<br />
<br />
==== v1.0.7.1 [2011-01-29] ====<br />
*Disabled links in About dialog text, tends to be more trouble than it's worth (turned 1.0.7.1 into link).<br />
*Fix crash when opening notification.<br />
<br />
==== v1.0.7 [2011-01-29] ====<br />
*Alerts & sightings data moved from app cache to files, so clearing cache from Android app manager won't delete it.<br />
*Remove preference to delete data. Avoids accidental deletion, menu on Alerts/Sightings screens should be safer.<br />
*Remove preference to clear coordinates. Not necessary since it's just as easy to manually clear coordinates.<br />
*Free: Existing alerts are automatically updated when new data is loaded. (Pro already had this with auto-alerts)<br />
*Pro: Option in preferences to export sightings to sdcard as CSV files, uses WRITE_EXTERNAL_STORAGE permission.<br />
*Messages for updated alerts will only appear if the time has changed and shows the old and new times.<br />
*Threshold for duplicate alert/sighting check increased from 10 seconds to 10 minutes.<br />
*Pro: If event is in alerts, Add Sighting becomes Move to Sightings in context menu.<br />
*Pro: Add Sighting is disabled until 2 minutes before event start.<br />
*Add Alert is disabled for events that have already started, also applies for auto-alerts in Pro.<br />
*Buttons on main screen repositioned.<br />
*Add ACCESS_NETWORK_STATE permission for connectivity detection, also required by Greystripe in Free version.<br />
*Connectivity is now checked before attempting to access.<br />
*Add 10-day ISS list. (optional) [Suggested by Seth]<br />
*Countdown to start, max, and end instead of just start.<br />
*Countdown is initiated by tapping an event instead of from the context menu.<br />
*Include daytime flares in list. (optional)<br />
*Add progress dialog in list showing what is loading and percentage of each process. [Suggested by SuM_WuN]<br />
*Better performance with the use of multiple threads and other optimizations.<br />
*Add quiet time: No alert notifications between certain times of day. [Suggested by Rick]<br />
*Fix location search stopping when invalid coordinates received.<br />
*Add network location (works seamlessly with GPS) and message indicating what provided the coordinates.<br />
*After opening notification, pressing back button from Alerts opens main screen.<br />
*Fix missing indication of disabled GPS on GPS button. [Reported by ka0ticstyle]<br />
*Volume buttons control notification volume, or media volume if TTS is enabled.<br />
*Fix browser closing when orientation changes.<br />
*Add date on satellite passes lists. [Suggested by Rick]<br />
*Button backlight turns off in Night Mode if supported by API and hardware.<br />
*Fix exiting with back button causing home screen folder in background to close.<br />
*Fix empty countdown view and list header color missing when returning to list from web browser.<br />
*Main and preferences screens are not restarted when changing timezone or alert time.<br />
*Free: Option to toggle between banner ads or full screen ad at launch.<br />
*Free: READ_PHONE_STATE permission required by Greystripe.<br />
*Free: Greystripe ads.<br />
*Free: Update SDKs for AdWhirl and AdMob.<br />
*Pro: Remove option for ads.<br />
*Instead of buttons for each list on Heavens-Above site, one button for the homepage.<br />
*Remove changelog.<br />
<br />
==== v1.0.6 [2010-10-14] ====<br />
*Initial release of Pro.<br />
*Fix countdown timer way off after orientation change.<br />
*Pro: Sightings log.<br />
*Pro: Alerts automatically created based on custom magnitude when list is loaded with new data.<br />
*Fix back button not working as expected in web view.<br />
*Night mode uses color filtering instead of replacing graphics with plain colors.<br />
*Ad manager is AdWhirl, which provides much more flexibility with multiple ad networks.<br />
*Pro: Text-To-Speech alerts.<br />
*Pro: Multiple alert times can be set, space separated.<br />
*Pro: Ads are disabled by default and can be toggled.<br />
*Fix detection of existing alerts with certain differences in data, alert is updated when required.<br />
*Fix value shown in title of 'Alert time' preference stacking when changed.<br />
==== v1.0.5 [2010-09-24] ====<br />
*Alert time preference shows the current setting in its title.<br />
*Alert lists are sorted by event time instead of order they were added.<br />
*Add description on Timezone preference clarifying that it is the standard GMT offset.<br />
*Add menu option on main screen to toggle night mode.<br />
*Add menu options in Alerts view to clear either list.<br />
*Detect incompatible alerts at launch and delete along with cache, preventing crash after version upgrade.<br />
*Fix detection of existing alerts created in different list instances.<br />
*Alerts can be removed through event lists.<br />
*Events can be added to alerts even if alerts are currently disabled.<br />
*If invalid GPS coordinates received, show error instead of crashing.<br />
*Toast notification at alert trigger.<br />
*Notification timer is much more efficient, using a native method instead of a very bloated and often buggy countdown.<br />
*Try setting timezone automatically at launch if not set.<br />
*Fix error when parser encounters trimmed/optimized HTML. (Thanks to [http://twitter.com/SkepticBarista SkepticBarista]!)<br />
*Fix expired alerts being triggered on service modification/start if alert time is set to 0.<br />
==== v1.0.4 [2010-09-02] ====<br />
*Fix event timer timezone not being calculated properly for timezones different from phone.<br />
*Significantly reduced possibility of alerts being skipped because of lag.<br />
*If parser runs into problem, show error and try loading cache instead of crashing.<br />
==== v1.0.3 [2010-08-31] ====<br />
*Save coordinates when opening preferences.<br />
*Fix alert time not applying to existing alerts when changed.<br />
*Fix crash when both pass periods are selected and one of them returns no passes.<br />
*Fix crash when alert is triggered and ringtone was not configured.<br />
*Fix DST sometimes being 'forgotten' while running in background as service.<br />
==== v1.0.1 and v1.0.2 [2010-08-28] ====<br />
*Fix two crashes in the web browser.<br />
==== v1.0.0 [2010-08-28] ====<br />
*Initial release to the Android Market!<br />
<br /><br />
'''Started development on 2010-06-29'''<br />
[[Category:Android]]</div>Pilot 51https://pilot51.com/w/index.php?title=Lander_(Android)&diff=1306Lander (Android)2012-06-30T19:52:29Z<p>Pilot 51: /* v1.1.2 [2012-06-30] */ Released.</p>
<hr />
<div>[[Image:lander_qrcode.png|right|290px|Read this QR Code with an Android device to go to Lander in the Android Market]]<br />
<div class="floatright"><br />
<gallery widths=180 perrow=1><br />
Image:Lander-1.0.0_gameplay_WVGA.png|Gameplay screenshot from v1.0.0 on a WVGA (854x480) screen<br />
Image:Lander-1.0.0_gameplay_WXGA.png|Gameplay screenshot from v1.0.0 on a WXGA (1280x800, tablet) screen<br />
</gallery><br />
</div><br />
<br />
'''Lander''' is an Android port of the 1990 game by the same name for Windows 3.1, originally developed by [http://neurohack.com George Moromisato].<br /><br />
Full permission and v1.3 source code has been provided to aid in the development of this port.<br /><br />
<br /><br />
Lander is free with in-app billing to unlock exclusive gameplay modifications (currently $1 to unlock everything).<br /><br />
<br /><br /><br />
<br />
== Links ==<br />
*<b>[http://market.android.com/details?id=com.pilot51.lander Lander in Android Market]</b><br />
*[http://www.appbrain.com/app/com.pilot51.lander Lander on AppBrain]<br />
*<b>[http://tracker.pilot51.com/describecomponents.cgi?product=Lander Lander issue tracker]</b> (view or submit problems and suggestions)<br />
*[http://lander.pilot51.com lander.pilot51.com] (forwards here)<br />
*[[Lander (Java)|Java port of Lander]]<br />
*[[Lander|Original Lander for Windows]]<br />
<br /><br /><br />
<br />
== Modifications ==<br />
These are the gameplay modifications that are available to be unlocked in the current version.<br />
*Rotation<br />
**Side thrusters rotate lander instead of changing horizontal velocity<br />
<br /><br />
More are planned for future versions!<br /><br />
<br /><br />
== Changelog ==<br />
Dates are based on GMT.<br /><br />
==== v1.1.2 [2012-06-30] ====<br />
*Fix crash when opening Options or exiting in Android 4.0.3 & 4.1.<br />
*Fix crash when hiding Action Bar on tablets.<br />
<br />
==== v1.1.1 [2011-12-14] ====<br />
*Remove touchscreen requirement (makes compatible with Google TV).<br />
*Increase slider options by 1 step (looping) when clicked. Sort of a lame workaround for non-touch devices, just couldn't find an ideal solution to get left/right D-pad working with it.<br />
*Fix crash when closing Options within a few seconds of opening Gameplay modifications screen. This was caused by trying to stop the billing service before it started.<br />
*Fix crash when unlock key contains characters other than letters & numbers. Now entry is restricted to accepted characters.<br />
<br />
==== v1.1.0 [2011-09-23] ====<br />
This version changed from $1 to FREE in the Android Market!<br />
*Add option in Controls to scale on-screen buttons using a slider ranging 0.5x to 2.5x with increments of 0.1.<br />
*Add option in Controls to change on-screen button visibility (opacity) using a slider ranging 0-100% with 1% increments.<br />
*Add gameplay modification: Rotation.<br />
*Add in-app billing and unlock keys to unlock gameplay modifications.<br />
**In-app billing is a bit on the experimental side. From the testing I was able to do (Google severely limits the ability for developers to test with real purchases), it should work fine. If you have any problems with it, please let me know!<br />
**Unlock keys are only intended for those who have purchased previous versions and for my friends. If you have already paid for Lander, please feel free to use the built-in option to request a key via email.<br />
*Fix D-Pad not working correctly when assigning key.<br />
*Fix behavior of Default (classic options) so the changes are visible immediately without automatically restarting the activity.<br />
<br />
==== v1.0.1 [2011-04-27] ====<br />
*Add color end game images (they were included with original source but not used in game).<br />
*Change default setting for improvements from Classic to Improved.<br />
*Add Classic and Improved presets for improvements.<br />
*Changed some text for improvements options.<br />
*Add New and Restart buttons to end game dialog. [suggested by Sum_Wun]<br />
*Touching anywhere on screen starts game (like original game).<br />
*Fix version name (wasn't supposed to include "v" prefix, mostly noticeable in Android Market or Application info).<br />
<br />
==== v1.0.0 [2011-04-13] ====<br />
*Initial release to the Android Market!<br />
<br /><br />
'''Started development on 2011-03-22.'''<br /><br />
'''Received permission on 2011-02-16 and source code the next day.'''<br />
[[Category:Android]]</div>Pilot 51https://pilot51.com/w/index.php?title=Referrals&diff=1305Referrals2012-05-06T18:11:42Z<p>Pilot 51: Update Dropbox bonus, remove ZumoDrive.</p>
<hr />
<div>* [http://dropbox.pilot51.com Dropbox.com referral] - Both of us get an extra 500MB free when you sign up and install the Dropbox software.<br />
* [http://hover.pilot51.com Hover.com referral] - $2 off your purchase, credits me $2 toward my next purchase.<br />
* [http://elance.pilot51.com Elance.com referral] - You receive 10 bonus Connects, I earn either 10 Connects or $10.</div>Pilot 51https://pilot51.com/w/index.php?title=Voice_Notify&diff=1304Voice Notify2012-03-28T09:49:15Z<p>Pilot 51: /* v1.0.7.2 [2012-03-28] */ Released.</p>
<hr />
<div>[[Image:voicenotify_qrcode_l.png|right|210px|Scan this QR Code with an Android device to go to Voice Notify in the Android Market]]<br />
'''Voice Notify''' is an 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 /><br />
<br /><br />
Price: Free!<br /><br />
<br /><br />
== Links ==<br />
*<b>[http://market.android.com/details?id=com.pilot51.voicenotify Voice Notify on Android Market]</b><br />
*[http://appbrain.com/app/com.pilot51.voicenotify Voice Notify on AppBrain]<br />
*<b>[http://tracker.pilot51.com/describecomponents.cgi?product=Voice%20Notify Voice Notify issue tracker]</b> (view or submit problems and suggestions)<br />
*[http://pilot51.com/apk/voicenotify Direct download APK] (all versions available; not recommended for most users)<br />
*[http://voicenotify.pilot51.com voicenotify.pilot51.com] (forwards here)<br />
<br />
<br /><br />
== Changelog ==<br />
Dates are in GMT.<br />
==== v1.0.7.2 [2012-03-28] ====<br />
*Fix mislabeled device states (on and off were swapped).<br />
*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.<br />
<br />
==== v1.0.7.1 [2012-03-27] ====<br />
*Fix crash when notification received and Ignore Text is not set/initialized.<br />
<br />
==== v1.0.7 [2012-03-26] ====<br />
*Add Ignore Text preference.<br />
*Add Ignore Repeats preference. Default, which was previously hard-coded, is to ignore identical consecutive notifications within 10 seconds.<br />
*Add Silent/Vibrate to Device States preference. Default, which was previously hard-coded, is disabled (not speak).<br />
*Default ignore for new apps is based on Ignore All/None.<br />
*Change App List progress indicator to indeterminate title bar style since load time is much quicker.<br />
*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).<br />
*App search filtering now includes package names and search containing text instead of words starting with the search term.<br />
*Show toast message when running Test with Voice Notify ignored.<br />
*Check notification-independent ignores after TTS Delay instead of before.<br />
*Stop speaking if headset changes to ignored state.<br />
*Fix crash at service initialization on some (most?) Android 2.0.1 and lower devices.<br />
*Fix/enable TTS Settings for ICS.<br />
*Fix TTS Settings crash in Honeycomb & Android 4.0 (API 11-14).<br />
<br />
==== v1.0.6 [2012-01-10] ====<br />
*Add option for custom TTS Delay. Value in seconds.<br />
*Add headset on/off to device states. Note: Due to API limitations, all Bluetooth devices are detected the same, headset or not.<br />
*Add Bluetooth permission. Required to detect Bluetooth connections.<br />
*Add option to post a test notification. Delayed 5 seconds to allow user to, for example, turn off the screen.<br />
*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.<br />
*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.<br />
<br />
==== v1.0.5 [2011-12-18] ====<br />
*Fix [http://tracker.pilot51.com/10 issue 10]: App List jumps slightly when item toggled.<br />
*Fix crash when opening TTS Settings on Google TV.<br />
*Fix crash when filtering App List.<br />
*Ignore All/None only applies to apps in filter.<br />
<br />
==== v1.0.4 [2011-12-12] ====<br />
*Add option to select whether to speak with screen on or off. ([http://tracker.pilot51.com/25 issue 25])<br />
*Remove touchscreen requirement (makes compatible with Google TV).<br />
<br />
==== v1.0.3 [2011-10-23] ====<br />
*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!]<br />
*Special characters | [ ] { } * < > in notification messages are not spoken (replaced with a space).([http://tracker.pilot51.com/23 issue 23])<br />
*Change default audio stream back to Media.<br />
*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)<br />
*Notifications are ignored while phone is ringing or in a call.<br />
*Add Quiet Time option.<br />
*Add options to rate/comment (Market) or contact developer (email app).<br />
<br />
==== v1.0.2 [2011-04-05] ====<br />
*Fix Ignore All option creating duplicate ignores, sometimes requiring multiple touches to enable an app.<br />
*Add option to donate through Paypal (opens Paypal donate page in external browser).<br />
*Fix speaking of quickly repeated notifications (usually progress bars).<br />
*Add option to change TTS between Notification and Media audio streams. Solution to Bluetooth issue reported by SRadner.<br />
*Fix App List jumping to top when selection changed. (rough/temporary workaround, list still jumps by up to one item)<br />
<br />
==== v1.0.1 [2011-03-28] ====<br />
*Fix crash when custom TTS message contains an unsupported percent variable. [reported by SRadner]<br />
*TTS runs on Notification audio stream instead of Media stream, also removed control of media volume while displayed.<br />
*Add App List menu options to ignore all or none.<br />
<br />
==== v1.0.0 [2011-02-13] ====<br />
*Initial release to the Android Market!<br /><br />
<br /><br />
'''Started development on 2011-02-03'''<br />
[[Category:Android]]</div>Pilot 51https://pilot51.com/w/index.php?title=Main_Page&diff=1303Main Page2012-03-28T09:43:00Z<p>Pilot 51: Remove paragraph about wiki spam.</p>
<hr />
<div>Welcome to Pilot_51's Wiki.<br /><br />
<br /><br />
This wiki is intended to organize information regarding games, software development, and technology in general. It mainly focuses on my own projects.<br /><br />
<br /><br />
If you wish to contribute, in particular where information is missing such as the Battlefield 1942 and Xfire development articles, please [[#Contact | contact]] me and I can create an account for you.<br /><br />
== Major articles ==<br />
=== Android ===<br />
*[[Cannon]]<br />
*[[Coinflip]]<br />
*[[Lander (Android)]]<br />
*[[L-Clock]]<br />
*[[PrediSat]]<br />
*[[Voice Notify]]<br />
<br /><br />
=== Java ===<br />
*[[Lander (Java)]]<br />
<br /><br />
=== Battlefield 1942 ===<br />
*[[List of Battlefield 1942 properties]]<br />
*[[List of Battlefield 1942 objects]]<br />
*[[WWII Reality (BF1942 mod)]]<br />
*[[Battleship (BF1942 map)]]<br />
*[[Stunting Grounds (BF1942 map)]]<br />
<br /><br />
=== Xfire ===<br />
*[[Xfire coding]]<br />
<br /><br />
<br /><br />
<br />
== Contact ==<br />
I can be contacted through any of the mediums listed below.<br /><br />
Important note: If given the option, please explain why you are contacting me in your request or you WILL be denied! It is likely that requests will also be denied if it is impossible to include a message. This is because I get a lot of spammers. Email, Google+, Twitter, Xfire, or AIM are recommended.<br />
Email: pilota51(a)gmail.com<br />
AIM: PilotA51<br />
ICQ: 85196460<br />
MSN: areapilot51(a)hotmail.com<br />
Yahoo: Pilot_A51<br />
Skype: pilot_51<br />
Xfire: [http://xfire.com/profile/pilot51 pilot51]<br />
Steam: [http://steamcommunity.com/id/pilot51 Pilot_51]<br />
Twitter: [http://twitter.com/Pilot_51 Pilot_51]<br />
Google+: [http://plus.google.com/118433700808427873827 Mark Injerd]<br />
Mumble: Pilot_51 @ voice.pilot51.com</div>Pilot 51https://pilot51.com/w/index.php?title=MediaWiki:Sidebar&diff=1302MediaWiki:Sidebar2012-03-27T16:46:04Z<p>Pilot 51: Replace Hover referral with link to Referrals page.</p>
<hr />
<div>* wiki<br />
** mainpage | mainpage<br />
** Special:Categories | Browse categories<br />
** recentchanges-url | recentchanges<br />
** randompage-url | randompage<br />
** Special:AllPages | All pages<br />
** Special:Statistics | Statistics<br />
<br />
* pilot51.com<br />
** http://pilot51.com | Homepage (wiki)<br />
** http://forums.pilot51.com | Forums<br />
** http://tracker.pilot51.com | Bugzilla<br />
** http://stats.pilot51.com | Server stats<br />
<br />
* other<br />
** https://paypal.com/cgi-bin/webscr?cmd=_donations&business=pilota51@gmail.com&lc=US&item_name=Website%2fWiki&no_note=0&cn=Thank%20you%20message%2c%20usage%20request%2c%20etc%2e&no_shipping=1&currency_code=USD | Donate (PayPal)<br />
** Referrals | Referral links</div>Pilot 51https://pilot51.com/w/index.php?title=Referrals&diff=1301Referrals2012-03-27T16:32:09Z<p>Pilot 51: Created page with "* [http://dropbox.pilot51.com Dropbox.com referral] - Both of us get an extra 250MB free when you sign up and install the Dropbox software. * [http://hover.pilot51.com Hover.com ..."</p>
<hr />
<div>* [http://dropbox.pilot51.com Dropbox.com referral] - Both of us get an extra 250MB free when you sign up and install the Dropbox software.<br />
* [http://hover.pilot51.com Hover.com referral] - $2 off your purchase, credits me $2 toward my next purchase.<br />
* [http://elance.pilot51.com Elance.com referral] - You receive 10 bonus Connects, I earn either 10 Connects or $10.<br />
* [http://zumodrive.pilot51.com ZumoDrive.com referral] - Both of us get an extra 256MB free when you sign up and install the ZumoDrive software.</div>Pilot 51https://pilot51.com/w/index.php?title=Voice_Notify&diff=1300Voice Notify2012-03-27T00:24:24Z<p>Pilot 51: /* v1.0.7.1 [2012-03-27] */ Released.</p>
<hr />
<div>[[Image:voicenotify_qrcode_l.png|right|210px|Scan this QR Code with an Android device to go to Voice Notify in the Android Market]]<br />
'''Voice Notify''' is an 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 /><br />
<br /><br />
Price: Free!<br /><br />
<br /><br />
== Links ==<br />
*<b>[http://market.android.com/details?id=com.pilot51.voicenotify Voice Notify on Android Market]</b><br />
*[http://appbrain.com/app/com.pilot51.voicenotify Voice Notify on AppBrain]<br />
*<b>[http://tracker.pilot51.com/describecomponents.cgi?product=Voice%20Notify Voice Notify issue tracker]</b> (view or submit problems and suggestions)<br />
*[http://pilot51.com/apk/voicenotify Direct download APK] (all versions available; not recommended for most users)<br />
*[http://voicenotify.pilot51.com voicenotify.pilot51.com] (forwards here)<br />
<br />
<br /><br />
== Changelog ==<br />
Dates are in GMT.<br />
==== v1.0.7.1 [2012-03-27] ====<br />
*Fix crash when notification received and Ignore Text is not set/initialized.<br />
==== v1.0.7 [2012-03-26] ====<br />
*Add Ignore Text preference.<br />
*Add Ignore Repeats preference. Default, which was previously hard-coded, is to ignore identical consecutive notifications within 10 seconds.<br />
*Add Silent/Vibrate to Device States preference. Default, which was previously hard-coded, is disabled (not speak).<br />
*Default ignore for new apps is based on Ignore All/None.<br />
*Change App List progress indicator to indeterminate title bar style since load time is much quicker.<br />
*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).<br />
*App search filtering now includes package names and search containing text instead of words starting with the search term.<br />
*Show toast message when running Test with Voice Notify ignored.<br />
*Check notification-independent ignores after TTS Delay instead of before.<br />
*Stop speaking if headset changes to ignored state.<br />
*Fix crash at service initialization on some (most?) Android 2.0.1 and lower devices.<br />
*Fix/enable TTS Settings for ICS.<br />
*Fix TTS Settings crash in Honeycomb & Android 4.0 (API 11-14).<br />
<br />
==== v1.0.6 [2012-01-10] ====<br />
*Add option for custom TTS Delay. Value in seconds.<br />
*Add headset on/off to device states. Note: Due to API limitations, all Bluetooth devices are detected the same, headset or not.<br />
*Add Bluetooth permission. Required to detect Bluetooth connections.<br />
*Add option to post a test notification. Delayed 5 seconds to allow user to, for example, turn off the screen.<br />
*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.<br />
*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.<br />
<br />
==== v1.0.5 [2011-12-18] ====<br />
*Fix [http://tracker.pilot51.com/10 issue 10]: App List jumps slightly when item toggled.<br />
*Fix crash when opening TTS Settings on Google TV.<br />
*Fix crash when filtering App List.<br />
*Ignore All/None only applies to apps in filter.<br />
<br />
==== v1.0.4 [2011-12-12] ====<br />
*Add option to select whether to speak with screen on or off. ([http://tracker.pilot51.com/25 issue 25])<br />
*Remove touchscreen requirement (makes compatible with Google TV).<br />
<br />
==== v1.0.3 [2011-10-23] ====<br />
*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!]<br />
*Special characters | [ ] { } * < > in notification messages are not spoken (replaced with a space).([http://tracker.pilot51.com/23 issue 23])<br />
*Change default audio stream back to Media.<br />
*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)<br />
*Notifications are ignored while phone is ringing or in a call.<br />
*Add Quiet Time option.<br />
*Add options to rate/comment (Market) or contact developer (email app).<br />
<br />
==== v1.0.2 [2011-04-05] ====<br />
*Fix Ignore All option creating duplicate ignores, sometimes requiring multiple touches to enable an app.<br />
*Add option to donate through Paypal (opens Paypal donate page in external browser).<br />
*Fix speaking of quickly repeated notifications (usually progress bars).<br />
*Add option to change TTS between Notification and Media audio streams. Solution to Bluetooth issue reported by SRadner.<br />
*Fix App List jumping to top when selection changed. (rough/temporary workaround, list still jumps by up to one item)<br />
<br />
==== v1.0.1 [2011-03-28] ====<br />
*Fix crash when custom TTS message contains an unsupported percent variable. [reported by SRadner]<br />
*TTS runs on Notification audio stream instead of Media stream, also removed control of media volume while displayed.<br />
*Add App List menu options to ignore all or none.<br />
<br />
==== v1.0.0 [2011-02-13] ====<br />
*Initial release to the Android Market!<br /><br />
<br /><br />
'''Started development on 2011-02-03'''<br />
[[Category:Android]]</div>Pilot 51https://pilot51.com/w/index.php?title=Voice_Notify&diff=1299Voice Notify2012-03-26T21:29:24Z<p>Pilot 51: /* v1.0.7 [2012-03-26] */ Released.</p>
<hr />
<div>[[Image:voicenotify_qrcode_l.png|right|210px|Scan this QR Code with an Android device to go to Voice Notify in the Android Market]]<br />
'''Voice Notify''' is an 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 /><br />
<br /><br />
Price: Free!<br /><br />
<br /><br />
== Links ==<br />
*<b>[http://market.android.com/details?id=com.pilot51.voicenotify Voice Notify on Android Market]</b><br />
*[http://appbrain.com/app/com.pilot51.voicenotify Voice Notify on AppBrain]<br />
*<b>[http://tracker.pilot51.com/describecomponents.cgi?product=Voice%20Notify Voice Notify issue tracker]</b> (view or submit problems and suggestions)<br />
*[http://pilot51.com/apk/voicenotify Direct download APK] (all versions available; not recommended for most users)<br />
*[http://voicenotify.pilot51.com voicenotify.pilot51.com] (forwards here)<br />
<br />
<br /><br />
== Changelog ==<br />
Dates are in GMT.<br />
==== v1.0.7 [2012-03-26] ====<br />
*Add Ignore Text preference.<br />
*Add Ignore Repeats preference. Default, which was previously hard-coded, is to ignore identical consecutive notifications within 10 seconds.<br />
*Add Silent/Vibrate to Device States preference. Default, which was previously hard-coded, is disabled (not speak).<br />
*Default ignore for new apps is based on Ignore All/None.<br />
*Change App List progress indicator to indeterminate title bar style since load time is much quicker.<br />
*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).<br />
*App search filtering now includes package names and search containing text instead of words starting with the search term.<br />
*Show toast message when running Test with Voice Notify ignored.<br />
*Check notification-independent ignores after TTS Delay instead of before.<br />
*Stop speaking if headset changes to ignored state.<br />
*Fix crash at service initialization on some (most?) Android 2.0.1 and lower devices.<br />
*Fix/enable TTS Settings for ICS.<br />
*Fix TTS Settings crash in Honeycomb & Android 4.0 (API 11-14).<br />
<br />
==== v1.0.6 [2012-01-10] ====<br />
*Add option for custom TTS Delay. Value in seconds.<br />
*Add headset on/off to device states. Note: Due to API limitations, all Bluetooth devices are detected the same, headset or not.<br />
*Add Bluetooth permission. Required to detect Bluetooth connections.<br />
*Add option to post a test notification. Delayed 5 seconds to allow user to, for example, turn off the screen.<br />
*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.<br />
*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.<br />
<br />
==== v1.0.5 [2011-12-18] ====<br />
*Fix [http://tracker.pilot51.com/10 issue 10]: App List jumps slightly when item toggled.<br />
*Fix crash when opening TTS Settings on Google TV.<br />
*Fix crash when filtering App List.<br />
*Ignore All/None only applies to apps in filter.<br />
<br />
==== v1.0.4 [2011-12-12] ====<br />
*Add option to select whether to speak with screen on or off. ([http://tracker.pilot51.com/25 issue 25])<br />
*Remove touchscreen requirement (makes compatible with Google TV).<br />
<br />
==== v1.0.3 [2011-10-23] ====<br />
*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!]<br />
*Special characters | [ ] { } * < > in notification messages are not spoken (replaced with a space).([http://tracker.pilot51.com/23 issue 23])<br />
*Change default audio stream back to Media.<br />
*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)<br />
*Notifications are ignored while phone is ringing or in a call.<br />
*Add Quiet Time option.<br />
*Add options to rate/comment (Market) or contact developer (email app).<br />
<br />
==== v1.0.2 [2011-04-05] ====<br />
*Fix Ignore All option creating duplicate ignores, sometimes requiring multiple touches to enable an app.<br />
*Add option to donate through Paypal (opens Paypal donate page in external browser).<br />
*Fix speaking of quickly repeated notifications (usually progress bars).<br />
*Add option to change TTS between Notification and Media audio streams. Solution to Bluetooth issue reported by SRadner.<br />
*Fix App List jumping to top when selection changed. (rough/temporary workaround, list still jumps by up to one item)<br />
<br />
==== v1.0.1 [2011-03-28] ====<br />
*Fix crash when custom TTS message contains an unsupported percent variable. [reported by SRadner]<br />
*TTS runs on Notification audio stream instead of Media stream, also removed control of media volume while displayed.<br />
*Add App List menu options to ignore all or none.<br />
<br />
==== v1.0.0 [2011-02-13] ====<br />
*Initial release to the Android Market!<br /><br />
<br /><br />
'''Started development on 2011-02-03'''<br />
[[Category:Android]]</div>Pilot 51https://pilot51.com/w/index.php?title=PrediSat&diff=1298PrediSat2012-03-17T11:11:09Z<p>Pilot 51: /* v1.1.2.2 [2012-03-17] */ Add fixed progress bar bug.</p>
<hr />
<div>'''PrediSat''' is an Android app that grabs Iridium flare and satellite pass data from [http://Heavens-Above.com Heavens-Above.com] and formats it for the small screen of the phone. It also includes a few features to make satellite watching easier, such as alerts, countdowns, and night mode.<br /><br />
[[Image:predisat_qrcode.png|right|250px|Read this QR Code with an Android device to go to PrediSat in the Android Market]]<br />
<br /><br />
== Links ==<br />
*<b>[http://market.android.com/details?id=com.pilot51.predisat PrediSat on Android Market]</b><br />
*<b>[http://market.android.com/details?id=com.pilot51.predisatpro PrediSat Pro on Android Market]</b><br />
*[http://www.appbrain.com/app/com.pilot51.predisat PrediSat on AppBrain]<br />
*[http://www.appbrain.com/app/com.pilot51.predisatpro PrediSat Pro on AppBrain]<br />
*[http://heavens-above.com Heavens-Above] (the source of satellite data for PrediSat)<br />
*<b>[http://tracker.pilot51.com/describecomponents.cgi?product=PrediSat PrediSat issue tracker]</b> (view or submit problems and suggestions)<br />
*[http://predisat.com PrediSat.com] (forwards here)<br />
<br /><br /><br />
<br />
== Pro version ==<br />
[[Image:predisatpro_qrcode.png|right|220px|Read this QR Code with an Android device to go to PrediSat Pro in the Android Market]]<br />
The Pro version adds some advanced features on top of what is available in the free version. It may also include early features that will later be added to the free version.<br /><br />
Price is $1 (USD).<br /><br />
<br /><br />
Current Pro-only features:<br /><br />
*Multiple satellite USSC ID's can be entered for 10-day pass predictions<br />
*Multiple alerts per event can be set<br /><br />
*Text-To-Speech alerts (optional)<br /><br />
*Alerts automatically created based on custom magnitude when list is loaded with new data (optional)<br /><br />
*Sightings log<br /><br />
*Export sightings to CSV<br /><br />
*No ads<br /><br />
<br /><br />
<br />
== Changelog ==<br />
Dates are based on GMT.<br /><br />
==== v1.1.2.2 [2012-03-17] ====<br />
*Fix crash on some devices when downloading passes. Caused by using the wrong thread in a fallback when a more efficient method of getting the default user agent failed. The workaround was to open the in-app browser before downloading the list.<br />
*Fix first fetch of evening receiving (and blindly accepting) morning when morning is current, or vice versa if evening is disabled. Now evening will still receive current morning, but will detect it, hold that data for the morning fetch, and try again. This happens because a specific request can't be made until the first page is downloaded to receive a couple random session strings generated by the server which need to be sent back to the server with each request; those strings are kept for the life of the process.<br />
*Fix progress bar not working for morning/evening after initial fetch.<br />
<br />
==== v1.1.2.1 [2012-03-13] ====<br />
*Fix parsing of morning/evening passes lists. Caused by major changes to the all satellites page on Heavens-Above. Sorry again for the delay.<br />
*If the last pass for the current period (AM or PM) has ended, fetch the same period for the next day, or (Pro) an additional day if multiple days.<br />
*Remove requirement for location and GPS features (supports Google TV).<br />
<br />
==== v1.1.2 [2012-02-17] ====<br />
*Fix crash when parsing 10-day list. Caused by minor changes to the 10-day page on Heavens-Above around Feb. 12. Sorry for the delay.<br />
*Show year in Date column.<br />
*Add pass magnitude filters for 0.0-2.5 (0.5 step).<br />
*Remove pass magnitude 5.0 filter (no longer supported by HA).<br />
*Add option to clear cache.<br />
*Changing filter preference while in list now takes effect on next manual refresh without the need to close and reopen the list.<br />
*Minor improvements to layouts making it appear better on large screens.<br />
*Remove touchscreen requirement.<br />
*Free: Update AdWhirl, AdMob, and Greystripe ad SDKs to latest versions.<br />
*Free: Enable full-screen ad option for Android 2.3.x users since updated Greystripe SDK fixes a crash.<br />
<br />
==== v1.1.1.3 [2011-12-10] ====<br />
*Pro: TTS doesn't speak if phone is in silent mode or in a call.<br />
*Fix rash when trying to update coordinates on some devices that don't have GPS (Honeycomb/tablets).<br />
*Fix how process is closed. Bad practice of forcibly killing process because TTS service was badly coded and holding process open.<br />
<br />
==== v1.1.1.2 [2011-08-04] ====<br />
*Fix crash on somewhat rare occasion when opening Alerts, caused by wrong thread exception when automatically selecting initial tab.<br />
<br />
==== v1.1.1.1 [2011-07-29] ====<br />
*Fix crash when trying to sort empty list immediately after parsing. Thanks to a crash report for pointing it out!<br />
<br />
==== v1.1.1 [2011-07-28] ====<br />
*Fix refreshing more than once in a single list instance causing following issues:<br />
**Crash during parsing of morning or evening passes after 10 day was enabled in previous refresh.<br />
**Evening passes fetching morning instead if 10 day was disabled and morning was enabled in previous refresh,<br />
**Night flares fetching daytime instead if daytime was enabled in previous refresh.<br />
*Progress dialog indicates the number of events in list being parsed, instead of always showing 100.<br />
*Fix countdown timer not automatically appearing for next event in Alerts if Remove Old Events is disabled.<br />
*If existing instance of Alerts screen is at top of process when opening notification, it is used instead of starting a second Alerts instance.<br />
*When opening Alerts, the tab with the next event is selected.<br />
*Pro: Allow fetching multiple days of all passes, configurable between 1-10 days. It's a bit on the experimental side, but nonetheless very useful. Disabled by default, using the old and reliable method of fetching up to 24 hours.<br />
*Slight increase in sorting performance and albeit more accurate as well. Sorting now happens as a single action after parsing instead of while parsing each event.<br />
*Broke some night mode styling in Preferences due to style inheritance breaking in current revision of SDK. This change only affects 2.0 - 2.2, all the other SDK's have always had broken inheritance.<br />
<br />
==== v1.1.0.1 [2011-07-13] ====<br />
*Fix [http://tracker.pilot51.com/show_bug.cgi?id=18 bug 18] (hopefully): Crash immediately after downloading lists. Couldn't reproduce based on limited information of crash reports & haven't been contacted directly about this.<br />
*Time difference threshold for existing events from 10 to 40 minutes. Avoids duplicate events showing up in alerts if 10-day list not updated for awhile and prediction changes by more than 10 minutes.<br />
<br />
==== v1.1.0 [2011-06-07] ====<br />
*Tabs are used in Alerts and Sightings to select Passes and Flares lists, instead of splitting both lists on screen. The tabs indicate exactly the list associated with it (Pass/Flare Alerts/Sightings) and the number of events in each.<br />
*Add confirmation dialog when clearing alerts or sightings lists.<br />
*Add customizable notification message for TTS (Pro) and bubbles. Variables: Satellite name, event type, and minutes until event.<br />
*Fix displayed time for stored events not changing when timezone is changed, plus other issues with using a different timezone than the phone.<br />
*Satellite name is above countdown instead of in parentheses after, or in landscape mode the name is aligned to the right.<br />
*Increased font size of countdown and made bold.<br />
*Increased minimum height of list items about 2x to make them easier to touch.<br />
*Event timer is shown for the next event when opening list.<br />
*Add preferences to toggle messages for tips and updated alert times.<br />
*Single-digit days are formatted without "0" prefix.<br />
*Free: Fix space allowed in Alert Time preference, which causes alerts to not work.<br />
*Pro: Timestamp included in filename of exported sightings CSV with pattern of yyyyMMddHHmm, preventing any unwanted overwrites.<br />
*Fix progress not updating while parsing flares.<br />
*Preferences and night mode menu options now accessible from lists.<br />
*Preferences are categorized into different screens.<br />
*10-day passes - ISS replaced with USSC ID entry. Free allows only one entry, Pro is space-separated. ISS is default.<br />
*Fix toast message showing string resource ID instead of "Timezone set to" when detecting timezone in preferences.<br />
*Events are removed from alerts and main lists a custom number of minutes (default: 10) after they have completely passed. Check is only performed when opening or refreshing list.<br />
*Lists are populated in UI (behind progress dialog) as parsing progresses.<br />
*All lists are loaded to memory at launch and remains until app is closed, making it very quick to open lists.<br />
*New list is only downloaded if manually refreshed from menu, cache is empty, or a custom number of hours (default: 6) have passed since last refresh.<br />
*Huge performance boost for parsing, about 15-30x faster! (all 3 pass lists timed on G1 going from 285 to 10 sec. and Droid from 65 to 5 sec., including download time)<br />
*Fix inability to load saved data across different ROMs. Data is now saved in an SQLite database. Data from 1.0.7 is moved at first launch.<br />
*Removed: Backwards compatibility for alerts and sightings saved as cache in v1.0.6 and earlier. If you have not run any of the v1.0.7 releases, data from older versions will be lost.<br />
<br />
==== v1.0.7.8 [2011-05-21] ====<br />
*Fix automatic location starting when night mode is toggled.<br />
*Pro: Fix colon at end of "Move to Sightings" in context menu for Alerts.<br />
*Fix crash when opening context menu in Passes/Flares lists after loading from cache.<br />
<br />
==== v1.0.7.7 [2011-05-19] ====<br />
*Fix automatic location starting when orientation changes.<br />
*Fix crash at start when Automatic Location is enabled. Thanks for crash reports, I didn't think to test it.<br />
<br />
==== v1.0.7.6 [2011-05-19] ====<br />
*Fix crash when opening preferences while using night mode for Android 2.0 and 2.3.1 to 3.1.<br />
*Free: Fix problems (crash?) at launch for Android 2.3.x. Greystripe issue, had to disable option for full-screen ads in 2.3.x.<br />
*Fix coordinates update stopping when orientation changes.<br />
*Fix inability to get altitude coordinates because receiving location from network prevents GPS from providing it. Now continues searching for GPS after network location received if GPS is enabled.<br />
*Fix Get Coordinates button disabled with GPS even if Network Location enabled.<br />
*All interface-visible text moved from code into XML string resources to make ready for translating. Please contact me if you would like to help translate.<br />
<br />
==== v1.0.7.5 [2011-05-10] ====<br />
*Fix crash during parsing with most system languages. English was the only unaffected language in all versions of Android.<br />
*Fix Alerts and Sightings buttons not appearing correctly in Android 1.5.<br />
<br />
==== v1.0.7.4 [2011-03-19] ====<br />
*Fix inability to scroll in About dialog for 1.5 and 1.6.<br />
*Fix inability to cancel download, a problem if there is connectivity but HA isn't responding.<br />
*Fix lists or browser restarting when physical keyboard opened/closed.<br />
*Fix several elements not changing for night mode. There are still some not changing, but it's greatly improved.<br />
*Fix crash when received data is not from Heavens-Above, such as a network login page. [2.2+ crash report]<br />
*Fix button backlight stuck on (mistake in code from previous update).<br />
<br />
==== v1.0.7.3 [2011-02-02] ====<br />
*Fix crash at launch in Android 2.1 caused by uncaught NoSuchFieldError when trying to set button brightness. [reported by 2 users in Market]<br />
<br />
==== v1.0.7.2 [2011-02-01] ====<br />
*Pro: Fix existing alerts not being updated if auto-alerts disabled.<br />
*Fix crash from bad parsing of single-digit day in start date range of 10-day ISS.<br />
<br />
==== v1.0.7.1 [2011-01-29] ====<br />
*Disabled links in About dialog text, tends to be more trouble than it's worth (turned 1.0.7.1 into link).<br />
*Fix crash when opening notification.<br />
<br />
==== v1.0.7 [2011-01-29] ====<br />
*Alerts & sightings data moved from app cache to files, so clearing cache from Android app manager won't delete it.<br />
*Remove preference to delete data. Avoids accidental deletion, menu on Alerts/Sightings screens should be safer.<br />
*Remove preference to clear coordinates. Not necessary since it's just as easy to manually clear coordinates.<br />
*Free: Existing alerts are automatically updated when new data is loaded. (Pro already had this with auto-alerts)<br />
*Pro: Option in preferences to export sightings to sdcard as CSV files, uses WRITE_EXTERNAL_STORAGE permission.<br />
*Messages for updated alerts will only appear if the time has changed and shows the old and new times.<br />
*Threshold for duplicate alert/sighting check increased from 10 seconds to 10 minutes.<br />
*Pro: If event is in alerts, Add Sighting becomes Move to Sightings in context menu.<br />
*Pro: Add Sighting is disabled until 2 minutes before event start.<br />
*Add Alert is disabled for events that have already started, also applies for auto-alerts in Pro.<br />
*Buttons on main screen repositioned.<br />
*Add ACCESS_NETWORK_STATE permission for connectivity detection, also required by Greystripe in Free version.<br />
*Connectivity is now checked before attempting to access.<br />
*Add 10-day ISS list. (optional) [Suggested by Seth]<br />
*Countdown to start, max, and end instead of just start.<br />
*Countdown is initiated by tapping an event instead of from the context menu.<br />
*Include daytime flares in list. (optional)<br />
*Add progress dialog in list showing what is loading and percentage of each process. [Suggested by SuM_WuN]<br />
*Better performance with the use of multiple threads and other optimizations.<br />
*Add quiet time: No alert notifications between certain times of day. [Suggested by Rick]<br />
*Fix location search stopping when invalid coordinates received.<br />
*Add network location (works seamlessly with GPS) and message indicating what provided the coordinates.<br />
*After opening notification, pressing back button from Alerts opens main screen.<br />
*Fix missing indication of disabled GPS on GPS button. [Reported by ka0ticstyle]<br />
*Volume buttons control notification volume, or media volume if TTS is enabled.<br />
*Fix browser closing when orientation changes.<br />
*Add date on satellite passes lists. [Suggested by Rick]<br />
*Button backlight turns off in Night Mode if supported by API and hardware.<br />
*Fix exiting with back button causing home screen folder in background to close.<br />
*Fix empty countdown view and list header color missing when returning to list from web browser.<br />
*Main and preferences screens are not restarted when changing timezone or alert time.<br />
*Free: Option to toggle between banner ads or full screen ad at launch.<br />
*Free: READ_PHONE_STATE permission required by Greystripe.<br />
*Free: Greystripe ads.<br />
*Free: Update SDKs for AdWhirl and AdMob.<br />
*Pro: Remove option for ads.<br />
*Instead of buttons for each list on Heavens-Above site, one button for the homepage.<br />
*Remove changelog.<br />
<br />
==== v1.0.6 [2010-10-14] ====<br />
*Initial release of Pro.<br />
*Fix countdown timer way off after orientation change.<br />
*Pro: Sightings log.<br />
*Pro: Alerts automatically created based on custom magnitude when list is loaded with new data.<br />
*Fix back button not working as expected in web view.<br />
*Night mode uses color filtering instead of replacing graphics with plain colors.<br />
*Ad manager is AdWhirl, which provides much more flexibility with multiple ad networks.<br />
*Pro: Text-To-Speech alerts.<br />
*Pro: Multiple alert times can be set, space separated.<br />
*Pro: Ads are disabled by default and can be toggled.<br />
*Fix detection of existing alerts with certain differences in data, alert is updated when required.<br />
*Fix value shown in title of 'Alert time' preference stacking when changed.<br />
==== v1.0.5 [2010-09-24] ====<br />
*Alert time preference shows the current setting in its title.<br />
*Alert lists are sorted by event time instead of order they were added.<br />
*Add description on Timezone preference clarifying that it is the standard GMT offset.<br />
*Add menu option on main screen to toggle night mode.<br />
*Add menu options in Alerts view to clear either list.<br />
*Detect incompatible alerts at launch and delete along with cache, preventing crash after version upgrade.<br />
*Fix detection of existing alerts created in different list instances.<br />
*Alerts can be removed through event lists.<br />
*Events can be added to alerts even if alerts are currently disabled.<br />
*If invalid GPS coordinates received, show error instead of crashing.<br />
*Toast notification at alert trigger.<br />
*Notification timer is much more efficient, using a native method instead of a very bloated and often buggy countdown.<br />
*Try setting timezone automatically at launch if not set.<br />
*Fix error when parser encounters trimmed/optimized HTML. (Thanks to [http://twitter.com/SkepticBarista SkepticBarista]!)<br />
*Fix expired alerts being triggered on service modification/start if alert time is set to 0.<br />
==== v1.0.4 [2010-09-02] ====<br />
*Fix event timer timezone not being calculated properly for timezones different from phone.<br />
*Significantly reduced possibility of alerts being skipped because of lag.<br />
*If parser runs into problem, show error and try loading cache instead of crashing.<br />
==== v1.0.3 [2010-08-31] ====<br />
*Save coordinates when opening preferences.<br />
*Fix alert time not applying to existing alerts when changed.<br />
*Fix crash when both pass periods are selected and one of them returns no passes.<br />
*Fix crash when alert is triggered and ringtone was not configured.<br />
*Fix DST sometimes being 'forgotten' while running in background as service.<br />
==== v1.0.1 and v1.0.2 [2010-08-28] ====<br />
*Fix two crashes in the web browser.<br />
==== v1.0.0 [2010-08-28] ====<br />
*Initial release to the Android Market!<br />
<br /><br />
'''Started development on 2010-06-29'''<br />
[[Category:Android]]</div>Pilot 51https://pilot51.com/w/index.php?title=PrediSat&diff=1297PrediSat2012-03-17T11:03:58Z<p>Pilot 51: /* v1.1.2.2 [2012-03-17] */ Released.</p>
<hr />
<div>'''PrediSat''' is an Android app that grabs Iridium flare and satellite pass data from [http://Heavens-Above.com Heavens-Above.com] and formats it for the small screen of the phone. It also includes a few features to make satellite watching easier, such as alerts, countdowns, and night mode.<br /><br />
[[Image:predisat_qrcode.png|right|250px|Read this QR Code with an Android device to go to PrediSat in the Android Market]]<br />
<br /><br />
== Links ==<br />
*<b>[http://market.android.com/details?id=com.pilot51.predisat PrediSat on Android Market]</b><br />
*<b>[http://market.android.com/details?id=com.pilot51.predisatpro PrediSat Pro on Android Market]</b><br />
*[http://www.appbrain.com/app/com.pilot51.predisat PrediSat on AppBrain]<br />
*[http://www.appbrain.com/app/com.pilot51.predisatpro PrediSat Pro on AppBrain]<br />
*[http://heavens-above.com Heavens-Above] (the source of satellite data for PrediSat)<br />
*<b>[http://tracker.pilot51.com/describecomponents.cgi?product=PrediSat PrediSat issue tracker]</b> (view or submit problems and suggestions)<br />
*[http://predisat.com PrediSat.com] (forwards here)<br />
<br /><br /><br />
<br />
== Pro version ==<br />
[[Image:predisatpro_qrcode.png|right|220px|Read this QR Code with an Android device to go to PrediSat Pro in the Android Market]]<br />
The Pro version adds some advanced features on top of what is available in the free version. It may also include early features that will later be added to the free version.<br /><br />
Price is $1 (USD).<br /><br />
<br /><br />
Current Pro-only features:<br /><br />
*Multiple satellite USSC ID's can be entered for 10-day pass predictions<br />
*Multiple alerts per event can be set<br /><br />
*Text-To-Speech alerts (optional)<br /><br />
*Alerts automatically created based on custom magnitude when list is loaded with new data (optional)<br /><br />
*Sightings log<br /><br />
*Export sightings to CSV<br /><br />
*No ads<br /><br />
<br /><br />
<br />
== Changelog ==<br />
Dates are based on GMT.<br /><br />
==== v1.1.2.2 [2012-03-17] ====<br />
*Fix crash on some devices when downloading passes. Caused by using the wrong thread in a fallback when a more efficient method of getting the default user agent failed. The workaround was to open the in-app browser before downloading the list.<br />
*Fix first fetch of evening receiving (and blindly accepting) morning when morning is current, or vice versa if evening is disabled. Now evening will still receive current morning, but will detect it, hold that data for the morning fetch, and try again. This happens because a specific request can't be made until the first page is downloaded to receive a couple random session strings generated by the server which need to be sent back to the server with each request; those strings are kept for the life of the process.<br />
<br />
==== v1.1.2.1 [2012-03-13] ====<br />
*Fix parsing of morning/evening passes lists. Caused by major changes to the all satellites page on Heavens-Above. Sorry again for the delay.<br />
*If the last pass for the current period (AM or PM) has ended, fetch the same period for the next day, or (Pro) an additional day if multiple days.<br />
*Remove requirement for location and GPS features (supports Google TV).<br />
<br />
==== v1.1.2 [2012-02-17] ====<br />
*Fix crash when parsing 10-day list. Caused by minor changes to the 10-day page on Heavens-Above around Feb. 12. Sorry for the delay.<br />
*Show year in Date column.<br />
*Add pass magnitude filters for 0.0-2.5 (0.5 step).<br />
*Remove pass magnitude 5.0 filter (no longer supported by HA).<br />
*Add option to clear cache.<br />
*Changing filter preference while in list now takes effect on next manual refresh without the need to close and reopen the list.<br />
*Minor improvements to layouts making it appear better on large screens.<br />
*Remove touchscreen requirement.<br />
*Free: Update AdWhirl, AdMob, and Greystripe ad SDKs to latest versions.<br />
*Free: Enable full-screen ad option for Android 2.3.x users since updated Greystripe SDK fixes a crash.<br />
<br />
==== v1.1.1.3 [2011-12-10] ====<br />
*Pro: TTS doesn't speak if phone is in silent mode or in a call.<br />
*Fix rash when trying to update coordinates on some devices that don't have GPS (Honeycomb/tablets).<br />
*Fix how process is closed. Bad practice of forcibly killing process because TTS service was badly coded and holding process open.<br />
<br />
==== v1.1.1.2 [2011-08-04] ====<br />
*Fix crash on somewhat rare occasion when opening Alerts, caused by wrong thread exception when automatically selecting initial tab.<br />
<br />
==== v1.1.1.1 [2011-07-29] ====<br />
*Fix crash when trying to sort empty list immediately after parsing. Thanks to a crash report for pointing it out!<br />
<br />
==== v1.1.1 [2011-07-28] ====<br />
*Fix refreshing more than once in a single list instance causing following issues:<br />
**Crash during parsing of morning or evening passes after 10 day was enabled in previous refresh.<br />
**Evening passes fetching morning instead if 10 day was disabled and morning was enabled in previous refresh,<br />
**Night flares fetching daytime instead if daytime was enabled in previous refresh.<br />
*Progress dialog indicates the number of events in list being parsed, instead of always showing 100.<br />
*Fix countdown timer not automatically appearing for next event in Alerts if Remove Old Events is disabled.<br />
*If existing instance of Alerts screen is at top of process when opening notification, it is used instead of starting a second Alerts instance.<br />
*When opening Alerts, the tab with the next event is selected.<br />
*Pro: Allow fetching multiple days of all passes, configurable between 1-10 days. It's a bit on the experimental side, but nonetheless very useful. Disabled by default, using the old and reliable method of fetching up to 24 hours.<br />
*Slight increase in sorting performance and albeit more accurate as well. Sorting now happens as a single action after parsing instead of while parsing each event.<br />
*Broke some night mode styling in Preferences due to style inheritance breaking in current revision of SDK. This change only affects 2.0 - 2.2, all the other SDK's have always had broken inheritance.<br />
<br />
==== v1.1.0.1 [2011-07-13] ====<br />
*Fix [http://tracker.pilot51.com/show_bug.cgi?id=18 bug 18] (hopefully): Crash immediately after downloading lists. Couldn't reproduce based on limited information of crash reports & haven't been contacted directly about this.<br />
*Time difference threshold for existing events from 10 to 40 minutes. Avoids duplicate events showing up in alerts if 10-day list not updated for awhile and prediction changes by more than 10 minutes.<br />
<br />
==== v1.1.0 [2011-06-07] ====<br />
*Tabs are used in Alerts and Sightings to select Passes and Flares lists, instead of splitting both lists on screen. The tabs indicate exactly the list associated with it (Pass/Flare Alerts/Sightings) and the number of events in each.<br />
*Add confirmation dialog when clearing alerts or sightings lists.<br />
*Add customizable notification message for TTS (Pro) and bubbles. Variables: Satellite name, event type, and minutes until event.<br />
*Fix displayed time for stored events not changing when timezone is changed, plus other issues with using a different timezone than the phone.<br />
*Satellite name is above countdown instead of in parentheses after, or in landscape mode the name is aligned to the right.<br />
*Increased font size of countdown and made bold.<br />
*Increased minimum height of list items about 2x to make them easier to touch.<br />
*Event timer is shown for the next event when opening list.<br />
*Add preferences to toggle messages for tips and updated alert times.<br />
*Single-digit days are formatted without "0" prefix.<br />
*Free: Fix space allowed in Alert Time preference, which causes alerts to not work.<br />
*Pro: Timestamp included in filename of exported sightings CSV with pattern of yyyyMMddHHmm, preventing any unwanted overwrites.<br />
*Fix progress not updating while parsing flares.<br />
*Preferences and night mode menu options now accessible from lists.<br />
*Preferences are categorized into different screens.<br />
*10-day passes - ISS replaced with USSC ID entry. Free allows only one entry, Pro is space-separated. ISS is default.<br />
*Fix toast message showing string resource ID instead of "Timezone set to" when detecting timezone in preferences.<br />
*Events are removed from alerts and main lists a custom number of minutes (default: 10) after they have completely passed. Check is only performed when opening or refreshing list.<br />
*Lists are populated in UI (behind progress dialog) as parsing progresses.<br />
*All lists are loaded to memory at launch and remains until app is closed, making it very quick to open lists.<br />
*New list is only downloaded if manually refreshed from menu, cache is empty, or a custom number of hours (default: 6) have passed since last refresh.<br />
*Huge performance boost for parsing, about 15-30x faster! (all 3 pass lists timed on G1 going from 285 to 10 sec. and Droid from 65 to 5 sec., including download time)<br />
*Fix inability to load saved data across different ROMs. Data is now saved in an SQLite database. Data from 1.0.7 is moved at first launch.<br />
*Removed: Backwards compatibility for alerts and sightings saved as cache in v1.0.6 and earlier. If you have not run any of the v1.0.7 releases, data from older versions will be lost.<br />
<br />
==== v1.0.7.8 [2011-05-21] ====<br />
*Fix automatic location starting when night mode is toggled.<br />
*Pro: Fix colon at end of "Move to Sightings" in context menu for Alerts.<br />
*Fix crash when opening context menu in Passes/Flares lists after loading from cache.<br />
<br />
==== v1.0.7.7 [2011-05-19] ====<br />
*Fix automatic location starting when orientation changes.<br />
*Fix crash at start when Automatic Location is enabled. Thanks for crash reports, I didn't think to test it.<br />
<br />
==== v1.0.7.6 [2011-05-19] ====<br />
*Fix crash when opening preferences while using night mode for Android 2.0 and 2.3.1 to 3.1.<br />
*Free: Fix problems (crash?) at launch for Android 2.3.x. Greystripe issue, had to disable option for full-screen ads in 2.3.x.<br />
*Fix coordinates update stopping when orientation changes.<br />
*Fix inability to get altitude coordinates because receiving location from network prevents GPS from providing it. Now continues searching for GPS after network location received if GPS is enabled.<br />
*Fix Get Coordinates button disabled with GPS even if Network Location enabled.<br />
*All interface-visible text moved from code into XML string resources to make ready for translating. Please contact me if you would like to help translate.<br />
<br />
==== v1.0.7.5 [2011-05-10] ====<br />
*Fix crash during parsing with most system languages. English was the only unaffected language in all versions of Android.<br />
*Fix Alerts and Sightings buttons not appearing correctly in Android 1.5.<br />
<br />
==== v1.0.7.4 [2011-03-19] ====<br />
*Fix inability to scroll in About dialog for 1.5 and 1.6.<br />
*Fix inability to cancel download, a problem if there is connectivity but HA isn't responding.<br />
*Fix lists or browser restarting when physical keyboard opened/closed.<br />
*Fix several elements not changing for night mode. There are still some not changing, but it's greatly improved.<br />
*Fix crash when received data is not from Heavens-Above, such as a network login page. [2.2+ crash report]<br />
*Fix button backlight stuck on (mistake in code from previous update).<br />
<br />
==== v1.0.7.3 [2011-02-02] ====<br />
*Fix crash at launch in Android 2.1 caused by uncaught NoSuchFieldError when trying to set button brightness. [reported by 2 users in Market]<br />
<br />
==== v1.0.7.2 [2011-02-01] ====<br />
*Pro: Fix existing alerts not being updated if auto-alerts disabled.<br />
*Fix crash from bad parsing of single-digit day in start date range of 10-day ISS.<br />
<br />
==== v1.0.7.1 [2011-01-29] ====<br />
*Disabled links in About dialog text, tends to be more trouble than it's worth (turned 1.0.7.1 into link).<br />
*Fix crash when opening notification.<br />
<br />
==== v1.0.7 [2011-01-29] ====<br />
*Alerts & sightings data moved from app cache to files, so clearing cache from Android app manager won't delete it.<br />
*Remove preference to delete data. Avoids accidental deletion, menu on Alerts/Sightings screens should be safer.<br />
*Remove preference to clear coordinates. Not necessary since it's just as easy to manually clear coordinates.<br />
*Free: Existing alerts are automatically updated when new data is loaded. (Pro already had this with auto-alerts)<br />
*Pro: Option in preferences to export sightings to sdcard as CSV files, uses WRITE_EXTERNAL_STORAGE permission.<br />
*Messages for updated alerts will only appear if the time has changed and shows the old and new times.<br />
*Threshold for duplicate alert/sighting check increased from 10 seconds to 10 minutes.<br />
*Pro: If event is in alerts, Add Sighting becomes Move to Sightings in context menu.<br />
*Pro: Add Sighting is disabled until 2 minutes before event start.<br />
*Add Alert is disabled for events that have already started, also applies for auto-alerts in Pro.<br />
*Buttons on main screen repositioned.<br />
*Add ACCESS_NETWORK_STATE permission for connectivity detection, also required by Greystripe in Free version.<br />
*Connectivity is now checked before attempting to access.<br />
*Add 10-day ISS list. (optional) [Suggested by Seth]<br />
*Countdown to start, max, and end instead of just start.<br />
*Countdown is initiated by tapping an event instead of from the context menu.<br />
*Include daytime flares in list. (optional)<br />
*Add progress dialog in list showing what is loading and percentage of each process. [Suggested by SuM_WuN]<br />
*Better performance with the use of multiple threads and other optimizations.<br />
*Add quiet time: No alert notifications between certain times of day. [Suggested by Rick]<br />
*Fix location search stopping when invalid coordinates received.<br />
*Add network location (works seamlessly with GPS) and message indicating what provided the coordinates.<br />
*After opening notification, pressing back button from Alerts opens main screen.<br />
*Fix missing indication of disabled GPS on GPS button. [Reported by ka0ticstyle]<br />
*Volume buttons control notification volume, or media volume if TTS is enabled.<br />
*Fix browser closing when orientation changes.<br />
*Add date on satellite passes lists. [Suggested by Rick]<br />
*Button backlight turns off in Night Mode if supported by API and hardware.<br />
*Fix exiting with back button causing home screen folder in background to close.<br />
*Fix empty countdown view and list header color missing when returning to list from web browser.<br />
*Main and preferences screens are not restarted when changing timezone or alert time.<br />
*Free: Option to toggle between banner ads or full screen ad at launch.<br />
*Free: READ_PHONE_STATE permission required by Greystripe.<br />
*Free: Greystripe ads.<br />
*Free: Update SDKs for AdWhirl and AdMob.<br />
*Pro: Remove option for ads.<br />
*Instead of buttons for each list on Heavens-Above site, one button for the homepage.<br />
*Remove changelog.<br />
<br />
==== v1.0.6 [2010-10-14] ====<br />
*Initial release of Pro.<br />
*Fix countdown timer way off after orientation change.<br />
*Pro: Sightings log.<br />
*Pro: Alerts automatically created based on custom magnitude when list is loaded with new data.<br />
*Fix back button not working as expected in web view.<br />
*Night mode uses color filtering instead of replacing graphics with plain colors.<br />
*Ad manager is AdWhirl, which provides much more flexibility with multiple ad networks.<br />
*Pro: Text-To-Speech alerts.<br />
*Pro: Multiple alert times can be set, space separated.<br />
*Pro: Ads are disabled by default and can be toggled.<br />
*Fix detection of existing alerts with certain differences in data, alert is updated when required.<br />
*Fix value shown in title of 'Alert time' preference stacking when changed.<br />
==== v1.0.5 [2010-09-24] ====<br />
*Alert time preference shows the current setting in its title.<br />
*Alert lists are sorted by event time instead of order they were added.<br />
*Add description on Timezone preference clarifying that it is the standard GMT offset.<br />
*Add menu option on main screen to toggle night mode.<br />
*Add menu options in Alerts view to clear either list.<br />
*Detect incompatible alerts at launch and delete along with cache, preventing crash after version upgrade.<br />
*Fix detection of existing alerts created in different list instances.<br />
*Alerts can be removed through event lists.<br />
*Events can be added to alerts even if alerts are currently disabled.<br />
*If invalid GPS coordinates received, show error instead of crashing.<br />
*Toast notification at alert trigger.<br />
*Notification timer is much more efficient, using a native method instead of a very bloated and often buggy countdown.<br />
*Try setting timezone automatically at launch if not set.<br />
*Fix error when parser encounters trimmed/optimized HTML. (Thanks to [http://twitter.com/SkepticBarista SkepticBarista]!)<br />
*Fix expired alerts being triggered on service modification/start if alert time is set to 0.<br />
==== v1.0.4 [2010-09-02] ====<br />
*Fix event timer timezone not being calculated properly for timezones different from phone.<br />
*Significantly reduced possibility of alerts being skipped because of lag.<br />
*If parser runs into problem, show error and try loading cache instead of crashing.<br />
==== v1.0.3 [2010-08-31] ====<br />
*Save coordinates when opening preferences.<br />
*Fix alert time not applying to existing alerts when changed.<br />
*Fix crash when both pass periods are selected and one of them returns no passes.<br />
*Fix crash when alert is triggered and ringtone was not configured.<br />
*Fix DST sometimes being 'forgotten' while running in background as service.<br />
==== v1.0.1 and v1.0.2 [2010-08-28] ====<br />
*Fix two crashes in the web browser.<br />
==== v1.0.0 [2010-08-28] ====<br />
*Initial release to the Android Market!<br />
<br /><br />
'''Started development on 2010-06-29'''<br />
[[Category:Android]]</div>Pilot 51https://pilot51.com/w/index.php?title=PrediSat&diff=1296PrediSat2012-03-13T02:03:54Z<p>Pilot 51: /* v1.1.2.1 [2012-03-13] */ Released.</p>
<hr />
<div>'''PrediSat''' is an Android app that grabs Iridium flare and satellite pass data from [http://Heavens-Above.com Heavens-Above.com] and formats it for the small screen of the phone. It also includes a few features to make satellite watching easier, such as alerts, countdowns, and night mode.<br /><br />
[[Image:predisat_qrcode.png|right|250px|Read this QR Code with an Android device to go to PrediSat in the Android Market]]<br />
<br /><br />
== Links ==<br />
*<b>[http://market.android.com/details?id=com.pilot51.predisat PrediSat on Android Market]</b><br />
*<b>[http://market.android.com/details?id=com.pilot51.predisatpro PrediSat Pro on Android Market]</b><br />
*[http://www.appbrain.com/app/com.pilot51.predisat PrediSat on AppBrain]<br />
*[http://www.appbrain.com/app/com.pilot51.predisatpro PrediSat Pro on AppBrain]<br />
*[http://heavens-above.com Heavens-Above] (the source of satellite data for PrediSat)<br />
*<b>[http://tracker.pilot51.com/describecomponents.cgi?product=PrediSat PrediSat issue tracker]</b> (view or submit problems and suggestions)<br />
*[http://predisat.com PrediSat.com] (forwards here)<br />
<br /><br /><br />
<br />
== Pro version ==<br />
[[Image:predisatpro_qrcode.png|right|220px|Read this QR Code with an Android device to go to PrediSat Pro in the Android Market]]<br />
The Pro version adds some advanced features on top of what is available in the free version. It may also include early features that will later be added to the free version.<br /><br />
Price is $1 (USD).<br /><br />
<br /><br />
Current Pro-only features:<br /><br />
*Multiple satellite USSC ID's can be entered for 10-day pass predictions<br />
*Multiple alerts per event can be set<br /><br />
*Text-To-Speech alerts (optional)<br /><br />
*Alerts automatically created based on custom magnitude when list is loaded with new data (optional)<br /><br />
*Sightings log<br /><br />
*Export sightings to CSV<br /><br />
*No ads<br /><br />
<br /><br />
<br />
== Changelog ==<br />
Dates are based on GMT.<br /><br />
==== v1.1.2.1 [2012-03-13] ====<br />
*Fix parsing of morning/evening passes lists. Caused by major changes to the all satellites page on Heavens-Above. Sorry again for the delay.<br />
*If the last pass for the current period (AM or PM) has ended, fetch the same period for the next day, or (Pro) an additional day if multiple days.<br />
*Remove requirement for location and GPS features (supports Google TV).<br />
<br />
==== v1.1.2 [2012-02-17] ====<br />
*Fix crash when parsing 10-day list. Caused by minor changes to the 10-day page on Heavens-Above around Feb. 12. Sorry for the delay.<br />
*Show year in Date column.<br />
*Add pass magnitude filters for 0.0-2.5 (0.5 step).<br />
*Remove pass magnitude 5.0 filter (no longer supported by HA).<br />
*Add option to clear cache.<br />
*Changing filter preference while in list now takes effect on next manual refresh without the need to close and reopen the list.<br />
*Minor improvements to layouts making it appear better on large screens.<br />
*Remove touchscreen requirement.<br />
*Free: Update AdWhirl, AdMob, and Greystripe ad SDKs to latest versions.<br />
*Free: Enable full-screen ad option for Android 2.3.x users since updated Greystripe SDK fixes a crash.<br />
<br />
==== v1.1.1.3 [2011-12-10] ====<br />
*Pro: TTS doesn't speak if phone is in silent mode or in a call.<br />
*Fix rash when trying to update coordinates on some devices that don't have GPS (Honeycomb/tablets).<br />
*Fix how process is closed. Bad practice of forcibly killing process because TTS service was badly coded and holding process open.<br />
<br />
==== v1.1.1.2 [2011-08-04] ====<br />
*Fix crash on somewhat rare occasion when opening Alerts, caused by wrong thread exception when automatically selecting initial tab.<br />
<br />
==== v1.1.1.1 [2011-07-29] ====<br />
*Fix crash when trying to sort empty list immediately after parsing. Thanks to a crash report for pointing it out!<br />
<br />
==== v1.1.1 [2011-07-28] ====<br />
*Fix refreshing more than once in a single list instance causing following issues:<br />
**Crash during parsing of morning or evening passes after 10 day was enabled in previous refresh.<br />
**Evening passes fetching morning instead if 10 day was disabled and morning was enabled in previous refresh,<br />
**Night flares fetching daytime instead if daytime was enabled in previous refresh.<br />
*Progress dialog indicates the number of events in list being parsed, instead of always showing 100.<br />
*Fix countdown timer not automatically appearing for next event in Alerts if Remove Old Events is disabled.<br />
*If existing instance of Alerts screen is at top of process when opening notification, it is used instead of starting a second Alerts instance.<br />
*When opening Alerts, the tab with the next event is selected.<br />
*Pro: Allow fetching multiple days of all passes, configurable between 1-10 days. It's a bit on the experimental side, but nonetheless very useful. Disabled by default, using the old and reliable method of fetching up to 24 hours.<br />
*Slight increase in sorting performance and albeit more accurate as well. Sorting now happens as a single action after parsing instead of while parsing each event.<br />
*Broke some night mode styling in Preferences due to style inheritance breaking in current revision of SDK. This change only affects 2.0 - 2.2, all the other SDK's have always had broken inheritance.<br />
<br />
==== v1.1.0.1 [2011-07-13] ====<br />
*Fix [http://tracker.pilot51.com/show_bug.cgi?id=18 bug 18] (hopefully): Crash immediately after downloading lists. Couldn't reproduce based on limited information of crash reports & haven't been contacted directly about this.<br />
*Time difference threshold for existing events from 10 to 40 minutes. Avoids duplicate events showing up in alerts if 10-day list not updated for awhile and prediction changes by more than 10 minutes.<br />
<br />
==== v1.1.0 [2011-06-07] ====<br />
*Tabs are used in Alerts and Sightings to select Passes and Flares lists, instead of splitting both lists on screen. The tabs indicate exactly the list associated with it (Pass/Flare Alerts/Sightings) and the number of events in each.<br />
*Add confirmation dialog when clearing alerts or sightings lists.<br />
*Add customizable notification message for TTS (Pro) and bubbles. Variables: Satellite name, event type, and minutes until event.<br />
*Fix displayed time for stored events not changing when timezone is changed, plus other issues with using a different timezone than the phone.<br />
*Satellite name is above countdown instead of in parentheses after, or in landscape mode the name is aligned to the right.<br />
*Increased font size of countdown and made bold.<br />
*Increased minimum height of list items about 2x to make them easier to touch.<br />
*Event timer is shown for the next event when opening list.<br />
*Add preferences to toggle messages for tips and updated alert times.<br />
*Single-digit days are formatted without "0" prefix.<br />
*Free: Fix space allowed in Alert Time preference, which causes alerts to not work.<br />
*Pro: Timestamp included in filename of exported sightings CSV with pattern of yyyyMMddHHmm, preventing any unwanted overwrites.<br />
*Fix progress not updating while parsing flares.<br />
*Preferences and night mode menu options now accessible from lists.<br />
*Preferences are categorized into different screens.<br />
*10-day passes - ISS replaced with USSC ID entry. Free allows only one entry, Pro is space-separated. ISS is default.<br />
*Fix toast message showing string resource ID instead of "Timezone set to" when detecting timezone in preferences.<br />
*Events are removed from alerts and main lists a custom number of minutes (default: 10) after they have completely passed. Check is only performed when opening or refreshing list.<br />
*Lists are populated in UI (behind progress dialog) as parsing progresses.<br />
*All lists are loaded to memory at launch and remains until app is closed, making it very quick to open lists.<br />
*New list is only downloaded if manually refreshed from menu, cache is empty, or a custom number of hours (default: 6) have passed since last refresh.<br />
*Huge performance boost for parsing, about 15-30x faster! (all 3 pass lists timed on G1 going from 285 to 10 sec. and Droid from 65 to 5 sec., including download time)<br />
*Fix inability to load saved data across different ROMs. Data is now saved in an SQLite database. Data from 1.0.7 is moved at first launch.<br />
*Removed: Backwards compatibility for alerts and sightings saved as cache in v1.0.6 and earlier. If you have not run any of the v1.0.7 releases, data from older versions will be lost.<br />
<br />
==== v1.0.7.8 [2011-05-21] ====<br />
*Fix automatic location starting when night mode is toggled.<br />
*Pro: Fix colon at end of "Move to Sightings" in context menu for Alerts.<br />
*Fix crash when opening context menu in Passes/Flares lists after loading from cache.<br />
<br />
==== v1.0.7.7 [2011-05-19] ====<br />
*Fix automatic location starting when orientation changes.<br />
*Fix crash at start when Automatic Location is enabled. Thanks for crash reports, I didn't think to test it.<br />
<br />
==== v1.0.7.6 [2011-05-19] ====<br />
*Fix crash when opening preferences while using night mode for Android 2.0 and 2.3.1 to 3.1.<br />
*Free: Fix problems (crash?) at launch for Android 2.3.x. Greystripe issue, had to disable option for full-screen ads in 2.3.x.<br />
*Fix coordinates update stopping when orientation changes.<br />
*Fix inability to get altitude coordinates because receiving location from network prevents GPS from providing it. Now continues searching for GPS after network location received if GPS is enabled.<br />
*Fix Get Coordinates button disabled with GPS even if Network Location enabled.<br />
*All interface-visible text moved from code into XML string resources to make ready for translating. Please contact me if you would like to help translate.<br />
<br />
==== v1.0.7.5 [2011-05-10] ====<br />
*Fix crash during parsing with most system languages. English was the only unaffected language in all versions of Android.<br />
*Fix Alerts and Sightings buttons not appearing correctly in Android 1.5.<br />
<br />
==== v1.0.7.4 [2011-03-19] ====<br />
*Fix inability to scroll in About dialog for 1.5 and 1.6.<br />
*Fix inability to cancel download, a problem if there is connectivity but HA isn't responding.<br />
*Fix lists or browser restarting when physical keyboard opened/closed.<br />
*Fix several elements not changing for night mode. There are still some not changing, but it's greatly improved.<br />
*Fix crash when received data is not from Heavens-Above, such as a network login page. [2.2+ crash report]<br />
*Fix button backlight stuck on (mistake in code from previous update).<br />
<br />
==== v1.0.7.3 [2011-02-02] ====<br />
*Fix crash at launch in Android 2.1 caused by uncaught NoSuchFieldError when trying to set button brightness. [reported by 2 users in Market]<br />
<br />
==== v1.0.7.2 [2011-02-01] ====<br />
*Pro: Fix existing alerts not being updated if auto-alerts disabled.<br />
*Fix crash from bad parsing of single-digit day in start date range of 10-day ISS.<br />
<br />
==== v1.0.7.1 [2011-01-29] ====<br />
*Disabled links in About dialog text, tends to be more trouble than it's worth (turned 1.0.7.1 into link).<br />
*Fix crash when opening notification.<br />
<br />
==== v1.0.7 [2011-01-29] ====<br />
*Alerts & sightings data moved from app cache to files, so clearing cache from Android app manager won't delete it.<br />
*Remove preference to delete data. Avoids accidental deletion, menu on Alerts/Sightings screens should be safer.<br />
*Remove preference to clear coordinates. Not necessary since it's just as easy to manually clear coordinates.<br />
*Free: Existing alerts are automatically updated when new data is loaded. (Pro already had this with auto-alerts)<br />
*Pro: Option in preferences to export sightings to sdcard as CSV files, uses WRITE_EXTERNAL_STORAGE permission.<br />
*Messages for updated alerts will only appear if the time has changed and shows the old and new times.<br />
*Threshold for duplicate alert/sighting check increased from 10 seconds to 10 minutes.<br />
*Pro: If event is in alerts, Add Sighting becomes Move to Sightings in context menu.<br />
*Pro: Add Sighting is disabled until 2 minutes before event start.<br />
*Add Alert is disabled for events that have already started, also applies for auto-alerts in Pro.<br />
*Buttons on main screen repositioned.<br />
*Add ACCESS_NETWORK_STATE permission for connectivity detection, also required by Greystripe in Free version.<br />
*Connectivity is now checked before attempting to access.<br />
*Add 10-day ISS list. (optional) [Suggested by Seth]<br />
*Countdown to start, max, and end instead of just start.<br />
*Countdown is initiated by tapping an event instead of from the context menu.<br />
*Include daytime flares in list. (optional)<br />
*Add progress dialog in list showing what is loading and percentage of each process. [Suggested by SuM_WuN]<br />
*Better performance with the use of multiple threads and other optimizations.<br />
*Add quiet time: No alert notifications between certain times of day. [Suggested by Rick]<br />
*Fix location search stopping when invalid coordinates received.<br />
*Add network location (works seamlessly with GPS) and message indicating what provided the coordinates.<br />
*After opening notification, pressing back button from Alerts opens main screen.<br />
*Fix missing indication of disabled GPS on GPS button. [Reported by ka0ticstyle]<br />
*Volume buttons control notification volume, or media volume if TTS is enabled.<br />
*Fix browser closing when orientation changes.<br />
*Add date on satellite passes lists. [Suggested by Rick]<br />
*Button backlight turns off in Night Mode if supported by API and hardware.<br />
*Fix exiting with back button causing home screen folder in background to close.<br />
*Fix empty countdown view and list header color missing when returning to list from web browser.<br />
*Main and preferences screens are not restarted when changing timezone or alert time.<br />
*Free: Option to toggle between banner ads or full screen ad at launch.<br />
*Free: READ_PHONE_STATE permission required by Greystripe.<br />
*Free: Greystripe ads.<br />
*Free: Update SDKs for AdWhirl and AdMob.<br />
*Pro: Remove option for ads.<br />
*Instead of buttons for each list on Heavens-Above site, one button for the homepage.<br />
*Remove changelog.<br />
<br />
==== v1.0.6 [2010-10-14] ====<br />
*Initial release of Pro.<br />
*Fix countdown timer way off after orientation change.<br />
*Pro: Sightings log.<br />
*Pro: Alerts automatically created based on custom magnitude when list is loaded with new data.<br />
*Fix back button not working as expected in web view.<br />
*Night mode uses color filtering instead of replacing graphics with plain colors.<br />
*Ad manager is AdWhirl, which provides much more flexibility with multiple ad networks.<br />
*Pro: Text-To-Speech alerts.<br />
*Pro: Multiple alert times can be set, space separated.<br />
*Pro: Ads are disabled by default and can be toggled.<br />
*Fix detection of existing alerts with certain differences in data, alert is updated when required.<br />
*Fix value shown in title of 'Alert time' preference stacking when changed.<br />
==== v1.0.5 [2010-09-24] ====<br />
*Alert time preference shows the current setting in its title.<br />
*Alert lists are sorted by event time instead of order they were added.<br />
*Add description on Timezone preference clarifying that it is the standard GMT offset.<br />
*Add menu option on main screen to toggle night mode.<br />
*Add menu options in Alerts view to clear either list.<br />
*Detect incompatible alerts at launch and delete along with cache, preventing crash after version upgrade.<br />
*Fix detection of existing alerts created in different list instances.<br />
*Alerts can be removed through event lists.<br />
*Events can be added to alerts even if alerts are currently disabled.<br />
*If invalid GPS coordinates received, show error instead of crashing.<br />
*Toast notification at alert trigger.<br />
*Notification timer is much more efficient, using a native method instead of a very bloated and often buggy countdown.<br />
*Try setting timezone automatically at launch if not set.<br />
*Fix error when parser encounters trimmed/optimized HTML. (Thanks to [http://twitter.com/SkepticBarista SkepticBarista]!)<br />
*Fix expired alerts being triggered on service modification/start if alert time is set to 0.<br />
==== v1.0.4 [2010-09-02] ====<br />
*Fix event timer timezone not being calculated properly for timezones different from phone.<br />
*Significantly reduced possibility of alerts being skipped because of lag.<br />
*If parser runs into problem, show error and try loading cache instead of crashing.<br />
==== v1.0.3 [2010-08-31] ====<br />
*Save coordinates when opening preferences.<br />
*Fix alert time not applying to existing alerts when changed.<br />
*Fix crash when both pass periods are selected and one of them returns no passes.<br />
*Fix crash when alert is triggered and ringtone was not configured.<br />
*Fix DST sometimes being 'forgotten' while running in background as service.<br />
==== v1.0.1 and v1.0.2 [2010-08-28] ====<br />
*Fix two crashes in the web browser.<br />
==== v1.0.0 [2010-08-28] ====<br />
*Initial release to the Android Market!<br />
<br /><br />
'''Started development on 2010-06-29'''<br />
[[Category:Android]]</div>Pilot 51https://pilot51.com/w/index.php?title=PrediSat&diff=1295PrediSat2012-02-17T20:52:07Z<p>Pilot 51: /* Changelog */ Mostly formatting.</p>
<hr />
<div>'''PrediSat''' is an Android app that grabs Iridium flare and satellite pass data from [http://Heavens-Above.com Heavens-Above.com] and formats it for the small screen of the phone. It also includes a few features to make satellite watching easier, such as alerts, countdowns, and night mode.<br /><br />
[[Image:predisat_qrcode.png|right|250px|Read this QR Code with an Android device to go to PrediSat in the Android Market]]<br />
<br /><br />
== Links ==<br />
*<b>[http://market.android.com/details?id=com.pilot51.predisat PrediSat on Android Market]</b><br />
*<b>[http://market.android.com/details?id=com.pilot51.predisatpro PrediSat Pro on Android Market]</b><br />
*[http://www.appbrain.com/app/com.pilot51.predisat PrediSat on AppBrain]<br />
*[http://www.appbrain.com/app/com.pilot51.predisatpro PrediSat Pro on AppBrain]<br />
*[http://heavens-above.com Heavens-Above] (the source of satellite data for PrediSat)<br />
*<b>[http://tracker.pilot51.com/describecomponents.cgi?product=PrediSat PrediSat issue tracker]</b> (view or submit problems and suggestions)<br />
*[http://predisat.com PrediSat.com] (forwards here)<br />
<br /><br /><br />
<br />
== Pro version ==<br />
[[Image:predisatpro_qrcode.png|right|220px|Read this QR Code with an Android device to go to PrediSat Pro in the Android Market]]<br />
The Pro version adds some advanced features on top of what is available in the free version. It may also include early features that will later be added to the free version.<br /><br />
Price is $1 (USD).<br /><br />
<br /><br />
Current Pro-only features:<br /><br />
*Multiple satellite USSC ID's can be entered for 10-day pass predictions<br />
*Multiple alerts per event can be set<br /><br />
*Text-To-Speech alerts (optional)<br /><br />
*Alerts automatically created based on custom magnitude when list is loaded with new data (optional)<br /><br />
*Sightings log<br /><br />
*Export sightings to CSV<br /><br />
*No ads<br /><br />
<br /><br />
<br />
== Changelog ==<br />
Dates are based on GMT.<br /><br />
==== v1.1.2 [2012-02-17] ====<br />
*Fix crash when parsing 10-day list, caused by changes on Heavens-Above around Feb. 12. (sorry for the delay)<br />
*Show year in Date column.<br />
*Add pass magnitude filters for 0.0-2.5 (0.5 step).<br />
*Remove pass magnitude 5.0 filter (no longer supported by HA).<br />
*Add option to clear cache.<br />
*Changing filter preference while in list now takes effect on next manual refresh without the need to close and reopen the list.<br />
*Minor improvements to layouts making it appear better on large screens.<br />
*Remove touchscreen requirement.<br />
*Free: Update AdWhirl, AdMob, and Greystripe ad SDKs to latest versions.<br />
*Free: Enable full-screen ad option for Android 2.3.x users since updated Greystripe SDK fixes a crash.<br />
<br />
==== v1.1.1.3 [2011-12-10] ====<br />
*Pro: TTS doesn't speak if phone is in silent mode or in a call.<br />
*Fix rash when trying to update coordinates on some devices that don't have GPS (Honeycomb/tablets).<br />
*Fix how process is closed. Bad practice of forcibly killing process because TTS service was badly coded and holding process open.<br />
<br />
==== v1.1.1.2 [2011-08-04] ====<br />
*Fix crash on somewhat rare occasion when opening Alerts, caused by wrong thread exception when automatically selecting initial tab.<br />
<br />
==== v1.1.1.1 [2011-07-29] ====<br />
*Fix crash when trying to sort empty list immediately after parsing. Thanks to a crash report for pointing it out!<br />
<br />
==== v1.1.1 [2011-07-28] ====<br />
*Fix refreshing more than once in a single list instance causing following issues:<br />
**Crash during parsing of morning or evening passes after 10 day was enabled in previous refresh.<br />
**Evening passes fetching morning instead if 10 day was disabled and morning was enabled in previous refresh,<br />
**Night flares fetching daytime instead if daytime was enabled in previous refresh.<br />
*Progress dialog indicates the number of events in list being parsed, instead of always showing 100.<br />
*Fix countdown timer not automatically appearing for next event in Alerts if Remove Old Events is disabled.<br />
*If existing instance of Alerts screen is at top of process when opening notification, it is used instead of starting a second Alerts instance.<br />
*When opening Alerts, the tab with the next event is selected.<br />
*Pro: Allow fetching multiple days of all passes, configurable between 1-10 days. It's a bit on the experimental side, but nonetheless very useful. Disabled by default, using the old and reliable method of fetching up to 24 hours.<br />
*Slight increase in sorting performance and albeit more accurate as well. Sorting now happens as a single action after parsing instead of while parsing each event.<br />
*Broke some night mode styling in Preferences due to style inheritance breaking in current revision of SDK. This change only affects 2.0 - 2.2, all the other SDK's have always had broken inheritance.<br />
<br />
==== v1.1.0.1 [2011-07-13] ====<br />
*Fix [http://tracker.pilot51.com/show_bug.cgi?id=18 bug 18] (hopefully): Crash immediately after downloading lists. Couldn't reproduce based on limited information of crash reports & haven't been contacted directly about this.<br />
*Time difference threshold for existing events from 10 to 40 minutes. Avoids duplicate events showing up in alerts if 10-day list not updated for awhile and prediction changes by more than 10 minutes.<br />
<br />
==== v1.1.0 [2011-06-07] ====<br />
*Tabs are used in Alerts and Sightings to select Passes and Flares lists, instead of splitting both lists on screen. The tabs indicate exactly the list associated with it (Pass/Flare Alerts/Sightings) and the number of events in each.<br />
*Add confirmation dialog when clearing alerts or sightings lists.<br />
*Add customizable notification message for TTS (Pro) and bubbles. Variables: Satellite name, event type, and minutes until event.<br />
*Fix displayed time for stored events not changing when timezone is changed, plus other issues with using a different timezone than the phone.<br />
*Satellite name is above countdown instead of in parentheses after, or in landscape mode the name is aligned to the right.<br />
*Increased font size of countdown and made bold.<br />
*Increased minimum height of list items about 2x to make them easier to touch.<br />
*Event timer is shown for the next event when opening list.<br />
*Add preferences to toggle messages for tips and updated alert times.<br />
*Single-digit days are formatted without "0" prefix.<br />
*Free: Fix space allowed in Alert Time preference, which causes alerts to not work.<br />
*Pro: Timestamp included in filename of exported sightings CSV with pattern of yyyyMMddHHmm, preventing any unwanted overwrites.<br />
*Fix progress not updating while parsing flares.<br />
*Preferences and night mode menu options now accessible from lists.<br />
*Preferences are categorized into different screens.<br />
*10-day passes - ISS replaced with USSC ID entry. Free allows only one entry, Pro is space-separated. ISS is default.<br />
*Fix toast message showing string resource ID instead of "Timezone set to" when detecting timezone in preferences.<br />
*Events are removed from alerts and main lists a custom number of minutes (default: 10) after they have completely passed. Check is only performed when opening or refreshing list.<br />
*Lists are populated in UI (behind progress dialog) as parsing progresses.<br />
*All lists are loaded to memory at launch and remains until app is closed, making it very quick to open lists.<br />
*New list is only downloaded if manually refreshed from menu, cache is empty, or a custom number of hours (default: 6) have passed since last refresh.<br />
*Huge performance boost for parsing, about 15-30x faster! (all 3 pass lists timed on G1 going from 285 to 10 sec. and Droid from 65 to 5 sec., including download time)<br />
*Fix inability to load saved data across different ROMs. Data is now saved in an SQLite database. Data from 1.0.7 is moved at first launch.<br />
*Removed: Backwards compatibility for alerts and sightings saved as cache in v1.0.6 and earlier. If you have not run any of the v1.0.7 releases, data from older versions will be lost.<br />
<br />
==== v1.0.7.8 [2011-05-21] ====<br />
*Fix automatic location starting when night mode is toggled.<br />
*Pro: Fix colon at end of "Move to Sightings" in context menu for Alerts.<br />
*Fix crash when opening context menu in Passes/Flares lists after loading from cache.<br />
<br />
==== v1.0.7.7 [2011-05-19] ====<br />
*Fix automatic location starting when orientation changes.<br />
*Fix crash at start when Automatic Location is enabled. Thanks for crash reports, I didn't think to test it.<br />
<br />
==== v1.0.7.6 [2011-05-19] ====<br />
*Fix crash when opening preferences while using night mode for Android 2.0 and 2.3.1 to 3.1.<br />
*Free: Fix problems (crash?) at launch for Android 2.3.x. Greystripe issue, had to disable option for full-screen ads in 2.3.x.<br />
*Fix coordinates update stopping when orientation changes.<br />
*Fix inability to get altitude coordinates because receiving location from network prevents GPS from providing it. Now continues searching for GPS after network location received if GPS is enabled.<br />
*Fix Get Coordinates button disabled with GPS even if Network Location enabled.<br />
*All interface-visible text moved from code into XML string resources to make ready for translating. Please contact me if you would like to help translate.<br />
<br />
==== v1.0.7.5 [2011-05-10] ====<br />
*Fix crash during parsing with most system languages. English was the only unaffected language in all versions of Android.<br />
*Fix Alerts and Sightings buttons not appearing correctly in Android 1.5.<br />
<br />
==== v1.0.7.4 [2011-03-19] ====<br />
*Fix inability to scroll in About dialog for 1.5 and 1.6.<br />
*Fix inability to cancel download, a problem if there is connectivity but HA isn't responding.<br />
*Fix lists or browser restarting when physical keyboard opened/closed.<br />
*Fix several elements not changing for night mode. There are still some not changing, but it's greatly improved.<br />
*Fix crash when received data is not from Heavens-Above, such as a network login page. [2.2+ crash report]<br />
*Fix button backlight stuck on (mistake in code from previous update).<br />
<br />
==== v1.0.7.3 [2011-02-02] ====<br />
*Fix crash at launch in Android 2.1 caused by uncaught NoSuchFieldError when trying to set button brightness. [reported by 2 users in Market]<br />
<br />
==== v1.0.7.2 [2011-02-01] ====<br />
*Pro: Fix existing alerts not being updated if auto-alerts disabled.<br />
*Fix crash from bad parsing of single-digit day in start date range of 10-day ISS.<br />
<br />
==== v1.0.7.1 [2011-01-29] ====<br />
*Disabled links in About dialog text, tends to be more trouble than it's worth (turned 1.0.7.1 into link).<br />
*Fix crash when opening notification.<br />
<br />
==== v1.0.7 [2011-01-29] ====<br />
*Alerts & sightings data moved from app cache to files, so clearing cache from Android app manager won't delete it.<br />
*Remove preference to delete data. Avoids accidental deletion, menu on Alerts/Sightings screens should be safer.<br />
*Remove preference to clear coordinates. Not necessary since it's just as easy to manually clear coordinates.<br />
*Free: Existing alerts are automatically updated when new data is loaded. (Pro already had this with auto-alerts)<br />
*Pro: Option in preferences to export sightings to sdcard as CSV files, uses WRITE_EXTERNAL_STORAGE permission.<br />
*Messages for updated alerts will only appear if the time has changed and shows the old and new times.<br />
*Threshold for duplicate alert/sighting check increased from 10 seconds to 10 minutes.<br />
*Pro: If event is in alerts, Add Sighting becomes Move to Sightings in context menu.<br />
*Pro: Add Sighting is disabled until 2 minutes before event start.<br />
*Add Alert is disabled for events that have already started, also applies for auto-alerts in Pro.<br />
*Buttons on main screen repositioned.<br />
*Add ACCESS_NETWORK_STATE permission for connectivity detection, also required by Greystripe in Free version.<br />
*Connectivity is now checked before attempting to access.<br />
*Add 10-day ISS list. (optional) [Suggested by Seth]<br />
*Countdown to start, max, and end instead of just start.<br />
*Countdown is initiated by tapping an event instead of from the context menu.<br />
*Include daytime flares in list. (optional)<br />
*Add progress dialog in list showing what is loading and percentage of each process. [Suggested by SuM_WuN]<br />
*Better performance with the use of multiple threads and other optimizations.<br />
*Add quiet time: No alert notifications between certain times of day. [Suggested by Rick]<br />
*Fix location search stopping when invalid coordinates received.<br />
*Add network location (works seamlessly with GPS) and message indicating what provided the coordinates.<br />
*After opening notification, pressing back button from Alerts opens main screen.<br />
*Fix missing indication of disabled GPS on GPS button. [Reported by ka0ticstyle]<br />
*Volume buttons control notification volume, or media volume if TTS is enabled.<br />
*Fix browser closing when orientation changes.<br />
*Add date on satellite passes lists. [Suggested by Rick]<br />
*Button backlight turns off in Night Mode if supported by API and hardware.<br />
*Fix exiting with back button causing home screen folder in background to close.<br />
*Fix empty countdown view and list header color missing when returning to list from web browser.<br />
*Main and preferences screens are not restarted when changing timezone or alert time.<br />
*Free: Option to toggle between banner ads or full screen ad at launch.<br />
*Free: READ_PHONE_STATE permission required by Greystripe.<br />
*Free: Greystripe ads.<br />
*Free: Update SDKs for AdWhirl and AdMob.<br />
*Pro: Remove option for ads.<br />
*Instead of buttons for each list on Heavens-Above site, one button for the homepage.<br />
*Remove changelog.<br />
<br />
==== v1.0.6 [2010-10-14] ====<br />
*Initial release of Pro.<br />
*Fix countdown timer way off after orientation change.<br />
*Pro: Sightings log.<br />
*Pro: Alerts automatically created based on custom magnitude when list is loaded with new data.<br />
*Fix back button not working as expected in web view.<br />
*Night mode uses color filtering instead of replacing graphics with plain colors.<br />
*Ad manager is AdWhirl, which provides much more flexibility with multiple ad networks.<br />
*Pro: Text-To-Speech alerts.<br />
*Pro: Multiple alert times can be set, space separated.<br />
*Pro: Ads are disabled by default and can be toggled.<br />
*Fix detection of existing alerts with certain differences in data, alert is updated when required.<br />
*Fix value shown in title of 'Alert time' preference stacking when changed.<br />
==== v1.0.5 [2010-09-24] ====<br />
*Alert time preference shows the current setting in its title.<br />
*Alert lists are sorted by event time instead of order they were added.<br />
*Add description on Timezone preference clarifying that it is the standard GMT offset.<br />
*Add menu option on main screen to toggle night mode.<br />
*Add menu options in Alerts view to clear either list.<br />
*Detect incompatible alerts at launch and delete along with cache, preventing crash after version upgrade.<br />
*Fix detection of existing alerts created in different list instances.<br />
*Alerts can be removed through event lists.<br />
*Events can be added to alerts even if alerts are currently disabled.<br />
*If invalid GPS coordinates received, show error instead of crashing.<br />
*Toast notification at alert trigger.<br />
*Notification timer is much more efficient, using a native method instead of a very bloated and often buggy countdown.<br />
*Try setting timezone automatically at launch if not set.<br />
*Fix error when parser encounters trimmed/optimized HTML. (Thanks to [http://twitter.com/SkepticBarista SkepticBarista]!)<br />
*Fix expired alerts being triggered on service modification/start if alert time is set to 0.<br />
==== v1.0.4 [2010-09-02] ====<br />
*Fix event timer timezone not being calculated properly for timezones different from phone.<br />
*Significantly reduced possibility of alerts being skipped because of lag.<br />
*If parser runs into problem, show error and try loading cache instead of crashing.<br />
==== v1.0.3 [2010-08-31] ====<br />
*Save coordinates when opening preferences.<br />
*Fix alert time not applying to existing alerts when changed.<br />
*Fix crash when both pass periods are selected and one of them returns no passes.<br />
*Fix crash when alert is triggered and ringtone was not configured.<br />
*Fix DST sometimes being 'forgotten' while running in background as service.<br />
==== v1.0.1 and v1.0.2 [2010-08-28] ====<br />
*Fix two crashes in the web browser.<br />
==== v1.0.0 [2010-08-28] ====<br />
*Initial release to the Android Market!<br />
<br /><br />
'''Started development on 2010-06-29'''<br />
[[Category:Android]]</div>Pilot 51https://pilot51.com/w/index.php?title=PrediSat&diff=1294PrediSat2012-02-17T20:02:27Z<p>Pilot 51: /* v1.1.2 [2012-02-17] */ Released.</p>
<hr />
<div>'''PrediSat''' is an Android app that grabs Iridium flare and satellite pass data from [http://Heavens-Above.com Heavens-Above.com] and formats it for the small screen of the phone. It also includes a few features to make satellite watching easier, such as alerts, countdowns, and night mode.<br /><br />
[[Image:predisat_qrcode.png|right|250px|Read this QR Code with an Android device to go to PrediSat in the Android Market]]<br />
<br /><br />
== Links ==<br />
*<b>[http://market.android.com/details?id=com.pilot51.predisat PrediSat on Android Market]</b><br />
*<b>[http://market.android.com/details?id=com.pilot51.predisatpro PrediSat Pro on Android Market]</b><br />
*[http://www.appbrain.com/app/com.pilot51.predisat PrediSat on AppBrain]<br />
*[http://www.appbrain.com/app/com.pilot51.predisatpro PrediSat Pro on AppBrain]<br />
*[http://heavens-above.com Heavens-Above] (the source of satellite data for PrediSat)<br />
*<b>[http://tracker.pilot51.com/describecomponents.cgi?product=PrediSat PrediSat issue tracker]</b> (view or submit problems and suggestions)<br />
*[http://predisat.com PrediSat.com] (forwards here)<br />
<br /><br /><br />
<br />
== Pro version ==<br />
[[Image:predisatpro_qrcode.png|right|220px|Read this QR Code with an Android device to go to PrediSat Pro in the Android Market]]<br />
The Pro version adds some advanced features on top of what is available in the free version. It may also include early features that will later be added to the free version.<br /><br />
Price is $1 (USD).<br /><br />
<br /><br />
Current Pro-only features:<br /><br />
*Multiple satellite USSC ID's can be entered for 10-day pass predictions<br />
*Multiple alerts per event can be set<br /><br />
*Text-To-Speech alerts (optional)<br /><br />
*Alerts automatically created based on custom magnitude when list is loaded with new data (optional)<br /><br />
*Sightings log<br /><br />
*Export sightings to CSV<br /><br />
*No ads<br /><br />
<br /><br />
<br />
== Changelog ==<br />
^ = Based on error report from a Froyo user<br /><br />
Dates are based on GMT.<br /><br />
==== v1.1.2 [2012-02-17] ====<br />
*Fix crash when parsing 10-day list, caused by changes on Heavens-Above around Feb. 12. (sorry for the delay)<br />
*Show year in Date column.<br />
*Add pass magnitude filters for 0.0-2.5 (0.5 step).<br />
*Remove pass magnitude 5.0 filter (no longer supported by HA).<br />
*Add option to clear cache.<br />
*Changing filter preference while in list now takes effect on next manual refresh without the need to close and reopen the list.<br />
*Remove touchscreen requirement.<br />
*Free: Update AdWhirl, AdMob, and GreyStripe ad SDKs to latest versions.<br />
*Free: Enable full-screen ad option for Android 2.3.x users since updated GreyStripe SDK fixes a crash.<br />
<br />
==== v1.1.1.3 [2011-12-10] ====<br />
*Pro: TTS doesn't speak if phone is in silent mode or in a call.<br />
*Fixed: Crash when trying to update coordinates on some devices that don't have GPS (Honeycomb/tablets).<br />
*Fixed: Process is now closed properly. Bad practice of forcibly killing process because TTS service was badly coded and holding process open.<br />
<br />
==== v1.1.1.2 [2011-08-04] ====<br />
*Fixed: Crash on somewhat rare occasion when opening Alerts, caused by wrong thread exception when automatically selecting initial tab.<br />
<br />
==== v1.1.1.1 [2011-07-29] ====<br />
*Fixed: Crash when trying to sort empty list immediately after parsing. Thanks to a crash report for pointing it out!<br />
<br />
==== v1.1.1 [2011-07-28] ====<br />
*Fixed: Refreshing more than once in a single list instance causing following issues:<br />
**Crash during parsing of morning or evening passes after 10 day was enabled in previous refresh.<br />
**Evening passes fetching morning instead if 10 day was disabled and morning was enabled in previous refresh,<br />
**Night flares fetching daytime instead if daytime was enabled in previous refresh.<br />
*Changed: Progress dialog indicates the number of events in list being parsed, instead of always showing 100.<br />
*Fixed: Countdown timer not automatically appearing for next event in Alerts if Remove Old Events is disabled.<br />
*Changed: If existing instance of Alerts screen is at top of process when opening notification, it is used instead of starting a second Alerts instance.<br />
*Changed: When opening Alerts, the tab with the next event is selected.<br />
*Added (Pro): Allow fetching multiple days of all passes, configurable between 1-10 days. It's a bit on the experimental side, but nonetheless very useful. Disabled by default, using the old and reliable method of fetching up to 24 hours.<br />
*Improved: Slight increase in sorting performance and albeit more accurate as well. Sorting now happens as a single action after parsing instead of while parsing each event.<br />
*Broke: Some night mode styling in Preferences due to style inheritance breaking in current revision of SDK. This change only affects 2.0 - 2.2, all the other SDK's have always had broken inheritance.<br />
<br />
==== v1.1.0.1 [2011-07-13] ====<br />
*Fixed [http://tracker.pilot51.com/show_bug.cgi?id=18 bug 18] (hopefully): Crash immediately after downloading lists. Couldn't reproduce based on limited information of crash reports & haven't been contacted directly about this.<br />
*Changed: Time difference threshold for existing events from 10 to 40 minutes. Avoids duplicate events showing up in alerts if 10-day list not updated for awhile and prediction changes by more than 10 minutes.<br />
<br />
==== v1.1.0 [2011-06-07] ====<br />
*Changed: Tabs are used in Alerts and Sightings to select Passes and Flares lists, instead of splitting both lists on screen. The tabs indicate exactly the list associated with it (Pass/Flare Alerts/Sightings) and the number of events in each.<br />
*Added: Confirmation dialog when clearing alerts or sightings lists.<br />
*Added: Customizable notification message for TTS (Pro) and bubbles. Variables: Satellite name, event type, and minutes until event.<br />
*Fixed: Displayed time for stored events not changing when timezone is changed, plus other issues with using a different timezone than the phone.<br />
*Changed: Satellite name is above countdown instead of in parentheses after, or in landscape mode the name is aligned to the right.<br />
*Changed: Increased font size of countdown and made bold.<br />
*Changed: Increased minimum height of list items about 2x to make them easier to touch.<br />
*Changed: Event timer is shown for the next event when opening list.<br />
*Added: Preferences to toggle messages for tips and updated alert times.<br />
*Changed: Single-digit days are formatted without "0" prefix.<br />
*Fixed (Free): Space allowed in Alert Time preference, which causes alerts to not work.<br />
*Changed (Pro): Timestamp included in filename of exported sightings CSV with pattern of yyyyMMddHHmm, preventing any unwanted overwrites.<br />
*Fixed: Progress not updating while parsing flares.<br />
*Added: Preferences and night mode menu options accessible from lists.<br />
*Changed: Preferences are categorized into different screens.<br />
*Changed: 10-day passes - ISS replaced with USSC ID entry. Free allows only one entry, Pro is space-separated. ISS is default.<br />
*Fixed: Toast message showing string resource ID instead of "Timezone set to" when detecting timezone in preferences.<br />
*Added: Events are removed from alerts and main lists a custom number of minutes (default: 10) after they have completely passed. Check is only performed when opening or refreshing list.<br />
*Changed: Lists are populated in UI (behind progress dialog) as parsing progresses.<br />
*Improved: All lists are loaded to memory at launch and remains until app is closed, making it very quick to open lists.<br />
*Changed: New list is only downloaded if manually refreshed from menu, cache is empty, or a custom number of hours (default: 6) have passed since last refresh.<br />
*Improved: Huge performance boost for parsing, about 15-30x faster! (all 3 pass lists timed on G1 going from 285 to 10 sec. and Droid from 65 to 5 sec., including download time)<br />
*Fixed: Unable to load saved data across different ROM's. Data is now saved in an SQLite database. Data from 1.0.7 is moved at first launch.<br />
*Removed: Backwards compatibility for alerts and sightings saved as cache in v1.0.6 and earlier. If you have not run any of the v1.0.7 releases, data from older versions will be lost.<br />
<br />
==== v1.0.7.8 [2011-05-21] ====<br />
*Fixed: Automatic location starting when night mode is toggled.<br />
*Fixed (Pro): Colon at end of "Move to Sightings" in context menu for Alerts.<br />
*Fixed: Crash when opening context menu in Passes/Flares lists after loading from cache.<br />
<br />
==== v1.0.7.7 [2011-05-19] ====<br />
*Fixed: Automatic location starting when orientation changes.<br />
*Fixed: Crash at start when Automatic Location is enabled. Thanks for crash reports, I didn't think to test it.<br />
<br />
==== v1.0.7.6 [2011-05-19] ====<br />
*Fixed: Crash when opening preferences while using night mode for Android 2.0 and 2.3.1 to 3.1.<br />
*Fixed (Free): Problems (crash?) at launch for Android 2.3.x. GreyStripe issue, had to disable option for full-screen ads in 2.3.x.<br />
*Fixed: Coordinates update stopping when orientation changes.<br />
*Fixed: Unable to get altitude coordinates because receiving location from network prevents GPS from providing it. Now continues searching for GPS after network location received if GPS is enabled.<br />
*Fixed: Get Coordinates button disabled with GPS even if Network Location enabled.<br />
*Changed: All interface-visible text moved from code into XML string resources to make ready for translating. Please contact me if you would like to help translate.<br />
<br />
==== v1.0.7.5 [2011-05-10] ====<br />
*Fixed: Crash during parsing with most system languages. English was the only unaffected language in all versions of Android.<br />
*Fixed: Alerts and Sightings buttons not appearing correctly in Android 1.5.<br />
<br />
==== v1.0.7.4 [2011-03-19] ====<br />
*Fixed: Unable to scroll in About dialog for 1.5 and 1.6.<br />
*Fixed: Unable to cancel download, a problem if there is connectivity but HA isn't responding.<br />
*Fixed: Lists or browser restarting when physical keyboard opened/closed.<br />
*Fixed: Several elements not changing for night mode. There are still some not changing, but it's greatly improved.<br />
*Fixed: Crash when received data is not from Heavens-Above, such as a network login page. [2.2+ crash report]<br />
*Fixed: Button backlight stuck on (mistake in code from previous update).<br />
<br />
==== v1.0.7.3 [2011-02-02] ====<br />
*Fixed: Crash at launch in Android 2.1 caused by uncaught NoSuchFieldError when trying to set button brightness. [reported by 2 users in Market]<br />
<br />
==== v1.0.7.2 [2011-02-01] ====<br />
*Fixed (Pro): Existing alerts not being updated if auto-alerts disabled.<br />
*Fixed: Crash from bad parsing of single-digit day in start date range of 10-day ISS.<br />
<br />
==== v1.0.7.1 [2011-01-29] ====<br />
*Changed: Disabled links in About dialog text, tends to be more trouble than it's worth (turned 1.0.7.1 into link).<br />
*Fixed: Crash when opening notification.<br />
<br />
==== v1.0.7 [2011-01-29] ====<br />
*Changed: Alerts & sightings data moved from app cache to files, so clearing cache from Android app manager won't delete it.<br />
*Removed: Preference to delete data. Avoids accidental deletion, menu on Alerts/Sightings screens should be safer.<br />
*Removed: Preference to clear coordinates. Not necessary since it's just as easy to manually clear coordinates.<br />
*Changed (Free): Existing alerts are automatically updated when new data is loaded. (Pro already had this with auto-alerts)<br />
*Added (Pro): Option in preferences to export sightings to sdcard as CSV files, uses WRITE_EXTERNAL_STORAGE permission.<br />
*Changed: Messages for updated alerts will only appear if the time has changed and shows the old and new times.<br />
*Changed: Threshold for duplicate alert/sighting check increased from 10 seconds to 10 minutes.<br />
*Changed (Pro): If event is in alerts, Add Sighting becomes Move to Sightings in context menu.<br />
*Changed (Pro): Add Sighting is disabled until 2 minutes before event start.<br />
*Changed: Add Alert is disabled for events that have already started, also applies for auto-alerts in Pro.<br />
*Changed: Buttons on main screen repositioned.<br />
*Added: ACCESS_NETWORK_STATE permission for connectivity detection, also required by Greystripe in Free version.<br />
*Changed: Connectivity is now checked before attempting to access.<br />
*Added: Fetch 10-day ISS list. (optional) [Suggested by Seth]<br />
*Changed: Countdown to start, max, and end instead of just start.<br />
*Changed: Countdown is initiated by tapping an event instead of from the context menu.<br />
*Added: Include daytime flares in list. (optional)<br />
*Added: Progress dialog in list showing what is loading and percentage of each process. [Suggested by SuM_WuN]<br />
*Improved: Better performance with the use of multiple threads and other optimizations.<br />
*Added: Quiet time: No alert notifications between certain times of day. [Suggested by Rick]<br />
*Fixed: Location search stopping when invalid coordinates received.<br />
*Added: Network location (works seamlessly with GPS) and message indicating what provided the coordinates.<br />
*Changed: After opening notification, pressing back button from Alerts opens main screen.<br />
*Fixed: No indication of disabled GPS on GPS button. [Reported by ka0ticstyle]<br />
*Changed: Volume buttons control notification volume, or media volume if TTS is enabled.<br />
*Fixed: Browser closing when orientation changes.<br />
*Added: Date on satellite passes lists. [Suggested by Rick]<br />
*Added: Button backlight turned off in Night Mode if supported by API and hardware.<br />
*Fixed: Exiting with back button causing home screen folder in background to close.<br />
*Fixed: Empty countdown view and list header color missing when returning to list from web browser.<br />
*Tweaked: Main and preferences screens are not restarted when changing timezone or alert time.<br />
*Added (Free): Option to toggle between banner ads or full screen ad at launch.<br />
*Added (Free): READ_PHONE_STATE permission required by Greystripe.<br />
*Added (Free): Greystripe ads.<br />
*Updated (Free): SDK's for AdWhirl and AdMob.<br />
*Removed (Pro): Option for ads.<br />
*Changed: Instead of buttons for each list on Heavens-Above site, one button for the homepage.<br />
*Removed: Changelog.<br />
<br />
==== v1.0.6 [2010-10-14] ====<br />
*Initial release of Pro.<br />
*Fixed: Countdown timer way off after orientation change.<br />
*Pro: Sightings log.<br />
*Pro: Alerts automatically created based on custom magnitude when list is loaded with new data.<br />
*Fixed: Back button not working as expected in web view.<br />
*Changed: Night mode uses color filtering instead of replacing graphics with plain colors.<br />
*Changed: Ad manager is AdWhirl, which provides much more flexibility with multiple ad networks.<br />
*Pro: Text-To-Speech alerts.<br />
*Pro: Multiple alert times can be set, space separated.<br />
*Pro: Ads are disabled by default and can be toggled.<br />
*Fixed: Detection of existing alerts with certain differences in data, alert is updated when required.<br />
*Fixed: Value shown in title of 'Alert time' preference stacking when changed.<br />
==== v1.0.5 [2010-09-24] ====<br />
*Added: Alert time preference shows the current setting in its title.<br />
*Changed: Alert lists are sorted by event time instead of order they were added.<br />
*Added: Description on Timezone preference clarifying that it is the standard GMT offset.<br />
*Added: Menu option on main screen to toggle night mode.<br />
*Added: Menu options in Alerts view to clear either list.<br />
*Workaround: Detect incompatible alerts at launch and delete along with cache, preventing crash after version upgrade.<br />
*Fixed: Detection of existing alerts created in different list instances.<br />
*Added: Alerts can be removed through event lists.<br />
*Changed: Events can be added to alerts even if alerts are currently disabled.<br />
*^Workaround: If invalid GPS coordinates received, show error instead of crashing.<br />
*Added: Toast notification at alert trigger.<br />
*Improved: Notification timer is much more efficient, using a native method instead of a very bloated and often buggy countdown.<br />
*Added: Try setting timezone automatically at launch if not set.<br />
*Fixed: Error when parser encounters trimmed/optimized HTML. (Thanks to [http://twitter.com/SkepticBarista SkepticBarista]!)<br />
*Fixed: Expired alerts being triggered on service modification/start if alert time is set to 0.<br />
==== v1.0.4 [2010-09-02] ====<br />
*Fixed: Event timer timezone not being calculated properly for timezones different from phone.<br />
*Improved: Significantly reduced possibility of alerts being skipped because of lag.<br />
*Workaround: If parser runs into problem, show error and try loading cache instead of crashing.<br />
==== v1.0.3 [2010-08-31] ====<br />
*Added: Save coordinates when opening preferences.<br />
*Fixed: Alert time not applying to existing alerts when changed.<br />
*^Fixed: Crash when both pass periods are selected and one of them returns no passes.<br />
*^Fixed: Crash when alert is triggered and ringtone was not configured.<br />
*Fixed: DST sometimes being 'forgotten' while running in background as service.<br />
==== v1.0.1 and v1.0.2 [2010-08-28] ====<br />
*Fixed: Two crash bugs in the web browser.<br />
==== v1.0.0 [2010-08-28] ====<br />
*Initial release to the Android Market!<br />
<br /><br />
'''Started development on 2010-06-29'''<br />
[[Category:Android]]</div>Pilot 51https://pilot51.com/w/index.php?title=Main_Page&diff=1293Main Page2012-01-12T19:38:14Z<p>Pilot 51: Give exact number of accounts deleted.</p>
<hr />
<div>Welcome to Pilot_51's Wiki.<br /><br />
<br /><br />
This wiki is intended to organize information regarding games, software development, and technology in general. It mainly focuses on my own projects.<br /><br />
<br /><br />
Since there have been vast numbers of spam registrations (~5-20/day) in recent months and the occasional spam edit, with almost no legitimate contributions, and because I don't have time to combat the spam, user registrations have been disabled indefinitely. 369 accounts have been deleted en masse except for 4 (including myself) which I have identified to be legit. So, sorry if you weren't a spammer and had your account deleted.<br /><br />
<br /><br />
If you wish to contribute, in particular where information is missing such as the Battlefield 1942 and Xfire development articles, please [[#Contact | contact]] me and I can create an account for you.<br /><br />
== Major articles ==<br />
=== Android ===<br />
*[[Cannon]]<br />
*[[Coinflip]]<br />
*[[Lander (Android)]]<br />
*[[L-Clock]]<br />
*[[PrediSat]]<br />
*[[Voice Notify]]<br />
<br /><br />
=== Java ===<br />
*[[Lander (Java)]]<br />
<br /><br />
=== Battlefield 1942 ===<br />
*[[List of Battlefield 1942 properties]]<br />
*[[List of Battlefield 1942 objects]]<br />
*[[WWII Reality (BF1942 mod)]]<br />
*[[Battleship (BF1942 map)]]<br />
*[[Stunting Grounds (BF1942 map)]]<br />
<br /><br />
=== Xfire ===<br />
*[[Xfire coding]]<br />
<br /><br />
<br /><br />
<br />
== Contact ==<br />
I can be contacted through any of the mediums shown here.<br /><br />
Important note: If given the option, please explain why you are contacting me in your request or you WILL be denied! It is likely that requests will also be denied if it is impossible to include a message. This is because I get a lot of spammers and sometimes random weirdos. Email, Twitter, Xfire, or AIM are recommended.<br />
Email: pilota51(a)gmail.com<br />
AIM: PilotA51<br />
ICQ: 85196460<br />
MSN: areapilot51(a)hotmail.com<br />
Yahoo: Pilot_A51<br />
Skype: pilot_51<br />
Xfire: [http://xfire.com/profile/pilot51 pilot51]<br />
Steam: [http://steamcommunity.com/id/pilot51 Pilot_51]<br />
Twitter: [http://twitter.com/Pilot_51 Pilot_51]<br />
Google+: [http://plus.google.com/118433700808427873827 Mark Injerd]<br />
Mumble: Pilot_51 @ voice.pilot51.com</div>Pilot 51