@@ -182,7 +182,8 @@ class Clock : ScopedFragment() {
182182 minutes.setPhysical(0.5F , 8F , 5000F )
183183
184184 calculateAndUpdateData(MainPreferences .getLastCoordinates()[0 ].toDouble(),
185- MainPreferences .getLastCoordinates()[1 ].toDouble())
185+ MainPreferences .getLastCoordinates()[1 ].toDouble(),
186+ MainPreferences .getLastAltitude().toDouble())
186187
187188 if (BuildConfig .FLAVOR == " lite" ) {
188189 timezoneButton.gone()
@@ -203,7 +204,7 @@ class Clock : ScopedFragment() {
203204
204205 locationViewModel.location.observe(viewLifecycleOwner) {
205206 if (isCustomCoordinate) return @observe
206- calculateAndUpdateData(it.latitude, it.longitude)
207+ calculateAndUpdateData(it.latitude, it.longitude, it.altitude )
207208 }
208209
209210 bottomSheetBehavior.addBottomSheetCallback(object : BottomSheetBehavior .BottomSheetCallback () {
@@ -350,7 +351,7 @@ class Clock : ScopedFragment() {
350351 }
351352 private val customDataUpdater = object : Runnable {
352353 override fun run () {
353- calculateAndUpdateData(customLatitude, customLongitude)
354+ calculateAndUpdateData(customLatitude, customLongitude, 0.0 )
354355 handler.postDelayed(this , 2500 )
355356 }
356357 }
@@ -398,7 +399,7 @@ class Clock : ScopedFragment() {
398399 handler.post(clock)
399400 }
400401
401- private fun calculateAndUpdateData (latitude : Double , longitude : Double ) {
402+ private fun calculateAndUpdateData (latitude : Double , longitude : Double , altitude : Double ) {
402403 viewLifecycleOwner.lifecycleScope.launch {
403404
404405 var sunTimeData: Spanned
@@ -427,21 +428,21 @@ class Clock : ScopedFragment() {
427428 }
428429
429430 sunTimeData =
430- with (SunTimes .compute().timezone(timezone).on(Instant .now()).latitude(latitude).longitude(longitude).execute()) {
431+ with (SunTimes .compute().timezone(timezone).on(Instant .now()).latitude(latitude).longitude(longitude).height(altitude). execute()) {
431432 fromHtml(" <b>${getString(R .string.sun_sunrise)} </b> ${pattern.format(rise)} <br>" +
432433 " <b>${getString(R .string.sun_sunset)} </b> ${pattern.format(set)} <br>" +
433434 " <b>${getString(R .string.sun_noon)} </b> ${pattern.format(noon)} <br>" +
434435 " <b>${getString(R .string.sun_nadir)} </b> ${pattern.format(nadir)} " )
435436 }
436437
437438 moonTimeData =
438- with (MoonTimes .compute().on(Instant .now()).timezone(timezone).latitude(latitude).longitude(longitude).execute()) {
439+ with (MoonTimes .compute().on(Instant .now()).timezone(timezone).latitude(latitude).longitude(longitude).height(altitude). execute()) {
439440 fromHtml(" <b>${getString(R .string.moon_moonrise)} </b> ${pattern.format(rise)} <br>" +
440441 " <b>${getString(R .string.moon_moonset)} </b> ${pattern.format(set)} " )
441442 }
442443
443444 twilightData =
444- with (SunTimes .compute().timezone(timezone).on(Instant .now()).latitude(latitude).longitude(longitude)) {
445+ with (SunTimes .compute().timezone(timezone).on(Instant .now()).latitude(latitude).longitude(longitude).height(altitude) ) {
445446 fromHtml(" <b>${getString(R .string.twilight_astronomical_dawn)} </b> ${pattern.format(twilight(SunTimes .Twilight .ASTRONOMICAL ).execute().rise)} <br>" +
446447 " <b>${getString(R .string.twilight_nautical_dawn)} </b> ${pattern.format(twilight(SunTimes .Twilight .NAUTICAL ).execute().rise)} <br>" +
447448 " <b>${getString(R .string.twilight_civil_dawn)} </b> ${pattern.format(twilight(SunTimes .Twilight .CIVIL ).execute().rise)} <br>" +
@@ -451,7 +452,7 @@ class Clock : ScopedFragment() {
451452 }
452453
453454 sunPositionData =
454- with (SunPosition .compute().timezone(timezone).on(Instant .now()).at(latitude, longitude).execute()) {
455+ with (SunPosition .compute().timezone(timezone).on(Instant .now()).at(latitude, longitude).height(altitude). execute()) {
455456 fromHtml(" <b>${getString(R .string.sun_azimuth)} </b> ${round(azimuth, 2 )} ° ${getDirectionCodeFromAzimuth(requireContext(), azimuth)} <br>" +
456457 " <b>${getString(R .string.sun_altitude)} </b> ${round(trueAltitude, 2 )} °<br>" +
457458 if (isMetric) {
@@ -462,7 +463,7 @@ class Clock : ScopedFragment() {
462463 }
463464
464465 moonPositionData =
465- with (MoonPosition .compute().timezone(timezone).on(Instant .now()).latitude(latitude).longitude(longitude).execute()) {
466+ with (MoonPosition .compute().timezone(timezone).on(Instant .now()).latitude(latitude).longitude(longitude).height(altitude). execute()) {
466467 fromHtml(" <b>${getString(R .string.moon_azimuth)} </b> ${round(azimuth, 2 )} ° ${getDirectionCodeFromAzimuth(requireContext(), azimuth)} <br>" +
467468 " <b>${getString(R .string.moon_altitude)} </b> ${round(altitude, 2 )} °<br>" +
468469 (if (isMetric) {
0 commit comments