kopia lustrzana https://github.com/rt-bishop/Look4Sat
Removed pass prefs dialog, strings cleanup
rodzic
6631f1e745
commit
c6aae706f9
|
@ -22,8 +22,6 @@ package com.rtbishop.look4sat.ui.fragments
|
|||
import android.animation.ObjectAnimator
|
||||
import android.os.Bundle
|
||||
import android.view.View
|
||||
import android.widget.EditText
|
||||
import androidx.appcompat.app.AlertDialog
|
||||
import androidx.fragment.app.Fragment
|
||||
import androidx.fragment.app.activityViewModels
|
||||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
|
@ -37,7 +35,6 @@ import com.rtbishop.look4sat.ui.adapters.PassesAdapter
|
|||
import com.rtbishop.look4sat.utility.PrefsManager
|
||||
import com.rtbishop.look4sat.utility.Utilities
|
||||
import com.rtbishop.look4sat.utility.Utilities.getRotationAnimator
|
||||
import com.rtbishop.look4sat.utility.Utilities.snack
|
||||
import dagger.hilt.android.AndroidEntryPoint
|
||||
import java.util.*
|
||||
import javax.inject.Inject
|
||||
|
@ -88,10 +85,6 @@ class PassesFragment : Fragment(R.layout.fragment_passes) {
|
|||
(itemAnimator as SimpleItemAnimator).supportsChangeAnimations = false
|
||||
setHasFixedSize(true)
|
||||
}
|
||||
passesFilter.setOnClickListener {
|
||||
val passPrefs = prefsManager.getPassPrefs()
|
||||
showSatPassPrefsDialog(passPrefs.hoursAhead, passPrefs.minEl)
|
||||
}
|
||||
animator = passesFab.getRotationAnimator()
|
||||
passesFab.setOnClickListener {
|
||||
if (animator.isRunning) {
|
||||
|
@ -104,44 +97,6 @@ class PassesFragment : Fragment(R.layout.fragment_passes) {
|
|||
viewModel.triggerCalculation()
|
||||
}
|
||||
|
||||
private fun showSatPassPrefsDialog(hoursAhead: Int, minEl: Double) {
|
||||
val satPassPrefView = View.inflate(requireContext(), R.layout.dialog_passes, null)
|
||||
val etHoursAhead = satPassPrefView.findViewById<EditText>(R.id.pref_et_hoursAhead)
|
||||
val etMinEl = satPassPrefView.findViewById<EditText>(R.id.pref_et_minEl)
|
||||
etHoursAhead.setText(hoursAhead.toString())
|
||||
etMinEl.setText(minEl.toString())
|
||||
|
||||
AlertDialog.Builder(requireContext()).apply {
|
||||
setPositiveButton(getString(android.R.string.ok)) { _, _ ->
|
||||
val hoursString = etHoursAhead.text.toString()
|
||||
val minElString = etMinEl.text.toString()
|
||||
if (hoursString.isNotEmpty() && minElString.isNotEmpty()) {
|
||||
val hours = hoursString.toInt()
|
||||
val elevation = minElString.toDouble()
|
||||
when {
|
||||
hours < 1 || hours > 168 -> {
|
||||
getString(R.string.pref_hours_ahead_input_error).snack(requireView())
|
||||
}
|
||||
elevation < 0 || elevation > 90 -> {
|
||||
getString(R.string.pref_min_el_input_error).snack(requireView())
|
||||
}
|
||||
else -> {
|
||||
prefsManager.setPassPrefs(hours, elevation)
|
||||
viewModel.calculatePasses()
|
||||
}
|
||||
}
|
||||
} else getString(R.string.err_enter_value).snack(requireView())
|
||||
|
||||
}
|
||||
setNegativeButton(getString(android.R.string.cancel)) { dialog, _ ->
|
||||
dialog.cancel()
|
||||
}
|
||||
setView(satPassPrefView)
|
||||
create()
|
||||
show()
|
||||
}
|
||||
}
|
||||
|
||||
private fun tickMainTimer(timeNow: Long) {
|
||||
if (passes.isNotEmpty()) {
|
||||
try {
|
||||
|
|
|
@ -24,7 +24,6 @@ import android.location.LocationManager
|
|||
import androidx.core.content.edit
|
||||
import com.github.amsacode.predict4java.GroundStationPosition
|
||||
import com.rtbishop.look4sat.data.PassPrefs
|
||||
import com.rtbishop.look4sat.utility.Utilities.putDouble
|
||||
import com.rtbishop.look4sat.utility.Utilities.round
|
||||
import javax.inject.Inject
|
||||
|
||||
|
@ -35,8 +34,6 @@ class PrefsManager @Inject constructor(
|
|||
companion object {
|
||||
const val hoursAhead = "hoursAhead"
|
||||
const val minimalElevation = "minimalElevation"
|
||||
const val keyHoursAhead = "hoursAhead"
|
||||
const val keyMinElevation = "minEl"
|
||||
const val keyLatitude = "latitude"
|
||||
const val keyLongitude = "longitude"
|
||||
const val keyAltitude = "altitude"
|
||||
|
@ -52,14 +49,6 @@ class PrefsManager @Inject constructor(
|
|||
return PassPrefs(hoursAhead, minEl)
|
||||
}
|
||||
|
||||
fun setPassPrefs(hoursAhead: Int, minEl: Double) {
|
||||
preferences.edit {
|
||||
putInt(keyHoursAhead, hoursAhead)
|
||||
putDouble(keyMinElevation, minEl)
|
||||
apply()
|
||||
}
|
||||
}
|
||||
|
||||
fun getStationPosition(): GroundStationPosition {
|
||||
val lat = preferences.getString(keyLatitude, defaultGSP)!!.toDouble()
|
||||
val lon = preferences.getString(keyLongitude, defaultGSP)!!.toDouble()
|
||||
|
|
|
@ -1,79 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?><!--
|
||||
~ Look4Sat. Amateur radio and weather satellite tracker and passes predictor for Android.
|
||||
~ Copyright (C) 2019, 2020 Arty Bishop (bishop.arty@gmail.com)
|
||||
~
|
||||
~ This program is free software; you can redistribute it and/or modify
|
||||
~ it under the terms of the GNU General Public License as published by
|
||||
~ the Free Software Foundation; either version 2 of the License, or
|
||||
~ (at your option) any later version.
|
||||
~
|
||||
~ This program is distributed in the hope that it will be useful,
|
||||
~ but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
~ GNU General Public License for more details.
|
||||
~
|
||||
~ You should have received a copy of the GNU General Public License along
|
||||
~ with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
~ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
-->
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:id="@+id/pass_pref_root"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/pref_tv_title"
|
||||
style="@style/DialogText"
|
||||
android:layout_marginStart="24dp"
|
||||
android:layout_marginTop="12dp"
|
||||
android:text="@string/dialog_filter_passes"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/pref_tv_hoursAhead"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="24dp"
|
||||
android:layout_marginTop="12dp"
|
||||
android:layout_marginEnd="24dp"
|
||||
android:text="@string/pref_hours_ahead_summary"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/pref_tv_title" />
|
||||
|
||||
<EditText
|
||||
android:id="@+id/pref_et_hoursAhead"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:hint="@string/pref_hours_ahead"
|
||||
android:importantForAutofill="no"
|
||||
android:inputType="number"
|
||||
app:layout_constraintEnd_toEndOf="@+id/pref_tv_hoursAhead"
|
||||
app:layout_constraintStart_toStartOf="@+id/pref_tv_hoursAhead"
|
||||
app:layout_constraintTop_toBottomOf="@+id/pref_tv_hoursAhead" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/pref_tv_minEl"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="8dp"
|
||||
android:text="@string/pref_min_el_summary"
|
||||
app:layout_constraintEnd_toEndOf="@+id/pref_et_hoursAhead"
|
||||
app:layout_constraintStart_toStartOf="@+id/pref_et_hoursAhead"
|
||||
app:layout_constraintTop_toBottomOf="@+id/pref_et_hoursAhead" />
|
||||
|
||||
<EditText
|
||||
android:id="@+id/pref_et_minEl"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:hint="@string/pref_minimal_elevation"
|
||||
android:importantForAutofill="no"
|
||||
android:inputType="number|numberDecimal"
|
||||
app:layout_constraintEnd_toEndOf="@+id/pref_tv_minEl"
|
||||
app:layout_constraintStart_toStartOf="@+id/pref_tv_minEl"
|
||||
app:layout_constraintTop_toBottomOf="@+id/pref_tv_minEl" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
|
@ -49,17 +49,6 @@
|
|||
app:layout_constraintStart_toStartOf="@id/passes_bar"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<ImageButton
|
||||
android:id="@+id/passes_filter"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:backgroundTint="@color/themeDark"
|
||||
android:contentDescription="@string/placeholder"
|
||||
android:src="@drawable/ic_prefs"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/passes_timer"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toTopOf="@+id/passes_timer" />
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/passes_recycler"
|
||||
android:layout_width="0dp"
|
||||
|
|
|
@ -26,17 +26,12 @@
|
|||
<string name="menu_prefs">Настройки</string>
|
||||
<string name="menu_about">Инфо</string>
|
||||
|
||||
<string name="dialog_filter_passes">Фильтровать пролеты</string>
|
||||
<string name="dialog_tle_sources">Управление источниками TLE</string>
|
||||
<string name="dialog_entries_hint">ID / Имя</string>
|
||||
|
||||
<string name="pref_passes_preferences">Настройки пролетов</string>
|
||||
<string name="pref_hours_ahead">Количество часов</string>
|
||||
<string name="pref_hours_ahead_summary">Показать пролеты за след. Х часов</string>
|
||||
<string name="pref_hours_ahead_input_error">Введите значение между 1ч и 168ч</string>
|
||||
<string name="pref_minimal_elevation">Минимальная элевация</string>
|
||||
<string name="pref_min_el_summary">Показать пролеты с элевацией более</string>
|
||||
<string name="pref_min_el_input_error">Введите значение между 0° и 90°</string>
|
||||
<string name="pass_prefs_title">Настройки пролетов спутников</string>
|
||||
<string name="hours_ahead_title">Количество часов</string>
|
||||
<string name="minimal_elevation_title">Минимальная элевация</string>
|
||||
|
||||
<string name="pref_gsp_title">Местоположение наземной станции</string>
|
||||
<string name="pref_lat_title">Широта, град</string>
|
||||
|
|
|
@ -27,17 +27,12 @@
|
|||
<string name="menu_prefs">Settings</string>
|
||||
<string name="menu_about">Info</string>
|
||||
|
||||
<string name="dialog_filter_passes">Filter passes</string>
|
||||
<string name="dialog_tle_sources">Manage TLE sources</string>
|
||||
<string name="dialog_entries_hint">ID / Name</string>
|
||||
|
||||
<string name="pref_passes_preferences">Passes preferences</string>
|
||||
<string name="pref_hours_ahead">Hours ahead</string>
|
||||
<string name="pref_hours_ahead_summary">Show passes that occur within X hours</string>
|
||||
<string name="pref_hours_ahead_input_error">Set the value between 1h and 168h</string>
|
||||
<string name="pref_minimal_elevation">Minimal elevation</string>
|
||||
<string name="pref_min_el_summary">Show passes with max elevation above</string>
|
||||
<string name="pref_min_el_input_error">Set the value between 0° and 90°</string>
|
||||
<string name="pass_prefs_title">Satellite pass preferences</string>
|
||||
<string name="hours_ahead_title">Hours ahead</string>
|
||||
<string name="minimal_elevation_title">Minimal elevation</string>
|
||||
|
||||
<string name="pref_gsp_title">Ground station position</string>
|
||||
<string name="pref_lat_title">Latitude, deg</string>
|
||||
|
|
|
@ -42,12 +42,12 @@
|
|||
app:useSimpleSummaryProvider="true" />
|
||||
</PreferenceCategory>
|
||||
<PreferenceCategory
|
||||
android:title="@string/pref_passes_preferences"
|
||||
android:title="@string/pass_prefs_title"
|
||||
app:iconSpaceReserved="false">
|
||||
<SeekBarPreference
|
||||
android:key="hoursAhead"
|
||||
android:max="72"
|
||||
android:title="@string/pref_hours_ahead"
|
||||
android:title="@string/hours_ahead_title"
|
||||
app:defaultValue="8"
|
||||
app:iconSpaceReserved="false"
|
||||
app:min="1"
|
||||
|
@ -55,7 +55,7 @@
|
|||
<SeekBarPreference
|
||||
android:key="minimalElevation"
|
||||
android:max="72"
|
||||
android:title="@string/pref_minimal_elevation"
|
||||
android:title="@string/minimal_elevation_title"
|
||||
app:adjustable="false"
|
||||
app:defaultValue="16"
|
||||
app:iconSpaceReserved="false"
|
||||
|
|
Ładowanie…
Reference in New Issue