v1.4.4 - Added custom TLE file import from file/url and PolarView rotation using sensors data

pull/30/head
Arty Bishop 2020-05-27 14:30:44 +01:00
rodzic d8e4bd7eb7
commit e38ad2fe8b
14 zmienionych plików z 37 dodań i 14 usunięć

Wyświetl plik

@ -7,6 +7,8 @@ The [Libre Space Foundation](https://libre.space/) team is also behind the epic
For TLE data calculation and passes prediction Look4Sat uses the mavenized version of [predict4java](https://github.com/davidmoten/predict4java) library, created by [David A. B. Johnson, G4DPZ](https://github.com/g4dpz) and [Dave Moten](https://github.com/davidmoten). Thank you guys for your hard work making this lib efficient and easy to use!
Also, I'd like to mention Dr T.S. Kelso for his invaluable contribution to the industry and for his [Celestrak](https://celestrak.com) website, that stores, updates and provides access to TLE data.
The app is built using Dagger2, Retrofit2, Kotlin and Kotlin coroutines, Architecture Components and Jetpack Navigation.
<p float="left">

Wyświetl plik

@ -43,6 +43,11 @@ android {
}
}
}
configurations {
all {
exclude module: 'commons-logging'
}
}
compileOptions {
sourceCompatibility = 1.8
targetCompatibility = 1.8
@ -82,6 +87,7 @@ dependencies {
// retrofit
implementation "com.squareup.retrofit2:retrofit:$retrofit"
implementation "com.squareup.retrofit2:converter-gson:$retrofit"
implementation "com.squareup.okhttp3:okhttp:$okhttp"
//dagger
implementation "com.google.dagger:dagger:$dagger"

Wyświetl plik

@ -40,7 +40,7 @@ class RemoteDataSource @Inject constructor(
withContext(Dispatchers.IO) {
urlList.forEach {
val request = Request.Builder().url(it.url).build()
val stream = client.newCall(request).execute().body()?.byteStream()
val stream = client.newCall(request).execute().body?.byteStream()
streamTable[it.url] = stream
}
}

Wyświetl plik

@ -100,12 +100,12 @@ class TransmitterAdapter : RecyclerView.Adapter<TransmitterAdapter.TransmitterHo
if (transmitter.isInverted) {
binding.transInverted.text = String.format(
context.getString(R.string.trans_inverted),
context.getString(android.R.string.yes)
context.getString(R.string.btn_yes)
)
} else {
binding.transInverted.text = String.format(
context.getString(R.string.trans_inverted),
context.getString(android.R.string.no)
context.getString(R.string.btn_no)
)
}
}

Wyświetl plik

@ -69,7 +69,7 @@
android:id="@+id/dialog_btn_negative"
style="@style/DialogText"
android:layout_marginEnd="24dp"
android:text="@android:string/cancel"
android:text="@string/btn_cancel"
app:layout_constraintBaseline_toBaselineOf="@+id/dialog_btn_positive"
app:layout_constraintEnd_toStartOf="@+id/dialog_btn_positive" />
@ -80,7 +80,7 @@
android:layout_marginEnd="8dp"
android:layout_marginBottom="8dp"
android:gravity="end"
android:text="@android:string/ok"
android:text="@string/btn_ok"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="@+id/dialog_recycler" />

Wyświetl plik

@ -61,8 +61,8 @@
<TextView
android:id="@+id/tleSourcesBtnNeg"
style="@style/DialogText"
android:layout_marginEnd="32dp"
android:text="@android:string/cancel"
android:layout_marginEnd="24dp"
android:text="@string/btn_cancel"
app:layout_constraintBaseline_toBaselineOf="@+id/tleSourcesBtnPos"
app:layout_constraintEnd_toStartOf="@+id/tleSourcesBtnPos"
app:layout_constraintHorizontal_chainStyle="spread_inside" />
@ -71,7 +71,7 @@
android:id="@+id/tleSourcesBtnPos"
style="@style/DialogText"
android:layout_marginBottom="8dp"
android:text="@android:string/ok"
android:text="@string/btn_ok"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="@+id/tleSourceBtnAdd" />

Wyświetl plik

@ -61,7 +61,7 @@
<string name="pref_other_title">Другие настройки</string>
<string name="pref_refresh_rate_title">Частота обновления, мс</string>
<string name="pref_refresh_rate_input_error">Введите значение между 250мс и 10000мс</string>
<string name="pref_compass_title">Используйте компас при отображении полярных координат</string>
<string name="pref_compass_title">Использовать компас при отображении полярных координат</string>
<string name="no_mode">Модуляция: нет</string>
<string name="no_uplink">Восход.: нет</string>
@ -80,8 +80,8 @@
<string name="pat_elevation">Элев.: %.1f°</string>
<string name="pat_latitude">Шир.: %.1f°</string>
<string name="pat_longitude">Дол.: %.1f°</string>
<string name="pat_distance">Дист.: %.0f км</string>
<string name="pat_altitude">Выс.: %.0f км</string>
<string name="pat_distance">Дист.: %.0fкм</string>
<string name="pat_altitude">Выс.: %.0fкм</string>
<string name="trans_mode">Модуляция: %s</string>
<string name="trans_inverted">Инверсия: %s</string>
@ -132,8 +132,13 @@
в лицензии <a href="https://gnu.org/licenses/old-licenses/gpl-2.0.en.html">GNU GPLv2</a>.
</string>
<string name="map_gsp">СТЦ</string>
<string name="btn_yes">Да</string>
<string name="btn_no">Нет</string>
<string name="btn_ok">OK</string>
<string name="btn_cancel">Отмена</string>
<string name="btn_all_none">Все/Нет</string>
<string name="map_gsp">СТЦ</string>
<string name="tle_source">Источник TLE</string>
<string name="https_only">Пожалуйста, используйте протокол HTTPS</string>
<string name="https_only">Используйте протокол HTTPS</string>
</resources>

Wyświetl plik

@ -152,8 +152,13 @@
<a href="https://gnu.org/licenses/old-licenses/gpl-2.0.en.html">GNU GPLv2</a> for details.
</string>
<string name="map_gsp">GSP</string>
<string name="btn_yes">Yes</string>
<string name="btn_no">No</string>
<string name="btn_ok">OK</string>
<string name="btn_cancel">Cancel</string>
<string name="btn_all_none">All/None</string>
<string name="map_gsp">GSP</string>
<string name="tle_source">TLE source</string>
<string name="https_only">Please use HTTPS URLs only</string>
<string name="placeholder" translatable="false">Placeholder</string>

Wyświetl plik

@ -58,6 +58,7 @@ ext {
room = '2.2.5'
retrofit = '2.9.0'
okhttp = '4.7.2'
dagger = '2.27'

Wyświetl plik

@ -0,0 +1,4 @@
Added PolarView rotation using sensors data
Added custom TLE import (file/url)
Fixed "All/None" selection button behaviour
Minor fixes and code cleanup

Plik binarny nie jest wyświetlany.

Przed

Szerokość:  |  Wysokość:  |  Rozmiar: 667 KiB

Po

Szerokość:  |  Wysokość:  |  Rozmiar: 273 KiB

Plik binarny nie jest wyświetlany.

Przed

Szerokość:  |  Wysokość:  |  Rozmiar: 264 KiB

Po

Szerokość:  |  Wysokość:  |  Rozmiar: 667 KiB

Plik binarny nie jest wyświetlany.

Przed

Szerokość:  |  Wysokość:  |  Rozmiar: 188 KiB

Po

Szerokość:  |  Wysokość:  |  Rozmiar: 227 KiB

Plik binarny nie jest wyświetlany.

Przed

Szerokość:  |  Wysokość:  |  Rozmiar: 802 KiB

Po

Szerokość:  |  Wysokość:  |  Rozmiar: 880 KiB