Skip to content

Commit

Permalink
update: twilight widget interface
Browse files Browse the repository at this point in the history
  • Loading branch information
Hamza417 committed Feb 24, 2025
1 parent 7f809e3 commit ccee1bd
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 23 deletions.
45 changes: 24 additions & 21 deletions app/src/full/java/app/simple/positional/widgets/TwilightWidget.kt
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ import app.simple.positional.preferences.MainPreferences
import app.simple.positional.singleton.SharedPreferences
import app.simple.positional.singleton.SharedPreferences.getSharedPreferences
import app.simple.positional.ui.panels.Time
import app.simple.positional.util.HtmlHelper
import app.simple.positional.util.LocaleHelper
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
Expand All @@ -20,7 +21,6 @@ import org.shredzone.commons.suncalc.SunTimes
import java.time.Instant
import java.time.ZonedDateTime
import java.time.format.DateTimeFormatter
import java.util.Calendar

class TwilightWidget : AppWidgetProvider() {

Expand Down Expand Up @@ -59,29 +59,27 @@ class TwilightWidget : AppWidgetProvider() {
val updateTime = getString(R.string.last_updated) + "" + pattern.format(ZonedDateTime.now())

val twilightData =
with(SunTimes.compute().timezone(Calendar.getInstance().timeZone.id).on(Instant.now()).latitude(latitude).longitude(longitude)) {
app.simple.positional.util.HtmlHelper.fromHtml(
// Morning (before sunrise)
with(SunTimes.compute().timezone(ClockPreferences.getTimeZone()).on(Instant.now()).latitude(latitude).longitude(longitude)) {
HtmlHelper.fromHtml(
"<h3><b>${getString(R.string.twilight_morning)}</b></h3>" +
"<b>${getString(R.string.twilight_astronomical_dusk)}</b> ${pattern.format(twilight(SunTimes.Twilight.ASTRONOMICAL).execute().rise)} ${Time.ARROW} ${pattern.format(twilight(SunTimes.Twilight.NAUTICAL).execute().rise)}<br>" +
"<b>${getString(R.string.twilight_nautical_dusk)}</b> ${pattern.format(twilight(SunTimes.Twilight.NAUTICAL).execute().rise)} ${Time.ARROW} ${pattern.format(twilight(SunTimes.Twilight.CIVIL).execute().rise)}<br>" +
"<b>${getString(R.string.twilight_blue_hour)}</b> ${pattern.format(twilight(SunTimes.Twilight.NIGHT_HOUR).execute().rise)} ${Time.ARROW} ${pattern.format(twilight(SunTimes.Twilight.BLUE_HOUR).execute().rise)}<br>" +
"<b>${getString(R.string.twilight_civil_dusk)}</b> ${pattern.format(twilight(SunTimes.Twilight.CIVIL).execute().rise)} ${Time.ARROW} ${pattern.format(twilight(SunTimes.Twilight.HORIZON).execute().rise)}<br>" +
"<b>${getString(R.string.twilight_visual)}</b> ${pattern.format(twilight(SunTimes.Twilight.VISUAL).execute().rise)}<br>" +
"<b>${getString(R.string.twilight_horizon)}</b> ${pattern.format(twilight(SunTimes.Twilight.HORIZON).execute().rise)}<br>" +
"<b>${getString(R.string.twilight_visual_lower)}</b> ${pattern.format(twilight(SunTimes.Twilight.VISUAL_LOWER).execute().rise)}<br>" +
"<b>${getString(R.string.twilight_golden_hour)}</b> ${pattern.format(twilight(app.simple.positional.ui.panels.Time.GOLDEN_HOUR_MORNING_START).execute().rise)} ${Time.ARROW} ${pattern.format(twilight(SunTimes.Twilight.GOLDEN_HOUR).execute().rise)}<br>" +
"<b><font color='#1a237e'>$DOT</font> ${getString(R.string.twilight_astronomical_dusk)}</b> ${pattern.format(twilight(SunTimes.Twilight.ASTRONOMICAL).execute().rise)} ${Time.ARROW} ${pattern.format(twilight(SunTimes.Twilight.NAUTICAL).execute().rise)}<br>" +
"<b><font color='#0d47a1'>$DOT</font> ${getString(R.string.twilight_nautical_dusk)}</b> ${pattern.format(twilight(SunTimes.Twilight.NAUTICAL).execute().rise)} ${Time.ARROW} ${pattern.format(twilight(SunTimes.Twilight.CIVIL).execute().rise)}<br>" +
"<b><font color='#1565c0'>$DOT</font> ${getString(R.string.twilight_blue_hour)}</b> ${pattern.format(twilight(SunTimes.Twilight.NIGHT_HOUR).execute().rise)} ${Time.ARROW} ${pattern.format(twilight(SunTimes.Twilight.BLUE_HOUR).execute().rise)}<br>" +
"<b><font color='#1e88e5'>$DOT</font> ${getString(R.string.twilight_civil_dusk)}</b> ${pattern.format(twilight(SunTimes.Twilight.CIVIL).execute().rise)} ${Time.ARROW} ${pattern.format(twilight(SunTimes.Twilight.HORIZON).execute().rise)}<br>" +
"<b><font color='#42a5f5'>$DOT</font> ${getString(R.string.twilight_visual)}</b> ${pattern.format(twilight(SunTimes.Twilight.VISUAL).execute().rise)}<br>" +
"<b><font color='#64b5f6'>$DOT</font> ${getString(R.string.twilight_horizon)}</b> ${pattern.format(twilight(SunTimes.Twilight.HORIZON).execute().rise)}<br>" +
"<b><font color='#90caf9'>$DOT</font> ${getString(R.string.twilight_visual_lower)}</b> ${pattern.format(twilight(SunTimes.Twilight.VISUAL_LOWER).execute().rise)}<br>" +
"<b><font color='#ffcc80'>$DOT</font> ${getString(R.string.twilight_golden_hour)}</b> ${pattern.format(twilight(app.simple.positional.ui.panels.Time.GOLDEN_HOUR_MORNING_START).execute().rise)} ${Time.ARROW} ${pattern.format(twilight(SunTimes.Twilight.GOLDEN_HOUR).execute().rise)}<br>" +
"<br>" +
// Evening (after sunset)
"<h3>${getString(R.string.twilight_evening)}</h3>" +
"<b>${getString(R.string.twilight_golden_hour)}</b> ${pattern.format(twilight(SunTimes.Twilight.GOLDEN_HOUR).execute().set)} ${Time.ARROW} ${pattern.format(twilight(Time.GOLDEN_HOUR_EVENING_END).execute().set)}<br>" +
"<b>${getString(R.string.twilight_visual_lower)}</b> ${pattern.format(twilight(SunTimes.Twilight.VISUAL_LOWER).execute().set)}<br>" +
"<b>${getString(R.string.twilight_horizon)}</b> ${pattern.format(twilight(SunTimes.Twilight.HORIZON).execute().set)}<br>" +
"<b>${getString(R.string.twilight_visual)}</b> ${pattern.format(twilight(SunTimes.Twilight.VISUAL).execute().set)}<br>" +
"<b>${getString(R.string.twilight_civil_dusk)}</b> ${pattern.format(twilight(SunTimes.Twilight.HORIZON).execute().set)} ${Time.ARROW} ${pattern.format(twilight(SunTimes.Twilight.CIVIL).execute().set)}<br>" +
"<b>${getString(R.string.twilight_blue_hour)}</b> ${pattern.format(twilight(SunTimes.Twilight.BLUE_HOUR).execute().set)} ${Time.ARROW} ${pattern.format(twilight(SunTimes.Twilight.NIGHT_HOUR).execute().set)}<br>" +
"<b>${getString(R.string.twilight_nautical_dusk)}</b> ${pattern.format(twilight(SunTimes.Twilight.CIVIL).execute().set)} ${Time.ARROW} ${pattern.format(twilight(SunTimes.Twilight.NAUTICAL).execute().set)}<br>" +
"<b>${getString(R.string.twilight_astronomical_dusk)}</b> ${pattern.format(twilight(SunTimes.Twilight.NAUTICAL).execute().set)} ${Time.ARROW} ${pattern.format(twilight(SunTimes.Twilight.ASTRONOMICAL).execute().set)}<br>"
"<b><font color='#ffcc80'>$DOT</font> ${getString(R.string.twilight_golden_hour)}</b> ${pattern.format(twilight(SunTimes.Twilight.GOLDEN_HOUR).execute().set)} ${Time.ARROW} ${pattern.format(twilight(Time.GOLDEN_HOUR_EVENING_END).execute().set)}<br>" +
"<b><font color='#90caf9'>$DOT</font> ${getString(R.string.twilight_visual_lower)}</b> ${pattern.format(twilight(SunTimes.Twilight.VISUAL_LOWER).execute().set)}<br>" +
"<b><font color='#64b5f6'>$DOT</font> ${getString(R.string.twilight_horizon)}</b> ${pattern.format(twilight(SunTimes.Twilight.HORIZON).execute().set)}<br>" +
"<b><font color='#42a5f5'>$DOT</font> ${getString(R.string.twilight_visual)}</b> ${pattern.format(twilight(SunTimes.Twilight.VISUAL).execute().set)}<br>" +
"<b><font color='#1e88e5'>$DOT</font> ${getString(R.string.twilight_civil_dusk)}</b> ${pattern.format(twilight(SunTimes.Twilight.HORIZON).execute().set)} ${Time.ARROW} ${pattern.format(twilight(SunTimes.Twilight.CIVIL).execute().set)}<br>" +
"<b><font color='#1565c0'>$DOT</font> ${getString(R.string.twilight_blue_hour)}</b> ${pattern.format(twilight(SunTimes.Twilight.BLUE_HOUR).execute().set)} ${Time.ARROW} ${pattern.format(twilight(SunTimes.Twilight.NIGHT_HOUR).execute().set)}<br>" +
"<b><font color='#0d47a1'>$DOT</font> ${getString(R.string.twilight_nautical_dusk)}</b> ${pattern.format(twilight(SunTimes.Twilight.CIVIL).execute().set)} ${Time.ARROW} ${pattern.format(twilight(SunTimes.Twilight.NAUTICAL).execute().set)}<br>" +
"<b><font color='#1a237e'>$DOT</font> ${getString(R.string.twilight_astronomical_dusk)}</b> ${pattern.format(twilight(SunTimes.Twilight.NAUTICAL).execute().set)} ${Time.ARROW} ${pattern.format(twilight(SunTimes.Twilight.ASTRONOMICAL).execute().set)}<br>"
)
}

Expand All @@ -96,4 +94,9 @@ class TwilightWidget : AppWidgetProvider() {
}
}
}

companion object {
private const val TAG = "TwilightWidget"
private const val DOT = ""
}
}
4 changes: 2 additions & 2 deletions app/src/main/res/values/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -55,12 +55,12 @@
<string name="twilight_civil_dusk">Civil Dusk:</string>
<string name="twilight_nautical_dusk">Nautical Dusk:</string>
<string name="twilight_astronomical_dusk">Astronomical Dusk:</string>
<string name="twilight_morning">Morning (Before Sunrise)</string>
<string name="twilight_morning">Morning</string>
<string name="twilight_golden_hour">Golden Hour:</string>
<string name="twilight_blue_hour">Blue Hour:</string>
<string name="twilight_visual_lower">Visual (Lower):</string>
<string name="twilight_visual">Visual:</string>
<string name="twilight_evening">Evening (After Sunset)</string>
<string name="twilight_evening">Evening</string>
<string name="twilight_horizon">Horizon:</string>
<string name="moon_parallactic_angle">Parallactic Angle:</string>
<string name="moon_moonrise">Moonrise:</string>
Expand Down

0 comments on commit ccee1bd

Please sign in to comment.