Difference between revisions of "PrediSat"

From Pilot_51's Wiki
Jump to navigation Jump to search
(v1.3.0 released.)
 
(32 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
'''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 />
 
'''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 />
[[Image:predisat_qrcode.png|right|250px|Read this QR Code with an Android device to go to PrediSat in the Android Market]]
+
[[Image:predisat_qrcode.png|right|250px|Read this QR Code with an Android device to go to PrediSat in Google Play]]
 
<br />
 
<br />
 
== Links ==
 
== Links ==
[http://predisat.com PrediSat.com] (currently forwards here)<br />
+
*<b>[http://play.google.com/store/apps/details?id=com.pilot51.predisat PrediSat on Google Play]</b>
[http://market.android.com/details?id=com.pilot51.predisat PrediSat in Android Market]<br />
+
*<b>[http://play.google.com/store/apps/details?id=com.pilot51.predisatpro PrediSat Pro on Google Play]</b>
[http://market.android.com/details?id=com.pilot51.predisatpro PrediSat Pro in Android Market]<br />
+
*[http://heavens-above.com Heavens-Above] (the source of satellite data for PrediSat)
[http://www.appbrain.com/app/com.pilot51.predisat PrediSat on AppBrain]<br />
+
*[https://github.com/pilot51/predisat/issues PrediSat issue tracker]
[http://www.appbrain.com/app/com.pilot51.predisatpro PrediSat Pro on AppBrain]<br />
+
*[http://predisat.com PrediSat.com], [http://predisat.pilot51.com predisat.pilot51.com], [http://predisat.p51.me predisat.p51.me] (forwards here)
[http://heavens-above.com Heavens-Above] (the source of satellite data for PrediSat)<br />
 
 
<br /><br />
 
<br /><br />
  
Line 17: Line 16:
 
<br />
 
<br />
 
Current Pro-only features:<br />
 
Current Pro-only features:<br />
*Multiple alert times can be set, space separated.<br />
+
*Multiple satellite USSC ID's can be entered for 10-day pass predictions
*Text-To-Speech alerts (optional).<br />
+
*Multiple alerts per event can be set<br />
*Alerts automatically created based on custom magnitude when list is loaded with new data (optional).<br />
+
*Text-To-Speech alerts (optional)<br />
*Sightings log.<br />
+
*Alerts automatically created based on custom magnitude when list is loaded with new data (optional)<br />
*Export sightings to CSV.<br />
+
*Sightings log<br />
*No ads.<br />
+
*Export sightings to CSV<br />
 +
*Import/export database<br />
 
<br />
 
<br />
  
 
== Changelog ==
 
== Changelog ==
^ = Based on error report from a Froyo user<br />
 
 
Dates are based on GMT.<br />
 
Dates are based on GMT.<br />
==== v1.0.8 [in development] ====
+
==== v1.3.0 [2017-10-18] ====
*Fixed: Displayed time for stored events not changing when timezone is changed.
+
*Add xxhdpi icon.
*Changed: Satellite name is above countdown instead of in parentheses after.
+
*Pro: Prevent excess spaces in Alert Time.
*Changed: Increased font size of countdown and made bold.
+
*If not already granted, request location permission when Get Coordinates button pressed.
*Changed: Increased minimum height of list items about 2x to make them easier to touch.
+
*Add map to pick location.
*Changed: Event timer is shown for the next event when opening list.
+
*Add background updater service.
*Added: Preferences to toggle messages for tips and updated alert times.
+
**Runs on a recurring schedule between cache expire time and 48 hours (or cache expire time if higher) at the system's discretion.
*Changed: Single-digit days are formatted without "0" prefix.
+
**Requires both Cache Expire Time and Alert Time options to be set.
*Fixed (Free): Space allowed in Alert Time preference, which causes alerts to not work.
+
*Use 12h/24h time as configured in the system.
*Changed (Pro): Timestamp included in filename of exported sightings CSV with pattern of yyyyMMddHHmm, preventing any unwanted overwrites.
+
*Don't repeatedly update location from network while waiting for GPS location.
*Fixed: Progress not updating while parsing flares.
+
*Fix some preference dialogs keeping changes when canceled and reopened.
*Added: Preferences and night mode menu options accessible from lists.
+
*Fix a notification crash.
*Changed: Preferences are categorized into different screens.
+
*Free: Remove ads. They were broken and paid very little when they worked.
*Changed: 10-day passes - ISS replaced with USSC ID entry. Free allows only one entry, Pro is space-separated. ISS is default.
+
*Significant improvements to night mode. Not perfect, but much better.
*Fixed: Toast message showing string resource ID instead of "Timezone set to" when detecting timezone in preferences.
+
*Fix crash in Android 7+ when selecting preference item in Night Mode.
*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.
+
*Increase minSdkVersion from 3 (Android 1.5) to 11 (Android 3.0) for various newer APIs used.
*Changed: Lists are populated in UI (behind progress dialog) as parsing progresses.
+
*Change targetSdkVersion from 8 (Android 2.2) and compileSdkVersion from 13 (Android 3.2) to 25 (Android 7.1.1).
*Improved: All lists are loaded to memory at launch and remains until app is closed, making it very quick to open lists.
+
*Migrate project from Eclipse to Android Studio.
*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.
+
 
*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)
+
==== v1.2.3 [2014-07-06] ====
*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.
+
*Fix fetching of specific date/time broken for all passes list, due to HA changes.
 +
*Enable DOM storage API in browser for API 7+ (Android 2.1+), allowing HA mobile prototype to function.
 +
 
 +
==== v1.2.2.1 [2014-03-03] ====
 +
*Pro: Fix crash when TTS tries speaking. (Regression in v1.2.2)
 +
*Preserve current tab in Alerts/Sightings list when toggling night mode.
 +
*Add xhdpi icon.
 +
*Update About text.
 +
*A couple spelling corrections in German strings.
 +
*Use "en dash" character for time range in summary of Morning/Evening Passes setting.
 +
*Minor code tweaks and optimizations.
 +
 
 +
==== v1.2.2 [2014-02-24] ====
 +
*Update Russian with translated timezones and a couple changed strings.
 +
*Add notification message variables for magnitude (%m), direction/azimuth (%z), elevation (%e).
 +
*Add example in notification message dialog.
 +
*Use custom notification message in notification ticker.
 +
*Enable JavaScript in browser since some HA pages use it.
 +
*Free: Update AdMob SDK, remove AdWhirl and Greystripe. Remove read phone state permission that was required by Greystripe.
 +
*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.
 +
*Add app name and version to user agent so HA can identify requests from PrediSat.
 +
*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.
 +
*Pro: Fix crash when exporting sightings.
 +
*Fix parsing of morning/evening passes. Caused by recently added language selector on HA.
 +
*Fix crash when parsing 10-day pass with magnitude "?".
 +
*Fix quiet time inaccuracy when alert + timezone offset passes midnight.
 +
 
 +
==== v1.2.1.4 [2012-12-14] ====
 +
*Fix parsing of date/time for flares. Another HA change either overlooked in previous release or happened after release.
 +
 
 +
==== v1.2.1.3 [2012-12-13] ====
 +
*Fix parsing of passes, caused by more changes on HA.
 +
*Re-add pass magnitude 5.0 filter since HA re-added it.
 +
*Remove detail context menu options for flares due to HA not providing required data.
 +
*Fix flare count doubled during parsing.
 +
 
 +
==== v1.2.1.2 [2012-11-19] ====
 +
*Change numeric keyboard type from 'phone' to 'number'.
 +
*Pro: Prevent invalid value being entered in Auto-Alert Mag. settings, leading to a crash.
 +
*Fix performance issue after updating list, mainly event timer not appearing immediately.
 +
*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.
 +
*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.
 +
*Restore parsing/saving of flare center info. Not restored in UI for this version, currently only viewable in sightings export.
 +
*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.
 +
*Update Russian translation for "Orbital Height Profile".
 +
 
 +
==== v1.2.1.1 [2012-11-08] ====
 +
*Pro: Fix crash after fetching a list when alert magnitude for the list has never been set.
 +
*Fix crash at launch when loading daytime flares from the database that were previously saved before v1.2.1.
 +
*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)
 +
 
 +
==== v1.2.1 [2012-11-05] ====
 +
*Add context menu option for Orbital Height Profile.
 +
*Sort passes by max time rather than start time.
 +
*Disable flare event details due to new limitations with HA URL query.
 +
*Remove flare center magnitude/distance columns since HA no longer provides that data for night flares.
 +
*Remove obsolete Flare Days preference.
 +
*Significant improvements to how event data is handled. This is a prerequisite for better filtering and sorting in later versions.
 +
*Fix flares not parsing due to changes on HA.
 +
*Fix satellite details link for 10-day passes.
 +
*Fix debug mode not creating files if predisat folder doesn't already exist.
 +
 
 +
==== v1.2.0.2 [2012-08-07] ====
 +
*Fix timezone/DST not initialized (using GMT+0) when opening Alerts from notification.
 +
*Fix 'Set 10 Days of Passes' context item appearing in Alerts and Sightings, functionless. It is intended to only appear in main Passes list.
 +
*Improve accuracy and efficiency of clock and countdown.
 +
 
 +
==== v1.2.0.1 [2012-08-01] ====
 +
*Fix crash after downloading empty passes list. Don't know how I missed it after v1.2.0 fix of a very similar crash.
 +
*Free: Fix crash when opening passes context menu when there is no satellite set on 10 Days of Passes.
 +
 
 +
==== v1.2.0 [2012-07-31] ====
 +
*New translations: German and Russian. Huge thanks to the translators, XoXFaby and Himura respectively!
 +
*Pro: Reverse sort order of sightings list, with more recent events towards top.
 +
*Add context option to add/remove selected satellite in 10 Days of Passes. In Free, this replaces existing entry, while Pro adds.
 +
*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.
 +
*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.
 +
*Open timezone list preference if detection fails.
 +
*Add screen title at top of list screens.
 +
*Fix timezone/DST changes not applying immediately.
 +
*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!]
 +
*Fix crash when getting coordinates on locales that use comma (,) instead of period (.) as a decimal separator.
 +
*Update timezone names.
 +
*Fix crash when parsing empty passes list.
 +
*Pro: Fix crash at alert in Android 1.5 due to TTS not supported (happened regardless of TTS preference).
 +
*Increase night mode backlight brightness. This is because at least one device (Xperia mini) is known to have a higher minimum brightness than G1.
 +
*Remove compatibility upgrade for v1.0.7 data.
 +
*Change "HA Website" button to "Heavens-Above.com".
 +
*Bottom buttons in main screen: Increase to 2 lines height, reduce font size in portrait orientation.
 +
 
 +
==== v1.1.2.2 [2012-03-17] ====
 +
*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.
 +
*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.
 +
*Fix progress bar not working for morning/evening after initial fetch.
 +
 
 +
==== v1.1.2.1 [2012-03-13] ====
 +
*Fix parsing of morning/evening passes lists. Caused by major changes to the all satellites page on Heavens-Above. Sorry again for the delay.
 +
*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.
 +
*Remove requirement for location and GPS features (supports Google TV).
 +
 
 +
==== v1.1.2 [2012-02-17] ====
 +
*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.
 +
*Show year in Date column.
 +
*Add pass magnitude filters for 0.0-2.5 (0.5 step).
 +
*Remove pass magnitude 5.0 filter (no longer supported by HA).
 +
*Add option to clear cache.
 +
*Changing filter preference while in list now takes effect on next manual refresh without the need to close and reopen the list.
 +
*Minor improvements to layouts making it appear better on large screens.
 +
*Remove touchscreen requirement.
 +
*Free: Update AdWhirl, AdMob, and Greystripe ad SDKs to latest versions.
 +
*Free: Enable full-screen ad option for Android 2.3.x users since updated Greystripe SDK fixes a crash.
 +
 
 +
==== v1.1.1.3 [2011-12-10] ====
 +
*Pro: TTS doesn't speak if phone is in silent mode or in a call.
 +
*Fix rash when trying to update coordinates on some devices that don't have GPS (Honeycomb/tablets).
 +
*Fix how process is closed. Bad practice of forcibly killing process because TTS service was badly coded and holding process open.
 +
 
 +
==== v1.1.1.2 [2011-08-04] ====
 +
*Fix crash on somewhat rare occasion when opening Alerts, caused by wrong thread exception when automatically selecting initial tab.
 +
 
 +
==== v1.1.1.1 [2011-07-29] ====
 +
*Fix crash when trying to sort empty list immediately after parsing. Thanks to a crash report for pointing it out!
 +
 
 +
==== v1.1.1 [2011-07-28] ====
 +
*Fix refreshing more than once in a single list instance causing following issues:
 +
**Crash during parsing of morning or evening passes after 10 day was enabled in previous refresh.
 +
**Evening passes fetching morning instead if 10 day was disabled and morning was enabled in previous refresh,
 +
**Night flares fetching daytime instead if daytime was enabled in previous refresh.
 +
*Progress dialog indicates the number of events in list being parsed, instead of always showing 100.
 +
*Fix countdown timer not automatically appearing for next event in Alerts if Remove Old Events is disabled.
 +
*If existing instance of Alerts screen is at top of process when opening notification, it is used instead of starting a second Alerts instance.
 +
*When opening Alerts, the tab with the next event is selected.
 +
*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.
 +
*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.
 +
*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.
 +
 
 +
==== v1.1.0.1 [2011-07-13] ====
 +
*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.
 +
*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.
 +
 
 +
==== v1.1.0 [2011-06-07] ====
 +
*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.
 +
*Add confirmation dialog when clearing alerts or sightings lists.
 +
*Add customizable notification message for TTS (Pro) and bubbles. Variables: Satellite name, event type, and minutes until event.
 +
*Fix displayed time for stored events not changing when timezone is changed, plus other issues with using a different timezone than the phone.
 +
*Satellite name is above countdown instead of in parentheses after, or in landscape mode the name is aligned to the right.
 +
*Increased font size of countdown and made bold.
 +
*Increased minimum height of list items about 2x to make them easier to touch.
 +
*Event timer is shown for the next event when opening list.
 +
*Add preferences to toggle messages for tips and updated alert times.
 +
*Single-digit days are formatted without "0" prefix.
 +
*Free: Fix space allowed in Alert Time preference, which causes alerts to not work.
 +
*Pro: Timestamp included in filename of exported sightings CSV with pattern of yyyyMMddHHmm, preventing any unwanted overwrites.
 +
*Fix progress not updating while parsing flares.
 +
*Preferences and night mode menu options now accessible from lists.
 +
*Preferences are categorized into different screens.
 +
*10-day passes - ISS replaced with USSC ID entry. Free allows only one entry, Pro is space-separated. ISS is default.
 +
*Fix toast message showing string resource ID instead of "Timezone set to" when detecting timezone in preferences.
 +
*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.
 +
*Lists are populated in UI (behind progress dialog) as parsing progresses.
 +
*All lists are loaded to memory at launch and remains until app is closed, making it very quick to open lists.
 +
*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.
 +
*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)
 +
*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.
 
*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.
 
*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.
  
 
==== v1.0.7.8 [2011-05-21] ====
 
==== v1.0.7.8 [2011-05-21] ====
*Fixed: Automatic location starting when night mode is toggled.
+
*Fix automatic location starting when night mode is toggled.
*Fixed (Pro): Colon at end of "Move to Sightings" in context menu for Alerts.
+
*Pro: Fix colon at end of "Move to Sightings" in context menu for Alerts.
*Fixed: Crash when opening context menu in Passes/Flares lists after loading from cache.
+
*Fix crash when opening context menu in Passes/Flares lists after loading from cache.
  
 
==== v1.0.7.7 [2011-05-19] ====
 
==== v1.0.7.7 [2011-05-19] ====
*Fixed: Automatic location starting when orientation changes.
+
*Fix automatic location starting when orientation changes.
*Fixed: Crash at start when Automatic Location is enabled. Thanks for crash reports, I didn't think to test it.
+
*Fix crash at start when Automatic Location is enabled. Thanks for crash reports, I didn't think to test it.
  
 
==== v1.0.7.6 [2011-05-19] ====
 
==== v1.0.7.6 [2011-05-19] ====
*Fixed: Crash when opening preferences while using night mode for Android 2.0 and 2.3.1 to 3.1.
+
*Fix crash when opening preferences while using night mode for Android 2.0 and 2.3.1 to 3.1.
*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.
+
*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.
*Fixed: Coordinates update stopping when orientation changes.
+
*Fix coordinates update stopping when orientation changes.
*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.
+
*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.
*Fixed: Get Coordinates button disabled with GPS even if Network Location enabled.
+
*Fix Get Coordinates button disabled with GPS even if Network Location enabled.
*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.
+
*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.
  
 
==== v1.0.7.5 [2011-05-10] ====
 
==== v1.0.7.5 [2011-05-10] ====
*Fixed: Crash during parsing with most system languages. English was the only unaffected language in all versions of Android.
+
*Fix crash during parsing with most system languages. English was the only unaffected language in all versions of Android.
*Fixed: Alerts and Sightings buttons not appearing correctly in Android 1.5.
+
*Fix Alerts and Sightings buttons not appearing correctly in Android 1.5.
  
 
==== v1.0.7.4 [2011-03-19] ====
 
==== v1.0.7.4 [2011-03-19] ====
*Fixed: Unable to scroll in About dialog for 1.5 and 1.6.
+
*Fix inability to scroll in About dialog for 1.5 and 1.6.
*Fixed: Unable to cancel download, a problem if there is connectivity but HA isn't responding.
+
*Fix inability to cancel download, a problem if there is connectivity but HA isn't responding.
*Fixed: Lists or browser restarting when physical keyboard opened/closed.
+
*Fix lists or browser restarting when physical keyboard opened/closed.
*Fixed: Several elements not changing for night mode. There are still some not changing, but it's greatly improved.
+
*Fix several elements not changing for night mode. There are still some not changing, but it's greatly improved.
*Fixed: Crash when received data is not from Heavens-Above, such as a network login page. [2.2+ crash report]
+
*Fix crash when received data is not from Heavens-Above, such as a network login page. [2.2+ crash report]
*Fixed: Button backlight stuck on (mistake in code from previous update).
+
*Fix button backlight stuck on (mistake in code from previous update).
  
 
==== v1.0.7.3 [2011-02-02] ====
 
==== v1.0.7.3 [2011-02-02] ====
*Fixed: Crash at launch in Android 2.1 caused by uncaught NoSuchFieldError when trying to set button brightness. [reported by 2 users in Market]
+
*Fix crash at launch in Android 2.1 caused by uncaught NoSuchFieldError when trying to set button brightness. [reported by 2 users in Market]
  
 
==== v1.0.7.2 [2011-02-01] ====
 
==== v1.0.7.2 [2011-02-01] ====
*Fixed (Pro): Existing alerts not being updated if auto-alerts disabled.
+
*Pro: Fix existing alerts not being updated if auto-alerts disabled.
*Fixed: Crash from bad parsing of single-digit day in start date range of 10-day ISS.
+
*Fix crash from bad parsing of single-digit day in start date range of 10-day ISS.
  
 
==== v1.0.7.1 [2011-01-29] ====
 
==== v1.0.7.1 [2011-01-29] ====
*Changed: Disabled links in About dialog text, tends to be more trouble than it's worth (turned 1.0.7.1 into link).
+
*Disabled links in About dialog text, tends to be more trouble than it's worth (turned 1.0.7.1 into link).
*Fixed: Crash when opening notification.
+
*Fix crash when opening notification.
  
 
==== v1.0.7 [2011-01-29] ====
 
==== v1.0.7 [2011-01-29] ====
*Changed: Alerts & sightings data moved from app cache to files, so clearing cache from Android app manager won't delete it.
+
*Alerts & sightings data moved from app cache to files, so clearing cache from Android app manager won't delete it.
*Removed: Preference to delete data. Avoids accidental deletion, menu on Alerts/Sightings screens should be safer.
+
*Remove preference to delete data. Avoids accidental deletion, menu on Alerts/Sightings screens should be safer.
*Removed: Preference to clear coordinates. Not necessary since it's just as easy to manually clear coordinates.
+
*Remove preference to clear coordinates. Not necessary since it's just as easy to manually clear coordinates.
*Changed (Free): Existing alerts are automatically updated when new data is loaded. (Pro already had this with auto-alerts)
+
*Free: Existing alerts are automatically updated when new data is loaded. (Pro already had this with auto-alerts)
*Added (Pro): Option in preferences to export sightings to sdcard as CSV files, uses WRITE_EXTERNAL_STORAGE permission.
+
*Pro: Option in preferences to export sightings to sdcard as CSV files, uses WRITE_EXTERNAL_STORAGE permission.
*Changed: Messages for updated alerts will only appear if the time has changed and shows the old and new times.
+
*Messages for updated alerts will only appear if the time has changed and shows the old and new times.
*Changed: Threshold for duplicate alert/sighting check increased from 10 seconds to 10 minutes.
+
*Threshold for duplicate alert/sighting check increased from 10 seconds to 10 minutes.
*Changed (Pro): If event is in alerts, Add Sighting becomes Move to Sightings in context menu.
+
*Pro: If event is in alerts, Add Sighting becomes Move to Sightings in context menu.
*Changed (Pro): Add Sighting is disabled until 2 minutes before event start.
+
*Pro: Add Sighting is disabled until 2 minutes before event start.
*Changed: Add Alert is disabled for events that have already started, also applies for auto-alerts in Pro.
+
*Add Alert is disabled for events that have already started, also applies for auto-alerts in Pro.
*Changed: Buttons on main screen repositioned.
+
*Buttons on main screen repositioned.
*Added: ACCESS_NETWORK_STATE permission for connectivity detection, also required by Greystripe in Free version.
+
*Add ACCESS_NETWORK_STATE permission for connectivity detection, also required by Greystripe in Free version.
*Changed: Connectivity is now checked before attempting to access.
+
*Connectivity is now checked before attempting to access.
*Added: Fetch 10-day ISS list. (optional) [Suggested by Seth]
+
*Add 10-day ISS list. (optional) [Suggested by Seth]
*Changed: Countdown to start, max, and end instead of just start.
+
*Countdown to start, max, and end instead of just start.
*Changed: Countdown is initiated by tapping an event instead of from the context menu.
+
*Countdown is initiated by tapping an event instead of from the context menu.
*Added: Include daytime flares in list. (optional)
+
*Include daytime flares in list. (optional)
*Added: Progress dialog in list showing what is loading and percentage of each process. [Suggested by SuM_WuN]
+
*Add progress dialog in list showing what is loading and percentage of each process. [Suggested by SuM_WuN]
*Improved: Better performance with the use of multiple threads and other optimizations.
+
*Better performance with the use of multiple threads and other optimizations.
*Added: Quiet time: No alert notifications between certain times of day. [Suggested by Rick]
+
*Add quiet time: No alert notifications between certain times of day. [Suggested by Rick]
*Fixed: Location search stopping when invalid coordinates received.
+
*Fix location search stopping when invalid coordinates received.
*Added: Network location (works seamlessly with GPS) and message indicating what provided the coordinates.
+
*Add network location (works seamlessly with GPS) and message indicating what provided the coordinates.
*Changed: After opening notification, pressing back button from Alerts opens main screen.
+
*After opening notification, pressing back button from Alerts opens main screen.
*Fixed: No indication of disabled GPS on GPS button. [Reported by ka0ticstyle]
+
*Fix missing indication of disabled GPS on GPS button. [Reported by ka0ticstyle]
*Changed: Volume buttons control notification volume, or media volume if TTS is enabled.
+
*Volume buttons control notification volume, or media volume if TTS is enabled.
*Fixed: Browser closing when orientation changes.
+
*Fix browser closing when orientation changes.
*Added: Date on satellite passes lists. [Suggested by Rick]
+
*Add date on satellite passes lists. [Suggested by Rick]
*Added: Button backlight turned off in Night Mode if supported by API and hardware.
+
*Button backlight turns off in Night Mode if supported by API and hardware.
*Fixed: Exiting with back button causing home screen folder in background to close.
+
*Fix exiting with back button causing home screen folder in background to close.
*Fixed: Empty countdown view and list header color missing when returning to list from web browser.
+
*Fix empty countdown view and list header color missing when returning to list from web browser.
*Tweaked: Main and preferences screens are not restarted when changing timezone or alert time.
+
*Main and preferences screens are not restarted when changing timezone or alert time.
*Added (Free): Option to toggle between banner ads or full screen ad at launch.
+
*Free: Option to toggle between banner ads or full screen ad at launch.
*Added (Free): READ_PHONE_STATE permission required by Greystripe.
+
*Free: READ_PHONE_STATE permission required by Greystripe.
*Added (Free): Greystripe ads.
+
*Free: Greystripe ads.
*Updated (Free): SDK's for AdWhirl and AdMob.
+
*Free: Update SDKs for AdWhirl and AdMob.
*Removed (Pro): Option for ads.
+
*Pro: Remove option for ads.
*Changed: Instead of buttons for each list on Heavens-Above site, one button for the homepage.
+
*Instead of buttons for each list on Heavens-Above site, one button for the homepage.
*Removed: Changelog.
+
*Remove changelog.
  
 
==== v1.0.6 [2010-10-14] ====
 
==== v1.0.6 [2010-10-14] ====
 
*Initial release of Pro.
 
*Initial release of Pro.
*Fixed: Countdown timer way off after orientation change.
+
*Fix countdown timer way off after orientation change.
 
*Pro: Sightings log.
 
*Pro: Sightings log.
 
*Pro: Alerts automatically created based on custom magnitude when list is loaded with new data.
 
*Pro: Alerts automatically created based on custom magnitude when list is loaded with new data.
*Fixed: Back button not working as expected in web view.
+
*Fix back button not working as expected in web view.
*Changed: Night mode uses color filtering instead of replacing graphics with plain colors.
+
*Night mode uses color filtering instead of replacing graphics with plain colors.
*Changed: Ad manager is AdWhirl, which provides much more flexibility with multiple ad networks.
+
*Ad manager is AdWhirl, which provides much more flexibility with multiple ad networks.
 
*Pro: Text-To-Speech alerts.
 
*Pro: Text-To-Speech alerts.
 
*Pro: Multiple alert times can be set, space separated.
 
*Pro: Multiple alert times can be set, space separated.
 
*Pro: Ads are disabled by default and can be toggled.
 
*Pro: Ads are disabled by default and can be toggled.
*Fixed: Detection of existing alerts with certain differences in data, alert is updated when required.
+
*Fix detection of existing alerts with certain differences in data, alert is updated when required.
*Fixed: Value shown in title of 'Alert time' preference stacking when changed.
+
*Fix value shown in title of 'Alert time' preference stacking when changed.
 
==== v1.0.5 [2010-09-24] ====
 
==== v1.0.5 [2010-09-24] ====
*Added: Alert time preference shows the current setting in its title.
+
*Alert time preference shows the current setting in its title.
*Changed: Alert lists are sorted by event time instead of order they were added.
+
*Alert lists are sorted by event time instead of order they were added.
*Added: Description on Timezone preference clarifying that it is the standard GMT offset.
+
*Add description on Timezone preference clarifying that it is the standard GMT offset.
*Added: Menu option on main screen to toggle night mode.
+
*Add menu option on main screen to toggle night mode.
*Added: Menu options in Alerts view to clear either list.
+
*Add menu options in Alerts view to clear either list.
*Workaround: Detect incompatible alerts at launch and delete along with cache, preventing crash after version upgrade.
+
*Detect incompatible alerts at launch and delete along with cache, preventing crash after version upgrade.
*Fixed: Detection of existing alerts created in different list instances.
+
*Fix detection of existing alerts created in different list instances.
*Added: Alerts can be removed through event lists.
+
*Alerts can be removed through event lists.
*Changed: Events can be added to alerts even if alerts are currently disabled.
+
*Events can be added to alerts even if alerts are currently disabled.
*^Workaround: If invalid GPS coordinates received, show error instead of crashing.
+
*If invalid GPS coordinates received, show error instead of crashing.
*Added: Toast notification at alert trigger.
+
*Toast notification at alert trigger.
*Improved: Notification timer is much more efficient, using a native method instead of a very bloated and often buggy countdown.
+
*Notification timer is much more efficient, using a native method instead of a very bloated and often buggy countdown.
*Added: Try setting timezone automatically at launch if not set.
+
*Try setting timezone automatically at launch if not set.
*Fixed: Error when parser encounters trimmed/optimized HTML. (Thanks to [http://twitter.com/SkepticBarista SkepticBarista]!)
+
*Fix error when parser encounters trimmed/optimized HTML. (Thanks to [http://twitter.com/SkepticBarista SkepticBarista]!)
*Fixed: Expired alerts being triggered on service modification/start if alert time is set to 0.
+
*Fix expired alerts being triggered on service modification/start if alert time is set to 0.
 
==== v1.0.4 [2010-09-02] ====
 
==== v1.0.4 [2010-09-02] ====
*Fixed: Event timer timezone not being calculated properly for timezones different from phone.
+
*Fix event timer timezone not being calculated properly for timezones different from phone.
*Improved: Significantly reduced possibility of alerts being skipped because of lag.
+
*Significantly reduced possibility of alerts being skipped because of lag.
*Workaround: If parser runs into problem, show error and try loading cache instead of crashing.
+
*If parser runs into problem, show error and try loading cache instead of crashing.
 
==== v1.0.3 [2010-08-31] ====
 
==== v1.0.3 [2010-08-31] ====
*Added: Save coordinates when opening preferences.
+
*Save coordinates when opening preferences.
*Fixed: Alert time not applying to existing alerts when changed.
+
*Fix alert time not applying to existing alerts when changed.
*^Fixed: Crash when both pass periods are selected and one of them returns no passes.
+
*Fix crash when both pass periods are selected and one of them returns no passes.
*^Fixed: Crash when alert is triggered and ringtone was not configured.
+
*Fix crash when alert is triggered and ringtone was not configured.
*Fixed: DST sometimes being 'forgotten' while running in background as service.
+
*Fix DST sometimes being 'forgotten' while running in background as service.
 
==== v1.0.1 and v1.0.2 [2010-08-28] ====
 
==== v1.0.1 and v1.0.2 [2010-08-28] ====
*Fixed: Two crash bugs in the web browser.
+
*Fix two crashes in the web browser.
 
==== v1.0.0 [2010-08-28] ====
 
==== v1.0.0 [2010-08-28] ====
 
*Initial release to the Android Market!
 
*Initial release to the Android Market!
 
<br />
 
<br />
'''Started development on 2010-06-29'''<br />
+
'''Started development on 2010-06-29'''
<br /><br />
 
 
 
== Future releases ==
 
==== Feature requests ====
 
Feature requests are given strong consideration and if accepted they are given higher priority than other features of similar importance.<br />
 
This list also includes features that were already in the internal to-do list when they were suggested.<br />
 
Versions for feature releases are only preliminary and may change.<br />
 
{| class="wikitable sortable" style="font-size: 100%; text-align: center; width: auto;" border="1"
 
|-
 
! Suggestion
 
! Suggested by
 
! Through
 
! Version
 
! Notes
 
|-
 
| Manual or scheduled refresh of data
 
| [[User:Pigsonthewing|Andy Mabbett]]
 
| [[Talk:PrediSat]]
 
| v1.0.8
 
|
 
|-
 
| Automatically clear alerts that have completely passed
 
| Rick
 
| Email
 
| v1.0.8
 
|
 
|-
 
| Preference for delayed alert removal
 
| Rick
 
| Email
 
| v1.0.8
 
| Sub-feature for automatic clearing of passed alerts
 
|-
 
| Custom action when tapping list item
 
| SuM_WuN
 
| Mumble
 
| v1.0.8
 
|
 
|-
 
| Menu option to add alert while viewing in browser
 
| SuM_WuN
 
| Mumble
 
| v1.0.8
 
|
 
|-
 
| Condense list to most important details, touch for more info
 
| BZWingZero
 
| IRC DM
 
| v1.1.0
 
|
 
|-
 
| Daytime passes
 
| Phil
 
| Market comment for Pro
 
| v1.1.0
 
| Part of planned feature: More filter options
 
|-
 
| Option for white background
 
| revmikeblack
 
| AppBrain
 
| v1.1.0
 
| Part of planned feature: Custom colors
 
|-
 
| Automatically update alerts on a custom schedule
 
| Rick
 
| Email
 
| v1.1.0 Pro
 
|
 
|-
 
| Compass direction in status bar
 
| SuM_WuN
 
| Mumble
 
| v1.1.0 Pro
 
|
 
|}
 
<br />
 
 
 
==== Known issues ====
 
These are the notable issues that I know about.<br />
 
Just because I know about a problem, even if I've received a crash report with a stack trace, it does NOT mean I know how to fix it. The most important part of fixing a problem, especially a crash, is that I can reproduce it to find out exactly what is going on and know if a fix actually works. '''With that said, it is imperative that you contact me directly if you are experiencing a crash so that I can ask for more information if I need it.''' Way too often I receive crash reports or negative comments complaining about a crash, with no context to help me reproduce and fix it.
 
{| class="wikitable sortable" style="font-size: 100%; text-align: center; width: auto;" border="1"
 
|-
 
! Issue
 
! Affected Android platform/hardware
 
! Affected versions
 
! Expected fix version
 
! Notes
 
! Reported by
 
! Through
 
|-
 
| Data cannot be backed up and restored to a different ROM/phone
 
|
 
| All
 
| v1.0.8
 
| This is because the data is saved directly to file as serializable data and the SUID must not change between writing and reading; each ROM has a different SUID. Planned fix is to switch to an SQLite database.
 
|
 
|
 
|-
 
| Clock is often off by more than a few seconds even when phone synchronized with carrier
 
| Not platform/hardware issue
 
| All
 
| v1.1.0
 
| Planned solution: Use an NTP server whenever possible.<br />
 
User workaround: On a rooted phone, sync phone clock with NTP using an app such as ClockSync.
 
|
 
|
 
|-
 
| Alert notifications sometimes don't get set or removed in the system as they should
 
| Confirmed in 2.2
 
| All
 
|
 
| Not yet sure what is causing this, haven't been able to reproduce voluntarily. I do experience this issue, but it is too rare to be certain if a fix works.
 
|
 
|
 
|-
 
| Alerts are sometimes off by an hour when set before a DST change and scheduled to go off after the change
 
| Not platform/hardware issue
 
| All
 
|
 
|
 
|
 
|
 
|-
 
| In night mode, backlight brightens when phone tries dimming from inactivity
 
| Confirmed in 2.2
 
| All
 
|
 
|
 
|
 
|
 
|-
 
| A few elements aren't changed to red in night mode
 
| Not platform/hardware issue
 
| All
 
|
 
| Greatly improved in v1.0.7.4, but still not perfect.
 
|
 
|
 
|-
 
| GPS sometimes doesn't work while airplane mode is enabled
 
| Confirmed in 2.2 on Droid
 
| All
 
|
 
| Appears to be specific to phone or Android version.<br />
 
Current workaround: Network location.<br />
 
Other planned workaround: Select from map.
 
|
 
|
 
|-
 
| DST used is same as phone, so time is inaccurate if configured for a timezone currently using a different DST offset
 
| Not platform/hardware issue
 
| All
 
|
 
|
 
|
 
|
 
|-
 
| Timezone detection is extremely limited due to inconsistency between definitions in Java and Heavens-Above
 
| Not platform/hardware issue
 
| All
 
|
 
|
 
|
 
|
 
|-
 
| NullPointerException in WebViewDatabase.getCacheTotalSize()
 
| Not platform/hardware issue
 
| Confirmed in 1.0.7.4
 
|
 
| Haven't reproduced yet, but it is a priority as with all crashes.
 
| 1 report in Free
 
| Crash report
 
|-
 
| IllegalArgumentException in Parcel.readException()
 
| Not platform/hardware issue
 
| Confirmed in 1.0.7.4
 
|
 
| Haven't reproduced yet, but it is a priority as with all crashes.
 
| 2 reports in Free
 
| Crash report
 
|-
 
| StringIndexOutOfBoundsException in String.substring()
 
| Not platform/hardware issue
 
| Confirmed in 1.0.7.3
 
|
 
| Haven't reproduced yet, but it is a priority as with all crashes.
 
| 1 report in Free
 
| Crash report
 
|}
 
 
 
 
[[Category:Android]]
 
[[Category:Android]]

Latest revision as of 06:07, 18 October 2017

PrediSat is an Android app that grabs Iridium flare and satellite pass data from 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.

Read this QR Code with an Android device to go to PrediSat in Google Play


Links



Pro version

Read this QR Code with an Android device to go to PrediSat Pro in the Android Market

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.
Price is $1 (USD).

Current Pro-only features:

  • Multiple satellite USSC ID's can be entered for 10-day pass predictions
  • Multiple alerts per event can be set
  • Text-To-Speech alerts (optional)
  • Alerts automatically created based on custom magnitude when list is loaded with new data (optional)
  • Sightings log
  • Export sightings to CSV
  • Import/export database


Changelog

Dates are based on GMT.

v1.3.0 [2017-10-18]

  • Add xxhdpi icon.
  • Pro: Prevent excess spaces in Alert Time.
  • If not already granted, request location permission when Get Coordinates button pressed.
  • Add map to pick location.
  • Add background updater service.
    • Runs on a recurring schedule between cache expire time and 48 hours (or cache expire time if higher) at the system's discretion.
    • Requires both Cache Expire Time and Alert Time options to be set.
  • Use 12h/24h time as configured in the system.
  • Don't repeatedly update location from network while waiting for GPS location.
  • Fix some preference dialogs keeping changes when canceled and reopened.
  • Fix a notification crash.
  • Free: Remove ads. They were broken and paid very little when they worked.
  • Significant improvements to night mode. Not perfect, but much better.
  • Fix crash in Android 7+ when selecting preference item in Night Mode.
  • Increase minSdkVersion from 3 (Android 1.5) to 11 (Android 3.0) for various newer APIs used.
  • Change targetSdkVersion from 8 (Android 2.2) and compileSdkVersion from 13 (Android 3.2) to 25 (Android 7.1.1).
  • Migrate project from Eclipse to Android Studio.

v1.2.3 [2014-07-06]

  • Fix fetching of specific date/time broken for all passes list, due to HA changes.
  • Enable DOM storage API in browser for API 7+ (Android 2.1+), allowing HA mobile prototype to function.

v1.2.2.1 [2014-03-03]

  • Pro: Fix crash when TTS tries speaking. (Regression in v1.2.2)
  • Preserve current tab in Alerts/Sightings list when toggling night mode.
  • Add xhdpi icon.
  • Update About text.
  • A couple spelling corrections in German strings.
  • Use "en dash" character for time range in summary of Morning/Evening Passes setting.
  • Minor code tweaks and optimizations.

v1.2.2 [2014-02-24]

  • Update Russian with translated timezones and a couple changed strings.
  • Add notification message variables for magnitude (%m), direction/azimuth (%z), elevation (%e).
  • Add example in notification message dialog.
  • Use custom notification message in notification ticker.
  • Enable JavaScript in browser since some HA pages use it.
  • Free: Update AdMob SDK, remove AdWhirl and Greystripe. Remove read phone state permission that was required by Greystripe.
  • 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.
  • Add app name and version to user agent so HA can identify requests from PrediSat.
  • 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.
  • Pro: Fix crash when exporting sightings.
  • Fix parsing of morning/evening passes. Caused by recently added language selector on HA.
  • Fix crash when parsing 10-day pass with magnitude "?".
  • Fix quiet time inaccuracy when alert + timezone offset passes midnight.

v1.2.1.4 [2012-12-14]

  • Fix parsing of date/time for flares. Another HA change either overlooked in previous release or happened after release.

v1.2.1.3 [2012-12-13]

  • Fix parsing of passes, caused by more changes on HA.
  • Re-add pass magnitude 5.0 filter since HA re-added it.
  • Remove detail context menu options for flares due to HA not providing required data.
  • Fix flare count doubled during parsing.

v1.2.1.2 [2012-11-19]

  • Change numeric keyboard type from 'phone' to 'number'.
  • Pro: Prevent invalid value being entered in Auto-Alert Mag. settings, leading to a crash.
  • Fix performance issue after updating list, mainly event timer not appearing immediately.
  • 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.
  • 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.
  • Restore parsing/saving of flare center info. Not restored in UI for this version, currently only viewable in sightings export.
  • 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.
  • Update Russian translation for "Orbital Height Profile".

v1.2.1.1 [2012-11-08]

  • Pro: Fix crash after fetching a list when alert magnitude for the list has never been set.
  • Fix crash at launch when loading daytime flares from the database that were previously saved before v1.2.1.
  • 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)

v1.2.1 [2012-11-05]

  • Add context menu option for Orbital Height Profile.
  • Sort passes by max time rather than start time.
  • Disable flare event details due to new limitations with HA URL query.
  • Remove flare center magnitude/distance columns since HA no longer provides that data for night flares.
  • Remove obsolete Flare Days preference.
  • Significant improvements to how event data is handled. This is a prerequisite for better filtering and sorting in later versions.
  • Fix flares not parsing due to changes on HA.
  • Fix satellite details link for 10-day passes.
  • Fix debug mode not creating files if predisat folder doesn't already exist.

v1.2.0.2 [2012-08-07]

  • Fix timezone/DST not initialized (using GMT+0) when opening Alerts from notification.
  • Fix 'Set 10 Days of Passes' context item appearing in Alerts and Sightings, functionless. It is intended to only appear in main Passes list.
  • Improve accuracy and efficiency of clock and countdown.

v1.2.0.1 [2012-08-01]

  • Fix crash after downloading empty passes list. Don't know how I missed it after v1.2.0 fix of a very similar crash.
  • Free: Fix crash when opening passes context menu when there is no satellite set on 10 Days of Passes.

v1.2.0 [2012-07-31]

  • New translations: German and Russian. Huge thanks to the translators, XoXFaby and Himura respectively!
  • Pro: Reverse sort order of sightings list, with more recent events towards top.
  • Add context option to add/remove selected satellite in 10 Days of Passes. In Free, this replaces existing entry, while Pro adds.
  • 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.
  • 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.
  • Open timezone list preference if detection fails.
  • Add screen title at top of list screens.
  • Fix timezone/DST changes not applying immediately.
  • 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!]
  • Fix crash when getting coordinates on locales that use comma (,) instead of period (.) as a decimal separator.
  • Update timezone names.
  • Fix crash when parsing empty passes list.
  • Pro: Fix crash at alert in Android 1.5 due to TTS not supported (happened regardless of TTS preference).
  • Increase night mode backlight brightness. This is because at least one device (Xperia mini) is known to have a higher minimum brightness than G1.
  • Remove compatibility upgrade for v1.0.7 data.
  • Change "HA Website" button to "Heavens-Above.com".
  • Bottom buttons in main screen: Increase to 2 lines height, reduce font size in portrait orientation.

v1.1.2.2 [2012-03-17]

  • 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.
  • 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.
  • Fix progress bar not working for morning/evening after initial fetch.

v1.1.2.1 [2012-03-13]

  • Fix parsing of morning/evening passes lists. Caused by major changes to the all satellites page on Heavens-Above. Sorry again for the delay.
  • 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.
  • Remove requirement for location and GPS features (supports Google TV).

v1.1.2 [2012-02-17]

  • 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.
  • Show year in Date column.
  • Add pass magnitude filters for 0.0-2.5 (0.5 step).
  • Remove pass magnitude 5.0 filter (no longer supported by HA).
  • Add option to clear cache.
  • Changing filter preference while in list now takes effect on next manual refresh without the need to close and reopen the list.
  • Minor improvements to layouts making it appear better on large screens.
  • Remove touchscreen requirement.
  • Free: Update AdWhirl, AdMob, and Greystripe ad SDKs to latest versions.
  • Free: Enable full-screen ad option for Android 2.3.x users since updated Greystripe SDK fixes a crash.

v1.1.1.3 [2011-12-10]

  • Pro: TTS doesn't speak if phone is in silent mode or in a call.
  • Fix rash when trying to update coordinates on some devices that don't have GPS (Honeycomb/tablets).
  • Fix how process is closed. Bad practice of forcibly killing process because TTS service was badly coded and holding process open.

v1.1.1.2 [2011-08-04]

  • Fix crash on somewhat rare occasion when opening Alerts, caused by wrong thread exception when automatically selecting initial tab.

v1.1.1.1 [2011-07-29]

  • Fix crash when trying to sort empty list immediately after parsing. Thanks to a crash report for pointing it out!

v1.1.1 [2011-07-28]

  • Fix refreshing more than once in a single list instance causing following issues:
    • Crash during parsing of morning or evening passes after 10 day was enabled in previous refresh.
    • Evening passes fetching morning instead if 10 day was disabled and morning was enabled in previous refresh,
    • Night flares fetching daytime instead if daytime was enabled in previous refresh.
  • Progress dialog indicates the number of events in list being parsed, instead of always showing 100.
  • Fix countdown timer not automatically appearing for next event in Alerts if Remove Old Events is disabled.
  • If existing instance of Alerts screen is at top of process when opening notification, it is used instead of starting a second Alerts instance.
  • When opening Alerts, the tab with the next event is selected.
  • 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.
  • 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.
  • 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.

v1.1.0.1 [2011-07-13]

  • Fix 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.
  • 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.

v1.1.0 [2011-06-07]

  • 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.
  • Add confirmation dialog when clearing alerts or sightings lists.
  • Add customizable notification message for TTS (Pro) and bubbles. Variables: Satellite name, event type, and minutes until event.
  • Fix displayed time for stored events not changing when timezone is changed, plus other issues with using a different timezone than the phone.
  • Satellite name is above countdown instead of in parentheses after, or in landscape mode the name is aligned to the right.
  • Increased font size of countdown and made bold.
  • Increased minimum height of list items about 2x to make them easier to touch.
  • Event timer is shown for the next event when opening list.
  • Add preferences to toggle messages for tips and updated alert times.
  • Single-digit days are formatted without "0" prefix.
  • Free: Fix space allowed in Alert Time preference, which causes alerts to not work.
  • Pro: Timestamp included in filename of exported sightings CSV with pattern of yyyyMMddHHmm, preventing any unwanted overwrites.
  • Fix progress not updating while parsing flares.
  • Preferences and night mode menu options now accessible from lists.
  • Preferences are categorized into different screens.
  • 10-day passes - ISS replaced with USSC ID entry. Free allows only one entry, Pro is space-separated. ISS is default.
  • Fix toast message showing string resource ID instead of "Timezone set to" when detecting timezone in preferences.
  • 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.
  • Lists are populated in UI (behind progress dialog) as parsing progresses.
  • All lists are loaded to memory at launch and remains until app is closed, making it very quick to open lists.
  • 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.
  • 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)
  • 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.
  • 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.

v1.0.7.8 [2011-05-21]

  • Fix automatic location starting when night mode is toggled.
  • Pro: Fix colon at end of "Move to Sightings" in context menu for Alerts.
  • Fix crash when opening context menu in Passes/Flares lists after loading from cache.

v1.0.7.7 [2011-05-19]

  • Fix automatic location starting when orientation changes.
  • Fix crash at start when Automatic Location is enabled. Thanks for crash reports, I didn't think to test it.

v1.0.7.6 [2011-05-19]

  • Fix crash when opening preferences while using night mode for Android 2.0 and 2.3.1 to 3.1.
  • 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.
  • Fix coordinates update stopping when orientation changes.
  • 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.
  • Fix Get Coordinates button disabled with GPS even if Network Location enabled.
  • 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.

v1.0.7.5 [2011-05-10]

  • Fix crash during parsing with most system languages. English was the only unaffected language in all versions of Android.
  • Fix Alerts and Sightings buttons not appearing correctly in Android 1.5.

v1.0.7.4 [2011-03-19]

  • Fix inability to scroll in About dialog for 1.5 and 1.6.
  • Fix inability to cancel download, a problem if there is connectivity but HA isn't responding.
  • Fix lists or browser restarting when physical keyboard opened/closed.
  • Fix several elements not changing for night mode. There are still some not changing, but it's greatly improved.
  • Fix crash when received data is not from Heavens-Above, such as a network login page. [2.2+ crash report]
  • Fix button backlight stuck on (mistake in code from previous update).

v1.0.7.3 [2011-02-02]

  • Fix crash at launch in Android 2.1 caused by uncaught NoSuchFieldError when trying to set button brightness. [reported by 2 users in Market]

v1.0.7.2 [2011-02-01]

  • Pro: Fix existing alerts not being updated if auto-alerts disabled.
  • Fix crash from bad parsing of single-digit day in start date range of 10-day ISS.

v1.0.7.1 [2011-01-29]

  • Disabled links in About dialog text, tends to be more trouble than it's worth (turned 1.0.7.1 into link).
  • Fix crash when opening notification.

v1.0.7 [2011-01-29]

  • Alerts & sightings data moved from app cache to files, so clearing cache from Android app manager won't delete it.
  • Remove preference to delete data. Avoids accidental deletion, menu on Alerts/Sightings screens should be safer.
  • Remove preference to clear coordinates. Not necessary since it's just as easy to manually clear coordinates.
  • Free: Existing alerts are automatically updated when new data is loaded. (Pro already had this with auto-alerts)
  • Pro: Option in preferences to export sightings to sdcard as CSV files, uses WRITE_EXTERNAL_STORAGE permission.
  • Messages for updated alerts will only appear if the time has changed and shows the old and new times.
  • Threshold for duplicate alert/sighting check increased from 10 seconds to 10 minutes.
  • Pro: If event is in alerts, Add Sighting becomes Move to Sightings in context menu.
  • Pro: Add Sighting is disabled until 2 minutes before event start.
  • Add Alert is disabled for events that have already started, also applies for auto-alerts in Pro.
  • Buttons on main screen repositioned.
  • Add ACCESS_NETWORK_STATE permission for connectivity detection, also required by Greystripe in Free version.
  • Connectivity is now checked before attempting to access.
  • Add 10-day ISS list. (optional) [Suggested by Seth]
  • Countdown to start, max, and end instead of just start.
  • Countdown is initiated by tapping an event instead of from the context menu.
  • Include daytime flares in list. (optional)
  • Add progress dialog in list showing what is loading and percentage of each process. [Suggested by SuM_WuN]
  • Better performance with the use of multiple threads and other optimizations.
  • Add quiet time: No alert notifications between certain times of day. [Suggested by Rick]
  • Fix location search stopping when invalid coordinates received.
  • Add network location (works seamlessly with GPS) and message indicating what provided the coordinates.
  • After opening notification, pressing back button from Alerts opens main screen.
  • Fix missing indication of disabled GPS on GPS button. [Reported by ka0ticstyle]
  • Volume buttons control notification volume, or media volume if TTS is enabled.
  • Fix browser closing when orientation changes.
  • Add date on satellite passes lists. [Suggested by Rick]
  • Button backlight turns off in Night Mode if supported by API and hardware.
  • Fix exiting with back button causing home screen folder in background to close.
  • Fix empty countdown view and list header color missing when returning to list from web browser.
  • Main and preferences screens are not restarted when changing timezone or alert time.
  • Free: Option to toggle between banner ads or full screen ad at launch.
  • Free: READ_PHONE_STATE permission required by Greystripe.
  • Free: Greystripe ads.
  • Free: Update SDKs for AdWhirl and AdMob.
  • Pro: Remove option for ads.
  • Instead of buttons for each list on Heavens-Above site, one button for the homepage.
  • Remove changelog.

v1.0.6 [2010-10-14]

  • Initial release of Pro.
  • Fix countdown timer way off after orientation change.
  • Pro: Sightings log.
  • Pro: Alerts automatically created based on custom magnitude when list is loaded with new data.
  • Fix back button not working as expected in web view.
  • Night mode uses color filtering instead of replacing graphics with plain colors.
  • Ad manager is AdWhirl, which provides much more flexibility with multiple ad networks.
  • Pro: Text-To-Speech alerts.
  • Pro: Multiple alert times can be set, space separated.
  • Pro: Ads are disabled by default and can be toggled.
  • Fix detection of existing alerts with certain differences in data, alert is updated when required.
  • Fix value shown in title of 'Alert time' preference stacking when changed.

v1.0.5 [2010-09-24]

  • Alert time preference shows the current setting in its title.
  • Alert lists are sorted by event time instead of order they were added.
  • Add description on Timezone preference clarifying that it is the standard GMT offset.
  • Add menu option on main screen to toggle night mode.
  • Add menu options in Alerts view to clear either list.
  • Detect incompatible alerts at launch and delete along with cache, preventing crash after version upgrade.
  • Fix detection of existing alerts created in different list instances.
  • Alerts can be removed through event lists.
  • Events can be added to alerts even if alerts are currently disabled.
  • If invalid GPS coordinates received, show error instead of crashing.
  • Toast notification at alert trigger.
  • Notification timer is much more efficient, using a native method instead of a very bloated and often buggy countdown.
  • Try setting timezone automatically at launch if not set.
  • Fix error when parser encounters trimmed/optimized HTML. (Thanks to SkepticBarista!)
  • Fix expired alerts being triggered on service modification/start if alert time is set to 0.

v1.0.4 [2010-09-02]

  • Fix event timer timezone not being calculated properly for timezones different from phone.
  • Significantly reduced possibility of alerts being skipped because of lag.
  • If parser runs into problem, show error and try loading cache instead of crashing.

v1.0.3 [2010-08-31]

  • Save coordinates when opening preferences.
  • Fix alert time not applying to existing alerts when changed.
  • Fix crash when both pass periods are selected and one of them returns no passes.
  • Fix crash when alert is triggered and ringtone was not configured.
  • Fix DST sometimes being 'forgotten' while running in background as service.

v1.0.1 and v1.0.2 [2010-08-28]

  • Fix two crashes in the web browser.

v1.0.0 [2010-08-28]

  • Initial release to the Android Market!


Started development on 2010-06-29