Alterations to the pass filter dialog UI

This commit is contained in:
Arty Bishop committed 2022-02-19 12:11:50 +00:00
1 parent dc680231ea
commit 6400d1d395
8 files changed
+159 -120

No files matched your search

@@ -8,45 +8,46 @@ import android.view.WindowManager
import androidx.appcompat.app.AppCompatDialogFragment import androidx.appcompat.app.AppCompatDialogFragment
import com.rtbishop.look4sat.R import com.rtbishop.look4sat.R
import com.rtbishop.look4sat.data.ISettingsHandler import com.rtbishop.look4sat.data.ISettingsHandler
import com.rtbishop.look4sat.databinding.DialogPassesBinding import com.rtbishop.look4sat.databinding.DialogFilterBinding
import com.rtbishop.look4sat.presentation.setNavResult import com.rtbishop.look4sat.presentation.setNavResult
import dagger.hilt.android.AndroidEntryPoint import dagger.hilt.android.AndroidEntryPoint
import javax.inject.Inject import javax.inject.Inject
@AndroidEntryPoint @AndroidEntryPoint
class PassesPrefsDialog : AppCompatDialogFragment() { class FilterDialog : AppCompatDialogFragment() {
@Inject @Inject
lateinit var preferences: ISettingsHandler lateinit var preferences: ISettingsHandler
override fun onCreateView(inflater: LayoutInflater, group: ViewGroup?, state: Bundle?): View? { override fun onCreateView(inflater: LayoutInflater, group: ViewGroup?, state: Bundle?): View? {
return inflater.inflate(R.layout.dialog_passes, group, false) return inflater.inflate(R.layout.dialog_filter, group, false)
} }
override fun onViewCreated(view: View, state: Bundle?) { override fun onViewCreated(view: View, state: Bundle?) {
super.onViewCreated(view, state) super.onViewCreated(view, state)
DialogPassesBinding.bind(view).apply { DialogFilterBinding.bind(view).apply {
dialog?.window?.setBackgroundDrawableResource(R.color.transparent)
dialog?.window?.setLayout( dialog?.window?.setLayout(
WindowManager.LayoutParams.MATCH_PARENT, (resources.displayMetrics.widthPixels * 0.94).toInt(),
WindowManager.LayoutParams.WRAP_CONTENT WindowManager.LayoutParams.WRAP_CONTENT
) )
hoursAheadEdit.setText(preferences.getHoursAhead().toString()) filterHoursEdit.setText(preferences.getHoursAhead().toString())
minElevEdit.setText(preferences.getMinElevation().toString()) filterElevEdit.setText(preferences.getMinElevation().toString())
passPrefBtnPos.setOnClickListener { filterPosBtn.setOnClickListener {
val hoursAhead = try { val hoursAhead = try {
hoursAheadEdit.text.toString().toInt() filterHoursEdit.text.toString().toInt()
} catch (exception: Exception) { } catch (exception: Exception) {
8 8
} }
val minElevation = try { val minElevation = try {
minElevEdit.text.toString().toDouble() filterElevEdit.text.toString().toDouble()
} catch (exception: Exception) { } catch (exception: Exception) {
16.0 16.0
} }
setNavResult("prefs", Pair(hoursAhead, minElevation)) setNavResult("prefs", Pair(hoursAhead, minElevation))
dismiss() dismiss()
} }
passPrefBtnNeg.setOnClickListener { dismiss() } filterNegBtn.setOnClickListener { dismiss() }
} }
} }
} }
@@ -67,7 +67,7 @@ class PassesFragment : Fragment(R.layout.fragment_passes), PassesAdapter.PassesC
} }
passesRefreshBtn.setOnClickListener { refreshPasses() } passesRefreshBtn.setOnClickListener { refreshPasses() }
passesMapBtn.setOnClickListener { navigateToMap() } passesMapBtn.setOnClickListener { navigateToMap() }
passesFilterBtn.setOnClickListener { navigateToPassPrefs() } passesFilterBtn.setOnClickListener { navigateToFilter() }
passesFab.setOnClickListener { navigateToEntries() } passesFab.setOnClickListener { navigateToEntries() }
passesSettingsBtn.setOnClickListener { navigateToSettings() } passesSettingsBtn.setOnClickListener { navigateToSettings() }
} }
@@ -136,8 +136,8 @@ class PassesFragment : Fragment(R.layout.fragment_passes), PassesAdapter.PassesC
findNavController().navigate(direction) findNavController().navigate(direction)
} }
private fun navigateToPassPrefs() { private fun navigateToFilter() {
val direction = PassesFragmentDirections.actionPassesToPassPrefs() val direction = PassesFragmentDirections.actionPassesToFilter()
findNavController().navigate(direction) findNavController().navigate(direction)
} }
+6 -3
View File
@@ -19,7 +19,7 @@
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" /> app:layout_constraintTop_toTopOf="parent" />
<androidx.appcompat.widget.SwitchCompat <com.google.android.material.switchmaterial.SwitchMaterial
android:id="@+id/other_switch_utc" android:id="@+id/other_switch_utc"
style="@style/SettingsText" style="@style/SettingsText"
android:layout_width="0dp" android:layout_width="0dp"
@@ -28,22 +28,24 @@
android:layout_marginEnd="4dp" android:layout_marginEnd="4dp"
android:minHeight="48dp" android:minHeight="48dp"
android:text="@string/other_switch_utc" android:text="@string/other_switch_utc"
app:trackTint="@color/themeDisabled"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="@+id/other_title" app:layout_constraintStart_toStartOf="@+id/other_title"
app:layout_constraintTop_toBottomOf="@+id/other_title" /> app:layout_constraintTop_toBottomOf="@+id/other_title" />
<androidx.appcompat.widget.SwitchCompat <com.google.android.material.switchmaterial.SwitchMaterial
android:id="@+id/other_switch_sweep" android:id="@+id/other_switch_sweep"
style="@style/SettingsText" style="@style/SettingsText"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:minHeight="48dp" android:minHeight="48dp"
android:text="@string/other_switch_sweep" android:text="@string/other_switch_sweep"
app:trackTint="@color/themeDisabled"
app:layout_constraintEnd_toEndOf="@+id/other_switch_utc" app:layout_constraintEnd_toEndOf="@+id/other_switch_utc"
app:layout_constraintStart_toStartOf="@+id/other_switch_utc" app:layout_constraintStart_toStartOf="@+id/other_switch_utc"
app:layout_constraintTop_toBottomOf="@+id/other_switch_utc" /> app:layout_constraintTop_toBottomOf="@+id/other_switch_utc" />
<androidx.appcompat.widget.SwitchCompat <com.google.android.material.switchmaterial.SwitchMaterial
android:id="@+id/other_switch_sensors" android:id="@+id/other_switch_sensors"
style="@style/SettingsText" style="@style/SettingsText"
android:layout_width="0dp" android:layout_width="0dp"
@@ -51,6 +53,7 @@
android:layout_marginBottom="8dp" android:layout_marginBottom="8dp"
android:minHeight="48dp" android:minHeight="48dp"
android:text="@string/other_switch_sensors" android:text="@string/other_switch_sensors"
app:trackTint="@color/themeDisabled"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="@+id/other_switch_utc" app:layout_constraintEnd_toEndOf="@+id/other_switch_utc"
app:layout_constraintStart_toStartOf="@+id/other_switch_sweep" app:layout_constraintStart_toStartOf="@+id/other_switch_sweep"
@@ -18,7 +18,7 @@
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" /> app:layout_constraintTop_toTopOf="parent" />
<androidx.appcompat.widget.SwitchCompat <com.google.android.material.switchmaterial.SwitchMaterial
android:id="@+id/tracking_switch" android:id="@+id/tracking_switch"
style="@style/SettingsText" style="@style/SettingsText"
android:layout_width="0dp" android:layout_width="0dp"
@@ -26,6 +26,7 @@
android:layout_marginEnd="4dp" android:layout_marginEnd="4dp"
android:minHeight="48dp" android:minHeight="48dp"
android:text="@string/tracking_switch" android:text="@string/tracking_switch"
app:trackTint="@color/themeDisabled"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="@+id/tracking_title" app:layout_constraintStart_toStartOf="@+id/tracking_title"
app:layout_constraintTop_toBottomOf="@+id/tracking_title" /> app:layout_constraintTop_toBottomOf="@+id/tracking_title" />
+131
View File
@@ -0,0 +1,131 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.cardview.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
style="@style/SurfaceCard"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/filter_title"
style="@style/DialogTitle"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:minHeight="48dp"
android:text="@string/dialog_filter_passes"
app:layout_constraintBottom_toTopOf="@+id/filter_hours_text"
app:layout_constraintEnd_toEndOf="@+id/filter_pos_btn"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toStartOf="@+id/filter_neg_btn"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/filter_hours_text"
style="@style/DialogText"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginEnd="8dp"
android:text="@string/pref_hours_ahead_summary"
app:layout_constraintBottom_toTopOf="@+id/filter_hours_layout"
app:layout_constraintEnd_toEndOf="@+id/filter_title"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toStartOf="@+id/filter_title"
app:layout_constraintTop_toBottomOf="@+id/filter_title" />
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/filter_hours_layout"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:hint="@string/pref_hours_ahead_hint"
android:importantForAutofill="no"
android:inputType="number"
android:minHeight="48dp"
app:endIconMode="clear_text"
app:layout_constraintBottom_toTopOf="@+id/filter_elev_text"
app:layout_constraintEnd_toEndOf="@+id/filter_hours_text"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toStartOf="@+id/filter_hours_text"
app:layout_constraintTop_toBottomOf="@+id/filter_hours_text">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/filter_hours_edit"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:inputType="textUri" />
</com.google.android.material.textfield.TextInputLayout>
<TextView
android:id="@+id/filter_elev_text"
style="@style/DialogText"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="12dp"
android:text="@string/pref_min_el_summary"
app:layout_constraintBottom_toTopOf="@+id/filter_elev_layout"
app:layout_constraintEnd_toEndOf="@+id/filter_hours_text"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toStartOf="@+id/filter_hours_text"
app:layout_constraintTop_toBottomOf="@+id/filter_hours_layout" />
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/filter_elev_layout"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:hint="@string/pref_min_el_hint"
android:importantForAutofill="no"
android:inputType="number|numberDecimal"
android:minHeight="48dp"
app:endIconMode="clear_text"
app:layout_constraintBottom_toTopOf="@+id/filter_neg_btn"
app:layout_constraintEnd_toEndOf="@+id/filter_hours_layout"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toStartOf="@+id/filter_hours_layout"
app:layout_constraintTop_toBottomOf="@+id/filter_elev_text">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/filter_elev_edit"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:inputType="textUri" />
</com.google.android.material.textfield.TextInputLayout>
<Button
android:id="@+id/filter_neg_btn"
style="@style/NormalButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="12dp"
android:layout_marginBottom="8dp"
android:text="@string/btn_cancel"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/filter_pos_btn"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintHorizontal_chainStyle="spread_inside"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/filter_elev_layout" />
<Button
android:id="@+id/filter_pos_btn"
style="@style/NormalButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="8dp"
android:text="@string/btn_accept"
app:layout_constraintBaseline_toBaselineOf="@+id/filter_neg_btn"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toEndOf="@+id/filter_neg_btn" />
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.cardview.widget.CardView>
-2
View File
@@ -44,11 +44,9 @@
android:layout_marginBottom="8dp" android:layout_marginBottom="8dp"
android:text="@string/btn_cancel" android:text="@string/btn_cancel"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintEnd_toStartOf="@+id/modes_btn_pos" app:layout_constraintEnd_toStartOf="@+id/modes_btn_pos"
app:layout_constraintHorizontal_bias="0.5" app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintHorizontal_chainStyle="spread_inside" app:layout_constraintHorizontal_chainStyle="spread_inside"
app:layout_constraintStart_toEndOf="@+id/modes_btn_pos"
app:layout_constraintStart_toStartOf="parent" /> app:layout_constraintStart_toStartOf="parent" />
<Button <Button
-95
View File
@@ -1,95 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/surfaceCard">
<TextView
android:id="@+id/pass_pref_title"
style="@style/DialogTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="12dp"
android:text="@string/dialog_filter_passes"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/hours_ahead_text"
style="@style/DialogText"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="12dp"
android:layout_marginEnd="16dp"
android:text="@string/pref_hours_ahead_summary"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/pass_pref_title" />
<EditText
android:id="@+id/hours_ahead_edit"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:hint="@string/pref_hours_ahead_hint"
android:importantForAutofill="no"
android:inputType="number"
android:minHeight="48dp"
app:layout_constraintEnd_toEndOf="@+id/hours_ahead_text"
app:layout_constraintStart_toStartOf="@+id/hours_ahead_text"
app:layout_constraintTop_toBottomOf="@+id/hours_ahead_text" />
<TextView
android:id="@+id/min_elev_text"
style="@style/DialogText"
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/hours_ahead_edit"
app:layout_constraintStart_toStartOf="@+id/hours_ahead_edit"
app:layout_constraintTop_toBottomOf="@+id/hours_ahead_edit" />
<EditText
android:id="@+id/min_elev_edit"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:hint="@string/pref_min_el_hint"
android:importantForAutofill="no"
android:inputType="number|numberDecimal"
android:minHeight="48dp"
app:layout_constraintEnd_toEndOf="@+id/min_elev_text"
app:layout_constraintStart_toStartOf="@+id/min_elev_text"
app:layout_constraintTop_toBottomOf="@+id/min_elev_text" />
<Button
android:id="@+id/pass_pref_btn_neg"
style="@style/DialogButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="8dp"
android:layout_marginBottom="16dp"
android:text="@string/btn_cancel"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/pass_pref_btn_pos"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintHorizontal_chainStyle="spread_inside"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/min_elev_edit" />
<Button
android:id="@+id/pass_pref_btn_pos"
style="@style/DialogButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="16dp"
android:text="@string/btn_accept"
app:layout_constraintBaseline_toBaselineOf="@+id/pass_pref_btn_neg"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toEndOf="@+id/pass_pref_btn_neg" />
</androidx.constraintlayout.widget.ConstraintLayout>
@@ -17,13 +17,13 @@
android:name="com.rtbishop.look4sat.presentation.passesScreen.PassesFragment" android:name="com.rtbishop.look4sat.presentation.passesScreen.PassesFragment"
tools:layout="@layout/fragment_passes"> tools:layout="@layout/fragment_passes">
<action <action
android:id="@+id/action_passes_to_pass_prefs" android:id="@+id/action_passes_to_filter"
app:destination="@id/nav_pass_prefs" /> app:destination="@id/nav_dialog_filter" />
</fragment> </fragment>
<dialog <dialog
android:id="@+id/nav_pass_prefs" android:id="@+id/nav_dialog_filter"
android:name="com.rtbishop.look4sat.presentation.passesScreen.PassesPrefsDialog" android:name="com.rtbishop.look4sat.presentation.passesScreen.FilterDialog"
tools:layout="@layout/dialog_passes" /> tools:layout="@layout/dialog_filter" />
<fragment <fragment
android:id="@+id/nav_radar" android:id="@+id/nav_radar"
android:name="com.rtbishop.look4sat.presentation.radarScreen.RadarFragment" android:name="com.rtbishop.look4sat.presentation.radarScreen.RadarFragment"