adds the possibility to create a pdf from selected images to GalleryG… · miclill/OpenNoteScanner@9cff336
@@ -10,6 +10,7 @@
1010import android.net.Uri;
1111import android.os.Bundle;
1212import android.preference.PreferenceManager;
13+import android.support.design.widget.FloatingActionButton;
1314import android.support.v4.app.FragmentManager;
1415import android.support.v4.content.FileProvider;
1516import android.support.v7.app.ActionBar;
@@ -30,12 +31,12 @@
3031import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;
3132import com.nostra13.universalimageloader.core.assist.ImageSize;
3233import com.todobom.opennotescanner.helpers.AboutFragment;
34+import com.todobom.opennotescanner.helpers.PdfHelper;
3335import com.todobom.opennotescanner.helpers.Utils;
34363537import java.io.File;
3638import java.util.ArrayList;
373938-3940public class GalleryGridActivity extends AppCompatActivity
4041implements ClickListener, DragSelectRecyclerViewAdapter.SelectionListener {
4142@@ -70,7 +71,7 @@ public void onLongClick(int index) {
7071 }
71727273private void setSelectionMode(boolean selectionMode) {
73-if (mShare !=null && mDelete != null ) {
74+if (mShare != null && mDelete != null) {
7475mShare.setVisible(selectionMode);
7576//mTag.setVisible(selectionMode);
7677mDelete.setVisible(selectionMode);
@@ -80,9 +81,9 @@ private void setSelectionMode(boolean selectionMode) {
80818182@Override
8283public void onDragSelectionChanged(int i) {
83-Log.d(TAG, "DragSelectionChanged: "+i);
84+Log.d(TAG, "DragSelectionChanged: " + i);
848585-setSelectionMode(i>0);
86+setSelectionMode(i > 0);
8687 }
87888889@@ -97,15 +98,15 @@ protected ThumbAdapter(GalleryGridActivity activity, ArrayList<String> files) {
9798super();
9899mCallback = activity;
99100100-for (String file : files){
101+for (String file : files) {
101102add(file);
102103 }
103104104105setSelectionListener(activity);
105106106107 }
107108108-void add(String path){
109+void add(String path) {
109110itemList.add(path);
110111 }
111112@@ -121,13 +122,13 @@ public void onBindViewHolder(ThumbViewHolder holder, int position) {
121122122123String filename = itemList.get(position);
123124124-if ( !filename.equals(holder.filename)) {
125+if (!filename.equals(holder.filename)) {
125126126127// remove previous image
127128holder.image.setImageBitmap(null);
128129129130// Load image, decode it to Bitmap and return Bitmap to callback
130-mImageLoader.displayImage("file:///"+filename, holder.image, mTargetSize);
131+mImageLoader.displayImage("file:///" + filename, holder.image, mTargetSize);
131132132133// holder.image.setImageBitmap(decodeSampledBitmapFromUri(filename, 220, 220));
133134@@ -150,7 +151,7 @@ public ArrayList<String> getSelectedFiles() {
150151151152ArrayList<String> selection = new ArrayList<>();
152153153-for ( Integer i: getSelectedIndices() ) {
154+for (Integer i : getSelectedIndices()) {
154155selection.add(itemList.get(i));
155156 }
156157@@ -159,7 +160,7 @@ public ArrayList<String> getSelectedFiles() {
159160160161161162public class ThumbViewHolder extends RecyclerView.ViewHolder
162-implements View.OnClickListener, View.OnLongClickListener{
163+implements View.OnClickListener, View.OnLongClickListener {
163164164165public final ImageView image;
165166public String filename;
@@ -219,7 +220,7 @@ public void onCreate(Bundle savedInstanceState) {
219220mTargetSize = new ImageSize(220, 220); // result Bitmap will be fit to this size
220221221222ArrayList<String> ab = new ArrayList<>();
222-myThumbAdapter = new ThumbAdapter(this, ab );
223+myThumbAdapter = new ThumbAdapter(this, ab);
223224// new Utils(getApplicationContext()).getFilePaths(););
224225225226recyclerView = (DragSelectRecyclerView) findViewById(R.id.recyclerview);
@@ -248,6 +249,15 @@ public void onClick(DialogInterface dialog, int which) {
248249 }
249250 });
250251252+final FloatingActionButton pdfButton = (FloatingActionButton) findViewById(R.id.pdfButton);
253+254+pdfButton.setOnClickListener(new View.OnClickListener() {
255+@Override
256+public void onClick(View v) {
257+PdfHelper.mergeImagesToPdf(getApplicationContext(), myThumbAdapter.getSelectedFiles());
258+ }
259+ });
260+251261 }
252262253263private void reloadAdapter() {
@@ -270,19 +280,18 @@ public void onResume() {
270280 }
271281272282private void deleteImage() {
273-for ( String filePath: myThumbAdapter.getSelectedFiles() ) {
283+for (String filePath : myThumbAdapter.getSelectedFiles()) {
274284final File photoFile = new File(filePath);
275285if (photoFile.delete()) {
276-Utils.removeImageFromGallery(filePath,this);
277-Log.d(TAG,"Removed file: "+filePath);
286+Utils.removeImageFromGallery(filePath, this);
287+Log.d(TAG, "Removed file: " + filePath);
278288 }
279289 }
280290281291reloadAdapter();
282292283293 }
284294285-286295@Override
287296public boolean onCreateOptionsMenu(Menu menu) {
288297// Inflate the menu; this adds items to the action bar if it is present.
@@ -309,7 +318,7 @@ public boolean onOptionsItemSelected(MenuItem item) {
309318// as you specify a parent activity in AndroidManifest.xml.
310319int id = item.getItemId();
311320312-switch(id) {
321+switch (id) {
313322case android.R.id.home:
314323finish();
315324break;
@@ -341,17 +350,17 @@ public void shareImages() {
341350final Intent shareIntent = new Intent(Intent.ACTION_SEND);
342351shareIntent.setType("image/jpg");
343352344-Uri uri = FileProvider.getUriForFile(getApplicationContext(), getPackageName()+".fileprovider", new File(selectedFiles.get(0)));
353+Uri uri = FileProvider.getUriForFile(getApplicationContext(), getPackageName() + ".fileprovider", new File(selectedFiles.get(0)));
345354shareIntent.putExtra(Intent.EXTRA_STREAM, uri);
346-Log.d("GalleryGridActivity","uri "+uri);
355+Log.d("GalleryGridActivity", "uri " + uri);
347356348357startActivity(Intent.createChooser(shareIntent, getString(R.string.share_snackbar)));
349358 } else {
350359ArrayList<Uri> filesUris = new ArrayList<>();
351360for (String i : myThumbAdapter.getSelectedFiles()) {
352-Uri uri = FileProvider.getUriForFile(getApplicationContext(), getPackageName()+".fileprovider", new File(i));
361+Uri uri = FileProvider.getUriForFile(getApplicationContext(), getPackageName() + ".fileprovider", new File(i));
353362filesUris.add(uri);
354-Log.d("GalleryGridActivity","uri "+uri);
363+Log.d("GalleryGridActivity", "uri " + uri);
355364 }
356365357366final Intent shareIntent = new Intent(Intent.ACTION_SEND_MULTIPLE);
@@ -364,5 +373,4 @@ public void shareImages() {
364373 }
365374366375367-368376}