Skip to content

Commit 4633858

Browse files
committed
* Async load of images on gallery with Universal Image Loader
1 parent 7a565ac commit 4633858

File tree

2 files changed

+28
-5
lines changed

2 files changed

+28
-5
lines changed

app/build.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,4 +34,5 @@ dependencies {
3434
compile 'com.github.ctodobom:OpenCV-3.1.0-Android:-SNAPSHOT'
3535
compile 'us.feras.mdv:markdownview:1.1.0'
3636
compile 'com.github.ctodobom:drag-select-recyclerview:0.3.4.ctodobom.sections'
37+
compile 'com.github.nostra13:Android-Universal-Image-Loader:v1.9.5'
3738
}

app/src/main/java/com/todobom/opennotescanner/GalleryGridActivity.java

Lines changed: 27 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,14 +23,15 @@
2323

2424
import com.afollestad.dragselectrecyclerview.DragSelectRecyclerView;
2525
import com.afollestad.dragselectrecyclerview.DragSelectRecyclerViewAdapter;
26+
import com.nostra13.universalimageloader.core.ImageLoader;
27+
import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;
28+
import com.nostra13.universalimageloader.core.assist.ImageSize;
2629
import com.todobom.opennotescanner.helpers.AboutFragment;
2730
import com.todobom.opennotescanner.helpers.Utils;
2831

2932
import java.io.File;
3033
import java.util.ArrayList;
3134

32-
import static com.todobom.opennotescanner.helpers.Utils.decodeSampledBitmapFromUri;
33-
3435

3536
public class GalleryGridActivity extends AppCompatActivity
3637
implements ClickListener, DragSelectRecyclerViewAdapter.SelectionListener {
@@ -41,6 +42,8 @@ public class GalleryGridActivity extends AppCompatActivity
4142
private DragSelectRecyclerView recyclerView;
4243
private AlertDialog.Builder deleteConfirmBuilder;
4344
private boolean selectionMode = false;
45+
private ImageLoader mImageLoader;
46+
private ImageSize mTargetSize;
4447

4548
@Override
4649
public void onClick(int index) {
@@ -113,7 +116,15 @@ public void onBindViewHolder(ThumbViewHolder holder, int position) {
113116
String filename = itemList.get(position);
114117

115118
if ( !filename.equals(holder.filename)) {
116-
holder.image.setImageBitmap(decodeSampledBitmapFromUri(filename, 220, 220));
119+
120+
// remove previous image
121+
holder.image.setImageBitmap(null);
122+
123+
// Load image, decode it to Bitmap and return Bitmap to callback
124+
mImageLoader.displayImage("file:///"+filename, holder.image, mTargetSize);
125+
126+
// holder.image.setImageBitmap(decodeSampledBitmapFromUri(filename, 220, 220));
127+
117128
holder.filename = filename;
118129
}
119130

@@ -189,7 +200,15 @@ public void onCreate(Bundle savedInstanceState) {
189200
actionBar.setDisplayHomeAsUpEnabled(true);
190201
actionBar.setHomeAsUpIndicator(R.drawable.ic_arrow_back_24dp);
191202

192-
myThumbAdapter = new ThumbAdapter(this,new Utils(getApplicationContext()).getFilePaths());
203+
ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(this).build();
204+
mImageLoader = ImageLoader.getInstance();
205+
mImageLoader.init(config);
206+
207+
mTargetSize = new ImageSize(220, 220); // result Bitmap will be fit to this size
208+
209+
ArrayList<String> ab = new ArrayList<>();
210+
myThumbAdapter = new ThumbAdapter(this, ab );
211+
// new Utils(getApplicationContext()).getFilePaths(););
193212

194213
recyclerView = (DragSelectRecyclerView) findViewById(R.id.recyclerview);
195214
recyclerView.setLayoutManager(new GridLayoutManager(this, 3));
@@ -222,7 +241,8 @@ public void onClick(DialogInterface dialog, int which) {
222241
private void reloadAdapter() {
223242
recyclerView.setAdapter(null);
224243

225-
myThumbAdapter = new ThumbAdapter(this,new Utils(getApplicationContext()).getFilePaths());
244+
// ArrayList<String> ab = new ArrayList<>();
245+
myThumbAdapter = new ThumbAdapter(this, new Utils(getApplicationContext()).getFilePaths());
226246

227247
recyclerView.setAdapter(myThumbAdapter);
228248
recyclerView.invalidate();
@@ -310,4 +330,6 @@ public void shareImages() {
310330
startActivity(Intent.createChooser(shareIntent, getString(R.string.share_snackbar)));
311331
}
312332

333+
334+
313335
}

0 commit comments

Comments
 (0)