Skip to content

Commit f5b790d

Browse files
committed
[Update]
- 🎨 migrate to AndroidX
1 parent 645f5a5 commit f5b790d

22 files changed

+125
-93
lines changed

filepicker/build.gradle

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ android {
1717
versionCode 1
1818
versionName "1.0"
1919

20-
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
20+
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
2121

2222
}
2323

@@ -41,11 +41,12 @@ dependencies {
4141
compileOnly ("com.github.bumptech.glide:glide:4.9.0") {
4242
exclude group: "com.android.support"
4343
}
44+
implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.0.0'
4445
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:${kotlin_version}"
45-
implementation "com.android.support:appcompat-v7:${supportLibVersion}"
46-
implementation "com.android.support:recyclerview-v7:${supportLibVersion}"
47-
implementation "com.android.support.constraint:constraint-layout:1.1.3"
46+
implementation 'androidx.appcompat:appcompat:1.1.0'
47+
implementation 'androidx.recyclerview:recyclerview:1.1.0'
48+
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
4849
testImplementation 'junit:junit:4.12'
49-
androidTestImplementation 'com.android.support.test:runner:1.0.2'
50-
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
50+
androidTestImplementation 'androidx.test.ext:junit:1.1.1'
51+
androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
5152
}

filepicker/src/androidTest/java/me/rosuh/filepicker/ExampleInstrumentedTest.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,14 @@
11
package me.rosuh.filepicker;
22

33
import android.content.Context;
4-
import android.support.test.InstrumentationRegistry;
5-
import android.support.test.runner.AndroidJUnit4;
4+
5+
import androidx.test.ext.junit.runners.AndroidJUnit4;
6+
import androidx.test.platform.app.InstrumentationRegistry;
67

78
import org.junit.Test;
89
import org.junit.runner.RunWith;
910

10-
import static org.junit.Assert.*;
11+
import static org.junit.Assert.assertEquals;
1112

