article pager: support no-append refresh, use top changed snackbar similar to headlines fragment when applicable
This commit is contained in:
parent
51da8c3c9d
commit
5d746b07f0
@ -176,19 +176,11 @@ public class ArticlePager extends Fragment {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@SuppressWarnings({ "serial" })
|
@SuppressWarnings({ "serial" })
|
||||||
protected void refresh(boolean append) {
|
protected void refresh(final boolean append) {
|
||||||
|
|
||||||
// viewpager doesn't like it when there's no data to display so we can't really allow not-appending here
|
if (!append) {
|
||||||
// luckily this fragment doesn't call for not-appending updates
|
|
||||||
// TODO: maybe later implement some placeholder fragment to show if there's no data
|
|
||||||
|
|
||||||
/* if (!append) {
|
|
||||||
m_lazyLoadDisabled = false;
|
m_lazyLoadDisabled = false;
|
||||||
|
}
|
||||||
// this won't ever work
|
|
||||||
m_articles.clear();
|
|
||||||
m_adapter.notifyDataSetChanged();
|
|
||||||
} */
|
|
||||||
|
|
||||||
m_refreshInProgress = true;
|
m_refreshInProgress = true;
|
||||||
|
|
||||||
@ -202,6 +194,13 @@ public class ArticlePager extends Fragment {
|
|||||||
protected void onPostExecute(JsonElement result) {
|
protected void onPostExecute(JsonElement result) {
|
||||||
if (isDetached() || !isAdded()) return;
|
if (isDetached() || !isAdded()) return;
|
||||||
|
|
||||||
|
if (!append) {
|
||||||
|
ViewPager pager = (ViewPager) getView().findViewById(R.id.article_pager);
|
||||||
|
pager.setCurrentItem(0);
|
||||||
|
|
||||||
|
m_articles.clear();
|
||||||
|
}
|
||||||
|
|
||||||
super.onPostExecute(result);
|
super.onPostExecute(result);
|
||||||
|
|
||||||
m_refreshInProgress = false;
|
m_refreshInProgress = false;
|
||||||
@ -213,7 +212,15 @@ public class ArticlePager extends Fragment {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (m_firstIdChanged && !(m_activity instanceof DetailActivity && !m_activity.isPortrait())) {
|
if (m_firstIdChanged && !(m_activity instanceof DetailActivity && !m_activity.isPortrait())) {
|
||||||
m_activity.toast(R.string.headlines_row_top_changed);
|
//m_activity.toast(R.string.headlines_row_top_changed);
|
||||||
|
|
||||||
|
Snackbar.make(getView(), R.string.headlines_row_top_changed, Snackbar.LENGTH_LONG)
|
||||||
|
.setAction(R.string.reload, new View.OnClickListener() {
|
||||||
|
@Override
|
||||||
|
public void onClick(View v) {
|
||||||
|
refresh(false);
|
||||||
|
}
|
||||||
|
}).show();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (m_amountLoaded < HeadlinesFragment.HEADLINES_REQUEST_SIZE) {
|
if (m_amountLoaded < HeadlinesFragment.HEADLINES_REQUEST_SIZE) {
|
||||||
|
@ -622,7 +622,7 @@ public class HeadlinesFragment extends Fragment {
|
|||||||
|
|
||||||
//Log.d(TAG, "first id changed, disabling lazy load");
|
//Log.d(TAG, "first id changed, disabling lazy load");
|
||||||
|
|
||||||
if (!(m_activity instanceof DetailActivity)) {
|
if (m_activity.isSmallScreen() || !m_activity.isPortrait()) {
|
||||||
|
|
||||||
Snackbar.make(getView(), R.string.headlines_row_top_changed, Snackbar.LENGTH_LONG)
|
Snackbar.make(getView(), R.string.headlines_row_top_changed, Snackbar.LENGTH_LONG)
|
||||||
.setAction(R.string.reload, new OnClickListener() {
|
.setAction(R.string.reload, new OnClickListener() {
|
||||||
|
Loading…
Reference in New Issue
Block a user