Quellcode durchsuchen

Merge branch 'fileCannotOpenDialogFragment' into 'master'

FileCannotOpenDialogFragment

See merge request kdanandroid/pdf/pdfreaderreadermodule!22
Wayne Huang vor 5 Jahren
Ursprung
Commit
3312de7335

+ 5 - 16
src/main/java/com/kdanmobile/reader/copyfile/CopyFileActivity.kt

@@ -3,7 +3,6 @@ package com.kdanmobile.reader.copyfile
 import android.arch.lifecycle.Observer
 import android.content.Intent
 import android.os.Bundle
-import android.support.v7.app.AlertDialog
 import com.kdanmobile.base.KdanBaseActivity
 import com.kdanmobile.reader.R
 import com.kdanmobile.reader.thumb.FileUtil
@@ -22,8 +21,6 @@ abstract class CopyFileActivity : KdanBaseActivity() {
         const val KEY_SHOULD_COPY_FILE = "should_copy_file"
     }
 
-    private var fileCannotOpenDialog: AlertDialog? = null
-
     private val viewModel: CopyFileViewModel by viewModel {
         val kdanPdfReaderFolder = getKdanPdfReaderFolder()
         FileUtil.init(kdanPdfReaderFolder)
@@ -61,19 +58,11 @@ abstract class CopyFileActivity : KdanBaseActivity() {
     }
 
     private fun showFileCannotOpenDialog(title: String) {
-        fileCannotOpenDialog = AlertDialog.Builder(this)
-                .setTitle(title)
-                .setCancelable(false)
-                .setPositiveButton(getString(android.R.string.ok)) { dialog, which ->
-                    finish()
-                }
-                .create()
-        fileCannotOpenDialog?.show()
-    }
-
-    override fun onDestroy() {
-        fileCannotOpenDialog?.dismiss()
-        super.onDestroy()
+        val fileCannotOpenDialog = FileCannotOpenDialogFragment()
+        fileCannotOpenDialog.arguments = Bundle().also {
+            it.putString(FileCannotOpenDialogFragment.KEY_DIALOG_TITLE, title)
+        }
+        fileCannotOpenDialog.show(supportFragmentManager, fileCannotOpenDialog.tag)
     }
 
     private fun startReaderActivity(filePath: String?) {

+ 24 - 0
src/main/java/com/kdanmobile/reader/copyfile/FileCannotOpenDialogFragment.kt

@@ -0,0 +1,24 @@
+package com.kdanmobile.reader.copyfile
+
+import android.app.Dialog
+import android.os.Bundle
+import android.support.v4.app.DialogFragment
+import android.support.v7.app.AlertDialog
+
+class FileCannotOpenDialogFragment : DialogFragment() {
+
+    companion object {
+        const val KEY_DIALOG_TITLE = "title"
+    }
+
+    override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
+
+        return AlertDialog.Builder(activity!!)
+                .setTitle(arguments?.getString(KEY_DIALOG_TITLE))
+                .setCancelable(false)
+                .setPositiveButton(getString(android.R.string.ok)) { dialog, which ->
+                    activity?.finish()
+                }
+                .create()
+    }
+}