1213
/**
1314
* Instrumented test, which will execute on an Android device.

filepicker/src/main/java/me/rosuh/filepicker/FilePickerActivity.kt

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -7,16 +7,15 @@ import android.content.Intent
77
import android.content.pm.PackageManager
88
import android.os.*
99
import android.os.Environment.MEDIA_MOUNTED
10-
import android.support.v4.app.ActivityCompat
11-
import android.support.v4.content.ContextCompat
12-
import android.support.v7.app.AppCompatActivity
13-
import android.support.v7.widget.LinearLayoutManager
14-
import android.support.v7.widget.RecyclerView
1510
import android.view.LayoutInflater
1611
import android.view.View
1712
import android.view.animation.AnimationUtils
1813
import android.widget.RelativeLayout
1914
import android.widget.Toast
15+
import androidx.appcompat.app.AppCompatActivity
16+
import androidx.core.app.ActivityCompat
17+
import androidx.core.content.ContextCompat
18+
import androidx.recyclerview.widget.LinearLayoutManager
2019
import kotlinx.android.synthetic.main.empty_file_list_file_picker.view.*
2120
import kotlinx.android.synthetic.main.main_activity_for_file_picker.*
2221
import me.rosuh.filepicker.R.string
@@ -262,7 +261,11 @@ class FilePickerActivity : AppCompatActivity(), View.OnClickListener,
262261
navAdapter = produceNavAdapter(navDataList)
263262
adapter = navAdapter
264263
layoutManager =
265-
LinearLayoutManager(this@FilePickerActivity, LinearLayoutManager.HORIZONTAL, false)
264+
androidx.recyclerview.widget.LinearLayoutManager(
265+
this@FilePickerActivity,
266+
androidx.recyclerview.widget.LinearLayoutManager.HORIZONTAL,
267+
false
268+
)
266269
removeOnItemTouchListener(navListener)
267270
addOnItemTouchListener(navListener)
268271
}
@@ -291,7 +294,7 @@ class FilePickerActivity : AppCompatActivity(), View.OnClickListener,
291294
/**
292295
* 获取两个列表的监听器
293296
*/
294-
private fun getListener(recyclerView: RecyclerView): RecyclerViewListener {
297+
private fun getListener(recyclerView: androidx.recyclerview.widget.RecyclerView): RecyclerViewListener {
295298
return RecyclerViewListener(this@FilePickerActivity, recyclerView, this@FilePickerActivity)
296299
}
297300

@@ -326,7 +329,7 @@ class FilePickerActivity : AppCompatActivity(), View.OnClickListener,
326329
private fun saveCurrPos(item: FileNavBeanImpl?, position: Int) {
327330
item?.run {
328331
currPosMap[filePath] = position
329-
(rv_list_file_picker?.layoutManager as? LinearLayoutManager)?.let {
332+
(rv_list_file_picker?.layoutManager as? androidx.recyclerview.widget.LinearLayoutManager)?.let {
330333
currOffsetMap.put(filePath, it.findViewByPosition(position)?.top ?: 0)
331334
}
332335
}
@@ -338,7 +341,7 @@ class FilePickerActivity : AppCompatActivity(), View.OnClickListener,
338341
* 传递 item 点击事件给调用者
339342
*/
340343
override fun onItemClick(
341-
adapter: RecyclerView.Adapter<RecyclerView.ViewHolder>,
344+
adapter: androidx.recyclerview.widget.RecyclerView.Adapter<androidx.recyclerview.widget.RecyclerView.ViewHolder>,
342345
view: View,
343346
position: Int
344347
) {
@@ -380,7 +383,7 @@ class FilePickerActivity : AppCompatActivity(), View.OnClickListener,
380383
* 子控件被点击
381384
*/
382385
override fun onItemChildClick(
383-
adapter: RecyclerView.Adapter<RecyclerView.ViewHolder>,
386+
adapter: androidx.recyclerview.widget.RecyclerView.Adapter<androidx.recyclerview.widget.RecyclerView.ViewHolder>,
384387
view: View,
385388
position: Int
386389
) {
@@ -417,7 +420,7 @@ class FilePickerActivity : AppCompatActivity(), View.OnClickListener,
417420
* 条目被长按
418421
*/
419422
override fun onItemLongClick(
420-
adapter: RecyclerView.Adapter<RecyclerView.ViewHolder>,
423+
adapter: androidx.recyclerview.widget.RecyclerView.Adapter<androidx.recyclerview.widget.RecyclerView.ViewHolder>,
421424
view: View,
422425
position: Int
423426
) {
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
package me.rosuh.filepicker.adapter
22

3-
import android.support.v7.widget.RecyclerView
43
import android.view.View
54
import me.rosuh.filepicker.bean.FileBean
65

7-
abstract class BaseAdapter : RecyclerView.Adapter<RecyclerView.ViewHolder>() {
6+
abstract class BaseAdapter :
7+
androidx.recyclerview.widget.RecyclerView.Adapter<androidx.recyclerview.widget.RecyclerView.ViewHolder>() {
88
abstract fun getItem(position: Int): FileBean?
99
abstract fun getItemView(position: Int): View?
1010
}

filepicker/src/main/java/me/rosuh/filepicker/adapter/FileListAdapter.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
package me.rosuh.filepicker.adapter
22

33
import android.net.Uri
4-
import android.support.v7.widget.RecyclerView
54
import android.view.LayoutInflater
65
import android.view.View
76
import android.view.ViewGroup
87
import android.widget.CheckBox
98
import android.widget.ImageView
109
import android.widget.RadioButton
1110
import android.widget.TextView
11+
import androidx.recyclerview.widget.RecyclerView
1212
import me.rosuh.filepicker.FilePickerActivity
1313
import me.rosuh.filepicker.R
1414
import me.rosuh.filepicker.bean.FileItemBeanImpl

filepicker/src/main/java/me/rosuh/filepicker/adapter/FileNavAdapter.kt

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package me.rosuh.filepicker.adapter
22

3-
import android.support.v7.widget.RecyclerView
43
import android.view.LayoutInflater
54
import android.view.View
65
import android.view.ViewGroup
@@ -19,10 +18,13 @@ class FileNavAdapter(
1918
var data: MutableList<FileNavBeanImpl>
2019
) :
2120
BaseAdapter() {
22-
private lateinit var recyclerView: RecyclerView
21+
private lateinit var recyclerView: androidx.recyclerview.widget.RecyclerView
2322

24-
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): RecyclerView.ViewHolder {
25-
if (parent is RecyclerView) {
23+
override fun onCreateViewHolder(
24+
parent: ViewGroup,
25+
viewType: Int
26+
): androidx.recyclerview.widget.RecyclerView.ViewHolder {
27+
if (parent is androidx.recyclerview.widget.RecyclerView) {
2628
recyclerView = parent
2729
}
2830
return NavListHolder(activity.layoutInflater, parent)
@@ -36,7 +38,10 @@ class FileNavAdapter(
3638
return data.size
3739
}
3840

39-
override fun onBindViewHolder(holder: RecyclerView.ViewHolder, postion: Int) {
41+
override fun onBindViewHolder(
42+
holder: androidx.recyclerview.widget.RecyclerView.ViewHolder,
43+
postion: Int
44+
) {
4045
(holder as NavListHolder).bind(data[postion], postion)
4146
}
4247

@@ -49,7 +54,13 @@ class FileNavAdapter(
4954
}
5055

5156
inner class NavListHolder(inflater: LayoutInflater, val parent: ViewGroup) :
52-
RecyclerView.ViewHolder(inflater.inflate(R.layout.item_nav_file_picker, parent, false)) {
57+
androidx.recyclerview.widget.RecyclerView.ViewHolder(
58+
inflater.inflate(
59+
R.layout.item_nav_file_picker,
60+
parent,
61+
false
62+
)
63+
) {
5364

5465
private var mBtnDir: TextView? = null
5566

filepicker/src/main/java/me/rosuh/filepicker/adapter/RecyclerViewListener.kt

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
11
package me.rosuh.filepicker.adapter
22

33
import android.app.Activity
4-
import android.support.v4.view.GestureDetectorCompat
5-
import android.support.v7.widget.RecyclerView
64
import android.view.GestureDetector
75
import android.view.MotionEvent
86
import android.view.View
7+
import androidx.core.view.GestureDetectorCompat
98
import me.rosuh.filepicker.R
109
import me.rosuh.filepicker.utils.ScreenUtils
1110

@@ -19,10 +18,10 @@ import me.rosuh.filepicker.utils.ScreenUtils
1918
*/
2019
class RecyclerViewListener(
2120
val activity: Activity,
22-
val recyclerView: RecyclerView,
21+
val recyclerView: androidx.recyclerview.widget.RecyclerView,
2322
val itemClickListener: OnItemClickListener
2423
) :
25-
RecyclerView.OnItemTouchListener {
24+
androidx.recyclerview.widget.RecyclerView.OnItemTouchListener {
2625

2726
/**
2827
* Custom item click listener, receive item event and redispatch
@@ -33,7 +32,7 @@ class RecyclerViewListener(
3332
* Item click
3433
*/
3534
fun onItemClick(
36-
adapter: RecyclerView.Adapter<RecyclerView.ViewHolder>,
35+
adapter: androidx.recyclerview.widget.RecyclerView.Adapter<androidx.recyclerview.widget.RecyclerView.ViewHolder>,
3736
view: View,
3837
position: Int
3938
)
@@ -42,7 +41,7 @@ class RecyclerViewListener(
4241
* Item long click
4342
*/
4443
fun onItemLongClick(
45-
adapter: RecyclerView.Adapter<RecyclerView.ViewHolder>,
44+
adapter: androidx.recyclerview.widget.RecyclerView.Adapter<androidx.recyclerview.widget.RecyclerView.ViewHolder>,
4645
view: View,
4746
position: Int
4847
)
@@ -51,7 +50,7 @@ class RecyclerViewListener(
5150
* Item child click
5251
*/
5352
fun onItemChildClick(
54-
adapter: RecyclerView.Adapter<RecyclerView.ViewHolder>,
53+
adapter: androidx.recyclerview.widget.RecyclerView.Adapter<androidx.recyclerview.widget.RecyclerView.ViewHolder>,
5554
view: View,
5655
position: Int
5756
)
@@ -60,11 +59,14 @@ class RecyclerViewListener(
6059
private var gestureDetectorCompat: GestureDetectorCompat =
6160
GestureDetectorCompat(recyclerView.context, ItemTouchHelperGestureListener())
6261

63-
override fun onTouchEvent(rv: RecyclerView, e: MotionEvent) {
62+
override fun onTouchEvent(rv: androidx.recyclerview.widget.RecyclerView, e: MotionEvent) {
6463
gestureDetectorCompat.onTouchEvent(e)
6564
}
6665

67-
override fun onInterceptTouchEvent(rv: RecyclerView, e: MotionEvent): Boolean {
66+
override fun onInterceptTouchEvent(
67+
rv: androidx.recyclerview.widget.RecyclerView,
68+
e: MotionEvent
69+
): Boolean {
6870
return gestureDetectorCompat.onTouchEvent(e)
6971
}
7072

filepicker/src/main/java/me/rosuh/filepicker/config/FilePickerConfig.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
package me.rosuh.filepicker.config
22

33
import android.content.Intent
4-
import android.support.annotation.NonNull
5-
import android.support.annotation.StringRes
4+
import androidx.annotation.NonNull
5+
import androidx.annotation.StringRes
66
import me.rosuh.filepicker.FilePickerActivity
77
import me.rosuh.filepicker.R
88

filepicker/src/main/java/me/rosuh/filepicker/config/FilePickerManager.kt

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package me.rosuh.filepicker.config
22

33
import android.app.Activity
4-
import android.support.v4.app.Fragment
54
import java.lang.ref.WeakReference
65

76
/**
@@ -16,7 +15,7 @@ object FilePickerManager {
1615
const val REQUEST_CODE = 10401
1716

1817
internal var contextRef: WeakReference<Activity>? = null
19-
internal var fragmentRef: WeakReference<Fragment>? = null
18+
internal var fragmentRef: WeakReference<androidx.fragment.app.Fragment>? = null
2019
internal lateinit var config: FilePickerConfig
2120

2221
fun from(activity: Activity): FilePickerConfig {
@@ -34,7 +33,7 @@ object FilePickerManager {
3433
/**
3534
* 不能使用 fragmentRef.getContext(),因为无法保证外部的代码环境
3635
*/
37-
fun from(fragment: Fragment): FilePickerConfig {
36+
fun from(fragment: androidx.fragment.app.Fragment): FilePickerConfig {
3837
reset()
3938
this.fragmentRef = WeakReference(fragment)
4039
this.contextRef = WeakReference(fragment.activity!!)

filepicker/src/main/java/me/rosuh/filepicker/widget/PosLinearLayoutManager.kt

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,9 @@ package me.rosuh.filepicker.widget
22

33
import android.content.Context
44
import android.os.Parcelable
5-
import android.support.v7.widget.LinearLayoutManager
6-
import android.support.v7.widget.RecyclerView
75
import android.util.AttributeSet
86

9-
class PosLinearLayoutManager : LinearLayoutManager {
7+
class PosLinearLayoutManager : androidx.recyclerview.widget.LinearLayoutManager {
108
constructor(context: Context?) : super(context)
119
constructor(context: Context?, orientation: Int, reverseLayout: Boolean) : super(
1210
context,
@@ -30,7 +28,10 @@ class PosLinearLayoutManager : LinearLayoutManager {
3028

3129
private var pendingPosOffset = -1
3230

33-
override fun onLayoutChildren(recycler: RecyclerView.Recycler?, state: RecyclerView.State?) {
31+
override fun onLayoutChildren(
32+
recycler: androidx.recyclerview.widget.RecyclerView.Recycler?,
33+
state: androidx.recyclerview.widget.RecyclerView.State?
34+
) {
3435
if (pendingTargetPos != -1 && state?.itemCount ?: 0 > 0) {
3536
scrollToPositionWithOffset(pendingTargetPos, pendingPosOffset)
3637
pendingPosOffset = -1

0 commit comments

Comments
 (0)