update CreateNewItemDialog

This commit is contained in:
tibbi
2017-03-11 11:06:44 +01:00
parent 4436297ef5
commit 08a72523d7
4 changed files with 18 additions and 28 deletions

View File

@@ -1,7 +1,7 @@
package com.simplemobiletools.filemanager.dialogs package com.simplemobiletools.filemanager.dialogs
import android.app.AlertDialog
import android.support.v4.util.Pair import android.support.v4.util.Pair
import android.support.v7.app.AlertDialog
import android.view.LayoutInflater import android.view.LayoutInflater
import android.view.WindowManager import android.view.WindowManager
import com.simplemobiletools.commons.asynctasks.CopyMoveTask import com.simplemobiletools.commons.asynctasks.CopyMoveTask

View File

@@ -1,30 +1,26 @@
package com.simplemobiletools.filemanager.dialogs package com.simplemobiletools.filemanager.dialogs
import android.app.AlertDialog import android.app.Activity
import android.content.Context import android.support.v7.app.AlertDialog
import android.view.LayoutInflater
import android.view.View import android.view.View
import android.view.WindowManager import android.view.WindowManager
import com.simplemobiletools.commons.extensions.* import com.simplemobiletools.commons.extensions.*
import com.simplemobiletools.filemanager.Config
import com.simplemobiletools.filemanager.R import com.simplemobiletools.filemanager.R
import com.simplemobiletools.filemanager.extensions.config
import kotlinx.android.synthetic.main.create_new.view.* import kotlinx.android.synthetic.main.create_new.view.*
import java.io.File import java.io.File
import java.io.IOException import java.io.IOException
class CreateNewItemDialog(val context: Context, val path: String, val listener: OnCreateNewItemListener) { class CreateNewItemDialog(val activity: Activity, val path: String, val callback: () -> Unit) {
init { init {
val view = LayoutInflater.from(context).inflate(R.layout.create_new, null) val view = activity.layoutInflater.inflate(R.layout.create_new, null)
AlertDialog.Builder(context) AlertDialog.Builder(activity)
.setTitle(context.resources.getString(R.string.create_new))
.setView(view)
.setPositiveButton(R.string.ok, null) .setPositiveButton(R.string.ok, null)
.setNegativeButton(R.string.cancel, null) .setNegativeButton(R.string.cancel, null)
.create().apply { .create().apply {
activity.setupDialogStuff(view, this, R.string.create_new)
window!!.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE) window!!.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE)
setCanceledOnTouchOutside(true)
show()
getButton(AlertDialog.BUTTON_POSITIVE).setOnClickListener(View.OnClickListener { getButton(AlertDialog.BUTTON_POSITIVE).setOnClickListener(View.OnClickListener {
val name = view.item_name.value val name = view.item_name.value
if (name.isEmpty()) { if (name.isEmpty()) {
@@ -53,8 +49,8 @@ class CreateNewItemDialog(val context: Context, val path: String, val listener:
} }
private fun createDirectory(file: File, alertDialog: AlertDialog): Boolean { private fun createDirectory(file: File, alertDialog: AlertDialog): Boolean {
return if (context.needsStupidWritePermissions(path)) { return if (activity.needsStupidWritePermissions(path)) {
val documentFile = context.getFileDocument(file.absolutePath, Config.newInstance(context).treeUri) ?: return false val documentFile = activity.getFileDocument(file.absolutePath, activity.config.treeUri) ?: return false
documentFile.createDirectory(file.name) documentFile.createDirectory(file.name)
success(alertDialog) success(alertDialog)
true true
@@ -66,13 +62,13 @@ class CreateNewItemDialog(val context: Context, val path: String, val listener:
} }
private fun errorOccurred() { private fun errorOccurred() {
context.toast(R.string.error_occurred) activity.toast(R.string.error_occurred)
} }
private fun createFile(file: File, alertDialog: AlertDialog): Boolean { private fun createFile(file: File, alertDialog: AlertDialog): Boolean {
try { try {
if (context.needsStupidWritePermissions(path)) { if (activity.needsStupidWritePermissions(path)) {
val documentFile = context.getFileDocument(file.absolutePath, Config.newInstance(context).treeUri) ?: return false val documentFile = activity.getFileDocument(file.absolutePath, activity.config.treeUri) ?: return false
documentFile.createFile("", file.name) documentFile.createFile("", file.name)
success(alertDialog) success(alertDialog)
return true return true
@@ -89,10 +85,6 @@ class CreateNewItemDialog(val context: Context, val path: String, val listener:
private fun success(alertDialog: AlertDialog) { private fun success(alertDialog: AlertDialog) {
alertDialog.dismiss() alertDialog.dismiss()
listener.onSuccess() callback.invoke()
}
interface OnCreateNewItemListener {
fun onSuccess()
} }
} }

View File

@@ -1,7 +1,7 @@
package com.simplemobiletools.filemanager.dialogs package com.simplemobiletools.filemanager.dialogs
import android.app.AlertDialog
import android.content.Context import android.content.Context
import android.support.v7.app.AlertDialog
import android.view.LayoutInflater import android.view.LayoutInflater
import android.view.WindowManager import android.view.WindowManager
import com.simplemobiletools.commons.extensions.* import com.simplemobiletools.commons.extensions.*

View File

@@ -176,11 +176,9 @@ class ItemsFragment : android.support.v4.app.Fragment(), ItemsAdapter.ItemOperat
} }
private fun createNewItem() { private fun createNewItem() {
CreateNewItemDialog(context, mPath, object : CreateNewItemDialog.OnCreateNewItemListener { CreateNewItemDialog(activity, mPath) {
override fun onSuccess() { fillItems()
fillItems() }
}
})
} }
private fun getGenericMimeType(mimeType: String): String { private fun getGenericMimeType(mimeType: String): String {