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 com.rtbishop.look4sat.R
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 dagger.hilt.android.AndroidEntryPoint
import javax.inject.Inject
@AndroidEntryPoint
class PassesPrefsDialog : AppCompatDialogFragment() {
class FilterDialog : AppCompatDialogFragment() {
@Inject
lateinit var preferences: ISettingsHandler
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?) {
super.onViewCreated(view, state)
DialogPassesBinding.bind(view).apply {
DialogFilterBinding.bind(view).apply {
dialog?.window?.setBackgroundDrawableResource(R.color.transparent)
dialog?.window?.setLayout(
WindowManager.LayoutParams.MATCH_PARENT,
(resources.displayMetrics.widthPixels * 0.94).toInt(),
WindowManager.LayoutParams.WRAP_CONTENT
)
hoursAheadEdit.setText(preferences.getHoursAhead().toString())
minElevEdit.setText(preferences.getMinElevation().toString())
passPrefBtnPos.setOnClickListener {
filterHoursEdit.setText(preferences.getHoursAhead().toString())
filterElevEdit.setText(preferences.getMinElevation().toString())
filterPosBtn.setOnClickListener {
val hoursAhead = try {
hoursAheadEdit.text.toString().toInt()
filterHoursEdit.text.toString().toInt()
} catch (exception: Exception) {
8
}
val minElevation = try {
minElevEdit.text.toString().toDouble()
filterElevEdit.text.toString().toDouble()
} catch (exception: Exception) {
16.0
}
setNavResult("prefs", Pair(hoursAhead, minElevation))
dismiss()
}
passPrefBtnNeg.setOnClickListener { dismiss() }
filterNegBtn.setOnClickListener { dismiss() }
}
}
}
@@ -67,7 +67,7 @@ class PassesFragment : Fragment(R.layout.fragment_passes), PassesAdapter.PassesC
}
passesRefreshBtn.setOnClickListener { refreshPasses() }
passesMapBtn.setOnClickListener { navigateToMap() }
passesFilterBtn.setOnClickListener { navigateToPassPrefs() }
passesFilterBtn.setOnClickListener { navigateToFilter() }
passesFab.setOnClickListener { navigateToEntries() }
passesSettingsBtn.setOnClickListener { navigateToSettings() }
}
@@ -136,8 +136,8 @@ class PassesFragment : Fragment(R.layout.fragment_passes), PassesAdapter.PassesC
findNavController().navigate(direction)
}
private fun navigateToPassPrefs() {
val direction = PassesFragmentDirections.actionPassesToPassPrefs()
private fun navigateToFilter() {
val direction = PassesFragmentDirections.actionPassesToFilter()
findNavController().navigate(direction)
}
+6 -3
View File
@@ -19,7 +19,7 @@
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<androidx.appcompat.widget.SwitchCompat
<com.google.android.material.switchmaterial.SwitchMaterial
android:id="@+id/other_switch_utc"
style="@style/SettingsText"
android:layout_width="0dp"
@@ -28,22 +28,24 @@
android:layout_marginEnd="4dp"
android:minHeight="48dp"
android:text="@string/other_switch_utc"
app:trackTint="@color/themeDisabled"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="@+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"
style="@style/SettingsText"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:minHeight="48dp"
android:text="@string/other_switch_sweep"
app:trackTint="@color/themeDisabled"
app:layout_constraintEnd_toEndOf="@+id/other_switch_utc"
app:layout_constraintStart_toStartOf="@+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"
style="@style/SettingsText"
android:layout_width="0dp"
@@ -51,6 +53,7 @@
android:layout_marginBottom="8dp"
android:minHeight="48dp"
android:text="@string/other_switch_sensors"
app:trackTint="@color/themeDisabled"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="@+id/other_switch_utc"
app:layout_constraintStart_toStartOf="@+id/other_switch_sweep"
@@ -18,7 +18,7 @@
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<androidx.appcompat.widget.SwitchCompat
<com.google.android.material.switchmaterial.SwitchMaterial
android:id="@+id/tracking_switch"
style="@style/SettingsText"
android:layout_width="0dp"
@@ -26,6 +26,7 @@
android:layout_marginEnd="4dp"
android:minHeight="48dp"
android:text="@string/tracking_switch"
app:trackTint="@color/themeDisabled"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="@+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:text="@string/btn_cancel"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintEnd_toStartOf="@+id/modes_btn_pos"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintHorizontal_chainStyle="spread_inside"
app:layout_constraintStart_toEndOf="@+id/modes_btn_pos"
app:layout_constraintStart_toStartOf="parent" />
<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"
tools:layout="@layout/fragment_passes">
<action
android:id="@+id/action_passes_to_pass_prefs"
app:destination="@id/nav_pass_prefs" />
android:id="@+id/action_passes_to_filter"
app:destination="@id/nav_dialog_filter" />
</fragment>
<dialog
android:id="@+id/nav_pass_prefs"
android:name="com.rtbishop.look4sat.presentation.passesScreen.PassesPrefsDialog"
tools:layout="@layout/dialog_passes" />
android:id="@+id/nav_dialog_filter"
android:name="com.rtbishop.look4sat.presentation.passesScreen.FilterDialog"
tools:layout="@layout/dialog_filter" />
<fragment
android:id="@+id/nav_radar"
android:name="com.rtbishop.look4sat.presentation.radarScreen.RadarFragment"