mirror of
https://github.com/SimpleMobileTools/Simple-File-Manager.git
synced 2025-06-05 22:09:15 +02:00
update CreateNewItemDialog
This commit is contained in:
@@ -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
|
||||||
|
@@ -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()
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -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.*
|
||||||
|
@@ -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 {
|
||||||
|
Reference in New Issue
Block a user