Skip to content
This repository was archived by the owner on Jul 13, 2026. It is now read-only.

Commit f80909d

Browse files
committed
Update dependencies & remove deprecated APIs
1 parent d615410 commit f80909d

25 files changed

Lines changed: 172 additions & 231 deletions

README.md

Lines changed: 3 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -83,8 +83,9 @@ class SettingsFragment : PreferenceFragmentMaterial() {
8383

8484
companion object {
8585
fun newInstance(rootKey: String?) = SettingsFragment().apply {
86-
arguments = Bundle()
87-
arguments!!.putString(PreferenceFragmentMaterial.ARG_PREFERENCE_ROOT, rootKey)
86+
arguments = Bundle().also {
87+
it.putString(PreferenceFragmentMaterial.ARG_PREFERENCE_ROOT, rootKey)
88+
}
8889
}
8990
}
9091
}
@@ -209,43 +210,6 @@ From above code, `accountName` is a generated method based on your configuration
209210
It takes `android:defaultValue` if method `accountName` can't find any value stored in the `SharedPreferences`.
210211
You can customize the method name via `app:helperMethodName="yourMethodName"`. Read our sample code for more information.
211212

212-
### Java compatibility support
213-
214-
Kotlin is interoperable with Java. Just configure the following setup in your project.
215-
216-
#### Setup
217-
218-
In your `build.gradle` of project level:
219-
220-
````gradle
221-
buildscript {
222-
// add this line
223-
ext.kotlin_version = '1.4.30'
224-
225-
repositories {
226-
google()
227-
jcenter()
228-
}
229-
dependencies {
230-
classpath 'com.android.tools.build:gradle:4.1.2'
231-
// add this line
232-
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
233-
234-
// NOTE: Do not place your application dependencies here; they belong
235-
// in the individual module build.gradle files
236-
}
237-
}
238-
````
239-
240-
And for your app's `build.gradle`:
241-
242-
````gradle
243-
dependencies {
244-
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
245-
implementation 'com.anggrayudi:materialpreference:3.x.x'
246-
}
247-
````
248-
249213
#### Example
250214

