From 72a10cc91716286cd837e654750ae550f8a673ad Mon Sep 17 00:00:00 2001 From: tibbi Date: Tue, 26 May 2020 15:33:07 +0200 Subject: [PATCH] adding an initial version of the decompressing activity --- app/src/main/AndroidManifest.xml | 10 +++ .../pro/activities/DecompressActivity.kt | 64 +++++++++++++++++++ .../filemanager/pro/adapters/ItemsAdapter.kt | 2 +- .../filemanager/pro/models/ListItem.kt | 3 +- .../main/res/layout/activity_decompress.xml | 16 +++++ 5 files changed, 92 insertions(+), 3 deletions(-) create mode 100644 app/src/main/kotlin/com/simplemobiletools/filemanager/pro/activities/DecompressActivity.kt create mode 100644 app/src/main/res/layout/activity_decompress.xml diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 9debad79..09bee2d8 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -73,6 +73,16 @@ + + + + + + + + { + val listItems = ArrayList() + val inputStream = contentResolver.openInputStream(uri) + val zipInputStream = ZipInputStream(BufferedInputStream(inputStream)) + var zipEntry: ZipEntry? + while (true) { + zipEntry = zipInputStream.nextEntry + + if (zipEntry == null) { + break + } + + val lastModified = if (isOreoPlus()) zipEntry.lastModifiedTime.toMillis() else 0 + val listItem = ListItem(zipEntry.name, zipEntry.name, zipEntry.isDirectory, 0, 0L, lastModified, false) + listItems.add(listItem) + } + return listItems + } +} diff --git a/app/src/main/kotlin/com/simplemobiletools/filemanager/pro/adapters/ItemsAdapter.kt b/app/src/main/kotlin/com/simplemobiletools/filemanager/pro/adapters/ItemsAdapter.kt index a89ada59..53a38fc5 100644 --- a/app/src/main/kotlin/com/simplemobiletools/filemanager/pro/adapters/ItemsAdapter.kt +++ b/app/src/main/kotlin/com/simplemobiletools/filemanager/pro/adapters/ItemsAdapter.kt @@ -49,7 +49,7 @@ import java.util.zip.ZipFile import java.util.zip.ZipOutputStream class ItemsAdapter(activity: SimpleActivity, var listItems: MutableList, val listener: ItemOperationsListener?, recyclerView: MyRecyclerView, - val isPickMultipleIntent: Boolean, fastScroller: FastScroller, itemClick: (Any) -> Unit) : + val isPickMultipleIntent: Boolean, fastScroller: FastScroller?, itemClick: (Any) -> Unit) : MyRecyclerViewAdapter(activity, recyclerView, fastScroller, itemClick) { private val TYPE_FILE_DIR = 1 diff --git a/app/src/main/kotlin/com/simplemobiletools/filemanager/pro/models/ListItem.kt b/app/src/main/kotlin/com/simplemobiletools/filemanager/pro/models/ListItem.kt index 878207a2..00ab9431 100644 --- a/app/src/main/kotlin/com/simplemobiletools/filemanager/pro/models/ListItem.kt +++ b/app/src/main/kotlin/com/simplemobiletools/filemanager/pro/models/ListItem.kt @@ -3,5 +3,4 @@ package com.simplemobiletools.filemanager.pro.models import com.simplemobiletools.commons.models.FileDirItem data class ListItem(val mPath: String, val mName: String = "", var mIsDirectory: Boolean = false, var mChildren: Int = 0, var mSize: Long = 0L, var mModified: Long = 0L, - var isSectionTitle: Boolean) - : FileDirItem(mPath, mName, mIsDirectory, mChildren, mSize, mModified) + var isSectionTitle: Boolean) : FileDirItem(mPath, mName, mIsDirectory, mChildren, mSize, mModified) diff --git a/app/src/main/res/layout/activity_decompress.xml b/app/src/main/res/layout/activity_decompress.xml new file mode 100644 index 00000000..46489bde --- /dev/null +++ b/app/src/main/res/layout/activity_decompress.xml @@ -0,0 +1,16 @@ + + + + + +