Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Unverified Commit 083f7f28 authored by solokot's avatar solokot Committed by GitHub
Browse files

Merge pull request #13 from SimpleMobileTools/master

update
parents f844581c 360ea98f
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -6,8 +6,8 @@ buildscript {
        propMinSdkVersion = 16
        propTargetSdkVersion = propCompileSdkVersion
        propVersionCode = 1
        propVersionName = '3.7.5'
        kotlin_version = '1.2.10'
        propVersionName = '3.8.11'
        kotlin_version = '1.2.21'
        support_libs = '27.0.2'
    }

+1 −1
Original line number Diff line number Diff line
@@ -87,7 +87,7 @@ class AboutActivity : BaseSimpleActivity() {
    }

    private fun setupRateUs() {
        if (baseConfig.appRunCount < 5) {
        if (baseConfig.appRunCount < 3) {
            about_rate_us.visibility = View.GONE
        } else {
            about_rate_us.setOnClickListener {
+3 −2
Original line number Diff line number Diff line
@@ -24,6 +24,7 @@ import com.simplemobiletools.commons.helpers.APP_LICENSES
import com.simplemobiletools.commons.helpers.APP_NAME
import com.simplemobiletools.commons.helpers.APP_VERSION_NAME
import com.simplemobiletools.commons.helpers.OPEN_DOCUMENT_TREE
import com.simplemobiletools.commons.interfaces.CopyMoveListener
import java.io.File
import java.util.*

@@ -127,7 +128,7 @@ open class BaseSimpleActivity : AppCompatActivity() {
        baseConfig.treeUri = treeUri.toString()

        val takeFlags = Intent.FLAG_GRANT_READ_URI_PERMISSION or Intent.FLAG_GRANT_WRITE_URI_PERMISSION
        contentResolver.takePersistableUriPermission(treeUri, takeFlags)
        applicationContext.contentResolver.takePersistableUriPermission(treeUri, takeFlags)
    }

    private fun isProperFolder(uri: Uri) = isExternalStorageDocument(uri) && isRootUri(uri) && !isInternalStorage(uri)
@@ -244,7 +245,7 @@ open class BaseSimpleActivity : AppCompatActivity() {
        }
    }

    val copyMoveListener = object : CopyMoveTask.CopyMoveListener {
    val copyMoveListener = object : CopyMoveListener {
        override fun copySucceeded(copyOnly: Boolean, copiedAll: Boolean) {
            if (copyOnly) {
                toast(if (copiedAll) R.string.copying_success else R.string.copying_success_partial)
+2 −2
Original line number Diff line number Diff line
@@ -88,8 +88,8 @@ class FilepickerItemsAdapter(activity: BaseSimpleActivity, val fileDirItems: Lis
                    path
                }

                if (context != null) {
                    Glide.with(context).load(itemToLoad).transition(withCrossFade()).apply(options).into(list_item_icon)
                if (!activity.isActivityDestroyed()) {
                    Glide.with(activity).load(itemToLoad).transition(withCrossFade()).apply(options).into(list_item_icon)
                }
            }
        }
+12 −15
Original line number Diff line number Diff line
@@ -8,6 +8,7 @@ import android.support.v4.util.Pair
import com.simplemobiletools.commons.R
import com.simplemobiletools.commons.activities.BaseSimpleActivity
import com.simplemobiletools.commons.extensions.*
import com.simplemobiletools.commons.interfaces.CopyMoveListener
import java.io.File
import java.io.FileInputStream
import java.io.InputStream
@@ -16,10 +17,10 @@ import java.lang.ref.WeakReference
import java.util.*

class CopyMoveTask(val activity: BaseSimpleActivity, val copyOnly: Boolean = false, val copyMediaOnly: Boolean,
                   listener: CopyMoveTask.CopyMoveListener) : AsyncTask<Pair<ArrayList<File>, File>, Void, Boolean>() {
                   listener: CopyMoveListener) : AsyncTask<Pair<ArrayList<File>, File>, Void, Boolean>() {
    private var mListener: WeakReference<CopyMoveListener>? = null
    private var mMovedFiles: ArrayList<File> = ArrayList()
    private var mDocument: DocumentFile? = null
    private var mDocuments = LinkedHashMap<String, DocumentFile?>()
    lateinit var mFiles: ArrayList<File>

    init {
@@ -72,8 +73,9 @@ class CopyMoveTask(val activity: BaseSimpleActivity, val copyOnly: Boolean = fal
        val children = source.list()
        for (child in children) {
            val newFile = File(destination, child)
            if (newFile.exists())
            if (newFile.exists()) {
                continue
            }

            val oldFile = File(source, child)
            copy(oldFile, newFile)
@@ -82,8 +84,9 @@ class CopyMoveTask(val activity: BaseSimpleActivity, val copyOnly: Boolean = fal
    }

    private fun copyFile(source: File, destination: File) {
        if (copyMediaOnly && !source.absolutePath.isImageVideoGif())
        if (copyMediaOnly && !source.absolutePath.isImageVideoGif()) {
            return
        }

        val directory = destination.parentFile
        if (!activity.createDirectorySync(directory)) {
@@ -95,11 +98,11 @@ class CopyMoveTask(val activity: BaseSimpleActivity, val copyOnly: Boolean = fal
        var inputStream: InputStream? = null
        var out: OutputStream? = null
        try {
            if (mDocument == null && activity.needsStupidWritePermissions(destination.absolutePath)) {
                mDocument = activity.getFileDocument(destination.parent)
            if (!mDocuments.containsKey(destination.parent) && activity.needsStupidWritePermissions(destination.absolutePath)) {
                mDocuments[destination.parent] = activity.getFileDocument(destination.parent)
            }

            out = activity.getFileOutputStreamSync(destination.absolutePath, source.getMimeType(), mDocument)
            out = activity.getFileOutputStreamSync(destination.absolutePath, source.getMimeType(), mDocuments[destination.parent])

            inputStream = FileInputStream(source)
            inputStream.copyTo(out!!)
@@ -135,7 +138,7 @@ class CopyMoveTask(val activity: BaseSimpleActivity, val copyOnly: Boolean = fal
        val uri = MediaStore.Files.getContentUri("external")
        val selection = "${MediaStore.MediaColumns.DATA} = ?"
        var selectionArgs = arrayOf(source.absolutePath)
        val cursor = activity.contentResolver.query(uri, projection, selection, selectionArgs, null)
        val cursor = activity.applicationContext.contentResolver.query(uri, projection, selection, selectionArgs, null)

        cursor?.use {
            if (cursor.moveToFirst()) {
@@ -149,15 +152,9 @@ class CopyMoveTask(val activity: BaseSimpleActivity, val copyOnly: Boolean = fal

                selectionArgs = arrayOf(destination.absolutePath)
                activity.scanFile(destination) {
                    activity.contentResolver.update(uri, values, selection, selectionArgs)
                }
                    activity.applicationContext.contentResolver.update(uri, values, selection, selectionArgs)
                }
            }
        }

    interface CopyMoveListener {
        fun copySucceeded(copyOnly: Boolean, copiedAll: Boolean)

        fun copyFailed()
    }
}
Loading