Removed pass prefs dialog, strings cleanup

pull/49/head
Arty Bishop 2020-10-10 16:04:27 +01:00
rodzic 6631f1e745
commit c6aae706f9
7 zmienionych plików z 9 dodań i 165 usunięć

Wyświetl plik

@ -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 {

Wyświetl plik

@ -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()

Wyświetl plik

@ -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>

Wyświetl plik

@ -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"

Wyświetl plik

@ -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>

Wyświetl plik

@ -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>

Wyświetl plik

@ -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"