Skip to content

Commit 60912ca

Browse files
authored
Merge pull request #227 from fatihergin/feature/viewbinding-and-sdk-34-migration
Feature/viewbinding and sdk 34 migration
2 parents 2c8edfa + bc08116 commit 60912ca

File tree

16 files changed

+338
-273
lines changed

16 files changed

+338
-273
lines changed

app/build.gradle

Lines changed: 19 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
apply plugin: 'com.android.application'
22
apply plugin: 'kotlin-android'
3-
apply plugin: 'kotlin-android-extensions'
43
apply plugin: 'kotlin-kapt'
54

65
def keystorePropertiesFile = rootProject.file("keystore.properties")
@@ -10,12 +9,13 @@ if (keystorePropertiesFile.exists()) {
109
}
1110

1211
android {
13-
compileSdk 33
12+
namespace "com.simplemobiletools.keyboard"
13+
compileSdk 34
1414

1515
defaultConfig {
1616
applicationId "com.simplemobiletools.keyboard"
1717
minSdk 23
18-
targetSdk 33
18+
targetSdk 34
1919
versionCode 22
2020
versionName "5.4.7"
2121
multiDexEnabled true
@@ -34,6 +34,11 @@ android {
3434
}
3535
}
3636

37+
buildFeatures {
38+
buildConfig true
39+
viewBinding true
40+
}
41+
3742
buildTypes {
3843
debug {
3944
applicationIdSuffix ".debug"
@@ -47,7 +52,16 @@ android {
4752
}
4853
}
4954

50-
flavorDimensions "variants"
55+
compileOptions {
56+
sourceCompatibility JavaVersion.VERSION_17
57+
targetCompatibility JavaVersion.VERSION_17
58+
}
59+
60+
kotlinOptions {
61+
jvmTarget = '17'
62+
}
63+
64+
flavorDimensions = ["variants"]
5165
productFlavors {
5266
core {}
5367
fdroid {}
@@ -65,7 +79,7 @@ android {
6579
}
6680

6781
dependencies {
68-
implementation 'com.github.SimpleMobileTools:Simple-Commons:2d4e07e5f4'
82+
implementation 'com.github.SimpleMobileTools:Simple-Commons:0e173dc5ad'
6983
implementation 'androidx.emoji2:emoji2-bundled:1.2.0'
7084
implementation 'androidx.autofill:autofill:1.1.0'
7185

app/src/main/kotlin/com/simplemobiletools/keyboard/activities/MainActivity.kt

Lines changed: 18 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -12,28 +12,32 @@ import com.simplemobiletools.commons.helpers.LICENSE_GSON
1212
import com.simplemobiletools.commons.models.FAQItem
1313
import com.simplemobiletools.keyboard.BuildConfig
1414
import com.simplemobiletools.keyboard.R
15-
import kotlinx.android.synthetic.main.activity_main.*
15+
import com.simplemobiletools.keyboard.databinding.ActivityMainBinding
1616

1717
class MainActivity : SimpleActivity() {
18+
private val binding by viewBinding(ActivityMainBinding::inflate)
19+
1820
override fun onCreate(savedInstanceState: Bundle?) {
1921
isMaterialActivity = true
2022
super.onCreate(savedInstanceState)
21-
setContentView(R.layout.activity_main)
23+
setContentView(binding.root)
2224
appLaunched(BuildConfig.APPLICATION_ID)
2325
setupOptionsMenu()
2426
refreshMenuItems()
2527

26-
updateMaterialActivityViews(main_coordinator, main_holder, useTransparentNavigation = false, useTopSearchMenu = false)
27-
setupMaterialScrollListener(main_nested_scrollview, main_toolbar)
28+
binding.apply {
29+
updateMaterialActivityViews(mainCoordinator, mainHolder, useTransparentNavigation = false, useTopSearchMenu = false)
30+
setupMaterialScrollListener(mainNestedScrollview, mainToolbar)
2831

29-
change_keyboard_holder.setOnClickListener {
30-
(getSystemService(INPUT_METHOD_SERVICE) as InputMethodManager).showInputMethodPicker()
32+
changeKeyboardHolder.setOnClickListener {
33+
(getSystemService(INPUT_METHOD_SERVICE) as InputMethodManager).showInputMethodPicker()
34+
}
3135
}
3236
}
3337

3438
override fun onResume() {
3539
super.onResume()
36-
setupToolbar(main_toolbar)
40+
setupToolbar(binding.mainToolbar)
3741
if (!isKeyboardEnabled()) {
3842
ConfirmationAdvancedDialog(this, messageId = R.string.redirection_note, positive = R.string.ok, negative = 0) { success ->
3943
if (success) {
@@ -47,12 +51,12 @@ class MainActivity : SimpleActivity() {
4751
}
4852
}
4953

50-
updateTextColors(main_nested_scrollview)
54+
updateTextColors(binding.mainNestedScrollview)
5155
updateChangeKeyboardColor()
5256
}
5357

5458
private fun setupOptionsMenu() {
55-
main_toolbar.setOnMenuItemClickListener { menuItem ->
59+
binding.mainToolbar.setOnMenuItemClickListener { menuItem ->
5660
when (menuItem.itemId) {
5761
R.id.more_apps_from_us -> launchMoreAppsFromUsIntent()
5862
R.id.settings -> launchSettings()
@@ -64,7 +68,7 @@ class MainActivity : SimpleActivity() {
6468
}
6569

6670
private fun refreshMenuItems() {
67-
main_toolbar.menu.apply {
71+
binding.mainToolbar.menu.apply {
6872
findItem(R.id.more_apps_from_us).isVisible = !resources.getBoolean(R.bool.hide_google_relations)
6973
}
7074
}
@@ -89,8 +93,10 @@ class MainActivity : SimpleActivity() {
8993
private fun updateChangeKeyboardColor() {
9094
val applyBackground = resources.getDrawable(R.drawable.button_background_rounded, theme) as RippleDrawable
9195
(applyBackground as LayerDrawable).findDrawableByLayerId(R.id.button_background_holder).applyColorFilter(getProperPrimaryColor())
92-
change_keyboard.background = applyBackground
93-
change_keyboard.setTextColor(getProperPrimaryColor().getContrastColor())
96+
binding.changeKeyboard.apply {
97+
background = applyBackground
98+
setTextColor(getProperPrimaryColor().getContrastColor())
99+
}
94100
}
95101

96102
private fun isKeyboardEnabled(): Boolean {

app/src/main/kotlin/com/simplemobiletools/keyboard/activities/ManageClipboardItemsActivity.kt

Lines changed: 28 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -13,45 +13,51 @@ import com.simplemobiletools.commons.helpers.*
1313
import com.simplemobiletools.commons.interfaces.RefreshRecyclerViewListener
1414
import com.simplemobiletools.keyboard.R
1515
import com.simplemobiletools.keyboard.adapters.ClipsActivityAdapter
16+
import com.simplemobiletools.keyboard.databinding.ActivityManageClipboardItemsBinding
1617
import com.simplemobiletools.keyboard.dialogs.AddOrEditClipDialog
1718
import com.simplemobiletools.keyboard.dialogs.ExportClipsDialog
1819
import com.simplemobiletools.keyboard.extensions.clipsDB
1920
import com.simplemobiletools.keyboard.extensions.config
2021
import com.simplemobiletools.keyboard.helpers.ClipsHelper
2122
import com.simplemobiletools.keyboard.models.Clip
22-
import kotlinx.android.synthetic.main.activity_manage_clipboard_items.*
2323
import java.io.File
2424
import java.io.InputStream
2525
import java.io.OutputStream
2626

2727
class ManageClipboardItemsActivity : SimpleActivity(), RefreshRecyclerViewListener {
28-
private val PICK_EXPORT_CLIPS_INTENT = 21
29-
private val PICK_IMPORT_CLIPS_SOURCE_INTENT = 22
28+
companion object {
29+
private const val PICK_EXPORT_CLIPS_INTENT = 21
30+
private const val PICK_IMPORT_CLIPS_SOURCE_INTENT = 22
31+
}
32+
33+
private val binding by viewBinding(ActivityManageClipboardItemsBinding::inflate)
3034

3135
override fun onCreate(savedInstanceState: Bundle?) {
3236
isMaterialActivity = true
3337
super.onCreate(savedInstanceState)
34-
setContentView(R.layout.activity_manage_clipboard_items)
38+
setContentView(binding.root)
3539
setupOptionsMenu()
36-
updateTextColors(suggestions_items_holder)
40+
updateTextColors(binding.suggestionsItemsHolder)
3741
updateClips()
3842

39-
updateMaterialActivityViews(clipboard_coordinator, clipboard_items_list, useTransparentNavigation = true, useTopSearchMenu = false)
40-
setupMaterialScrollListener(clipboard_nested_scrollview, clipboard_toolbar)
43+
binding.apply {
44+
updateMaterialActivityViews(clipboardCoordinator, clipboardItemsList, useTransparentNavigation = true, useTopSearchMenu = false)
45+
setupMaterialScrollListener(clipboardNestedScrollview, clipboardToolbar)
4146

42-
clipboard_items_placeholder.text = "${getText(R.string.manage_clipboard_empty)}\n\n${getText(R.string.manage_clips)}"
43-
clipboard_items_placeholder_2.apply {
44-
underlineText()
45-
setTextColor(getProperPrimaryColor())
46-
setOnClickListener {
47-
addOrEditClip()
47+
clipboardItemsPlaceholder.text = "${getText(R.string.manage_clipboard_empty)}\n\n${getText(R.string.manage_clips)}"
48+
clipboardItemsPlaceholder2.apply {
49+
underlineText()
50+
setTextColor(getProperPrimaryColor())
51+
setOnClickListener {
52+
addOrEditClip()
53+
}
4854
}
4955
}
5056
}
5157

5258
override fun onResume() {
5359
super.onResume()
54-
setupToolbar(clipboard_toolbar, NavigationIcon.Arrow)
60+
setupToolbar(binding.clipboardToolbar, NavigationIcon.Arrow)
5561
}
5662

5763
override fun onActivityResult(requestCode: Int, resultCode: Int, resultData: Intent?) {
@@ -67,7 +73,7 @@ class ManageClipboardItemsActivity : SimpleActivity(), RefreshRecyclerViewListen
6773

6874

6975
private fun setupOptionsMenu() {
70-
clipboard_toolbar.setOnMenuItemClickListener { menuItem ->
76+
binding.clipboardToolbar.setOnMenuItemClickListener { menuItem ->
7177
when (menuItem.itemId) {
7278
R.id.add_clipboard_item -> {
7379
addOrEditClip()
@@ -97,15 +103,17 @@ class ManageClipboardItemsActivity : SimpleActivity(), RefreshRecyclerViewListen
97103
ensureBackgroundThread {
98104
val clips = clipsDB.getClips().toMutableList() as ArrayList<Clip>
99105
runOnUiThread {
100-
ClipsActivityAdapter(this, clips, clipboard_items_list, this) {
106+
ClipsActivityAdapter(this, clips, binding.clipboardItemsList, this) {
101107
addOrEditClip(it as Clip)
102108
}.apply {
103-
clipboard_items_list.adapter = this
109+
binding.clipboardItemsList.adapter = this
104110
}
105111

106-
clipboard_items_list.beVisibleIf(clips.isNotEmpty())
107-
clipboard_items_placeholder.beVisibleIf(clips.isEmpty())
108-
clipboard_items_placeholder_2.beVisibleIf(clips.isEmpty())
112+
binding.apply {
113+
clipboardItemsList.beVisibleIf(clips.isNotEmpty())
114+
clipboardItemsPlaceholder.beVisibleIf(clips.isEmpty())
115+
clipboardItemsPlaceholder2.beVisibleIf(clips.isEmpty())
116+
}
109117
}
110118
}
111119
}

0 commit comments

Comments
 (0)