mirror of
https://github.com/rt-bishop/Look4Sat.git
synced 2026-10-02 03:15:37 +00:00
More changes to layouts, fragments and styles
This commit is contained in:
1 parent
f9ebe84012
commit
38787b45c1
26 files changed
+783
-737
No files matched your search
@@ -14,7 +14,7 @@
|
|||||||
android:label="@string/app_name"
|
android:label="@string/app_name"
|
||||||
android:theme="@style/Theme.Look4Sat.Main">
|
android:theme="@style/Theme.Look4Sat.Main">
|
||||||
<activity
|
<activity
|
||||||
android:name=".presentation.Look4SatActivity"
|
android:name=".presentation.MainActivity"
|
||||||
android:exported="true"
|
android:exported="true"
|
||||||
android:theme="@style/Theme.Look4Sat.SplashScreen">
|
android:theme="@style/Theme.Look4Sat.SplashScreen">
|
||||||
<intent-filter>
|
<intent-filter>
|
||||||
@@ -24,4 +24,4 @@
|
|||||||
</activity>
|
</activity>
|
||||||
</application>
|
</application>
|
||||||
|
|
||||||
</manifest>
|
</manifest>
|
||||||
+5
-1
@@ -20,13 +20,16 @@ package com.rtbishop.look4sat.presentation
|
|||||||
import android.annotation.SuppressLint
|
import android.annotation.SuppressLint
|
||||||
import android.content.pm.ActivityInfo
|
import android.content.pm.ActivityInfo
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
|
import androidx.activity.viewModels
|
||||||
import androidx.appcompat.app.AppCompatActivity
|
import androidx.appcompat.app.AppCompatActivity
|
||||||
import androidx.core.splashscreen.SplashScreen.Companion.installSplashScreen
|
import androidx.core.splashscreen.SplashScreen.Companion.installSplashScreen
|
||||||
import com.rtbishop.look4sat.databinding.ActivityMainBinding
|
import com.rtbishop.look4sat.databinding.ActivityMainBinding
|
||||||
import dagger.hilt.android.AndroidEntryPoint
|
import dagger.hilt.android.AndroidEntryPoint
|
||||||
|
|
||||||
@AndroidEntryPoint
|
@AndroidEntryPoint
|
||||||
class Look4SatActivity : AppCompatActivity() {
|
class MainActivity : AppCompatActivity() {
|
||||||
|
|
||||||
|
private val mainViewModel: MainViewModel by viewModels()
|
||||||
|
|
||||||
@SuppressLint("SourceLockedOrientationActivity")
|
@SuppressLint("SourceLockedOrientationActivity")
|
||||||
override fun onCreate(savedInstanceState: Bundle?) {
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
@@ -34,5 +37,6 @@ class Look4SatActivity : AppCompatActivity() {
|
|||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
installSplashScreen()
|
installSplashScreen()
|
||||||
setContentView(ActivityMainBinding.inflate(layoutInflater).root)
|
setContentView(ActivityMainBinding.inflate(layoutInflater).root)
|
||||||
|
mainViewModel.calculatePasses()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,30 @@
|
|||||||
|
package com.rtbishop.look4sat.presentation
|
||||||
|
|
||||||
|
import androidx.lifecycle.ViewModel
|
||||||
|
import androidx.lifecycle.viewModelScope
|
||||||
|
import com.rtbishop.look4sat.domain.DataRepository
|
||||||
|
import com.rtbishop.look4sat.domain.predict.Predictor
|
||||||
|
import com.rtbishop.look4sat.framework.SettingsProvider
|
||||||
|
import dagger.hilt.android.lifecycle.HiltViewModel
|
||||||
|
import kotlinx.coroutines.launch
|
||||||
|
import javax.inject.Inject
|
||||||
|
|
||||||
|
@HiltViewModel
|
||||||
|
class MainViewModel @Inject constructor(
|
||||||
|
private val predictor: Predictor,
|
||||||
|
private val preferences: SettingsProvider,
|
||||||
|
private val dataRepository: DataRepository
|
||||||
|
) : ViewModel() {
|
||||||
|
|
||||||
|
fun calculatePasses(
|
||||||
|
hoursAhead: Int = preferences.getHoursAhead(),
|
||||||
|
minElevation: Double = preferences.getMinElevation(),
|
||||||
|
timeRef: Long = System.currentTimeMillis()
|
||||||
|
) {
|
||||||
|
viewModelScope.launch {
|
||||||
|
val satellites = dataRepository.getSelectedSatellites()
|
||||||
|
val stationPos = preferences.loadStationPosition()
|
||||||
|
predictor.forceCalculation(satellites, stationPos, timeRef, hoursAhead, minElevation)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
+9
-7
@@ -24,8 +24,8 @@ import androidx.core.widget.doOnTextChanged
|
|||||||
import androidx.fragment.app.Fragment
|
import androidx.fragment.app.Fragment
|
||||||
import androidx.fragment.app.viewModels
|
import androidx.fragment.app.viewModels
|
||||||
import androidx.navigation.fragment.findNavController
|
import androidx.navigation.fragment.findNavController
|
||||||
|
import androidx.recyclerview.widget.DividerItemDecoration
|
||||||
import androidx.recyclerview.widget.GridLayoutManager
|
import androidx.recyclerview.widget.GridLayoutManager
|
||||||
import androidx.recyclerview.widget.SimpleItemAnimator
|
|
||||||
import com.google.android.material.snackbar.Snackbar
|
import com.google.android.material.snackbar.Snackbar
|
||||||
import com.rtbishop.look4sat.R
|
import com.rtbishop.look4sat.R
|
||||||
import com.rtbishop.look4sat.databinding.FragmentEntriesBinding
|
import com.rtbishop.look4sat.databinding.FragmentEntriesBinding
|
||||||
@@ -44,14 +44,16 @@ class EntriesFragment : Fragment(R.layout.fragment_entries) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private fun setupComponents(view: View) {
|
private fun setupComponents(view: View) {
|
||||||
val entriesAdapter = EntriesAdapter(viewModel)
|
val context = requireContext()
|
||||||
|
val adapter = EntriesAdapter(viewModel)
|
||||||
|
val layoutManager = GridLayoutManager(context, 2)
|
||||||
|
val itemDecoration = DividerItemDecoration(context, layoutManager.orientation)
|
||||||
val binding = FragmentEntriesBinding.bind(view).apply {
|
val binding = FragmentEntriesBinding.bind(view).apply {
|
||||||
entriesRecycler.apply {
|
entriesRecycler.apply {
|
||||||
setHasFixedSize(true)
|
setHasFixedSize(true)
|
||||||
adapter = entriesAdapter
|
this.adapter = adapter
|
||||||
layoutManager = GridLayoutManager(requireContext(), 2)
|
this.layoutManager = layoutManager
|
||||||
(itemAnimator as SimpleItemAnimator).supportsChangeAnimations = false
|
addItemDecoration(itemDecoration)
|
||||||
// addItemDecoration(ItemDivider(R.drawable.divider_dark))
|
|
||||||
}
|
}
|
||||||
entriesBack.setOnClickListener { findNavController().navigateUp() }
|
entriesBack.setOnClickListener { findNavController().navigateUp() }
|
||||||
entriesSearch.doOnTextChanged { text, _, _, _ -> viewModel.setQuery(text.toString()) }
|
entriesSearch.doOnTextChanged { text, _, _, _ -> viewModel.setQuery(text.toString()) }
|
||||||
@@ -59,7 +61,7 @@ class EntriesFragment : Fragment(R.layout.fragment_entries) {
|
|||||||
entriesSelectAll.setOnClickListener { viewModel.selectCurrentItems() }
|
entriesSelectAll.setOnClickListener { viewModel.selectCurrentItems() }
|
||||||
}
|
}
|
||||||
viewModel.satData.observe(viewLifecycleOwner, { satData ->
|
viewModel.satData.observe(viewLifecycleOwner, { satData ->
|
||||||
handleSatData(satData, binding, entriesAdapter)
|
handleSatData(satData, binding, adapter)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -23,9 +23,9 @@ import androidx.core.os.bundleOf
|
|||||||
import androidx.fragment.app.Fragment
|
import androidx.fragment.app.Fragment
|
||||||
import androidx.fragment.app.viewModels
|
import androidx.fragment.app.viewModels
|
||||||
import androidx.navigation.fragment.findNavController
|
import androidx.navigation.fragment.findNavController
|
||||||
|
import androidx.recyclerview.widget.DividerItemDecoration
|
||||||
import androidx.recyclerview.widget.LinearLayoutManager
|
import androidx.recyclerview.widget.LinearLayoutManager
|
||||||
import androidx.recyclerview.widget.RecyclerView
|
import androidx.recyclerview.widget.RecyclerView
|
||||||
import androidx.recyclerview.widget.SimpleItemAnimator
|
|
||||||
import com.rtbishop.look4sat.R
|
import com.rtbishop.look4sat.R
|
||||||
import com.rtbishop.look4sat.databinding.FragmentPassesBinding
|
import com.rtbishop.look4sat.databinding.FragmentPassesBinding
|
||||||
import com.rtbishop.look4sat.domain.model.DataState
|
import com.rtbishop.look4sat.domain.model.DataState
|
||||||
@@ -47,14 +47,16 @@ class PassesFragment : Fragment(R.layout.fragment_passes), PassesAdapter.PassesC
|
|||||||
}
|
}
|
||||||
|
|
||||||
private fun setupComponents(view: View) {
|
private fun setupComponents(view: View) {
|
||||||
val passesAdapter = PassesAdapter(passesViewModel.shouldUseUTC(), this)
|
val context = requireContext()
|
||||||
|
val adapter = PassesAdapter(passesViewModel.shouldUseUTC(), this)
|
||||||
|
val layoutManager = LinearLayoutManager(context)
|
||||||
|
val itemDecoration = DividerItemDecoration(context, layoutManager.orientation)
|
||||||
val binding = FragmentPassesBinding.bind(view).apply {
|
val binding = FragmentPassesBinding.bind(view).apply {
|
||||||
passesList.apply {
|
passesList.apply {
|
||||||
setHasFixedSize(true)
|
setHasFixedSize(true)
|
||||||
adapter = passesAdapter
|
this.adapter = adapter
|
||||||
isVerticalScrollBarEnabled = false
|
this.layoutManager = layoutManager
|
||||||
layoutManager = LinearLayoutManager(context)
|
addItemDecoration(itemDecoration)
|
||||||
(itemAnimator as SimpleItemAnimator).supportsChangeAnimations = false
|
|
||||||
addOnScrollListener(object : RecyclerView.OnScrollListener() {
|
addOnScrollListener(object : RecyclerView.OnScrollListener() {
|
||||||
override fun onScrolled(recyclerView: RecyclerView, dx: Int, dy: Int) {
|
override fun onScrolled(recyclerView: RecyclerView, dx: Int, dy: Int) {
|
||||||
if (dy > 0 && passesFab.visibility == View.VISIBLE) passesFab.hide()
|
if (dy > 0 && passesFab.visibility == View.VISIBLE) passesFab.hide()
|
||||||
@@ -72,7 +74,7 @@ class PassesFragment : Fragment(R.layout.fragment_passes), PassesAdapter.PassesC
|
|||||||
passesFab.setOnClickListener { findNavController().navigate(R.id.nav_satellites) }
|
passesFab.setOnClickListener { findNavController().navigate(R.id.nav_satellites) }
|
||||||
}
|
}
|
||||||
passesViewModel.passes.observe(viewLifecycleOwner, { passesResult ->
|
passesViewModel.passes.observe(viewLifecycleOwner, { passesResult ->
|
||||||
handleNewPasses(passesResult, passesAdapter, binding)
|
handleNewPasses(passesResult, adapter, binding)
|
||||||
})
|
})
|
||||||
getNavResult<Pair<Int, Double>>(R.id.nav_passes, "prefs") { prefs ->
|
getNavResult<Pair<Int, Double>>(R.id.nav_passes, "prefs") { prefs ->
|
||||||
passesViewModel.forceCalculation(prefs.first, prefs.second)
|
passesViewModel.forceCalculation(prefs.first, prefs.second)
|
||||||
|
|||||||
@@ -23,8 +23,8 @@ import androidx.core.os.bundleOf
|
|||||||
import androidx.fragment.app.Fragment
|
import androidx.fragment.app.Fragment
|
||||||
import androidx.fragment.app.viewModels
|
import androidx.fragment.app.viewModels
|
||||||
import androidx.navigation.fragment.findNavController
|
import androidx.navigation.fragment.findNavController
|
||||||
|
import androidx.recyclerview.widget.DividerItemDecoration
|
||||||
import androidx.recyclerview.widget.LinearLayoutManager
|
import androidx.recyclerview.widget.LinearLayoutManager
|
||||||
import androidx.recyclerview.widget.SimpleItemAnimator
|
|
||||||
import com.rtbishop.look4sat.R
|
import com.rtbishop.look4sat.R
|
||||||
import com.rtbishop.look4sat.databinding.FragmentRadarBinding
|
import com.rtbishop.look4sat.databinding.FragmentRadarBinding
|
||||||
import com.rtbishop.look4sat.domain.predict.SatPass
|
import com.rtbishop.look4sat.domain.predict.SatPass
|
||||||
@@ -45,30 +45,25 @@ class RadarFragment : Fragment(R.layout.fragment_radar) {
|
|||||||
|
|
||||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||||
super.onViewCreated(view, savedInstanceState)
|
super.onViewCreated(view, savedInstanceState)
|
||||||
|
setupComponents(view)
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun setupComponents(view: View) {
|
||||||
|
val context = requireContext()
|
||||||
|
val adapter = TransmittersAdapter()
|
||||||
|
val layoutManager = LinearLayoutManager(context)
|
||||||
|
val itemDecoration = DividerItemDecoration(context, layoutManager.orientation)
|
||||||
FragmentRadarBinding.bind(view).apply {
|
FragmentRadarBinding.bind(view).apply {
|
||||||
val transAdapter = TransmittersAdapter()
|
|
||||||
radarRecycler.apply {
|
radarRecycler.apply {
|
||||||
setHasFixedSize(true)
|
setHasFixedSize(true)
|
||||||
adapter = transAdapter
|
this.adapter = adapter
|
||||||
isVerticalScrollBarEnabled = false
|
this.layoutManager = LinearLayoutManager(context)
|
||||||
layoutManager = LinearLayoutManager(context)
|
addItemDecoration(itemDecoration)
|
||||||
(itemAnimator as SimpleItemAnimator).supportsChangeAnimations = false
|
|
||||||
// addItemDecoration(ItemDivider(R.drawable.divider_dark))
|
|
||||||
}
|
}
|
||||||
setupObservers(transAdapter, this)
|
setupObservers(adapter, this)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onResume() {
|
|
||||||
super.onResume()
|
|
||||||
viewModel.enableSensor()
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun onPause() {
|
|
||||||
super.onPause()
|
|
||||||
viewModel.disableSensor()
|
|
||||||
}
|
|
||||||
|
|
||||||
private fun setupObservers(
|
private fun setupObservers(
|
||||||
transmittersAdapter: TransmittersAdapter,
|
transmittersAdapter: TransmittersAdapter,
|
||||||
binding: FragmentRadarBinding
|
binding: FragmentRadarBinding
|
||||||
@@ -80,7 +75,7 @@ class RadarFragment : Fragment(R.layout.fragment_radar) {
|
|||||||
setShowAim(preferences.getUseCompass())
|
setShowAim(preferences.getUseCompass())
|
||||||
setScanning(preferences.getShowSweep())
|
setScanning(preferences.getShowSweep())
|
||||||
}
|
}
|
||||||
binding.radarFrame.addView(radarView)
|
binding.radarCard.addView(radarView)
|
||||||
viewModel.radarData.observe(viewLifecycleOwner, { passData ->
|
viewModel.radarData.observe(viewLifecycleOwner, { passData ->
|
||||||
radarView?.setPosition(passData.satPos)
|
radarView?.setPosition(passData.satPos)
|
||||||
radarView?.setPositions(passData.satTrack)
|
radarView?.setPositions(passData.satTrack)
|
||||||
@@ -139,4 +134,14 @@ class RadarFragment : Fragment(R.layout.fragment_radar) {
|
|||||||
binding.radarTimer.text = 0L.toTimerString()
|
binding.radarTimer.text = 0L.toTimerString()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun onResume() {
|
||||||
|
super.onResume()
|
||||||
|
viewModel.enableSensor()
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun onPause() {
|
||||||
|
super.onPause()
|
||||||
|
viewModel.disableSensor()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:shape="rectangle">
|
||||||
|
<size
|
||||||
|
android:width="1dp"
|
||||||
|
android:height="1dp" />
|
||||||
|
<solid android:color="@color/surfaceBg" />
|
||||||
|
</shape>
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
<stroke
|
<stroke
|
||||||
android:width="0dp"
|
android:width="1dp"
|
||||||
android:color="@color/surfaceCard" />
|
android:color="@color/surfaceCard" />
|
||||||
<solid android:color="@color/surfaceCard" />
|
<solid android:color="@color/surfaceCard" />
|
||||||
<corners android:radius="@dimen/card_corner" />
|
<corners android:radius="@dimen/card_corner_high" />
|
||||||
</shape>
|
</shape>
|
||||||
@@ -1,95 +1,102 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
<androidx.cardview.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
|
style="@style/SettingsCard"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content">
|
android:layout_height="wrap_content">
|
||||||
|
|
||||||
<ImageView
|
<androidx.constraintlayout.widget.ConstraintLayout
|
||||||
android:id="@+id/about_img"
|
android:layout_width="match_parent"
|
||||||
android:layout_width="0dp"
|
android:layout_height="match_parent">
|
||||||
android:layout_height="0dp"
|
|
||||||
android:layout_marginTop="8dp"
|
|
||||||
android:src="@drawable/ic_sputnik"
|
|
||||||
app:layout_constraintBottom_toBottomOf="@+id/about_version"
|
|
||||||
app:layout_constraintDimensionRatio="h,1:1"
|
|
||||||
app:layout_constraintEnd_toStartOf="@+id/about_title"
|
|
||||||
app:layout_constraintHorizontal_chainStyle="packed"
|
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
|
||||||
app:layout_constraintTop_toTopOf="@+id/about_title" />
|
|
||||||
|
|
||||||
<TextView
|
<ImageView
|
||||||
android:id="@+id/about_title"
|
android:id="@+id/about_img"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="0dp"
|
||||||
android:layout_marginStart="8dp"
|
android:layout_marginTop="8dp"
|
||||||
android:layout_marginTop="8dp"
|
android:src="@drawable/ic_sputnik"
|
||||||
android:includeFontPadding="false"
|
app:layout_constraintBottom_toBottomOf="@+id/about_version"
|
||||||
android:text="@string/app_name"
|
app:layout_constraintDimensionRatio="h,1:1"
|
||||||
android:textColor="@color/themeAccent"
|
app:layout_constraintEnd_toStartOf="@+id/about_title"
|
||||||
android:textSize="48sp"
|
app:layout_constraintHorizontal_chainStyle="packed"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintStart_toEndOf="@+id/about_img"
|
app:layout_constraintTop_toTopOf="@+id/about_title" />
|
||||||
app:layout_constraintTop_toTopOf="parent" />
|
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/about_version"
|
android:id="@+id/about_title"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:text="@string/about_version"
|
android:layout_marginStart="8dp"
|
||||||
android:textColor="@color/themeLight"
|
android:layout_marginTop="8dp"
|
||||||
android:textSize="22sp"
|
android:includeFontPadding="false"
|
||||||
app:layout_constraintStart_toStartOf="@+id/about_title"
|
android:text="@string/app_name"
|
||||||
app:layout_constraintTop_toBottomOf="@+id/about_title" />
|
android:textColor="@color/themeAccent"
|
||||||
|
android:textSize="48sp"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintStart_toEndOf="@+id/about_img"
|
||||||
|
app:layout_constraintTop_toTopOf="parent" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/about_subtitle"
|
android:id="@+id/about_version"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginTop="4dp"
|
android:text="@string/about_version"
|
||||||
android:text="@string/about_subtitle"
|
android:textColor="@color/themeLight"
|
||||||
android:textColor="@color/themeLight"
|
android:textSize="22sp"
|
||||||
android:textSize="20sp"
|
app:layout_constraintStart_toStartOf="@+id/about_title"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintTop_toBottomOf="@+id/about_title" />
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
|
||||||
app:layout_constraintTop_toBottomOf="@+id/about_version" />
|
|
||||||
|
|
||||||
<Button
|
<TextView
|
||||||
android:id="@+id/about_btn_github"
|
android:id="@+id/about_subtitle"
|
||||||
style="@style/AppButton"
|
android:layout_width="wrap_content"
|
||||||
android:layout_width="0dp"
|
android:layout_height="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_marginTop="4dp"
|
||||||
android:layout_marginStart="4dp"
|
android:text="@string/about_subtitle"
|
||||||
android:layout_marginTop="4dp"
|
android:textColor="@color/themeLight"
|
||||||
android:layout_marginBottom="4dp"
|
android:textSize="20sp"
|
||||||
android:drawableStart="@drawable/ic_github"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
android:text="@string/about_github"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:layout_constraintTop_toBottomOf="@+id/about_version" />
|
||||||
app:layout_constraintEnd_toStartOf="@+id/about_btn_donate"
|
|
||||||
app:layout_constraintHorizontal_chainStyle="spread_inside"
|
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
|
||||||
app:layout_constraintTop_toBottomOf="@+id/about_subtitle" />
|
|
||||||
|
|
||||||
<Button
|
<Button
|
||||||
android:id="@+id/about_btn_donate"
|
android:id="@+id/about_btn_github"
|
||||||
style="@style/AppButton"
|
style="@style/AppButton"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:drawableStart="@drawable/ic_bmc"
|
android:layout_marginStart="4dp"
|
||||||
android:text="@string/about_support"
|
android:layout_marginTop="4dp"
|
||||||
app:layout_constraintBaseline_toBaselineOf="@+id/about_btn_github"
|
android:layout_marginBottom="4dp"
|
||||||
app:layout_constraintEnd_toStartOf="@+id/about_btn_fdroid"
|
android:drawableStart="@drawable/ic_github"
|
||||||
app:layout_constraintStart_toEndOf="@+id/about_btn_github" />
|
android:text="@string/about_github"
|
||||||
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
|
app:layout_constraintEnd_toStartOf="@+id/about_btn_donate"
|
||||||
|
app:layout_constraintHorizontal_chainStyle="spread_inside"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toBottomOf="@+id/about_subtitle" />
|
||||||
|
|
||||||
<Button
|
<Button
|
||||||
android:id="@+id/about_btn_fdroid"
|
android:id="@+id/about_btn_donate"
|
||||||
style="@style/AppButton"
|
style="@style/AppButton"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginEnd="4dp"
|
android:drawableStart="@drawable/ic_bmc"
|
||||||
android:drawableStart="@drawable/ic_fdroid"
|
android:text="@string/about_support"
|
||||||
android:text="@string/about_fdroid"
|
app:layout_constraintBaseline_toBaselineOf="@+id/about_btn_github"
|
||||||
app:layout_constraintBaseline_toBaselineOf="@+id/about_btn_github"
|
app:layout_constraintEnd_toStartOf="@+id/about_btn_fdroid"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintStart_toEndOf="@+id/about_btn_github" />
|
||||||
app:layout_constraintStart_toEndOf="@+id/about_btn_donate" />
|
|
||||||
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
<Button
|
||||||
|
android:id="@+id/about_btn_fdroid"
|
||||||
|
style="@style/AppButton"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginEnd="4dp"
|
||||||
|
android:drawableStart="@drawable/ic_fdroid"
|
||||||
|
android:text="@string/about_fdroid"
|
||||||
|
app:layout_constraintBaseline_toBaselineOf="@+id/about_btn_github"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintStart_toEndOf="@+id/about_btn_donate" />
|
||||||
|
|
||||||
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
|
||||||
|
</androidx.cardview.widget.CardView>
|
||||||
@@ -1,84 +1,91 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
<androidx.cardview.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
|
style="@style/SettingsCard"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content">
|
android:layout_height="wrap_content">
|
||||||
|
|
||||||
<TextView
|
<androidx.constraintlayout.widget.ConstraintLayout
|
||||||
android:id="@+id/location_title"
|
android:layout_width="match_parent"
|
||||||
style="@style/SettingsTitle"
|
android:layout_height="match_parent">
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_marginStart="8dp"
|
|
||||||
android:layout_marginTop="8dp"
|
|
||||||
android:text="@string/location_title"
|
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
|
||||||
app:layout_constraintTop_toTopOf="parent" />
|
|
||||||
|
|
||||||
<ProgressBar
|
<TextView
|
||||||
android:id="@+id/location_progress"
|
android:id="@+id/location_title"
|
||||||
style="?android:attr/progressBarStyleHorizontal"
|
style="@style/SettingsTitle"
|
||||||
android:layout_width="0dp"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="0dp"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginStart="6dp"
|
android:layout_marginStart="8dp"
|
||||||
android:layout_marginEnd="8dp"
|
android:layout_marginTop="8dp"
|
||||||
app:layout_constraintBottom_toBottomOf="@+id/location_title"
|
android:text="@string/location_title"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintStart_toEndOf="@+id/location_title"
|
app:layout_constraintTop_toTopOf="parent" />
|
||||||
app:layout_constraintTop_toTopOf="@+id/location_title" />
|
|
||||||
|
|
||||||
<TextView
|
<ProgressBar
|
||||||
android:id="@+id/location_lat"
|
android:id="@+id/location_progress"
|
||||||
style="@style/SettingsText"
|
style="?android:attr/progressBarStyleHorizontal"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="0dp"
|
||||||
android:layout_marginTop="6dp"
|
android:layout_marginStart="6dp"
|
||||||
android:text="@string/location_lat"
|
android:layout_marginEnd="8dp"
|
||||||
app:layout_constraintEnd_toStartOf="@+id/location_lon"
|
app:layout_constraintBottom_toBottomOf="@+id/location_title"
|
||||||
app:layout_constraintHorizontal_bias="0.5"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintHorizontal_chainStyle="spread_inside"
|
app:layout_constraintStart_toEndOf="@+id/location_title"
|
||||||
app:layout_constraintStart_toStartOf="@+id/location_title"
|
app:layout_constraintTop_toTopOf="@+id/location_title" />
|
||||||
app:layout_constraintTop_toBottomOf="@+id/location_title" />
|
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/location_lon"
|
android:id="@+id/location_lat"
|
||||||
style="@style/SettingsText"
|
style="@style/SettingsText"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:text="@string/location_lon"
|
android:layout_marginTop="6dp"
|
||||||
app:layout_constraintBaseline_toBaselineOf="@+id/location_lat"
|
android:text="@string/location_lat"
|
||||||
app:layout_constraintEnd_toEndOf="@+id/location_progress"
|
app:layout_constraintEnd_toStartOf="@+id/location_lon"
|
||||||
app:layout_constraintHorizontal_bias="0.5"
|
app:layout_constraintHorizontal_bias="0.5"
|
||||||
app:layout_constraintStart_toEndOf="@+id/location_lat" />
|
app:layout_constraintHorizontal_chainStyle="spread_inside"
|
||||||
|
app:layout_constraintStart_toStartOf="@+id/location_title"
|
||||||
|
app:layout_constraintTop_toBottomOf="@+id/location_title" />
|
||||||
|
|
||||||
<Button
|
<TextView
|
||||||
android:id="@+id/location_btn_gps"
|
android:id="@+id/location_lon"
|
||||||
style="@style/AppButton"
|
style="@style/SettingsText"
|
||||||
android:layout_width="0dp"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginStart="4dp"
|
android:text="@string/location_lon"
|
||||||
android:layout_marginTop="4dp"
|
app:layout_constraintBaseline_toBaselineOf="@+id/location_lat"
|
||||||
android:layout_marginBottom="4dp"
|
app:layout_constraintEnd_toEndOf="@+id/location_progress"
|
||||||
android:drawableStart="@drawable/ic_pos"
|
app:layout_constraintHorizontal_bias="0.5"
|
||||||
android:text="@string/location_gps"
|
app:layout_constraintStart_toEndOf="@+id/location_lat" />
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
|
||||||
app:layout_constraintEnd_toStartOf="@+id/location_btn_qth"
|
|
||||||
app:layout_constraintHorizontal_bias="0.5"
|
|
||||||
app:layout_constraintHorizontal_chainStyle="spread_inside"
|
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
|
||||||
app:layout_constraintTop_toBottomOf="@+id/location_lat" />
|
|
||||||
|
|
||||||
<Button
|
<Button
|
||||||
android:id="@+id/location_btn_qth"
|
android:id="@+id/location_btn_gps"
|
||||||
style="@style/AppButton"
|
style="@style/AppButton"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginEnd="4dp"
|
android:layout_marginStart="4dp"
|
||||||
android:drawableStart="@drawable/ic_qth"
|
android:layout_marginTop="4dp"
|
||||||
android:text="@string/location_qth"
|
android:layout_marginBottom="4dp"
|
||||||
app:layout_constraintBaseline_toBaselineOf="@+id/location_btn_gps"
|
android:drawableStart="@drawable/ic_pos"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
android:text="@string/location_gps"
|
||||||
app:layout_constraintHorizontal_bias="0.5"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
app:layout_constraintStart_toEndOf="@+id/location_btn_gps" />
|
app:layout_constraintEnd_toStartOf="@+id/location_btn_qth"
|
||||||
|
app:layout_constraintHorizontal_bias="0.5"
|
||||||
|
app:layout_constraintHorizontal_chainStyle="spread_inside"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toBottomOf="@+id/location_lat" />
|
||||||
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
<Button
|
||||||
|
android:id="@+id/location_btn_qth"
|
||||||
|
style="@style/AppButton"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginEnd="4dp"
|
||||||
|
android:drawableStart="@drawable/ic_qth"
|
||||||
|
android:text="@string/location_qth"
|
||||||
|
app:layout_constraintBaseline_toBaselineOf="@+id/location_btn_gps"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintHorizontal_bias="0.5"
|
||||||
|
app:layout_constraintStart_toEndOf="@+id/location_btn_gps" />
|
||||||
|
|
||||||
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
|
||||||
|
</androidx.cardview.widget.CardView>
|
||||||
@@ -1,56 +1,63 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
<androidx.cardview.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
|
style="@style/SettingsCard"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content">
|
android:layout_height="wrap_content">
|
||||||
|
|
||||||
<TextView
|
<androidx.constraintlayout.widget.ConstraintLayout
|
||||||
android:id="@+id/other_title"
|
android:layout_width="match_parent"
|
||||||
style="@style/SettingsTitle"
|
android:layout_height="match_parent">
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_marginStart="8dp"
|
|
||||||
android:layout_marginTop="8dp"
|
|
||||||
android:text="@string/other_title"
|
|
||||||
android:textColor="@color/themeAccent"
|
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
|
||||||
app:layout_constraintTop_toTopOf="parent" />
|
|
||||||
|
|
||||||
<androidx.appcompat.widget.SwitchCompat
|
<TextView
|
||||||
android:id="@+id/other_switch_utc"
|
android:id="@+id/other_title"
|
||||||
style="@style/SettingsText"
|
style="@style/SettingsTitle"
|
||||||
android:layout_width="0dp"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginTop="8dp"
|
android:layout_marginStart="8dp"
|
||||||
android:layout_marginEnd="4dp"
|
android:layout_marginTop="8dp"
|
||||||
android:minHeight="48dp"
|
android:text="@string/other_title"
|
||||||
android:text="@string/other_switch_utc"
|
android:textColor="@color/themeAccent"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintStart_toStartOf="@+id/other_title"
|
app:layout_constraintTop_toTopOf="parent" />
|
||||||
app:layout_constraintTop_toBottomOf="@+id/other_title" />
|
|
||||||
|
|
||||||
<androidx.appcompat.widget.SwitchCompat
|
<androidx.appcompat.widget.SwitchCompat
|
||||||
android:id="@+id/other_switch_sweep"
|
android:id="@+id/other_switch_utc"
|
||||||
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:layout_marginTop="8dp"
|
||||||
android:text="@string/other_switch_sweep"
|
android:layout_marginEnd="4dp"
|
||||||
app:layout_constraintEnd_toEndOf="@+id/other_switch_utc"
|
android:minHeight="48dp"
|
||||||
app:layout_constraintStart_toStartOf="@+id/other_switch_utc"
|
android:text="@string/other_switch_utc"
|
||||||
app:layout_constraintTop_toBottomOf="@+id/other_switch_utc" />
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintStart_toStartOf="@+id/other_title"
|
||||||
|
app:layout_constraintTop_toBottomOf="@+id/other_title" />
|
||||||
|
|
||||||
<androidx.appcompat.widget.SwitchCompat
|
<androidx.appcompat.widget.SwitchCompat
|
||||||
android:id="@+id/other_switch_sensors"
|
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:layout_marginBottom="8dp"
|
android:minHeight="48dp"
|
||||||
android:minHeight="48dp"
|
android:text="@string/other_switch_sweep"
|
||||||
android:text="@string/other_switch_sensors"
|
app:layout_constraintEnd_toEndOf="@+id/other_switch_utc"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:layout_constraintStart_toStartOf="@+id/other_switch_utc"
|
||||||
app:layout_constraintEnd_toEndOf="@+id/other_switch_utc"
|
app:layout_constraintTop_toBottomOf="@+id/other_switch_utc" />
|
||||||
app:layout_constraintStart_toStartOf="@+id/other_switch_sweep"
|
|
||||||
app:layout_constraintTop_toBottomOf="@+id/other_switch_sweep" />
|
|
||||||
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
<androidx.appcompat.widget.SwitchCompat
|
||||||
|
android:id="@+id/other_switch_sensors"
|
||||||
|
style="@style/SettingsText"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginBottom="8dp"
|
||||||
|
android:minHeight="48dp"
|
||||||
|
android:text="@string/other_switch_sensors"
|
||||||
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
|
app:layout_constraintEnd_toEndOf="@+id/other_switch_utc"
|
||||||
|
app:layout_constraintStart_toStartOf="@+id/other_switch_sweep"
|
||||||
|
app:layout_constraintTop_toBottomOf="@+id/other_switch_sweep" />
|
||||||
|
|
||||||
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
|
||||||
|
</androidx.cardview.widget.CardView>
|
||||||
@@ -1,71 +1,78 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
<androidx.cardview.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
|
style="@style/SettingsCard"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content">
|
android:layout_height="wrap_content">
|
||||||
|
|
||||||
<TextView
|
<androidx.constraintlayout.widget.ConstraintLayout
|
||||||
android:id="@+id/tracking_title"
|
android:layout_width="match_parent"
|
||||||
style="@style/SettingsTitle"
|
android:layout_height="match_parent">
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_marginStart="8dp"
|
|
||||||
android:layout_marginTop="8dp"
|
|
||||||
android:text="@string/tracking_title"
|
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
|
||||||
app:layout_constraintTop_toTopOf="parent" />
|
|
||||||
|
|
||||||
<androidx.appcompat.widget.SwitchCompat
|
<TextView
|
||||||
android:id="@+id/tracking_switch"
|
android:id="@+id/tracking_title"
|
||||||
style="@style/SettingsText"
|
style="@style/SettingsTitle"
|
||||||
android:layout_width="0dp"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_marginEnd="4dp"
|
|
||||||
android:minHeight="48dp"
|
|
||||||
android:text="@string/tracking_switch"
|
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
|
||||||
app:layout_constraintStart_toStartOf="@+id/tracking_title"
|
|
||||||
app:layout_constraintTop_toBottomOf="@+id/tracking_title" />
|
|
||||||
|
|
||||||
<com.google.android.material.textfield.TextInputLayout
|
|
||||||
android:id="@+id/tracking_ip"
|
|
||||||
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
|
|
||||||
android:layout_width="0dp"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_marginStart="8dp"
|
|
||||||
android:layout_marginEnd="4dp"
|
|
||||||
android:layout_marginBottom="8dp"
|
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
|
||||||
app:layout_constraintEnd_toStartOf="@+id/tracking_port"
|
|
||||||
app:layout_constraintHorizontal_bias="0.5"
|
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
|
||||||
app:layout_constraintTop_toBottomOf="@+id/tracking_switch"
|
|
||||||
app:layout_constraintWidth_percent="0.69">
|
|
||||||
|
|
||||||
<com.google.android.material.textfield.TextInputEditText
|
|
||||||
android:id="@+id/tracking_ip_edit"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:hint="@string/tracking_ip_hint" />
|
android:layout_marginStart="8dp"
|
||||||
</com.google.android.material.textfield.TextInputLayout>
|
android:layout_marginTop="8dp"
|
||||||
|
android:text="@string/tracking_title"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toTopOf="parent" />
|
||||||
|
|
||||||
<com.google.android.material.textfield.TextInputLayout
|
<androidx.appcompat.widget.SwitchCompat
|
||||||
android:id="@+id/tracking_port"
|
android:id="@+id/tracking_switch"
|
||||||
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
|
style="@style/SettingsText"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_marginEnd="8dp"
|
|
||||||
app:layout_constraintBottom_toBottomOf="@+id/tracking_ip"
|
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
|
||||||
app:layout_constraintHorizontal_bias="0.5"
|
|
||||||
app:layout_constraintStart_toEndOf="@+id/tracking_ip"
|
|
||||||
app:layout_constraintTop_toTopOf="@+id/tracking_ip">
|
|
||||||
|
|
||||||
<com.google.android.material.textfield.TextInputEditText
|
|
||||||
android:id="@+id/tracking_port_edit"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:hint="@string/tracking_port_hint" />
|
android:layout_marginEnd="4dp"
|
||||||
</com.google.android.material.textfield.TextInputLayout>
|
android:minHeight="48dp"
|
||||||
|
android:text="@string/tracking_switch"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintStart_toStartOf="@+id/tracking_title"
|
||||||
|
app:layout_constraintTop_toBottomOf="@+id/tracking_title" />
|
||||||
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
<com.google.android.material.textfield.TextInputLayout
|
||||||
|
android:id="@+id/tracking_ip"
|
||||||
|
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginStart="8dp"
|
||||||
|
android:layout_marginEnd="4dp"
|
||||||
|
android:layout_marginBottom="8dp"
|
||||||
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
|
app:layout_constraintEnd_toStartOf="@+id/tracking_port"
|
||||||
|
app:layout_constraintHorizontal_bias="0.5"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toBottomOf="@+id/tracking_switch"
|
||||||
|
app:layout_constraintWidth_percent="0.69">
|
||||||
|
|
||||||
|
<com.google.android.material.textfield.TextInputEditText
|
||||||
|
android:id="@+id/tracking_ip_edit"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:hint="@string/tracking_ip_hint" />
|
||||||
|
</com.google.android.material.textfield.TextInputLayout>
|
||||||
|
|
||||||
|
<com.google.android.material.textfield.TextInputLayout
|
||||||
|
android:id="@+id/tracking_port"
|
||||||
|
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginEnd="8dp"
|
||||||
|
app:layout_constraintBottom_toBottomOf="@+id/tracking_ip"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintHorizontal_bias="0.5"
|
||||||
|
app:layout_constraintStart_toEndOf="@+id/tracking_ip"
|
||||||
|
app:layout_constraintTop_toTopOf="@+id/tracking_ip">
|
||||||
|
|
||||||
|
<com.google.android.material.textfield.TextInputEditText
|
||||||
|
android:id="@+id/tracking_port_edit"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:hint="@string/tracking_port_hint" />
|
||||||
|
</com.google.android.material.textfield.TextInputLayout>
|
||||||
|
|
||||||
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
|
||||||
|
</androidx.cardview.widget.CardView>
|
||||||
@@ -1,59 +1,66 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
<androidx.cardview.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
|
style="@style/SettingsCard"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content">
|
android:layout_height="wrap_content">
|
||||||
|
|
||||||
<TextView
|
<androidx.constraintlayout.widget.ConstraintLayout
|
||||||
android:id="@+id/update_title"
|
android:layout_width="match_parent"
|
||||||
style="@style/SettingsTitle"
|
android:layout_height="match_parent">
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_marginStart="8dp"
|
|
||||||
android:layout_marginTop="8dp"
|
|
||||||
android:text="@string/update_title"
|
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
|
||||||
app:layout_constraintTop_toTopOf="parent" />
|
|
||||||
|
|
||||||
<ProgressBar
|
<TextView
|
||||||
android:id="@+id/update_progress"
|
android:id="@+id/update_title"
|
||||||
style="?android:attr/progressBarStyleHorizontal"
|
style="@style/SettingsTitle"
|
||||||
android:layout_width="0dp"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="0dp"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginStart="6dp"
|
android:layout_marginStart="8dp"
|
||||||
android:layout_marginEnd="8dp"
|
android:layout_marginTop="8dp"
|
||||||
app:layout_constraintBottom_toBottomOf="@+id/update_title"
|
android:text="@string/update_title"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintStart_toEndOf="@+id/update_title"
|
app:layout_constraintTop_toTopOf="parent" />
|
||||||
app:layout_constraintTop_toTopOf="@+id/update_title" />
|
|
||||||
|
|
||||||
<Button
|
<ProgressBar
|
||||||
android:id="@+id/update_btn_web"
|
android:id="@+id/update_progress"
|
||||||
style="@style/AppButton"
|
style="?android:attr/progressBarStyleHorizontal"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="0dp"
|
||||||
android:layout_marginStart="4dp"
|
android:layout_marginStart="6dp"
|
||||||
android:layout_marginTop="4dp"
|
android:layout_marginEnd="8dp"
|
||||||
android:layout_marginBottom="4dp"
|
app:layout_constraintBottom_toBottomOf="@+id/update_title"
|
||||||
android:drawableStart="@drawable/ic_update_web"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
android:text="@string/update_web"
|
app:layout_constraintStart_toEndOf="@+id/update_title"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:layout_constraintTop_toTopOf="@+id/update_title" />
|
||||||
app:layout_constraintEnd_toStartOf="@+id/update_btn_file"
|
|
||||||
app:layout_constraintHorizontal_bias="0.5"
|
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
|
||||||
app:layout_constraintTop_toBottomOf="@+id/update_title" />
|
|
||||||
|
|
||||||
<Button
|
<Button
|
||||||
android:id="@+id/update_btn_file"
|
android:id="@+id/update_btn_web"
|
||||||
style="@style/AppButton"
|
style="@style/AppButton"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginEnd="4dp"
|
android:layout_marginStart="4dp"
|
||||||
android:drawableStart="@drawable/ic_update_file"
|
android:layout_marginTop="4dp"
|
||||||
android:text="@string/update_file"
|
android:layout_marginBottom="4dp"
|
||||||
app:layout_constraintBaseline_toBaselineOf="@+id/update_btn_web"
|
android:drawableStart="@drawable/ic_update_web"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
android:text="@string/update_web"
|
||||||
app:layout_constraintHorizontal_bias="0.5"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
app:layout_constraintStart_toEndOf="@+id/update_btn_web" />
|
app:layout_constraintEnd_toStartOf="@+id/update_btn_file"
|
||||||
|
app:layout_constraintHorizontal_bias="0.5"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toBottomOf="@+id/update_title" />
|
||||||
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
<Button
|
||||||
|
android:id="@+id/update_btn_file"
|
||||||
|
style="@style/AppButton"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginEnd="4dp"
|
||||||
|
android:drawableStart="@drawable/ic_update_file"
|
||||||
|
android:text="@string/update_file"
|
||||||
|
app:layout_constraintBaseline_toBaselineOf="@+id/update_btn_web"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintHorizontal_bias="0.5"
|
||||||
|
app:layout_constraintStart_toEndOf="@+id/update_btn_web" />
|
||||||
|
|
||||||
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
|
||||||
|
</androidx.cardview.widget.CardView>
|
||||||
@@ -1,43 +1,50 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
<androidx.cardview.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
|
style="@style/SettingsCard"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content">
|
android:layout_height="wrap_content">
|
||||||
|
|
||||||
<TextView
|
<androidx.constraintlayout.widget.ConstraintLayout
|
||||||
android:id="@+id/warranty_title"
|
android:layout_width="match_parent"
|
||||||
style="@style/SettingsTitle"
|
android:layout_height="match_parent">
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_marginStart="8dp"
|
|
||||||
android:layout_marginTop="8dp"
|
|
||||||
android:text="@string/warranty_title"
|
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
|
||||||
app:layout_constraintTop_toTopOf="parent" />
|
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/warranty_thanks"
|
android:id="@+id/warranty_title"
|
||||||
style="@style/SettingsText"
|
style="@style/SettingsTitle"
|
||||||
android:layout_width="0dp"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginTop="4dp"
|
android:layout_marginStart="8dp"
|
||||||
android:layout_marginEnd="8dp"
|
android:layout_marginTop="8dp"
|
||||||
android:text="@string/warranty_thanks"
|
android:text="@string/warranty_title"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintStart_toStartOf="@+id/warranty_title"
|
app:layout_constraintTop_toTopOf="parent" />
|
||||||
app:layout_constraintTop_toBottomOf="@+id/warranty_title" />
|
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/warranty_license"
|
android:id="@+id/warranty_thanks"
|
||||||
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:layout_marginTop="4dp"
|
android:layout_marginTop="4dp"
|
||||||
android:layout_marginBottom="8dp"
|
android:layout_marginEnd="8dp"
|
||||||
android:text="@string/warranty_license"
|
android:text="@string/warranty_thanks"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintEnd_toEndOf="@+id/warranty_thanks"
|
app:layout_constraintStart_toStartOf="@+id/warranty_title"
|
||||||
app:layout_constraintStart_toStartOf="@+id/warranty_thanks"
|
app:layout_constraintTop_toBottomOf="@+id/warranty_title" />
|
||||||
app:layout_constraintTop_toBottomOf="@+id/warranty_thanks" />
|
|
||||||
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
<TextView
|
||||||
|
android:id="@+id/warranty_license"
|
||||||
|
style="@style/SettingsText"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginTop="4dp"
|
||||||
|
android:layout_marginBottom="8dp"
|
||||||
|
android:text="@string/warranty_license"
|
||||||
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
|
app:layout_constraintEnd_toEndOf="@+id/warranty_thanks"
|
||||||
|
app:layout_constraintStart_toStartOf="@+id/warranty_thanks"
|
||||||
|
app:layout_constraintTop_toBottomOf="@+id/warranty_thanks" />
|
||||||
|
|
||||||
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
|
||||||
|
</androidx.cardview.widget.CardView>
|
||||||
@@ -13,56 +13,49 @@
|
|||||||
android:layout_marginEnd="8dp"
|
android:layout_marginEnd="8dp"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toTopOf="parent" />
|
app:layout_constraintTop_toTopOf="parent">
|
||||||
|
|
||||||
<ImageButton
|
<ImageButton
|
||||||
android:id="@+id/entries_back"
|
android:id="@+id/entries_back"
|
||||||
style="@style/ToolbarButton"
|
style="@style/ToolbarButton"
|
||||||
android:src="@drawable/ic_back"
|
android:layout_gravity="start|center_vertical"
|
||||||
app:layout_constraintBottom_toBottomOf="@+id/entries_toolbar"
|
android:src="@drawable/ic_back" />
|
||||||
app:layout_constraintStart_toStartOf="@+id/entries_toolbar"
|
|
||||||
app:layout_constraintTop_toTopOf="@+id/entries_toolbar" />
|
|
||||||
|
|
||||||
<EditText
|
<EditText
|
||||||
android:id="@+id/entries_search"
|
android:id="@+id/entries_search"
|
||||||
android:layout_width="0dp"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="0dp"
|
android:layout_height="match_parent"
|
||||||
android:layout_marginStart="20dp"
|
android:layout_gravity="center"
|
||||||
android:layout_marginTop="4dp"
|
android:layout_marginStart="32dp"
|
||||||
android:layout_marginEnd="20dp"
|
android:layout_marginTop="4dp"
|
||||||
android:layout_marginBottom="4dp"
|
android:layout_marginEnd="32dp"
|
||||||
android:background="@android:color/transparent"
|
android:layout_marginBottom="4dp"
|
||||||
android:elevation="8dp"
|
android:background="@android:color/transparent"
|
||||||
android:hint="@string/entries_search_hint"
|
android:hint="@string/entries_search_hint"
|
||||||
android:importantForAutofill="no"
|
android:importantForAutofill="no"
|
||||||
android:includeFontPadding="false"
|
android:includeFontPadding="false"
|
||||||
android:inputType="text"
|
android:inputType="text"
|
||||||
android:textColor="@color/themeAccent"
|
android:textColor="@color/themeAccent"
|
||||||
android:textColorHint="@color/themeAccent"
|
android:textColorHint="@color/themeAccent"
|
||||||
android:textSize="20sp"
|
android:textSize="20sp" />
|
||||||
app:layout_constraintBottom_toBottomOf="@+id/entries_toolbar"
|
|
||||||
app:layout_constraintEnd_toStartOf="@+id/entries_mode"
|
|
||||||
app:layout_constraintStart_toEndOf="@+id/entries_back"
|
|
||||||
app:layout_constraintTop_toTopOf="@+id/entries_toolbar" />
|
|
||||||
|
|
||||||
<ImageButton
|
<ImageButton
|
||||||
android:id="@+id/entries_mode"
|
android:id="@+id/entries_mode"
|
||||||
style="@style/ToolbarButton"
|
style="@style/ToolbarButton"
|
||||||
android:src="@drawable/ic_satellite"
|
android:layout_gravity="end|center_vertical"
|
||||||
app:layout_constraintBottom_toBottomOf="@+id/entries_toolbar"
|
android:src="@drawable/ic_satellite" />
|
||||||
app:layout_constraintEnd_toEndOf="@+id/entries_toolbar"
|
|
||||||
app:layout_constraintTop_toTopOf="@+id/entries_toolbar" />
|
</androidx.cardview.widget.CardView>
|
||||||
|
|
||||||
<androidx.cardview.widget.CardView
|
<androidx.cardview.widget.CardView
|
||||||
android:id="@+id/entries_list_card"
|
android:id="@+id/entries_list_card"
|
||||||
style="@style/ToolbarCard"
|
style="@style/ToolbarCard"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="0dp"
|
android:layout_height="0dp"
|
||||||
android:layout_marginStart="7dp"
|
android:layout_marginStart="8dp"
|
||||||
android:layout_marginTop="8dp"
|
android:layout_marginTop="8dp"
|
||||||
android:layout_marginEnd="7dp"
|
android:layout_marginEnd="8dp"
|
||||||
android:layout_marginBottom="3dp"
|
android:layout_marginBottom="3dp"
|
||||||
android:backgroundTint="@color/surfaceBg"
|
|
||||||
android:clipChildren="true"
|
android:clipChildren="true"
|
||||||
app:cardElevation="0dp"
|
app:cardElevation="0dp"
|
||||||
app:layout_constraintBottom_toTopOf="@+id/entries_select_all"
|
app:layout_constraintBottom_toTopOf="@+id/entries_select_all"
|
||||||
@@ -72,20 +65,18 @@
|
|||||||
|
|
||||||
<androidx.recyclerview.widget.RecyclerView
|
<androidx.recyclerview.widget.RecyclerView
|
||||||
android:id="@+id/entries_recycler"
|
android:id="@+id/entries_recycler"
|
||||||
|
style="@style/ListRecycler"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent" />
|
android:layout_height="match_parent" />
|
||||||
|
|
||||||
</androidx.cardview.widget.CardView>
|
<ProgressBar
|
||||||
|
android:id="@+id/entries_progress"
|
||||||
|
style="@android:style/Widget.DeviceDefault.Light.ProgressBar.Large"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="center" />
|
||||||
|
|
||||||
<ProgressBar
|
</androidx.cardview.widget.CardView>
|
||||||
android:id="@+id/entries_progress"
|
|
||||||
style="@android:style/Widget.DeviceDefault.Light.ProgressBar.Large"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
app:layout_constraintBottom_toBottomOf="@+id/entries_list_card"
|
|
||||||
app:layout_constraintEnd_toEndOf="@+id/entries_list_card"
|
|
||||||
app:layout_constraintStart_toStartOf="@+id/entries_list_card"
|
|
||||||
app:layout_constraintTop_toBottomOf="@+id/entries_toolbar" />
|
|
||||||
|
|
||||||
<com.google.android.material.button.MaterialButton
|
<com.google.android.material.button.MaterialButton
|
||||||
android:id="@+id/entries_select_all"
|
android:id="@+id/entries_select_all"
|
||||||
@@ -122,4 +113,4 @@
|
|||||||
app:layout_constraintHorizontal_bias="0.5"
|
app:layout_constraintHorizontal_bias="0.5"
|
||||||
app:layout_constraintStart_toEndOf="@+id/entries_select_all" />
|
app:layout_constraintStart_toEndOf="@+id/entries_select_all" />
|
||||||
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
@@ -15,25 +15,21 @@
|
|||||||
android:layout_marginEnd="8dp"
|
android:layout_marginEnd="8dp"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toTopOf="parent" />
|
app:layout_constraintTop_toTopOf="parent">
|
||||||
|
|
||||||
<ImageButton
|
<ImageButton
|
||||||
android:id="@+id/map_back"
|
android:id="@+id/map_back"
|
||||||
style="@style/ToolbarButton"
|
style="@style/ToolbarButton"
|
||||||
android:src="@drawable/ic_back"
|
android:layout_gravity="start|center_vertical"
|
||||||
app:layout_constraintBottom_toBottomOf="@+id/map_toolbar"
|
android:src="@drawable/ic_back" />
|
||||||
app:layout_constraintStart_toStartOf="@+id/map_toolbar"
|
|
||||||
app:layout_constraintTop_toTopOf="@+id/map_toolbar" />
|
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/map_title"
|
android:id="@+id/map_title"
|
||||||
style="@style/ToolbarText"
|
style="@style/ToolbarTitle"
|
||||||
android:text="@string/map_title"
|
android:layout_gravity="center"
|
||||||
app:layout_constraintBottom_toBottomOf="@+id/map_toolbar"
|
android:text="@string/map_title" />
|
||||||
app:layout_constraintEnd_toEndOf="@+id/map_toolbar"
|
|
||||||
app:layout_constraintHorizontal_bias="0.32"
|
</androidx.cardview.widget.CardView>
|
||||||
app:layout_constraintStart_toStartOf="@+id/map_toolbar"
|
|
||||||
app:layout_constraintTop_toTopOf="@+id/map_toolbar" />
|
|
||||||
|
|
||||||
<androidx.cardview.widget.CardView
|
<androidx.cardview.widget.CardView
|
||||||
android:id="@+id/map_card"
|
android:id="@+id/map_card"
|
||||||
@@ -53,14 +49,13 @@
|
|||||||
<org.osmdroid.views.MapView
|
<org.osmdroid.views.MapView
|
||||||
android:id="@+id/map_view"
|
android:id="@+id/map_view"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent" />
|
||||||
android:elevation="16dp" />
|
|
||||||
|
|
||||||
</androidx.cardview.widget.CardView>
|
</androidx.cardview.widget.CardView>
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/map_data_name"
|
android:id="@+id/map_data_name"
|
||||||
style="@style/MapInfoText"
|
style="@style/WorldMapText"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginStart="4dp"
|
android:layout_marginStart="4dp"
|
||||||
@@ -89,15 +84,11 @@
|
|||||||
<androidx.constraintlayout.widget.ConstraintLayout
|
<androidx.constraintlayout.widget.ConstraintLayout
|
||||||
android:id="@+id/map_data_root"
|
android:id="@+id/map_data_root"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="match_parent">
|
||||||
android:background="@color/mapInfoLayout"
|
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
|
||||||
app:layout_constraintStart_toStartOf="parent">
|
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/map_data_lat"
|
android:id="@+id/map_data_lat"
|
||||||
style="@style/MapInfoText"
|
style="@style/WorldMapText"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginStart="8dp"
|
android:layout_marginStart="8dp"
|
||||||
@@ -108,7 +99,7 @@
|
|||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/map_data_lon"
|
android:id="@+id/map_data_lon"
|
||||||
style="@style/MapInfoText"
|
style="@style/WorldMapText"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginTop="6dp"
|
android:layout_marginTop="6dp"
|
||||||
@@ -118,7 +109,7 @@
|
|||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/map_data_qth"
|
android:id="@+id/map_data_qth"
|
||||||
style="@style/MapInfoText"
|
style="@style/WorldMapText"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginTop="6dp"
|
android:layout_marginTop="6dp"
|
||||||
@@ -130,7 +121,7 @@
|
|||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/map_data_alt"
|
android:id="@+id/map_data_alt"
|
||||||
style="@style/MapInfoText"
|
style="@style/WorldMapText"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginEnd="8dp"
|
android:layout_marginEnd="8dp"
|
||||||
@@ -140,7 +131,7 @@
|
|||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/map_data_dst"
|
android:id="@+id/map_data_dst"
|
||||||
style="@style/MapInfoText"
|
style="@style/WorldMapText"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:text="@string/pat_distance"
|
android:text="@string/pat_distance"
|
||||||
@@ -149,7 +140,7 @@
|
|||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/map_data_vel"
|
android:id="@+id/map_data_vel"
|
||||||
style="@style/MapInfoText"
|
style="@style/WorldMapText"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:text="@string/pat_osm_vel"
|
android:text="@string/pat_osm_vel"
|
||||||
@@ -160,7 +151,6 @@
|
|||||||
|
|
||||||
</androidx.cardview.widget.CardView>
|
</androidx.cardview.widget.CardView>
|
||||||
|
|
||||||
|
|
||||||
<ImageButton
|
<ImageButton
|
||||||
android:id="@+id/map_btn_prev"
|
android:id="@+id/map_btn_prev"
|
||||||
android:layout_width="48dp"
|
android:layout_width="48dp"
|
||||||
|
|||||||
@@ -13,31 +13,26 @@
|
|||||||
android:layout_marginEnd="8dp"
|
android:layout_marginEnd="8dp"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toTopOf="parent" />
|
app:layout_constraintTop_toTopOf="parent">
|
||||||
|
|
||||||
<ImageButton
|
<ImageButton
|
||||||
android:id="@+id/passes_filter"
|
android:id="@+id/passes_filter"
|
||||||
style="@style/ToolbarButton"
|
style="@style/ToolbarButton"
|
||||||
android:src="@drawable/ic_filter"
|
android:layout_gravity="start|center_vertical"
|
||||||
app:layout_constraintBottom_toBottomOf="@+id/passes_toolbar"
|
android:src="@drawable/ic_filter" />
|
||||||
app:layout_constraintStart_toStartOf="@+id/passes_toolbar"
|
|
||||||
app:layout_constraintTop_toTopOf="@+id/passes_toolbar" />
|
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/passes_timer"
|
android:id="@+id/passes_timer"
|
||||||
style="@style/ToolbarTimer"
|
style="@style/ToolbarTimer"
|
||||||
app:layout_constraintBottom_toBottomOf="@+id/passes_toolbar"
|
android:layout_gravity="center" />
|
||||||
app:layout_constraintEnd_toStartOf="@+id/passes_settings"
|
|
||||||
app:layout_constraintStart_toEndOf="@+id/passes_filter"
|
|
||||||
app:layout_constraintTop_toTopOf="@+id/passes_toolbar" />
|
|
||||||
|
|
||||||
<ImageButton
|
<ImageButton
|
||||||
android:id="@+id/passes_settings"
|
android:id="@+id/passes_settings"
|
||||||
style="@style/ToolbarButton"
|
style="@style/ToolbarButton"
|
||||||
android:src="@drawable/ic_prefs"
|
android:layout_gravity="end|center_vertical"
|
||||||
app:layout_constraintBottom_toBottomOf="@+id/passes_toolbar"
|
android:src="@drawable/ic_prefs" />
|
||||||
app:layout_constraintEnd_toEndOf="@+id/passes_toolbar"
|
|
||||||
app:layout_constraintTop_toTopOf="@+id/passes_toolbar" />
|
</androidx.cardview.widget.CardView>
|
||||||
|
|
||||||
<androidx.cardview.widget.CardView
|
<androidx.cardview.widget.CardView
|
||||||
android:id="@+id/passes_list_card"
|
android:id="@+id/passes_list_card"
|
||||||
@@ -48,7 +43,6 @@
|
|||||||
android:layout_marginTop="8dp"
|
android:layout_marginTop="8dp"
|
||||||
android:layout_marginEnd="8dp"
|
android:layout_marginEnd="8dp"
|
||||||
android:layout_marginBottom="8dp"
|
android:layout_marginBottom="8dp"
|
||||||
android:backgroundTint="@color/surfaceBg"
|
|
||||||
android:clipChildren="true"
|
android:clipChildren="true"
|
||||||
app:cardElevation="0dp"
|
app:cardElevation="0dp"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
@@ -63,23 +57,22 @@
|
|||||||
|
|
||||||
<androidx.recyclerview.widget.RecyclerView
|
<androidx.recyclerview.widget.RecyclerView
|
||||||
android:id="@+id/passes_list"
|
android:id="@+id/passes_list"
|
||||||
|
style="@style/ListRecycler"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent" />
|
android:layout_height="match_parent" />
|
||||||
|
|
||||||
</androidx.swiperefreshlayout.widget.SwipeRefreshLayout>
|
</androidx.swiperefreshlayout.widget.SwipeRefreshLayout>
|
||||||
</androidx.cardview.widget.CardView>
|
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/passes_error"
|
android:id="@+id/passes_error"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:text="@string/passes_error"
|
android:layout_gravity="center"
|
||||||
android:textSize="20sp"
|
android:text="@string/passes_error"
|
||||||
android:visibility="invisible"
|
android:textSize="20sp"
|
||||||
app:layout_constraintBottom_toBottomOf="@+id/passes_list_card"
|
android:visibility="invisible" />
|
||||||
app:layout_constraintEnd_toEndOf="@+id/passes_list_card"
|
|
||||||
app:layout_constraintStart_toStartOf="@+id/passes_list_card"
|
</androidx.cardview.widget.CardView>
|
||||||
app:layout_constraintTop_toTopOf="@+id/passes_list_card" />
|
|
||||||
|
|
||||||
<com.google.android.material.floatingactionbutton.FloatingActionButton
|
<com.google.android.material.floatingactionbutton.FloatingActionButton
|
||||||
android:id="@+id/passes_fab"
|
android:id="@+id/passes_fab"
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
android:id="@+id/radar_root"
|
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:keepScreenOn="true">
|
android:keepScreenOn="true">
|
||||||
@@ -14,31 +13,38 @@
|
|||||||
android:layout_marginEnd="8dp"
|
android:layout_marginEnd="8dp"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toTopOf="parent" />
|
app:layout_constraintTop_toTopOf="parent">
|
||||||
|
|
||||||
<ImageButton
|
<ImageButton
|
||||||
android:id="@+id/radar_back"
|
android:id="@+id/radar_back"
|
||||||
style="@style/ToolbarButton"
|
style="@style/ToolbarButton"
|
||||||
android:src="@drawable/ic_back"
|
android:layout_gravity="start|center_vertical"
|
||||||
app:layout_constraintBottom_toBottomOf="@+id/radar_toolbar"
|
android:src="@drawable/ic_back" />
|
||||||
app:layout_constraintStart_toStartOf="@+id/radar_toolbar"
|
|
||||||
app:layout_constraintTop_toTopOf="@+id/radar_toolbar" />
|
<TextView
|
||||||
|
android:id="@+id/radar_timer"
|
||||||
|
style="@style/ToolbarTimer"
|
||||||
|
android:layout_gravity="center" />
|
||||||
|
|
||||||
|
<ImageButton
|
||||||
|
android:id="@+id/radar_map"
|
||||||
|
style="@style/ToolbarButton"
|
||||||
|
android:layout_gravity="end|center_vertical"
|
||||||
|
android:src="@drawable/ic_map" />
|
||||||
|
|
||||||
|
</androidx.cardview.widget.CardView>
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/radar_timer"
|
android:id="@+id/radar_name"
|
||||||
style="@style/ToolbarTimer"
|
android:layout_width="0dp"
|
||||||
app:layout_constraintBottom_toBottomOf="@+id/radar_toolbar"
|
android:layout_height="wrap_content"
|
||||||
app:layout_constraintEnd_toEndOf="@+id/radar_toolbar"
|
android:layout_marginStart="8dp"
|
||||||
app:layout_constraintStart_toStartOf="@+id/radar_toolbar"
|
android:layout_marginEnd="8dp"
|
||||||
app:layout_constraintTop_toTopOf="@+id/radar_toolbar" />
|
android:gravity="center"
|
||||||
|
android:textSize="16sp"
|
||||||
<ImageButton
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
android:id="@+id/radar_map"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
style="@style/ToolbarButton"
|
app:layout_constraintTop_toBottomOf="@+id/radar_toolbar" />
|
||||||
android:src="@drawable/ic_map"
|
|
||||||
app:layout_constraintBottom_toBottomOf="@+id/radar_toolbar"
|
|
||||||
app:layout_constraintEnd_toEndOf="@+id/radar_toolbar"
|
|
||||||
app:layout_constraintTop_toTopOf="@+id/radar_toolbar" />
|
|
||||||
|
|
||||||
<androidx.cardview.widget.CardView
|
<androidx.cardview.widget.CardView
|
||||||
android:id="@+id/radar_card"
|
android:id="@+id/radar_card"
|
||||||
@@ -46,96 +52,95 @@
|
|||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="0dp"
|
android:layout_height="0dp"
|
||||||
android:layout_marginStart="8dp"
|
android:layout_marginStart="8dp"
|
||||||
android:layout_marginTop="8dp"
|
|
||||||
android:layout_marginEnd="8dp"
|
android:layout_marginEnd="8dp"
|
||||||
android:elevation="0dp"
|
android:elevation="0dp"
|
||||||
app:layout_constraintDimensionRatio="1:1"
|
app:layout_constraintDimensionRatio="1:1"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toBottomOf="@+id/radar_toolbar" />
|
app:layout_constraintTop_toBottomOf="@+id/radar_name" />
|
||||||
|
|
||||||
<FrameLayout
|
|
||||||
android:id="@+id/radar_frame"
|
|
||||||
android:layout_width="0dp"
|
|
||||||
android:layout_height="0dp"
|
|
||||||
android:elevation="16dp"
|
|
||||||
app:layout_constraintBottom_toBottomOf="@+id/radar_card"
|
|
||||||
app:layout_constraintDimensionRatio=""
|
|
||||||
app:layout_constraintEnd_toEndOf="@+id/radar_card"
|
|
||||||
app:layout_constraintStart_toStartOf="@+id/radar_card"
|
|
||||||
app:layout_constraintTop_toTopOf="@+id/radar_card" />
|
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/radar_az"
|
android:id="@+id/radar_az"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginStart="4dp"
|
android:layout_marginStart="4dp"
|
||||||
|
android:layout_marginTop="4dp"
|
||||||
|
android:elevation="8dp"
|
||||||
android:text="@string/pat_azimuth"
|
android:text="@string/pat_azimuth"
|
||||||
android:textSize="15sp"
|
android:textSize="15sp"
|
||||||
app:layout_constraintStart_toStartOf="@+id/radar_frame"
|
app:layout_constraintStart_toStartOf="@+id/radar_card"
|
||||||
app:layout_constraintTop_toTopOf="@+id/radar_frame" />
|
app:layout_constraintTop_toTopOf="@+id/radar_card" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/radar_el"
|
android:id="@+id/radar_el"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginTop="4dp"
|
||||||
android:layout_marginEnd="4dp"
|
android:layout_marginEnd="4dp"
|
||||||
|
android:elevation="8dp"
|
||||||
android:text="@string/pat_elevation"
|
android:text="@string/pat_elevation"
|
||||||
android:textSize="15sp"
|
android:textSize="15sp"
|
||||||
app:layout_constraintEnd_toEndOf="@+id/radar_frame"
|
app:layout_constraintEnd_toEndOf="@+id/radar_card"
|
||||||
app:layout_constraintTop_toTopOf="@+id/radar_frame" />
|
app:layout_constraintTop_toTopOf="@+id/radar_card" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/radar_alt"
|
android:id="@+id/radar_alt"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginStart="4dp"
|
android:layout_marginStart="4dp"
|
||||||
|
android:layout_marginBottom="4dp"
|
||||||
|
android:elevation="8dp"
|
||||||
android:text="@string/pat_altitude"
|
android:text="@string/pat_altitude"
|
||||||
android:textSize="15sp"
|
android:textSize="15sp"
|
||||||
app:layout_constraintBottom_toBottomOf="@+id/radar_frame"
|
app:layout_constraintBottom_toBottomOf="@+id/radar_card"
|
||||||
app:layout_constraintStart_toStartOf="@+id/radar_frame" />
|
app:layout_constraintStart_toStartOf="@+id/radar_card" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/radar_dst"
|
android:id="@+id/radar_dst"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginEnd="4dp"
|
android:layout_marginEnd="4dp"
|
||||||
|
android:layout_marginBottom="4dp"
|
||||||
|
android:elevation="8dp"
|
||||||
android:text="@string/pat_distance"
|
android:text="@string/pat_distance"
|
||||||
android:textSize="15sp"
|
android:textSize="15sp"
|
||||||
app:layout_constraintBottom_toBottomOf="@+id/radar_frame"
|
app:layout_constraintBottom_toBottomOf="@+id/radar_card"
|
||||||
app:layout_constraintEnd_toEndOf="@+id/radar_frame" />
|
app:layout_constraintEnd_toEndOf="@+id/radar_card" />
|
||||||
|
|
||||||
<androidx.recyclerview.widget.RecyclerView
|
<androidx.cardview.widget.CardView
|
||||||
android:id="@+id/radar_recycler"
|
android:id="@+id/radar_list_card"
|
||||||
|
style="@style/ToolbarCard"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="0dp"
|
android:layout_height="0dp"
|
||||||
android:overScrollMode="never"
|
android:layout_marginStart="8dp"
|
||||||
|
android:layout_marginEnd="8dp"
|
||||||
|
android:layout_marginBottom="8dp"
|
||||||
|
android:clipChildren="true"
|
||||||
|
app:cardElevation="0dp"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toBottomOf="@+id/radar_name" />
|
app:layout_constraintTop_toBottomOf="@+id/radar_recycler_msg">
|
||||||
|
|
||||||
|
<androidx.recyclerview.widget.RecyclerView
|
||||||
|
android:id="@+id/radar_recycler"
|
||||||
|
style="@style/ListRecycler"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent" />
|
||||||
|
|
||||||
|
</androidx.cardview.widget.CardView>
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/radar_recycler_msg"
|
android:id="@+id/radar_recycler_msg"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginStart="8dp"
|
||||||
|
android:layout_marginEnd="8dp"
|
||||||
android:gravity="center"
|
android:gravity="center"
|
||||||
android:text="@string/trans_no_data"
|
android:text="@string/trans_no_data"
|
||||||
android:textSize="15sp"
|
android:textSize="16sp"
|
||||||
android:visibility="invisible"
|
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toTopOf="@+id/radar_recycler" />
|
app:layout_constraintTop_toBottomOf="@+id/radar_card" />
|
||||||
|
|
||||||
<TextView
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
android:id="@+id/radar_name"
|
|
||||||
android:layout_width="0dp"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_marginTop="0dp"
|
|
||||||
android:gravity="center"
|
|
||||||
android:textSize="15sp"
|
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
|
||||||
app:layout_constraintHorizontal_bias="0.0"
|
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
|
||||||
app:layout_constraintTop_toBottomOf="@+id/radar_frame" />
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
|
||||||
@@ -12,24 +12,21 @@
|
|||||||
android:layout_marginEnd="8dp"
|
android:layout_marginEnd="8dp"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toTopOf="parent" />
|
app:layout_constraintTop_toTopOf="parent">
|
||||||
|
|
||||||
<ImageButton
|
<ImageButton
|
||||||
android:id="@+id/prefs_back"
|
android:id="@+id/prefs_back"
|
||||||
style="@style/ToolbarButton"
|
style="@style/ToolbarButton"
|
||||||
android:src="@drawable/ic_back"
|
android:layout_gravity="start|center_vertical"
|
||||||
app:layout_constraintBottom_toBottomOf="@+id/prefs_toolbar"
|
android:src="@drawable/ic_back" />
|
||||||
app:layout_constraintStart_toStartOf="@+id/prefs_toolbar"
|
|
||||||
app:layout_constraintTop_toTopOf="@+id/prefs_toolbar" />
|
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/prefs_title"
|
android:id="@+id/prefs_title"
|
||||||
style="@style/ToolbarText"
|
style="@style/ToolbarTitle"
|
||||||
android:layout_marginStart="20dp"
|
android:layout_gravity="center"
|
||||||
android:text="@string/settings_title"
|
android:text="@string/settings_title" />
|
||||||
app:layout_constraintBottom_toBottomOf="@+id/prefs_toolbar"
|
|
||||||
app:layout_constraintStart_toEndOf="@+id/prefs_back"
|
</androidx.cardview.widget.CardView>
|
||||||
app:layout_constraintTop_toTopOf="@+id/prefs_toolbar" />
|
|
||||||
|
|
||||||
<ScrollView
|
<ScrollView
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
@@ -37,8 +34,8 @@
|
|||||||
android:layout_marginStart="8dp"
|
android:layout_marginStart="8dp"
|
||||||
android:layout_marginTop="8dp"
|
android:layout_marginTop="8dp"
|
||||||
android:layout_marginEnd="8dp"
|
android:layout_marginEnd="8dp"
|
||||||
android:clipChildren="true"
|
style="@style/ListRecycler"
|
||||||
android:scrollbars="none"
|
android:layout_marginBottom="8dp"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
@@ -48,91 +45,66 @@
|
|||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content">
|
android:layout_height="wrap_content">
|
||||||
|
|
||||||
<androidx.cardview.widget.CardView
|
<include
|
||||||
android:id="@+id/card_prefs_info"
|
android:id="@+id/prefs_info"
|
||||||
style="@style/SettingsCard"
|
layout="@layout/card_prefs_about"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toTopOf="parent">
|
app:layout_constraintTop_toTopOf="parent" />
|
||||||
|
|
||||||
<include
|
<include
|
||||||
android:id="@+id/prefs_info"
|
android:id="@+id/prefs_location"
|
||||||
layout="@layout/card_prefs_about" />
|
layout="@layout/card_prefs_location"
|
||||||
|
android:layout_width="match_parent"
|
||||||
</androidx.cardview.widget.CardView>
|
android:layout_height="wrap_content"
|
||||||
|
|
||||||
<androidx.cardview.widget.CardView
|
|
||||||
android:id="@+id/card_prefs_location"
|
|
||||||
style="@style/SettingsCard"
|
|
||||||
android:layout_marginTop="8dp"
|
android:layout_marginTop="8dp"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toBottomOf="@+id/card_prefs_info">
|
app:layout_constraintTop_toBottomOf="@+id/prefs_info" />
|
||||||
|
|
||||||
<include
|
<include
|
||||||
android:id="@+id/prefs_location"
|
android:id="@+id/prefs_data"
|
||||||
layout="@layout/card_prefs_location" />
|
layout="@layout/card_prefs_update"
|
||||||
|
android:layout_width="match_parent"
|
||||||
</androidx.cardview.widget.CardView>
|
android:layout_height="wrap_content"
|
||||||
|
|
||||||
<androidx.cardview.widget.CardView
|
|
||||||
android:id="@+id/card_prefs_data"
|
|
||||||
style="@style/SettingsCard"
|
|
||||||
android:layout_marginTop="8dp"
|
android:layout_marginTop="8dp"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toBottomOf="@+id/card_prefs_location">
|
app:layout_constraintTop_toBottomOf="@+id/prefs_location" />
|
||||||
|
|
||||||
<include
|
<include
|
||||||
android:id="@+id/prefs_data"
|
android:id="@+id/prefs_tracking"
|
||||||
layout="@layout/card_prefs_update" />
|
layout="@layout/card_prefs_tracking"
|
||||||
|
android:layout_width="match_parent"
|
||||||
</androidx.cardview.widget.CardView>
|
android:layout_height="wrap_content"
|
||||||
|
|
||||||
<androidx.cardview.widget.CardView
|
|
||||||
android:id="@+id/card_prefs_tracking"
|
|
||||||
style="@style/SettingsCard"
|
|
||||||
android:layout_marginTop="8dp"
|
android:layout_marginTop="8dp"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toBottomOf="@+id/card_prefs_data">
|
app:layout_constraintTop_toBottomOf="@+id/prefs_data" />
|
||||||
|
|
||||||
<include
|
<include
|
||||||
android:id="@+id/prefs_tracking"
|
android:id="@+id/prefs_other"
|
||||||
layout="@layout/card_prefs_tracking" />
|
layout="@layout/card_prefs_other"
|
||||||
|
android:layout_width="match_parent"
|
||||||
</androidx.cardview.widget.CardView>
|
android:layout_height="wrap_content"
|
||||||
|
|
||||||
<androidx.cardview.widget.CardView
|
|
||||||
android:id="@+id/card_prefs_other"
|
|
||||||
style="@style/SettingsCard"
|
|
||||||
android:layout_marginTop="8dp"
|
android:layout_marginTop="8dp"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toBottomOf="@+id/card_prefs_tracking">
|
app:layout_constraintTop_toBottomOf="@+id/prefs_tracking" />
|
||||||
|
|
||||||
<include
|
<include
|
||||||
android:id="@+id/prefs_other"
|
android:id="@+id/prefs_warranty"
|
||||||
layout="@layout/card_prefs_other" />
|
layout="@layout/card_prefs_warranty"
|
||||||
|
android:layout_width="match_parent"
|
||||||
</androidx.cardview.widget.CardView>
|
android:layout_height="wrap_content"
|
||||||
|
|
||||||
<androidx.cardview.widget.CardView
|
|
||||||
android:id="@+id/card_prefs_warranty"
|
|
||||||
style="@style/SettingsCard"
|
|
||||||
android:layout_marginTop="8dp"
|
android:layout_marginTop="8dp"
|
||||||
android:layout_marginBottom="8dp"
|
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toBottomOf="@+id/card_prefs_other">
|
app:layout_constraintTop_toBottomOf="@+id/prefs_other" />
|
||||||
|
|
||||||
<include
|
|
||||||
android:id="@+id/prefs_warranty"
|
|
||||||
layout="@layout/card_prefs_warranty" />
|
|
||||||
|
|
||||||
</androidx.cardview.widget.CardView>
|
|
||||||
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
|
||||||
</ScrollView>
|
</ScrollView>
|
||||||
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
@@ -1,15 +1,7 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<androidx.cardview.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
|
<androidx.cardview.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
android:id="@+id/entry_card"
|
||||||
android:id="@+id/entry_root"
|
style="@style/ListItemCard">
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_marginStart="1dp"
|
|
||||||
android:layout_marginEnd="1dp"
|
|
||||||
android:layout_marginBottom="1dp"
|
|
||||||
app:cardBackgroundColor="@color/surfaceCard"
|
|
||||||
app:cardCornerRadius="@dimen/card_corner"
|
|
||||||
app:cardElevation="0dp">
|
|
||||||
|
|
||||||
<CheckBox
|
<CheckBox
|
||||||
android:id="@+id/entry_checkbox"
|
android:id="@+id/entry_checkbox"
|
||||||
|
|||||||
@@ -2,12 +2,7 @@
|
|||||||
<androidx.cardview.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
|
<androidx.cardview.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
android:id="@+id/pass_card"
|
android:id="@+id/pass_card"
|
||||||
android:layout_width="match_parent"
|
style="@style/ListItemCard">
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_marginBottom="1dp"
|
|
||||||
android:backgroundTint="@color/surfaceCard"
|
|
||||||
app:cardCornerRadius="@dimen/card_corner"
|
|
||||||
app:cardElevation="0dp">
|
|
||||||
|
|
||||||
<androidx.constraintlayout.widget.ConstraintLayout
|
<androidx.constraintlayout.widget.ConstraintLayout
|
||||||
android:id="@+id/pass_root"
|
android:id="@+id/pass_root"
|
||||||
@@ -108,4 +103,5 @@
|
|||||||
app:layout_constraintTop_toBottomOf="@+id/pass_elev" />
|
app:layout_constraintTop_toBottomOf="@+id/pass_elev" />
|
||||||
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
</androidx.cardview.widget.CardView>
|
|
||||||
|
</androidx.cardview.widget.CardView>
|
||||||
@@ -35,4 +35,4 @@
|
|||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintTop_toTopOf="@+id/source_input" />
|
app:layout_constraintTop_toTopOf="@+id/source_input" />
|
||||||
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
@@ -2,10 +2,8 @@
|
|||||||
<androidx.cardview.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
|
<androidx.cardview.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
android:id="@+id/trans_card"
|
android:id="@+id/trans_card"
|
||||||
android:layout_width="match_parent"
|
style="@style/ListItemCard"
|
||||||
android:layout_height="wrap_content"
|
android:layout_marginBottom="1dp">
|
||||||
app:cardBackgroundColor="@color/surfaceCard"
|
|
||||||
app:cardCornerRadius="0dp">
|
|
||||||
|
|
||||||
<androidx.constraintlayout.widget.ConstraintLayout
|
<androidx.constraintlayout.widget.ConstraintLayout
|
||||||
android:id="@+id/trans_root"
|
android:id="@+id/trans_root"
|
||||||
@@ -106,4 +104,5 @@
|
|||||||
app:layout_constraintStart_toEndOf="@+id/trans_mode" />
|
app:layout_constraintStart_toEndOf="@+id/trans_mode" />
|
||||||
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
</androidx.cardview.widget.CardView>
|
|
||||||
|
</androidx.cardview.widget.CardView>
|
||||||
@@ -30,11 +30,6 @@
|
|||||||
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"
|
||||||
tools:layout="@layout/fragment_radar">
|
tools:layout="@layout/fragment_radar">
|
||||||
<!-- <action-->
|
|
||||||
<!-- android:id="@+id/action_radar_to_passes"-->
|
|
||||||
<!-- app:destination="@id/nav_passes"-->
|
|
||||||
<!-- app:popUpTo="@id/nav_passes"-->
|
|
||||||
<!-- app:popUpToInclusive="true" />-->
|
|
||||||
<action
|
<action
|
||||||
android:id="@+id/action_radar_to_map"
|
android:id="@+id/action_radar_to_map"
|
||||||
app:destination="@id/nav_map" />
|
app:destination="@id/nav_map" />
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<resources>
|
<resources>
|
||||||
<dimen name="card_elevation">0dp</dimen>
|
<dimen name="card_elev_low">0dp</dimen>
|
||||||
<dimen name="card_corner">8dp</dimen>
|
<dimen name="card_elev_high">8dp</dimen>
|
||||||
<dimen name="card_corner_zero">0dp</dimen>
|
<dimen name="card_corner_low">0dp</dimen>
|
||||||
|
<dimen name="card_corner_high">8dp</dimen>
|
||||||
</resources>
|
</resources>
|
||||||
@@ -17,6 +17,7 @@
|
|||||||
<item name="android:windowBackground">@color/surfaceBg</item>
|
<item name="android:windowBackground">@color/surfaceBg</item>
|
||||||
<item name="android:navigationBarColor">@color/surfaceBg</item>
|
<item name="android:navigationBarColor">@color/surfaceBg</item>
|
||||||
<item name="android:forceDarkAllowed" tools:targetApi="q">false</item>
|
<item name="android:forceDarkAllowed" tools:targetApi="q">false</item>
|
||||||
|
<item name="android:listDivider">@drawable/item_divider</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<style name="AppButton">
|
<style name="AppButton">
|
||||||
@@ -29,6 +30,84 @@
|
|||||||
<item name="android:textSize">16sp</item>
|
<item name="android:textSize">16sp</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
|
<style name="ListItemCard">
|
||||||
|
<item name="android:layout_width">match_parent</item>
|
||||||
|
<item name="android:layout_height">wrap_content</item>
|
||||||
|
<item name="cardBackgroundColor">@color/surfaceCard</item>
|
||||||
|
<item name="cardCornerRadius">@dimen/card_corner_low</item>
|
||||||
|
<item name="cardElevation">@dimen/card_elev_low</item>
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<style name="ListRecycler">
|
||||||
|
<item name="android:animateLayoutChanges">false</item>
|
||||||
|
<item name="android:overScrollMode">never</item>
|
||||||
|
<item name="android:scrollbars">none</item>
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<style name="ToolbarCard">
|
||||||
|
<item name="android:layout_width">0dp</item>
|
||||||
|
<item name="android:layout_height">48dp</item>
|
||||||
|
<item name="cardElevation">@dimen/card_elev_low</item>
|
||||||
|
<item name="cardBackgroundColor">@color/surfaceCard</item>
|
||||||
|
<item name="cardCornerRadius">@dimen/card_corner_high</item>
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<style name="ToolbarButton">
|
||||||
|
<item name="android:layout_width">48dp</item>
|
||||||
|
<item name="android:layout_height">48dp</item>
|
||||||
|
<item name="android:background">?actionBarItemBackground</item>
|
||||||
|
<item name="android:elevation">8dp</item>
|
||||||
|
<item name="android:tint">@color/themeLight</item>
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<style name="ToolbarTimer">
|
||||||
|
<item name="android:layout_width">wrap_content</item>
|
||||||
|
<item name="android:layout_height">wrap_content</item>
|
||||||
|
<item name="android:elevation">8dp</item>
|
||||||
|
<item name="android:includeFontPadding">false</item>
|
||||||
|
<item name="android:text">@string/timer_zero</item>
|
||||||
|
<item name="android:textColor">@color/themeAccent</item>
|
||||||
|
<item name="android:textSize">38sp</item>
|
||||||
|
<item name="android:textStyle">bold</item>
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<style name="ToolbarTitle">
|
||||||
|
<item name="android:layout_width">wrap_content</item>
|
||||||
|
<item name="android:layout_height">wrap_content</item>
|
||||||
|
<item name="android:elevation">8dp</item>
|
||||||
|
<item name="android:includeFontPadding">false</item>
|
||||||
|
<item name="android:textColor">@color/themeLight</item>
|
||||||
|
<item name="android:textSize">20sp</item>
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<style name="WorldMapText">
|
||||||
|
<item name="android:textSize">16sp</item>
|
||||||
|
<item name="android:textColor">@color/themeLight</item>
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<style name="WorldMapTitle">
|
||||||
|
<item name="android:textSize">16sp</item>
|
||||||
|
<item name="android:textColor">@color/themeLight</item>
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<style name="SettingsCard">
|
||||||
|
<item name="android:layout_width">0dp</item>
|
||||||
|
<item name="android:layout_height">wrap_content</item>
|
||||||
|
<item name="cardBackgroundColor">@color/surfaceCard</item>
|
||||||
|
<item name="cardCornerRadius">@dimen/card_corner_high</item>
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<style name="SettingsText">
|
||||||
|
<item name="android:textSize">16sp</item>
|
||||||
|
<item name="android:textColor">@color/themeLight</item>
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<style name="SettingsTitle">
|
||||||
|
<item name="android:includeFontPadding">false</item>
|
||||||
|
<item name="android:textSize">16sp</item>
|
||||||
|
<item name="android:textColor">@color/themeAccent</item>
|
||||||
|
</style>
|
||||||
|
|
||||||
<style name="DialogButton">
|
<style name="DialogButton">
|
||||||
<item name="android:backgroundTint">@color/surfaceButton</item>
|
<item name="android:backgroundTint">@color/surfaceButton</item>
|
||||||
<item name="android:ellipsize">end</item>
|
<item name="android:ellipsize">end</item>
|
||||||
@@ -52,64 +131,4 @@
|
|||||||
<item name="android:textSize">16sp</item>
|
<item name="android:textSize">16sp</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<style name="ToolbarCard">
|
|
||||||
<item name="android:layout_width">match_parent</item>
|
|
||||||
<item name="android:layout_height">48dp</item>
|
|
||||||
<item name="android:elevation">0dp</item>
|
|
||||||
<item name="cardElevation">0dp</item>
|
|
||||||
<item name="cardBackgroundColor">@color/surfaceToolbar</item>
|
|
||||||
<item name="cardCornerRadius">@dimen/card_corner</item>
|
|
||||||
</style>
|
|
||||||
|
|
||||||
<style name="ToolbarButton">
|
|
||||||
<item name="android:layout_width">48dp</item>
|
|
||||||
<item name="android:layout_height">48dp</item>
|
|
||||||
<item name="android:background">?actionBarItemBackground</item>
|
|
||||||
<item name="android:elevation">8dp</item>
|
|
||||||
<item name="android:tint">@color/themeLight</item>
|
|
||||||
</style>
|
|
||||||
|
|
||||||
<style name="ToolbarText">
|
|
||||||
<item name="android:layout_width">wrap_content</item>
|
|
||||||
<item name="android:layout_height">wrap_content</item>
|
|
||||||
<item name="android:elevation">8dp</item>
|
|
||||||
<item name="android:includeFontPadding">false</item>
|
|
||||||
<item name="android:textColor">@color/themeLight</item>
|
|
||||||
<item name="android:textSize">20sp</item>
|
|
||||||
</style>
|
|
||||||
|
|
||||||
<style name="ToolbarTimer">
|
|
||||||
<item name="android:layout_width">wrap_content</item>
|
|
||||||
<item name="android:layout_height">wrap_content</item>
|
|
||||||
<item name="android:elevation">8dp</item>
|
|
||||||
<item name="android:includeFontPadding">false</item>
|
|
||||||
<item name="android:text">@string/timer_zero</item>
|
|
||||||
<item name="android:textColor">@color/themeAccent</item>
|
|
||||||
<item name="android:textSize">38sp</item>
|
|
||||||
<item name="android:textStyle">bold</item>
|
|
||||||
</style>
|
|
||||||
|
|
||||||
<style name="MapInfoText">
|
|
||||||
<item name="android:textSize">16sp</item>
|
|
||||||
<item name="android:textColor">@color/themeLight</item>
|
|
||||||
</style>
|
|
||||||
|
|
||||||
<style name="SettingsCard">
|
|
||||||
<item name="android:layout_width">match_parent</item>
|
|
||||||
<item name="android:layout_height">wrap_content</item>
|
|
||||||
<item name="cardBackgroundColor">@color/surfaceCard</item>
|
|
||||||
<item name="cardCornerRadius">@dimen/card_corner</item>
|
|
||||||
</style>
|
|
||||||
|
|
||||||
<style name="SettingsText">
|
|
||||||
<item name="android:textSize">16sp</item>
|
|
||||||
<item name="android:textColor">@color/themeLight</item>
|
|
||||||
</style>
|
|
||||||
|
|
||||||
<style name="SettingsTitle">
|
|
||||||
<item name="android:includeFontPadding">false</item>
|
|
||||||
<item name="android:textSize">16sp</item>
|
|
||||||
<item name="android:textColor">@color/themeAccent</item>
|
|
||||||
</style>
|
|
||||||
|
|
||||||
</resources>
|
</resources>
|
||||||
Reference in new issue
Block a user