251215
From your [`SettingsFragment.java`](https://github.com/anggrayudi/MaterialPreference/blob/master/sample/src/main/java/com/anggrayudi/materialpreference/sample/java/SettingsFragment.java):

build.gradle

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,28 +2,26 @@
22
apply from: 'extensions.gradle'
33

44
buildscript {
5-
ext.kotlin_version = '1.4.30'
5+
ext.kotlin_version = '1.5.0'
66

77
repositories {
88
google()
9-
jcenter()
109
mavenCentral()
1110
maven { url "https://oss.sonatype.org/content/repositories/snapshots" }
1211
}
1312

1413
dependencies {
15-
classpath 'com.android.tools.build:gradle:4.1.2'
16-
classpath 'com.google.gms:google-services:4.3.5'
14+
classpath 'com.android.tools.build:gradle:4.2.1'
15+
classpath 'com.google.gms:google-services:4.3.8'
1716
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
18-
classpath 'com.vanniktech:gradle-maven-publish-plugin:0.13.0'
17+
classpath 'com.vanniktech:gradle-maven-publish-plugin:0.15.1'
1918
classpath 'org.jetbrains.dokka:dokka-gradle-plugin:1.4.20'
2019
}
2120
}
2221

2322
allprojects {
2423
repositories {
2524
google()
26-
jcenter()
2725
mavenCentral()
2826
maven { url "https://oss.sonatype.org/content/repositories/snapshots" }
2927
}

extensions.gradle

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
ext {
2-
appVersionCode = 17
2+
appVersionCode = 18
33
minSdkVersion = 17
44
targetSdkVersion = 30
55
compileSdkVersion = 30
66
buildToolsVersion = '30.0.2'
7-
dialogVersion = '2.8.1'
8-
coroutinesVersion = '1.3.8'
7+
dialogVersion = '3.3.0'
8+
coroutinesVersion = '1.4.3'
99

1010
// Project
1111
VCS_URL = "https://github.com/anggrayudi/MaterialPreference.git"

gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,4 @@ org.gradle.daemon=false
77
#kapt.use.worker.api=true
88
# ------- Library versions
99
PROCESSOR_VERSION=1.7
10-
MATERIAL_PREFERENCE_VERSION=3.6.7
10+
MATERIAL_PREFERENCE_VERSION=3.7.0

gradle/wrapper/gradle-wrapper.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME
33
distributionPath=wrapper/dists
44
zipStoreBase=GRADLE_USER_HOME
55
zipStorePath=wrapper/dists
6-
distributionUrl=https\://services.gradle.org/distributions/gradle-6.5-bin.zip
6+
distributionUrl=https\://services.gradle.org/distributions/gradle-6.7.1-bin.zip

materialpreference/build.gradle

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ android {
3333
}
3434

3535
dependencies {
36-
api 'androidx.appcompat:appcompat:1.2.0'
36+
api 'androidx.appcompat:appcompat:1.3.0'
3737
api 'com.google.android.material:material:1.3.0'
3838
api 'androidx.documentfile:documentfile:1.0.1'
3939
api 'androidx.cardview:cardview:1.0.0'
@@ -48,8 +48,8 @@ dependencies {
4848
api "org.jetbrains.kotlinx:kotlinx-coroutines-core:$coroutinesVersion"
4949
api "org.jetbrains.kotlinx:kotlinx-coroutines-android:$coroutinesVersion"
5050

51-
implementation "com.anggrayudi:storage:0.4.4"
52-
// implementation("com.anggrayudi:storage:0.4.1-SNAPSHOT") { changing = true }
51+
api "com.anggrayudi:storage:0.6.0"
52+
// api("com.anggrayudi:storage:0.6.0-SNAPSHOT") { changing = true }
5353
}
5454

5555
ext {

materialpreference/src/main/java/com/anggrayudi/materialpreference/DatePreference.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -104,13 +104,13 @@ open class DatePreference @Keep @JvmOverloads constructor(
104104
if (highlightedDays != null)
105105
dialog.highlightedDays = highlightedDays
106106

107-
dialog.show(preferenceFragment!!.fragmentManager!!, key)
107+
dialog.show(preferenceFragment!!.parentFragmentManager, key)
108108
true
109109
}
110110
}
111111

112112
override fun onSetupFinished(fragment: PreferenceFragmentMaterial) {
113-
val dialog = fragment.fragmentManager?.findFragmentByTag(key) as? DatePickerDialog
113+
val dialog = fragment.parentFragmentManager.findFragmentByTag(key) as? DatePickerDialog
114114
dialog?.onDateSetListener = this
115115
}
116116

materialpreference/src/main/java/com/anggrayudi/materialpreference/FolderPreference.kt

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ import com.afollestad.materialdialogs.files.folderChooser
1414
import com.afollestad.materialdialogs.files.selectedFolder
1515
import com.anggrayudi.materialpreference.util.FolderType
1616
import com.anggrayudi.storage.SimpleStorageHelper
17-
import com.anggrayudi.storage.file.absolutePath
17+
import com.anggrayudi.storage.file.getAbsolutePath
1818
import java.io.File
1919

2020
/**
@@ -78,13 +78,13 @@ open class FolderPreference @Keep @JvmOverloads constructor(
7878
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) {
7979
FolderPreferenceDialog().apply {
8080
arguments = Bundle().apply { putString("folder", folder) }
81-
show(fragment.fragmentManager!!, key)
81+
show(fragment.parentFragmentManager, key)
8282
}
8383
} else {
84-
preferenceFragment!!.storageHelper.run {
84+
fragment.storageHelper.run {
8585
requestCodeFolderPicker = REQUEST_CODE_STORAGE_GET_FOLDER
8686
onFolderSelected = { _, folder ->
87-
this@FolderPreference.folder = folder.absolutePath
87+
this@FolderPreference.folder = folder.getAbsolutePath(context)
8888
}
8989
openFolderPicker()
9090
}
@@ -96,9 +96,9 @@ open class FolderPreference @Keep @JvmOverloads constructor(
9696
private var dialog: MaterialDialog? = null
9797

9898
override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
99-
dialog = MaterialDialog(context!!)
99+
dialog = MaterialDialog(requireContext())
100100
.negativeButton(android.R.string.cancel)
101-
.folderChooser(File(arguments!!.getString("folder")!!), allowFolderCreation = true) { _, file ->
101+
.folderChooser(requireContext(), File(requireArguments().getString("folder")!!), allowFolderCreation = true) { _, file ->
102102
val preference = (activity as PreferenceActivityMaterial)
103103
.visiblePreferenceFragment!!.findPreference(tag!!) as FolderPreference
104104
preference.folder = file.absolutePath
@@ -108,7 +108,7 @@ open class FolderPreference @Keep @JvmOverloads constructor(
108108

109109
override fun onSaveInstanceState(outState: Bundle) {
110110
super.onSaveInstanceState(outState)
111-
arguments!!.putString("folder", dialog!!.selectedFolder()!!.absolutePath)
111+
requireArguments().putString("folder", dialog!!.selectedFolder()!!.absolutePath)
112112
}
113113
}
114114

materialpreference/src/main/java/com/anggrayudi/materialpreference/Preference.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1566,7 +1566,7 @@ open class Preference @Keep @JvmOverloads constructor(
15661566

15671567
private const val TAG = "Preference"
15681568

1569-
/** Specify for [.setOrder] if a specific order is not required. */
1569+
/** Specify for [setOrder] if a specific order is not required. */
15701570
const val DEFAULT_ORDER = Integer.MAX_VALUE
15711571
}
15721572
}

materialpreference/src/main/java/com/anggrayudi/materialpreference/PreferenceActivityMaterial.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ abstract class PreferenceActivityMaterial : AppCompatActivity(),
7575
title = screen.title
7676
val key = screen.key
7777
val f = onBuildPreferenceFragment(key)
78-
f.arguments!!.putCharSequence(PreferenceFragmentMaterial.PREFERENCE_TITLE, screen.title)
78+
f.requireArguments().putCharSequence(PreferenceFragmentMaterial.PREFERENCE_TITLE, screen.title)
7979
val ft = supportFragmentManager.beginTransaction()
8080
replaceFragmentStrategy?.run {
8181
ft.setCustomAnimations(animEnter, animExit, animPopEnter, animPopExit)

0 commit comments

Comments
 (0)