diff --git a/app/build.gradle b/app/build.gradle index 93a93aa6..3596bbb4 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -69,8 +69,8 @@ dependencies { kapt "androidx.room:room-compiler:2.4.1" implementation "com.google.android.material:material:1.5.0" - implementation "com.google.dagger:hilt-android:2.40.5" - kapt "com.google.dagger:hilt-compiler:2.40.5" + implementation "com.google.dagger:hilt-android:2.41" + kapt "com.google.dagger:hilt-compiler:2.41" implementation "org.osmdroid:osmdroid-android:6.1.11" diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 1351a519..a1a8feeb 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -11,6 +11,7 @@ android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" + android:supportsRtl="true" android:theme="@style/Theme.Look4Sat.Main"> Fragment.getNavResult(@IdRes id: Int, key: String, onResult: (result: T) fun Fragment.setNavResult(key: String, value: T) { findNavController().previousBackStackEntry?.savedStateHandle?.set(key, value) } - -fun Long.toTimerString(): String { - val format = "%02d:%02d:%02d" - val hours = TimeUnit.MILLISECONDS.toHours(this) - val minutes = TimeUnit.MILLISECONDS.toMinutes(this) % 60 - val seconds = TimeUnit.MILLISECONDS.toSeconds(this) % 60 - return String.format(format, hours, minutes, seconds) -} - -fun Double.round(decimals: Int): Double { - var multiplier = 1.0 - repeat(decimals) { multiplier *= 10 } - return kotlin.math.round(this * multiplier) / multiplier -} - -fun String.getHash(type: String = "SHA-256"): String { - val hexChars = "0123456789ABCDEF" - val bytes = MessageDigest.getInstance(type).digest(this.toByteArray()) - val result = StringBuilder(bytes.size * 2) - bytes.forEach { - val i = it.toInt() - result.append(hexChars[i shr 4 and 0x0f]) - result.append(hexChars[i and 0x0f]) - } - return result.toString() -} - -fun String.isValidEmail(): Boolean { - val expression = "^[\\w.-]+@([\\w\\-]+\\.)+[A-Z]{2,8}$" - val pattern = Pattern.compile(expression, Pattern.CASE_INSENSITIVE) - return pattern.matcher(this).matches() -} - -fun String.isValidIPv4(): Boolean { - val ip4 = "^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(\\.(?!\$)|\$)){4}\$" - return this.matches(ip4.toRegex()) -} - -fun String.isValidPort(): Boolean { - return this.isNotEmpty() && this.toInt() in 1024..65535 -} - -fun Float.toPx(): Int = (this * Resources.getSystem().displayMetrics.density).toInt() - -fun AlertDialog.Builder.setEditText(editText: EditText): AlertDialog.Builder { - val container = FrameLayout(context) - container.addView(editText) - val containerParams = FrameLayout.LayoutParams( - FrameLayout.LayoutParams.MATCH_PARENT, - FrameLayout.LayoutParams.WRAP_CONTENT - ) - val marginHorizontal = 32F - val marginTop = 24F - containerParams.topMargin = (marginTop / 2).toPx() - containerParams.leftMargin = marginHorizontal.toInt() - containerParams.rightMargin = marginHorizontal.toInt() - container.layoutParams = containerParams - val superContainer = FrameLayout(context) - superContainer.addView(container) - setView(superContainer) - return this -} - -fun ping(hostname: String, port: Int): Int { - val start = System.currentTimeMillis() - val socket = Socket() - try { - socket.connect(InetSocketAddress(hostname, port), 6000) - socket.close() - } catch (exception: Exception) { - exception.printStackTrace() - println("Failed to ping: $hostname") - return Int.MAX_VALUE - } - return (System.currentTimeMillis() - start).toInt() -} diff --git a/app/src/main/java/com/rtbishop/look4sat/presentation/MainActivity.kt b/app/src/main/java/com/rtbishop/look4sat/presentation/MainActivity.kt index d2ba5a3b..80066242 100644 --- a/app/src/main/java/com/rtbishop/look4sat/presentation/MainActivity.kt +++ b/app/src/main/java/com/rtbishop/look4sat/presentation/MainActivity.kt @@ -17,6 +17,7 @@ */ package com.rtbishop.look4sat.presentation +import android.annotation.SuppressLint import android.content.pm.ActivityInfo import android.os.Bundle import androidx.activity.viewModels @@ -30,6 +31,7 @@ class MainActivity : AppCompatActivity() { private val mainViewModel: MainViewModel by viewModels() + @SuppressLint("SourceLockedOrientationActivity") override fun onCreate(savedInstanceState: Bundle?) { requestedOrientation = ActivityInfo.SCREEN_ORIENTATION_PORTRAIT installSplashScreen() diff --git a/app/src/main/java/com/rtbishop/look4sat/presentation/mapScreen/MapFragment.kt b/app/src/main/java/com/rtbishop/look4sat/presentation/mapScreen/MapFragment.kt index 26e4ab6b..e1b3e9ca 100644 --- a/app/src/main/java/com/rtbishop/look4sat/presentation/mapScreen/MapFragment.kt +++ b/app/src/main/java/com/rtbishop/look4sat/presentation/mapScreen/MapFragment.kt @@ -129,7 +129,7 @@ class MapFragment : Fragment(R.layout.fragment_map) { textLabelFontSize = 24 textLabelBackgroundColor = Color.TRANSPARENT textLabelForegroundColor = - ContextCompat.getColor(requireContext(), R.color.themeAccent) + ContextCompat.getColor(requireContext(), R.color.accent) setTextIcon(it.key.data.name) setAnchor(Marker.ANCHOR_CENTER, Marker.ANCHOR_CENTER) try { diff --git a/app/src/main/java/com/rtbishop/look4sat/presentation/passesScreen/PassesFragment.kt b/app/src/main/java/com/rtbishop/look4sat/presentation/passesScreen/PassesFragment.kt index f3185d2b..789583ff 100644 --- a/app/src/main/java/com/rtbishop/look4sat/presentation/passesScreen/PassesFragment.kt +++ b/app/src/main/java/com/rtbishop/look4sat/presentation/passesScreen/PassesFragment.kt @@ -30,8 +30,8 @@ import com.rtbishop.look4sat.R import com.rtbishop.look4sat.databinding.FragmentPassesBinding import com.rtbishop.look4sat.domain.model.DataState import com.rtbishop.look4sat.domain.predict.SatPass +import com.rtbishop.look4sat.domain.toTimerString import com.rtbishop.look4sat.presentation.getNavResult -import com.rtbishop.look4sat.presentation.toTimerString import com.rtbishop.look4sat.presentation.toast import dagger.hilt.android.AndroidEntryPoint diff --git a/app/src/main/java/com/rtbishop/look4sat/presentation/radarScreen/RadarFragment.kt b/app/src/main/java/com/rtbishop/look4sat/presentation/radarScreen/RadarFragment.kt index 0e5c4735..dc26a03b 100644 --- a/app/src/main/java/com/rtbishop/look4sat/presentation/radarScreen/RadarFragment.kt +++ b/app/src/main/java/com/rtbishop/look4sat/presentation/radarScreen/RadarFragment.kt @@ -31,7 +31,7 @@ import com.rtbishop.look4sat.data.ISettingsHandler import com.rtbishop.look4sat.databinding.FragmentRadarBinding import com.rtbishop.look4sat.domain.predict.SatPass import com.rtbishop.look4sat.domain.predict.SatPos -import com.rtbishop.look4sat.presentation.toTimerString +import com.rtbishop.look4sat.domain.toTimerString import dagger.hilt.android.AndroidEntryPoint import javax.inject.Inject diff --git a/app/src/main/java/com/rtbishop/look4sat/presentation/radarScreen/RadarView.kt b/app/src/main/java/com/rtbishop/look4sat/presentation/radarScreen/RadarView.kt index 3733b1fb..14e7a0f1 100644 --- a/app/src/main/java/com/rtbishop/look4sat/presentation/radarScreen/RadarView.kt +++ b/app/src/main/java/com/rtbishop/look4sat/presentation/radarScreen/RadarView.kt @@ -29,7 +29,7 @@ import kotlin.math.sin class RadarView(context: Context) : View(context) { - private val defaultColor = ContextCompat.getColor(context, R.color.themeAccent) + private val defaultColor = ContextCompat.getColor(context, R.color.accent) private val scale = resources.displayMetrics.density private val radarWidth = resources.displayMetrics.widthPixels private val radarRadius = radarWidth * 0.48f @@ -38,7 +38,7 @@ class RadarView(context: Context) : View(context) { private var position: SatPos? = null private var positions: List = emptyList() - private var radarColor = ContextCompat.getColor(context, R.color.themeLight) + private var radarColor = ContextCompat.getColor(context, R.color.textMain) private var radarCircleNum = 3 private var radarPaint = Paint(Paint.ANTI_ALIAS_FLAG).apply { color = radarColor @@ -79,7 +79,7 @@ class RadarView(context: Context) : View(context) { private val arrowPath = Path() private var arrowPaint = Paint(Paint.ANTI_ALIAS_FLAG).apply { - color = ContextCompat.getColor(context, R.color.themeAccent) + color = ContextCompat.getColor(context, R.color.accent) style = Paint.Style.FILL strokeWidth = strokeSize } @@ -135,7 +135,7 @@ class RadarView(context: Context) : View(context) { isTrackCreated = true } - canvas.drawColor(ContextCompat.getColor(context, R.color.surfaceCard)) + canvas.drawColor(ContextCompat.getColor(context, R.color.cardRegular)) drawRadarCircle(canvas, cx, cy, radarRadius) drawRadarCross(canvas, cx, cy, radarRadius) drawRadarText(canvas, cx, radarRadius) diff --git a/app/src/main/java/com/rtbishop/look4sat/presentation/radarScreen/RadarViewModel.kt b/app/src/main/java/com/rtbishop/look4sat/presentation/radarScreen/RadarViewModel.kt index 7694e8ab..6042bfc0 100644 --- a/app/src/main/java/com/rtbishop/look4sat/presentation/radarScreen/RadarViewModel.kt +++ b/app/src/main/java/com/rtbishop/look4sat/presentation/radarScreen/RadarViewModel.kt @@ -27,8 +27,8 @@ import com.rtbishop.look4sat.domain.predict.GeoPos import com.rtbishop.look4sat.domain.predict.Predictor import com.rtbishop.look4sat.domain.predict.SatPass import com.rtbishop.look4sat.domain.predict.SatPos +import com.rtbishop.look4sat.domain.round import com.rtbishop.look4sat.framework.OrientationHandler -import com.rtbishop.look4sat.presentation.round import dagger.hilt.android.lifecycle.HiltViewModel import kotlinx.coroutines.delay import kotlinx.coroutines.isActive diff --git a/app/src/main/java/com/rtbishop/look4sat/presentation/settingsScreen/SettingsFragment.kt b/app/src/main/java/com/rtbishop/look4sat/presentation/settingsScreen/SettingsFragment.kt index 58e54f20..46aa43ac 100644 --- a/app/src/main/java/com/rtbishop/look4sat/presentation/settingsScreen/SettingsFragment.kt +++ b/app/src/main/java/com/rtbishop/look4sat/presentation/settingsScreen/SettingsFragment.kt @@ -34,11 +34,11 @@ import androidx.navigation.fragment.findNavController import com.rtbishop.look4sat.BuildConfig import com.rtbishop.look4sat.R import com.rtbishop.look4sat.databinding.FragmentSettingsBinding +import com.rtbishop.look4sat.domain.isValidIPv4 +import com.rtbishop.look4sat.domain.isValidPort import com.rtbishop.look4sat.domain.model.DataState import com.rtbishop.look4sat.domain.predict.GeoPos import com.rtbishop.look4sat.presentation.getNavResult -import com.rtbishop.look4sat.presentation.isValidIPv4 -import com.rtbishop.look4sat.presentation.isValidPort import dagger.hilt.android.AndroidEntryPoint @AndroidEntryPoint @@ -94,28 +94,28 @@ class SettingsFragment : Fragment(R.layout.fragment_settings) { private fun setupAboutCard() { binding.settingsInfo.aboutVersion.text = - String.format(getString(R.string.about_version), BuildConfig.VERSION_NAME) -// binding.settingsInfo.aboutBtnGithub.setOnClickListener { -// gotoUrl("https://github.com/rt-bishop/Look4Sat/") -// } -// binding.settingsInfo.aboutBtnDonate.setOnClickListener { -// gotoUrl("https://www.buymeacoffee.com/rtbishop") -// } -// binding.settingsInfo.aboutBtnFdroid.setOnClickListener { -// gotoUrl("https://f-droid.org/en/packages/com.rtbishop.look4sat/") -// } + String.format(getString(R.string.app_version), BuildConfig.VERSION_NAME) + binding.settingsGithubBtn.setOnClickListener { + gotoUrl("https://github.com/rt-bishop/Look4Sat/") + } + binding.settingsFab.setOnClickListener { + gotoUrl("https://www.buymeacoffee.com/rtbishop") + } + binding.settingsFdroidBtn.setOnClickListener { + gotoUrl("https://f-droid.org/en/packages/com.rtbishop.look4sat/") + } } private fun setupLocationCard() { setPositionText(viewModel.getStationPosition()) - binding.settingsLocation.locationBtnGps.setOnClickListener { + binding.settingsLocation.positionBtnGps.setOnClickListener { locationRequest.launch(arrayOf(locationFine, locationCoarse)) } - binding.settingsLocation.locationBtnManual.setOnClickListener { + binding.settingsLocation.positionBtnManual.setOnClickListener { val action = SettingsFragmentDirections.actionPrefsToLocation() findNavController().navigate(action) } - binding.settingsLocation.locationBtnQth.setOnClickListener { + binding.settingsLocation.positionBtnQth.setOnClickListener { val action = SettingsFragmentDirections.actionPrefsToLocator() findNavController().navigate(action) } @@ -136,11 +136,11 @@ class SettingsFragment : Fragment(R.layout.fragment_settings) { binding.settingsData.dataBtnClear.setOnClickListener { viewModel.clearData() } viewModel.entries.observe(viewLifecycleOwner) { number -> val entriesFormat = getString(R.string.fmt_entries) - binding.settingsData.dataSatellites.text = String.format(entriesFormat, number) + binding.settingsData.dataEntries.text = String.format(entriesFormat, number) } viewModel.radios.observe(viewLifecycleOwner) { number -> val radiosFormat = getString(R.string.fmt_radios) - binding.settingsData.dataTransmitters.text = String.format(radiosFormat, number) + binding.settingsData.dataRadios.text = String.format(radiosFormat, number) } getNavResult>(R.id.nav_settings, "sources") { sources -> viewModel.updateDataFromWeb(sources) @@ -148,22 +148,22 @@ class SettingsFragment : Fragment(R.layout.fragment_settings) { } private fun setupTrackingCard() { - binding.settingsTracking.trackingSwitch.apply { + binding.settingsTracking.remoteSwitch.apply { isChecked = viewModel.getRotatorEnabled() - binding.settingsTracking.trackingIp.isEnabled = isChecked - binding.settingsTracking.trackingIpEdit.setText(viewModel.getRotatorServer()) - binding.settingsTracking.trackingPort.isEnabled = isChecked - binding.settingsTracking.trackingPortEdit.setText(viewModel.getRotatorPort()) + binding.settingsTracking.remoteIp.isEnabled = isChecked + binding.settingsTracking.remoteIpEdit.setText(viewModel.getRotatorServer()) + binding.settingsTracking.remotePort.isEnabled = isChecked + binding.settingsTracking.remotePortEdit.setText(viewModel.getRotatorPort()) setOnCheckedChangeListener { _, isChecked -> viewModel.setRotatorEnabled(isChecked) - binding.settingsTracking.trackingIp.isEnabled = isChecked - binding.settingsTracking.trackingPort.isEnabled = isChecked + binding.settingsTracking.remoteIp.isEnabled = isChecked + binding.settingsTracking.remotePort.isEnabled = isChecked } } - binding.settingsTracking.trackingIpEdit.doOnTextChanged { text, _, _, _ -> + binding.settingsTracking.remoteIpEdit.doOnTextChanged { text, _, _, _ -> if (text.toString().isValidIPv4()) viewModel.setRotatorServer(text.toString()) } - binding.settingsTracking.trackingPortEdit.doOnTextChanged { text, _, _, _ -> + binding.settingsTracking.remotePortEdit.doOnTextChanged { text, _, _, _ -> if (text.toString().isValidPort()) viewModel.setRotatorPort(text.toString()) } } @@ -184,32 +184,32 @@ class SettingsFragment : Fragment(R.layout.fragment_settings) { } private fun setupWarrantyCard() { - binding.settingsWarranty.warrantyThanks.movementMethod = LinkMovementMethod.getInstance() - binding.settingsWarranty.warrantyLicense.movementMethod = LinkMovementMethod.getInstance() + binding.settingsWarranty.outroThanks.movementMethod = LinkMovementMethod.getInstance() + binding.settingsWarranty.outroLicense.movementMethod = LinkMovementMethod.getInstance() } private fun setPositionText(geoPos: GeoPos) { val latFormat = getString(R.string.location_lat) val lonFormat = getString(R.string.location_lon) - binding.settingsLocation.locationLat.text = String.format(latFormat, geoPos.latitude) - binding.settingsLocation.locationLon.text = String.format(lonFormat, geoPos.longitude) + binding.settingsLocation.positionLat.text = String.format(latFormat, geoPos.latitude) + binding.settingsLocation.positionLon.text = String.format(lonFormat, geoPos.longitude) } private fun handleStationPosition(pos: DataState) { when (pos) { is DataState.Success -> { setPositionText(pos.data) - binding.settingsLocation.locationProgress.isIndeterminate = false + binding.settingsLocation.positionProgress.isIndeterminate = false viewModel.setPositionHandled() showToast(getString(R.string.pref_pos_success)) } is DataState.Error -> { - binding.settingsLocation.locationProgress.isIndeterminate = false + binding.settingsLocation.positionProgress.isIndeterminate = false viewModel.setPositionHandled() showToast(pos.message.toString()) } DataState.Loading -> { - binding.settingsLocation.locationProgress.isIndeterminate = true + binding.settingsLocation.positionProgress.isIndeterminate = true } DataState.Handled -> {} } diff --git a/app/src/main/res/drawable/ic_add.xml b/app/src/main/res/drawable/ic_add.xml deleted file mode 100644 index 0553ae30..00000000 --- a/app/src/main/res/drawable/ic_add.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - diff --git a/app/src/main/res/drawable/ic_back.xml b/app/src/main/res/drawable/ic_back.xml index c9d2255e..cd06f309 100644 --- a/app/src/main/res/drawable/ic_back.xml +++ b/app/src/main/res/drawable/ic_back.xml @@ -1,6 +1,7 @@ diff --git a/app/src/main/res/drawable/ic_clear.xml b/app/src/main/res/drawable/ic_clear.xml index a458eee2..868b390b 100644 --- a/app/src/main/res/drawable/ic_clear.xml +++ b/app/src/main/res/drawable/ic_clear.xml @@ -1,10 +1,11 @@ - + diff --git a/app/src/main/res/drawable/ic_done.xml b/app/src/main/res/drawable/ic_done.xml index 648f00d7..d12fc074 100644 --- a/app/src/main/res/drawable/ic_done.xml +++ b/app/src/main/res/drawable/ic_done.xml @@ -1,10 +1,11 @@ - + android:viewportHeight="24"> + diff --git a/app/src/main/res/drawable/ic_file.xml b/app/src/main/res/drawable/ic_file.xml index 62c1d5e9..0e3bf326 100644 --- a/app/src/main/res/drawable/ic_file.xml +++ b/app/src/main/res/drawable/ic_file.xml @@ -1,6 +1,7 @@ diff --git a/app/src/main/res/drawable/ic_filter.xml b/app/src/main/res/drawable/ic_filter.xml index 52d95909..17848623 100644 --- a/app/src/main/res/drawable/ic_filter.xml +++ b/app/src/main/res/drawable/ic_filter.xml @@ -1,6 +1,7 @@ diff --git a/app/src/main/res/drawable/ic_gps.xml b/app/src/main/res/drawable/ic_gps.xml index 23dfe20f..c5769bb5 100644 --- a/app/src/main/res/drawable/ic_gps.xml +++ b/app/src/main/res/drawable/ic_gps.xml @@ -1,9 +1,10 @@ diff --git a/app/src/main/res/drawable/ic_launcher_background.xml b/app/src/main/res/drawable/ic_launcher_bg.xml similarity index 68% rename from app/src/main/res/drawable/ic_launcher_background.xml rename to app/src/main/res/drawable/ic_launcher_bg.xml index 69b951c1..ad787e03 100644 --- a/app/src/main/res/drawable/ic_launcher_background.xml +++ b/app/src/main/res/drawable/ic_launcher_bg.xml @@ -1,4 +1,4 @@ - + diff --git a/app/src/main/res/drawable/ic_launcher_foreground.xml b/app/src/main/res/drawable/ic_launcher_fg.xml similarity index 92% rename from app/src/main/res/drawable/ic_launcher_foreground.xml rename to app/src/main/res/drawable/ic_launcher_fg.xml index 10415c75..82be534e 100644 --- a/app/src/main/res/drawable/ic_launcher_foreground.xml +++ b/app/src/main/res/drawable/ic_launcher_fg.xml @@ -1,6 +1,7 @@ diff --git a/app/src/main/res/drawable/ic_map.xml b/app/src/main/res/drawable/ic_map.xml index 2c9d4e34..8896468e 100644 --- a/app/src/main/res/drawable/ic_map.xml +++ b/app/src/main/res/drawable/ic_map.xml @@ -1,6 +1,7 @@ diff --git a/app/src/main/res/drawable/ic_next.xml b/app/src/main/res/drawable/ic_next.xml index 9c0d721b..cfcbcb1f 100644 --- a/app/src/main/res/drawable/ic_next.xml +++ b/app/src/main/res/drawable/ic_next.xml @@ -1,6 +1,7 @@ diff --git a/app/src/main/res/drawable/ic_prev.xml b/app/src/main/res/drawable/ic_prev.xml index 8546554e..d23dc8d2 100644 --- a/app/src/main/res/drawable/ic_prev.xml +++ b/app/src/main/res/drawable/ic_prev.xml @@ -1,6 +1,7 @@ diff --git a/app/src/main/res/drawable/ic_qth.xml b/app/src/main/res/drawable/ic_qth.xml index 089e2cbb..5c965859 100644 --- a/app/src/main/res/drawable/ic_qth.xml +++ b/app/src/main/res/drawable/ic_qth.xml @@ -1,6 +1,7 @@ diff --git a/app/src/main/res/drawable/ic_refresh.xml b/app/src/main/res/drawable/ic_refresh.xml index e4d53113..afb68d0a 100644 --- a/app/src/main/res/drawable/ic_refresh.xml +++ b/app/src/main/res/drawable/ic_refresh.xml @@ -1,10 +1,11 @@ - + android:viewportHeight="24"> + diff --git a/app/src/main/res/drawable/ic_satellite.xml b/app/src/main/res/drawable/ic_satellite.xml index 6d2743f7..e535a17e 100644 --- a/app/src/main/res/drawable/ic_satellite.xml +++ b/app/src/main/res/drawable/ic_satellite.xml @@ -1,6 +1,7 @@ diff --git a/app/src/main/res/drawable/ic_splash.xml b/app/src/main/res/drawable/ic_splash.xml index a4627eb9..4d3d8106 100644 --- a/app/src/main/res/drawable/ic_splash.xml +++ b/app/src/main/res/drawable/ic_splash.xml @@ -7,7 +7,7 @@ android:translateX="52" android:translateY="44"> diff --git a/app/src/main/res/drawable/ic_sputnik.xml b/app/src/main/res/drawable/ic_sputnik.xml index 81c71e00..9a0aaea0 100644 --- a/app/src/main/res/drawable/ic_sputnik.xml +++ b/app/src/main/res/drawable/ic_sputnik.xml @@ -1,6 +1,7 @@ diff --git a/app/src/main/res/drawable/ic_support.xml b/app/src/main/res/drawable/ic_support.xml index 7297f11f..051f8ad9 100644 --- a/app/src/main/res/drawable/ic_support.xml +++ b/app/src/main/res/drawable/ic_support.xml @@ -1,10 +1,11 @@ - + android:viewportHeight="24"> + diff --git a/app/src/main/res/drawable/item_divider.xml b/app/src/main/res/drawable/item_divider.xml index b4bf8bcf..e8e5cb49 100644 --- a/app/src/main/res/drawable/item_divider.xml +++ b/app/src/main/res/drawable/item_divider.xml @@ -4,5 +4,5 @@ - + diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index b8038cf2..0274daed 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -1,9 +1,9 @@ + app:navGraph="@navigation/nav_graph" /> diff --git a/app/src/main/res/layout/card_about.xml b/app/src/main/res/layout/card_about.xml index 3ffad9a6..83b4238a 100644 --- a/app/src/main/res/layout/card_about.xml +++ b/app/src/main/res/layout/card_about.xml @@ -21,7 +21,7 @@ app:layout_constraintHorizontal_chainStyle="packed" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="@+id/about_title" - app:tint="@color/themeAccent" /> + app:tint="@color/accent" /> + app:layout_constraintStart_toEndOf="@+id/data_entries" />