PrediSat

From Pilot_51's Wiki
Jump to navigation Jump to search

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 the Android Market


Links

PrediSat.com (currently forwards here)
PrediSat in Android Market
PrediSat Pro in Android Market
PrediSat on AppBrain
PrediSat Pro on AppBrain
Heavens-Above (the source of satellite data for PrediSat)


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 alert times can be set, space separated.
  • 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.
  • No ads.


Changelog

^ = Based on error report from a Froyo user
Dates are based on GMT.

v1.0.8 [in development]

  • Changed: Event timer is shown for the next event when opening list.
  • Added: Preferences to toggle messages for tips and updated alert times.
  • Changed: Single-digit days are formatted without "0" prefix.
  • Fixed (Free): Space allowed in Alert Time preference, which causes alerts to not work.
  • Changed (Pro): Timestamp included in filename of exported sightings CSV with pattern of yyyyMMddHHmm, preventing any unwanted overwrites.
  • Fixed: Progress not updating while parsing flares.
  • Added: Preferences and night mode menu options accessible from lists.
  • Changed: Preferences are categorized into different screens.
  • Changed: 10-day passes - ISS replaced with USSC ID entry. Free allows only one entry, Pro is space-separated. ISS is default.
  • Fixed: Toast message showing string resource ID instead of "Timezone set to" when detecting timezone in preferences.
  • 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.
  • Changed: Lists are populated in UI (behind progress dialog) as parsing progresses.
  • Improved: All lists are loaded to memory at launch and remains until app is closed, making it very quick to open lists.
  • 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)
  • 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.
  • 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]

  • Fixed: Automatic location starting when night mode is toggled.
  • Fixed (Pro): 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.

v1.0.7.7 [2011-05-19]

  • Fixed: 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.

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.
  • 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.
  • Fixed: 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.
  • Fixed: 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.

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.
  • Fixed: Alerts and Sightings buttons not appearing correctly in Android 1.5.

v1.0.7.4 [2011-03-19]

  • Fixed: Unable 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.
  • Fixed: 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.
  • Fixed: 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).

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]

v1.0.7.2 [2011-02-01]

  • Fixed (Pro): 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.

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).
  • Fixed: Crash when opening notification.

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.
  • Removed: 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.
  • Changed (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.
  • Changed: 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.
  • Changed (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.
  • Changed: Add Alert is disabled for events that have already started, also applies for auto-alerts in Pro.
  • Changed: Buttons on main screen repositioned.
  • Added: ACCESS_NETWORK_STATE permission for connectivity detection, also required by Greystripe in Free version.
  • Changed: Connectivity is now checked before attempting to access.
  • Added: Fetch 10-day ISS list. (optional) [Suggested by Seth]
  • Changed: Countdown to start, max, and end instead of just start.
  • Changed: Countdown is initiated by tapping an event instead of from the context menu.
  • Added: Include daytime flares in list. (optional)
  • Added: 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.
  • Added: Quiet time: No alert notifications between certain times of day. [Suggested by Rick]
  • Fixed: Location search stopping when invalid coordinates received.
  • Added: 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.
  • Fixed: No indication of disabled GPS on GPS button. [Reported by ka0ticstyle]
  • Changed: Volume buttons control notification volume, or media volume if TTS is enabled.
  • Fixed: Browser closing when orientation changes.
  • Added: Date on satellite passes lists. [Suggested by Rick]
  • Added: Button backlight turned off in Night Mode if supported by API and hardware.
  • Fixed: 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.
  • Tweaked: 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.
  • Added (Free): READ_PHONE_STATE permission required by Greystripe.
  • Added (Free): Greystripe ads.
  • Updated (Free): SDK's for AdWhirl and AdMob.
  • Removed (Pro): Option for ads.
  • Changed: Instead of buttons for each list on Heavens-Above site, one button for the homepage.
  • Removed: Changelog.

v1.0.6 [2010-10-14]

  • Initial release of Pro.
  • Fixed: 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.
  • Fixed: Back button not working as expected in web view.
  • Changed: 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.
  • Pro: Text-To-Speech alerts.
  • Pro: Multiple alert times can be set, space separated.
  • 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.
  • Fixed: Value shown in title of 'Alert time' preference stacking when changed.

v1.0.5 [2010-09-24]

  • Added: Alert time preference shows the current setting in its title.
  • Changed: 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.
  • Added: Menu option on main screen to toggle night mode.
  • Added: 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.
  • Fixed: Detection of existing alerts created in different list instances.
  • Added: Alerts can be removed through event lists.
  • Changed: Events can be added to alerts even if alerts are currently disabled.
  • ^Workaround: If invalid GPS coordinates received, show error instead of crashing.
  • Added: 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.
  • Added: Try setting timezone automatically at launch if not set.
  • Fixed: Error when parser encounters trimmed/optimized HTML. (Thanks to SkepticBarista!)
  • Fixed: Expired alerts being triggered on service modification/start if alert time is set to 0.

v1.0.4 [2010-09-02]

  • Fixed: Event timer timezone not being calculated properly for timezones different from phone.
  • Improved: 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.

v1.0.3 [2010-08-31]

  • Added: Save coordinates when opening preferences.
  • Fixed: Alert time not applying to existing alerts when changed.
  • ^Fixed: 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.
  • Fixed: DST sometimes being 'forgotten' while running in background as service.

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

  • Fixed: Two crash bugs in the web browser.

v1.0.0 [2010-08-28]

  • Initial release to the Android Market!


Started development on 2010-06-29


Future releases

Feature requests

Feature requests are given strong consideration and if accepted they are given higher priority than other features of similar importance.
This list also includes features that were already in the internal to-do list when they were suggested.
Versions for feature releases are only preliminary and may change.

Suggestion Suggested by Through Version Notes
Manual or scheduled refresh of data 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


Known issues

These are the notable issues that I know about.
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.

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.

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.

Current workaround: Network location.
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