From bb9a8f3414b3fb63724e511ac3e413bd93170a36 Mon Sep 17 00:00:00 2001 From: Hao Tran Date: Fri, 17 May 2019 11:11:42 +0700 Subject: [PATCH] yay, bump it --- .idea/assetWizardSettings.xml | 8 +-- documentscanner/src/main/AndroidManifest.xml | 14 +++-- .../activity/CaptureActivity.java | 8 +++ .../activity/EditingActivity.java | 52 ++++++++++++++- .../activity/UploadActivity.java | 7 +++ .../activity/adapters/BaseCaptureAdapter.java | 14 +++-- .../adapters/CaptureAdapterByDay.java | 63 ++++++++++++++++--- .../fragments/CaptureResultFragment.java | 8 +-- .../main/res/drawable/ic_grid_unactive.xml | 14 +++++ .../src/main/res/drawable/ic_row_unactive.xml | 12 ++++ .../src/main/res/layout/activity_capture.xml | 28 ++++++++- .../src/main/res/layout/activity_editing.xml | 60 +++++++++++++++++- .../src/main/res/layout/fragment_editing.xml | 57 +---------------- .../src/main/res/layout/item_capture.xml | 44 ++++--------- .../src/main/res/layout/item_header.xml | 4 +- 15 files changed, 277 insertions(+), 116 deletions(-) create mode 100644 documentscanner/src/main/res/drawable/ic_grid_unactive.xml create mode 100644 documentscanner/src/main/res/drawable/ic_row_unactive.xml diff --git a/.idea/assetWizardSettings.xml b/.idea/assetWizardSettings.xml index fe00988..3c2ecac 100644 --- a/.idea/assetWizardSettings.xml +++ b/.idea/assetWizardSettings.xml @@ -14,11 +14,11 @@ diff --git a/documentscanner/src/main/AndroidManifest.xml b/documentscanner/src/main/AndroidManifest.xml index 6b66c55..9a10d4b 100644 --- a/documentscanner/src/main/AndroidManifest.xml +++ b/documentscanner/src/main/AndroidManifest.xml @@ -10,12 +10,18 @@ - - - + + + + android:theme="@style/Theme.AppCompat.Light.NoActionBar" + android:screenOrientation="portrait"/> \ No newline at end of file diff --git a/documentscanner/src/main/java/com/haotran/documentscanner/activity/CaptureActivity.java b/documentscanner/src/main/java/com/haotran/documentscanner/activity/CaptureActivity.java index 786fef4..7d5fa64 100644 --- a/documentscanner/src/main/java/com/haotran/documentscanner/activity/CaptureActivity.java +++ b/documentscanner/src/main/java/com/haotran/documentscanner/activity/CaptureActivity.java @@ -20,6 +20,7 @@ import android.view.WindowManager; import android.widget.ImageView; import android.widget.LinearLayout; +import android.widget.Toast; import com.haotran.documentscanner.R; import com.haotran.documentscanner.constants.ScanConstants; @@ -69,6 +70,13 @@ public void onClick(View v) { } }); + findViewById(R.id.grid).setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + Toast.makeText(CaptureActivity.this, "Coming soon.", Toast.LENGTH_SHORT).show(); + } + }); + } void startScan() { Intent intent = new Intent(this, ScanActivity.class); diff --git a/documentscanner/src/main/java/com/haotran/documentscanner/activity/EditingActivity.java b/documentscanner/src/main/java/com/haotran/documentscanner/activity/EditingActivity.java index a33a9bb..91901de 100644 --- a/documentscanner/src/main/java/com/haotran/documentscanner/activity/EditingActivity.java +++ b/documentscanner/src/main/java/com/haotran/documentscanner/activity/EditingActivity.java @@ -10,9 +10,12 @@ import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.support.v7.widget.AppCompatTextView; +import android.util.Log; +import android.view.DragEvent; import android.view.View; import android.widget.LinearLayout; import android.widget.TextView; +import android.widget.Toast; import com.haotran.documentscanner.R; import com.haotran.documentscanner.constants.ScanConstants; @@ -58,6 +61,32 @@ public void onClick(View v) { finish(); } }); + + findViewById(R.id.viewNotice).setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + Toast.makeText(EditingActivity.this, "Coming soon.", Toast.LENGTH_SHORT).show(); + } + }); + findViewById(R.id.crop).setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + Toast.makeText(EditingActivity.this, "Coming soon.", Toast.LENGTH_SHORT).show(); + } + }); + findViewById(R.id.rotate).setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + Toast.makeText(EditingActivity.this, "Coming soon.", Toast.LENGTH_SHORT).show(); + } + }); + findViewById(R.id.delete).setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + Toast.makeText(EditingActivity.this, "Coming soon.", Toast.LENGTH_SHORT).show(); + } + }); + } private void setupViewPager(ViewPager viewPager, String groupName) { @@ -88,13 +117,34 @@ public boolean accept(File pathname) { for (int i = 0; i < filesUploaded.length; i++) { this.adapter.addFragment(new EditingFragment(), filesUploaded[i].getName(), length, ScanConstants.UPLOADED_IMAGE_DIR); } - ((TextView)findViewById(R.id.page)).setText(files.length + ""); + +// int size = getArguments().getInt("SIZE"); + ((TextView)findViewById(R.id.page)).setText(1 + "/" + length); // this.adapter.addFragment(new EditingFragment(), "1"); // add position 1 // this.adapter.addFragment(new EditingFragment(), "2"); // this.adapter.addFragment(new EditingFragment(), "3"); // this.adapter.addFragment(new CaptureResultFragment(), "Grid"); // this.adapter.addFragment(new CaptureResultFragment(), "By Day"); viewPager.setAdapter(this.adapter); + + + viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() { + @Override + public void onPageScrolled(int i, float v, int i1) { +// Log.d(">>>", "" + i + " " + v + " " + i1); + } + + @Override + public void onPageSelected(int i) { + Log.d(">>>", "onPageSelected: " + i); + ((TextView)findViewById(R.id.page)).setText( (i+1) + "/" + length); + } + + @Override + public void onPageScrollStateChanged(int i) { + + } + }); } private static class Adapter extends FragmentPagerAdapter { diff --git a/documentscanner/src/main/java/com/haotran/documentscanner/activity/UploadActivity.java b/documentscanner/src/main/java/com/haotran/documentscanner/activity/UploadActivity.java index 42a705a..0eac029 100644 --- a/documentscanner/src/main/java/com/haotran/documentscanner/activity/UploadActivity.java +++ b/documentscanner/src/main/java/com/haotran/documentscanner/activity/UploadActivity.java @@ -65,6 +65,13 @@ protected void onCreate(Bundle savedInstanceState) { startReviewActivity(); }); + findViewById(R.id.addNotice).setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + Toast.makeText(UploadActivity.this, "Coming soon.", Toast.LENGTH_SHORT).show(); + } + }); + findViewById(R.id.addDebtor).setOnClickListener(v -> { // show pop-up for choosing debtor... // Toast.makeText(UploadActivity.this, "popup...", Toast.LENGTH_SHORT).show(); diff --git a/documentscanner/src/main/java/com/haotran/documentscanner/activity/adapters/BaseCaptureAdapter.java b/documentscanner/src/main/java/com/haotran/documentscanner/activity/adapters/BaseCaptureAdapter.java index 4f6e155..72ce960 100644 --- a/documentscanner/src/main/java/com/haotran/documentscanner/activity/adapters/BaseCaptureAdapter.java +++ b/documentscanner/src/main/java/com/haotran/documentscanner/activity/adapters/BaseCaptureAdapter.java @@ -49,14 +49,18 @@ static class SubheaderHolder extends RecyclerView.ViewHolder { static class CaptureViewHolder extends RecyclerView.ViewHolder { TextView textCaptureTitle; - TextView textCaptureGenre; - TextView textCaptureYear; + TextView textCaptureTime; + TextView location; + TextView timestamp; + TextView page; CaptureViewHolder(View itemView) { super(itemView); - this.textCaptureTitle = (TextView) itemView.findViewById(R.id.movieTitle); - this.textCaptureGenre = (TextView) itemView.findViewById(R.id.movieGenre); - this.textCaptureYear = (TextView) itemView.findViewById(R.id.movieYear); + this.textCaptureTitle = (TextView) itemView.findViewById(R.id.captureTitle); + this.textCaptureTime = (TextView) itemView.findViewById(R.id.timestamp); + this.location = (TextView) itemView.findViewById(R.id.localtion); + this.timestamp = (TextView) itemView.findViewById(R.id.timestamp); + this.page = (TextView) itemView.findViewById(R.id.page); } } diff --git a/documentscanner/src/main/java/com/haotran/documentscanner/activity/adapters/CaptureAdapterByDay.java b/documentscanner/src/main/java/com/haotran/documentscanner/activity/adapters/CaptureAdapterByDay.java index 1be5eaa..17d128e 100644 --- a/documentscanner/src/main/java/com/haotran/documentscanner/activity/adapters/CaptureAdapterByDay.java +++ b/documentscanner/src/main/java/com/haotran/documentscanner/activity/adapters/CaptureAdapterByDay.java @@ -1,15 +1,25 @@ package com.haotran.documentscanner.activity.adapters; import android.content.Context; +import android.support.v4.content.ContextCompat; +import android.util.Log; +import com.haotran.documentscanner.R; +import com.haotran.documentscanner.constants.ScanConstants; import com.haotran.documentscanner.model.Capture; +import com.haotran.documentscanner.util.ScanUtils; +import java.io.File; +import java.io.FileFilter; +import java.text.DateFormat; +import java.text.SimpleDateFormat; import java.util.List; public class CaptureAdapterByDay extends BaseCaptureAdapter { - - public CaptureAdapterByDay(List itemList) { + Context context; + public CaptureAdapterByDay(Context context, List itemList) { super(itemList); + this.context = context; } @Override @@ -26,13 +36,52 @@ public boolean onPlaceSubheaderBetweenItems(int position) { @Override public void onBindItemViewHolder(final CaptureViewHolder holder, final int position) { - final Capture movie = captureList.get(position); + final Capture capture = captureList.get(position); + + holder.textCaptureTitle.setText(capture.getTitle()); + + + // Convert title to correct time. + + holder.timestamp.setText( convetTime(capture.getTitle())); + holder.location.setText(capture.isUploaded() ? "Uploaded" : "Local Storage"); + if (capture.isUploaded()) { + holder.location.setTextColor(ContextCompat.getColor(context, R.color.colorPrimaryDark)); + } else { + + } + holder.page.setText(getPageSize(capture) + " page"); + + holder.itemView.setOnClickListener(v -> onItemClickListener.onItemClicked(capture)); + } + + private int getPageSize(Capture capture) { + String title = capture.getTitle(); + File dir; + if (capture.isUploaded()) { + dir = ScanUtils.getBaseDirectoryFromPathString(ScanConstants.UPLOADED_IMAGE_DIR, context); + } else { + dir = ScanUtils.getBaseDirectoryFromPathString(ScanConstants.RAW_IMAGE_DIR, context); + } + + File[] files = dir.listFiles(new FileFilter() { + @Override + public boolean accept(File pathname) { + return pathname.getName().split("_")[0].equals(title); + } + }); + return files.length; + } - holder.textCaptureTitle.setText(movie.getTitle()); -// holder.textCaptureGenre.setText(movie.getGenre()); -// holder.textCaptureYear.setText(String.valueOf(movie.getYear())); + private String convetTime(String title) { + Log.d(">>>", title); - holder.itemView.setOnClickListener(v -> onItemClickListener.onItemClicked(movie)); +// String time = "Aug 23, 2018 | 17:30"; + String time = "This is time..."; + DateFormat f = new SimpleDateFormat("MMM dd, yyyy | HH:mm"); +// System.out.println(); + time = f.format(Long.valueOf(title)); + return time; } @Override diff --git a/documentscanner/src/main/java/com/haotran/documentscanner/fragments/CaptureResultFragment.java b/documentscanner/src/main/java/com/haotran/documentscanner/fragments/CaptureResultFragment.java index 135628e..fba9b0e 100644 --- a/documentscanner/src/main/java/com/haotran/documentscanner/fragments/CaptureResultFragment.java +++ b/documentscanner/src/main/java/com/haotran/documentscanner/fragments/CaptureResultFragment.java @@ -135,7 +135,7 @@ void showFiles() { } catch (Exception e) { } - Capture movie = new Capture(name, day, false); + Capture movie = new Capture(name, day, true); if (mMovieListUploaded.contains(movie)) { continue; } @@ -179,21 +179,21 @@ private void setAdapterByDay() { this.movieComparator = (o1, o2) -> o1.getTitle().compareTo(o2.getTitle()); Collections.sort(mMovieList, Collections.reverseOrder(movieComparator)); // Collections.sort(mMovieList, movieComparator); - mSectionedRecyclerAdapter = new CaptureAdapterByDay(mMovieList); + mSectionedRecyclerAdapter = new CaptureAdapterByDay(getActivity(), mMovieList); } private void setAdapterByDayStorage() { this.movieComparator = (o1, o2) -> o1.getTitle().compareTo(o2.getTitle()); Collections.sort(mMovieListStorage, Collections.reverseOrder(movieComparator)); // Collections.sort(mMovieList, movieComparator); - mSectionedRecyclerAdapter = new CaptureAdapterByDay(mMovieListStorage); + mSectionedRecyclerAdapter = new CaptureAdapterByDay(getActivity(), mMovieListStorage); } private void setAdapterByDayUploaded() { this.movieComparator = (o1, o2) -> o1.getTitle().compareTo(o2.getTitle()); Collections.sort(mMovieListUploaded, Collections.reverseOrder(movieComparator)); // Collections.sort(mMovieList, movieComparator); - mSectionedRecyclerAdapter = new CaptureAdapterByDay(mMovieListUploaded); + mSectionedRecyclerAdapter = new CaptureAdapterByDay(getActivity(), mMovieListUploaded); } // private void setAdapterByName() { diff --git a/documentscanner/src/main/res/drawable/ic_grid_unactive.xml b/documentscanner/src/main/res/drawable/ic_grid_unactive.xml new file mode 100644 index 0000000..9b62ab3 --- /dev/null +++ b/documentscanner/src/main/res/drawable/ic_grid_unactive.xml @@ -0,0 +1,14 @@ + + + diff --git a/documentscanner/src/main/res/drawable/ic_row_unactive.xml b/documentscanner/src/main/res/drawable/ic_row_unactive.xml new file mode 100644 index 0000000..722fc44 --- /dev/null +++ b/documentscanner/src/main/res/drawable/ic_row_unactive.xml @@ -0,0 +1,12 @@ + + + diff --git a/documentscanner/src/main/res/layout/activity_capture.xml b/documentscanner/src/main/res/layout/activity_capture.xml index f9420f5..5b2ff74 100644 --- a/documentscanner/src/main/res/layout/activity_capture.xml +++ b/documentscanner/src/main/res/layout/activity_capture.xml @@ -43,6 +43,7 @@ app:layout_constraintTop_toTopOf="parent" /> + + + + + + app:layout_constraintTop_toBottomOf="@+id/grid" /> + + + + + + + + + \ No newline at end of file diff --git a/documentscanner/src/main/res/layout/fragment_editing.xml b/documentscanner/src/main/res/layout/fragment_editing.xml index b34db08..8c149da 100644 --- a/documentscanner/src/main/res/layout/fragment_editing.xml +++ b/documentscanner/src/main/res/layout/fragment_editing.xml @@ -6,14 +6,7 @@ android:layout_height="match_parent" tools:context=".fragments.EditingFragment"> - + - - - - - - - \ No newline at end of file diff --git a/documentscanner/src/main/res/layout/item_capture.xml b/documentscanner/src/main/res/layout/item_capture.xml index 8b8547b..bf1923f 100644 --- a/documentscanner/src/main/res/layout/item_capture.xml +++ b/documentscanner/src/main/res/layout/item_capture.xml @@ -12,7 +12,7 @@ android:orientation="vertical"> - - - \ No newline at end of file diff --git a/documentscanner/src/main/res/layout/item_header.xml b/documentscanner/src/main/res/layout/item_header.xml index 52db804..0263eeb 100644 --- a/documentscanner/src/main/res/layout/item_header.xml +++ b/documentscanner/src/main/res/layout/item_header.xml @@ -4,9 +4,11 @@ xmlns:tools="http://schemas.android.com/tools" android:orientation="vertical" android:layout_width="match_parent" - android:layout_height="48dp" + android:layout_height="wrap_content" android:paddingLeft="8dp" android:paddingRight="16dp" + android:layout_marginTop="8dp" + android:layout_marginBottom="8dp" android:focusable="true" android:clickable="true" android:background="?attr/selectableItemBackground">