Browse Source

Start CopyFileActivity when user open external file

cooperku_kdanmobile 5 years ago
parent
commit
e61e707c45

+ 1 - 1
PDFReaderReaderModule

@@ -1 +1 @@
-Subproject commit f22c63109263873a560cd7e00dbfbda64e7a42dd
+Subproject commit 83de9073d1805fa8e2fe3c071a46cc3f81521308

+ 6 - 4
app/src/main/AndroidManifest.xml

@@ -24,8 +24,14 @@
         <activity
             android:name=".MyReaderActivity"
             android:exported="true"
+            android:theme="@style/ReaderActivityNoActionBarNoTitle" />
+        <activity
+            android:name=".MyCopyFileActivity"
+            android:configChanges="orientation"
+            android:exported="true"
             android:theme="@style/ReaderActivityNoActionBarNoTitle" >
 
+
             <intent-filter>
                 <action android:name="android.intent.action.VIEW"/>
                 <category android:name="android.intent.category.DEFAULT"/>
@@ -56,10 +62,6 @@
                 <data android:host="*"/>
             </intent-filter>
         </activity>
-        <activity
-            android:name=".MyCopyFileActivity"
-            android:exported="true"
-            android:theme="@style/ReaderActivityNoActionBarNoTitle" />
     </application>
 
 </manifest>

+ 14 - 4
app/src/main/java/com/kdanmobile/pdfreaderviewapp/MyCopyFileActivity.kt

@@ -1,17 +1,27 @@
 package com.kdanmobile.pdfreaderviewapp
 
 import android.content.Intent
+import android.os.Environment
 import com.kdanmobile.reader.CopyFileActivity
 import java.io.File
 
 class MyCopyFileActivity: CopyFileActivity() {
-    override fun provideFileName(): String {
-        return File(intent.getStringExtra(MyReaderActivity.KEY_FILE_ABSOLUTE)).name
+    override fun getKdanPdfReaderFolder(): File {
+        val external = Environment.getExternalStorageDirectory()
+        val folder = File(external, "KdanPDFReader")
+        if (!folder.exists() || !folder.isDirectory)
+            folder.mkdirs()
+        return folder
     }
 
-    override fun provideReaderActivityIntent(): Intent {
+    override fun provideReaderActivityIntent(filePath: String?): Intent {
         val readerIntent = Intent(this, MyReaderActivity::class.java)
-        readerIntent.putExtra(MyReaderActivity.KEY_FILE_ABSOLUTE, intent.getStringExtra(MyReaderActivity.KEY_FILE_ABSOLUTE))
+        val absoluteFilePath = if (filePath.isNullOrEmpty()) {
+            intent.getStringExtra(MyReaderActivity.KEY_FILE_ABSOLUTE)
+        } else {
+            filePath
+        }
+        readerIntent.putExtra(MyReaderActivity.KEY_FILE_ABSOLUTE, absoluteFilePath)
         readerIntent.putExtra("copyFile", intent.getBooleanExtra("copyFile", false))
         return readerIntent
     }

+ 0 - 11
app/src/main/java/com/kdanmobile/pdfreaderviewapp/MyReaderActivity.kt

@@ -1,13 +1,10 @@
 package com.kdanmobile.pdfreaderviewapp
 
 import android.content.Context
-import android.content.Intent
 import android.os.Bundle
-import android.os.Environment
 import com.kdanmobile.reader.ReaderActivity
 import com.kdanmobile.reader.setting.ReaderSettingDialogFragment
 import com.kdanmobile.reader.thumb.PdfThumbDialogFragment
-import java.io.File
 
 class MyReaderActivity : ReaderActivity() {
 
@@ -32,14 +29,6 @@ class MyReaderActivity : ReaderActivity() {
         return MyPdfThumbDialogFragment()
     }
 
-    override fun getKdanPdfReaderFolder(): File {
-        val external = Environment.getExternalStorageDirectory()
-        val folder = File(external, "KdanPDFReader")
-        if (!folder.exists() || !folder.isDirectory)
-            folder.mkdirs()
-        return folder
-    }
-
     override fun onClickUserGuide() {
         TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
     }