From 713073eb90b045b14174d2ef465e05a981ca07cb Mon Sep 17 00:00:00 2001 From: MauryaD Date: Wed, 14 Nov 2018 18:23:39 +0530 Subject: [PATCH 1/2] deleting thumbs --- .idea/assetWizardSettings.xml | 37 ------- .idea/caches/build_file_checksums.ser | Bin 534 -> 538 bytes .idea/misc.xml | 2 +- .../Activity/MainActivity.java | 1 + .../Fragment/VideosFragment.java | 102 +++++++++++++++--- .../whatsappstatussaver/Models/DataModel.java | 23 ++++ .../adapter/SavedGalleryAdapter.java | 5 +- 7 files changed, 115 insertions(+), 55 deletions(-) delete mode 100644 .idea/assetWizardSettings.xml create mode 100644 app/src/main/java/com/tripleastudio/whatsappstatussaver/Models/DataModel.java diff --git a/.idea/assetWizardSettings.xml b/.idea/assetWizardSettings.xml deleted file mode 100644 index e035ae6..0000000 --- a/.idea/assetWizardSettings.xml +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/.idea/caches/build_file_checksums.ser b/.idea/caches/build_file_checksums.ser index 3cc8fbcdb1e15e89920b67fa527cf1c7d13e99b3..4ec632fdd448e30166b787fe5deb54254dd56da2 100644 GIT binary patch delta 210 zcmbQnGK*!x43?Kk{vi|R_}2?078JxJm1gFo=%p7WrsSlS7BMhIJFWRF{)3Gp<#>lY`^@%Q5|PAw_P%u6rUOD{@H$w@6OVql7PTJu@_2OCGo111KB ziUI}(27%@Oqz+Ha-1<}_DlRxpUsbwB+5(ngW_H z41Ru-T{-X4J0EwYx0?=3-p42_aP{ur-ywNN=G9D3{dZAwF4N@KjB<7YyUPO3zt#L< zvC83K!KWns5(a_9f&%@d(#)I`n41b2>KNES&ag^mXJ);1h}r7>KlTj?j9C=`Tp?0t diff --git a/.idea/misc.xml b/.idea/misc.xml index e0d5b93..eb655f9 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -29,7 +29,7 @@ - + diff --git a/app/src/main/java/com/tripleastudio/whatsappstatussaver/Activity/MainActivity.java b/app/src/main/java/com/tripleastudio/whatsappstatussaver/Activity/MainActivity.java index 295ac6a..236cdfe 100644 --- a/app/src/main/java/com/tripleastudio/whatsappstatussaver/Activity/MainActivity.java +++ b/app/src/main/java/com/tripleastudio/whatsappstatussaver/Activity/MainActivity.java @@ -51,6 +51,7 @@ import co.mobiwise.materialintro.view.MaterialIntroView; import io.fabric.sdk.android.Fabric; + public class MainActivity extends AppCompatActivity { private Toolbar mToolBar; private ViewPager mViewPager; diff --git a/app/src/main/java/com/tripleastudio/whatsappstatussaver/Fragment/VideosFragment.java b/app/src/main/java/com/tripleastudio/whatsappstatussaver/Fragment/VideosFragment.java index c76efd4..1ba46dd 100644 --- a/app/src/main/java/com/tripleastudio/whatsappstatussaver/Fragment/VideosFragment.java +++ b/app/src/main/java/com/tripleastudio/whatsappstatussaver/Fragment/VideosFragment.java @@ -25,6 +25,7 @@ import com.bumptech.glide.Glide; import com.tripleastudio.whatsappstatussaver.Activity.VideoDetailActivity; +import com.tripleastudio.whatsappstatussaver.Models.DataModel; import com.wedevelopapps.whatsappstatussaver.R; import org.apache.commons.io.FileUtils; @@ -82,9 +83,11 @@ public View onCreateView(LayoutInflater inflater, ViewGroup container, public void onStart() { super.onStart(); String data[] = new String[0]; + //TODO remove muList as mylist is used now + List muList = new ArrayList(); + ArrayList myList= new ArrayList<>(); try { - String path = Environment.getExternalStorageDirectory().toString() + "/WhatsApp/Media/.Statuses"; Log.d("test", "onStart: " + path); File dir = new File(path); @@ -93,11 +96,10 @@ public void onStart() { Arrays.sort(files, LastModifiedFileComparator.LASTMODIFIED_REVERSE); for (File file: files) { - if(file.getName().endsWith(".mp4")){ Log.d("test", "onStart: files " + file.getAbsolutePath()); - muList.add(file.getAbsolutePath()); - + // muList.add(file.getAbsolutePath()); + myList.add(new DataModel(file.getAbsolutePath(),file.getName())); } @@ -108,9 +110,9 @@ public void onStart() { // Toast.makeText(getContext(),ex.getMessage().toString(),Toast.LENGTH_LONG).show(); } //Collections.reverse(muList); - mReAdapter = new VideosFragment.myAdapter((ArrayList) muList,getContext()); + mReAdapter = new VideosFragment.myAdapter(myList); recyclerView.setAdapter(mReAdapter); - if(muList.size()>0) { + if(myList.size()>0) { recyclerView.setVisibility(View.VISIBLE); tv.setVisibility(View.GONE); cryingEmoji.setVisibility(View.GONE); @@ -119,12 +121,84 @@ public void onStart() { + } + + private ArrayList findUnusedThumb(ArrayList mylist) { + + ArrayList allItems = new ArrayList(); + try { + String path = Environment.getExternalStorageDirectory().toString() + "/WhatsAppStatus/Videos/.Thum"; + Log.d("test", "onStart: " + path); + File dir = new File(path); + File[] files = dir.listFiles(); + Log.d("test", "onStart: " + files.length); + Arrays.sort(files, LastModifiedFileComparator.LASTMODIFIED_REVERSE); + for (File file: files) { + if(file.getName().endsWith(".jpg")){ + Log.d("test", "onStart: files " + file.getAbsolutePath()); + allItems.add(file.getName()); + } + } + }catch (Exception ex){ + // Toast.makeText(getContext(),ex.getMessage().toString(),Toast.LENGTH_LONG).show(); + } + if (allItems.size() > 0) { + for(DataModel data:mylist){ + allItems.remove(data.getFileName()); + } + } + return allItems; + } + + private void delete(ArrayList list){ + + ArrayList allItems = new ArrayList(); + try { + String path = Environment.getExternalStorageDirectory().toString() + "/WhatsAppStatus/Videos/.Thum"; + Log.d("test", "onStart: " + path); + File dir = new File(path); + File[] files = dir.listFiles(); + Log.d("test", "onStart: " + files.length); + Arrays.sort(files, LastModifiedFileComparator.LASTMODIFIED_REVERSE); + /* for (File file: files) { + if(list.contains(file.getName())){ + deleteFile(file); + list.remove(file.getName()); + } + }*/ + + for (File file: files) { + if (list.remove(file.getName())) { + deleteFile(file); + } + } + + }catch (Exception ex){ + // Toast.makeText(getContext(),ex.getMessage().toString(),Toast.LENGTH_LONG).show(); + Log.d("delete status","NOTHING To DELETE"); + } + + + + } + + private void deleteFile(File file) { + + + } + + + private void deleteUnusedThumbs(ArrayList mylist){ + + delete(findUnusedThumb(mylist)); + } public class myAdapter extends RecyclerView.Adapter{ - List muList = new ArrayList(); + ArrayList myList; + @Override public VideosFragment.myAdapter.MyHolder onCreateViewHolder(ViewGroup parent, int viewType) { View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.videos_template,parent,false); @@ -134,14 +208,14 @@ public VideosFragment.myAdapter.MyHolder onCreateViewHolder(ViewGroup parent, in @Override public void onBindViewHolder(final MyHolder holder, int position) { - final Uri iri = Uri.parse(muList.get(position)); - File f = new File(muList.get(position)); + final Uri iri = Uri.parse(myList.get(position).getPath()); + File f = new File(myList.get(position).getPath()); + deleteUnusedThumbs(myList); File thumFile = new File(Environment.getExternalStorageDirectory() + "/WhatsAppStatus/Videos/.Thum/" + f.getName() + ".jpg"); if(!thumFile.exists()){ Bitmap bmap = ThumbnailUtils.createVideoThumbnail(iri.toString(), MediaStore.Video.Thumbnails.MINI_KIND); - String root = Environment.getExternalStorageDirectory().toString(); File myDir = new File(root + "/WhatsAppStatus/Videos/.Thum"); myDir.mkdirs(); @@ -200,7 +274,6 @@ public void onClick(View view) { intent.putExtra("dataKey",iri.toString()); intent.setFlags(Intent.FLAG_ACTIVITY_MULTIPLE_TASK); ActivityOptionsCompat activityOptionsCompat = ActivityOptionsCompat.makeSceneTransitionAnimation(getActivity(),holder.VidV,"videoTrans1"); - startActivity(intent); } }); @@ -210,11 +283,12 @@ public void onClick(View view) { @Override public int getItemCount() { - return muList.size(); + return myList.size(); } - public myAdapter(ArrayList mylist, Context context) { - this.muList = mylist; + public myAdapter(ArrayList mylist) { + this.myList = mylist; + } class MyHolder extends RecyclerView.ViewHolder{ diff --git a/app/src/main/java/com/tripleastudio/whatsappstatussaver/Models/DataModel.java b/app/src/main/java/com/tripleastudio/whatsappstatussaver/Models/DataModel.java new file mode 100644 index 0000000..06657b1 --- /dev/null +++ b/app/src/main/java/com/tripleastudio/whatsappstatussaver/Models/DataModel.java @@ -0,0 +1,23 @@ +package com.tripleastudio.whatsappstatussaver.Models; + +public class DataModel { + + + + private String path; + private String fileName; + + public DataModel(String path, String fileName) { + this.path = path; + this.fileName = fileName; + } + + + public String getPath() { + return path; + } + + public String getFileName() { + return fileName; + } +} diff --git a/app/src/main/java/com/tripleastudio/whatsappstatussaver/adapter/SavedGalleryAdapter.java b/app/src/main/java/com/tripleastudio/whatsappstatussaver/adapter/SavedGalleryAdapter.java index 3c1dd24..47ef811 100644 --- a/app/src/main/java/com/tripleastudio/whatsappstatussaver/adapter/SavedGalleryAdapter.java +++ b/app/src/main/java/com/tripleastudio/whatsappstatussaver/adapter/SavedGalleryAdapter.java @@ -4,9 +4,8 @@ import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentPagerAdapter; -import com.wedevelopapps.whatsappstatussaver.Fragment.SavedPictureFragment; -import com.wedevelopapps.whatsappstatussaver.Fragment.SavedVideoFragment; - +import com.tripleastudio.whatsappstatussaver.Fragment.SavedPictureFragment; +import com.tripleastudio.whatsappstatussaver.Fragment.SavedVideoFragment; public class SavedGalleryAdapter extends FragmentPagerAdapter { public SavedGalleryAdapter(FragmentManager fm) { super(fm); From e49e5d754013e1a4bb0ba6e4913fa0035c71fac1 Mon Sep 17 00:00:00 2001 From: MauryaD Date: Wed, 14 Nov 2018 18:33:24 +0530 Subject: [PATCH 2/2] deleting thumbs --- .idea/misc.xml | 2 +- .../Fragment/VideosFragment.java | 28 +++++++++++-------- 2 files changed, 17 insertions(+), 13 deletions(-) diff --git a/.idea/misc.xml b/.idea/misc.xml index eb655f9..44a4802 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -29,7 +29,7 @@ - + diff --git a/app/src/main/java/com/tripleastudio/whatsappstatussaver/Fragment/VideosFragment.java b/app/src/main/java/com/tripleastudio/whatsappstatussaver/Fragment/VideosFragment.java index 1ba46dd..45e989e 100644 --- a/app/src/main/java/com/tripleastudio/whatsappstatussaver/Fragment/VideosFragment.java +++ b/app/src/main/java/com/tripleastudio/whatsappstatussaver/Fragment/VideosFragment.java @@ -160,16 +160,24 @@ private void delete(ArrayList list){ File[] files = dir.listFiles(); Log.d("test", "onStart: " + files.length); Arrays.sort(files, LastModifiedFileComparator.LASTMODIFIED_REVERSE); - /* for (File file: files) { + for (File file: files) { if(list.contains(file.getName())){ - deleteFile(file); - list.remove(file.getName()); - } - }*/ - for (File file: files) { - if (list.remove(file.getName())) { - deleteFile(file); + file.delete(); + + if (file.exists()) { + try { + file.getCanonicalFile().delete(); + } catch (IOException e) { + e.printStackTrace(); + } finally { + if (file.exists()) { + getContext().deleteFile(file.getName()); + } + + } + + } } } @@ -182,10 +190,6 @@ private void delete(ArrayList list){ } - private void deleteFile(File file) { - - - } private void deleteUnusedThumbs(ArrayList mylist){