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

Reply via email to