diff --git a/app/src/main/java/io/legado/app/ui/association/ImportBookSourceActivity.kt b/app/src/main/java/io/legado/app/ui/association/ImportBookSourceActivity.kt index 53a4ba64b..1c6e84847 100644 --- a/app/src/main/java/io/legado/app/ui/association/ImportBookSourceActivity.kt +++ b/app/src/main/java/io/legado/app/ui/association/ImportBookSourceActivity.kt @@ -6,6 +6,7 @@ import io.legado.app.R import io.legado.app.base.VMBaseActivity import io.legado.app.constant.Theme import io.legado.app.data.entities.BookSource +import io.legado.app.help.IntentDataHelp import io.legado.app.help.SourceHelp import io.legado.app.lib.dialogs.alert import io.legado.app.lib.dialogs.noButton @@ -33,6 +34,12 @@ class ImportBookSourceActivity : VMBaseActivity( } private fun initData() { + intent.getStringExtra("dataKey")?.let { + IntentDataHelp.getData(it)?.let { source -> + viewModel.importSource(source) + return + } + } intent.getStringExtra("source")?.let { viewModel.importSource(it) return diff --git a/app/src/main/java/io/legado/app/ui/association/ImportReplaceRuleActivity.kt b/app/src/main/java/io/legado/app/ui/association/ImportReplaceRuleActivity.kt index 55ff9e955..489d0fb01 100644 --- a/app/src/main/java/io/legado/app/ui/association/ImportReplaceRuleActivity.kt +++ b/app/src/main/java/io/legado/app/ui/association/ImportReplaceRuleActivity.kt @@ -7,6 +7,7 @@ import io.legado.app.R import io.legado.app.base.VMBaseActivity import io.legado.app.constant.Theme import io.legado.app.data.entities.ReplaceRule +import io.legado.app.help.IntentDataHelp import io.legado.app.lib.dialogs.alert import io.legado.app.lib.dialogs.noButton import io.legado.app.lib.dialogs.okButton @@ -33,6 +34,12 @@ class ImportReplaceRuleActivity : VMBaseActivity( } private fun initData() { + intent.getStringExtra("dataKey")?.let { + IntentDataHelp.getData(it)?.let { source -> + viewModel.import(source) + return + } + } intent.getStringExtra("source")?.let { viewModel.import(it) return diff --git a/app/src/main/java/io/legado/app/ui/association/ImportRssSourceActivity.kt b/app/src/main/java/io/legado/app/ui/association/ImportRssSourceActivity.kt index 9e5ffcee4..2b96c5a47 100644 --- a/app/src/main/java/io/legado/app/ui/association/ImportRssSourceActivity.kt +++ b/app/src/main/java/io/legado/app/ui/association/ImportRssSourceActivity.kt @@ -6,6 +6,7 @@ import io.legado.app.R import io.legado.app.base.VMBaseActivity import io.legado.app.constant.Theme import io.legado.app.data.entities.RssSource +import io.legado.app.help.IntentDataHelp import io.legado.app.help.SourceHelp import io.legado.app.lib.dialogs.alert import io.legado.app.lib.dialogs.noButton @@ -33,6 +34,12 @@ class ImportRssSourceActivity : VMBaseActivity( } private fun initData() { + intent.getStringExtra("dataKey")?.let { + IntentDataHelp.getData(it)?.let { source -> + viewModel.importSource(source) + return + } + } intent.getStringExtra("source")?.let { viewModel.importSource(it) return diff --git a/app/src/main/java/io/legado/app/ui/book/source/manage/BookSourceActivity.kt b/app/src/main/java/io/legado/app/ui/book/source/manage/BookSourceActivity.kt index c1316e237..99b2c5ac2 100644 --- a/app/src/main/java/io/legado/app/ui/book/source/manage/BookSourceActivity.kt +++ b/app/src/main/java/io/legado/app/ui/book/source/manage/BookSourceActivity.kt @@ -19,6 +19,7 @@ import io.legado.app.App import io.legado.app.R import io.legado.app.base.VMBaseActivity import io.legado.app.data.entities.BookSource +import io.legado.app.help.IntentDataHelp import io.legado.app.help.ItemTouchCallback import io.legado.app.lib.dialogs.* import io.legado.app.lib.theme.ATH @@ -38,6 +39,7 @@ import kotlinx.android.synthetic.main.dialog_edit_text.view.* import kotlinx.android.synthetic.main.view_search.* import org.jetbrains.anko.startActivity import org.jetbrains.anko.startActivityForResult +import org.jetbrains.anko.toast import java.io.File import java.text.Collator @@ -353,7 +355,14 @@ class BookSourceActivity : VMBaseActivity(R.layout.activity } importRequestCode -> if (resultCode == Activity.RESULT_OK) { data?.data?.let { uri -> - startActivity("filePath" to uri.toString()) + try { + uri.readText(this)?.let { + val dataKey = IntentDataHelp.putData(it) + startActivity("dataKey" to dataKey) + } + } catch (e: Exception) { + toast("readTextError:${e.localizedMessage}") + } } } exportRequestCode -> { diff --git a/app/src/main/java/io/legado/app/ui/replacerule/ReplaceRuleActivity.kt b/app/src/main/java/io/legado/app/ui/replacerule/ReplaceRuleActivity.kt index b2e39c4a8..554bf635b 100644 --- a/app/src/main/java/io/legado/app/ui/replacerule/ReplaceRuleActivity.kt +++ b/app/src/main/java/io/legado/app/ui/replacerule/ReplaceRuleActivity.kt @@ -20,6 +20,7 @@ import io.legado.app.R import io.legado.app.base.VMBaseActivity import io.legado.app.data.entities.ReplaceRule import io.legado.app.help.BookHelp +import io.legado.app.help.IntentDataHelp import io.legado.app.help.ItemTouchCallback import io.legado.app.help.coroutine.Coroutine import io.legado.app.lib.dialogs.* @@ -37,6 +38,7 @@ import kotlinx.android.synthetic.main.activity_replace_rule.* import kotlinx.android.synthetic.main.dialog_edit_text.view.* import kotlinx.android.synthetic.main.view_search.* import org.jetbrains.anko.startActivity +import org.jetbrains.anko.toast import java.io.File @@ -251,7 +253,14 @@ class ReplaceRuleActivity : VMBaseActivity(R.layout.activi when (requestCode) { importRequestCode -> if (resultCode == Activity.RESULT_OK) { data?.data?.let { uri -> - startActivity("filePath" to uri.toString()) + try { + uri.readText(this)?.let { + val dataKey = IntentDataHelp.putData(it) + startActivity("dataKey" to dataKey) + } + } catch (e: Exception) { + toast("readTextError:${e.localizedMessage}") + } } } exportRequestCode -> if (resultCode == RESULT_OK) { diff --git a/app/src/main/java/io/legado/app/ui/rss/source/manage/RssSourceActivity.kt b/app/src/main/java/io/legado/app/ui/rss/source/manage/RssSourceActivity.kt index 0b7a54564..d28ae94a8 100644 --- a/app/src/main/java/io/legado/app/ui/rss/source/manage/RssSourceActivity.kt +++ b/app/src/main/java/io/legado/app/ui/rss/source/manage/RssSourceActivity.kt @@ -19,6 +19,7 @@ import io.legado.app.App import io.legado.app.R import io.legado.app.base.VMBaseActivity import io.legado.app.data.entities.RssSource +import io.legado.app.help.IntentDataHelp import io.legado.app.help.ItemTouchCallback import io.legado.app.lib.dialogs.* import io.legado.app.lib.theme.ATH @@ -37,6 +38,7 @@ import kotlinx.android.synthetic.main.dialog_edit_text.view.* import kotlinx.android.synthetic.main.view_search.* import org.jetbrains.anko.startActivity import org.jetbrains.anko.startActivityForResult +import org.jetbrains.anko.toast import java.io.File import java.text.Collator import java.util.* @@ -255,7 +257,14 @@ class RssSourceActivity : VMBaseActivity(R.layout.activity_r when (requestCode) { importRequestCode -> if (resultCode == Activity.RESULT_OK) { data?.data?.let { uri -> - startActivity("filePath" to uri.toString()) + try { + uri.readText(this)?.let { + val dataKey = IntentDataHelp.putData(it) + startActivity("dataKey" to dataKey) + } + } catch (e: Exception) { + toast("readTextError:${e.localizedMessage}") + } } } qrRequestCode -> if (resultCode == RESULT_OK) {