diff --git a/app/src/main/java/swati4star/createpdf/adapter/HistoryAdapter.java b/app/src/main/java/swati4star/createpdf/adapter/HistoryAdapter.java index 0ddb5bebf..a78cbc4a4 100644 --- a/app/src/main/java/swati4star/createpdf/adapter/HistoryAdapter.java +++ b/app/src/main/java/swati4star/createpdf/adapter/HistoryAdapter.java @@ -19,10 +19,13 @@ public class HistoryAdapter extends RecyclerView.Adapter mHistoryList; private final Activity mActivity; + private final OnClickListener mOnClickListener; - public HistoryAdapter(Activity mActivity, List mHistoryList) { + + public HistoryAdapter(Activity mActivity, List mHistoryList, OnClickListener mOnClickListener) { this.mHistoryList = mHistoryList; this.mActivity = mActivity; + this.mOnClickListener = mOnClickListener; } @NonNull @@ -56,7 +59,7 @@ public int getItemCount() { return mHistoryList == null ? 0 : mHistoryList.size(); } - public class ViewHistoryHolder extends RecyclerView.ViewHolder { + public class ViewHistoryHolder extends RecyclerView.ViewHolder implements View.OnClickListener { @BindView(R.id.fileName) TextView mFilename; @@ -68,6 +71,16 @@ public class ViewHistoryHolder extends RecyclerView.ViewHolder { ViewHistoryHolder(View itemView) { super(itemView); ButterKnife.bind(this, itemView); + itemView.setOnClickListener(this); + } + + @Override + public void onClick(View view) { + mOnClickListener.onItemClick(mHistoryList.get(getAdapterPosition()).getFilePath()); } } + + public interface OnClickListener { + void onItemClick(String path); + } } \ No newline at end of file diff --git a/app/src/main/java/swati4star/createpdf/fragment/HistoryFragment.java b/app/src/main/java/swati4star/createpdf/fragment/HistoryFragment.java index 9f9c45a4d..586579351 100644 --- a/app/src/main/java/swati4star/createpdf/fragment/HistoryFragment.java +++ b/app/src/main/java/swati4star/createpdf/fragment/HistoryFragment.java @@ -8,6 +8,7 @@ import android.support.annotation.NonNull; import android.support.annotation.Nullable; import android.support.constraint.ConstraintLayout; +import android.support.design.widget.Snackbar; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentManager; import android.support.v7.widget.LinearLayoutManager; @@ -22,7 +23,9 @@ import com.afollestad.materialdialogs.DialogAction; import com.afollestad.materialdialogs.MaterialDialog; +import java.io.File; import java.util.List; +import java.util.Objects; import butterknife.BindView; import butterknife.ButterKnife; @@ -31,9 +34,10 @@ import swati4star.createpdf.adapter.HistoryAdapter; import swati4star.createpdf.database.AppDatabase; import swati4star.createpdf.database.History; +import swati4star.createpdf.util.FileUtils; import swati4star.createpdf.util.ViewFilesDividerItemDecoration; -public class HistoryFragment extends Fragment { +public class HistoryFragment extends Fragment implements HistoryAdapter.OnClickListener { @BindView(R.id.emptyStatusView) ConstraintLayout mEmptyStatusLayout; @@ -106,6 +110,19 @@ public void loadHome() { fragmentManager.beginTransaction().replace(R.id.content, fragment).commit(); } + @Override + public void onItemClick(String path) { + FileUtils fileUtils = new FileUtils(mActivity); + File file = new File(path); + if (file.exists()) { + fileUtils.openFile(path); + } else { + Snackbar.make(Objects.requireNonNull(mActivity).findViewById(android.R.id.content), + R.string.pdf_does_not_exist_message, + Snackbar.LENGTH_LONG).show(); + } + } + @SuppressLint("StaticFieldLeak") private class LoadHistory extends AsyncTask { private final Context mContext; @@ -126,7 +143,7 @@ protected Void doInBackground(Void... voids) { protected void onPostExecute(Void aVoid) { if (mHistoryList != null && !mHistoryList.isEmpty()) { mEmptyStatusLayout.setVisibility(View.GONE); - mHistoryAdapter = new HistoryAdapter(mActivity, mHistoryList); + mHistoryAdapter = new HistoryAdapter(mActivity, mHistoryList, HistoryFragment.this); RecyclerView.LayoutManager mLayoutManager = new LinearLayoutManager(mContext); mHistoryRecyclerView.setLayoutManager(mLayoutManager); mHistoryRecyclerView.setAdapter(mHistoryAdapter); diff --git a/app/src/main/res/layout/layout_item_history.xml b/app/src/main/res/layout/layout_item_history.xml index ccdb2ac6e..32cb0f5f2 100644 --- a/app/src/main/res/layout/layout_item_history.xml +++ b/app/src/main/res/layout/layout_item_history.xml @@ -1,47 +1,52 @@ - + android:layout_height="wrap_content"> + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:baselineAligned="false" + android:orientation="horizontal" + android:weightSum="7"> - - + - + + + + - + - + + - \ No newline at end of file + diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index 24978b64a..f8d152d3d 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -241,4 +241,5 @@ Arrow Down Rearrange Images Rearrange + The PDF doesn\'t exist. \ No newline at end of file diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index 34313fa06..275cf0d67 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -242,4 +242,5 @@ Arrow Down Rearrange Images Rearrange + The PDF doesn\'t exist. \ No newline at end of file diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml index f9cfe8f41..269ce4331 100644 --- a/app/src/main/res/values-ja/strings.xml +++ b/app/src/main/res/values-ja/strings.xml @@ -240,4 +240,5 @@ Arrow Down Rearrange Images Rearrange + The PDF doesn\'t exist. diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index d19fd8b44..c6c18a63f 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -299,5 +299,6 @@ Arrow Down Rearrange Images Rearrange + The PDF doesn\'t exist.