diff --git a/app/build.gradle b/app/build.gradle index 55af945..3942c99 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -4,12 +4,12 @@ apply plugin: 'kotlin-android-extensions' android { defaultConfig { - compileSdk 33 + compileSdk 34 applicationId 'top.fumiama.copymanga' minSdkVersion 23 targetSdkVersion 33 - versionCode 36 - versionName '2.0.0' + versionCode 37 + versionName '2.0.1' resConfigs 'zh', 'zh-rCN' testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" @@ -55,15 +55,15 @@ android { } dependencies { - implementation 'androidx.core:core-ktx:1.9.0' - implementation 'androidx.appcompat:appcompat:1.5.1' + implementation 'androidx.core:core-ktx:1.12.0' + implementation 'androidx.appcompat:appcompat:1.6.1' implementation 'androidx.legacy:legacy-support-v4:1.0.0' - implementation 'com.google.android.material:material:1.7.0' + implementation 'com.google.android.material:material:1.10.0' implementation 'androidx.constraintlayout:constraintlayout:2.1.4' - implementation 'androidx.navigation:navigation-fragment-ktx:2.5.3' - implementation 'androidx.navigation:navigation-ui-ktx:2.5.3' + implementation 'androidx.navigation:navigation-fragment-ktx:2.7.4' + implementation 'androidx.navigation:navigation-ui-ktx:2.7.4' testImplementation 'junit:junit:4.13.2' - implementation "androidx.preference:preference-ktx:1.2.0" + implementation "androidx.preference:preference-ktx:1.2.1" implementation 'com.afollestad.material-dialogs:input:3.3.0' implementation 'com.github.yalantis:ucrop:2.2.6' implementation 'com.to.aboomy:pager2banner:1.0.1' diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 440a277..60d3dfe 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -23,8 +23,7 @@ diff --git a/app/src/main/java/top/fumiama/copymanga/MainActivity.kt b/app/src/main/java/top/fumiama/copymanga/MainActivity.kt index fa59b26..533eef7 100644 --- a/app/src/main/java/top/fumiama/copymanga/MainActivity.kt +++ b/app/src/main/java/top/fumiama/copymanga/MainActivity.kt @@ -41,9 +41,7 @@ import kotlinx.android.synthetic.main.activity_main.* import kotlinx.android.synthetic.main.app_bar_main.* import kotlinx.android.synthetic.main.nav_header_main.* import top.fumiama.copymanga.manga.Shelf -import top.fumiama.copymanga.tools.api.CMApi -import top.fumiama.dmzj.copymanga.R -import top.fumiama.copymanga.tools.api.UITools +import top.fumiama.copymanga.tools.ui.UITools import top.fumiama.copymanga.ui.book.BookFragment.Companion.bookHandler import top.fumiama.copymanga.ui.cardflow.rank.RankFragment import top.fumiama.copymanga.ui.comicdl.ComicDlFragment @@ -52,6 +50,7 @@ import top.fumiama.copymanga.ui.download.NewDownloadFragment import top.fumiama.copymanga.update.Update import top.fumiama.copymanga.user.Member import top.fumiama.dmzj.copymanga.BuildConfig +import top.fumiama.dmzj.copymanga.R import java.io.File import java.io.FileInputStream import java.lang.Thread.sleep diff --git a/app/src/main/java/top/fumiama/copymanga/template/general/ActivityTemplate.kt b/app/src/main/java/top/fumiama/copymanga/template/general/ActivityTemplate.kt index f5ee42e..d0738a3 100644 --- a/app/src/main/java/top/fumiama/copymanga/template/general/ActivityTemplate.kt +++ b/app/src/main/java/top/fumiama/copymanga/template/general/ActivityTemplate.kt @@ -4,7 +4,7 @@ import android.app.Activity import android.os.Bundle import android.view.View import androidx.core.content.edit -import top.fumiama.copymanga.tools.api.UITools +import top.fumiama.copymanga.tools.ui.UITools open class ActivityTemplate:Activity() { lateinit var toolsBox: UITools diff --git a/app/src/main/java/top/fumiama/copymanga/template/general/MangaPagesFragmentTemplate.kt b/app/src/main/java/top/fumiama/copymanga/template/general/MangaPagesFragmentTemplate.kt index fe36167..2e3809e 100644 --- a/app/src/main/java/top/fumiama/copymanga/template/general/MangaPagesFragmentTemplate.kt +++ b/app/src/main/java/top/fumiama/copymanga/template/general/MangaPagesFragmentTemplate.kt @@ -5,7 +5,6 @@ import android.content.Context import android.net.ConnectivityManager import android.net.NetworkCapabilities import android.os.Bundle -import android.util.JsonReader import android.util.Log import android.view.View import androidx.fragment.app.Fragment @@ -15,7 +14,7 @@ import kotlinx.android.synthetic.main.line_header.view.* import kotlinx.android.synthetic.main.line_lazybooklines.* import top.fumiama.copymanga.MainActivity import top.fumiama.copymanga.template.ui.CardList -import top.fumiama.copymanga.tools.api.UITools +import top.fumiama.copymanga.tools.ui.UITools import top.fumiama.dmzj.copymanga.R import java.lang.Thread.sleep import java.lang.ref.WeakReference diff --git a/app/src/main/java/top/fumiama/copymanga/template/ui/InfoCardLoader.kt b/app/src/main/java/top/fumiama/copymanga/template/ui/InfoCardLoader.kt index 429316d..f9f69bb 100644 --- a/app/src/main/java/top/fumiama/copymanga/template/ui/InfoCardLoader.kt +++ b/app/src/main/java/top/fumiama/copymanga/template/ui/InfoCardLoader.kt @@ -14,7 +14,7 @@ import top.fumiama.copymanga.json.ShelfStructure import top.fumiama.copymanga.json.TypeBookListStructure import top.fumiama.copymanga.template.general.MangaPagesFragmentTemplate import top.fumiama.copymanga.template.http.AutoDownloadThread -import top.fumiama.copymanga.tools.api.Navigate +import top.fumiama.copymanga.tools.ui.Navigate import java.lang.ref.WeakReference @ExperimentalStdlibApi diff --git a/app/src/main/java/top/fumiama/copymanga/tools/api/Font.kt b/app/src/main/java/top/fumiama/copymanga/tools/ui/Font.kt similarity index 92% rename from app/src/main/java/top/fumiama/copymanga/tools/api/Font.kt rename to app/src/main/java/top/fumiama/copymanga/tools/ui/Font.kt index 968c2ae..26e8b2c 100644 --- a/app/src/main/java/top/fumiama/copymanga/tools/api/Font.kt +++ b/app/src/main/java/top/fumiama/copymanga/tools/ui/Font.kt @@ -1,4 +1,4 @@ -package top.fumiama.copymanga.tools.api +package top.fumiama.copymanga.tools.ui import android.graphics.Typeface import androidx.core.content.res.ResourcesCompat diff --git a/app/src/main/java/top/fumiama/copymanga/tools/api/GlideBlurTransformation.kt b/app/src/main/java/top/fumiama/copymanga/tools/ui/GlideBlurTransformation.kt similarity index 98% rename from app/src/main/java/top/fumiama/copymanga/tools/api/GlideBlurTransformation.kt rename to app/src/main/java/top/fumiama/copymanga/tools/ui/GlideBlurTransformation.kt index 810880c..53c5a5f 100644 --- a/app/src/main/java/top/fumiama/copymanga/tools/api/GlideBlurTransformation.kt +++ b/app/src/main/java/top/fumiama/copymanga/tools/ui/GlideBlurTransformation.kt @@ -1,4 +1,4 @@ -package top.fumiama.copymanga.tools.api +package top.fumiama.copymanga.tools.ui import android.content.Context import android.graphics.Bitmap diff --git a/app/src/main/java/top/fumiama/copymanga/tools/api/Navigate.kt b/app/src/main/java/top/fumiama/copymanga/tools/ui/Navigate.kt similarity index 88% rename from app/src/main/java/top/fumiama/copymanga/tools/api/Navigate.kt rename to app/src/main/java/top/fumiama/copymanga/tools/ui/Navigate.kt index d6103f9..5de1cd6 100644 --- a/app/src/main/java/top/fumiama/copymanga/tools/api/Navigate.kt +++ b/app/src/main/java/top/fumiama/copymanga/tools/ui/Navigate.kt @@ -1,4 +1,4 @@ -package top.fumiama.copymanga.tools.api +package top.fumiama.copymanga.tools.ui import android.os.Bundle import androidx.navigation.NavController diff --git a/app/src/main/java/top/fumiama/copymanga/tools/api/UITools.kt b/app/src/main/java/top/fumiama/copymanga/tools/ui/UITools.kt similarity index 99% rename from app/src/main/java/top/fumiama/copymanga/tools/api/UITools.kt rename to app/src/main/java/top/fumiama/copymanga/tools/ui/UITools.kt index 59f6f57..ee0ed46 100644 --- a/app/src/main/java/top/fumiama/copymanga/tools/api/UITools.kt +++ b/app/src/main/java/top/fumiama/copymanga/tools/ui/UITools.kt @@ -1,4 +1,4 @@ -package top.fumiama.copymanga.tools.api +package top.fumiama.copymanga.tools.ui import android.app.Activity import android.app.AlertDialog diff --git a/app/src/main/java/top/fumiama/copymanga/ui/book/BookFragment.kt b/app/src/main/java/top/fumiama/copymanga/ui/book/BookFragment.kt index a9e8664..7fea6a9 100644 --- a/app/src/main/java/top/fumiama/copymanga/ui/book/BookFragment.kt +++ b/app/src/main/java/top/fumiama/copymanga/ui/book/BookFragment.kt @@ -15,7 +15,7 @@ import top.fumiama.copymanga.MainActivity.Companion.mainWeakReference import top.fumiama.copymanga.json.VolumeStructure import top.fumiama.copymanga.manga.Reader import top.fumiama.copymanga.template.general.NoBackRefreshFragment -import top.fumiama.copymanga.tools.api.Navigate +import top.fumiama.copymanga.tools.ui.Navigate import top.fumiama.copymanga.ui.comicdl.ComicDlFragment import top.fumiama.dmzj.copymanga.R import java.io.File diff --git a/app/src/main/java/top/fumiama/copymanga/ui/book/BookHandler.kt b/app/src/main/java/top/fumiama/copymanga/ui/book/BookHandler.kt index 10e4d2b..e423266 100644 --- a/app/src/main/java/top/fumiama/copymanga/ui/book/BookHandler.kt +++ b/app/src/main/java/top/fumiama/copymanga/ui/book/BookHandler.kt @@ -23,7 +23,6 @@ import kotlinx.android.synthetic.main.line_bookinfo.* import kotlinx.android.synthetic.main.line_bookinfo_text.* import kotlinx.android.synthetic.main.line_caption.view.* import kotlinx.android.synthetic.main.line_chapter.view.* -import top.fumiama.copymanga.MainActivity import top.fumiama.copymanga.MainActivity.Companion.mainWeakReference import top.fumiama.copymanga.json.BookInfoStructure import top.fumiama.copymanga.json.ChapterStructure @@ -33,8 +32,8 @@ import top.fumiama.copymanga.manga.Reader import top.fumiama.copymanga.template.http.AutoDownloadHandler import top.fumiama.copymanga.template.http.AutoDownloadThread import top.fumiama.copymanga.tools.api.CMApi -import top.fumiama.copymanga.tools.api.GlideBlurTransformation -import top.fumiama.copymanga.tools.api.Navigate +import top.fumiama.copymanga.tools.ui.GlideBlurTransformation +import top.fumiama.copymanga.tools.ui.Navigate import top.fumiama.copymanga.ui.comicdl.ComicDlFragment import top.fumiama.copymanga.ui.comicdl.ComicDlFragment.Companion.json import top.fumiama.copymanga.ui.vm.ViewMangaActivity diff --git a/app/src/main/java/top/fumiama/copymanga/ui/cardflow/rank/RankFragment.kt b/app/src/main/java/top/fumiama/copymanga/ui/cardflow/rank/RankFragment.kt index b816af5..0a52dc7 100644 --- a/app/src/main/java/top/fumiama/copymanga/ui/cardflow/rank/RankFragment.kt +++ b/app/src/main/java/top/fumiama/copymanga/ui/cardflow/rank/RankFragment.kt @@ -7,8 +7,7 @@ import kotlinx.android.synthetic.main.line_rank.view.* import top.fumiama.copymanga.MainActivity import top.fumiama.copymanga.template.ui.InfoCardLoader import top.fumiama.copymanga.tools.api.CMApi -import top.fumiama.copymanga.tools.api.UITools -import top.fumiama.copymanga.ui.download.NewDownloadFragment +import top.fumiama.copymanga.tools.ui.UITools import top.fumiama.dmzj.copymanga.R import java.lang.Thread.sleep import java.lang.ref.WeakReference diff --git a/app/src/main/java/top/fumiama/copymanga/ui/comicdl/ComicDlHandler.kt b/app/src/main/java/top/fumiama/copymanga/ui/comicdl/ComicDlHandler.kt index caa6513..143a54f 100644 --- a/app/src/main/java/top/fumiama/copymanga/ui/comicdl/ComicDlHandler.kt +++ b/app/src/main/java/top/fumiama/copymanga/ui/comicdl/ComicDlHandler.kt @@ -26,7 +26,7 @@ import top.fumiama.copymanga.json.ComicStructureOld import top.fumiama.copymanga.json.VolumeStructure import top.fumiama.copymanga.tools.api.CMApi import top.fumiama.copymanga.manga.MangaDlTools -import top.fumiama.copymanga.tools.api.UITools +import top.fumiama.copymanga.tools.ui.UITools import top.fumiama.copymanga.ui.comicdl.ComicDlFragment.Companion.json import top.fumiama.copymanga.ui.vm.ViewMangaActivity import top.fumiama.copymanga.views.ChapterToggleButton diff --git a/app/src/main/java/top/fumiama/copymanga/ui/download/DownloadFragment.kt b/app/src/main/java/top/fumiama/copymanga/ui/download/DownloadFragment.kt index ae75ea1..2c0bfe3 100644 --- a/app/src/main/java/top/fumiama/copymanga/ui/download/DownloadFragment.kt +++ b/app/src/main/java/top/fumiama/copymanga/ui/download/DownloadFragment.kt @@ -12,7 +12,7 @@ import kotlinx.android.synthetic.main.app_bar_main.* import kotlinx.android.synthetic.main.fragment_download.* import top.fumiama.copymanga.MainActivity.Companion.mainWeakReference import top.fumiama.copymanga.template.general.NoBackRefreshFragment -import top.fumiama.copymanga.tools.api.Navigate +import top.fumiama.copymanga.tools.ui.Navigate import top.fumiama.copymanga.tools.file.FileUtils import top.fumiama.copymanga.ui.comicdl.ComicDlFragment import top.fumiama.copymanga.ui.vm.ViewMangaActivity @@ -31,7 +31,7 @@ class DownloadFragment: NoBackRefreshFragment(R.layout.fragment_download) { } } - private fun scanFile(cd: File?){ + private fun scanFile(cd: File?) { val isRoot = cd == context?.getExternalFilesDir("") val jsonFile = File(cd, "info.bin") if(isRoot || !jsonFile.exists()) cd?.list()?.sortedArrayWith { o1, o2 -> diff --git a/app/src/main/java/top/fumiama/copymanga/ui/download/NewDownloadFragment.kt b/app/src/main/java/top/fumiama/copymanga/ui/download/NewDownloadFragment.kt index 7d4504c..f75704c 100644 --- a/app/src/main/java/top/fumiama/copymanga/ui/download/NewDownloadFragment.kt +++ b/app/src/main/java/top/fumiama/copymanga/ui/download/NewDownloadFragment.kt @@ -1,20 +1,18 @@ package top.fumiama.copymanga.ui.download -import android.app.Activity import android.app.AlertDialog import android.os.Bundle import android.util.Log import android.view.View import androidx.fragment.app.Fragment import androidx.navigation.fragment.findNavController -import com.google.gson.Gson import kotlinx.android.synthetic.main.line_lazybooklines.* import top.fumiama.copymanga.MainActivity import top.fumiama.copymanga.manga.Reader import top.fumiama.copymanga.template.general.MangaPagesFragmentTemplate import top.fumiama.copymanga.template.ui.CardList -import top.fumiama.copymanga.tools.api.Navigate -import top.fumiama.copymanga.tools.api.UITools +import top.fumiama.copymanga.tools.ui.Navigate +import top.fumiama.copymanga.tools.ui.UITools import top.fumiama.copymanga.tools.file.FileUtils import top.fumiama.copymanga.ui.comicdl.ComicDlFragment import top.fumiama.dmzj.copymanga.R @@ -53,6 +51,10 @@ class NewDownloadFragment: MangaPagesFragmentTemplate(R.layout.fragment_newdownl override fun addPage() { super.addPage() + if(isRefresh){ + page = 0 + isRefresh = false + } if(!isEnd) { if(sortedBookList == null || isContentChanged) { Log.d("MyNDF", "Sorting books...") @@ -67,6 +69,7 @@ class NewDownloadFragment: MangaPagesFragmentTemplate(R.layout.fragment_newdownl } Log.d("MyNDF", "Start drawing cards") cardList?.addCard(oldDlCardName, path = oldDlCardName) + var cnt = 1 sortedBookList?.let { for(i in it.listIterator(page)) { if(cardList?.exitCardList != false) return @@ -79,8 +82,10 @@ class NewDownloadFragment: MangaPagesFragmentTemplate(R.layout.fragment_newdownl newJson.exists() -> { if(cardList?.exitCardList != false) return cardList?.addCard(i.name, "\n${bookSize}MB") + cnt++ } } + if (cnt >= 21) break } if(page >= it.size) { isEnd = true diff --git a/app/src/main/java/top/fumiama/copymanga/ui/home/HomeFragment.kt b/app/src/main/java/top/fumiama/copymanga/ui/home/HomeFragment.kt index 6a60145..50c039b 100644 --- a/app/src/main/java/top/fumiama/copymanga/ui/home/HomeFragment.kt +++ b/app/src/main/java/top/fumiama/copymanga/ui/home/HomeFragment.kt @@ -29,7 +29,7 @@ import top.fumiama.copymanga.json.BookListStructure import top.fumiama.copymanga.template.general.NoBackRefreshFragment import top.fumiama.copymanga.template.http.AutoDownloadThread import top.fumiama.copymanga.tools.api.CMApi -import top.fumiama.copymanga.tools.api.Navigate +import top.fumiama.copymanga.tools.ui.Navigate import top.fumiama.dmzj.copymanga.R import java.lang.Thread.sleep import java.lang.ref.WeakReference @@ -91,7 +91,7 @@ class HomeFragment : NoBackRefreshFragment(R.layout.fragment_home) { var i = 0 override fun onMicClick() { val typeNames = resources.getStringArray(R.array.search_types) - AlertDialog.Builder(ContextThemeWrapper(context, R.style.AlertDialogTheme)) + AlertDialog.Builder(context) .setTitle(R.string.set_search_types) .setIcon(R.mipmap.ic_launcher) .setSingleChoiceItems(ArrayAdapter(context, R.layout.line_choice_list, typeNames), i){ d, p -> @@ -137,7 +137,7 @@ class HomeFragment : NoBackRefreshFragment(R.layout.fragment_home) { super.onCreate(savedInstanceState) val tb = mainWeakReference?.get()?.toolsBox val netInfo = tb?.netInfo - if(netInfo != null && netInfo != tb.transportStringNull && netInfo != tb.transportStringError)Thread { + if(netInfo != null && netInfo != tb.transportStringNull && netInfo != tb.transportStringError) Thread { val l = MainActivity.member?.refreshAvatar() if (l?.code != 200) { MainActivity.member?.logout() diff --git a/app/src/main/java/top/fumiama/copymanga/ui/home/HomeHandler.kt b/app/src/main/java/top/fumiama/copymanga/ui/home/HomeHandler.kt index 6438706..73c054c 100644 --- a/app/src/main/java/top/fumiama/copymanga/ui/home/HomeHandler.kt +++ b/app/src/main/java/top/fumiama/copymanga/ui/home/HomeHandler.kt @@ -12,7 +12,6 @@ import android.widget.LinearLayout import android.widget.Toast import androidx.cardview.widget.CardView import androidx.constraintlayout.widget.ConstraintLayout -import androidx.navigation.Navigation import androidx.navigation.fragment.findNavController import com.bumptech.glide.Glide import com.bumptech.glide.load.model.GlideUrl @@ -22,14 +21,13 @@ import com.to.aboomy.pager2banner.ScaleInTransformer import kotlinx.android.synthetic.main.card_book.view.* import kotlinx.android.synthetic.main.fragment_home.* import kotlinx.android.synthetic.main.line_1bookline.view.* -import top.fumiama.copymanga.MainActivity.Companion.mainWeakReference import top.fumiama.dmzj.copymanga.R import top.fumiama.copymanga.json.ComicStructure import top.fumiama.copymanga.json.IndexStructure import top.fumiama.copymanga.template.http.AutoDownloadHandler import top.fumiama.copymanga.tools.api.CMApi -import top.fumiama.copymanga.tools.api.Navigate -import top.fumiama.copymanga.tools.api.UITools +import top.fumiama.copymanga.tools.ui.Navigate +import top.fumiama.copymanga.tools.ui.UITools import java.lang.Thread.sleep import java.lang.ref.WeakReference diff --git a/app/src/main/java/top/fumiama/copymanga/ui/settings/SettingsFragment.kt b/app/src/main/java/top/fumiama/copymanga/ui/settings/SettingsFragment.kt index a12f54f..420c650 100644 --- a/app/src/main/java/top/fumiama/copymanga/ui/settings/SettingsFragment.kt +++ b/app/src/main/java/top/fumiama/copymanga/ui/settings/SettingsFragment.kt @@ -1,13 +1,68 @@ package top.fumiama.copymanga.ui.settings -import android.content.SharedPreferences +import android.animation.ObjectAnimator +import android.graphics.Rect import android.os.Bundle +import android.util.Log +import android.view.Window +import androidx.annotation.Keep +import androidx.preference.EditTextPreference +import androidx.preference.EditTextPreferenceDialogFragmentCompat +import androidx.preference.Preference import androidx.preference.PreferenceFragmentCompat -import androidx.preference.PreferenceManager import top.fumiama.dmzj.copymanga.R +import java.lang.Thread.sleep class SettingsFragment: PreferenceFragmentCompat() { override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) { setPreferencesFromResource(R.xml.pref_setting, rootKey) } + + override fun onDisplayPreferenceDialog(preference: Preference) { + if (preference is EditTextPreference) { + Log.d("MySF", "preference is EditTextPreference") + val f = EditTextPreferenceDialogFragmentCompat.newInstance(preference.key) + f.setTargetFragment(this, 0) + f.show(parentFragmentManager, null) + Thread { + var diff = 0 + var cnt = 0 + while (diff == 0 && cnt++ < 20) { + sleep(50) + if (f.dialog == null) continue + val v = view?:return@Thread + // https://github.com/mikepenz/MaterialDrawer/blob/aa9136fb4f5b3a80460fe5f47213985026d20c88/library/src/main/java/com/mikepenz/materialdrawer/util/KeyboardUtil.java + val r = Rect() + //r will be populated with the coordinates of your view that area still visible. + v.getWindowVisibleDisplayFrame(r) + //get screen height and calculate the difference with the useable area from the r + val height = v.context.resources.displayMetrics.heightPixels + diff = height - r.bottom + Log.d("MySF", "diff: $diff") + } + Log.d("MySF", "diff out while: $diff") + if (diff == 0) return@Thread + Log.d("MySF", "f.dialog is ${f.dialog}") + f.activity?.runOnUiThread { + f.dialog?.window?.apply { + val attr = attributes + Log.d("MySF", "animate from ${attr.y} to ${attr.y-diff/2}") + ObjectAnimator.ofInt(WindowAttributeSetter(this), "y", attr.y, attr.y-diff/2).setDuration(233).start() + } + } + }.start() + return + } + super.onDisplayPreferenceDialog(preference) + } + + inner class WindowAttributeSetter(private val window: Window) { + @Keep + fun setY(y: Int) { + val attr = window.attributes + attr.y = y + Log.d("MySF", "set y to $y") + window.attributes = attr + } + } } diff --git a/app/src/main/java/top/fumiama/copymanga/ui/vm/ViewMangaActivity.kt b/app/src/main/java/top/fumiama/copymanga/ui/vm/ViewMangaActivity.kt index 3dbc37a..aeca3da 100644 --- a/app/src/main/java/top/fumiama/copymanga/ui/vm/ViewMangaActivity.kt +++ b/app/src/main/java/top/fumiama/copymanga/ui/vm/ViewMangaActivity.kt @@ -3,14 +3,11 @@ package top.fumiama.copymanga.ui.vm import android.animation.ObjectAnimator import android.annotation.SuppressLint import android.app.Service -import android.content.Context -import android.content.res.Resources import android.graphics.Bitmap import android.graphics.BitmapFactory import android.graphics.Canvas import android.graphics.Paint import android.graphics.drawable.BitmapDrawable -import android.graphics.drawable.Drawable import android.media.AudioManager import android.os.Bundle import android.os.Handler @@ -42,7 +39,7 @@ import top.fumiama.dmzj.copymanga.R import top.fumiama.copymanga.template.general.TitleActivityTemplate import top.fumiama.copymanga.template.http.AutoDownloadThread import top.fumiama.copymanga.tools.api.CMApi -import top.fumiama.copymanga.tools.api.Font +import top.fumiama.copymanga.tools.ui.Font import top.fumiama.copymanga.tools.http.DownloadTools import top.fumiama.copymanga.tools.thread.TimeThread import top.fumiama.copymanga.views.ScaleImageView @@ -140,7 +137,7 @@ class ViewMangaActivity : TitleActivityTemplate() { else { window.setDecorFitsSystemWindows(false) window.insetsController?.hide(WindowInsets.Type.statusBars()) - //window.insetsController?.hide(WindowInsets.Type.navigationBars()) + window.insetsController?.hide(WindowInsets.Type.navigationBars()) } } diff --git a/app/src/main/java/top/fumiama/copymanga/update/Update.kt b/app/src/main/java/top/fumiama/copymanga/update/Update.kt index 547640c..14b42a4 100644 --- a/app/src/main/java/top/fumiama/copymanga/update/Update.kt +++ b/app/src/main/java/top/fumiama/copymanga/update/Update.kt @@ -10,7 +10,7 @@ import android.widget.Toast import androidx.core.content.FileProvider import androidx.core.content.edit import kotlinx.android.synthetic.main.dialog_progress.view.* -import top.fumiama.copymanga.tools.api.UITools +import top.fumiama.copymanga.tools.ui.UITools import top.fumiama.dmzj.copymanga.BuildConfig import top.fumiama.dmzj.copymanga.R import java.io.File diff --git a/app/src/main/java/top/fumiama/copymanga/user/Member.kt b/app/src/main/java/top/fumiama/copymanga/user/Member.kt index 0046645..6c86768 100644 --- a/app/src/main/java/top/fumiama/copymanga/user/Member.kt +++ b/app/src/main/java/top/fumiama/copymanga/user/Member.kt @@ -41,13 +41,20 @@ class Member(private val pref: SharedPreferences, private val getString: (Int) - } fun refreshAvatar() : LoginInfoStructure { - DownloadTools.getHttpContent(getString(R.string.memberInfoApiUrl).format( - CMApi.myHostApiUrl))?.decodeToString()?.let { - val l = Gson().fromJson(it, LoginInfoStructure::class.java) - if(l.code == 200) pref.edit()?.apply { - putString("avatar", l.results.avatar) - apply() + try { + DownloadTools.getHttpContent(getString(R.string.memberInfoApiUrl).format( + CMApi.myHostApiUrl))?.decodeToString()?.let { + val l = Gson().fromJson(it, LoginInfoStructure::class.java) + if(l.code == 200) pref.edit()?.apply { + putString("avatar", l.results.avatar) + apply() + } + return l } + } catch (e: Exception) { + val l = LoginInfoStructure() + l.code = 400 + l.message = "${getString(R.string.login_get_avatar_failed)}: ${e.localizedMessage}" return l } val l = LoginInfoStructure() diff --git a/app/src/main/java/top/fumiama/copymanga/views/ScaleImageView.kt b/app/src/main/java/top/fumiama/copymanga/views/ScaleImageView.kt index c9cb265..85042c5 100644 --- a/app/src/main/java/top/fumiama/copymanga/views/ScaleImageView.kt +++ b/app/src/main/java/top/fumiama/copymanga/views/ScaleImageView.kt @@ -646,7 +646,7 @@ class ScaleImageView : ImageView { private val mGestureDetector = GestureDetector(this.context, object : SimpleOnGestureListener() { override fun onFling( - e1: MotionEvent, + e1: MotionEvent?, e2: MotionEvent, velocityX: Float, velocityY: Float @@ -657,7 +657,7 @@ class ScaleImageView : ImageView { fling(velocityX, velocityY) //parent.requestDisallowInterceptTouchEvent(false) //触摸事件请求取消拦截 } - return true + return super.onFling(e1, e2, velocityX, velocityY) } override fun onLongPress(e: MotionEvent) { diff --git a/app/src/main/res/layout/app_bar_main.xml b/app/src/main/res/layout/app_bar_main.xml index d6e57e2..b8da36a 100644 --- a/app/src/main/res/layout/app_bar_main.xml +++ b/app/src/main/res/layout/app_bar_main.xml @@ -17,7 +17,7 @@ android:layout_width="match_parent" android:layout_height="16dp" android:background="?attr/colorPrimarySurface" - android:visibility="gone" + android:visibility="visible" app:layout_scrollFlags="scroll|enterAlways" /> + android:nestedScrollingEnabled="true" + android:paddingBottom="@dimen/global_content_padding_bottom"/> diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index d6274d3..23d1c42 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -33,6 +33,4 @@ - -