adds the possibility to create a pdf from selected images to GalleryG… · miclill/OpenNoteScanner@9cff336

@@ -10,6 +10,7 @@

1010

import android.net.Uri;

1111

import android.os.Bundle;

1212

import android.preference.PreferenceManager;

13+

import android.support.design.widget.FloatingActionButton;

1314

import android.support.v4.app.FragmentManager;

1415

import android.support.v4.content.FileProvider;

1516

import android.support.v7.app.ActionBar;

@@ -30,12 +31,12 @@

3031

import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;

3132

import com.nostra13.universalimageloader.core.assist.ImageSize;

3233

import com.todobom.opennotescanner.helpers.AboutFragment;

34+

import com.todobom.opennotescanner.helpers.PdfHelper;

3335

import com.todobom.opennotescanner.helpers.Utils;

34363537

import java.io.File;

3638

import java.util.ArrayList;

373938-3940

public class GalleryGridActivity extends AppCompatActivity

4041

implements ClickListener, DragSelectRecyclerViewAdapter.SelectionListener {

4142

@@ -70,7 +71,7 @@ public void onLongClick(int index) {

7071

}

71727273

private void setSelectionMode(boolean selectionMode) {

73-

if (mShare !=null && mDelete != null ) {

74+

if (mShare != null && mDelete != null) {

7475

mShare.setVisible(selectionMode);

7576

//mTag.setVisible(selectionMode);

7677

mDelete.setVisible(selectionMode);

@@ -80,9 +81,9 @@ private void setSelectionMode(boolean selectionMode) {

80818182

@Override

8283

public 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) {

9798

super();

9899

mCallback = activity;

99100100-

for (String file : files){

101+

for (String file : files) {

101102

add(file);

102103

}

103104104105

setSelectionListener(activity);

105106106107

}

107108108-

void add(String path){

109+

void add(String path) {

109110

itemList.add(path);

110111

}

111112

@@ -121,13 +122,13 @@ public void onBindViewHolder(ThumbViewHolder holder, int position) {

121122122123

String filename = itemList.get(position);

123124124-

if ( !filename.equals(holder.filename)) {

125+

if (!filename.equals(holder.filename)) {

125126126127

// remove previous image

127128

holder.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() {

150151151152

ArrayList<String> selection = new ArrayList<>();

152153153-

for ( Integer i: getSelectedIndices() ) {

154+

for (Integer i : getSelectedIndices()) {

154155

selection.add(itemList.get(i));

155156

}

156157

@@ -159,7 +160,7 @@ public ArrayList<String> getSelectedFiles() {

159160160161161162

public class ThumbViewHolder extends RecyclerView.ViewHolder

162-

implements View.OnClickListener, View.OnLongClickListener{

163+

implements View.OnClickListener, View.OnLongClickListener {

163164164165

public final ImageView image;

165166

public String filename;

@@ -219,7 +220,7 @@ public void onCreate(Bundle savedInstanceState) {

219220

mTargetSize = new ImageSize(220, 220); // result Bitmap will be fit to this size

220221221222

ArrayList<String> ab = new ArrayList<>();

222-

myThumbAdapter = new ThumbAdapter(this, ab );

223+

myThumbAdapter = new ThumbAdapter(this, ab);

223224

// new Utils(getApplicationContext()).getFilePaths(););

224225225226

recyclerView = (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

}

252262253263

private void reloadAdapter() {

@@ -270,19 +280,18 @@ public void onResume() {

270280

}

271281272282

private void deleteImage() {

273-

for ( String filePath: myThumbAdapter.getSelectedFiles() ) {

283+

for (String filePath : myThumbAdapter.getSelectedFiles()) {

274284

final File photoFile = new File(filePath);

275285

if (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

}

280290281291

reloadAdapter();

282292283293

}

284294285-286295

@Override

287296

public 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.

310319

int id = item.getItemId();

311320312-

switch(id) {

321+

switch (id) {

313322

case android.R.id.home:

314323

finish();

315324

break;

@@ -341,17 +350,17 @@ public void shareImages() {

341350

final Intent shareIntent = new Intent(Intent.ACTION_SEND);

342351

shareIntent.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)));

345354

shareIntent.putExtra(Intent.EXTRA_STREAM, uri);

346-

Log.d("GalleryGridActivity","uri "+uri);

355+

Log.d("GalleryGridActivity", "uri " + uri);

347356348357

startActivity(Intent.createChooser(shareIntent, getString(R.string.share_snackbar)));

349358

} else {

350359

ArrayList<Uri> filesUris = new ArrayList<>();

351360

for (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));

353362

filesUris.add(uri);

354-

Log.d("GalleryGridActivity","uri "+uri);

363+

Log.d("GalleryGridActivity", "uri " + uri);

355364

}

356365357366

final Intent shareIntent = new Intent(Intent.ACTION_SEND_MULTIPLE);

@@ -364,5 +373,4 @@ public void shareImages() {

364373

}

365374366375367-368376

}