Dbrant has uploaded a new change for review. (
https://gerrit.wikimedia.org/r/341834 )
Change subject: Remove unused code, and resolve the duality of
ReadingListsFragment.
......................................................................
Remove unused code, and resolve the duality of ReadingListsFragment.
This tears out the old ReadingListDetailView, and restores
ReadingListsFragment to a singular nature, instead of a dual one.
Change-Id: Ib07df2e5a121d19f82bd0c4593bcb7e68bb0c145
---
M app/src/main/java/org/wikipedia/main/MainFragment.java
D app/src/main/java/org/wikipedia/readinglist/ReadingListDetailView.java
M app/src/main/java/org/wikipedia/readinglist/ReadingListsFragment.java
M app/src/main/res/layout/fragment_reading_lists.xml
4 files changed, 20 insertions(+), 587 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/apps/android/wikipedia
refs/changes/34/341834/1
diff --git a/app/src/main/java/org/wikipedia/main/MainFragment.java
b/app/src/main/java/org/wikipedia/main/MainFragment.java
index 3f7ceb8..7f627b9 100644
--- a/app/src/main/java/org/wikipedia/main/MainFragment.java
+++ b/app/src/main/java/org/wikipedia/main/MainFragment.java
@@ -51,7 +51,6 @@
import org.wikipedia.page.PageTitle;
import org.wikipedia.page.linkpreview.LinkPreviewDialog;
import org.wikipedia.readinglist.AddToReadingListDialog;
-import org.wikipedia.readinglist.ReadingListsFragment;
import org.wikipedia.search.SearchFragment;
import org.wikipedia.search.SearchInvokeSource;
import org.wikipedia.settings.Prefs;
@@ -71,8 +70,8 @@
import butterknife.Unbinder;
public class MainFragment extends Fragment implements BackPressedHandler,
FeedFragment.Callback,
- NearbyFragment.Callback, HistoryFragment.Callback,
ReadingListsFragment.Callback,
- SearchFragment.Callback, LinkPreviewDialog.Callback,
AddToReadingListDialog.Callback {
+ NearbyFragment.Callback, HistoryFragment.Callback,
SearchFragment.Callback,
+ LinkPreviewDialog.Callback, AddToReadingListDialog.Callback {
@BindView(R.id.fragment_main_container) CoordinatorLayout
coordinatorLayout;
@BindView(R.id.fragment_main_view_pager) ViewPager viewPager;
@BindView(R.id.fragment_main_nav_tab_layout) NavTabLayout tabLayout;
diff --git
a/app/src/main/java/org/wikipedia/readinglist/ReadingListDetailView.java
b/app/src/main/java/org/wikipedia/readinglist/ReadingListDetailView.java
deleted file mode 100644
index a7de2c0..0000000
--- a/app/src/main/java/org/wikipedia/readinglist/ReadingListDetailView.java
+++ /dev/null
@@ -1,368 +0,0 @@
-package org.wikipedia.readinglist;
-
-import android.annotation.TargetApi;
-import android.content.Context;
-import android.graphics.Bitmap;
-import android.graphics.Canvas;
-import android.graphics.Color;
-import android.graphics.Paint;
-import android.os.Build;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
-import android.support.v4.content.ContextCompat;
-import android.support.v7.widget.LinearLayoutCompat;
-import android.support.v7.widget.LinearLayoutManager;
-import android.support.v7.widget.RecyclerView;
-import android.support.v7.widget.helper.ItemTouchHelper;
-import android.text.TextUtils;
-import android.util.AttributeSet;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.LinearLayout;
-import android.widget.TextView;
-
-import com.facebook.drawee.view.SimpleDraweeView;
-
-import org.wikipedia.R;
-import org.wikipedia.readinglist.page.ReadingListPage;
-import org.wikipedia.settings.Prefs;
-import org.wikipedia.util.DimenUtil;
-import org.wikipedia.util.ResourceUtil;
-import org.wikipedia.views.GoneIfEmptyTextView;
-import org.wikipedia.views.ViewUtil;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.List;
-
-import butterknife.BindView;
-import butterknife.ButterKnife;
-import butterknife.OnClick;
-
-import static org.wikipedia.readinglist.ReadingLists.SORT_BY_NAME_ASC;
-import static org.wikipedia.readinglist.ReadingLists.SORT_BY_NAME_DESC;
-import static org.wikipedia.readinglist.ReadingLists.SORT_BY_RECENT_ASC;
-import static org.wikipedia.readinglist.ReadingLists.SORT_BY_RECENT_DESC;
-
-public class ReadingListDetailView extends LinearLayout {
- @BindView(R.id.reading_list_title) TextView titleView;
- @BindView(R.id.reading_list_count) TextView countView;
- @BindView(R.id.reading_list_description) GoneIfEmptyTextView
descriptionView;
- @BindView(R.id.contents_list) RecyclerView contentsListView;
-
- @Nullable private ReadingList readingList;
- @NonNull private List<ReadingListPage> displayedPages = new ArrayList<>();
- @Nullable private Callback callback;
- private String currentSearchQuery;
-
- private ReadingListPageItemAdapter adapter = new
ReadingListPageItemAdapter();
- private Bitmap deleteIcon =
ResourceUtil.bitmapFromVectorDrawable(getContext(),
R.drawable.ic_delete_white_24dp);
-
- public interface Callback {
- void onClick(ReadingList readingList, ReadingListPage page);
- void onLongClick(ReadingList readingList, ReadingListPage page);
- void onDelete(ReadingList readingList, ReadingListPage page);
- void onBackPressed();
- }
-
- public ReadingListDetailView(Context context) {
- super(context);
- init();
- }
-
- public ReadingListDetailView(Context context, AttributeSet attrs) {
- super(context, attrs);
- init();
- }
-
- public ReadingListDetailView(Context context, AttributeSet attrs, int
defStyleAttr) {
- super(context, attrs, defStyleAttr);
- init();
- }
-
- @TargetApi(Build.VERSION_CODES.LOLLIPOP)
- public ReadingListDetailView(Context context, AttributeSet attrs, int
defStyleAttr, int defStyleRes) {
- super(context, attrs, defStyleAttr, defStyleRes);
- init();
- }
-
- public void setReadingListInfo(@NonNull ReadingList readingList, @NonNull
List<String> otherTitles) {
- this.readingList = readingList;
- contentsListView.setLayoutManager(new
LinearLayoutManager(getContext()));
- contentsListView.setAdapter(adapter);
- updateDetails();
- getThumbnails();
- }
-
- public void setCallback(Callback callback) {
- this.callback = callback;
- }
-
- public void updateDetails() {
- if (readingList == null) {
- return;
- }
- titleView.setText(TextUtils.isEmpty(readingList.getTitle())
- ? getResources().getString(R.string.reading_list_untitled)
- : readingList.getTitle());
- countView.setText(readingList.getPages().size() == 1
- ?
getResources().getString(R.string.reading_list_item_count_singular)
- :
String.format(getResources().getString(R.string.reading_list_item_count_plural),
readingList.getPages().size()));
- descriptionView.setText(readingList.getDescription());
- setSearchQuery(currentSearchQuery);
- updateSort();
- }
-
- public void updateSort() {
- sortPages(Prefs.getReadingListPageSortMode(SORT_BY_NAME_ASC));
- adapter.notifyDataSetChanged();
- }
-
- public void setSearchQuery(@Nullable String query) {
- currentSearchQuery = query;
- displayedPages.clear();
- adapter.notifyDataSetChanged();
- if (readingList == null) {
- return;
- }
- if (TextUtils.isEmpty(query)) {
- displayedPages.addAll(readingList.getPages());
- return;
- }
- query = query.toUpperCase();
- for (ReadingListPage page : readingList.getPages()) {
- if (page.title().toUpperCase().contains(query.toUpperCase())) {
- displayedPages.add(page);
- }
- }
- }
-
- @OnClick(R.id.reading_list_detail_back_button) void onBackPressed(View v) {
- if (callback != null) {
- callback.onBackPressed();
- }
- }
-
- private void init() {
- inflate(getContext(), R.layout.item_reading_list_detail, this);
- ButterKnife.bind(this);
-
- setLayoutParams(new
LinearLayoutCompat.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,
ViewGroup.LayoutParams.WRAP_CONTENT));
-
- ItemTouchHelper.Callback touchCallback = new
ReadingListItemTouchHelperCallback();
- ItemTouchHelper itemTouchHelper = new ItemTouchHelper(touchCallback);
- itemTouchHelper.attachToRecyclerView(contentsListView);
- }
-
- private void getThumbnails() {
- ReadingListImageFetcher.getThumbnails(readingList, new
ReadingListImageFetcher.CompleteListener() {
- @Override
- public void onComplete() {
- adapter.notifyDataSetChanged();
- }
-
- @Override
- public void onError(Throwable e) {
- }
- });
- }
-
- private void sortPages(int sortMode) {
- switch (sortMode) {
- case SORT_BY_NAME_ASC:
- Collections.sort(displayedPages, new
Comparator<ReadingListPage>() {
- @Override
- public int compare(ReadingListPage lhs, ReadingListPage
rhs) {
- return lhs.title().compareTo(rhs.title());
- }
- });
- break;
- case SORT_BY_NAME_DESC:
- Collections.sort(displayedPages, new
Comparator<ReadingListPage>() {
- @Override
- public int compare(ReadingListPage lhs, ReadingListPage
rhs) {
- return rhs.title().compareTo(lhs.title());
- }
- });
- break;
- case SORT_BY_RECENT_ASC:
- Collections.sort(displayedPages, new
Comparator<ReadingListPage>() {
- @Override
- public int compare(ReadingListPage lhs, ReadingListPage
rhs) {
- return ((Long) lhs.atime()).compareTo(rhs.atime());
- }
- });
- break;
- case SORT_BY_RECENT_DESC:
- Collections.sort(displayedPages, new
Comparator<ReadingListPage>() {
- @Override
- public int compare(ReadingListPage lhs, ReadingListPage
rhs) {
- return ((Long) rhs.atime()).compareTo(lhs.atime());
- }
- });
- break;
- default:
- break;
- }
- }
-
- private class ReadingListPageItemHolder extends RecyclerView.ViewHolder
implements OnClickListener, OnLongClickListener {
- private ReadingListPage page;
- private View containerView;
- private TextView titleView;
- private SimpleDraweeView thumbnailView;
- private GoneIfEmptyTextView descriptionView;
-
- ReadingListPageItemHolder(View itemView) {
- super(itemView);
- containerView =
itemView.findViewById(R.id.page_list_item_container);
- titleView = (TextView)
itemView.findViewById(R.id.page_list_item_title);
- descriptionView = (GoneIfEmptyTextView)
itemView.findViewById(R.id.page_list_item_description);
- thumbnailView = (SimpleDraweeView)
itemView.findViewById(R.id.page_list_item_image);
- containerView.setClickable(true);
- containerView.setOnClickListener(this);
- }
-
- public void bindItem(ReadingListPage page) {
- this.page = page;
- titleView.setText(page.title());
- descriptionView.setText(page.description());
- ViewUtil.loadImageUrlInto(thumbnailView, page.thumbnailUrl());
- }
-
- @Override
- public void onClick(View v) {
- if (callback != null) {
- callback.onClick(readingList, page);
- }
- }
-
- @Override
- public boolean onLongClick(View v) {
- if (callback != null) {
- callback.onLongClick(readingList, page);
- }
- return true;
- }
-
- public void onDismiss() {
- if (callback != null) {
- callback.onDelete(readingList, page);
- }
- updateDetails();
- }
- }
-
- private final class ReadingListPageItemAdapter extends
RecyclerView.Adapter<ReadingListPageItemHolder> {
- @Override
- public int getItemCount() {
- return displayedPages.size();
- }
-
- @Override
- public ReadingListPageItemHolder onCreateViewHolder(ViewGroup parent,
int pos) {
- View view =
LayoutInflater.from(getContext()).inflate(R.layout.item_page_list_entry,
parent, false);
- return new ReadingListPageItemHolder(view);
- }
-
- @Override
- public void onBindViewHolder(ReadingListPageItemHolder holder, int
pos) {
- holder.bindItem(displayedPages.get(pos));
- }
- }
-
- private class ReadingListItemTouchHelperCallback extends
ItemTouchHelper.Callback {
- private static final float DELETE_ICON_PADDING_DP = 16f;
- private Paint deleteBackgroundPaint = new Paint();
- private Paint deleteIconPaint = new Paint();
- private Paint itemBackgroundPaint = new Paint();
-
- ReadingListItemTouchHelperCallback() {
- deleteBackgroundPaint.setStyle(Paint.Style.FILL);
- deleteBackgroundPaint.setColor(Color.RED);
- itemBackgroundPaint.setStyle(Paint.Style.FILL);
- itemBackgroundPaint.setColor(ContextCompat.getColor(getContext(),
- ResourceUtil.getThemedAttributeId(getContext(),
R.attr.window_background_color)));
- }
-
- @Override
- public boolean isLongPressDragEnabled() {
- return false;
- }
-
- @Override
- public boolean isItemViewSwipeEnabled() {
- return true;
- }
-
- @Override
- public int getMovementFlags(RecyclerView recyclerView,
RecyclerView.ViewHolder viewHolder) {
- final int dragFlags = 0; //ItemTouchHelper.UP |
ItemTouchHelper.DOWN;
- final int swipeFlags = ItemTouchHelper.START | ItemTouchHelper.END;
- return makeMovementFlags(dragFlags, swipeFlags);
- }
-
- @Override
- public boolean onMove(RecyclerView recyclerView,
RecyclerView.ViewHolder source, RecyclerView.ViewHolder target) {
- if (source.getItemViewType() != target.getItemViewType()) {
- return false;
- }
- // Notify the adapter of the move
- //adapter.onItemMove(source.getAdapterPosition(),
target.getAdapterPosition());
- return true;
- }
-
- @Override
- public void onSwiped(RecyclerView.ViewHolder viewHolder, int i) {
- // Notify the adapter of the dismissal
- //adapter.onItemDismiss(viewHolder.getAdapterPosition());
- if (viewHolder instanceof ReadingListPageItemHolder) {
- // Let the view holder know that this item is being moved or
dragged
- ReadingListPageItemHolder itemViewHolder =
(ReadingListPageItemHolder) viewHolder;
- itemViewHolder.onDismiss();
- }
- }
-
- @Override
- public void onChildDraw(Canvas canvas, RecyclerView recyclerView,
RecyclerView.ViewHolder viewHolder, float dx, float dy, int actionState,
boolean isCurrentlyActive) {
- if (actionState == ItemTouchHelper.ACTION_STATE_SWIPE) {
- canvas.drawRect(0f, viewHolder.itemView.getTop(),
viewHolder.itemView.getWidth(), viewHolder.itemView.getTop() +
viewHolder.itemView.getHeight(), deleteBackgroundPaint);
- canvas.drawRect(dx, viewHolder.itemView.getTop(),
viewHolder.itemView.getWidth() + dx, viewHolder.itemView.getTop() +
viewHolder.itemView.getHeight(), itemBackgroundPaint);
- if (dx >= 0) {
- canvas.drawBitmap(deleteIcon, DELETE_ICON_PADDING_DP *
DimenUtil.getDensityScalar(), viewHolder.itemView.getTop() +
(viewHolder.itemView.getHeight() / 2 - deleteIcon.getHeight() / 2),
deleteIconPaint);
- } else {
- canvas.drawBitmap(deleteIcon,
viewHolder.itemView.getRight() - deleteIcon.getWidth() - DELETE_ICON_PADDING_DP
* DimenUtil.getDensityScalar(), viewHolder.itemView.getTop() +
(viewHolder.itemView.getHeight() / 2 - deleteIcon.getHeight() / 2),
deleteIconPaint);
- }
- viewHolder.itemView.setTranslationX(dx);
- } else {
- super.onChildDraw(canvas, recyclerView, viewHolder, dx, dy,
actionState, isCurrentlyActive);
- }
- }
-
- @Override
- public void onSelectedChanged(RecyclerView.ViewHolder viewHolder, int
actionState) {
- // We only want the active item to change
- if (actionState != ItemTouchHelper.ACTION_STATE_IDLE) {
- if (viewHolder instanceof ReadingListPageItemHolder) {
- // Let the view holder know that this item is being moved
or dragged
- ReadingListPageItemHolder itemViewHolder =
(ReadingListPageItemHolder) viewHolder;
- //itemViewHolder.onItemSelected();
- }
- }
- super.onSelectedChanged(viewHolder, actionState);
- }
-
- @Override
- public void clearView(RecyclerView recyclerView,
RecyclerView.ViewHolder viewHolder) {
- super.clearView(recyclerView, viewHolder);
- if (viewHolder instanceof ReadingListPageItemHolder) {
- // Tell the view holder it's time to restore the idle state
- ReadingListPageItemHolder itemViewHolder =
(ReadingListPageItemHolder) viewHolder;
- //itemViewHolder.onItemClear();
- }
- }
- }
-
-}
diff --git
a/app/src/main/java/org/wikipedia/readinglist/ReadingListsFragment.java
b/app/src/main/java/org/wikipedia/readinglist/ReadingListsFragment.java
index b6f9ddf..5b27a8f 100644
--- a/app/src/main/java/org/wikipedia/readinglist/ReadingListsFragment.java
+++ b/app/src/main/java/org/wikipedia/readinglist/ReadingListsFragment.java
@@ -5,8 +5,6 @@
import android.support.annotation.Nullable;
import android.support.design.widget.Snackbar;
import android.support.v4.app.Fragment;
-import android.support.v4.view.PagerAdapter;
-import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.view.ActionMode;
import android.support.v7.widget.LinearLayoutManager;
@@ -17,20 +15,12 @@
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
-import android.widget.ImageView;
-import org.wikipedia.BackPressedHandler;
import org.wikipedia.R;
import org.wikipedia.WikipediaApp;
-import org.wikipedia.activity.FragmentUtil;
import org.wikipedia.analytics.ReadingListsFunnel;
import org.wikipedia.concurrency.CallbackTask;
-import org.wikipedia.history.HistoryEntry;
import org.wikipedia.history.SearchActionModeCallback;
-import org.wikipedia.page.PageTitle;
-import org.wikipedia.readinglist.page.ReadingListPage;
-import org.wikipedia.readinglist.page.database.ReadingListDaoProxy;
-import org.wikipedia.readinglist.page.database.ReadingListPageDao;
import org.wikipedia.settings.Prefs;
import org.wikipedia.util.FeedbackUtil;
import org.wikipedia.util.ResourceUtil;
@@ -41,31 +31,17 @@
import butterknife.BindView;
import butterknife.ButterKnife;
-import butterknife.OnPageChange;
import butterknife.Unbinder;
-public class ReadingListsFragment extends Fragment implements
BackPressedHandler {
- public interface Callback {
- void onLoadPage(PageTitle title, HistoryEntry entry);
- }
-
- private static final int PAGE_READING_LISTS = 0;
- private static final int PAGE_LIST_DETAIL = 1;
-
+public class ReadingListsFragment extends Fragment {
private Unbinder unbinder;
@BindView(R.id.reading_list_list) RecyclerView readingListView;
@BindView(R.id.empty_container) View emptyContainer;
- @BindView(R.id.pager) ViewPager pager;
private ReadingLists readingLists = new ReadingLists();
private ReadingListsFunnel funnel = new ReadingListsFunnel();
- @BindView(R.id.list_detail_view) ReadingListDetailView listDetailView;
- private ImageView detailViewBackButton;
private ReadingListAdapter adapter = new ReadingListAdapter();
- private ReadingListPagerAdapter pagerAdapter = new
ReadingListPagerAdapter();
-
private ReadingListItemCallback listItemCallback = new
ReadingListItemCallback();
- private ReadingListDetailViewCallback detailViewCallback = new
ReadingListDetailViewCallback();
private ReadingListsSearchCallback searchActionModeCallback = new
ReadingListsSearchCallback();
@Nullable private ActionMode actionMode;
@@ -90,15 +66,10 @@
View view = inflater.inflate(R.layout.fragment_reading_lists,
container, false);
unbinder = ButterKnife.bind(this, view);
- detailViewBackButton = (ImageView)
listDetailView.findViewById(R.id.reading_list_detail_back_button);
- listDetailView.setCallback(detailViewCallback);
-
readingListView.setLayoutManager(new
LinearLayoutManager(getContext()));
readingListView.setAdapter(adapter);
readingListView.addItemDecoration(new
DrawableItemDecoration(getContext(),
ResourceUtil.getThemedAttributeId(getContext(),
R.attr.list_separator_drawable), true));
-
- pager.setAdapter(pagerAdapter);
updateLists();
return view;
@@ -112,28 +83,15 @@
@Override
public void onDestroyView() {
- listDetailView.setCallback(null);
readingListView.setAdapter(null);
- pager.setAdapter(null);
unbinder.unbind();
unbinder = null;
super.onDestroyView();
}
@Override
- public boolean onBackPressed() {
- if (pager.getCurrentItem() != PAGE_READING_LISTS) {
- pager.setCurrentItem(PAGE_READING_LISTS);
- updateLists();
- return true;
- }
- return false;
- }
-
- @Override
public void onResume() {
super.onResume();
- pager.setCurrentItem(PAGE_READING_LISTS);
updateLists();
}
@@ -147,9 +105,7 @@
super.onPrepareOptionsMenu(menu);
MenuItem sortByNameItem = menu.findItem(R.id.menu_sort_by_name);
MenuItem sortByRecentItem = menu.findItem(R.id.menu_sort_by_recent);
- int sortMode = pager.getCurrentItem() == PAGE_READING_LISTS
- ? Prefs.getReadingListSortMode(ReadingLists.SORT_BY_NAME_ASC)
- :
Prefs.getReadingListPageSortMode(ReadingLists.SORT_BY_NAME_ASC);
+ int sortMode =
Prefs.getReadingListSortMode(ReadingLists.SORT_BY_NAME_ASC);
sortByNameItem.setTitle(sortMode == ReadingLists.SORT_BY_NAME_ASC ?
R.string.reading_list_sort_by_name_desc : R.string.reading_list_sort_by_name);
sortByRecentItem.setTitle(sortMode == ReadingLists.SORT_BY_RECENT_DESC
? R.string.reading_list_sort_by_recent_desc :
R.string.reading_list_sort_by_recent);
}
@@ -179,15 +135,10 @@
return;
}
if (visible) {
- pager.setCurrentItem(PAGE_READING_LISTS);
updateLists();
} else if (actionMode != null) {
actionMode.finish();
}
- }
-
- @OnPageChange(R.id.pager) void onListChanged() {
- getActivity().supportInvalidateOptionsMenu();
}
private void updateLists() {
@@ -208,35 +159,6 @@
private void updateEmptyMessage() {
emptyContainer.setVisibility(readingLists.isEmpty() ? View.VISIBLE :
View.GONE);
- }
-
- private class ReadingListPagerAdapter extends PagerAdapter {
- @Override
- public Object instantiateItem(ViewGroup collection, int position) {
- int resId;
- switch (position) {
- case PAGE_LIST_DETAIL:
- resId = R.id.list_detail_page;
- break;
- case PAGE_READING_LISTS:
- default:
- resId = R.id.list_of_lists_page;
- break;
- }
- return getView().findViewById(resId);
- }
-
- @Override public void destroyItem(ViewGroup container, int position,
Object object) { }
-
- @Override
- public int getCount() {
- return 2;
- }
-
- @Override
- public boolean isViewFromObject(View arg0, Object arg1) {
- return arg0 == arg1;
- }
}
private class ReadingListItemHolder extends RecyclerView.ViewHolder {
@@ -335,46 +257,6 @@
}
}
- private class ReadingListDetailViewCallback implements
ReadingListDetailView.Callback {
- @Override
- public void onClick(ReadingList readingList, ReadingListPage page) {
- PageTitle title = ReadingListDaoProxy.pageTitle(page);
- HistoryEntry newEntry = new HistoryEntry(title,
HistoryEntry.SOURCE_READING_LIST);
- onPageClick(title, newEntry);
-
- ReadingList.DAO.makeListMostRecent(readingList);
- }
-
- @Override
- public void onLongClick(ReadingList readingList, ReadingListPage page)
{
- // TODO: implement integration with PageLongPressHandler
- }
-
- @Override
- public void onDelete(ReadingList readingList, ReadingListPage page) {
- showDeleteItemUndoSnackbar(readingList, page);
- ReadingList.DAO.removeTitleFromList(readingList, page);
- funnel.logDeleteItem(readingList, readingLists.size());
- updateLists();
- }
-
- @Override
- public void onBackPressed() {
- ReadingListsFragment.this.onBackPressed();
- }
- }
-
- private void onPageClick(PageTitle title, HistoryEntry entry) {
- Callback callback = callback();
- if (callback != null) {
- callback.onLoadPage(title, entry);
- }
- }
-
- @Nullable private Callback callback() {
- return FragmentUtil.getCallback(this, Callback.class);
- }
-
private void showDeleteListUndoSnackbar(final ReadingList readingList) {
Snackbar snackbar = FeedbackUtil.makeSnackbar(getActivity(),
String.format(getString(R.string.reading_list_deleted),
readingList.getTitle()),
@@ -389,51 +271,15 @@
snackbar.show();
}
- private void showDeleteItemUndoSnackbar(final ReadingList readingList,
final ReadingListPage page) {
- Snackbar snackbar = FeedbackUtil.makeSnackbar(getActivity(),
- String.format(getString(R.string.reading_list_item_deleted),
page.title()),
- FeedbackUtil.LENGTH_DEFAULT);
- snackbar.setAction(R.string.reading_list_item_delete_undo, new
View.OnClickListener() {
- @Override
- public void onClick(View v) {
- ReadingList.DAO.addTitleToList(readingList, page);
- ReadingListPageDao.instance().markOutdated(page);
- listDetailView.updateDetails();
- }
- });
- snackbar.show();
- }
-
- private void showDeletePageOnboarding() {
- FeedbackUtil.makeSnackbar(getActivity(),
getString(R.string.reading_lists_onboarding_page_delete),
Snackbar.LENGTH_INDEFINITE)
- .setAction(R.string.reading_lists_onboarding_got_it, new
View.OnClickListener() {
- @Override
- public void onClick(View v) {
- Prefs.setReadingListPageDeleteTutorialEnabled(false);
- }
- }).show();
- }
-
private void setSortMode(int sortModeAsc, int sortModeDesc) {
- if (pager.getCurrentItem() == PAGE_READING_LISTS) {
- int sortMode =
Prefs.getReadingListSortMode(ReadingLists.SORT_BY_NAME_ASC);
- if (sortMode != sortModeAsc) {
- sortMode = sortModeAsc;
- } else {
- sortMode = sortModeDesc;
- }
- Prefs.setReadingListSortMode(sortMode);
- sortLists();
- } else if (pager.getCurrentItem() == PAGE_LIST_DETAIL) {
- int sortMode =
Prefs.getReadingListPageSortMode(ReadingLists.SORT_BY_NAME_ASC);
- if (sortMode != sortModeAsc) {
- sortMode = sortModeAsc;
- } else {
- sortMode = sortModeDesc;
- }
- Prefs.setReadingListPageSortMode(sortMode);
- listDetailView.updateSort();
+ int sortMode =
Prefs.getReadingListSortMode(ReadingLists.SORT_BY_NAME_ASC);
+ if (sortMode != sortModeAsc) {
+ sortMode = sortModeAsc;
+ } else {
+ sortMode = sortModeDesc;
}
+ Prefs.setReadingListSortMode(sortMode);
+ sortLists();
getActivity().supportInvalidateOptionsMenu();
}
@@ -446,41 +292,24 @@
@Override
public boolean onCreateActionMode(ActionMode mode, Menu menu) {
actionMode = mode;
- detailViewBackButton.setVisibility(View.INVISIBLE);
return super.onCreateActionMode(mode, menu);
}
@Override
protected void onQueryChange(String s) {
- if (pager.getCurrentItem() == PAGE_READING_LISTS) {
- updateLists(s);
- } else if (pager.getCurrentItem() == PAGE_LIST_DETAIL) {
- listDetailView.setSearchQuery(s);
- }
+ updateLists(s);
}
@Override
public void onDestroyActionMode(ActionMode mode) {
super.onDestroyActionMode(mode);
actionMode = null;
- detailViewBackButton.setVisibility(View.VISIBLE);
- if (pager.getCurrentItem() == PAGE_READING_LISTS) {
- updateLists();
- } else if (pager.getCurrentItem() == PAGE_LIST_DETAIL) {
- listDetailView.setSearchQuery(null);
- }
+ updateLists();
}
@Override
protected String getSearchHintString() {
- switch (pager.getCurrentItem()) {
- case PAGE_READING_LISTS:
- return
getContext().getResources().getString(R.string.search_hint_search_my_lists);
- case PAGE_LIST_DETAIL:
- return
getContext().getResources().getString(R.string.search_hint_search_reading_list);
- default:
- throw new IllegalArgumentException("Received unknown page
ID " + pager.getCurrentItem());
- }
+ return
getContext().getResources().getString(R.string.search_hint_search_my_lists);
}
}
}
diff --git a/app/src/main/res/layout/fragment_reading_lists.xml
b/app/src/main/res/layout/fragment_reading_lists.xml
index 4beb944..abaf2eb 100644
--- a/app/src/main/res/layout/fragment_reading_lists.xml
+++ b/app/src/main/res/layout/fragment_reading_lists.xml
@@ -43,39 +43,12 @@
/>
</LinearLayout>
- <org.wikipedia.readinglist.NoSwipeViewPager
- android:id="@+id/pager"
+ <android.support.v7.widget.RecyclerView
+ android:id="@+id/reading_list_list"
+ android:scrollbars="vertical"
android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:layout_marginTop="?attr/actionBarSize">
-
- <LinearLayout
- android:id="@+id/list_of_lists_page"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:orientation="vertical">
-
- <android.support.v7.widget.RecyclerView
- android:id="@+id/reading_list_list"
- android:scrollbars="vertical"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:background="?attr/window_background_color" />
-
- </LinearLayout>
-
- <LinearLayout
- android:id="@+id/list_detail_page"
- android:layout_width="match_parent"
- android:layout_height="match_parent">
-
- <org.wikipedia.readinglist.ReadingListDetailView
- android:id="@+id/list_detail_view"
- android:layout_width="match_parent"
- android:layout_height="match_parent" />
-
- </LinearLayout>
-
- </org.wikipedia.readinglist.NoSwipeViewPager>
+ android:layout_height="wrap_content"
+ android:layout_marginTop="?attr/actionBarSize"
+ android:background="?attr/window_background_color" />
</FrameLayout>
--
To view, visit https://gerrit.wikimedia.org/r/341834
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: Ib07df2e5a121d19f82bd0c4593bcb7e68bb0c145
Gerrit-PatchSet: 1
Gerrit-Project: apps/android/wikipedia
Gerrit-Branch: master
Gerrit-Owner: Dbrant <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits