Skip to content

Commit f243cf7

Browse files
sc450ewSwati4star
authored andcommitted
#431 - chceckbox added before each file in merge files fragment (#521)
1 parent a66ec97 commit f243cf7

File tree

8 files changed

+49
-14
lines changed

8 files changed

+49
-14
lines changed

app/src/main/java/swati4star/createpdf/adapter/MergeFilesAdapter.java

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import android.app.Activity;
44
import android.support.annotation.NonNull;
5+
import android.support.v7.widget.AppCompatCheckBox;
56
import android.support.v7.widget.RecyclerView;
67
import android.view.LayoutInflater;
78
import android.view.View;
@@ -13,6 +14,7 @@
1314

1415
import butterknife.BindView;
1516
import butterknife.ButterKnife;
17+
import butterknife.OnClick;
1618
import swati4star.createpdf.R;
1719
import swati4star.createpdf.util.FileUtils;
1820
import swati4star.createpdf.util.PDFUtils;
@@ -24,13 +26,16 @@ public class MergeFilesAdapter extends RecyclerView.Adapter<MergeFilesAdapter.Vi
2426
private final FileUtils mFileUtils;
2527
private final OnClickListener mOnClickListener;
2628
private final PDFUtils mPDFUtils;
29+
private final boolean mIsMergeFragment;
2730

28-
public MergeFilesAdapter(Activity mContext, ArrayList<String> mFilePaths, OnClickListener mOnClickListener) {
31+
public MergeFilesAdapter(Activity mContext, ArrayList<String> mFilePaths,
32+
boolean mIsMergeFragment, OnClickListener mOnClickListener) {
2933
this.mContext = mContext;
3034
this.mFilePaths = mFilePaths;
3135
mFileUtils = new FileUtils(mContext);
3236
this.mOnClickListener = mOnClickListener;
3337
mPDFUtils = new PDFUtils(mContext);
38+
this.mIsMergeFragment = mIsMergeFragment;
3439
}
3540

3641
@NonNull
@@ -46,6 +51,7 @@ public void onBindViewHolder(@NonNull ViewMergeFilesHolder holder, int position)
4651
boolean isEncrypted = mPDFUtils.isPDFEncrypted(mFilePaths.get(position));
4752
holder.mFileName.setText(mFileUtils.getFileName(mFilePaths.get(position)));
4853
holder.mEncryptionImage.setVisibility(isEncrypted ? View.VISIBLE : View.INVISIBLE);
54+
4955
}
5056

5157
@Override
@@ -58,17 +64,28 @@ public class ViewMergeFilesHolder extends RecyclerView.ViewHolder implements Vie
5864
TextView mFileName;
5965
@BindView(R.id.encryptionImage)
6066
ImageView mEncryptionImage;
67+
@BindView(R.id.itemMerge_checkbox)
68+
AppCompatCheckBox mCheckbox;
6169

6270
ViewMergeFilesHolder(View itemView) {
6371
super(itemView);
6472
ButterKnife.bind(this, itemView);
6573
mFileName.setOnClickListener(this);
74+
if (mIsMergeFragment) mCheckbox.setVisibility(View.VISIBLE);
75+
else mCheckbox.setVisibility(View.GONE);
6676
}
6777

6878
@Override
6979
public void onClick(View view) {
80+
if (mIsMergeFragment) mCheckbox.toggle();
7081
mOnClickListener.onItemClick(mFilePaths.get(getAdapterPosition()));
7182
}
83+
84+
@OnClick(R.id.itemMerge_checkbox)
85+
public void onCheckboxClick() {
86+
mOnClickListener.onItemClick(mFilePaths.get(getAdapterPosition()));
87+
}
88+
7289
}
7390

