Skip to content

Commit 46fbc2b

Browse files
committed
Rekado 4.1.1
- Updated: Localization center moved to the "Crowdin". - Updated: "Jungle" theme replaced with "Retro wave" theme. - Updated: All payloads to the up-to-date versions. - Updated: Overhaul design of the "Themes" screen. - Updated: Icons and padding in whole app. - Fixed: Title and description cut off in the "Tools" screen.
1 parent bdcd082 commit 46fbc2b

31 files changed

+85
-263
lines changed

README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ This problem is in most cases not related to the used device, but to the cable o
3838
This problems occurs on device with old USB-controllers installed in their devices (EHCI/USB 2.0). This is device-only problem, that can be fixed with installing additional kernel patches, what is not recommended to do yourself. Only devices with xHCI (USB 3.0) controllers supported now.
3939

4040
## Localization
41-
All localization files moved to OneSky platform (which I am using for my other projects) and if you want to add/update/check any localization follow [this link](https://rekundevelopment.oneskyapp.com/collaboration/project?id=336657) to start. I will decline all pull requests with your localizations and will accept only OneSky versions, which I will manually add in new updates.
41+
All localization files moved to Crowdin platform (which I am using for my other projects) and if you want to add/update/check any localization follow [this link](https://crowdin.com/project/rekado) to start. I will decline all pull requests with your localizations and will accept only Crowdin versions, which I will manually add in new updates.
4242

4343
## FAQ
4444
**Does application require Root?**

app/build.gradle

+8-10
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ android {
99
applicationId "com.pavelrekun.rekado"
1010
minSdkVersion minimumSDKVersion
1111
targetSdkVersion currentSDKVersion
12-
versionCode 73
13-
versionName "4.1"
12+
versionCode 74
13+
versionName "4.1.1"
1414

1515
archivesBaseName = "[$versionName] Rekado [${versionCode}]"
1616
}
@@ -45,38 +45,36 @@ android {
4545
noCompress 'bin'
4646
}
4747

48-
viewBinding {
49-
enabled = true
48+
buildFeatures {
49+
viewBinding = true
5050
}
5151

5252
}
5353

5454
dependencies {
5555

56-
// Local
56+
// Private libraries
5757
implementation(name: 'magta', ext: 'aar')
5858
implementation(name: 'penza', ext: 'aar')
5959

6060
// Google: AndroidX
61+
implementation "androidx.core:core-ktx:$androidXCoreVersion"
6162
implementation "androidx.recyclerview:recyclerview:$androidXRecyclerViewVersion"
6263
implementation "androidx.browser:browser:$androidXBrowserVersion"
63-
implementation "androidx.preference:preference:$androidXPreferencesVersion"
64+
implementation "androidx.preference:preference-ktx:$androidXPreferencesVersion"
6465
implementation "androidx.constraintlayout:constraintlayout:$androidXConstraintLayoutVersion"
6566
implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:$androidXLifecycleVersion"
6667
implementation "androidx.lifecycle:lifecycle-livedata-ktx:$androidXLifecycleVersion"
6768
implementation "androidx.lifecycle:lifecycle-common-java8:$androidXLifecycleVersion"
6869
implementation "androidx.navigation:navigation-fragment-ktx:$androixXNavigationVersion"
6970
implementation "androidx.navigation:navigation-ui-ktx:$androixXNavigationVersion"
7071

71-
// Google: AndroidX KTX
72-
implementation "androidx.core:core-ktx:$androidXCoreKTX"
73-
7472
// Google: Design
7573
implementation "com.google.android.material:material:$materialComponentsVersion"
7674
implementation "com.google.android:flexbox:$flexBoxLayoutVersion"
7775

7876
// Design
79-
implementation "de.halfbit:edge-to-edge:$edgeToEdgeVersion"
77+
implementation "dev.chrisbanes.insetter:insetter:$insetterVersion"
8078

8179
// Tools
8280
implementation "org.greenrobot:eventbus:$eventBusVersion"

app/libs/magta.aar

13.7 KB
Binary file not shown.

app/libs/penza.aar

1.66 KB
Binary file not shown.

app/src/main/java/com/pavelrekun/rekado/containers/SecondaryContainerActivity.kt

+2-5
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,7 @@ import com.pavelrekun.rekado.base.BaseActivity
1313
import com.pavelrekun.rekado.databinding.ActivityContainerSecondaryBinding
1414
import com.pavelrekun.rekado.services.dialogs.DialogsShower
1515
import com.pavelrekun.rekado.services.extensions.*
16-
import de.halfbit.edgetoedge.Edge
17-
import de.halfbit.edgetoedge.edgeToEdge
16+
import dev.chrisbanes.insetter.applySystemWindowInsetsToPadding
1817

1918
class SecondaryContainerActivity : BaseActivity() {
2019

@@ -46,9 +45,7 @@ class SecondaryContainerActivity : BaseActivity() {
4645
DesignHelper.tintNavigationBar(this, Color.TRANSPARENT)
4746
}
4847

49-
edgeToEdge {
50-
binding.secondaryLayoutToolbar.fit { Edge.Top }
51-
}
48+
binding.secondaryLayoutToolbar.applySystemWindowInsetsToPadding(top = true)
5249
}
5350

5451
private fun navigate() {

app/src/main/java/com/pavelrekun/rekado/screens/about_fragment/AboutFragment.kt

+2-5
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,7 @@ import com.pavelrekun.rekado.databinding.FragmentAboutBinding
1010
import com.pavelrekun.rekado.services.Constants
1111
import com.pavelrekun.rekado.services.extensions.viewBinding
1212
import com.pavelrekun.rekado.services.utils.Utils
13-
import de.halfbit.edgetoedge.Edge
14-
import de.halfbit.edgetoedge.edgeToEdge
13+
import dev.chrisbanes.insetter.applySystemWindowInsetsToPadding
1514

1615
class AboutFragment : BaseFragment(R.layout.fragment_about) {
1716

@@ -40,9 +39,7 @@ class AboutFragment : BaseFragment(R.layout.fragment_about) {
4039
}
4140

4241
private fun initEdgeToEdge() {
43-
edgeToEdge {
44-
binding.aboutLayoutContainer.fit { Edge.Bottom }
45-
}
42+
binding.aboutLayoutContainer.applySystemWindowInsetsToPadding(bottom = true)
4643
}
4744

4845
}

app/src/main/java/com/pavelrekun/rekado/screens/payload_fragment/PayloadsFragment.kt

+4-4
Original file line numberDiff line numberDiff line change
@@ -72,11 +72,11 @@ class PayloadsFragment : BaseFragment(R.layout.fragment_payloads) {
7272
}
7373

7474
private fun initObservers() {
75-
viewModel.isProgressShowing.observe(viewLifecycleOwner, Observer { isShowing ->
75+
viewModel.isProgressShowing.observe(viewLifecycleOwner, { isShowing ->
7676
if (isShowing) showProgress() else hideProgress()
7777
})
7878

79-
viewModel.fetchConfigResult.observe(viewLifecycleOwner, Observer { result ->
79+
viewModel.fetchConfigResult.observe(viewLifecycleOwner, { result ->
8080
when (result) {
8181
Result.SUCCESS -> {
8282
DialogsShower.showPayloadsUpdatesDialog(requireBaseActivity(), result.config, viewModel)
@@ -86,7 +86,7 @@ class PayloadsFragment : BaseFragment(R.layout.fragment_payloads) {
8686
}
8787
})
8888

89-
viewModel.updatePayloadResult.observe(viewLifecycleOwner, Observer { result ->
89+
viewModel.updatePayloadResult.observe(viewLifecycleOwner, { result ->
9090
when (result) {
9191
Result.SUCCESS -> {
9292
updateList()
@@ -96,7 +96,7 @@ class PayloadsFragment : BaseFragment(R.layout.fragment_payloads) {
9696
}
9797
})
9898

99-
viewModel.downloadPayloadResult.observe(viewLifecycleOwner, Observer { result ->
99+
viewModel.downloadPayloadResult.observe(viewLifecycleOwner, { result ->
100100
when (result) {
101101
Result.SUCCESS -> {
102102
updateList()

app/src/main/java/com/pavelrekun/rekado/screens/serial_checker_activity/SerialCheckerFragment.kt

+3-6
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,12 @@ import com.pavelrekun.rekado.R
99
import com.pavelrekun.rekado.base.BaseFragment
1010
import com.pavelrekun.rekado.databinding.FragmentSerialCheckerBinding
1111
import com.pavelrekun.rekado.services.Constants
12-
import com.pavelrekun.rekado.services.utils.SerialUtils
1312
import com.pavelrekun.rekado.services.extensions.getString
1413
import com.pavelrekun.rekado.services.extensions.isEmpty
1514
import com.pavelrekun.rekado.services.extensions.viewBinding
15+
import com.pavelrekun.rekado.services.utils.SerialUtils
1616
import com.pavelrekun.rekado.services.utils.Utils
17-
import de.halfbit.edgetoedge.Edge
18-
import de.halfbit.edgetoedge.edgeToEdge
17+
import dev.chrisbanes.insetter.applySystemWindowInsetsToPadding
1918

2019
class SerialCheckerFragment : BaseFragment(R.layout.fragment_serial_checker) {
2120

@@ -74,9 +73,7 @@ class SerialCheckerFragment : BaseFragment(R.layout.fragment_serial_checker) {
7473
}
7574

7675
private fun initEdgeToEdge() {
77-
edgeToEdge {
78-
binding.serialCheckerLayoutContainer.fit { Edge.Bottom }
79-
}
76+
binding.serialCheckerLayoutContainer.applySystemWindowInsetsToPadding(bottom = true)
8077
}
8178

8279
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {

app/src/main/java/com/pavelrekun/rekado/screens/settings_fragment/SettingsFragment.kt

+6-7
Original file line numberDiff line numberDiff line change
@@ -6,18 +6,19 @@ import android.view.View
66
import androidx.preference.CheckBoxPreference
77
import androidx.preference.ListPreference
88
import androidx.preference.Preference
9+
import com.pavelrekun.magta.restartApp
910
import com.pavelrekun.penza.Penza
1011
import com.pavelrekun.penza.services.helpers.SettingsDialogsHelper
1112
import com.pavelrekun.rekado.R
1213
import com.pavelrekun.rekado.base.BasePreferencesFragment
14+
import com.pavelrekun.rekado.containers.PrimaryContainerActivity
1315
import com.pavelrekun.rekado.services.dialogs.DialogsShower
1416
import com.pavelrekun.rekado.services.extensions.openSettingsAppearanceThemesScreen
1517
import com.pavelrekun.rekado.services.payloads.PayloadHelper
1618
import com.pavelrekun.rekado.services.utils.LoginUtils
1719
import com.pavelrekun.rekado.services.utils.PreferencesUtils
1820
import com.pavelrekun.rekado.services.utils.Utils
19-
import de.halfbit.edgetoedge.Edge
20-
import de.halfbit.edgetoedge.edgeToEdge
21+
import dev.chrisbanes.insetter.applySystemWindowInsetsToPadding
2122

2223
class SettingsFragment : BasePreferencesFragment(R.xml.preferences, R.string.navigation_settings) {
2324

@@ -70,15 +71,15 @@ class SettingsFragment : BasePreferencesFragment(R.xml.preferences, R.string.nav
7071
appearanceRandomize.setOnPreferenceClickListener {
7172
SettingsDialogsHelper.showSettingsRestartDialog(requireBaseActivity()) {
7273
Penza.randomizeTheme()
73-
Utils.restartApplication(requireBaseActivity())
74+
requireBaseActivity().restartApp(PrimaryContainerActivity::class)
7475
}
7576
true
7677
}
7778

7879
appearanceReset.setOnPreferenceClickListener {
7980
SettingsDialogsHelper.showSettingsRestartDialog(requireBaseActivity()) {
8081
Penza.reset()
81-
Utils.restartApplication(requireBaseActivity())
82+
requireBaseActivity().restartApp(PrimaryContainerActivity::class)
8283
}
8384
true
8485
}
@@ -140,9 +141,7 @@ class SettingsFragment : BasePreferencesFragment(R.xml.preferences, R.string.nav
140141

141142

142143
private fun initEdgeToEdge() {
143-
edgeToEdge {
144-
listView.fit { Edge.Bottom }
145-
}
144+
listView.applySystemWindowInsetsToPadding(bottom = true)
146145
}
147146

148147
}

app/src/main/java/com/pavelrekun/rekado/screens/translators_fragment/TranslatorsFragment.kt

+2-5
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,7 @@ import com.pavelrekun.rekado.base.BaseFragment
99
import com.pavelrekun.rekado.databinding.FragmentTranslatorsBinding
1010
import com.pavelrekun.rekado.screens.translators_fragment.adapters.TranslatorsAdapter
1111
import com.pavelrekun.rekado.services.extensions.viewBinding
12-
import de.halfbit.edgetoedge.Edge
13-
import de.halfbit.edgetoedge.edgeToEdge
12+
import dev.chrisbanes.insetter.applySystemWindowInsetsToPadding
1413

1514
class TranslatorsFragment : BaseFragment(R.layout.fragment_translators) {
1615

@@ -40,9 +39,7 @@ class TranslatorsFragment : BaseFragment(R.layout.fragment_translators) {
4039
}
4140

4241
private fun initEdgeToEdge() {
43-
edgeToEdge {
44-
binding.translatorsData.fit { Edge.Bottom }
45-
}
42+
binding.translatorsData.applySystemWindowInsetsToPadding(bottom = true)
4643
}
4744

4845
}

app/src/main/java/com/pavelrekun/rekado/services/dialogs/DialogsShower.kt

+3-2
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,11 @@ import android.widget.ArrayAdapter
44
import android.widget.Toast
55
import androidx.appcompat.app.AlertDialog
66
import com.google.android.material.dialog.MaterialAlertDialogBuilder
7+
import com.pavelrekun.magta.restartApp
78
import com.pavelrekun.penza.services.helpers.SettingsDialogsHelper
8-
import com.pavelrekun.rekado.BuildConfig
99
import com.pavelrekun.rekado.R
1010
import com.pavelrekun.rekado.base.BaseActivity
11+
import com.pavelrekun.rekado.containers.PrimaryContainerActivity
1112
import com.pavelrekun.rekado.data.Config
1213
import com.pavelrekun.rekado.databinding.DialogDonateBinding
1314
import com.pavelrekun.rekado.databinding.DialogPayloadDownloadBinding
@@ -119,7 +120,7 @@ object DialogsShower {
119120

120121
fun showSettingsRestartDialog(activity: BaseActivity) {
121122
SettingsDialogsHelper.showSettingsRestartDialog(activity) {
122-
Utils.restartApplication(activity)
123+
activity.restartApp(PrimaryContainerActivity::class)
123124
}
124125
}
125126

app/src/main/java/com/pavelrekun/rekado/services/utils/Utils.kt

-9
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,9 @@
11
package com.pavelrekun.rekado.services.utils
22

3-
import android.content.Intent
43
import android.hardware.usb.UsbDevice
54
import android.net.Uri
65
import androidx.browser.customtabs.CustomTabsIntent
7-
import androidx.core.app.ActivityCompat
86
import com.pavelrekun.rekado.base.BaseActivity
9-
import com.pavelrekun.rekado.containers.PrimaryContainerActivity
107

118
object Utils {
129

@@ -37,12 +34,6 @@ object Utils {
3734
return result.toString()
3835
}
3936

40-
fun restartApplication(activity: BaseActivity) {
41-
val intent = Intent(activity, PrimaryContainerActivity::class.java)
42-
ActivityCompat.finishAffinity(activity)
43-
activity.startActivity(intent)
44-
}
45-
4637
fun isRCM(device: UsbDevice) = device.vendorId == RCM_DEVICE_ID && device.productId == RCM_VENDOR_ID
4738

4839
}

app/src/main/res/drawable/ic_about_twitter.xml

+3-4
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,11 @@
22
xmlns:tools="http://schemas.android.com/tools"
33
android:width="24dp"
44
android:height="24dp"
5-
android:viewportWidth="24"
6-
android:viewportHeight="24">
5+
android:viewportWidth="96"
6+
android:viewportHeight="96">
77

88
<path
99
android:fillColor="?attr/colorIcon"
10-
android:pathData="M22.46 6c-0.77 0.35-1.6 0.58-2.46 0.69 0.88-0.53 1.56-1.37 1.88-2.38-0.83 0.5-1.75 0.85-2.72 1.05C18.37 4.5 17.26 4 16 4c-2.35 0-4.27 1.92-4.27 4.29 0 0.34 0.04 0.67 0.11 0.98C8.28 9.09 5.11 7.38 3 4.79 2.63 5.42 2.42 6.16 2.42 6.94c0 1.49 0.75 2.81 1.91 3.56-0.71 0-1.37-0.2-1.95-0.5v0.03c0 2.08 1.48 3.82 3.44 4.21-0.36 0.1-0.74 0.15-1.13 0.15-0.27 0-0.54-0.03-0.8-0.08 0.54 1.69 2.11 2.95 4 2.98-1.46 1.16-3.31 1.84-5.33 1.84-0.34 0-0.68-0.02-1.02-0.06C3.44 20.29 5.7 21 8.12 21 16 21 20.33 14.46 20.33 8.79c0-0.19 0-0.37-0.01-0.56 0.84-0.6 1.56-1.36 2.14-2.23z"
10+
android:pathData="M46.27,25.29C49.87,18.53 58.17,14.65 65.66,16.4C69.08,17.2 71.9,19.46 75.18,20.63C79.5,20.33 83.37,18.02 87.52,16.93C85.54,20.36 82.92,23.33 80.06,26.05C82.46,25.71 84.85,25.34 87.25,25.04C85.08,27.57 82.51,29.78 80.62,32.54C79.61,36.03 79.9,39.73 79.25,43.29C76.67,59.62 63.85,73.61 47.94,77.93C34.81,81.99 20.1,79.9 8.65,72.31C16.71,71.94 25.46,71.95 32.05,66.56C28.44,65.46 24.61,64.72 21.37,62.67C19.02,61.09 17.45,58.65 15.87,56.37C19.62,56.3 23.37,56.33 27.12,56.02C23.15,54.08 18.83,52.51 15.68,49.3C13.6,47.18 12.66,44.3 11.67,41.58C15.17,42.42 18.74,43 22.35,43.13C19.27,40.08 15.52,37.55 13.35,33.71C11.16,29.63 12,24.83 12.84,20.5C17.3,24.31 21.32,28.77 26.59,31.51C31.77,34.4 37.66,35.82 43.57,36.05C44.18,32.41 44.5,28.6 46.27,25.29M55.44,26.44C50.45,30.8 52.43,38.12 51.9,43.94C44.89,44.4 37.89,43.7 31.02,42.37C32,51.68 37.32,59.64 43.48,66.37C42.37,68.14 41,69.73 39.89,71.5C43.78,70.79 47.69,69.94 51.28,68.24C65.05,62.1 74.03,46.3 71.59,31.34C70.11,24.4 60.55,21.63 55.44,26.44Z"
1111
tools:fillColor="@color/colorBlack" />
12-
1312
</vector>

app/src/main/res/layout/activity_container_primary.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
android:layout_height="wrap_content"
1313
android:background="?android:attr/windowBackground"
1414
android:elevation="0dp"
15-
android:paddingStart="8dp"
15+
android:paddingStart="24dp"
1616
android:paddingEnd="8dp"
1717
app:titleTextColor="?android:attr/textColorPrimary" />
1818

app/src/main/res/layout/fragment_about.xml

+4-2
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,9 @@
5757
<View
5858
android:layout_width="match_parent"
5959
android:layout_height="1dp"
60+
android:layout_marginStart="24dp"
6061
android:layout_marginTop="16dp"
62+
android:layout_marginEnd="24dp"
6163
android:background="?attr/colorDivider" />
6264

6365
<com.google.android.material.card.MaterialCardView
@@ -75,7 +77,7 @@
7577
android:orientation="vertical">
7678

7779
<TextView
78-
style="@style/Widget.Text.Gilroy.Subtitle.Padding"
80+
style="@style/Widget.Text.Subtitle.Padding"
7981
android:layout_width="match_parent"
8082
android:layout_height="wrap_content"
8183
android:text="@string/about_category_description" />
@@ -109,7 +111,7 @@
109111
android:paddingBottom="16dp">
110112

111113
<TextView
112-
style="@style/Widget.Text.Gilroy.Subtitle.Padding"
114+
style="@style/Widget.Text.Subtitle.Padding"
113115
android:layout_width="match_parent"
114116
android:layout_height="wrap_content"
115117
android:text="@string/about_category_developer" />

app/src/main/res/layout/fragment_instructions.xml

+4-4
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
android:orientation="vertical">
2626

2727
<TextView
28-
style="@style/Widget.Text.Gilroy.Subtitle.Padding"
28+
style="@style/Widget.Text.Subtitle.Padding"
2929
android:layout_width="match_parent"
3030
android:layout_height="wrap_content"
3131
android:text="@string/instructions_category_cable" />
@@ -58,7 +58,7 @@
5858
android:orientation="vertical">
5959

6060
<TextView
61-
style="@style/Widget.Text.Gilroy.Subtitle.Padding"
61+
style="@style/Widget.Text.Subtitle.Padding"
6262
android:layout_width="match_parent"
6363
android:layout_height="wrap_content"
6464
android:text="@string/instructions_category_payload" />
@@ -96,7 +96,7 @@
9696
android:orientation="horizontal">
9797

9898
<TextView
99-
style="@style/Widget.Text.Gilroy.Subtitle.Padding"
99+
style="@style/Widget.Text.Subtitle.Padding"
100100
android:layout_width="wrap_content"
101101
android:layout_height="match_parent"
102102
android:layout_weight="1"
@@ -146,7 +146,7 @@
146146
android:orientation="vertical">
147147

148148
<TextView
149-
style="@style/Widget.Text.Gilroy.Subtitle.Padding"
149+
style="@style/Widget.Text.Subtitle.Padding"
150150
android:layout_width="match_parent"
151151
android:layout_height="wrap_content"
152152
android:text="@string/instructions_category_final" />

app/src/main/res/layout/fragment_payloads.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
android:orientation="vertical">
2626

2727
<TextView
28-
style="@style/Widget.Text.Gilroy.Subtitle.Padding"
28+
style="@style/Widget.Text.Subtitle.Padding"
2929
android:layout_width="match_parent"
3030
android:layout_height="wrap_content"
3131
android:text="@string/navigation_payloads" />

0 commit comments

Comments
 (0)