Skip to content

Commit 9bf0886

Browse files
Fixed Deprecated Preference Screen
1 parent eab3a05 commit 9bf0886

File tree

8 files changed

+24
-72
lines changed

8 files changed

+24
-72
lines changed

Readme.md

-47
Original file line numberDiff line numberDiff line change
@@ -117,53 +117,6 @@ Marshmallow and above requests for the permission on runtime. You should overrid
117117

118118
That's It. You are good to proceed further.
119119

120-
### FilePickerPreference
121-
122-
1. Start by declaring [FilePickerPreference] in your settings xml file as:
123-
124-
```xml
125-
<com.developer.filepicker.view.FilePickerPreference
126-
xmlns:app="http://schemas.android.com/apk/res-auto"
127-
android:key="your_preference_key"
128-
android:title="Pick a Directory"
129-
android:summary="Just a Summary"
130-
android:defaultValue="/sdcard:/mnt"
131-
app:titleText="Select Directories"
132-
app:error_dir="/mnt"
133-
app:root_dir="/sdcard"
134-
app:selection_mode="multi_mode"
135-
app:selection_type="dir_select"
136-
app:extensions="txt:pdf:"
137-
app:show_hidden_files="false"/>
138-
```
139-
140-
2. Implement [Preference.OnPreferenceChangeListener](https://developer.android.com/reference/android/preference/Preference.OnPreferenceChangeListener.html) to class requiring selected values and `Override` `onPreferenceChange(Preference, Object)` method. Check for preference key using [Preference](https://developer.android.com/reference/android/preference/Preference.html) reference.
141-
142-
```java
143-
@Override
144-
public boolean onPreferenceChange(Preference preference, Object o)
145-
{ if(preference.getKey().equals("your_preference_key"))
146-
{ ...
147-
}
148-
return false;
149-
}
150-
```
151-
3. Typecast `Object o` into `String` Object and use `split(String)` function in `String` class to get array of selected files.
152-
153-
```java
154-
@Override
155-
public boolean onPreferenceChange(Preference preference, Object o)
156-
{ if(preference.getKey().equals("your_preference_key"))
157-
{ String value=(String)o;
158-
String arr[]=value.split(":");
159-
...
160-
...
161-
}
162-
return false;
163-
}
164-
```
165-
166-
That's It. You are good to move further.
167120

168121
### Important:
169122
* `defaultValue`, `error_dir`, `root_dir`, `offset_dir` must have valid directory/file paths.

gradle/wrapper/gradle-wrapper.properties

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
#Sun Mar 12 18:45:35 IST 2017
1+
#Sun Jan 19 16:51:26 IST 2020
22
distributionBase=GRADLE_USER_HOME
33
distributionPath=wrapper/dists
44
zipStoreBase=GRADLE_USER_HOME

library/build.gradle

+9-2
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ android {
99
defaultConfig {
1010
minSdkVersion 19
1111
targetSdkVersion 29
12-
versionCode 5
13-
versionName "5.0.19"
12+
versionCode 6
13+
versionName "6.0.19"
1414
}
1515
buildTypes {
1616
release {
@@ -22,3 +22,10 @@ android {
2222
abortOnError false
2323
}
2424
}
25+
26+
dependencies {
27+
implementation fileTree(include: ['*.jar'], dir: 'libs')
28+
implementation 'androidx.preference:preference:1.1.0'
29+
implementation 'androidx.appcompat:appcompat:1.1.0'
30+
implementation 'androidx.recyclerview:recyclerview:1.1.0'
31+
}

library/src/main/java/com/developer/filepicker/view/FilePickerPreference.java

+5-8
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,12 @@
55
import android.os.Bundle;
66
import android.os.Parcel;
77
import android.os.Parcelable;
8-
import android.preference.Preference;
98
import android.util.AttributeSet;
109
import android.view.View;
1110

11+
12+
import androidx.preference.Preference;
13+
1214
import com.developer.filepicker.R;
1315
import com.developer.filepicker.controller.DialogSelectionListener;
1416
import com.developer.filepicker.model.DialogConfigs;
@@ -51,13 +53,8 @@ protected Object onGetDefaultValue(TypedArray a, int index) {
5153
}
5254

5355
@Override
54-
protected void onSetInitialValue(boolean restorePersistedValue, Object defaultValue) {
55-
super.onSetInitialValue(restorePersistedValue, defaultValue);
56-
}
57-
58-
@Override
59-
protected void onBindView(View view) {
60-
super.onBindView(view);
56+
protected void onSetInitialValue(Object defaultValue) {
57+
super.onSetInitialValue(defaultValue);
6158
}
6259

6360
@Override

sample/build.gradle

+3-4
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ android {
77
applicationId "com.developer.filepicker.file"
88
minSdkVersion 19
99
targetSdkVersion 29
10-
versionCode 5
11-
versionName "5.0.19"
10+
versionCode 6
11+
versionName "6.0.19"
1212
}
1313
buildTypes {
1414
release {
@@ -22,7 +22,6 @@ dependencies {
2222
implementation fileTree(include: ['*.jar'], dir: 'libs')
2323
implementation project(':library')
2424
implementation 'androidx.appcompat:appcompat:1.1.0'
25+
implementation 'androidx.preference:preference:1.1.0'
2526
implementation 'androidx.recyclerview:recyclerview:1.1.0'
26-
debugImplementation 'com.squareup.leakcanary:leakcanary-android:1.5.4'
27-
releaseImplementation 'com.squareup.leakcanary:leakcanary-android-no-op:1.5.4'
2827
}

sample/src/main/java/com/developer/filepicker/file/FilePickerApplication.java

-6
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,10 @@
22

33
import android.app.Application;
44

5-
import com.squareup.leakcanary.LeakCanary;
6-
75
public class FilePickerApplication extends Application {
86

97
@Override
108
public void onCreate() {
119
super.onCreate();
12-
if (LeakCanary.isInAnalyzerProcess(this)) {
13-
return;
14-
}
15-
LeakCanary.install(this);
1610
}
1711
}

sample/src/main/java/com/developer/filepicker/file/MainActivity.java

+4-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package com.developer.filepicker.file;
22

3-
import android.content.Intent;
43
import android.content.pm.PackageManager;
54
import android.os.Bundle;
65
import android.view.Menu;
@@ -52,6 +51,9 @@ protected void onCreate(Bundle savedInstanceState) {
5251
dialog.setTitle("Select a File");
5352
dialog.setPositiveBtnName("Select");
5453
dialog.setNegativeBtnName("Cancel");
54+
// properties.selection_mode = DialogConfigs.MULTI_MODE;
55+
// properties.selection_type = DialogConfigs.DIR_SELECT;
56+
5557
RadioGroup modeRadio = findViewById(R.id.modeRadio);
5658
modeRadio.check(R.id.singleRadio);
5759
modeRadio.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@@ -218,7 +220,7 @@ public boolean onCreateOptionsMenu(Menu menu) {
218220

219221
public boolean onOptionsItemSelected(MenuItem item) {
220222
if (item.getItemId() == R.id.settings) {
221-
startActivity(new Intent(this, SettingsActivity.class));
223+
//startActivity(new Intent(this, SettingsActivity.class));
222224
return true;
223225
}
224226
return super.onOptionsItemSelected(item);

sample/src/main/res/xml/pref_general.xml

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
<PreferenceScreen
1+
<androidx.preference.PreferenceScreen
22
xmlns:android="http://schemas.android.com/apk/res/android"
33
xmlns:app="http://schemas.android.com/apk/res-auto">
44

@@ -13,4 +13,4 @@
1313
app:selection_mode="multi_mode"
1414
app:selection_type="dir_select"
1515
app:extensions="txt:pdf:"/>
16-
</PreferenceScreen>
16+
</androidx.preference.PreferenceScreen>

0 commit comments

Comments
 (0)