File tree Expand file tree Collapse file tree 4 files changed +33
-2
lines changed
filepicker/src/main/java/me/rosuh/filepicker/config
sample/src/main/java/me/rosuh/sample Expand file tree Collapse file tree 4 files changed +33
-2
lines changed Original file line number Diff line number Diff line change @@ -45,6 +45,11 @@ class DefaultFileDetector : AbstractFileDetector() {
4545 enableCustomTypes = true
4646 }
4747
48+ fun clear (){
49+ allDefaultFileType.clear()
50+ enableCustomTypes = false
51+ }
52+
4853 override fun fillFileType (itemBeanImpl : FileItemBeanImpl ): FileItemBeanImpl {
4954 for (type in allDefaultFileType) {
5055 if (type.verify(itemBeanImpl.fileName)) {
Original file line number Diff line number Diff line change @@ -250,6 +250,7 @@ class FilePickerConfig(private val pickerManager: FilePickerManager) {
250250 this .customImageEngine = ie
251251 return this
252252 }
253+
253254 /* *
254255 * @author rosuh@qq.com
255256 * @date 2020/9/15
@@ -285,6 +286,15 @@ class FilePickerConfig(private val pickerManager: FilePickerManager) {
285286 }
286287 }
287288
289+ fun clear () {
290+ this .customFileTypes.clear()
291+ this .customImageEngine = null
292+ this .fileItemOnClickListener = null
293+ this .selfFilter = null
294+ this .customDetector = null
295+ this .defaultFileDetector.clear()
296+ }
297+
288298 companion object {
289299 /* *
290300 * 手机内部的外置存储,也就是内置 SD 卡
Original file line number Diff line number Diff line change @@ -51,7 +51,11 @@ object FilePickerManager {
5151 * 供调用者获取结果
5252 * @return List<String>
5353 */
54- fun obtainData (): List <String > {
54+ @JvmOverloads
55+ fun obtainData (release : Boolean = false): List <String > {
56+ if (release) {
57+ release()
58+ }
5559 return dataList
5660 }
5761
@@ -60,4 +64,15 @@ object FilePickerManager {
6064 fragmentRef?.clear()
6165 ImageLoadController .reset()
6266 }
67+
68+ /* *
69+ * 释放资源与重置属性
70+ * Release resources and reset attributes
71+ */
72+ fun release () {
73+ reset()
74+ if (this ::config.isInitialized) {
75+ config.clear()
76+ }
77+ }
6378}
Original file line number Diff line number Diff line change @@ -9,6 +9,7 @@ import android.support.v4.app.DialogFragment
99import android.support.v4.app.FragmentManager
1010import android.support.v7.app.AppCompatActivity
1111import android.support.v7.widget.LinearLayoutManager
12+ import android.util.Log
1213import android.view.LayoutInflater
1314import android.view.View
1415import android.view.ViewGroup
@@ -272,7 +273,7 @@ class SampleActivity : AppCompatActivity() {
272273 when (requestCode) {
273274 FilePickerManager .REQUEST_CODE -> {
274275 if (resultCode == Activity .RESULT_OK ) {
275- val list = FilePickerManager .obtainData()
276+ val list = FilePickerManager .obtainData(release = true )
276277 rv_main.adapter = SampleAdapter (layoutInflater, ArrayList (list))
277278 rv_main.layoutManager = LinearLayoutManager (this @SampleActivity)
278279 ns_root.scrollTo(0 , ScreenUtils .getScreenHeightInPixel(this ))
You can’t perform that action at this time.
0 commit comments