Subsections of More
Settings
Suntimes -> Settings
to change application
settings.
General
Suntimes -> Settings -> General
to change
general settings.
Alarms
Suntimes -> Settings -> Alarms
to change
alarm settings.
Language
Suntimes -> Settings -> Language
to change
language settings.
Places
Suntimes -> Settings -> Places
to change
place settings.
User Interface
Suntimes -> Settings -> User Interface
to change
user interface settings.
Widgets
Suntimes -> Settings -> Widgets
to
reconfigure widgets, or configure
widget themes, or
widget actions.
Subsections of Settings
General
Suntimes -> Settings
-> General
to change
general settings.
Welcome Screen
Starts the first launch configuration wizard. This guided configuration is also shown the first time the app is launched.
Time Format
- System format (default)
- 12-hour
- 24-hour
Units of Length
- Metric (kilometers, meters)
- Imperial (miles, feet)
The default value will depend on your specific locale.
Localize to Hemisphere
Apply hemisphere based localization. This setting will swap labels and icons (seasons, moon phases, etc) when configured to locations in the southern hemisphere.
Show Seconds
Include seconds when displaying twilight times. Do not expect precision better than minutes. This option is disabled by default.
Use Elevation
Apply altitude based refinements when calculating data (times may differ up to 10 minutes).
Data Source
Select the data source for sun or moon based calculations (Advanced). The default is time4j-4a
.
Language
Suntimes -> Settings
-> Language
to change
language settings.
Mode
- System to use the system locale (default).
- User Defined to override the system locale.
It is recommended to change System settings instead of overriding the locale. In some cases User Defined may fail to work as expected (partial translation).
Language
Suntimes has been translated into the following languages:
- Arabic
- Basque
- Catalan
- Czech
- Dutch
- Esperanto
- French
- German
- Hungarian
- Italian
- Norwegian
- Polish
- Portuguese
- Russian
- Simplified Chinese
- Spanish
- Traditional Chinese
All translations are volunteer contributions! On occasion a translation may be incomplete or may contain minor errors. See the contribution guidelines if you would like to help update or improve a translation.
User Interface
Suntimes -> Settings
-> User Interface
to change
user interface settings.
- Appearance
- Text Size
- Display (Default Events)
- Display (Custom Events)
- Display (Other)
- Miscellaneous
- Tap Actions
Appearance
- Light always shows light theme.
- Dark always shows dark dark.
- System default follows the system theme, and will automatically switch between light and dark themes.
Light Theme
- Default (Light)
- High Contrast (Light)
Dark Theme
- Default (Dark)
- High Contrast (Dark)
Text Size
- Small (12)
- Normal (14)
- Large (16)
- Extra Large (18)
The text size setting also respects the system settings.
Adjust system text size first, then override the size in Suntimes for readability if necessary.
Display (Default Events)
Tap options to toggle the visibility of default fields on the main screen.
- Astronomical Twilight
- Nautical Twilight
- Blue Hour
- Civil Twilight
- Actual Time (sunrise, sunset)
- Solar Noon
- Golden Hour
Emphasize Field
The emphasized field is displayed with increased text size (defaults to actual time).
Display (Custom Events)
Tap
Manage Events
to add or remove custom events.
Display (Other)
Twilight
- Header Icon. Show column header icons.
- Header Text. Show column header text. [None, Labels, Azimuth]
- Light Map. Show a stacked bar chart of day, night, and twilight periods.
Moon
- Moon. Show moon rise and set times, phase, and illumination.
- Lunar Noon. Show lunar noon and lunar midnight as part of the moon dialog.
Solstice / Equinox
- Solstice / Equinox. Show time until next solstice or equinox.
- Cross-Quarter Days. Include midpoints between solstices and equinoxes.
- Solstice Tracking. Track the [Recent, Nearest, Upcoming] event.
Object Shadow. Display the length of a shadow cast by an object with a given height (defaults to 1.83 meters).
Miscellaneous
- Show Map Button. Show an action bar button that opens the default map app.
- Show Data Source. Show a label indicating the current configuration.
- Show Warnings. Show configuration warning messages.
- Verbose TalkBack. Announce automated changes to the UI.
More options:
- Show Weeks. Divide time spans greater than 7 days into weeks (e.g. 15d becomes 2w 1d).
- Show Hours. Include hours and minutes in time spans greater than a day.
- Show Time (with dates). Include the time when displaying dates.
Tap Actions
The main screen can be customized to perform specific actions when parts of the UI are tapped.
The default tap actions are:
- On Clock Tap, show next upcoming event.
- On Date Tap, swap cards (today/tomorrow).
- On Date Long Press, open the calendar.
- On Note Tap, show the next note.
Tap on each setting to pick from suggested actions, or tap the icon to select from all actions.
Events
Suntimes displays astronomical event times in dialogs and widgets. It can also use events to schedule repeating alarms.
Default Events
- sunrise, sunset, & solar noon
- civil, nautical, & astronomical twilight times
- blue hour, & golden hour
- moonrise, moonset, lunar noon, & lunar midnight
- major moon phases
- solstices, equinoxes, & cross-quarter days
Custom Events
Suntimes allows defining events with a user-defined angle. Similar to defaults, these custom events can be displayed in the app, in widgets, and used to schedule alarms.
Suntimes -> Settings -> User Interface
-> Manage Events
to configure
custom events.
Add, Edit
Tap to add an event. To edit an existing event, select an item, then tap edit. The edit dialog will be shown.
Enter a label, angle, and (optional) color, then tap to save the event.
The button toggles visibility of the event on the main screen.
Delete, Clear
To remove an event, select an item, then tap delete.
Use
: -> Clear
to clear all events.
When removing custom events, any alarms, notifications, or widgets using that event may no longer work and will need to be reconfigured.
Export, Import
Use
: -> Export
to export events to file, and
: -> Import
to import events from a previous export.
It is also possible to export or import events by creating or restoring a backup.
Add-on Events
Suntimes supports additional events through add-ons.
For example, Interval Midpoints can be used to schedule alarms between events (at calculated midpoints), and the Natural Hour app can be used to schedule alarms using roman time.
Places
Suntimes is configured using location data and maintains a private collection of places.
Subsections of Places
Manage Places
- Places List
- Add World Places
- Search
- Add Place
- Copy, Edit, Remove
- Share Place
- Import, Export
- Clear Places
Places List
Suntimes -> Settings -> Places
-> Manage Places
to open the
places list.
The places list can also be reached by tapping when selecting a place.
Add World Places
Suntimes includes coordinates for over 200 cities located around the globe.
Use
: -> Add World Places
to add world places to the list.
Search
Tap to search the list of places.
Add Place
To add a place, tap to show the add place dialog.
Tap to query the device’s current location, or manually input coordinates.
Finally, tap to save the place.
Getting the current location requires location permissions. When prompted, grant permissions and enable device location to use this feature.
Copy, Edit, Remove
To copy a place, select it, then tap
: -> Copy
.
To remove a place, select it, then tap
: -> Delete
.
To edit a place, select it, then tap edit. Modify the label or coordinates, then tap to save changes.
Share Place
To share a place, select it, then tap share.
Place coordinates can be displayed on a map, or by other applications that support location sharing.
The currently configured place can be shared from the main screen using the map button.
Import, Export
Use
: -> Export
to export the list of places to file.
Use
: -> Import
to import a previously exported list.
It is also possible to export or import places by creating or restoring a backup.
Clear Places
Use
: -> Clear
to clear the list of places.
Changes made to the place list will not affect existing configurations. It is safe to clear the list at any time. Places will be automatically added to the list when (re)configuring widgets or alarms.
Place Settings
Suntimes can query the device’s current location using the GPS or Network providers.
To configure this behavior, use Suntimes -> Settings -> Places
to access the
place settings.
Getting the current location requires location permissions. When prompted, grant permissions and enable device location.
Location time limit
When requesting the current location, Suntimes will actively wait for a location update until the time limit expires.
The default location time limit is 1 minute.
Location requests may time out if GPS or Network location providers are unavailable (and the current location is older than the max age).
Location recent max age
When requesting the current location, Suntimes will trigger a location update if the current location is older than the max age.
The default location max age is 5 minutes.
Passive Location
Suntimes can use the passive location provider to determine the device’s location. A separate app is required to make active update requests.
Actions
Suntimes can perform user-defined actions when a widget is clicked, or when an alarm or notification is shown or dismissed.
Subsections of Actions
Add Actions
To add an action… create an Intent by declaring:
Intent | (leave fields empty for an implicit intent) |
---|---|
Action | An action string. e.g. android.intent.action.ACTION_VIEW |
Class | A fully qualified class name (case-sensitive). This must be a complete definition that includes both the package and class name. The class is required for explicit intents - leave it blank to allow the system to decide which class to launch. e.g net.osmand.plus.activities.MapActivity |
Data | A URI that contains or points to attached data. e.g. geo:30,31 . Limited % substitutions are supported. e.g. geo:%lat,%lon |
Mime | The mime type of attached data (if applicable). Leave blank for most types of data. |
Extras | An & delimited string containing key-value pairs. Values may be Strings, int, long, double, float, or boolean. Limited % substitutions are supported. e.g. key1="some string" & key2=1 & key3=1L & key4=1D & key5=1F & key6=true & key7=%dm |
An app that displays package info is useful for discovering Activities, which can then be launched with an explicit intent.
Data
Suntimes performs all calculations locally on the device.
This data is displayed by dialogs in the app, by home screen widgets, and can used to schedule alarms and notifications. Data is also available to plugins and add-ons apps through a provider.
Subsections of Data
Data Substitutions
Suntimes supports limited %
substitutions, a set of tags that are replaced with values from the data set.
Substitutions may be used within widget titles, alarm notes, or within action data or extras.
Examples
%loc
, %M
, or %t
can be used to include the location name, event name, or time zone as part of a widget’s title.
%dm
and %em@<event>
can be used to pass time (milliseconds) as part of an action; e.g. URI content://com.android.calendar/time/%dm
opens the calendar app.
%lat
and %lon
can be used to pass the location as part of an action; e.g. URI geo:%lat,%lon
opens the map app.
Subsections of Data Substitutions
Available Substitutions
Date/Time:
%t
for time zone (id) (e.g. US/Arizona)%d
for formatted date (e.g. February 12)%dd
for day (short) (e.g. Mon)%dD
for day (long) (e.g. Monday)%dY
for year (e.g. 2018)%dt
for formatted time (of last update)%dT
for formatted time with seconds (of last update)%dm
for time in milliseconds (of last update)%eot
for formatted ’equation of time’ (of last update)%eot_m
for ’equation of time’ milliseconds (of last update)
Location:
%loc
for label (e.g. Phoenix)%lat
for latitude%lon
for longitude%lel
for elevation (e.g. 385 meters)
Misc:
%s
for data source (e.g. sunrisesunsetlib)%id
for appWidgetID
Sun Widgets:
%m
for mode (short) (e.g. Civil)%M
for mode (long) (e.g. Civil Twilight)%o
for order (e.g. Last/Next, Today)%em@<event>
event milliseconds%et@<event>
event formatted time%eT@<event>
event formatted time (with seconds)%eA@<event>
event altitude%eZ@<event>
event azimuth%eD@<event>
event declination%eR@<event>
event right ascension
where <event>
is:
Sun Widgets | Sun Position Widgets | |||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
Moon Widgets:
%i
for moon illumination (e.g. 25%)%M
for moon phase (e.g. Waxing Crescent)%o
for order (e.g. Last/Next, Today)
Solstice Widgets:
%m
for mode (short) (e.g. Solstice)%M
for mode (long) (e.g. Winter Solstice)%o
for order (e.g. Closest Event, Upcoming Event)
Data Sources
Suntimes uses third-party libraries to perform astronomical calculations.
The data source settings allow for choosing between different libraries (or choosing between different algorithms offered by those libraries).
Suntimes -> Settings
-> General -> Advanced
These are advanced settings that affect the speed and accuracy of calculations, and may limit which features are available.
Subsections of Data Sources
Available Data Sources
Library | Description | |
---|---|---|
sunrisesunsetlib |
Not Recommended | Somewhat inaccurate and sometimes buggy. Does not support altitude, seconds-based calculation, solstice, equinox, or sun position. Based on “Almanac for Computers” by the USNO. github.com/mikereedell/sunrisesunsetlib-java |
ca.rmen.sunrisesunset |
Partially Recommended | Similar to sunrisesunsetlib but with reasonable precision. Does not support altitude, solstice, equinox, or sun position. Based on the algorithms published by NOAA. github.com/caarmen/SunriseSunset |
time4a-simple |
Not Recommended | Somewhat inaccurate. Does not support altitude. Based on “Almanac for Computers” by the USNO. |
time4a-noaa |
Partially Recommended | Same algorithm used by ca.rmen.sunrisesunset with reasonable precision. Does not support altitude. Based on the algorithms published by NOAA. |
time4a-cc |
Recommended | Good precision taking the altitude of locations into account. Based on “Calendrical Calculations” by Dershowitz/Reingold. Supports all features. |
time4a-time4j |
Recommended Default | Best precision taking the altitude of locations, the elliptic shape of the earth and typical weather conditions into account. Based on “Astronomical Algorithm” by Jean Meeus. Supports all features. github.com/MenoData/Time4A |
A few important details:
- Do not expect precision better than minutes. The app hides seconds by default (but this can be enabled).
- The precision of the USNO and NOAA algorithms tends to be very inaccurate in polar regions.
- The
time4j
andcc
algorithms may differ substantially (up to 10 minutes) from algorithms that do not account for altitude. - One difference between the
time4j
andcc
algorithms is thatcc
only assumes the altitude of the observer by an approximated geodetic model, whiletime4j
does it using a spheroid (WGS84) and the assumption of a standard atmosphere (for refraction). - None of these algorithms are able to account for local topology (a mountain directly in front of you), or deviating local weather conditions.
Adding Data Sources
The app can be extended to add additional data sources by implementing the Suntimes Calculator interface.
Data Provider
Suntimes can provide data to plugins or add-on apps through a content-provider.
Documentation
This user manual (and other documentation) is maintained at https://github.com/forrestguice/Suntimes/issues.
You can help improve it by reporting typos, dead links, and other errors.
Mirrors
This user manual is published to:
Versions
v0.1.0
(latest), 2024-05-01, written forSuntimes v0.15.14
.