Skip to content

Commit 16ae274

Browse files
committed
2021/11/27
before remove gallery fragment and merge into together
1 parent eb6b687 commit 16ae274

File tree

4 files changed

+57
-10
lines changed

4 files changed

+57
-10
lines changed

SmartFileBrowser/src/main/java/ir/smartdevelopers/smartfilebrowser/adapters/GalleryAdapter.java

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -103,16 +103,31 @@ public int getItemCount() {
103103
}
104104

105105
public void setList(List<GalleryModel> galleryModels) {
106-
mGalleryModels=galleryModels;
107-
for (GalleryModel model:mGalleryModels){
106+
107+
108+
for (GalleryModel model:galleryModels){
108109
if (model.getCurrentFile()==null){
109110
continue;
110111
}
111112
if (mSelectedFiles.contains(model.getCurrentFile())){
112113
model.setSelected(true);
113114
}
114115
}
115-
notifyDataSetChanged();
116+
/*if there is just camera item in it*/
117+
boolean firstItemIsCamera=false;
118+
if (mGalleryModels.size()>0 && mGalleryModels.get(0).getId()==0){
119+
notifyItemRangeRemoved(1,mGalleryModels.size()-1);
120+
firstItemIsCamera=true;
121+
}else if (mGalleryModels.size()>0){
122+
notifyItemRangeRemoved(0,mGalleryModels.size());
123+
}
124+
mGalleryModels=galleryModels;
125+
if (firstItemIsCamera){
126+
notifyItemRangeInserted(1,galleryModels.size()-1);
127+
}else {
128+
notifyItemRangeInserted(0,galleryModels.size());
129+
}
130+
116131
}
117132

118133
public boolean canSelectMultiple() {

SmartFileBrowser/src/main/java/ir/smartdevelopers/smartfilebrowser/fragments/GalleryFragment.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import android.net.Uri;
88
import android.os.Bundle;
99
import android.provider.MediaStore;
10+
import android.util.Log;
1011
import android.view.LayoutInflater;
1112
import android.view.View;
1213
import android.view.ViewGroup;
@@ -132,6 +133,7 @@ public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceStat
132133
allGalleryModels.observe(getViewLifecycleOwner(), new Observer<List<GalleryModel>>() {
133134
@Override
134135
public void onChanged(List<GalleryModel> galleryModels) {
136+
Log.v("TTT","onChanged");
135137
mGalleryAdapter.setList(galleryModels);
136138
}
137139
});

SmartFileBrowser/src/main/java/ir/smartdevelopers/smartfilebrowser/models/GalleryModel.java

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
import ir.smartdevelopers.smartfilebrowser.customClasses.FileUtil;
88

9-
public class GalleryModel implements FileModel {
9+
public class GalleryModel implements FileModel ,Comparable<GalleryModel>{
1010

1111
public static final int TYPE_CAMERA = -102;
1212
private long id;
@@ -18,6 +18,8 @@ public class GalleryModel implements FileModel {
1818
private int mType;
1919
private boolean mSelected;
2020
private int mNumber;
21+
private String mThumbnailPath;
22+
private String mThumbnailId;
2123

2224

2325
public String getPath() {
@@ -93,4 +95,25 @@ public int getNumber() {
9395
public void setNumber(int number) {
9496
mNumber = number;
9597
}
98+
99+
public String getThumbnailId() {
100+
return mThumbnailId;
101+
}
102+
103+
public void setThumbnailId(String thumbnailId) {
104+
mThumbnailId = thumbnailId;
105+
}
106+
107+
public String getThumbnailPath() {
108+
return mThumbnailPath;
109+
}
110+
111+
public void setThumbnailPath(String thumbnailPath) {
112+
mThumbnailPath = thumbnailPath;
113+
}
114+
115+
@Override
116+
public int compareTo(GalleryModel o) {
117+
return Long.compare(this.mDateAdded,o.mDateAdded)*-1;
118+
}
96119
}

SmartFileBrowser/src/main/java/ir/smartdevelopers/smartfilebrowser/viewModel/Repository.java

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
import java.io.FileFilter;
2121
import java.lang.ref.WeakReference;
2222
import java.util.ArrayList;
23+
import java.util.Calendar;
2324
import java.util.Collections;
2425
import java.util.Comparator;
2526
import java.util.HashSet;
@@ -49,6 +50,15 @@ public LiveData<List<GalleryModel>> getGalleryMediaList(String selection, String
4950
if (galleryList==null){
5051
galleryList=new MutableLiveData<>();
5152
}
53+
List<GalleryModel> galleryModelList=new ArrayList<>();
54+
if (addCameraItem){
55+
GalleryModel cameraModel=new GalleryModel();
56+
cameraModel.setDateAdded(Calendar.getInstance().getTimeInMillis());
57+
cameraModel.setType(GalleryModel.TYPE_CAMERA);
58+
galleryModelList.add(cameraModel);
59+
galleryList.setValue(galleryModelList);
60+
}
61+
5262
String extraQuery=MediaStore.Files.FileColumns.DATA+" NOT LIKE '%Android/%' ";
5363
selection= TextUtils.isEmpty(selection) ? extraQuery
5464
: selection+" AND "+extraQuery;
@@ -59,9 +69,10 @@ public LiveData<List<GalleryModel>> getGalleryMediaList(String selection, String
5969
String[] imageProjection = {MediaStore.Images.Media._ID,
6070
MediaStore.Images.Media.DATA, MediaStore.Images.Media.DATE_ADDED,
6171
MediaStore.Images.Media.DISPLAY_NAME, MediaStore.Images.Media.MIME_TYPE};
72+
6273
Cursor externalImageCursor = mContentResolver.query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, imageProjection,
6374
finalSelection, selectionArgs, MediaStore.Images.Media.DATE_ADDED + " DESC");
64-
List<GalleryModel> galleryModelList = new ArrayList<>(getGalleryModel(externalImageCursor, imageProjection));
75+
galleryModelList.addAll(getGalleryModel(externalImageCursor, imageProjection));
6576
// </editor-fold>
6677

6778
// <editor-fold defaultstate="collapsed" desc=" Videos ">
@@ -74,11 +85,7 @@ public LiveData<List<GalleryModel>> getGalleryMediaList(String selection, String
7485
galleryModelList.addAll(getGalleryModel(externalVideoCursor, videoProjection));
7586
}
7687
// </editor-fold>
77-
if (addCameraItem){
78-
GalleryModel cameraModel=new GalleryModel();
79-
cameraModel.setType(GalleryModel.TYPE_CAMERA);
80-
galleryModelList.add(0,cameraModel);
81-
}
88+
Collections.sort(galleryModelList);
8289
galleryList.postValue(galleryModelList);
8390

8491
});

0 commit comments

Comments
 (0)