From c3a2aba66a141400b9d0a338395fbc8c7ce511fe Mon Sep 17 00:00:00 2001 From: tibbi Date: Thu, 3 Nov 2016 21:53:39 +0100 Subject: [PATCH] use the FileProperties dialog from bintray --- app/build.gradle | 5 + .../filemanager/fragments/ItemsFragment.java | 6 +- .../filemanager/activities/MainActivity.kt | 2 +- .../filemanager/dialogs/PropertiesDialog.kt | 124 ------------------ 4 files changed, 9 insertions(+), 128 deletions(-) delete mode 100644 app/src/main/kotlin/com/simplemobiletools/filemanager/dialogs/PropertiesDialog.kt diff --git a/app/build.gradle b/app/build.gradle index 6d4d7f92..2c8704c8 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -27,6 +27,10 @@ android { } } + packagingOptions { + exclude 'META-INF/library-compileDebugKotlin.kotlin_module' + } + sourceSets { main.java.srcDirs += 'src/main/kotlin' } @@ -40,6 +44,7 @@ dependencies { compile 'com.jakewharton:butterknife:8.0.1' compile 'com.github.bumptech.glide:glide:3.7.0' compile 'com.simplemobiletools:filepicker:1.3.6@aar' + compile 'com.simplemobiletools:fileproperties:1.0.2@aar' compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" apt 'com.jakewharton:butterknife-compiler:8.0.1' diff --git a/app/src/main/java/com/simplemobiletools/filemanager/fragments/ItemsFragment.java b/app/src/main/java/com/simplemobiletools/filemanager/fragments/ItemsFragment.java index 38cb5fc9..07ad43a8 100644 --- a/app/src/main/java/com/simplemobiletools/filemanager/fragments/ItemsFragment.java +++ b/app/src/main/java/com/simplemobiletools/filemanager/fragments/ItemsFragment.java @@ -32,9 +32,9 @@ import com.simplemobiletools.filemanager.adapters.ItemsAdapter; import com.simplemobiletools.filemanager.asynctasks.CopyTask; import com.simplemobiletools.filemanager.dialogs.CopyDialog; import com.simplemobiletools.filemanager.dialogs.CreateNewItemDialog; -import com.simplemobiletools.filemanager.dialogs.PropertiesDialog; import com.simplemobiletools.filemanager.dialogs.RenameItemDialog; import com.simplemobiletools.filepicker.models.FileDirItem; +import com.simplemobiletools.fileproperties.dialogs.PropertiesDialog; import java.io.File; import java.io.FileFilter; @@ -332,7 +332,7 @@ public class ItemsFragment extends android.support.v4.app.Fragment if (item == null) return; - new PropertiesDialog(getContext(), item.getPath(), mConfig.getShowHidden()); + new PropertiesDialog(getActivity(), item.getPath(), mConfig.getShowHidden()); } private void showMultipleItemProperties(List itemIndexes) { @@ -340,7 +340,7 @@ public class ItemsFragment extends android.support.v4.app.Fragment for (int i : itemIndexes) { paths.add(mItems.get(i).getPath()); } - new PropertiesDialog(getContext(), paths, mConfig.getShowHidden()); + new PropertiesDialog(getActivity(), paths, mConfig.getShowHidden()); } private void displayRenameDialog() { diff --git a/app/src/main/kotlin/com/simplemobiletools/filemanager/activities/MainActivity.kt b/app/src/main/kotlin/com/simplemobiletools/filemanager/activities/MainActivity.kt index 2325bfdc..5788cccf 100644 --- a/app/src/main/kotlin/com/simplemobiletools/filemanager/activities/MainActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/filemanager/activities/MainActivity.kt @@ -46,7 +46,7 @@ class MainActivity : SimpleActivity(), ItemsFragment.ItemInteractionListener, Br } private fun openPath(path: String) { - breadcrumbs.setBreadcrumb(path, mBasePath) + breadcrumbs.setBreadcrumb(path) val bundle = Bundle() bundle.putString(Constants.PATH, path) diff --git a/app/src/main/kotlin/com/simplemobiletools/filemanager/dialogs/PropertiesDialog.kt b/app/src/main/kotlin/com/simplemobiletools/filemanager/dialogs/PropertiesDialog.kt deleted file mode 100644 index dc076deb..00000000 --- a/app/src/main/kotlin/com/simplemobiletools/filemanager/dialogs/PropertiesDialog.kt +++ /dev/null @@ -1,124 +0,0 @@ -package com.simplemobiletools.filemanager.dialogs - -import android.content.Context -import android.content.res.Resources -import android.support.v7.app.AlertDialog -import android.view.LayoutInflater -import android.view.ViewGroup -import com.simplemobiletools.filemanager.Config -import com.simplemobiletools.filemanager.R -import com.simplemobiletools.filemanager.extensions.* -import kotlinx.android.synthetic.main.item_properties.view.* -import kotlinx.android.synthetic.main.property_item.view.* -import java.io.File -import java.util.* - -class PropertiesDialog() { - lateinit var mContext: Context - lateinit var mInflater: LayoutInflater - lateinit var mPropertyView: ViewGroup - lateinit var mResources: Resources - - private var mCountHiddenItems = false - private var mFilesCnt = 0 - - constructor(context: Context, path: String, countHiddenItems: Boolean = false) : this() { - mContext = context - mCountHiddenItems = countHiddenItems - mInflater = LayoutInflater.from(context) - mResources = mContext.resources - mPropertyView = mInflater.inflate(R.layout.item_properties, null) as ViewGroup - - val file = File(path) - addProperty(R.string.name, file.name) - addProperty(R.string.path, file.parent) - addProperty(R.string.size, getItemSize(file).formatSize()) - addProperty(R.string.last_modified, file.lastModified().formatLastModified()) - - if (file.isDirectory) { - addProperty(R.string.files_count, mFilesCnt.toString()) - } else if (file.isImage()) { - addProperty(R.string.resolution, file.getImageResolution()) - } else if (file.isAudio()) { - addProperty(R.string.duration, file.getDuration()) - addProperty(R.string.artist, file.getArtist()) - addProperty(R.string.album, file.getAlbum()) - } else if (file.isVideo()) { - addProperty(R.string.duration, file.getDuration()) - addProperty(R.string.resolution, file.getVideoResolution()) - addProperty(R.string.artist, file.getArtist()) - addProperty(R.string.album, file.getAlbum()) - } - - AlertDialog.Builder(context) - .setTitle(mResources.getString(R.string.properties)) - .setView(mPropertyView) - .setPositiveButton(R.string.ok, null) - .create() - .show() - } - - constructor(context: Context, paths: List, countHiddenItems: Boolean = false) : this() { - mContext = context - mCountHiddenItems = countHiddenItems - mInflater = LayoutInflater.from(context) - mResources = mContext.resources - mPropertyView = mInflater.inflate(R.layout.item_properties, null) as ViewGroup - - val files = ArrayList(paths.size) - paths.forEach { files.add(File(it)) } - - addProperty(R.string.path, files[0].parent) - addProperty(R.string.size, getItemsSize(files).formatSize()) - addProperty(R.string.files_count, mFilesCnt.toString()) - - AlertDialog.Builder(context) - .setTitle(mResources.getString(R.string.properties)) - .setView(mPropertyView) - .setPositiveButton(R.string.ok, null) - .create() - .show() - } - - private fun addProperty(labelId: Int, value: String?) { - if (value == null) - return - - val view = mInflater.inflate(R.layout.property_item, mPropertyView, false) - view.property_label.text = mResources.getString(labelId) - view.property_value.text = value - mPropertyView.properties_holder.addView(view) - } - - private fun getItemsSize(files: ArrayList): Long { - var size = 0L - files.forEach { size += getItemSize(it) } - return size - } - - private fun getItemSize(file: File): Long { - if (file.isDirectory) { - mCountHiddenItems = Config.newInstance(mContext).showHidden - return getDirectorySize(File(file.path)) - } - - mFilesCnt++ - return file.length() - } - - private fun getDirectorySize(dir: File): Long { - var size = 0L - if (dir.exists()) { - val files = dir.listFiles() - for (i in files.indices) { - if (files[i].isDirectory) { - size += getDirectorySize(files[i]) - } else if (!files[i].isHidden && !dir.isHidden || mCountHiddenItems) { - mFilesCnt++ - size += files[i].length() - } - } - } - return size - } -}