v2.5.6 - APIv21, issues #68 #69, grid layout, async update

This commit is contained in:
Arty Bishop committed 2021-10-28 21:46:02 +01:00
1 parent 88c7bb6bca
commit f8f7aba3a8
16 files changed
+65 -74

No files matched your search

+8 -8
View File
@@ -46,14 +46,14 @@ jobs:
env: env:
BUILD_TOOLS_VERSION: "31.0.0" BUILD_TOOLS_VERSION: "31.0.0"
- name: Deploy Bundle to Play Store # - name: Deploy Bundle to Play Store
uses: r0adkll/upload-google-play@v1 # uses: r0adkll/upload-google-play@v1
with: # with:
serviceAccountJsonPlainText: ${{secrets.SERVICE_ACCOUNT_JSON}} # serviceAccountJsonPlainText: ${{secrets.SERVICE_ACCOUNT_JSON}}
packageName: com.rtbishop.look4sat # packageName: com.rtbishop.look4sat
track: production # track: production
whatsNewDirectory: fastlane/metadata/android/en-US/whatsnew # whatsNewDirectory: fastlane/metadata/android/en-US/whatsnew
releaseFiles: ${{steps.sign_bundle.outputs.signedReleaseFile}} # releaseFiles: ${{steps.sign_bundle.outputs.signedReleaseFile}}
- name: Create release - name: Create release
uses: ncipollo/release-action@v1 uses: ncipollo/release-action@v1
+9 -14
View File
@@ -5,27 +5,22 @@
[<img src="https://play.google.com/intl/en_gb/badges/static/images/badges/en_badge_web_generic.png" alt="Get it on Google Play" height="80">](https://play.google.com/store/apps/details?id=com.rtbishop.look4sat) [<img src="https://play.google.com/intl/en_gb/badges/static/images/badges/en_badge_web_generic.png" alt="Get it on Google Play" height="80">](https://play.google.com/store/apps/details?id=com.rtbishop.look4sat)
[<img src="https://fdroid.gitlab.io/artwork/badge/get-it-on.png" alt="Get it on F-Droid" height="80">](https://f-droid.org/packages/com.rtbishop.look4sat/) [<img src="https://fdroid.gitlab.io/artwork/badge/get-it-on.png" alt="Get it on F-Droid" height="80">](https://f-droid.org/packages/com.rtbishop.look4sat/)
### Open-source amateur radio satellite tracker and pass predictor for Android ### Radio satellite tracker and pass predictor for Android, inspired by Gpredict
<p float="left"> <p float="left">
<img src="fastlane/metadata/android/en-US/images/phoneScreenshots/1.png" width="200"/> <img src="fastlane/metadata/android/en-US/images/phoneScreenshots/1.png" width="160"/>
<img src="fastlane/metadata/android/en-US/images/phoneScreenshots/2.png" width="200"/> <img src="fastlane/metadata/android/en-US/images/phoneScreenshots/2.png" width="160"/>
<img src="fastlane/metadata/android/en-US/images/phoneScreenshots/3.png" width="200"/> <img src="fastlane/metadata/android/en-US/images/phoneScreenshots/3.png" width="160"/>
<img src="fastlane/metadata/android/en-US/images/phoneScreenshots/4.png" width="200"> <img src="fastlane/metadata/android/en-US/images/phoneScreenshots/4.png" width="160">
</p> </p>
### Let this app look for satellites for you! ### Track satellite passes with ease!
Thanks to the huge database provided by Celestrak and SatNOGS you have access to more than 3000 Thanks to the huge database provided by Celestrak and SatNOGS you have access to more than 3000 active satellites orbiting Earth. You can search the entire DB by satellite name or by NORAD catnum.
active satellites orbiting Earth at this very moment. You can search the entire DB by satellite
name or by NORAD catalog number. Track them with ease!
Satellite positions and passes are calculated relative to your location. In order to get reliable Satellite positions and passes are calculated relative to your location. To get reliable info make sure to set the observation position using GPS or QTH Locator in the Settings menu.
predictions set the observation position using GPS or QTH Locator in the Settings menu.
The application is built using predict4java library, Kotlin, Coroutines, Dagger2, Retrofit2, Moshi, The application is built using Kotlin, Coroutines, Architecture Components and Jetpack Navigation. It is now and always will be completely ad-free and open-source.
Architecture Components and Jetpack Navigation. It is now and always will be completely ad-free
and open-source.
## Main features: ## Main features:
+2 -2
View File
@@ -14,8 +14,8 @@ android {
minSdkVersion 21 minSdkVersion 21
resConfigs "en,ru" resConfigs "en,ru"
targetSdkVersion 31 targetSdkVersion 31
versionCode 255 versionCode 256
versionName "2.5.5" versionName "2.5.6"
kapt { kapt {
arguments { arguments {
@@ -21,6 +21,7 @@ import android.content.SharedPreferences
import android.hardware.GeomagneticField import android.hardware.GeomagneticField
import android.location.LocationManager import android.location.LocationManager
import androidx.core.content.edit import androidx.core.content.edit
import com.rtbishop.look4sat.BuildConfig
import com.rtbishop.look4sat.domain.predict.GeoPos import com.rtbishop.look4sat.domain.predict.GeoPos
import com.rtbishop.look4sat.domain.QthConverter import com.rtbishop.look4sat.domain.QthConverter
import com.rtbishop.look4sat.presentation.round import com.rtbishop.look4sat.presentation.round
@@ -33,6 +34,8 @@ class PreferencesSource @Inject constructor(
private val preferences: SharedPreferences private val preferences: SharedPreferences
) { ) {
private val keyInitialSetup = "${BuildConfig.VERSION_NAME}update"
companion object { companion object {
const val keyModes = "satModes" const val keyModes = "satModes"
const val keyCompass = "compass" const val keyCompass = "compass"
@@ -41,7 +44,6 @@ class PreferencesSource @Inject constructor(
const val keyTimeUTC = "timeUTC" const val keyTimeUTC = "timeUTC"
const val keyHoursAhead = "hoursAhead" const val keyHoursAhead = "hoursAhead"
const val keyMinElevation = "minElevation" const val keyMinElevation = "minElevation"
const val keyInitialSetup = "initialSetupDone"
const val keyRotator = "isRotatorEnabled" const val keyRotator = "isRotatorEnabled"
const val keyRotatorAddress = "rotatorAddress" const val keyRotatorAddress = "rotatorAddress"
const val keyRotatorPort = "rotatorPort" const val keyRotatorPort = "rotatorPort"
@@ -58,7 +60,7 @@ class PreferencesSource @Inject constructor(
return GeoPos(latitude.toDouble(), longitude.toDouble()) return GeoPos(latitude.toDouble(), longitude.toDouble())
} }
fun saveStationPosition(pos: GeoPos) { private fun saveStationPosition(pos: GeoPos) {
preferences.edit { preferences.edit {
putString(keyLatitude, pos.latitude.toString()) putString(keyLatitude, pos.latitude.toString())
putString(keyLongitude, pos.longitude.toString()) putString(keyLongitude, pos.longitude.toString())
@@ -54,10 +54,8 @@
android:id="@+id/entries_search_bar" android:id="@+id/entries_search_bar"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="0dp" android:layout_height="0dp"
android:layout_marginStart="2dp"
android:iconifiedByDefault="false" android:iconifiedByDefault="false"
android:queryHint="@string/entries_search_hint" android:queryHint="@string/entries_search_hint"
android:searchIcon="@null"
app:layout_constraintBottom_toBottomOf="@+id/entries_select_mode" app:layout_constraintBottom_toBottomOf="@+id/entries_select_mode"
app:layout_constraintEnd_toStartOf="@+id/entries_select_mode" app:layout_constraintEnd_toStartOf="@+id/entries_select_mode"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
+11 -13
View File
@@ -71,20 +71,18 @@
<string name="info_version">Версия: %s</string> <string name="info_version">Версия: %s</string>
<string name="info_subtitle">Трекер спутников для Android</string> <string name="info_subtitle">Трекер спутников для Android</string>
<string name="info_bmc">Поддержать</string> <string name="info_bmc">Поддержать разработчика</string>
<string name="info_thanks">Огромное спасибо: <string name="info_thanks">Огромное спасибо:
\n— Вам за использование этого приложения! \nЖелаю всегда чистого неба над головой! \n\nВам за использование этого приложения! \nЖелаю всегда чистого неба над головой!
\n— <a href="https://github.com/g4dpz">David A. B. Johnson</a> и \n\n<a href="https://github.com/g4dpz">David A. B. Johnson</a> и
<a href="https://github.com/davidmoten">Dave Moten</a> за работу над библиотекой predict4java и <a href="https://github.com/davidmoten">Dave Moten</a> за работу над predict4java и
за доступ к ней по лицензии <a href="https://gnu.org/licenses/old-licenses/gpl-2.0.en.html">GNU GPLv2</a> доступ к ней по <a href="https://gnu.org/licenses/old-licenses/gpl-2.0.en.html">GNU GPLv2</a>
\n— <a href="https://github.com/csete">Alexandru Csete</a> за его замечательную \n\n<a href="https://github.com/csete">Alexandru Csete</a> за его программу
программу Gpredict, которая вдохновила меня на создание Look4Sat. Gpredict, которая послужила для меня вдохновением.
\n— <a href="https://celestrak.com/webmaster.php">Доктору T.S. Kelso</a> за его сайт \n\n<a href="https://celestrak.com/webmaster.php">Доктору T.S. Kelso</a> за его сайт
<a href="https://celestrak.com/">Celestrak</a> и доступ к файлам орбит Two-Line Element. <a href="https://celestrak.com/">Celestrak</a> и доступ к файлам орбит Two-Line Element.
\n— <a href="https://libre.space/">Libre Space Foundation</a> за проект \n\n<a href="https://libre.space/">Libre Space Foundation</a> за проект
<a href="https://db.satnogs.org/">SatNOGS</a>, API и базу данных с огромным количеством информации о спутниках. <a href="https://db.satnogs.org/">SatNOGS</a>, API и базу данных с информацией о спутниках.</string>
\n— <a href="https://square.github.io/">Square</a> за библиотеки OkHttp, Retrofit, Moshi и доступ <string name="info_warranty"><a href="https://sites.google.com/view/look4sat-privacy-policy/home">Политика конфиденциальности.</a>
к ним по лицензии <a href="https://www.apache.org/licenses/LICENSE-2.0">Apache-2.0</a></string>
<string name="info_warranty"><a href="https://sites.google.com/view/look4sat-privacy-policy/home">Политика конфиденциальности</a>
\nЭто ПО поставляется без гарантий. \nПодробности в лицензии <a href="https://www.gnu.org/licenses/gpl-3.0.html">GNU GPLv3</a>.</string> \nЭто ПО поставляется без гарантий. \nПодробности в лицензии <a href="https://www.gnu.org/licenses/gpl-3.0.html">GNU GPLv3</a>.</string>
</resources> </resources>
+12 -14
View File
@@ -95,21 +95,19 @@
<string name="info_subtitle">Satellite tracker and pass predictor</string> <string name="info_subtitle">Satellite tracker and pass predictor</string>
<string name="info_github" translatable="false">GitHub</string> <string name="info_github" translatable="false">GitHub</string>
<string name="info_fdroid" translatable="false">F-Droid</string> <string name="info_fdroid" translatable="false">F-Droid</string>
<string name="info_bmc">Buy me a coffee</string> <string name="info_bmc">Support the developer</string>
<string name="info_thanks">Huge thanks to: <string name="info_thanks">Huge thanks to:
\n— You for downloading and using Look4Sat! \nMay your sky always be clear! \n\nYou for downloading and using Look4Sat! \nMay your sky always be clear!
\n— <a href="https://github.com/g4dpz">David A. B. Johnson</a> \n\n<a href="https://github.com/g4dpz">David A. B. Johnson</a>
and <a href="https://github.com/davidmoten">Dave Moten</a> for creating predict4java library and making it and <a href="https://github.com/davidmoten">Dave Moten</a> for creating predict4java lib
available under the <a href="https://gnu.org/licenses/old-licenses/gpl-2.0.en.html">GNU GPLv2</a> license. under the <a href="https://gnu.org/licenses/old-licenses/gpl-2.0.en.html">GNU GPLv2</a> license.
\n— <a href="https://github.com/csete">Alexandru Csete</a> for creating Gpredict \n\n<a href="https://github.com/csete">Alexandru Csete</a> for creating Gpredict
sat tracker that inspired the creation of Look4Sat. satellite tracker that inspired the creation of Look4Sat.
\n— <a href="https://celestrak.com/webmaster.php">Dr T.S. Kelso</a> for maintaining his \n\n<a href="https://celestrak.com/webmaster.php">Dr T.S. Kelso</a> for maintaining his
<a href="https://celestrak.com/">Celestrak</a> website that provides access to the TLE data. <a href="https://celestrak.com/">Celestrak</a> website that provides access to the TLE data.
\n— <a href="https://libre.space/">Libre Space Foundation</a> for their <a href="https://db.satnogs.org/">SatNOGS</a> \n\n<a href="https://libre.space/">Libre Space Foundation</a> for their <a href="https://db.satnogs.org/">SatNOGS</a>
API and database providing a huge amount of satellite data used by Look4Sat. API and DB providing a huge amount of satellite data.
\n— <a href="https://square.github.io/">Square</a> for epic OkHttp, Retrofit and Moshi libs
available under the <a href="https://www.apache.org/licenses/LICENSE-2.0">Apache-2.0</a> license.
</string> </string>
<string name="info_warranty"><a href="https://sites.google.com/view/look4sat-privacy-policy/home">Privacy Policy</a> <string name="info_warranty"><a href="https://sites.google.com/view/look4sat-privacy-policy/home">Privacy Policy.</a>
\nThis app comes with no warranty. \nSee the <a href="https://www.gnu.org/licenses/gpl-3.0.html">GNU GPLv3</a> license for details.</string> The app comes with no warranty. \nSee the <a href="https://www.gnu.org/licenses/gpl-3.0.html">GNU GPLv3</a> license for details.</string>
</resources> </resources>
@@ -1,4 +0,0 @@
Now correctly using the hours ahead setting #66
Fixed broken pass progress indicator #67
Fixed satellite data update crash
Lots of refactoring, getting codebase ready for new features
@@ -0,0 +1,7 @@
Reverted API version to v21, Android 5.0
Fixed antenna rotator control issue #69
Fixed Redmi dark theme colors bug
Switched to grid layout in entries list
Fetching satellite data asynchronously
Added toggle from pass view to map view #68
Further code refactoring and cleanup
@@ -1,16 +1,10 @@
Let this app look for satellites for you! Track satellite passes with ease!
Thanks to the huge database provided by Celestrak and SatNOGS you have access to more than 3000 Thanks to the huge database provided by Celestrak and SatNOGS you have access to more than 3000 active satellites orbiting Earth. You can search the entire DB by satellite name or by NORAD catnum.
active satellites orbiting Earth at this very moment. You can search the entire DB by satellite
name or by NORAD catalog number. Track them with ease!
Satellite positions and passes are calculated relative to your location. In order to get reliable Satellite positions and passes are calculated relative to your location. To get reliable info make sure to set the observation position using GPS or QTH Locator in the Settings menu.
predictions set the observation position using GPS or QTH Locator in the Settings menu.
The application is built using predict4java library, Kotlin, Coroutines, Dagger2, Retrofit2, Moshi, The application is built using Kotlin, Coroutines, Architecture Components and Jetpack Navigation. It is now and always will be completely ad-free and open-source.
Architecture Components and Jetpack Navigation. It is now and always will be completely ad-free
and open-source. Make sure you check the app developer's
<a href="https://github.com/rt-bishop/Look4Sat">GitHub repository</a>.
<b>Main features:</b><ul> <b>Main features:</b><ul>
<li>Predicting satellite positions and passes for up to 4 days (96 hours)</li> <li>Predicting satellite positions and passes for up to 4 days (96 hours)</li>
Binary file not shown.

Before

Width:  |  Height:  |  Size: 299 KiB

After

Width:  |  Height:  |  Size: 182 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 592 KiB

After

Width:  |  Height:  |  Size: 505 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 302 KiB

After

Width:  |  Height:  |  Size: 439 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 795 KiB

After

Width:  |  Height:  |  Size: 935 KiB

@@ -1 +1 @@
Amateur radio satellite tracker and pass predictor Radio satellite tracker and pass predictor for Android
@@ -1,4 +1,7 @@
Now correctly using the hours ahead setting #66 Reverted API version to v21, Android 5.0
Fixed broken pass progress indicator #67 Fixed antenna rotator control issue #69
Fixed satellite data update crash Fixed Redmi dark theme colors bug
Lots of refactoring, getting codebase ready for new features Switched to grid layout in entries list
Fetching satellite data asynchronously
Added toggle from pass view to map view #68
Further code refactoring and cleanup