diff --git a/Clover/app/src/main/java/org/floens/chan/core/loader/Loader.java b/Clover/app/src/main/java/org/floens/chan/core/loader/Loader.java index 5150e2aa..8d26efa9 100644 --- a/Clover/app/src/main/java/org/floens/chan/core/loader/Loader.java +++ b/Clover/app/src/main/java/org/floens/chan/core/loader/Loader.java @@ -17,6 +17,7 @@ */ package org.floens.chan.core.loader; +import android.text.TextUtils; import android.util.SparseArray; import com.android.volley.Response; @@ -48,6 +49,7 @@ public class Loader { private final Loadable loadable; private final SparseArray postsById = new SparseArray(); private final List cachedPosts = new ArrayList(); + private Post op; private boolean destroyed = false; private boolean autoReload = false; @@ -132,6 +134,7 @@ public class Loader { currentTimeout = 0; cachedPosts.clear(); + op = null; request = getData(); } @@ -183,6 +186,10 @@ public class Loader { return loadable; } + public Post getOP() { + return op; + } + /** * Get the time in milliseconds until another loadMore is recommended * @@ -286,6 +293,18 @@ public class Loader { postsById.append(post.no, post); } + if (loadable.isThreadMode() && result.size() > 0) { + op = result.get(0); + } + + if (TextUtils.isEmpty(loadable.title)) { + if (getOP() != null) { + loadable.generateTitle(getOP()); + } else { + loadable.title = "/" + loadable.board + "/"; + } + } + for (LoaderListener l : listeners) { l.onData(result, loadable.isBoardMode()); } diff --git a/Clover/app/src/main/java/org/floens/chan/ui/activity/BoardActivity.java b/Clover/app/src/main/java/org/floens/chan/ui/activity/BoardActivity.java index d45748f9..887e5333 100644 --- a/Clover/app/src/main/java/org/floens/chan/ui/activity/BoardActivity.java +++ b/Clover/app/src/main/java/org/floens/chan/ui/activity/BoardActivity.java @@ -27,7 +27,6 @@ import android.content.res.Configuration; import android.net.Uri; import android.os.Bundle; import android.support.v4.app.ActionBarDrawerToggle; -import android.text.TextUtils; import android.util.DisplayMetrics; import android.view.LayoutInflater; import android.view.Menu; @@ -276,10 +275,7 @@ public class BoardActivity extends BaseActivity implements AdapterView.OnItemSel @Override public void onThreadLoaded(Loadable loadable, List posts) { - if (loadable.isThreadMode() && TextUtils.isEmpty(threadLoadable.title) && posts.size() > 0) { - threadLoadable.generateTitle(posts.get(0)); - updateActionBarState(); - } + updateActionBarState(); pinnedAdapter.notifyDataSetChanged(); } diff --git a/Clover/app/src/main/java/org/floens/chan/ui/fragment/ReplyFragment.java b/Clover/app/src/main/java/org/floens/chan/ui/fragment/ReplyFragment.java index d0d1be7c..3ea24dcb 100644 --- a/Clover/app/src/main/java/org/floens/chan/ui/fragment/ReplyFragment.java +++ b/Clover/app/src/main/java/org/floens/chan/ui/fragment/ReplyFragment.java @@ -128,8 +128,7 @@ public class ReplyFragment extends DialogFragment { setClosable(true); Dialog dialog = getDialog(); - String title = loadable.isThreadMode() ? context.getString(R.string.reply) + " /" + loadable.board + "/" - + loadable.no : context.getString(R.string.reply_to_board) + " /" + loadable.board + "/"; + String title = (loadable.isThreadMode() ? context.getString(R.string.reply) : context.getString(R.string.reply_to_board)) + " " + loadable.title; if (dialog == null) { context.getActionBar().setTitle(title);