From c9de559fac059ecc38f9401b6788d886758ed7b4 Mon Sep 17 00:00:00 2001 From: tibbi Date: Fri, 10 Mar 2017 22:46:29 +0100 Subject: [PATCH] adding Commons library + initial changes just to make it compilable --- app/build.gradle | 24 +++------- app/src/main/AndroidManifest.xml | 5 +- .../simplemobiletools/filemanager/Config.kt | 26 ++--------- .../filemanager/Constants.kt | 7 --- .../filemanager/activities/AboutActivity.kt | 3 +- .../filemanager/activities/MainActivity.kt | 33 ++++++------- .../activities/SettingsActivity.kt | 20 ++------ .../filemanager/activities/SimpleActivity.kt | 46 +------------------ .../filemanager/adapters/ItemsAdapter.kt | 14 +++--- .../filemanager/dialogs/CopyDialog.kt | 15 +++--- .../dialogs/CreateNewItemDialog.kt | 6 +-- .../filemanager/dialogs/RenameItemDialog.kt | 6 +-- .../filemanager/extensions/context.kt.kt | 6 +++ .../filemanager/fragments/ItemsFragment.kt | 8 ++-- .../filemanager/views/RecyclerViewDivider.kt | 33 ------------- app/src/main/res/layout/activity_main.xml | 5 +- app/src/main/res/layout/activity_settings.xml | 26 ----------- app/src/main/res/layout/directory_picker.xml | 2 +- build.gradle | 2 +- gradle/wrapper/gradle-wrapper.properties | 4 +- signing.properties_sample | 3 +- 21 files changed, 75 insertions(+), 219 deletions(-) create mode 100644 app/src/main/kotlin/com/simplemobiletools/filemanager/extensions/context.kt.kt delete mode 100644 app/src/main/kotlin/com/simplemobiletools/filemanager/views/RecyclerViewDivider.kt diff --git a/app/build.gradle b/app/build.gradle index 37f44d0d..85a45bfc 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -3,8 +3,8 @@ apply plugin: 'kotlin-android' apply plugin: 'kotlin-android-extensions' android { - compileSdkVersion 23 - buildToolsVersion "23.0.3" + compileSdkVersion 25 + buildToolsVersion "25.0.2" defaultConfig { applicationId "com.simplemobiletools.filemanager" @@ -26,28 +26,19 @@ android { } } - packagingOptions { - exclude 'META-INF/library-compileDebugKotlin.kotlin_module' - } - sourceSets { main.java.srcDirs += 'src/main/kotlin' } } dependencies { - compile 'com.android.support:appcompat-v7:23.4.0' - compile 'com.android.support:design:23.4.0' - compile 'com.github.bumptech.glide:glide:3.7.0' - compile 'com.simplemobiletools:filepicker:1.5.6@aar' - compile 'com.simplemobiletools:fileproperties:1.0.7@aar' + compile 'com.simplemobiletools:commons:2.9.8' compile 'com.bignerdranch.android:recyclerview-multiselect:0.2' - compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" } buildscript { - ext.kotlin_version = '1.0.5-2' + ext.kotlin_version = '1.1.0' repositories { mavenCentral() } @@ -63,12 +54,11 @@ def propFile = new File('signing.properties') if (propFile.canRead()) { props.load(new FileInputStream(propFile)) - if (props != null && props.containsKey('STORE_FILE') && props.containsKey('STORE_PASSWORD') && - props.containsKey('KEY_ALIAS') && props.containsKey('KEY_PASSWORD')) { + if (props != null && props.containsKey('STORE_FILE') && props.containsKey('KEY_ALIAS') && props.containsKey('PASSWORD')) { android.signingConfigs.release.storeFile = file(props['STORE_FILE']) - android.signingConfigs.release.storePassword = props['STORE_PASSWORD'] + android.signingConfigs.release.storePassword = props['PASSWORD'] android.signingConfigs.release.keyAlias = props['KEY_ALIAS'] - android.signingConfigs.release.keyPassword = props['KEY_PASSWORD'] + android.signingConfigs.release.keyPassword = props['PASSWORD'] } else { println 'signing.properties found but some entries are missing' android.buildTypes.release.signingConfig = null diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index e4869acb..91b4b077 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -1,6 +1,7 @@ - + diff --git a/app/src/main/kotlin/com/simplemobiletools/filemanager/Config.kt b/app/src/main/kotlin/com/simplemobiletools/filemanager/Config.kt index 49e74aae..1dc00739 100644 --- a/app/src/main/kotlin/com/simplemobiletools/filemanager/Config.kt +++ b/app/src/main/kotlin/com/simplemobiletools/filemanager/Config.kt @@ -1,32 +1,14 @@ package com.simplemobiletools.filemanager import android.content.Context -import android.content.SharedPreferences - -class Config(context: Context) { - private val mPrefs: SharedPreferences +import com.simplemobiletools.commons.helpers.BaseConfig +class Config(context: Context) : BaseConfig(context) { companion object { fun newInstance(context: Context) = Config(context) } - init { - mPrefs = context.getSharedPreferences(PREFS_KEY, Context.MODE_PRIVATE) - } - - var isFirstRun: Boolean - get() = mPrefs.getBoolean(IS_FIRST_RUN, true) - set(firstRun) = mPrefs.edit().putBoolean(IS_FIRST_RUN, firstRun).apply() - - var isDarkTheme: Boolean - get() = mPrefs.getBoolean(IS_DARK_THEME, false) - set(isDarkTheme) = mPrefs.edit().putBoolean(IS_DARK_THEME, isDarkTheme).apply() - var showHidden: Boolean - get() = mPrefs.getBoolean(SHOW_HIDDEN, false) - set(show) = mPrefs.edit().putBoolean(SHOW_HIDDEN, show).apply() - - var treeUri: String - get() = mPrefs.getString(TREE_URI, "") - set(uri) = mPrefs.edit().putString(TREE_URI, uri).apply() + get() = prefs.getBoolean(SHOW_HIDDEN, false) + set(show) = prefs.edit().putBoolean(SHOW_HIDDEN, show).apply() } diff --git a/app/src/main/kotlin/com/simplemobiletools/filemanager/Constants.kt b/app/src/main/kotlin/com/simplemobiletools/filemanager/Constants.kt index a9f13587..da368c42 100644 --- a/app/src/main/kotlin/com/simplemobiletools/filemanager/Constants.kt +++ b/app/src/main/kotlin/com/simplemobiletools/filemanager/Constants.kt @@ -4,11 +4,4 @@ val PATH = "path" val SCROLL_STATE = "scroll_state" // shared preferences -val PREFS_KEY = "File Manager" -val IS_FIRST_RUN = "is_first_run" -val IS_DARK_THEME = "is_dark_theme" val SHOW_HIDDEN = "show_hidden" -val TREE_URI = "tree_uri" - -// global intents -val OPEN_DOCUMENT_TREE = 1000 diff --git a/app/src/main/kotlin/com/simplemobiletools/filemanager/activities/AboutActivity.kt b/app/src/main/kotlin/com/simplemobiletools/filemanager/activities/AboutActivity.kt index 4ddf4dd5..84a3c2bd 100644 --- a/app/src/main/kotlin/com/simplemobiletools/filemanager/activities/AboutActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/filemanager/activities/AboutActivity.kt @@ -9,6 +9,7 @@ import android.text.method.LinkMovementMethod import android.view.View import com.simplemobiletools.filemanager.BuildConfig import com.simplemobiletools.filemanager.R +import com.simplemobiletools.filemanager.extensions.config import kotlinx.android.synthetic.main.activity_about.* import java.util.* @@ -42,7 +43,7 @@ class AboutActivity : SimpleActivity() { } private fun setupRateUs() { - if (mConfig.isFirstRun) { + if (config.isFirstRun) { about_rate_us.visibility = View.GONE } else { about_rate_us.setOnClickListener { 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 5ce8e9b4..0f881d37 100644 --- a/app/src/main/kotlin/com/simplemobiletools/filemanager/activities/MainActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/filemanager/activities/MainActivity.kt @@ -4,22 +4,22 @@ import android.Manifest import android.content.Intent import android.content.pm.PackageManager import android.os.Bundle -import android.os.Handler import android.os.Parcelable import android.support.v4.app.ActivityCompat import android.view.Menu import android.view.MenuItem +import com.simplemobiletools.commons.dialogs.StoragePickerDialog +import com.simplemobiletools.commons.extensions.getInternalStoragePath +import com.simplemobiletools.commons.extensions.hasWriteStoragePermission +import com.simplemobiletools.commons.extensions.storeStoragePaths +import com.simplemobiletools.commons.extensions.toast +import com.simplemobiletools.commons.models.FileDirItem +import com.simplemobiletools.commons.views.Breadcrumbs import com.simplemobiletools.filemanager.PATH import com.simplemobiletools.filemanager.R import com.simplemobiletools.filemanager.SCROLL_STATE +import com.simplemobiletools.filemanager.extensions.config import com.simplemobiletools.filemanager.fragments.ItemsFragment -import com.simplemobiletools.filepicker.dialogs.StoragePickerDialog -import com.simplemobiletools.filepicker.extensions.getInternalStoragePath -import com.simplemobiletools.filepicker.extensions.hasStoragePermission -import com.simplemobiletools.filepicker.extensions.toast -import com.simplemobiletools.filepicker.models.FileDirItem -import com.simplemobiletools.filepicker.views.Breadcrumbs -import kotlinx.android.synthetic.main.activity_main.* import java.io.File import java.util.* @@ -38,17 +38,18 @@ class MainActivity : SimpleActivity(), ItemsFragment.ItemInteractionListener, Br override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) - breadcrumbs.setListener(this) + //breadcrumbs.setListener(this) tryInitFileManager() + storeStoragePaths() } override fun onDestroy() { super.onDestroy() - mConfig.isFirstRun = false + config.isFirstRun = false } private fun tryInitFileManager() { - if (hasStoragePermission()) { + if (hasWriteStoragePermission()) { initRootFileManager() } else { ActivityCompat.requestPermissions(this, arrayOf(Manifest.permission.WRITE_EXTERNAL_STORAGE), STORAGE_PERMISSION) @@ -60,7 +61,7 @@ class MainActivity : SimpleActivity(), ItemsFragment.ItemInteractionListener, Br } private fun openPath(path: String) { - breadcrumbs.setBreadcrumb(path) + //breadcrumbs.setBreadcrumb(path) val bundle = Bundle() bundle.putString(PATH, path) @@ -97,7 +98,7 @@ class MainActivity : SimpleActivity(), ItemsFragment.ItemInteractionListener, Br } } - override fun onBackPressed() { + /*override fun onBackPressed() { if (breadcrumbs.childCount <= 1) { if (!mWasBackJustPressed) { mWasBackJustPressed = true @@ -111,7 +112,7 @@ class MainActivity : SimpleActivity(), ItemsFragment.ItemInteractionListener, Br val item = breadcrumbs.lastItem openPath(item.path) } - } + }*/ override fun onRequestPermissionsResult(requestCode: Int, permissions: Array, grantResults: IntArray) { super.onRequestPermissionsResult(requestCode, permissions, grantResults) @@ -136,8 +137,8 @@ class MainActivity : SimpleActivity(), ItemsFragment.ItemInteractionListener, Br changePath(it) } } else { - val item = breadcrumbs.getChildAt(id).tag as FileDirItem - openPath(item.path) + /*val item = breadcrumbs.getChildAt(id).tag as FileDirItem + openPath(item.path)*/ } } diff --git a/app/src/main/kotlin/com/simplemobiletools/filemanager/activities/SettingsActivity.kt b/app/src/main/kotlin/com/simplemobiletools/filemanager/activities/SettingsActivity.kt index 6f7520d4..82e1fc6c 100644 --- a/app/src/main/kotlin/com/simplemobiletools/filemanager/activities/SettingsActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/filemanager/activities/SettingsActivity.kt @@ -1,8 +1,8 @@ package com.simplemobiletools.filemanager.activities import android.os.Bundle -import android.support.v4.app.TaskStackBuilder import com.simplemobiletools.filemanager.R +import com.simplemobiletools.filemanager.extensions.config import kotlinx.android.synthetic.main.activity_settings.* class SettingsActivity : SimpleActivity() { @@ -10,28 +10,14 @@ class SettingsActivity : SimpleActivity() { super.onCreate(savedInstanceState) setContentView(R.layout.activity_settings) - setupDarkTheme() setupShowHidden() } - private fun setupDarkTheme() { - settings_dark_theme.isChecked = mConfig.isDarkTheme - settings_dark_theme_holder.setOnClickListener { - settings_dark_theme.toggle() - mConfig.isDarkTheme = settings_dark_theme.isChecked - restartActivity() - } - } - private fun setupShowHidden() { - settings_show_hidden.isChecked = mConfig.showHidden + settings_show_hidden.isChecked = config.showHidden settings_show_hidden_holder.setOnClickListener { settings_show_hidden.toggle() - mConfig.showHidden = settings_show_hidden.isChecked + config.showHidden = settings_show_hidden.isChecked } } - - private fun restartActivity() { - TaskStackBuilder.create(applicationContext).addNextIntentWithParentStack(intent).startActivities() - } } diff --git a/app/src/main/kotlin/com/simplemobiletools/filemanager/activities/SimpleActivity.kt b/app/src/main/kotlin/com/simplemobiletools/filemanager/activities/SimpleActivity.kt index 2485b8a0..86b8af33 100644 --- a/app/src/main/kotlin/com/simplemobiletools/filemanager/activities/SimpleActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/filemanager/activities/SimpleActivity.kt @@ -1,52 +1,10 @@ package com.simplemobiletools.filemanager.activities -import android.annotation.TargetApi -import android.app.Activity -import android.content.Intent -import android.os.Build import android.os.Bundle -import android.support.v7.app.AppCompatActivity -import android.view.MenuItem -import com.simplemobiletools.filemanager.Config -import com.simplemobiletools.filemanager.OPEN_DOCUMENT_TREE -import com.simplemobiletools.filemanager.R -import com.simplemobiletools.filepicker.extensions.isShowingWritePermissions -import java.io.File - -open class SimpleActivity : AppCompatActivity() { - lateinit var mConfig: Config +import com.simplemobiletools.commons.activities.BaseSimpleActivity +open class SimpleActivity : BaseSimpleActivity() { override fun onCreate(savedInstanceState: Bundle?) { - mConfig = Config.newInstance(applicationContext) - setTheme(if (mConfig.isDarkTheme) R.style.AppTheme_Dark else R.style.AppTheme) super.onCreate(savedInstanceState) } - - override fun onOptionsItemSelected(item: MenuItem): Boolean { - return when (item.itemId) { - android.R.id.home -> { - finish() - true - } - else -> super.onOptionsItemSelected(item) - } - } - - override fun onActivityResult(requestCode: Int, resultCode: Int, resultData: Intent?) { - super.onActivityResult(requestCode, resultCode, resultData) - if (requestCode == OPEN_DOCUMENT_TREE && resultCode == Activity.RESULT_OK && resultData != null) { - saveTreeUri(resultData) - } - } - - @TargetApi(Build.VERSION_CODES.KITKAT) - fun saveTreeUri(resultData: Intent) { - val treeUri = resultData.data - mConfig.treeUri = treeUri.toString() - - val takeFlags = Intent.FLAG_GRANT_READ_URI_PERMISSION or Intent.FLAG_GRANT_WRITE_URI_PERMISSION - contentResolver.takePersistableUriPermission(treeUri, takeFlags) - } - - fun isShowingPermDialog(file: File) = isShowingWritePermissions(file, mConfig.treeUri, OPEN_DOCUMENT_TREE) } diff --git a/app/src/main/kotlin/com/simplemobiletools/filemanager/adapters/ItemsAdapter.kt b/app/src/main/kotlin/com/simplemobiletools/filemanager/adapters/ItemsAdapter.kt index 64d03737..234605e5 100644 --- a/app/src/main/kotlin/com/simplemobiletools/filemanager/adapters/ItemsAdapter.kt +++ b/app/src/main/kotlin/com/simplemobiletools/filemanager/adapters/ItemsAdapter.kt @@ -10,18 +10,18 @@ import com.bignerdranch.android.multiselector.MultiSelector import com.bignerdranch.android.multiselector.SwappingHolder import com.bumptech.glide.Glide import com.bumptech.glide.load.engine.DiskCacheStrategy +import com.simplemobiletools.commons.asynctasks.CopyMoveTask +import com.simplemobiletools.commons.dialogs.ConfirmationDialog +import com.simplemobiletools.commons.dialogs.PropertiesDialog +import com.simplemobiletools.commons.extensions.formatSize +import com.simplemobiletools.commons.extensions.isGif +import com.simplemobiletools.commons.extensions.toast +import com.simplemobiletools.commons.models.FileDirItem import com.simplemobiletools.filemanager.Config import com.simplemobiletools.filemanager.R import com.simplemobiletools.filemanager.activities.SimpleActivity import com.simplemobiletools.filemanager.dialogs.CopyDialog import com.simplemobiletools.filemanager.dialogs.RenameItemDialog -import com.simplemobiletools.filepicker.asynctasks.CopyMoveTask -import com.simplemobiletools.filepicker.dialogs.ConfirmationDialog -import com.simplemobiletools.filepicker.extensions.formatSize -import com.simplemobiletools.filepicker.extensions.isGif -import com.simplemobiletools.filepicker.extensions.toast -import com.simplemobiletools.filepicker.models.FileDirItem -import com.simplemobiletools.fileproperties.dialogs.PropertiesDialog import kotlinx.android.synthetic.main.list_item.view.* import java.io.File import java.util.* diff --git a/app/src/main/kotlin/com/simplemobiletools/filemanager/dialogs/CopyDialog.kt b/app/src/main/kotlin/com/simplemobiletools/filemanager/dialogs/CopyDialog.kt index 80b66d47..87a58f33 100644 --- a/app/src/main/kotlin/com/simplemobiletools/filemanager/dialogs/CopyDialog.kt +++ b/app/src/main/kotlin/com/simplemobiletools/filemanager/dialogs/CopyDialog.kt @@ -4,15 +4,14 @@ import android.app.AlertDialog import android.support.v4.util.Pair import android.view.LayoutInflater import android.view.WindowManager +import com.simplemobiletools.commons.asynctasks.CopyMoveTask +import com.simplemobiletools.commons.extensions.humanizePath +import com.simplemobiletools.commons.extensions.isPathOnSD +import com.simplemobiletools.commons.extensions.scanFiles +import com.simplemobiletools.commons.extensions.toast import com.simplemobiletools.filemanager.Config import com.simplemobiletools.filemanager.R import com.simplemobiletools.filemanager.activities.SimpleActivity -import com.simplemobiletools.filepicker.asynctasks.CopyMoveTask -import com.simplemobiletools.filepicker.dialogs.FilePickerDialog -import com.simplemobiletools.filepicker.extensions.humanizePath -import com.simplemobiletools.filepicker.extensions.isPathOnSD -import com.simplemobiletools.filepicker.extensions.scanFiles -import com.simplemobiletools.filepicker.extensions.toast import kotlinx.android.synthetic.main.copy_item.view.* import java.io.File import java.util.* @@ -27,7 +26,7 @@ class CopyDialog(val activity: SimpleActivity, val files: ArrayList, val c view.source.text = "${context.humanizePath(sourcePath)}/" val config = Config.newInstance(context) - view.destination.setOnClickListener { + /*view.destination.setOnClickListener { FilePickerDialog(activity, destinationPath, false, config.showHidden, object : FilePickerDialog.OnFilePickerListener { override fun onFail(error: FilePickerDialog.FilePickerResult) { } @@ -37,7 +36,7 @@ class CopyDialog(val activity: SimpleActivity, val files: ArrayList, val c view.destination.text = context.humanizePath(pickedPath) } }) - } + }*/ AlertDialog.Builder(context) .setTitle(context.resources.getString(if (files.size == 1) R.string.copy_item else R.string.copy_items)) diff --git a/app/src/main/kotlin/com/simplemobiletools/filemanager/dialogs/CreateNewItemDialog.kt b/app/src/main/kotlin/com/simplemobiletools/filemanager/dialogs/CreateNewItemDialog.kt index bd6bac0c..ee0cfef3 100644 --- a/app/src/main/kotlin/com/simplemobiletools/filemanager/dialogs/CreateNewItemDialog.kt +++ b/app/src/main/kotlin/com/simplemobiletools/filemanager/dialogs/CreateNewItemDialog.kt @@ -5,9 +5,9 @@ import android.content.Context import android.view.LayoutInflater import android.view.View import android.view.WindowManager +import com.simplemobiletools.commons.extensions.* import com.simplemobiletools.filemanager.Config import com.simplemobiletools.filemanager.R -import com.simplemobiletools.filepicker.extensions.* import kotlinx.android.synthetic.main.create_new.view.* import java.io.File import java.io.IOException @@ -54,7 +54,7 @@ class CreateNewItemDialog(val context: Context, val path: String, val listener: private fun createDirectory(file: File, alertDialog: AlertDialog): Boolean { return if (context.needsStupidWritePermissions(path)) { - val documentFile = context.getFileDocument(file.absolutePath, Config.newInstance(context).treeUri) + val documentFile = context.getFileDocument(file.absolutePath, Config.newInstance(context).treeUri) ?: return false documentFile.createDirectory(file.name) success(alertDialog) true @@ -72,7 +72,7 @@ class CreateNewItemDialog(val context: Context, val path: String, val listener: private fun createFile(file: File, alertDialog: AlertDialog): Boolean { try { if (context.needsStupidWritePermissions(path)) { - val documentFile = context.getFileDocument(file.absolutePath, Config.newInstance(context).treeUri) + val documentFile = context.getFileDocument(file.absolutePath, Config.newInstance(context).treeUri) ?: return false documentFile.createFile("", file.name) success(alertDialog) return true diff --git a/app/src/main/kotlin/com/simplemobiletools/filemanager/dialogs/RenameItemDialog.kt b/app/src/main/kotlin/com/simplemobiletools/filemanager/dialogs/RenameItemDialog.kt index 0d62a9e5..0456e47a 100644 --- a/app/src/main/kotlin/com/simplemobiletools/filemanager/dialogs/RenameItemDialog.kt +++ b/app/src/main/kotlin/com/simplemobiletools/filemanager/dialogs/RenameItemDialog.kt @@ -4,10 +4,10 @@ import android.app.AlertDialog import android.content.Context import android.view.LayoutInflater import android.view.WindowManager +import com.simplemobiletools.commons.extensions.* +import com.simplemobiletools.commons.models.FileDirItem import com.simplemobiletools.filemanager.Config import com.simplemobiletools.filemanager.R -import com.simplemobiletools.filepicker.extensions.* -import com.simplemobiletools.filepicker.models.FileDirItem import kotlinx.android.synthetic.main.rename_item.view.* import java.io.File @@ -44,7 +44,7 @@ class RenameItemDialog(val context: Context, val item: FileDirItem, val listener } if (context.needsStupidWritePermissions(path)) { - val document = context.getFileDocument(currFile.absolutePath, Config.newInstance(context).treeUri) + val document = context.getFileDocument(currFile.absolutePath, Config.newInstance(context).treeUri) ?: return@setOnClickListener if (document.canWrite()) document.renameTo(newName) sendSuccess(newFile) diff --git a/app/src/main/kotlin/com/simplemobiletools/filemanager/extensions/context.kt.kt b/app/src/main/kotlin/com/simplemobiletools/filemanager/extensions/context.kt.kt new file mode 100644 index 00000000..ca5c3a72 --- /dev/null +++ b/app/src/main/kotlin/com/simplemobiletools/filemanager/extensions/context.kt.kt @@ -0,0 +1,6 @@ +package com.simplemobiletools.filemanager.extensions + +import android.content.Context +import com.simplemobiletools.filemanager.Config + +val Context.config: Config get() = Config.newInstance(this) diff --git a/app/src/main/kotlin/com/simplemobiletools/filemanager/fragments/ItemsFragment.kt b/app/src/main/kotlin/com/simplemobiletools/filemanager/fragments/ItemsFragment.kt index ee547964..ea14626e 100644 --- a/app/src/main/kotlin/com/simplemobiletools/filemanager/fragments/ItemsFragment.kt +++ b/app/src/main/kotlin/com/simplemobiletools/filemanager/fragments/ItemsFragment.kt @@ -12,6 +12,9 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import android.webkit.MimeTypeMap +import com.simplemobiletools.commons.extensions.* +import com.simplemobiletools.commons.models.FileDirItem +import com.simplemobiletools.commons.views.RecyclerViewDivider import com.simplemobiletools.filemanager.Config import com.simplemobiletools.filemanager.PATH import com.simplemobiletools.filemanager.R @@ -19,9 +22,6 @@ import com.simplemobiletools.filemanager.SCROLL_STATE import com.simplemobiletools.filemanager.activities.SimpleActivity import com.simplemobiletools.filemanager.adapters.ItemsAdapter import com.simplemobiletools.filemanager.dialogs.CreateNewItemDialog -import com.simplemobiletools.filepicker.extensions.* -import com.simplemobiletools.filepicker.models.FileDirItem -import com.simplemobiletools.filepicker.views.RecyclerViewDivider import kotlinx.android.synthetic.main.items_fragment.* import java.io.File import java.util.* @@ -241,7 +241,7 @@ class ItemsFragment : android.support.v4.app.Fragment(), ItemsAdapter.ItemOperat } if (context.needsStupidWritePermissions(item.absolutePath)) { - val document = context.getFileDocument(item.absolutePath, mConfig.treeUri) + val document = context.getFileDocument(item.absolutePath, mConfig.treeUri) ?: return // double check we have the uri to the proper file path, not some parent folder if (document.uri.toString().endsWith(item.absolutePath.getFilenameFromPath())) diff --git a/app/src/main/kotlin/com/simplemobiletools/filemanager/views/RecyclerViewDivider.kt b/app/src/main/kotlin/com/simplemobiletools/filemanager/views/RecyclerViewDivider.kt deleted file mode 100644 index dc58ce26..00000000 --- a/app/src/main/kotlin/com/simplemobiletools/filemanager/views/RecyclerViewDivider.kt +++ /dev/null @@ -1,33 +0,0 @@ -package com.simplemobiletools.filemanager.views - -import android.content.Context -import android.graphics.Canvas -import android.graphics.drawable.Drawable -import android.support.v7.widget.RecyclerView -import com.simplemobiletools.filemanager.R - -class RecyclerViewDivider(context: Context) : RecyclerView.ItemDecoration() { - private val mDivider: Drawable - - init { - mDivider = context.resources.getDrawable(R.drawable.divider) - } - - override fun onDrawOver(c: Canvas, parent: RecyclerView, state: RecyclerView.State) { - val left = parent.paddingLeft - val right = parent.width - parent.paddingRight - - val childCount = parent.childCount - for (i in 0..childCount - 1) { - val child = parent.getChildAt(i) - - val params = child.layoutParams as RecyclerView.LayoutParams - - val top = child.bottom + params.bottomMargin - val bottom = top + mDivider.intrinsicHeight - - mDivider.setBounds(left, top, right, bottom) - mDivider.draw(c) - } - } -} diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index 94cee8dc..2cefcfc5 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -1,11 +1,11 @@ - diff --git a/app/src/main/res/layout/activity_settings.xml b/app/src/main/res/layout/activity_settings.xml index 934cb87b..53e96caa 100644 --- a/app/src/main/res/layout/activity_settings.xml +++ b/app/src/main/res/layout/activity_settings.xml @@ -11,32 +11,6 @@ android:layout_height="wrap_content" android:orientation="vertical"> - - - - - - - - -