Skip to content

Commit dfabaf8

Browse files
authored
refractoring (#4541)
1 parent a055f3b commit dfabaf8

20 files changed

+158
-12
lines changed

app/src/main/java/fr/free/nrw/commons/contributions/ContributionsListFragment.java

+3
Original file line numberDiff line numberDiff line change
@@ -265,6 +265,9 @@ private void setListeners() {
265265
});
266266
}
267267

268+
/**
269+
* Launch Custom Selector.
270+
*/
268271
@OnClick(R.id.fab_custom_gallery)
269272
void launchCustomSelector(){
270273
controller.initiateCustomGalleryPickWithPermission(getActivity());

app/src/main/java/fr/free/nrw/commons/customselector/helper/ImageHelper.kt

+1-5
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ import fr.free.nrw.commons.customselector.model.Image
66
/**
77
* Image Helper object, includes all the static functions required by custom selector.
88
*/
9-
109
object ImageHelper {
1110

1211
/**
@@ -65,10 +64,7 @@ object ImageHelper {
6564
*/
6665
fun getIndexList(list: ArrayList<Image>, masterList: ArrayList<Image>): ArrayList<Int> {
6766

68-
/**
69-
* TODO
70-
* Can be optimised as masterList is sorted by time.
71-
*/
67+
// Can be optimised as masterList is sorted by time.
7268

7369
val indexes = arrayListOf<Int>()
7470
for(image in list) {
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,15 @@
11
package fr.free.nrw.commons.customselector.listeners
22

3+
/**
4+
* Custom Selector Folder Click Listener
5+
*/
36
interface FolderClickListener {
7+
8+
/**
9+
* onFolderClick
10+
* @param folderId : folder id of the folder.
11+
* @param folderName : folder name of the folder.
12+
* @param lastItemId : last scroll position in the folder.
13+
*/
414
fun onFolderClick(folderId: Long, folderName: String, lastItemId: Long)
515
}

app/src/main/java/fr/free/nrw/commons/customselector/listeners/ImageLoaderListener.kt

+14
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,21 @@ package fr.free.nrw.commons.customselector.listeners
22

33
import fr.free.nrw.commons.customselector.model.Image
44

5+
/**
6+
* Custom Selector Image Loader Listener
7+
* responds to the device image query.
8+
*/
59
interface ImageLoaderListener {
10+
11+
/**
12+
* On image loaded
13+
* @param images : queried device images.
14+
*/
615
fun onImageLoaded(images: ArrayList<Image>)
16+
17+
/**
18+
* On failed
19+
* @param throwable : throwable exception on failure.
20+
*/
721
fun onFailed(throwable: Throwable)
822
}

app/src/main/java/fr/free/nrw/commons/customselector/listeners/ImageSelectListener.kt

+8
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,14 @@ package fr.free.nrw.commons.customselector.listeners
22

33
import fr.free.nrw.commons.customselector.model.Image
44

5+
/**
6+
* Custom selector Image select listener
7+
*/
58
interface ImageSelectListener {
9+
10+
/**
11+
* onSelectedImagesChanged
12+
* @param selectedImages : new selected images.
13+
*/
614
fun onSelectedImagesChanged(selectedImages: ArrayList<Image>)
715
}

app/src/main/java/fr/free/nrw/commons/customselector/model/CallbackStatus.kt

+4
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
package fr.free.nrw.commons.customselector.model
22

3+
/**
4+
* sealed class Callback Status.
5+
* Current status of the device image query.
6+
*/
37
sealed class CallbackStatus {
48
/**
59
IDLE : The callback is idle , doing nothing.

app/src/main/java/fr/free/nrw/commons/customselector/model/Folder.kt

+3
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
package fr.free.nrw.commons.customselector.model
22

3+
/**
4+
* Custom selector data class Folder.
5+
*/
36
data class Folder(
47
/**
58
bucketId : Unique directory id, eg 540528482

app/src/main/java/fr/free/nrw/commons/customselector/model/Image.kt

+3
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,9 @@ import android.net.Uri
44
import android.os.Parcel
55
import android.os.Parcelable
66

7+
/**
8+
* Custom selector data class Image.
9+
*/
710
data class Image(
811
/**
912
id : Unique image id, primary key of image in device, eg 104950

app/src/main/java/fr/free/nrw/commons/customselector/model/Result.kt

+3
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
package fr.free.nrw.commons.customselector.model
22

3+
/**
4+
* Custom selector data class Result.
5+
*/
36
data class Result(
47
/**
58
* CallbackStatus : stores the result status

app/src/main/java/fr/free/nrw/commons/customselector/ui/adapter/FolderAdapter.kt

+4-2
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,10 @@ import fr.free.nrw.commons.customselector.listeners.FolderClickListener
1313
import fr.free.nrw.commons.customselector.model.Folder
1414
import fr.free.nrw.commons.customselector.model.Image
1515

16-
class FolderAdapter(
16+
/**
17+
* Custom selector FolderAdapter.
18+
*/
19+
class FolderAdapter(
1720
/**
1821
* Application context.
1922
*/
@@ -91,7 +94,6 @@ class FolderAdapter(
9194
diffResult.dispatchUpdatesTo(this)
9295
}
9396

94-
9597
/**
9698
* returns item count.
9799
*/

app/src/main/java/fr/free/nrw/commons/customselector/ui/adapter/ImageAdapter.kt

+3
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,9 @@ import fr.free.nrw.commons.customselector.listeners.ImageSelectListener
1616
import fr.free.nrw.commons.customselector.model.Image
1717
import fr.free.nrw.commons.customselector.ui.selector.ImageLoader
1818

19+
/**
20+
* Custom selector ImageAdapter.
21+
*/
1922
class ImageAdapter(
2023
/**
2124
* Application Context.

app/src/main/java/fr/free/nrw/commons/customselector/ui/selector/CustomSelectorActivity.kt

+3
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,9 @@ import fr.free.nrw.commons.theme.BaseActivity
1616
import java.io.File
1717
import javax.inject.Inject
1818

19+
/**
20+
* Custom Selector Activity.
21+
*/
1922
class CustomSelectorActivity: BaseActivity(), FolderClickListener, ImageSelectListener {
2023

2124
/**

app/src/main/java/fr/free/nrw/commons/customselector/ui/selector/CustomSelectorViewModel.kt

+3
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,9 @@ import kotlinx.coroutines.CoroutineScope
1111
import kotlinx.coroutines.Dispatchers
1212
import kotlinx.coroutines.cancel
1313

14+
/**
15+
* Custom Selector view model.
16+
*/
1417
class CustomSelectorViewModel(var context: Context,var imageFileLoader: ImageFileLoader) : ViewModel() {
1518

1619
/**

app/src/main/java/fr/free/nrw/commons/customselector/ui/selector/FolderFragment.kt

+3
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,9 @@ import fr.free.nrw.commons.upload.FileProcessor
2222
import kotlinx.android.synthetic.main.fragment_custom_selector.view.*
2323
import javax.inject.Inject
2424

25+
/**
26+
* Custom selector folder fragment.
27+
*/
2528
class FolderFragment : CommonsDaggerSupportFragment() {
2629

2730
/**

app/src/main/java/fr/free/nrw/commons/customselector/ui/selector/ImageFileLoader.kt

+6-2
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,10 @@ import kotlinx.coroutines.*
99
import java.io.File
1010
import kotlin.coroutines.CoroutineContext
1111

12+
/**
13+
* Custom Selector Image File Loader.
14+
* Loads device images.
15+
*/
1216
class ImageFileLoader(val context: Context) : CoroutineScope{
1317

1418
/**
@@ -39,7 +43,7 @@ class ImageFileLoader(val context: Context) : CoroutineScope{
3943

4044

4145
/**
42-
* Load the device images using cursor
46+
* Load Device images using cursor
4347
*/
4448
private fun getImages(listener:ImageLoaderListener) {
4549
val cursor = context.contentResolver.query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, projection, null, null, MediaStore.Images.Media.DATE_ADDED + " DESC")
@@ -99,7 +103,7 @@ class ImageFileLoader(val context: Context) : CoroutineScope{
99103
//todo Abort loading images.
100104
}
101105

102-
/**
106+
/*
103107
*
104108
* TODO
105109
* Sha1 for image (original image).

app/src/main/java/fr/free/nrw/commons/data/DBOpenHelper.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
public class DBOpenHelper extends SQLiteOpenHelper {
1414

1515
private static final String DATABASE_NAME = "commons.db";
16-
private static final int DATABASE_VERSION = 14;
16+
private static final int DATABASE_VERSION = 16;
1717
public static final String CONTRIBUTIONS_TABLE = "contributions";
1818
private final String DROP_TABLE_STATEMENT="DROP TABLE IF EXISTS %s";
1919

app/src/main/java/fr/free/nrw/commons/di/CommonsApplicationModule.java

+5
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,11 @@ public CommonsApplicationModule(Context applicationContext) {
6868
this.applicationContext = applicationContext;
6969
}
7070

71+
/**
72+
* Provides ImageFileLoader used to fetch device images.
73+
* @param context
74+
* @return
75+
*/
7176
@Provides
7277
public ImageFileLoader providesImageFileLoader(Context context) {
7378
return new ImageFileLoader(context);

app/src/main/java/fr/free/nrw/commons/filepicker/FilePicker.java

+14
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,12 @@ private static Intent createGalleryIntent(@NonNull Context context, int type) {
5353
.putExtra(Intent.EXTRA_ALLOW_MULTIPLE, configuration(context).allowsMultiplePickingInGallery());
5454
}
5555

56+
/**
57+
* CreateCustomSectorIntent, creates intent for custom selector activity.
58+
* @param context
59+
* @param type
60+
* @return Custom selector intent
61+
*/
5662
private static Intent createCustomSelectorIntent(@NonNull Context context, int type) {
5763
storeType(context, type);
5864
return new Intent(context, CustomSelectorActivity.class);
@@ -215,6 +221,10 @@ private static void onPictureReturnedFromDocuments(Intent data, Activity activit
215221
}
216222
}
217223

224+
/**
225+
* onPictureReturnedFromCustomSelector.
226+
* Retrieve and forward the images to upload wizard through callback.
227+
*/
218228
private static void onPictureReturnedFromCustomSelector(Intent data, Activity activity, @NonNull FilePicker.Callbacks callbacks) {
219229
try {
220230
List<UploadableFile> files = getFilesFromCustomSelector(data, activity);
@@ -225,6 +235,10 @@ private static void onPictureReturnedFromCustomSelector(Intent data, Activity ac
225235
}
226236
}
227237

238+
/**
239+
* Get files from custom selector
240+
* Retrieve and process the selected images from the custom selector.
241+
*/
228242
private static List<UploadableFile> getFilesFromCustomSelector(Intent data, Activity activity) throws IOException, SecurityException {
229243
List<UploadableFile> files = new ArrayList<>();
230244
ArrayList<Image> images = data.getParcelableArrayListExtra("Images");

0 commit comments

Comments
 (0)