Skip to content

Commit 554507f

Browse files
committed
update the ItemsAdapter to the new RecyclerViewAdapter
1 parent 0332bb9 commit 554507f

File tree

10 files changed

+120
-291
lines changed

10 files changed

+120
-291
lines changed

app/build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ ext {
4646
}
4747

4848
dependencies {
49-
compile 'com.simplemobiletools:commons:2.38.6'
49+
compile 'com.simplemobiletools:commons:2.39.10'
5050
compile 'com.bignerdranch.android:recyclerview-multiselect:0.2'
5151
compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
5252

@@ -57,7 +57,7 @@ dependencies {
5757
}
5858

5959
buildscript {
60-
ext.kotlin_version = '1.1.51'
60+
ext.kotlin_version = '1.1.60'
6161
repositories {
6262
mavenCentral()
6363
}

app/src/main/kotlin/com/simplemobiletools/filemanager/activities/FavoritesActivity.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
package com.simplemobiletools.filemanager.activities
22

3-
import android.graphics.PorterDuff
43
import android.os.Bundle
54
import android.view.Menu
65
import android.view.MenuItem
76
import com.simplemobiletools.commons.dialogs.FilePickerDialog
7+
import com.simplemobiletools.commons.extensions.applyColorFilter
88
import com.simplemobiletools.commons.extensions.beVisibleIf
99
import com.simplemobiletools.filemanager.R
1010
import com.simplemobiletools.filemanager.extensions.config
@@ -31,7 +31,7 @@ class FavoritesActivity : SimpleActivity() {
3131
setTextColor(config.textColor)
3232
}
3333
favorite_icon.apply {
34-
setColorFilter(config.textColor, PorterDuff.Mode.SRC_IN)
34+
applyColorFilter(config.textColor)
3535
setOnClickListener {
3636
config.removeFavorite(favorite)
3737
updateFavorites()

app/src/main/kotlin/com/simplemobiletools/filemanager/adapters/ItemsAdapter.kt

Lines changed: 93 additions & 240 deletions
Large diffs are not rendered by default.

app/src/main/kotlin/com/simplemobiletools/filemanager/dialogs/ChangeSortingDialog.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,15 @@ package com.simplemobiletools.filemanager.dialogs
22

33
import android.support.v7.app.AlertDialog
44
import android.view.LayoutInflater
5+
import com.simplemobiletools.commons.activities.BaseSimpleActivity
56
import com.simplemobiletools.commons.extensions.setupDialogStuff
67
import com.simplemobiletools.commons.helpers.*
78
import com.simplemobiletools.filemanager.R
89
import com.simplemobiletools.filemanager.activities.SimpleActivity
910
import com.simplemobiletools.filemanager.extensions.config
1011
import kotlinx.android.synthetic.main.dialog_change_sorting.view.*
1112

12-
class ChangeSortingDialog(val activity: SimpleActivity, val path: String = "", val callback: () -> Unit) {
13+
class ChangeSortingDialog(val activity: BaseSimpleActivity, val path: String = "", val callback: () -> Unit) {
1314
private var currSorting = 0
1415
private var config = activity.config
1516
private var view = LayoutInflater.from(activity).inflate(R.layout.dialog_change_sorting, null)

app/src/main/kotlin/com/simplemobiletools/filemanager/dialogs/CompressAsDialog.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,15 @@ package com.simplemobiletools.filemanager.dialogs
33
import android.support.v7.app.AlertDialog
44
import android.view.View
55
import android.view.WindowManager
6+
import com.simplemobiletools.commons.activities.BaseSimpleActivity
67
import com.simplemobiletools.commons.dialogs.FilePickerDialog
78
import com.simplemobiletools.commons.extensions.*
89
import com.simplemobiletools.filemanager.R
9-
import com.simplemobiletools.filemanager.activities.SimpleActivity
1010
import com.simplemobiletools.filemanager.extensions.config
1111
import kotlinx.android.synthetic.main.dialog_compress_as.view.*
1212
import java.io.File
1313

14-
class CompressAsDialog(val activity: SimpleActivity, val path: String, val callback: (destination: String) -> Unit) {
14+
class CompressAsDialog(val activity: BaseSimpleActivity, val path: String, val callback: (destination: String) -> Unit) {
1515
private val view = activity.layoutInflater.inflate(R.layout.dialog_compress_as, null)
1616

1717
init {

app/src/main/kotlin/com/simplemobiletools/filemanager/dialogs/CreateNewItemDialog.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,15 @@ package com.simplemobiletools.filemanager.dialogs
33
import android.support.v7.app.AlertDialog
44
import android.view.View
55
import android.view.WindowManager
6+
import com.simplemobiletools.commons.activities.BaseSimpleActivity
67
import com.simplemobiletools.commons.extensions.*
78
import com.simplemobiletools.filemanager.R
89
import com.simplemobiletools.filemanager.activities.SimpleActivity
910
import kotlinx.android.synthetic.main.dialog_create_new.view.*
1011
import java.io.File
1112
import java.io.IOException
1213

13-
class CreateNewItemDialog(val activity: SimpleActivity, val path: String, val callback: (success: Boolean) -> Unit) {
14+
class CreateNewItemDialog(val activity: BaseSimpleActivity, val path: String, val callback: (success: Boolean) -> Unit) {
1415
private val view = activity.layoutInflater.inflate(R.layout.dialog_create_new, null)
1516

1617
init {

app/src/main/kotlin/com/simplemobiletools/filemanager/dialogs/SaveAsDialog.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package com.simplemobiletools.filemanager.dialogs
33
import android.support.v7.app.AlertDialog
44
import android.view.LayoutInflater
55
import android.view.WindowManager
6+
import com.simplemobiletools.commons.activities.BaseSimpleActivity
67
import com.simplemobiletools.commons.dialogs.ConfirmationDialog
78
import com.simplemobiletools.commons.dialogs.FilePickerDialog
89
import com.simplemobiletools.commons.extensions.*
@@ -11,7 +12,7 @@ import com.simplemobiletools.filemanager.activities.SimpleActivity
1112
import kotlinx.android.synthetic.main.dialog_save_as.view.*
1213
import java.io.File
1314

14-
class SaveAsDialog(val activity: SimpleActivity, var path: String, val callback: (savePath: String) -> Unit) {
15+
class SaveAsDialog(val activity: BaseSimpleActivity, var path: String, val callback: (savePath: String) -> Unit) {
1516

1617
init {
1718
if (path.isEmpty()) {

app/src/main/kotlin/com/simplemobiletools/filemanager/fragments/ItemsFragment.kt

Lines changed: 8 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ import com.simplemobiletools.commons.dialogs.StoragePickerDialog
1313
import com.simplemobiletools.commons.extensions.*
1414
import com.simplemobiletools.commons.models.FileDirItem
1515
import com.simplemobiletools.commons.views.Breadcrumbs
16-
import com.simplemobiletools.commons.views.MyScalableRecyclerView
1716
import com.simplemobiletools.filemanager.R
1817
import com.simplemobiletools.filemanager.activities.MainActivity
1918
import com.simplemobiletools.filemanager.activities.SimpleActivity
@@ -132,20 +131,17 @@ class ItemsFragment : Fragment(), ItemsAdapter.ItemOperationsListener, Breadcrum
132131
storedItems = items
133132
val currAdapter = items_list.adapter
134133
if (currAdapter == null) {
135-
items_list.apply {
136-
this.adapter = ItemsAdapter(activity as SimpleActivity, storedItems, this@ItemsFragment, isPickMultipleIntent) {
137-
itemClicked(it)
138-
}
139-
140-
DividerItemDecoration(context, DividerItemDecoration.VERTICAL).apply {
141-
setDrawable(context.resources.getDrawable(com.simplemobiletools.commons.R.drawable.divider))
142-
addItemDecoration(this)
143-
}
134+
val adapter = ItemsAdapter(activity as SimpleActivity, storedItems, this@ItemsFragment, items_list, isPickMultipleIntent) {
135+
itemClicked(it as FileDirItem)
136+
}
137+
adapter.setupDragListener(true)
144138

145-
isDragSelectionEnabled = true
139+
DividerItemDecoration(context, DividerItemDecoration.VERTICAL).apply {
140+
setDrawable(context.resources.getDrawable(com.simplemobiletools.commons.R.drawable.divider))
141+
items_list.addItemDecoration(this)
146142
}
143+
items_list.adapter = adapter
147144
items_fastscroller.setViews(items_list, items_swipe_refresh)
148-
setupRecyclerViewListener()
149145
} else {
150146
(currAdapter as ItemsAdapter).updateItems(storedItems)
151147

@@ -160,28 +156,6 @@ class ItemsFragment : Fragment(), ItemsAdapter.ItemOperationsListener, Breadcrum
160156
}
161157
}
162158

163-
private fun setupRecyclerViewListener() {
164-
mView.items_list?.listener = object : MyScalableRecyclerView.MyScalableRecyclerViewListener {
165-
override fun zoomIn() {
166-
167-
}
168-
169-
override fun zoomOut() {
170-
171-
}
172-
173-
override fun selectItem(position: Int) {
174-
getRecyclerAdapter().selectItem(position)
175-
}
176-
177-
override fun selectRange(initialSelection: Int, lastDraggedIndex: Int, minReached: Int, maxReached: Int) {
178-
getRecyclerAdapter().selectRange(initialSelection, lastDraggedIndex, minReached, maxReached)
179-
}
180-
}
181-
}
182-
183-
private fun getRecyclerAdapter() = (items_list.adapter as ItemsAdapter)
184-
185159
fun getScrollState() = getRecyclerLayoutManager().onSaveInstanceState()
186160

187161
private fun getRecyclerLayoutManager() = (mView.items_list.layoutManager as LinearLayoutManager)
@@ -288,10 +262,6 @@ class ItemsFragment : Fragment(), ItemsAdapter.ItemOperationsListener, Breadcrum
288262
}
289263
}
290264

291-
override fun itemLongClicked(position: Int) {
292-
items_list.setDragSelectActive(position)
293-
}
294-
295265
override fun selectedPaths(paths: ArrayList<String>) {
296266
(activity as MainActivity).pickedPaths(paths)
297267
}

app/src/main/res/layout/items_fragment.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
android:layout_height="wrap_content"
2323
android:padding="@dimen/activity_margin"/>
2424

25-
<com.simplemobiletools.commons.views.MyScalableRecyclerView
25+
<com.simplemobiletools.commons.views.MyRecyclerView
2626
android:id="@+id/items_list"
2727
android:layout_width="match_parent"
2828
android:layout_height="wrap_content"

app/src/main/res/layout/list_item.xml

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,13 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<FrameLayout
33
xmlns:android="http://schemas.android.com/apk/res/android"
4+
xmlns:tools="http://schemas.android.com/tools"
45
android:id="@+id/item_frame"
56
android:layout_width="match_parent"
67
android:layout_height="wrap_content"
78
android:background="?attr/selectableItemBackground"
9+
android:clickable="true"
10+
android:focusable="true"
811
android:foreground="@drawable/selector">
912

1013
<RelativeLayout
@@ -30,7 +33,7 @@
3033
android:maxLines="3"
3134
android:paddingLeft="@dimen/small_margin"
3235
android:paddingTop="@dimen/small_margin"
33-
android:text="Directory"/>
36+
tools:text="Directory"/>
3437

3538
<TextView
3639
android:id="@+id/item_details"
@@ -39,8 +42,8 @@
3942
android:layout_below="@+id/item_name"
4043
android:layout_toRightOf="@+id/item_icon"
4144
android:paddingLeft="@dimen/small_margin"
42-
android:text="1 KB"
43-
android:textSize="@dimen/smaller_text_size"/>
45+
android:textSize="@dimen/smaller_text_size"
46+
tools:text="1 KB"/>
4447

4548
</RelativeLayout>
4649
</FrameLayout>

0 commit comments

Comments
 (0)