diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..26d3352 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,3 @@ +# Default ignored files +/shelf/ +/workspace.xml diff --git a/.idea/codeStyles/Project.xml b/.idea/codeStyles/Project.xml new file mode 100644 index 0000000..7643783 --- /dev/null +++ b/.idea/codeStyles/Project.xml @@ -0,0 +1,123 @@ + + + + + + + + + + \ No newline at end of file diff --git a/.idea/codeStyles/codeStyleConfig.xml b/.idea/codeStyles/codeStyleConfig.xml new file mode 100644 index 0000000..79ee123 --- /dev/null +++ b/.idea/codeStyles/codeStyleConfig.xml @@ -0,0 +1,5 @@ + + + + \ No newline at end of file diff --git a/.idea/deploymentTargetDropDown.xml b/.idea/deploymentTargetDropDown.xml new file mode 100644 index 0000000..0c0c338 --- /dev/null +++ b/.idea/deploymentTargetDropDown.xml @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/.idea/gradle.xml b/.idea/gradle.xml index ce86a83..804e304 100644 --- a/.idea/gradle.xml +++ b/.idea/gradle.xml @@ -4,8 +4,6 @@ diff --git a/.idea/kotlinc.xml b/.idea/kotlinc.xml new file mode 100644 index 0000000..7e340a7 --- /dev/null +++ b/.idea/kotlinc.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/.idea/migrations.xml b/.idea/migrations.xml new file mode 100644 index 0000000..f8051a6 --- /dev/null +++ b/.idea/migrations.xml @@ -0,0 +1,10 @@ + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..23d370e --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/app/src/main/java/soko/ekibun/bangumi/api/bangumi/bean/Subject.kt b/app/src/main/java/soko/ekibun/bangumi/api/bangumi/bean/Subject.kt index 0f581f5..0c4f82e 100644 --- a/app/src/main/java/soko/ekibun/bangumi/api/bangumi/bean/Subject.kt +++ b/app/src/main/java/soko/ekibun/bangumi/api/bangumi/bean/Subject.kt @@ -281,7 +281,7 @@ data class Subject( it.selectFirst("span")?.text() ?: "", it.selectFirst("small")?.text()?.toIntOrNull() ?: 0 ) - } + }?.filter { it.first != "" } } SaxTag.COLLECTION -> { subject.collection = doc.select("#subjectPanelCollect .tip_i a") diff --git a/app/src/main/java/soko/ekibun/bangumi/api/bangumi/bean/Topic.kt b/app/src/main/java/soko/ekibun/bangumi/api/bangumi/bean/Topic.kt index b499621..9b438bf 100644 --- a/app/src/main/java/soko/ekibun/bangumi/api/bangumi/bean/Topic.kt +++ b/app/src/main/java/soko/ekibun/bangumi/api/bangumi/bean/Topic.kt @@ -128,6 +128,7 @@ data class Topic( } ) var beginString = "" + var isReplyBox = false; var replyCount = -2 val posts = ConcurrentLinkedQueue() var finishFirst = false @@ -140,13 +141,14 @@ data class Topic( } else null to ApiHelper.SaxEventType.NOTHING } attrs.contains("reply_wrapper") -> { + replyCount++ + isReplyBox = true replyCount to ApiHelper.SaxEventType.BEGIN } else -> null to ApiHelper.SaxEventType.NOTHING } }) { tag, str -> if (tag is Int && tag < 0) { - beginString = str val doc = Jsoup.parseBodyFragment(str) doc.outputSettings().prettyPrint(false) @@ -181,6 +183,9 @@ data class Topic( withContext(Dispatchers.Main) { onHeader() } } } else { + if(beginString == "" && isReplyBox) { + beginString = str + } val post = parsePost(str) posts.addAll(post) while (tag is Int && tag != 0 && !finishFirst) delay(100) diff --git a/app/src/main/java/soko/ekibun/bangumi/api/github/Github.kt b/app/src/main/java/soko/ekibun/bangumi/api/github/Github.kt index 1898077..9475218 100644 --- a/app/src/main/java/soko/ekibun/bangumi/api/github/Github.kt +++ b/app/src/main/java/soko/ekibun/bangumi/api/github/Github.kt @@ -32,7 +32,7 @@ object Github { } } - private const val RAW_SERVER_API = "https://ghproxy.com/https://raw.githubusercontent.com" + private const val RAW_SERVER_API = "https://raw.githubusercontent.com" /** * 时间表 diff --git a/app/src/main/java/soko/ekibun/bangumi/model/ThemeModel.kt b/app/src/main/java/soko/ekibun/bangumi/model/ThemeModel.kt index 81b481b..99388a7 100644 --- a/app/src/main/java/soko/ekibun/bangumi/model/ThemeModel.kt +++ b/app/src/main/java/soko/ekibun/bangumi/model/ThemeModel.kt @@ -71,6 +71,8 @@ object ThemeModel { window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS) val color = ResourceUtil.resolveColorAttr(context, android.R.attr.colorBackground) window.navigationBarColor = Color.argb(200, Color.red(color), Color.green(color), Color.blue(color)) + if (Build.VERSION.SDK_INT < 28) return + window.attributes.layoutInDisplayCutoutMode = WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES } diff --git a/app/src/main/java/soko/ekibun/bangumi/ui/main/DrawerView.kt b/app/src/main/java/soko/ekibun/bangumi/ui/main/DrawerView.kt index ba3340e..5cc7708 100644 --- a/app/src/main/java/soko/ekibun/bangumi/ui/main/DrawerView.kt +++ b/app/src/main/java/soko/ekibun/bangumi/ui/main/DrawerView.kt @@ -8,7 +8,11 @@ import android.view.MenuItem import androidx.appcompat.app.ActionBarDrawerToggle import androidx.core.view.ViewCompat import androidx.core.view.children -import kotlinx.android.synthetic.main.activity_main.* +import kotlinx.android.synthetic.main.activity_main.content_frame +import kotlinx.android.synthetic.main.activity_main.drawer_layout +import kotlinx.android.synthetic.main.activity_main.nav_view +import kotlinx.android.synthetic.main.activity_main.root_layout +import kotlinx.android.synthetic.main.activity_main.toolbar import soko.ekibun.bangumi.R import soko.ekibun.bangumi.ui.main.fragment.DrawerFragment import soko.ekibun.bangumi.ui.main.fragment.calendar.CalendarFragment @@ -81,7 +85,7 @@ class DrawerView(private val context: MainActivity, onLogout: () -> Unit) { context.content_frame.children.forEach { v -> v.onApplyWindowInsets(insets.replaceSystemWindowInsets(0, 0, 0, insets.systemWindowInsetBottom)) } - insets.consumeSystemWindowInsets() + insets } context.nav_view.setNavigationItemSelectedListener { diff --git a/app/src/main/java/soko/ekibun/bangumi/ui/setting/SettingsActivity.kt b/app/src/main/java/soko/ekibun/bangumi/ui/setting/SettingsActivity.kt index f545398..1f7728c 100644 --- a/app/src/main/java/soko/ekibun/bangumi/ui/setting/SettingsActivity.kt +++ b/app/src/main/java/soko/ekibun/bangumi/ui/setting/SettingsActivity.kt @@ -9,7 +9,11 @@ import android.view.ViewGroup import android.widget.RelativeLayout import androidx.appcompat.app.AlertDialog import androidx.fragment.app.Fragment -import androidx.preference.* +import androidx.preference.ListPreference +import androidx.preference.Preference +import androidx.preference.PreferenceCategory +import androidx.preference.PreferenceFragmentCompat +import androidx.preference.PreferenceScreen import soko.ekibun.bangumi.App import soko.ekibun.bangumi.BuildConfig import soko.ekibun.bangumi.R @@ -19,7 +23,6 @@ import soko.ekibun.bangumi.ui.view.BaseFragmentActivity import soko.ekibun.bangumi.ui.web.WebActivity import soko.ekibun.bangumi.util.AppUtil import soko.ekibun.bangumi.util.PluginPreference -import java.net.URLEncoder /** * 设置Activity @@ -165,20 +168,6 @@ class SettingsActivity : BaseFragmentActivity(), PreferenceFragmentCompat.OnPref "github_page" -> activity?.let { WebActivity.launchUrl(it, "https://github.com/ekibun/Bangumi", "") } - "pref_alipay" -> activity?.startActivity( - Intent.createChooser( - Intent.parseUri( - "intent://platformapi/startapp?saId=10000007&" + - "qrcode=" + URLEncoder.encode( - "https://qr.alipay.com/fkx192410t0bnuwmwawdaa4", - "utf-8" - ) + - "#Intent;scheme=alipayqr;package=com.eg.android.AlipayGphone;end", - Intent.URI_INTENT_SCHEME - ), - "buy me a coffee" - ) - ) } return super.onPreferenceTreeClick(preference) diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index db58023..3490007 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -294,11 +294,4 @@ 历史记录 清空历史记录 关于 - - -一转眼,app已经两岁了,是开坑之后持续最久的项目了。起初是想借助Bangumi的api整合各个资源站的数据,没想到写着写着变成了Bangumi第三方客户端。\n -\n两年来,通过这个项目认识了Bangumi,也认识了一些友商dalao,项目也成了日常摸鱼和脑洞的试验场。一路下来很有趣,所以也会坚持写下去。当然,由于垃圾原生和自己技术的问题,新功能肯定没有隔壁友商加的快。\n -\n最后,欢迎各种建议、欢迎STAR,欢迎投食!\n - - 2020-03-13 diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index 19d37c1..39d61d8 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -6,7 +6,6 @@ @color/colorAccent @color/colorPrimary @color/colorAccent - true diff --git a/app/src/main/res/xml/app_preferences.xml b/app/src/main/res/xml/app_preferences.xml index d8cec36..5ebec0f 100644 --- a/app/src/main/res/xml/app_preferences.xml +++ b/app/src/main/res/xml/app_preferences.xml @@ -120,21 +120,5 @@ app:key="check_update_now" app:title="检查更新"/> - - - - - \ No newline at end of file