7491
public interface OnClickListener {

app/src/main/java/swati4star/createpdf/fragment/ExtractImagesFragment.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -206,7 +206,7 @@ public void onPopulate(ArrayList<String> paths) {
206206
// Init recycler view
207207
mRecyclerViewFiles.setVisibility(View.VISIBLE);
208208
MergeFilesAdapter mergeFilesAdapter = new MergeFilesAdapter(mActivity,
209-
paths, this);
209+
paths, false, this);
210210
RecyclerView.LayoutManager mLayoutManager = new LinearLayoutManager(mActivity);
211211
mRecyclerViewFiles.setLayoutManager(mLayoutManager);
212212
mRecyclerViewFiles.setAdapter(mergeFilesAdapter);

app/src/main/java/swati4star/createpdf/fragment/MergeFilesFragment.java

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -292,11 +292,20 @@ public void onAttach(Context context) {
292292

293293
@Override
294294
public void onItemClick(String path) {
295-
mFilePaths.add(path);
295+
if (mFilePaths.contains(path)) {
296+
mFilePaths.remove(path);
297+
showSnackbar(mActivity, getString(R.string.pdf_removed_from_list));
298+
} else {
299+
mFilePaths.add(path);
300+
showSnackbar(mActivity, getString(R.string.pdf_added_to_list));
301+
}
302+
296303
mMergeSelectedFilesAdapter.notifyDataSetChanged();
297-
if (mFilePaths.size() > 1 && !mergeBtn.isEnabled())
298-
setMorphingButtonState(true);
299-
showSnackbar(mActivity, getString(R.string.pdf_added_to_list));
304+
if (mFilePaths.size() > 1) {
305+
if (!mergeBtn.isEnabled()) setMorphingButtonState(true);
306+
} else {
307+
if (mergeBtn.isEnabled()) setMorphingButtonState(false);
308+
}
300309
}
301310

302311
/**
@@ -368,7 +377,7 @@ public void onPopulate(ArrayList<String> paths) {
368377
// Init recycler view
369378
mRecyclerViewFiles.setVisibility(View.VISIBLE);
370379
MergeFilesAdapter mergeFilesAdapter = new MergeFilesAdapter(mActivity,
371-
paths, this);
380+
paths, true, this);
372381
RecyclerView.LayoutManager mLayoutManager = new LinearLayoutManager(mActivity);
373382
mRecyclerViewFiles.setLayoutManager(mLayoutManager);
374383
mRecyclerViewFiles.setAdapter(mergeFilesAdapter);

app/src/main/java/swati4star/createpdf/fragment/PdfToImageFragment.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -264,8 +264,7 @@ public void onPopulate(ArrayList<String> paths) {
264264
} else {
265265
// init recycler view for bottom sheet
266266
mRecyclerViewFiles.setVisibility(View.VISIBLE);
267-
MergeFilesAdapter mergeFilesAdapter = new MergeFilesAdapter(mActivity,
268-
paths, this);
267+
MergeFilesAdapter mergeFilesAdapter = new MergeFilesAdapter(mActivity, paths, false, this);
269268
RecyclerView.LayoutManager mLayoutManager = new LinearLayoutManager(mActivity);
270269
mRecyclerViewFiles.setLayoutManager(mLayoutManager);
271270
// set up adapter

app/src/main/java/swati4star/createpdf/fragment/RemovePagesFragment.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -333,7 +333,7 @@ public void onPopulate(ArrayList<String> paths) {
333333
// Init recycler view
334334
mRecyclerViewFiles.setVisibility(View.VISIBLE);
335335
MergeFilesAdapter mergeFilesAdapter = new MergeFilesAdapter(mActivity,
336-
paths, this);
336+
paths, false, this);
337337
RecyclerView.LayoutManager mLayoutManager = new LinearLayoutManager(mActivity);
338338
mRecyclerViewFiles.setLayoutManager(mLayoutManager);
339339
mRecyclerViewFiles.setAdapter(mergeFilesAdapter);

app/src/main/java/swati4star/createpdf/fragment/SettingsFragment.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -289,4 +289,4 @@ public void setTheme() {
289289
rb.setChecked(true);
290290
materialDialog.show();
291291
}
292-
}
292+
}

app/src/main/java/swati4star/createpdf/fragment/SplitFilesFragment.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -169,8 +169,7 @@ public void onPopulate(ArrayList<String> paths) {
169169
} else {
170170
// Init recycler view
171171
mRecyclerViewFiles.setVisibility(View.VISIBLE);
172-
MergeFilesAdapter mergeFilesAdapter = new MergeFilesAdapter(mActivity,
173-
paths, this);
172+
MergeFilesAdapter mergeFilesAdapter = new MergeFilesAdapter(mActivity, paths, false, this);
174173
RecyclerView.LayoutManager mLayoutManager = new LinearLayoutManager(mActivity);
175174
mRecyclerViewFiles.setLayoutManager(mLayoutManager);
176175
mRecyclerViewFiles.setAdapter(mergeFilesAdapter);

app/src/main/res/layout/item_merge_files.xml

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,26 @@
44
android:layout_width="match_parent"
55
android:layout_height="wrap_content">
66

7+
<android.support.v7.widget.AppCompatCheckBox
8+
android:id="@+id/itemMerge_checkbox"
9+
android:layout_width="wrap_content"
10+
android:layout_height="wrap_content"
11+
android:layout_marginStart="8dp"
12+
android:layout_centerVertical="true"
13+
android:visibility="gone"/>
14+
715
<com.balysv.materialripple.MaterialRippleLayout
816
android:layout_width="match_parent"
917
android:layout_height="wrap_content"
10-
android:layout_alignParentStart="true">
18+
android:layout_centerVertical="true"
19+
android:layout_marginEnd="8dp"
20+
android:layout_toEndOf="@id/itemMerge_checkbox">
1121

1222
<TextView
1323
android:id="@+id/fileName"
1424
android:layout_width="match_parent"
1525
android:layout_height="wrap_content"
26+
android:layout_gravity="center"
1627
android:padding="12dp"
1728
android:textSize="16sp"
1829
android:textStyle="bold" />

0 commit comments

Comments
 (0)