From 84f41bfc34d6874103f079f4bdf34b56e436a5e4 Mon Sep 17 00:00:00 2001 From: kunfei Date: Sat, 30 Nov 2019 22:27:37 +0800 Subject: [PATCH] up --- app/build.gradle | 12 ++++-- .../io/legado/app/ui/about/AboutFragment.kt | 1 + .../java/io/legado/app/ui/about/UpdateLog.kt | 43 +++++++++++++++++++ .../app/ui/changesource/ChangeSourceDialog.kt | 14 +++--- .../io/legado/app/ui/main/MainActivity.kt | 4 ++ app/src/main/res/layout/dialog_text_view.xml | 24 +++++++++++ build.gradle | 2 +- 7 files changed, 88 insertions(+), 12 deletions(-) create mode 100644 app/src/main/java/io/legado/app/ui/about/UpdateLog.kt create mode 100644 app/src/main/res/layout/dialog_text_view.xml diff --git a/app/build.gradle b/app/build.gradle index 5b31b02ba..43c822e3b 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -91,14 +91,14 @@ dependencies { implementation 'com.crashlytics.sdk.android:crashlytics:2.10.1' //androidX - implementation 'androidx.core:core-ktx:1.2.0-beta02' + implementation 'androidx.core:core-ktx:1.2.0-rc01' implementation 'androidx.appcompat:appcompat:1.1.0' implementation 'androidx.media:media:1.1.0' implementation 'androidx.preference:preference:1.1.0' implementation 'androidx.constraintlayout:constraintlayout:1.1.3' implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.0.0' - implementation 'androidx.viewpager2:viewpager2:1.0.0-rc01' - implementation 'com.google.android.material:material:1.2.0-alpha01' + implementation 'androidx.viewpager2:viewpager2:1.0.0' + implementation 'com.google.android.material:material:1.2.0-alpha02' implementation 'com.google.android:flexbox:1.1.0' //lifecycle @@ -107,7 +107,7 @@ dependencies { implementation "androidx.lifecycle:lifecycle-common-java8:$lifecycle_version" //room - def room_version = '2.2.1' + def room_version = '2.2.2' implementation "androidx.room:room-runtime:$room_version" kapt "androidx.room:room-compiler:$room_version" @@ -153,8 +153,12 @@ dependencies { //颜色选择 implementation 'com.jaredrummler:colorpicker:1.1.0' + //apache implementation 'org.apache.commons:commons-lang3:3.9' implementation 'org.apache.commons:commons-text:1.8' + + //MarkDown + implementation 'ru.noties.markwon:core:3.0.2' } apply plugin: 'com.google.gms.google-services' \ No newline at end of file diff --git a/app/src/main/java/io/legado/app/ui/about/AboutFragment.kt b/app/src/main/java/io/legado/app/ui/about/AboutFragment.kt index 623de1157..10c969314 100644 --- a/app/src/main/java/io/legado/app/ui/about/AboutFragment.kt +++ b/app/src/main/java/io/legado/app/ui/about/AboutFragment.kt @@ -23,6 +23,7 @@ class AboutFragment : PreferenceFragmentCompat() { override fun onPreferenceTreeClick(preference: Preference?): Boolean { when (preference?.key) { + "update_log" -> UpdateLog().show(childFragmentManager, "update_log") "check_update" -> openIntent(Intent.ACTION_VIEW, getString(R.string.latest_release_url)) "mail" -> openIntent(Intent.ACTION_SENDTO, "mailto:kunfei.ge@gmail.com") "git" -> openIntent(Intent.ACTION_VIEW, getString(R.string.this_github_url)) diff --git a/app/src/main/java/io/legado/app/ui/about/UpdateLog.kt b/app/src/main/java/io/legado/app/ui/about/UpdateLog.kt new file mode 100644 index 000000000..0b1953102 --- /dev/null +++ b/app/src/main/java/io/legado/app/ui/about/UpdateLog.kt @@ -0,0 +1,43 @@ +package io.legado.app.ui.about + +import android.os.Bundle +import android.util.DisplayMetrics +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import androidx.fragment.app.DialogFragment +import io.legado.app.R +import kotlinx.android.synthetic.main.dialog_text_view.* +import ru.noties.markwon.Markwon + +class UpdateLog : DialogFragment() { + + override fun onStart() { + super.onStart() + val dm = DisplayMetrics() + activity?.windowManager?.defaultDisplay?.getMetrics(dm) + dialog?.window?.setLayout((dm.widthPixels * 0.9).toInt(), (dm.heightPixels * 0.9).toInt()) + } + + override fun onCreateView( + inflater: LayoutInflater, + container: ViewGroup?, + savedInstanceState: Bundle? + ): View? { + return inflater.inflate(R.layout.dialog_text_view, container) + } + + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + super.onViewCreated(view, savedInstanceState) + tool_bar.setTitle(R.string.update_log) + text_view.post { + Markwon.create(requireContext()) + .setMarkdown( + text_view, + String(requireContext().assets.open("updateLog.md").readBytes()) + ) + } + } + + +} \ No newline at end of file diff --git a/app/src/main/java/io/legado/app/ui/changesource/ChangeSourceDialog.kt b/app/src/main/java/io/legado/app/ui/changesource/ChangeSourceDialog.kt index e25f2ef73..4be429d71 100644 --- a/app/src/main/java/io/legado/app/ui/changesource/ChangeSourceDialog.kt +++ b/app/src/main/java/io/legado/app/ui/changesource/ChangeSourceDialog.kt @@ -42,6 +42,13 @@ class ChangeSourceDialog : DialogFragment(), private lateinit var viewModel: ChangeSourceViewModel private lateinit var changeSourceAdapter: ChangeSourceAdapter + override fun onStart() { + super.onStart() + val dm = DisplayMetrics() + activity?.windowManager?.defaultDisplay?.getMetrics(dm) + dialog?.window?.setLayout((dm.widthPixels * 0.9).toInt(), (dm.heightPixels * 0.9).toInt()) + } + override fun onCreateView( inflater: LayoutInflater, container: ViewGroup?, @@ -73,13 +80,6 @@ class ChangeSourceDialog : DialogFragment(), viewModel.search() } - override fun onStart() { - super.onStart() - val dm = DisplayMetrics() - activity?.windowManager?.defaultDisplay?.getMetrics(dm) - dialog?.window?.setLayout((dm.widthPixels * 0.9).toInt(), (dm.heightPixels * 0.9).toInt()) - } - private fun showTitle() { tool_bar.title = viewModel.name tool_bar.subtitle = getString(R.string.author_show, viewModel.author) diff --git a/app/src/main/java/io/legado/app/ui/main/MainActivity.kt b/app/src/main/java/io/legado/app/ui/main/MainActivity.kt index 2919d52d3..e395b2deb 100644 --- a/app/src/main/java/io/legado/app/ui/main/MainActivity.kt +++ b/app/src/main/java/io/legado/app/ui/main/MainActivity.kt @@ -18,6 +18,7 @@ import io.legado.app.help.storage.Backup import io.legado.app.lib.theme.ATH import io.legado.app.service.BaseReadAloudService import io.legado.app.service.help.ReadAloud +import io.legado.app.ui.about.UpdateLog import io.legado.app.ui.main.bookshelf.BookshelfFragment import io.legado.app.ui.main.explore.ExploreFragment import io.legado.app.ui.main.my.MyFragment @@ -63,6 +64,9 @@ class MainActivity : VMBaseActivity(R.layout.activity_main), private fun upVersion() { if (getPrefInt("versionCode") != App.INSTANCE.versionCode) { putPrefInt("versionCode", App.INSTANCE.versionCode) + if (!BuildConfig.DEBUG) { + UpdateLog().show(supportFragmentManager, "updateLog") + } } } diff --git a/app/src/main/res/layout/dialog_text_view.xml b/app/src/main/res/layout/dialog_text_view.xml new file mode 100644 index 000000000..78a2eb70b --- /dev/null +++ b/app/src/main/res/layout/dialog_text_view.xml @@ -0,0 +1,24 @@ + + + + + + + + \ No newline at end of file diff --git a/build.gradle b/build.gradle index 8488e9c82..cb1547a01 100644 --- a/build.gradle +++ b/build.gradle @@ -1,7 +1,7 @@ // Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { - ext.kotlin_version = '1.3.60' + ext.kotlin_version = '1.3.61' repositories { google() jcenter()