mirror of
https://github.com/fumiama/copymanga.git
synced 2026-06-09 17:50:28 +08:00
v2.0.1
修复 1. 漫画下载页加载不全 2. 高版本安卓(>=11)阅览漫画无法隐藏导航栏 3. 主页设置搜索类别永为暗色 4. 获取头像失败则闪退 优化 1. 恢复沉浸式状态栏 2. 升级组件库
This commit is contained in:
@@ -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'
|
||||
|
||||
@@ -23,8 +23,7 @@
|
||||
</provider>
|
||||
<activity
|
||||
android:name="top.fumiama.copymanga.MainActivity"
|
||||
android:label="@string/app_name"
|
||||
android:theme="@style/AppTheme.Default"
|
||||
android:theme="@style/AppTheme.NoActionBar"
|
||||
android:exported="true">
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.MAIN" />
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
@@ -1,4 +1,4 @@
|
||||
package top.fumiama.copymanga.tools.api
|
||||
package top.fumiama.copymanga.tools.ui
|
||||
|
||||
import android.content.Context
|
||||
import android.graphics.Bitmap
|
||||
@@ -1,4 +1,4 @@
|
||||
package top.fumiama.copymanga.tools.api
|
||||
package top.fumiama.copymanga.tools.ui
|
||||
|
||||
import android.os.Bundle
|
||||
import androidx.navigation.NavController
|
||||
@@ -1,4 +1,4 @@
|
||||
package top.fumiama.copymanga.tools.api
|
||||
package top.fumiama.copymanga.tools.ui
|
||||
|
||||
import android.app.Activity
|
||||
import android.app.AlertDialog
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 ->
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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())
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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" />
|
||||
|
||||
<androidx.appcompat.widget.Toolbar
|
||||
|
||||
@@ -3,4 +3,5 @@
|
||||
android:id="@+id/mylv"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:nestedScrollingEnabled="true" />
|
||||
android:nestedScrollingEnabled="true"
|
||||
android:paddingBottom="@dimen/global_content_padding_bottom"/>
|
||||
|
||||
@@ -33,6 +33,4 @@
|
||||
<style name="Widget.MPM.Menu.Dark.CustomBackground">
|
||||
<item name="android:colorBackground">?attr/colorSurface</item>
|
||||
</style>
|
||||
|
||||
<style name="AlertDialogTheme" parent="Theme.MaterialComponents.Dialog.Alert"/>
|
||||
</resources>
|
||||
Reference in New Issue
Block a user