Dbrant has uploaded a new change for review. (
https://gerrit.wikimedia.org/r/386474 )
Change subject: On-this-day follow up.
......................................................................
On-this-day follow up.
Change-Id: I3eead314672d88e9b90a702bef38a6b30f8054d1
---
M app/src/main/java/org/wikipedia/feed/onthisday/OnThisDayActivity.java
M app/src/main/java/org/wikipedia/feed/onthisday/OnThisDayCardView.java
M app/src/main/java/org/wikipedia/feed/onthisday/OnThisDayFragment.java
M app/src/main/java/org/wikipedia/feed/onthisday/OnThisDayPagesViewHolder.java
M app/src/main/java/org/wikipedia/history/HistoryEntry.java
M app/src/main/res/layout/fragment_on_this_day.xml
M app/src/main/res/layout/item_on_this_day_pages.xml
M app/src/main/res/layout/view_card_on_this_day.xml
M app/src/main/res/layout/view_on_this_day_event.xml
9 files changed, 75 insertions(+), 69 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/apps/android/wikipedia
refs/changes/74/386474/1
diff --git
a/app/src/main/java/org/wikipedia/feed/onthisday/OnThisDayActivity.java
b/app/src/main/java/org/wikipedia/feed/onthisday/OnThisDayActivity.java
index 07770f1..fc70a11 100644
--- a/app/src/main/java/org/wikipedia/feed/onthisday/OnThisDayActivity.java
+++ b/app/src/main/java/org/wikipedia/feed/onthisday/OnThisDayActivity.java
@@ -6,6 +6,7 @@
import org.wikipedia.activity.SingleFragmentActivity;
import org.wikipedia.dataclient.WikiSite;
+import org.wikipedia.feed.model.UtcDate;
import org.wikipedia.json.GsonMarshaller;
import org.wikipedia.json.GsonUnmarshaller;
@@ -14,12 +15,12 @@
protected static final String EXTRA_WIKI = "wiki";
protected static final String EXTRA_DATE = "date";
- public static Intent newIntent(@NonNull Context context, @NonNull
OnThisDay onThisDay, @NonNull WikiSite wiki, String date) {
+ public static Intent newIntent(@NonNull Context context, @NonNull
OnThisDay onThisDay,
+ @NonNull WikiSite wiki, @NonNull UtcDate
date) {
return new Intent(context, OnThisDayActivity.class)
.putExtra(EXTRA_PAGES, GsonMarshaller.marshal(onThisDay))
.putExtra(EXTRA_WIKI, GsonMarshaller.marshal(wiki))
- .putExtra(EXTRA_DATE, date);
-
+ .putExtra(EXTRA_DATE, GsonMarshaller.marshal(date));
}
@Override
diff --git
a/app/src/main/java/org/wikipedia/feed/onthisday/OnThisDayCardView.java
b/app/src/main/java/org/wikipedia/feed/onthisday/OnThisDayCardView.java
index aa5e8a2..ee72e3b 100644
--- a/app/src/main/java/org/wikipedia/feed/onthisday/OnThisDayCardView.java
+++ b/app/src/main/java/org/wikipedia/feed/onthisday/OnThisDayCardView.java
@@ -3,6 +3,7 @@
import android.content.Context;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
+import android.support.v7.widget.CardView;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.Gravity;
@@ -19,15 +20,12 @@
import org.wikipedia.feed.view.DefaultFeedCardView;
import org.wikipedia.feed.view.FeedAdapter;
import org.wikipedia.util.DateUtil;
-import org.wikipedia.util.DimenUtil;
import org.wikipedia.util.GradientUtil;
import org.wikipedia.views.DontInterceptTouchListener;
import org.wikipedia.views.MarginItemDecoration;
import org.wikipedia.views.ViewUtil;
-import java.util.Calendar;
import java.util.List;
-import java.util.Locale;
import butterknife.BindView;
import butterknife.ButterKnife;
@@ -47,7 +45,7 @@
private UtcDate date;
private OnThisDay onThisDay;
- public OnThisDayCardView(Context context) {
+ public OnThisDayCardView(@NonNull Context context) {
super(context);
inflate(getContext(), R.layout.view_card_on_this_day, this);
ButterKnife.bind(this);
@@ -55,7 +53,7 @@
}
private void launchOnThisDayActivity() {
- getContext().startActivity(OnThisDayActivity.newIntent(getContext(),
onThisDay, wiki, date.baseCalendar().getDisplayName(Calendar.MONTH,
Calendar.LONG, Locale.getDefault()) + " " + ((date.date().charAt(0) == '0') ?
date.date().substring(1) : date.date())));
+ getContext().startActivity(OnThisDayActivity.newIntent(getContext(),
onThisDay, wiki, date));
}
private void initRecycler() {
@@ -67,12 +65,9 @@
R.dimen.view_horizontal_scrolling_list_card_item_margin_vertical));
pagesRecycler.addOnItemTouchListener(new DontInterceptTouchListener());
pagesRecycler.setNestedScrollingEnabled(false);
- pagesRecycler.setClipToPadding(false);
- final int padding = DimenUtil.roundedDpToPx(12);
- pagesRecycler.setPadding(padding, 0, padding, 0);
}
- static class RecyclerAdapter<T> extends
RecyclerView.Adapter<OnThisDayPagesViewHolder> {
+ static class RecyclerAdapter extends
RecyclerView.Adapter<OnThisDayPagesViewHolder> {
private List<OnThisDay.Page> pages;
private WikiSite wiki;
@@ -86,7 +81,7 @@
View itemView = LayoutInflater.
from(viewGroup.getContext()).
inflate(R.layout.item_on_this_day_pages, viewGroup, false);
- return new OnThisDayPagesViewHolder(itemView, wiki);
+ return new OnThisDayPagesViewHolder((CardView) itemView, wiki);
}
@Override
@@ -98,7 +93,6 @@
public int getItemCount() {
return pages.size();
}
-
}
@Override
@@ -142,6 +136,7 @@
header(card);
}
- @OnClick({R.id.more_events_layout, R.id.text}) void onMoreClick() {
+ @OnClick({R.id.more_events_layout, R.id.view_on_this_day_click_container})
void onMoreClick() {
launchOnThisDayActivity();
- }}
+ }
+}
diff --git
a/app/src/main/java/org/wikipedia/feed/onthisday/OnThisDayFragment.java
b/app/src/main/java/org/wikipedia/feed/onthisday/OnThisDayFragment.java
index 5ef0144..d4bbf5e 100644
--- a/app/src/main/java/org/wikipedia/feed/onthisday/OnThisDayFragment.java
+++ b/app/src/main/java/org/wikipedia/feed/onthisday/OnThisDayFragment.java
@@ -1,7 +1,5 @@
package org.wikipedia.feed.onthisday;
-
-import android.content.Context;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
@@ -15,6 +13,7 @@
import org.wikipedia.R;
import org.wikipedia.dataclient.WikiSite;
+import org.wikipedia.feed.model.UtcDate;
import org.wikipedia.json.GsonMarshaller;
import org.wikipedia.json.GsonUnmarshaller;
import org.wikipedia.util.DateUtil;
@@ -22,7 +21,9 @@
import org.wikipedia.views.DontInterceptTouchListener;
import org.wikipedia.views.MarginItemDecoration;
+import java.text.SimpleDateFormat;
import java.util.List;
+import java.util.Locale;
import butterknife.BindView;
import butterknife.ButterKnife;
@@ -38,10 +39,18 @@
@BindView(R.id.events_recycler) RecyclerView eventsRecycler;
private OnThisDay onThisDay;
private WikiSite wiki;
- private String dateStr;
+ private UtcDate date;
private Unbinder unbinder;
- public OnThisDayFragment() {
+ @NonNull
+ public static OnThisDayFragment newInstance(@NonNull OnThisDay onThisDay,
@NonNull WikiSite wiki, String stringExtra) {
+ OnThisDayFragment instance = new OnThisDayFragment();
+ Bundle args = new Bundle();
+ args.putString(EXTRA_PAGES, GsonMarshaller.marshal(onThisDay));
+ args.putString(EXTRA_WIKI, GsonMarshaller.marshal(wiki));
+ args.putString(EXTRA_DATE, stringExtra);
+ instance.setArguments(args);
+ return instance;
}
@Override
@@ -49,7 +58,7 @@
Bundle savedInstanceState) {
onThisDay = GsonUnmarshaller.unmarshal(OnThisDay.class,
getActivity().getIntent().getStringExtra(EXTRA_PAGES));
wiki = GsonUnmarshaller.unmarshal(WikiSite.class,
getActivity().getIntent().getStringExtra(EXTRA_WIKI));
- dateStr = getActivity().getIntent().getStringExtra(EXTRA_DATE);
+ date = GsonUnmarshaller.unmarshal(UtcDate.class,
getActivity().getIntent().getStringExtra(EXTRA_DATE));
View view = inflater.inflate(R.layout.fragment_on_this_day, container,
false);
unbinder = ButterKnife.bind(this, view);
updateTextView();
@@ -63,13 +72,15 @@
super.onDestroyView();
}
- void updateTextView() {
+ private void updateTextView() {
if (onThisDay != null) {
List<OnThisDay.Event> events = onThisDay.events();
int beginningYear = events.get(events.size() - 1).year();
-
dayInfoTextView.setText(String.format(getString(R.string.events_count_text), ""
+ events.size(), DateUtil.yearToStringWithEra(beginningYear),
events.get(0).year()));
+
dayInfoTextView.setText(String.format(getString(R.string.events_count_text), ""
+ events.size(),
+ DateUtil.yearToStringWithEra(beginningYear),
events.get(0).year()));
}
- dayTextView.setText(dateStr);
+
+ dayTextView.setText(new SimpleDateFormat("MMMM d",
Locale.getDefault()).format(date.baseCalendar().getTime()));
}
@Override
@@ -95,18 +106,7 @@
recycler.setPadding(padding, 0, padding, 0);
}
- @NonNull
- public static OnThisDayFragment newInstance(@NonNull OnThisDay onThisDay,
@NonNull WikiSite wiki, String stringExtra) {
- OnThisDayFragment instance = new OnThisDayFragment();
- Bundle args = new Bundle();
- args.putString(EXTRA_PAGES, GsonMarshaller.marshal(onThisDay));
- args.putString(EXTRA_WIKI, GsonMarshaller.marshal(wiki));
- args.putString(EXTRA_DATE, stringExtra);
- instance.setArguments(args);
- return instance;
- }
-
- private class RecyclerAdapter<T> extends
RecyclerView.Adapter<EventsViewHolder> {
+ private class RecyclerAdapter extends
RecyclerView.Adapter<EventsViewHolder> {
private List<OnThisDay.Event> events;
private WikiSite wiki;
@@ -120,7 +120,7 @@
View itemView = LayoutInflater.
from(viewGroup.getContext()).
inflate(R.layout.view_events_layout, viewGroup, false);
- return new EventsViewHolder(itemView, wiki, getContext());
+ return new EventsViewHolder(itemView, wiki);
}
@Override
@@ -135,14 +135,14 @@
}
- class EventsViewHolder extends RecyclerView.ViewHolder {
+ private class EventsViewHolder extends RecyclerView.ViewHolder {
private TextView descTextView;
private TextView yearTextView;
private TextView yearsInfoTextView;
private RecyclerView pagesRecycler;
private WikiSite wiki;
- EventsViewHolder(View v, WikiSite wiki, Context context) {
+ EventsViewHolder(View v, WikiSite wiki) {
super(v);
descTextView = v.findViewById(R.id.text);
yearTextView = v.findViewById(R.id.year);
diff --git
a/app/src/main/java/org/wikipedia/feed/onthisday/OnThisDayPagesViewHolder.java
b/app/src/main/java/org/wikipedia/feed/onthisday/OnThisDayPagesViewHolder.java
index a172104..eff45bb 100644
---
a/app/src/main/java/org/wikipedia/feed/onthisday/OnThisDayPagesViewHolder.java
+++
b/app/src/main/java/org/wikipedia/feed/onthisday/OnThisDayPagesViewHolder.java
@@ -1,14 +1,15 @@
package org.wikipedia.feed.onthisday;
-
import android.content.Context;
import android.content.Intent;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
+import android.support.v7.widget.CardView;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import android.widget.TextView;
+import org.apache.commons.lang3.StringUtils;
import org.wikipedia.R;
import org.wikipedia.WikipediaApp;
import org.wikipedia.dataclient.WikiSite;
@@ -16,14 +17,15 @@
import org.wikipedia.history.HistoryEntry;
import org.wikipedia.page.PageActivity;
import org.wikipedia.page.PageTitle;
+import org.wikipedia.util.ResourceUtil;
+import org.wikipedia.util.StringUtil;
import org.wikipedia.views.FaceAndColorDetectImageView;
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;
-import butterknife.Unbinder;
-import static org.wikipedia.page.PageActivity.ACTION_LOAD_IN_CURRENT_TAB;
+import static org.wikipedia.page.PageActivity.ACTION_LOAD_IN_NEW_TAB;
import static org.wikipedia.page.PageActivity.EXTRA_HISTORYENTRY;
import static org.wikipedia.page.PageActivity.EXTRA_PAGETITLE;
@@ -33,21 +35,19 @@
@BindView(R.id.page_list_item_image) FaceAndColorDetectImageView
pageItemImageView;
@BindView(R.id.parent) View parent;
private WikiSite wiki;
- private Unbinder unbinder;
private OnThisDay.Page selectedPage;
-
- OnThisDayPagesViewHolder(@NonNull View v, @NonNull WikiSite wiki) {
+ OnThisDayPagesViewHolder(@NonNull CardView v, @NonNull WikiSite wiki) {
super(v);
- unbinder = ButterKnife.bind(this, v);
+ ButterKnife.bind(this, v);
+ v.setCardBackgroundColor(ResourceUtil.getThemedColor(v.getContext(),
R.attr.paper_color));
this.wiki = wiki;
}
public void setFields(@NonNull final OnThisDay.Page page) {
-
selectedPage = page;
- pageItemDescTextView.setText(page.text() == null ? "" : page.text());
- pageItemTitleTextView.setText(page.displayTitle() == null ? "" :
page.displayTitle());
+
pageItemDescTextView.setText(StringUtil.fromHtml(StringUtils.defaultString(page.text())));
+
pageItemTitleTextView.setText(StringUtil.fromHtml(StringUtils.defaultString(page.displayTitle())));
setImage(page.thumbnail());
}
@@ -64,7 +64,7 @@
Context context = WikipediaApp.getInstance().getApplicationContext();
PageTitle pageTitle = new PageTitle(selectedPage.displayTitle(), wiki);
HistoryEntry entry = new HistoryEntry(pageTitle,
HistoryEntry.SOURCE_ON_THIS_DAY_LIST);
- Intent intent = new Intent(ACTION_LOAD_IN_CURRENT_TAB)
+ Intent intent = new Intent(ACTION_LOAD_IN_NEW_TAB)
.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
.setClass(context, PageActivity.class)
.putExtra(EXTRA_HISTORYENTRY, entry)
diff --git a/app/src/main/java/org/wikipedia/history/HistoryEntry.java
b/app/src/main/java/org/wikipedia/history/HistoryEntry.java
index 007b0a4..929b15e 100644
--- a/app/src/main/java/org/wikipedia/history/HistoryEntry.java
+++ b/app/src/main/java/org/wikipedia/history/HistoryEntry.java
@@ -32,7 +32,7 @@
public static final int SOURCE_APP_SHORTCUT_RANDOM = 20;
public static final int SOURCE_APP_SHORTCUT_CONTINUE_READING = 21;
public static final int SOURCE_FEED_MOST_READ_ACTIVITY = 22;
- public static final int SOURCE_ON_THIS_DAY_LIST = 22;
+ public static final int SOURCE_ON_THIS_DAY_LIST = 23;
@NonNull private final PageTitle title;
@NonNull private final Date timestamp;
diff --git a/app/src/main/res/layout/fragment_on_this_day.xml
b/app/src/main/res/layout/fragment_on_this_day.xml
index 940dbe3..697cecb 100644
--- a/app/src/main/res/layout/fragment_on_this_day.xml
+++ b/app/src/main/res/layout/fragment_on_this_day.xml
@@ -21,7 +21,8 @@
android:layout_marginStart="12dp"
android:textColor="?attr/primary_text_color"
android:textSize="@dimen/titleTextSize"
- android:textStyle="bold" />
+ android:fontFamily="sans-serif-medium"
+ tools:text="January 1"/>
<TextView
android:id="@+id/day_info_text_view"
diff --git a/app/src/main/res/layout/item_on_this_day_pages.xml
b/app/src/main/res/layout/item_on_this_day_pages.xml
index ddbcc5a..85225cf 100644
--- a/app/src/main/res/layout/item_on_this_day_pages.xml
+++ b/app/src/main/res/layout/item_on_this_day_pages.xml
@@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
-<android.support.v7.widget.CardView
xmlns:android="http://schemas.android.com/apk/res/android"
+<android.support.v7.widget.CardView
+ xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="208dp"
android:layout_height="wrap_content">
@@ -9,6 +10,7 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal"
+ android:background="?attr/selectableItemBackground"
android:padding="12dp">
<LinearLayout
diff --git a/app/src/main/res/layout/view_card_on_this_day.xml
b/app/src/main/res/layout/view_card_on_this_day.xml
index 9c0eaba..48afa9d 100644
--- a/app/src/main/res/layout/view_card_on_this_day.xml
+++ b/app/src/main/res/layout/view_card_on_this_day.xml
@@ -1,6 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
+ xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:clipChildren="false"
@@ -28,11 +29,14 @@
android:clipToPadding="false">
<RelativeLayout
+ android:id="@+id/view_on_this_day_click_container"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginLeft="1dp"
android:layout_marginStart="1dp"
+ android:clickable="true"
android:background="?attr/paper_color"
+ android:foreground="?attr/selectableItemBackground"
android:clipChildren="false"
android:clipToPadding="false"
android:paddingEnd="3dp"
@@ -78,30 +82,29 @@
<LinearLayout
android:id="@+id/more_events_layout"
android:layout_width="match_parent"
- android:layout_height="wrap_content"
+ android:layout_height="48dp"
android:background="?android:colorBackground"
- android:drawableEnd="@drawable/ic_chevron_forward_gray"
- android:drawableRight="@drawable/ic_chevron_forward_gray"
- android:gravity="center_vertical"
- android:paddingBottom="10dp"
- android:paddingEnd="12dp"
- android:paddingLeft="12dp"
- android:paddingRight="12dp"
- android:paddingStart="12dp"
- android:paddingTop="10dp">
+ android:foreground="?attr/selectableItemBackground"
+ android:clickable="true">
<TextView
android:id="@+id/more_events"
android:layout_width="0dp"
- android:layout_height="wrap_content"
+ android:layout_height="match_parent"
android:layout_weight="1"
- android:gravity="start"
+ android:paddingLeft="16dp"
+ android:paddingRight="16dp"
+ android:gravity="center_vertical"
+ android:textColor="?attr/secondary_text_color"
android:text="@string/more_events_text" />
<ImageView
- android:layout_width="20dp"
- android:layout_height="20dp"
- app:srcCompat="@drawable/ic_chevron_forward_gray" />
+ android:layout_width="48dp"
+ android:layout_height="match_parent"
+ android:scaleType="center"
+ app:srcCompat="@drawable/ic_chevron_forward_gray"
+ android:tint="?attr/secondary_text_color"
+ android:contentDescription="@null"/>
</LinearLayout>
diff --git a/app/src/main/res/layout/view_on_this_day_event.xml
b/app/src/main/res/layout/view_on_this_day_event.xml
index 1fd815a..9a4109d 100644
--- a/app/src/main/res/layout/view_on_this_day_event.xml
+++ b/app/src/main/res/layout/view_on_this_day_event.xml
@@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+<LinearLayout
+ xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
@@ -66,5 +67,8 @@
android:layout_width="match_parent"
android:layout_height="65dp"
android:layout_marginTop="20dp"
+ android:paddingLeft="12dp"
+ android:paddingRight="12dp"
+ android:clipToPadding="false"
android:background="?attr/paper_color" />
</LinearLayout>
\ No newline at end of file
--
To view, visit https://gerrit.wikimedia.org/r/386474
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I3eead314672d88e9b90a702bef38a6b30f8054d1
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