Android app (and widget collection) that displays sunlight and moonlight times for a given location.
Displays sunrise and sunset, twilights (civil / nautical / astronomical), blue and golden hour, solstices and equinoxes, moonrise and moonset, moon phases and illumination.
A calendar provider add-on for Suntimes.
- displays the current time (system time zone, custom time zone, or solar time)
- displays the time until the next rising/setting event.
- displays the sunrise and sunset, blue and golden hour, and twilight times (civil / nautical / astronomical).
- displays the current moon phase, illumination, moonrise and moonset times, and major phase dates.
- displays the current sunlight and moonlight projected over a world map (basic equirectangular, blue marble).
- displays the solstices and equinoxes, and notes the time until the next event.
- displays the sun's current position, and its position at sunrise, sunset, and noon.
- displays the moon's current position, and its position at moonrise and moonset.
- includes an Alarm Clock that can set a repeating alarm or notification for the next sunrise or sunset (or other rising/setting event).
- can display the configured location on a map (requires a map application) and configure the location from a map (using geo intent).
- does not require GPS. The location is manually specified by default (and optionally obtained from GPS).
- does not require network connectivity (or other unnecessary permissions). All calculations are performed locally on the device.
Widgets are (re)configurable:
- location (latitude, longitude, elevation).
- time zone (system / custom), or solar time (local mean time, apparent solar time).
- user-defined titles (supporting limited substitutions).
- misc. options: "use elevation", "show seconds", "show noon", and "show comparison", etc.
Widgets are themeable and provide:
- a theme editor and support for basic custom themes.
- a (default) dark theme (and dark w/ semi-transparent background).
- a (default) light theme (and light w/ transparent background).
Widgets are resizable and include...
- 1x1 digital clock widget that displays solar time (or a given timezone).
- 1x1 sun widget that displays the sunrise or sunset time.
- 1x1 sun widget that displays both sunrise and sunset times.
- 1x1 sun widget that flips between sunrise and sunset times.
- 2x1 sun widget that displays the sunrise and sunset times, and the difference in daylight between today and tomorrow (or yesterday).
- 1x1 moon widget that displays moonrise and moonset.
- 1x1 moon widget that displays next major phase.
- 1x1 moon widget that displays phase and illumination (or phase only, or illumination only).
- 2x1 moon widget that displays moonrise and moonset, phase, and illumination.
- 3x1 moon widget that displays upcoming major moon phases.
- 1x1 solstice widget that tracks the upcoming solstice or equinox.
- 1x1 sun position widget that tracks the sun's altitude and azimuth.
- 1x1 sun position widget that tracks the sun's declination and right ascension.
- 3x1 sun position widget that displays the lightmap graph, and tracks the sun's altitude and azimuth (current, sunrise/sunset, and at noon).
- 3x2 sun position widget that displays current sunlight and moonlight projected over a world map.
Privacy and Permissions
Suntimes does not collect, store, or transmit personal user data. It contains no advertising, no analytics, no trackers, and no unnecessary permissions. https://github.com/forrestguice/SuntimesWidget/wiki/Privacy
The app benefits from the following permissions...
|ACCESS_COARSE_LOCATION||To get current location.||v0.1.0|
|ACCESS_FINE_LOCATION||To get current location (GPS).||v0.1.0|
|BOOT_COMPLETED||To restore active alarms when the device boots.||v0.11.0|
|READ_EXTERNAL_STORAGE||To play alarm sounds located on the SD card.||v0.11.5|
|SET_ALARM||To interact with the system AlarmClock app.||v0.1.0|
|WRITE_EXTERNAL_STORAGE||To export data (places, themes, etc.) to file.||v0.2.2 (api<=18)|
0.9.* contained the following additional permissions (removed in v0.10.0)...
|READ_CALENDAR||To interact with the Calendar app (access events).||v0.9.0|
|WRITE_CALENDAR||To interact with the Calendar app (add/remove events).||v0.9.0|
|READ_SYNC_STATS||To interact with the Calendar app (access custom calendars).||v0.9.0|
|WRITE_SYNC_SETTINGS||To interact with the Calendar app (add/remove custom calendars).||v0.9.0|
Do you find value in this software? Pay as you feel.
I want to express my thanks to those who have sent me something. This is a very meaningful gesture and greatly appreciated.
You can report bugs using the issue tracker. Be aware that times are approximate and may differ from official sources (up to 10 minutes).
When submitting a bug please be detailed and specific. What did you expect the app to do, what did you actually observe? Bugs that can't be reproduced won't get fixed. Useful information includes Android OS version and your specific device model.
Copyright © 2014-2019 Forrest Guice
The goal of this project is an app that is free and open-source (FOSS). The source code is available under GPLv3 (https://github.com/forrestguice/SuntimesWidget).
Icons and images from:
- "Google Android Design Icons 20131120" [Apache License 2.0]
- "Google Material Icons" [Apache License 2.0] (https://material.io/icons/)
- "Material Design Icons" [SIL Open Font License 1.1] (https://materialdesignicons.com)
- "NASA Visible Earth: Blue Marble" [Public Domain] (https://visibleearth.nasa.gov/view_cat.php?categoryID=1484)
- Time4A [Apache License 2.0] (http://github.com/MenoData/Time4A)
- ca.rmen.sunrisesunset [LGPL-2.1] (http://github.com/caarmen/SunriseSunset)
- sunrisesunsetlib-java [Apache License 2.0] (http://mikereedell.github.io/sunrisesunsetlib-java/)
- QuadFlask/colorpicker [Apache License 2.0] (https://github.com/QuadFlask/colorpicker)
German translation by Henrik "HerHde" Hüttemann and Wolkenschieber.
Polish and Esperanto translations by Verdulo.
French translation by Jej and Aloha.
Hungarian translation by Erci.
Catalan and Spanish translations by Raulvo.
Basque translation by beriain.
Norwegian translation by FTno.
Italian translation by Matteo Caoduro.
Traditional Chinese translation by ft42.
Brazilian Portuguese translation by NetoSilva.
Contributions to the project are welcome.