diff --git a/app/src/main/java/com/rtbishop/look4sat/presentation/entriesScreen/EntriesFragment.kt b/app/src/main/java/com/rtbishop/look4sat/presentation/entriesScreen/EntriesFragment.kt index e24706b5..750f8698 100644 --- a/app/src/main/java/com/rtbishop/look4sat/presentation/entriesScreen/EntriesFragment.kt +++ b/app/src/main/java/com/rtbishop/look4sat/presentation/entriesScreen/EntriesFragment.kt @@ -26,6 +26,7 @@ import androidx.fragment.app.viewModels import androidx.navigation.fragment.findNavController import androidx.recyclerview.widget.DividerItemDecoration import androidx.recyclerview.widget.GridLayoutManager +import androidx.recyclerview.widget.SimpleItemAnimator import com.google.android.material.snackbar.Snackbar import com.rtbishop.look4sat.R import com.rtbishop.look4sat.databinding.FragmentEntriesBinding @@ -54,6 +55,7 @@ class EntriesFragment : Fragment(R.layout.fragment_entries) { this.adapter = adapter this.layoutManager = layoutManager addItemDecoration(itemDecoration) + (itemAnimator as SimpleItemAnimator).supportsChangeAnimations = false } entriesBack.setOnClickListener { findNavController().navigateUp() } entriesSearch.doOnTextChanged { text, _, _, _ -> viewModel.setQuery(text.toString()) } diff --git a/app/src/main/java/com/rtbishop/look4sat/presentation/passesScreen/PassesFragment.kt b/app/src/main/java/com/rtbishop/look4sat/presentation/passesScreen/PassesFragment.kt index ca69b4a2..5220f203 100644 --- a/app/src/main/java/com/rtbishop/look4sat/presentation/passesScreen/PassesFragment.kt +++ b/app/src/main/java/com/rtbishop/look4sat/presentation/passesScreen/PassesFragment.kt @@ -26,6 +26,7 @@ import androidx.navigation.fragment.findNavController import androidx.recyclerview.widget.DividerItemDecoration import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView +import androidx.recyclerview.widget.SimpleItemAnimator import com.rtbishop.look4sat.R import com.rtbishop.look4sat.databinding.FragmentPassesBinding import com.rtbishop.look4sat.domain.model.DataState @@ -57,6 +58,7 @@ class PassesFragment : Fragment(R.layout.fragment_passes), PassesAdapter.PassesC this.adapter = adapter this.layoutManager = layoutManager addItemDecoration(itemDecoration) + (itemAnimator as SimpleItemAnimator).supportsChangeAnimations = false addOnScrollListener(object : RecyclerView.OnScrollListener() { override fun onScrolled(recyclerView: RecyclerView, dx: Int, dy: Int) { if (dy > 0 && passesFab.visibility == View.VISIBLE) passesFab.hide() diff --git a/app/src/main/java/com/rtbishop/look4sat/presentation/radarScreen/RadarFragment.kt b/app/src/main/java/com/rtbishop/look4sat/presentation/radarScreen/RadarFragment.kt index a7b6f21b..1e953260 100644 --- a/app/src/main/java/com/rtbishop/look4sat/presentation/radarScreen/RadarFragment.kt +++ b/app/src/main/java/com/rtbishop/look4sat/presentation/radarScreen/RadarFragment.kt @@ -25,6 +25,7 @@ import androidx.fragment.app.viewModels import androidx.navigation.fragment.findNavController import androidx.recyclerview.widget.DividerItemDecoration import androidx.recyclerview.widget.LinearLayoutManager +import androidx.recyclerview.widget.SimpleItemAnimator import com.rtbishop.look4sat.R import com.rtbishop.look4sat.databinding.FragmentRadarBinding import com.rtbishop.look4sat.domain.predict.SatPass @@ -59,6 +60,7 @@ class RadarFragment : Fragment(R.layout.fragment_radar) { this.adapter = adapter this.layoutManager = LinearLayoutManager(context) addItemDecoration(itemDecoration) + (itemAnimator as SimpleItemAnimator).supportsChangeAnimations = false } setupObservers(adapter, this) } @@ -84,11 +86,9 @@ class RadarFragment : Fragment(R.layout.fragment_radar) { viewModel.transmitters.observe(viewLifecycleOwner, { list -> if (list.isNotEmpty()) { transmittersAdapter.submitList(list) - binding.radarRecycler.visibility = View.VISIBLE - binding.radarRecyclerMsg.visibility = View.INVISIBLE + binding.radarRecyclerMsg.text = getString(R.string.trans_data) } else { - binding.radarRecycler.visibility = View.INVISIBLE - binding.radarRecyclerMsg.visibility = View.VISIBLE + binding.radarRecyclerMsg.text = getString(R.string.trans_no_data) } radarView?.invalidate() }) diff --git a/app/src/main/java/com/rtbishop/look4sat/presentation/sourcesScreen/SourcesDialog.kt b/app/src/main/java/com/rtbishop/look4sat/presentation/sourcesScreen/SourcesDialog.kt index b6d3e6b2..9f984848 100644 --- a/app/src/main/java/com/rtbishop/look4sat/presentation/sourcesScreen/SourcesDialog.kt +++ b/app/src/main/java/com/rtbishop/look4sat/presentation/sourcesScreen/SourcesDialog.kt @@ -45,21 +45,23 @@ class SourcesDialog : AppCompatDialogFragment() { override fun onViewCreated(view: View, state: Bundle?) { super.onViewCreated(view, state) val sources = settings.loadDataSources() - val sourcesAdapter = SourcesAdapter().apply { setSources(sources.map { Source(it) }) } + val adapter = SourcesAdapter().apply { setSources(sources.map { Source(it) }) } + val layoutManager = LinearLayoutManager(requireContext()) DialogSourcesBinding.bind(view).apply { dialog?.window?.setLayout( WindowManager.LayoutParams.MATCH_PARENT, WindowManager.LayoutParams.WRAP_CONTENT ) sourcesRecycler.apply { - adapter = sourcesAdapter - layoutManager = LinearLayoutManager(requireContext()) + setHasFixedSize(true) + this.adapter = adapter + this.layoutManager = layoutManager } sourcesBtnAdd.setOnClickListener { - sourcesAdapter.addSource() + adapter.addSource() } sourcesBtnPos.setOnClickListener { - setNavResult("sources", sourcesAdapter.getSources().map { it.sourceUrl }) + setNavResult("sources", adapter.getSources().map { it.sourceUrl }) dismiss() } sourcesBtnNeg.setOnClickListener { dismiss() } diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index cfe00338..92aad262 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -6,8 +6,4 @@ android:layout_width="match_parent" android:layout_height="match_parent" app:defaultNavHost="true" - app:layout_constraintBottom_toTopOf="@+id/main_nav_bottom" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintTop_toTopOf="parent" app:navGraph="@navigation/nav_graph" /> \ No newline at end of file diff --git a/app/src/main/res/layout/card_prefs_about.xml b/app/src/main/res/layout/card_prefs_about.xml index 281a79d2..46306712 100644 --- a/app/src/main/res/layout/card_prefs_about.xml +++ b/app/src/main/res/layout/card_prefs_about.xml @@ -1,9 +1,7 @@ + style="@style/SurfaceCard"> @@ -42,7 +40,7 @@ android:layout_height="wrap_content" android:text="@string/about_version" android:textColor="@color/themeLight" - android:textSize="22sp" + android:textSize="@dimen/text_size_large" app:layout_constraintStart_toStartOf="@+id/about_title" app:layout_constraintTop_toBottomOf="@+id/about_title" /> @@ -53,7 +51,7 @@ android:layout_marginTop="4dp" android:text="@string/about_subtitle" android:textColor="@color/themeLight" - android:textSize="20sp" + android:textSize="@dimen/text_size_large" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/about_version" /> diff --git a/app/src/main/res/layout/card_prefs_location.xml b/app/src/main/res/layout/card_prefs_location.xml index 9289f26b..8b734c94 100644 --- a/app/src/main/res/layout/card_prefs_location.xml +++ b/app/src/main/res/layout/card_prefs_location.xml @@ -1,9 +1,7 @@ + style="@style/SurfaceCard"> + style="@style/SurfaceCard"> + style="@style/SurfaceCard"> + style="@style/SurfaceCard"> + style="@style/SurfaceCard"> + android:textSize="@dimen/text_size_large" /> @@ -85,11 +83,11 @@ android:layout_height="wrap_content" android:layout_marginStart="8dp" android:layout_marginEnd="4dp" - android:layout_marginBottom="3dp" + android:layout_marginBottom="4dp" android:backgroundTint="@color/surfaceCard" android:text="@string/entries_select_all" android:textAllCaps="false" - android:textSize="16sp" + android:textSize="@dimen/text_size_medium" app:cornerRadius="8dp" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toStartOf="@+id/entries_accept" @@ -106,7 +104,7 @@ android:backgroundTint="@color/surfaceCard" android:text="@string/btn_accept" android:textAllCaps="false" - android:textSize="16sp" + android:textSize="@dimen/text_size_medium" app:cornerRadius="8dp" app:layout_constraintBaseline_toBaselineOf="@+id/entries_select_all" app:layout_constraintEnd_toEndOf="parent" diff --git a/app/src/main/res/layout/fragment_map.xml b/app/src/main/res/layout/fragment_map.xml index 1674d396..7db5264e 100644 --- a/app/src/main/res/layout/fragment_map.xml +++ b/app/src/main/res/layout/fragment_map.xml @@ -1,8 +1,6 @@ @@ -33,14 +31,13 @@ @@ -162,8 +158,7 @@ android:src="@drawable/ic_arrow" android:tint="@color/themeLight" app:layout_constraintBottom_toTopOf="@+id/map_card_info" - app:layout_constraintStart_toStartOf="parent" - tools:ignore="DuplicateSpeakableTextCheck" /> + app:layout_constraintStart_toStartOf="parent" /> diff --git a/app/src/main/res/layout/fragment_passes.xml b/app/src/main/res/layout/fragment_passes.xml index 54c9ad60..eb55fa74 100644 --- a/app/src/main/res/layout/fragment_passes.xml +++ b/app/src/main/res/layout/fragment_passes.xml @@ -36,15 +36,13 @@ @@ -69,7 +67,7 @@ android:layout_height="wrap_content" android:layout_gravity="center" android:text="@string/passes_error" - android:textSize="20sp" + android:textSize="@dimen/text_size_large" android:visibility="invisible" /> @@ -81,10 +79,9 @@ android:layout_height="wrap_content" android:layout_marginEnd="24dp" android:layout_marginBottom="24dp" - android:elevation="16dp" android:src="@drawable/ic_satellite" android:tint="@color/surfaceBg" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" /> - + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_radar.xml b/app/src/main/res/layout/fragment_radar.xml index a3028f00..b9708db3 100644 --- a/app/src/main/res/layout/fragment_radar.xml +++ b/app/src/main/res/layout/fragment_radar.xml @@ -39,21 +39,23 @@ android:layout_width="0dp" android:layout_height="wrap_content" android:layout_marginStart="8dp" + android:layout_marginTop="2dp" android:layout_marginEnd="8dp" android:gravity="center" - android:textSize="16sp" + android:includeFontPadding="false" + android:textSize="@dimen/text_size_medium" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/radar_toolbar" /> @@ -77,9 +78,8 @@ android:layout_height="wrap_content" android:layout_marginTop="4dp" android:layout_marginEnd="4dp" - android:elevation="8dp" android:text="@string/pat_elevation" - android:textSize="15sp" + android:textSize="@dimen/text_size_small" app:layout_constraintEnd_toEndOf="@+id/radar_card" app:layout_constraintTop_toTopOf="@+id/radar_card" /> @@ -89,9 +89,8 @@ android:layout_height="wrap_content" android:layout_marginStart="4dp" android:layout_marginBottom="4dp" - android:elevation="8dp" android:text="@string/pat_altitude" - android:textSize="15sp" + android:textSize="@dimen/text_size_small" app:layout_constraintBottom_toBottomOf="@+id/radar_card" app:layout_constraintStart_toStartOf="@+id/radar_card" /> @@ -101,22 +100,20 @@ android:layout_height="wrap_content" android:layout_marginEnd="4dp" android:layout_marginBottom="4dp" - android:elevation="8dp" android:text="@string/pat_distance" - android:textSize="15sp" + android:textSize="@dimen/text_size_small" app:layout_constraintBottom_toBottomOf="@+id/radar_card" app:layout_constraintEnd_toEndOf="@+id/radar_card" /> @@ -135,10 +132,12 @@ android:layout_width="0dp" android:layout_height="wrap_content" android:layout_marginStart="8dp" + android:layout_marginTop="2dp" android:layout_marginEnd="8dp" android:gravity="center" + android:includeFontPadding="false" android:text="@string/trans_no_data" - android:textSize="16sp" + android:textSize="@dimen/text_size_medium" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/radar_card" /> diff --git a/app/src/main/res/layout/fragment_settings.xml b/app/src/main/res/layout/fragment_settings.xml index f467c379..e27c42da 100644 --- a/app/src/main/res/layout/fragment_settings.xml +++ b/app/src/main/res/layout/fragment_settings.xml @@ -29,12 +29,12 @@ diff --git a/app/src/main/res/layout/item_entry.xml b/app/src/main/res/layout/item_entry.xml index f0e5466d..a86d45b6 100644 --- a/app/src/main/res/layout/item_entry.xml +++ b/app/src/main/res/layout/item_entry.xml @@ -1,7 +1,7 @@ + style="@style/RecyclerItemCard"> + android:textSize="@dimen/text_size_medium" /> \ No newline at end of file diff --git a/app/src/main/res/layout/item_pass.xml b/app/src/main/res/layout/item_pass.xml index 39a301bf..34887c1a 100644 --- a/app/src/main/res/layout/item_pass.xml +++ b/app/src/main/res/layout/item_pass.xml @@ -2,7 +2,7 @@ + style="@style/RecyclerItemCard"> @@ -27,6 +28,7 @@ android:layout_height="wrap_content" android:layout_marginEnd="6dp" android:text="@string/pass_satId" + android:textSize="@dimen/text_size_small" android:textColor="@color/themeAccent" app:layout_constraintBaseline_toBaselineOf="@+id/pass_name" app:layout_constraintEnd_toEndOf="parent" /> @@ -37,6 +39,7 @@ android:layout_height="wrap_content" android:layout_marginTop="2dp" android:text="@string/pass_aosAz" + android:textSize="@dimen/text_size_small" app:layout_constraintEnd_toStartOf="@+id/pass_los" app:layout_constraintHorizontal_chainStyle="spread_inside" app:layout_constraintStart_toStartOf="@+id/pass_name" @@ -47,6 +50,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/pass_altitude" + android:textSize="@dimen/text_size_small" app:layout_constraintBaseline_toBaselineOf="@+id/pass_aos" app:layout_constraintEnd_toEndOf="@+id/pass_los" app:layout_constraintStart_toStartOf="@+id/pass_aos" /> @@ -56,6 +60,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/pass_los" + android:textSize="@dimen/text_size_small" app:layout_constraintBaseline_toBaselineOf="@+id/pass_aos" app:layout_constraintEnd_toEndOf="@+id/pass_id" app:layout_constraintStart_toEndOf="@+id/pass_aos" /> @@ -66,6 +71,7 @@ android:layout_height="wrap_content" android:layout_marginTop="2dp" android:text="@string/pass_startTime" + android:textSize="@dimen/text_size_small" app:layout_constraintEnd_toStartOf="@+id/pass_end" app:layout_constraintHorizontal_bias="0.5" app:layout_constraintHorizontal_chainStyle="spread_inside" @@ -77,6 +83,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/pass_elevation" + android:textSize="@dimen/text_size_small" app:layout_constraintBaseline_toBaselineOf="@+id/pass_start" app:layout_constraintEnd_toEndOf="@+id/pass_end" app:layout_constraintStart_toStartOf="@+id/pass_start" /> @@ -86,6 +93,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/pass_endTime" + android:textSize="@dimen/text_size_small" app:layout_constraintBaseline_toBaselineOf="@+id/pass_start" app:layout_constraintEnd_toEndOf="@+id/pass_los" app:layout_constraintHorizontal_bias="0.5" diff --git a/app/src/main/res/layout/item_trans.xml b/app/src/main/res/layout/item_trans.xml index 706ba2cd..d182eef6 100644 --- a/app/src/main/res/layout/item_trans.xml +++ b/app/src/main/res/layout/item_trans.xml @@ -2,8 +2,7 @@ + style="@style/RecyclerItemCard"> @@ -73,7 +72,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/trans_link_low" - android:textSize="24sp" + android:textSize="@dimen/text_size_frequency" app:layout_constraintBaseline_toBaselineOf="@+id/trans_downlink" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="@+id/trans_guideline" /> @@ -85,7 +84,7 @@ android:layout_marginStart="6dp" android:layout_marginBottom="4dp" android:text="@string/trans_mode" - android:textSize="15sp" + android:textSize="@dimen/text_size_small" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toStartOf="@+id/trans_inverted" app:layout_constraintHorizontal_chainStyle="spread_inside" @@ -98,7 +97,7 @@ android:layout_height="wrap_content" android:layout_marginEnd="6dp" android:text="@string/trans_inverted" - android:textSize="15sp" + android:textSize="@dimen/text_size_small" app:layout_constraintBaseline_toBaselineOf="@+id/trans_mode" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toEndOf="@+id/trans_mode" /> diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index cb921f40..a3781884 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -35,6 +35,7 @@ Модуляция: %s Модуляция: нет Инверсия: %s + Трансиверы спутника: Не найдены трансиверы для этого спутника Карта Мира diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index a4adad0e..fc5a79f9 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -9,9 +9,9 @@ #383838 #303030 #242424 - #202020 + #1A1A1A #1A1A1A - #181818 + #1A1A1A #121212 #B3181818 @android:color/transparent diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml index 0c20d14a..e8eacd63 100644 --- a/app/src/main/res/values/dimens.xml +++ b/app/src/main/res/values/dimens.xml @@ -4,4 +4,11 @@ 8dp 0dp 8dp + 13sp + 15sp + 16sp + 20sp + 24sp + 42sp + 48sp \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 85b2d1ec..852dfe53 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -49,6 +49,7 @@ - - . - - %.4f %.4f - %.4f + Satellite transceivers: No transceivers found for this satellite World Map diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index 99a2f570..5e140696 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -1,36 +1,40 @@ - + + - - - @@ -114,21 +112,21 @@ 1 false @color/themeAccent - 16sp + @dimen/text_size_medium \ No newline at end of file