diff --git a/app/src/main/java/com/huanchengfly/tieba/post/activities/ThreadActivity.kt b/app/src/main/java/com/huanchengfly/tieba/post/activities/ThreadActivity.kt index fdcf703d..636b2ccd 100644 --- a/app/src/main/java/com/huanchengfly/tieba/post/activities/ThreadActivity.kt +++ b/app/src/main/java/com/huanchengfly/tieba/post/activities/ThreadActivity.kt @@ -353,6 +353,7 @@ class ThreadActivity : BaseActivity(), View.OnClickListener, IThreadMenuFragment refreshTitle() preload() refreshAdapter() + updateHistory(true) } private fun refreshAdapter() { @@ -613,7 +614,7 @@ class ThreadActivity : BaseActivity(), View.OnClickListener, IThreadMenuFragment if (!update) Util.miuiFav(this, getString(R.string.title_miui_fav, dataBean!!.thread?.title), url) } - override fun finish() { + private fun updateHistory(async: Boolean = false) { if (dataBean != null && dataBean!!.thread != null) { val postListItemBean = lastVisibleItem var extras = "" @@ -632,8 +633,12 @@ class ThreadActivity : BaseActivity(), View.OnClickListener, IThreadMenuFragment history.avatar = dataBean!!.thread?.author?.portrait history.username = dataBean!!.thread?.author?.nameShow } - HistoryUtil.writeHistory(history) + HistoryUtil.writeHistory(history, async) } + } + + override fun finish() { + updateHistory() super.finish() } diff --git a/app/src/main/java/com/huanchengfly/tieba/post/utils/HistoryUtil.java b/app/src/main/java/com/huanchengfly/tieba/post/utils/HistoryUtil.java index c7f72a3f..2164d14d 100644 --- a/app/src/main/java/com/huanchengfly/tieba/post/utils/HistoryUtil.java +++ b/app/src/main/java/com/huanchengfly/tieba/post/utils/HistoryUtil.java @@ -19,7 +19,11 @@ public final class HistoryUtil { } public static void writeHistory(History history) { - add(history); + writeHistory(history, false); + } + + public static void writeHistory(History history, boolean async) { + add(history, async); } public static List getAll() { @@ -49,12 +53,20 @@ public final class HistoryUtil { return false; } - private static void add(History history) { + private static void add(History history, boolean async) { if (update(history)) { return; } history.setCount(1) - .setTimestamp(System.currentTimeMillis()) - .save(); + .setTimestamp(System.currentTimeMillis()); + if (async) { + history.saveAsync().listen(null); + } else { + history.save(); + } + } + + private static void add(History history) { + add(history, false); } } \ No newline at end of file