Further changes to layouts and fragments

This commit is contained in:
Arty Bishop committed 2022-01-09 18:01:48 +00:00
1 parent 971379b773
commit 6926f87747
45 files changed
+245 -261

No files matched your search

@@ -19,11 +19,11 @@ package com.rtbishop.look4sat.presentation.entriesScreen
import android.os.Bundle
import android.view.View
import android.view.inputmethod.EditorInfo
import androidx.activity.result.contract.ActivityResultContracts
import androidx.appcompat.app.AlertDialog
import androidx.core.widget.doOnTextChanged
import androidx.fragment.app.Fragment
import androidx.fragment.app.viewModels
import androidx.navigation.fragment.findNavController
import androidx.recyclerview.widget.GridLayoutManager
import androidx.recyclerview.widget.SimpleItemAnimator
import com.google.android.material.snackbar.Snackbar
@@ -39,10 +39,6 @@ import dagger.hilt.android.AndroidEntryPoint
class EntriesFragment : Fragment(R.layout.fragment_entries) {
private val viewModel: EntriesViewModel by viewModels()
private val contentContract = ActivityResultContracts.GetContent()
private val filePicker = registerForActivityResult(contentContract) { uri ->
uri?.let { viewModel.updateDataFromFile(uri) }
}
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
@@ -57,16 +53,12 @@ class EntriesFragment : Fragment(R.layout.fragment_entries) {
adapter = entriesAdapter
layoutManager = GridLayoutManager(requireContext(), 2)
(itemAnimator as SimpleItemAnimator).supportsChangeAnimations = false
addItemDecoration(ItemDivider(R.drawable.rec_divider_dark))
addItemDecoration(ItemDivider(R.drawable.divider_dark))
}
// entriesImportWeb.setOnClickListener {
// findNavController().navigateSafe(R.id.action_entries_to_sources)
// }
// entriesImportFile.setOnClickListener { filePicker.launch("*/*") }
entriesSelectMode.setOnClickListener { showModesDialog() }
entriesBack.setOnClickListener { findNavController().navigateUp() }
entriesSearch.doOnTextChanged { text, _, _, _ -> viewModel.setQuery(text.toString()) }
entriesMode.setOnClickListener { showModesDialog() }
entriesSelectAll.setOnClickListener { viewModel.selectCurrentItems() }
entriesSearchBar.setOnQueryTextListener(viewModel)
entriesSearchBar.imeOptions = EditorInfo.IME_FLAG_NO_EXTRACT_UI
}
viewModel.satData.observe(viewLifecycleOwner, { satData ->
handleSatData(satData, binding, entriesAdapter)
@@ -21,13 +21,12 @@ import android.content.ContentResolver
import android.net.Uri
import android.widget.SearchView
import androidx.lifecycle.*
import com.rtbishop.look4sat.domain.model.SatItem
import com.rtbishop.look4sat.domain.model.DataState
import com.rtbishop.look4sat.domain.DataRepository
import com.rtbishop.look4sat.domain.model.DataState
import com.rtbishop.look4sat.domain.model.SatItem
import com.rtbishop.look4sat.framework.PreferencesSource
import dagger.hilt.android.lifecycle.HiltViewModel
import kotlinx.coroutines.CoroutineExceptionHandler
import kotlinx.coroutines.flow.collect
import kotlinx.coroutines.launch
import timber.log.Timber
import java.util.*
@@ -93,6 +92,10 @@ class EntriesViewModel @Inject constructor(
preferences.saveModesSelection(modes)
}
fun setQuery(query: String) {
currentQuery.value = query
}
override fun onQueryTextSubmit(query: String): Boolean {
return true
}
@@ -67,7 +67,7 @@ class PassesFragment : Fragment(R.layout.fragment_passes), PassesAdapter.PassesC
isVerticalScrollBarEnabled = false
layoutManager = LinearLayoutManager(context)
(itemAnimator as SimpleItemAnimator).supportsChangeAnimations = false
addItemDecoration(ItemDivider(R.drawable.rec_divider_dark))
addItemDecoration(ItemDivider(R.drawable.divider_dark))
addOnScrollListener(object : RecyclerView.OnScrollListener() {
override fun onScrolled(recyclerView: RecyclerView, dx: Int, dy: Int) {
if (dy > 0 && passesFab.visibility == View.VISIBLE) passesFab.hide()
@@ -54,7 +54,7 @@ class RadarFragment : Fragment(R.layout.fragment_radar) {
isVerticalScrollBarEnabled = false
layoutManager = LinearLayoutManager(context)
(itemAnimator as SimpleItemAnimator).supportsChangeAnimations = false
addItemDecoration(ItemDivider(R.drawable.rec_divider_dark))
addItemDecoration(ItemDivider(R.drawable.divider_dark))
}
setupObservers(transAdapter, this)
}
@@ -135,7 +135,6 @@ class RadarFragment : Fragment(R.layout.fragment_radar) {
binding.radarTimer.text = 0L.toTimerString()
// findNavController().navigateSafe(R.id.action_radar_to_passes)
findNavController().popBackStack(R.id.nav_passes, true)
// requireActivity().onNavigateUp()
}
}
} else {
@@ -15,7 +15,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package com.rtbishop.look4sat.presentation.prefsScreen
package com.rtbishop.look4sat.presentation.settingsScreen
import android.Manifest
import android.content.Intent
@@ -35,19 +35,19 @@ import androidx.navigation.fragment.findNavController
import com.google.android.material.snackbar.Snackbar
import com.rtbishop.look4sat.BuildConfig
import com.rtbishop.look4sat.R
import com.rtbishop.look4sat.databinding.FragmentPrefsBinding
import com.rtbishop.look4sat.databinding.FragmentSettingsBinding
import com.rtbishop.look4sat.framework.PreferencesSource
import com.rtbishop.look4sat.presentation.*
import dagger.hilt.android.AndroidEntryPoint
import javax.inject.Inject
@AndroidEntryPoint
class PrefsFragment : Fragment(R.layout.fragment_prefs) {
class SettingsFragment : Fragment(R.layout.fragment_settings) {
@Inject
lateinit var preferences: PreferencesSource
private val viewModel: PrefsViewModel by viewModels()
private val viewModel: SettingsViewModel by viewModels()
private val locPermFine = Manifest.permission.ACCESS_FINE_LOCATION
private val locPermCoarse = Manifest.permission.ACCESS_COARSE_LOCATION
private val contentContract = ActivityResultContracts.GetContent()
@@ -62,17 +62,18 @@ class PrefsFragment : Fragment(R.layout.fragment_prefs) {
else -> showSnack(getString(R.string.pref_pos_gps_error))
}
}
private var _binding: FragmentPrefsBinding? = null
private var _binding: FragmentSettingsBinding? = null
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
_binding = FragmentPrefsBinding.bind(view)
_binding = FragmentSettingsBinding.bind(view)
_binding?.prefsBack?.setOnClickListener { findNavController().navigateUp() }
setupAboutCard()
setupDataCard()
setupLocationCard()
setupWarrantyCard()
setupOtherCard()
setupTrackingCard()
setupOtherCard()
setupWarrantyCard()
}
private fun setupAboutCard() {
@@ -15,7 +15,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package com.rtbishop.look4sat.presentation.prefsScreen
package com.rtbishop.look4sat.presentation.settingsScreen
import android.content.ContentResolver
import android.net.Uri
@@ -29,7 +29,7 @@ import kotlinx.coroutines.launch
import javax.inject.Inject
@HiltViewModel
class PrefsViewModel @Inject constructor(
class SettingsViewModel @Inject constructor(
private val preferences: PreferencesSource,
private val resolver: ContentResolver,
private val dataRepository: DataRepository