jenkins-bot has submitted this change and it was merged. ( 
https://gerrit.wikimedia.org/r/395808 )

Change subject: Add DatePicker on on-this-day full screen
......................................................................


Add DatePicker on on-this-day full screen

- Date Picker has been added

Bug: T180372
Change-Id: I8f7569eec17779b6d72b0665938e0f2ac28ff496
---
M app/src/main/java/org/wikipedia/feed/onthisday/OnThisDayFragment.java
M app/src/main/java/org/wikipedia/feed/onthisday/OnThisDayFullListClient.java
M app/src/main/java/org/wikipedia/util/DateUtil.java
A app/src/main/java/org/wikipedia/views/CustomDatePicker.java
A app/src/main/res/drawable/ic_arrow_drop_down_black_24dp.xml
A app/src/main/res/drawable/ic_empty_event.xml
A app/src/main/res/layout/date_picker_dialog.xml
M app/src/main/res/layout/fragment_on_this_day.xml
A app/src/main/res/layout/view_custom_calendar_day.xml
M app/src/main/res/values/styles_dark.xml
M app/src/main/res/values/styles_light.xml
11 files changed, 456 insertions(+), 31 deletions(-)

Approvals:
  Dbrant: Looks good to me, approved
  jenkins-bot: Verified



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 948fcac..609c1f2 100644
--- a/app/src/main/java/org/wikipedia/feed/onthisday/OnThisDayFragment.java
+++ b/app/src/main/java/org/wikipedia/feed/onthisday/OnThisDayFragment.java
@@ -17,6 +17,8 @@
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
+import android.widget.FrameLayout;
+import android.widget.ImageView;
 import android.widget.LinearLayout;
 import android.widget.ProgressBar;
 import android.widget.TextView;
@@ -29,6 +31,7 @@
 import org.wikipedia.util.DimenUtil;
 import org.wikipedia.util.ResourceUtil;
 import org.wikipedia.util.log.L;
+import org.wikipedia.views.CustomDatePicker;
 import org.wikipedia.views.DontInterceptTouchListener;
 import org.wikipedia.views.HeaderMarginItemDecoration;
 import org.wikipedia.views.MarginItemDecoration;
@@ -36,9 +39,11 @@
 
 import java.util.Calendar;
 import java.util.List;
+import java.util.Locale;
 
 import butterknife.BindView;
 import butterknife.ButterKnife;
+import butterknife.OnClick;
 import butterknife.Unbinder;
 import retrofit2.Call;
 import retrofit2.Callback;
@@ -46,7 +51,7 @@
 
 import static org.wikipedia.feed.onthisday.OnThisDayActivity.AGE;
 
-public class OnThisDayFragment extends Fragment {
+public class OnThisDayFragment extends Fragment implements 
CustomDatePicker.Callback{
     @BindView(R.id.day) TextView dayText;
     @BindView(R.id.collapsing_toolbar_layout) CollapsingToolbarLayout 
collapsingToolbarLayout;
     @BindView(R.id.day_info_text_view) TextView dayInfoTextView;
@@ -56,12 +61,18 @@
     @BindView(R.id.app_bar) AppBarLayout appBarLayout;
     @BindView(R.id.linear_layout) LinearLayout linearLayout;
     @BindView(R.id.on_this_day_error_view) WikiErrorView errorView;
+    @BindView(R.id.indicator_date) TextView indicatorDate;
+    @BindView(R.id.indicator_layout) FrameLayout indicatorLayout;
+    @BindView(R.id.toolbar_day) TextView toolbarDay;
+    @BindView(R.id.drop_down_toolbar)
+    ImageView toolbarDropDown;
 
     @Nullable private OnThisDay onThisDay;
     private Calendar date;
     private Unbinder unbinder;
     @Nullable private OnThisDayFunnel funnel;
     public static final int PADDING1 = 21, PADDING2 = 38, PADDING3 = 21;
+    public static final float HALF_ALPHA = 0.5f;
 
     @NonNull
     public static OnThisDayFragment newInstance(int age) {
@@ -131,7 +142,7 @@
         eventsRecycler.setVisibility(View.GONE);
         errorView.setVisibility(View.GONE);
 
-        new 
OnThisDayFullListClient().request(WikipediaApp.getInstance().getWikiSite(), 
month + 1, date).enqueue(new Callback<OnThisDay>() {
+        new OnThisDayFullListClient().request(month + 1, date).enqueue(new 
Callback<OnThisDay>() {
             @Override
             public void onResponse(@NonNull Call<OnThisDay> call, @NonNull 
Response<OnThisDay> response) {
                 if (!isAdded()) {
@@ -175,11 +186,14 @@
         getAppCompatActivity().getSupportActionBar().setTitle("");
         collapsingToolbarLayout.setCollapsedTitleTextColor(Color.WHITE);
         dayText.setText(DateUtil.getMonthOnlyDateString(date.getTime()));
+        indicatorDate.setText(String.format(Locale.getDefault(), "%d", 
date.get(Calendar.DATE)));
         appBarLayout.addOnOffsetChangedListener((appBarLayout, verticalOffset) 
-> {
             if (verticalOffset > -appBarLayout.getTotalScrollRange()) {
-                collapsingToolbarLayout.setTitle("");
+                toolbarDay.setText("");
+                toolbarDropDown.setVisibility(View.GONE);
             } else if (verticalOffset <= -appBarLayout.getTotalScrollRange()) {
-                
collapsingToolbarLayout.setTitle(DateUtil.getMonthOnlyDateString(date.getTime()));
+                
toolbarDay.setText(DateUtil.getMonthOnlyDateString(date.getTime()));
+                toolbarDropDown.setVisibility(View.VISIBLE);
             }
         });
     }
@@ -210,6 +224,35 @@
         recycler.setClipToPadding(false);
     }
 
+    @Override
+    public void onDatePicked(int month, int day) {
+        eventsRecycler.setVisibility(View.GONE);
+        progressBar.setVisibility(View.VISIBLE);
+        if (date.get(Calendar.MONTH) != month || date.get(Calendar.DATE) != 
day) {
+            indicatorLayout.setAlpha(1.0f);
+            indicatorLayout.setClickable(true);
+        }
+        date.set(CustomDatePicker.LEAP_YEAR, month, day, 0, 0);
+        dayText.setText(DateUtil.getMonthOnlyDateString(date.getTime()));
+        appBarLayout.setExpanded(true);
+        requestEvents(month, day);
+    }
+
+    @OnClick({R.id.drop_down, R.id.day, R.id.toolbar_day, 
R.id.drop_down_toolbar})
+    public void onCalendarClicked() {
+        CustomDatePicker newFragment = new CustomDatePicker();
+        newFragment.setSelectedDay(date.get(Calendar.MONTH), 
date.get(Calendar.DATE));
+        newFragment.setCallback(OnThisDayFragment.this);
+        newFragment.show(getFragmentManager(), "date picker");
+    }
+
+    @OnClick(R.id.indicator_layout)
+    public void onIndicatorLayoutClicked() {
+        onDatePicked(Calendar.getInstance().get(Calendar.MONTH), 
Calendar.getInstance().get(Calendar.DATE));
+        indicatorLayout.setAlpha(HALF_ALPHA);
+        indicatorLayout.setClickable(false);
+    }
+
     private class RecyclerAdapter extends 
RecyclerView.Adapter<RecyclerView.ViewHolder> {
         private static final int VIEW_TYPE_ITEM = 0;
         private static final int VIEW_TYPE_FOOTER = 1;
diff --git 
a/app/src/main/java/org/wikipedia/feed/onthisday/OnThisDayFullListClient.java 
b/app/src/main/java/org/wikipedia/feed/onthisday/OnThisDayFullListClient.java
index cdc65f4..08b48b8 100644
--- 
a/app/src/main/java/org/wikipedia/feed/onthisday/OnThisDayFullListClient.java
+++ 
b/app/src/main/java/org/wikipedia/feed/onthisday/OnThisDayFullListClient.java
@@ -4,6 +4,7 @@
 import android.support.annotation.Nullable;
 import android.support.annotation.VisibleForTesting;
 
+import org.wikipedia.WikipediaApp;
 import org.wikipedia.dataclient.WikiSite;
 import org.wikipedia.dataclient.retrofit.RetrofitFactory;
 import org.wikipedia.settings.Prefs;
@@ -18,7 +19,8 @@
 public class OnThisDayFullListClient {
     @Nullable private Call<OnThisDay> call;
 
-    public Call<OnThisDay> request(@NonNull WikiSite wiki, int month, int 
date) {
+    public Call<OnThisDay> request(int month, int date) {
+        WikiSite wiki = WikipediaApp.getInstance().getWikiSite();
         String endpoint = String.format(Locale.ROOT, 
Prefs.getRestbaseUriFormat(), wiki.scheme(),
                 wiki.authority());
         Retrofit retrofit = RetrofitFactory.newInstance(endpoint, wiki);
diff --git a/app/src/main/java/org/wikipedia/util/DateUtil.java 
b/app/src/main/java/org/wikipedia/util/DateUtil.java
index be9a224..b8a1c2f 100644
--- a/app/src/main/java/org/wikipedia/util/DateUtil.java
+++ b/app/src/main/java/org/wikipedia/util/DateUtil.java
@@ -50,6 +50,10 @@
         return new SimpleDateFormat("MMMM d", 
Locale.getDefault()).format(date);
     }
 
+    public static String getMonthOnlyWithoutDayDateString(@NonNull Date date) {
+        return new SimpleDateFormat("MMMM", Locale.getDefault()).format(date);
+    }
+
     private static String getExtraShortDateString(@NonNull Date date) {
         return new SimpleDateFormat("MMM d", Locale.getDefault()).format(date);
     }
diff --git a/app/src/main/java/org/wikipedia/views/CustomDatePicker.java 
b/app/src/main/java/org/wikipedia/views/CustomDatePicker.java
new file mode 100644
index 0000000..62cc658
--- /dev/null
+++ b/app/src/main/java/org/wikipedia/views/CustomDatePicker.java
@@ -0,0 +1,167 @@
+package org.wikipedia.views;
+
+import android.app.Dialog;
+import android.graphics.Typeface;
+import android.os.Bundle;
+import android.support.annotation.NonNull;
+import android.support.v4.app.DialogFragment;
+import android.support.v7.app.AlertDialog;
+import android.support.v7.widget.GridLayoutManager;
+import android.support.v7.widget.RecyclerView;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.ImageView;
+import android.widget.TextView;
+
+import org.wikipedia.R;
+import org.wikipedia.util.DateUtil;
+import org.wikipedia.util.ResourceUtil;
+
+import java.util.Calendar;
+import java.util.Locale;
+
+import butterknife.BindView;
+import butterknife.ButterKnife;
+import butterknife.OnClick;
+
+public class CustomDatePicker extends DialogFragment {
+    public interface Callback {
+        void onDatePicked(int month, int day);
+    }
+
+    public static final int LEAP_YEAR = 2016;
+    public static final int MAX_COLUMN_SPAN = 7;
+    private Callback callback;
+
+    @BindView(R.id.day) TextView day;
+    @BindView(R.id.month_string) TextView monthString;
+    @BindView(R.id.grid) RecyclerView monthGrid;
+    @BindView(R.id.previous_month) ImageView previousMonthBtn;
+    @BindView(R.id.next_month) ImageView nextMonthBtn;
+
+    private Calendar today, selectedDay = Calendar.getInstance(), callbackDay 
= Calendar.getInstance();
+    private View dialog;
+
+    @NonNull
+    @Override
+    public Dialog onCreateDialog(Bundle savedInstanceState) {
+        AlertDialog.Builder builder = new AlertDialog.Builder(getActivity(), 
ResourceUtil.getThemedAttributeId(getContext(), R.attr.dialogTheme));
+        today = Calendar.getInstance();
+        dialog = 
getActivity().getLayoutInflater().inflate(R.layout.date_picker_dialog, null);
+        ButterKnife.bind(this, dialog);
+        setUpMonthGrid();
+        setMonthString();
+        setDayString();
+        builder.setView(dialog)
+                .setPositiveButton(R.string.ok, (dialog, id) -> {
+                    callback.onDatePicked(callbackDay.get(Calendar.MONTH), 
callbackDay.get(Calendar.DATE));
+                })
+                .setNegativeButton(R.string.cancel, (dialog, id) -> {
+                    dialog.dismiss();
+                });
+
+        return builder.create();
+    }
+
+    @OnClick(R.id.previous_month)
+    void onPreviousMonthClicked() {
+        int currentMonth = selectedDay.get(Calendar.MONTH);
+        selectedDay.set(LEAP_YEAR, currentMonth == 0 ? Calendar.DECEMBER : 
currentMonth - 1, 1);
+        setMonthString();
+        monthGrid.getAdapter().notifyDataSetChanged();
+    }
+
+    @OnClick(R.id.next_month)
+    void onNextMonthClicked() {
+        int currentMonth = selectedDay.get(Calendar.MONTH);
+        selectedDay.set(LEAP_YEAR, currentMonth == Calendar.DECEMBER ? 
Calendar.JANUARY : currentMonth + 1, 1);
+        setMonthString();
+        monthGrid.getAdapter().notifyDataSetChanged();
+    }
+
+    private void setUpMonthGrid() {
+        monthGrid.setLayoutManager(new GridLayoutManager(getContext(), 
MAX_COLUMN_SPAN));
+        monthGrid.setAdapter(new CustomCalendarAdapter());
+    }
+
+    private void setMonthString() {
+        
monthString.setText(DateUtil.getMonthOnlyWithoutDayDateString(selectedDay.getTime()));
+    }
+
+
+    public void setCallback(Callback callback) {
+        this.callback = callback;
+    }
+
+    public class CustomCalendarAdapter extends 
RecyclerView.Adapter<CustomCalendarAdapter.ViewHolder> {
+        @Override
+        public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
+            View view = 
LayoutInflater.from(getContext()).inflate(R.layout.view_custom_calendar_day, 
parent, false);
+            return new ViewHolder(view);
+        }
+
+        @Override
+        public void onBindViewHolder(ViewHolder holder, int position) {
+            holder.setFields(position + 1);
+        }
+
+        @Override
+        public int getItemCount() {
+            return selectedDay.getActualMaximum(Calendar.DAY_OF_MONTH);
+        }
+
+        public class ViewHolder extends RecyclerView.ViewHolder implements 
View.OnClickListener {
+            private TextView dayTextView;
+            private ImageView circleBackGround;
+
+            ViewHolder(View itemView) {
+                super(itemView);
+                dayTextView = itemView.findViewById(R.id.custom_day);
+                circleBackGround = itemView.findViewById(R.id.circle);
+                itemView.setOnClickListener(this);
+            }
+
+            @Override
+            public void onClick(View view) {
+                selectedDay.set(Calendar.DATE, getAdapterPosition() + 1);
+                callbackDay.set(LEAP_YEAR, selectedDay.get(Calendar.MONTH), 
getAdapterPosition() + 1);
+                setDayString();
+                notifyDataSetChanged();
+            }
+
+            void setFields(int position) {
+                if ((position == today.get(Calendar.DATE)) && 
(today.get(Calendar.MONTH) == selectedDay.get(Calendar.MONTH))) {
+                    
dayTextView.setTextColor(ResourceUtil.getThemedColor(getContext(), 
R.attr.colorAccent));
+                } else {
+                    
dayTextView.setTextColor(ResourceUtil.getThemedColor(getContext(), 
R.attr.primary_text_color));
+                }
+
+                if (position == callbackDay.get(Calendar.DATE) && 
(selectedDay.get(Calendar.MONTH) == callbackDay.get(Calendar.MONTH))) {
+                    
dayTextView.setTextColor(ResourceUtil.getThemedColor(getContext(), 
R.attr.paper_color));
+                    dayTextView.setTypeface(Typeface.DEFAULT_BOLD);
+                    circleBackGround.setVisibility(View.VISIBLE);
+                } else {
+                    dayTextView.setTypeface(Typeface.DEFAULT);
+                    circleBackGround.setVisibility(View.GONE);
+                }
+
+                dayTextView.setText(String.format(Locale.getDefault(), "%d", 
(position)));
+            }
+
+        }
+
+    }
+
+
+    private void setDayString() {
+        day.setText(DateUtil.getFeedCardShortDateString(selectedDay));
+    }
+
+
+    public void setSelectedDay(int month, int day) {
+        selectedDay.set(LEAP_YEAR, month, day);
+        callbackDay.set(LEAP_YEAR, month, day);
+    }
+
+}
diff --git a/app/src/main/res/drawable/ic_arrow_drop_down_black_24dp.xml 
b/app/src/main/res/drawable/ic_arrow_drop_down_black_24dp.xml
new file mode 100644
index 0000000..ca7cedd
--- /dev/null
+++ b/app/src/main/res/drawable/ic_arrow_drop_down_black_24dp.xml
@@ -0,0 +1,5 @@
+<vector android:autoMirrored="true" android:height="24dp"
+    android:viewportHeight="24.0" android:viewportWidth="24.0"
+    android:width="24dp" 
xmlns:android="http://schemas.android.com/apk/res/android";>
+    <path android:fillColor="#FF000000" android:pathData="M7,10l5,5 5,-5z"/>
+</vector>
diff --git a/app/src/main/res/drawable/ic_empty_event.xml 
b/app/src/main/res/drawable/ic_empty_event.xml
new file mode 100644
index 0000000..86f5a13
--- /dev/null
+++ b/app/src/main/res/drawable/ic_empty_event.xml
@@ -0,0 +1,9 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android";
+        android:width="24dp"
+        android:height="24dp"
+        android:viewportWidth="24.0"
+        android:viewportHeight="24.0">
+    <path
+        android:pathData="M16,1L16,3L8,3L8,1L6,1L6,3L5,3A2,2 0,0 0,3 
5L3,19a2,2 0,0 0,2 2L19,21a2,2 0,0 0,2 -2L21,5a2,2 0,0 0,-2 
-2L18,3L18,1ZM19,19L5,19L5,8L19,8Z"
+        android:fillColor="#fff"/>
+</vector>
diff --git a/app/src/main/res/layout/date_picker_dialog.xml 
b/app/src/main/res/layout/date_picker_dialog.xml
new file mode 100644
index 0000000..205f96e
--- /dev/null
+++ b/app/src/main/res/layout/date_picker_dialog.xml
@@ -0,0 +1,95 @@
+<?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="320dp"
+    android:layout_height="432dp"
+    android:background="?attr/paper_color"
+    android:orientation="vertical">
+
+    <LinearLayout
+        android:layout_width="320dp"
+        android:layout_height="110dp"
+        android:background="?attr/main_toolbar_color"
+        android:gravity="center_vertical"
+        android:orientation="vertical"
+        android:padding="24dp">
+
+        <TextView
+            android:id="@+id/otd"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:alpha="0.7"
+            android:fontFamily="sans-serif-medium"
+            android:lineSpacingExtra="4sp"
+            android:text="@string/on_this_day_card_title"
+            android:textColor="@color/base100"
+            android:textSize="16sp"
+            android:textStyle="normal"
+            tools:text="ON THIS DAY" />
+
+        <TextView
+            android:id="@+id/day"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:fontFamily="sans-serif-medium"
+            android:text=""
+            android:textColor="@color/base100"
+            android:textSize="34sp"
+            android:textStyle="normal" />
+    </LinearLayout>
+
+    <LinearLayout
+        android:layout_width="320dp"
+        android:layout_height="wrap_content"
+        android:gravity="center_horizontal"
+        android:orientation="vertical"
+        android:background="?attr/paper_color"
+        android:paddingStart="16dp"
+        android:paddingEnd="16dp"
+        android:paddingTop="16dp">
+
+        <LinearLayout
+            android:layout_width="match_parent"
+            android:layout_height="24dp">
+
+            <ImageView
+                android:id="@+id/previous_month"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:scaleX="-1"
+                android:layout_gravity="center_vertical"
+                android:tint="?attr/secondary_text_color"
+                app:srcCompat="@drawable/ic_chevron_forward_gray" />
+
+            <TextView
+                android:id="@+id/month_string"
+                android:layout_width="0dp"
+                android:layout_height="wrap_content"
+                android:layout_weight="1"
+                android:fontFamily="sans-serif"
+                android:gravity="center"
+                android:layout_gravity="center_vertical"
+                android:text=""
+                android:textColor="?attr/primary_text_color"
+                android:textSize="14sp"
+                android:textStyle="normal"
+                tools:text="November 1" />
+
+            <ImageView
+                android:id="@+id/next_month"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:tint="?attr/secondary_text_color"
+                android:layout_gravity="center_vertical"
+                app:srcCompat="@drawable/ic_chevron_forward_gray" />
+        </LinearLayout>
+
+        <android.support.v7.widget.RecyclerView
+            android:id="@+id/grid"
+            android:layout_marginTop="24dp"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content" />
+    </LinearLayout>
+
+</LinearLayout>
\ No newline at end of file
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 7037930..7e2f420 100644
--- a/app/src/main/res/layout/fragment_on_this_day.xml
+++ b/app/src/main/res/layout/fragment_on_this_day.xml
@@ -34,32 +34,46 @@
                     android:layout_height="match_parent"
                     android:layout_gravity="bottom"
                     android:layout_marginStart="72dp"
-                    android:paddingBottom="20dp"
-                    android:orientation="vertical">
+                    android:orientation="vertical"
+                    android:paddingBottom="20dp">
 
-                    <TextView
-                        android:id="@+id/day"
-                        style="@style/RtlAwareTextView"
-                        android:layout_width="wrap_content"
+                    <LinearLayout
+                        android:layout_width="match_parent"
                         android:layout_height="wrap_content"
-                        android:layout_marginBottom="4dp"
-                        android:layout_marginEnd="12dp"
-                        android:fontFamily="serif"
-                        android:textColor="?attr/primary_text_color"
-                        android:textSize="24sp"
-                        android:textStyle="normal"
-                        android:transitionName="@string/transition_on_this_day"
-                        tools:text="January 1" />
+                        android:orientation="horizontal">
+
+                        <TextView
+                            android:id="@+id/day"
+                            style="@style/RtlAwareTextView"
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:layout_marginBottom="4dp"
+                            android:layout_marginEnd="8dp"
+                            android:fontFamily="serif"
+                            android:textColor="?attr/primary_text_color"
+                            android:textSize="24sp"
+                            android:textStyle="normal"
+                            
android:transitionName="@string/transition_on_this_day"
+                            tools:text="January 1" />
+
+                        <ImageView
+                            android:id="@+id/drop_down"
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:layout_gravity="center_vertical"
+                            android:tint="@color/base100"
+                            
app:srcCompat="@drawable/ic_arrow_drop_down_black_24dp" />
+                    </LinearLayout>
 
                     <TextView
                         style="@style/RtlAwareTextView"
                         android:layout_width="wrap_content"
                         android:layout_height="wrap_content"
-                        android:textColor="@color/base100"
-                        android:textSize="14sp"
                         android:alpha="0.5"
+                        android:text="@string/on_this_day_card_title"
                         android:textAllCaps="true"
-                        android:text="@string/on_this_day_card_title"/>
+                        android:textColor="@color/base100"
+                        android:textSize="14sp" />
 
                     <TextView
                         android:id="@+id/day_info_text_view"
@@ -67,9 +81,9 @@
                         android:layout_width="wrap_content"
                         android:layout_height="wrap_content"
                         android:layout_marginTop="2dp"
+                        android:alpha="0.5"
                         android:textColor="@color/base100"
-                        android:textSize="14sp"
-                        android:alpha="0.5"/>
+                        android:textSize="14sp" />
 
                 </LinearLayout>
 
@@ -77,20 +91,79 @@
                     android:id="@+id/calendar"
                     android:layout_width="96dp"
                     android:layout_height="106dp"
-                    android:layout_marginBottom="-36dp"
                     android:layout_gravity="bottom|end"
-                    android:tint="@color/base100"
+                    android:layout_marginBottom="-36dp"
                     android:alpha="0.5"
-                    app:srcCompat="@drawable/ic_event_black_24dp"
-                    android:contentDescription="@null"/>
+                    android:contentDescription="@null"
+                    android:tint="@color/base100"
+                    app:srcCompat="@drawable/ic_event_black_24dp" />
             </FrameLayout>
 
             <android.support.v7.widget.Toolbar
                 android:id="@+id/toolbar"
                 android:layout_width="match_parent"
                 android:layout_height="?attr/actionBarSize"
+                android:gravity="center_vertical"
                 android:theme="@style/ToolbarTheme"
-                app:layout_collapseMode="pin" />
+                app:layout_collapseMode="pin">
+
+                <LinearLayout
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:gravity="start|center_vertical"
+                    android:orientation="horizontal">
+
+                    <TextView
+                        android:id="@+id/toolbar_day"
+                        style="@style/RtlAwareTextView"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:layout_marginEnd="8dp"
+                        android:fontFamily="sans-serif-medium"
+                        android:letterSpacing="0.01"
+                        android:lineSpacingExtra="8sp"
+                        android:textColor="@color/base100"
+                        android:textSize="20sp"
+                        android:gravity="center_vertical"
+                        android:textStyle="normal"
+                        tools:text="January 1" />
+
+                    <ImageView
+                        android:id="@+id/drop_down_toolbar"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:tint="@color/base100"
+                        
app:srcCompat="@drawable/ic_arrow_drop_down_black_24dp" />
+                </LinearLayout>
+
+                <FrameLayout
+                    android:id="@+id/indicator_layout"
+                    android:layout_width="24dp"
+                    android:layout_height="24dp"
+                    android:layout_gravity="end"
+                    android:layout_marginEnd="16dp"
+                    android:alpha="0.5"
+                    android:clickable="false">
+
+                    <ImageView
+                        android:layout_width="24dp"
+                        android:layout_height="24dp"
+                        android:contentDescription="@null"
+                        android:tint="@color/base100"
+                        app:srcCompat="@drawable/ic_empty_event" />
+
+                    <TextView
+                        android:id="@+id/indicator_date"
+                        android:layout_width="12dp"
+                        android:layout_height="10dp"
+                        android:layout_marginStart="6dp"
+                        android:layout_marginTop="8dp"
+                        android:gravity="center"
+                        android:textColor="@color/base100"
+                        android:textSize="8sp"
+                        tools:text="12" />
+                </FrameLayout>
+            </android.support.v7.widget.Toolbar>
 
         </android.support.design.widget.CollapsingToolbarLayout>
 
@@ -114,13 +187,13 @@
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:layout_gravity="center_horizontal"
-            android:layout_marginTop="48dp"/>
+            android:layout_marginTop="48dp" />
 
         <org.wikipedia.views.WikiErrorView
             android:id="@+id/on_this_day_error_view"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:layout_gravity="center_horizontal"/>
+            android:layout_gravity="center_horizontal" />
 
     </FrameLayout>
 
diff --git a/app/src/main/res/layout/view_custom_calendar_day.xml 
b/app/src/main/res/layout/view_custom_calendar_day.xml
new file mode 100644
index 0000000..a85c4c5
--- /dev/null
+++ b/app/src/main/res/layout/view_custom_calendar_day.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8"?>
+<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android";
+    xmlns:app="http://schemas.android.com/apk/res-auto";
+    android:layout_width="40dp"
+    android:layout_height="40dp"
+    android:gravity="center">
+
+    <ImageView
+        android:id="@+id/circle"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:tint="?attr/colorAccent"
+        android:visibility="gone"
+        app:srcCompat="@drawable/shape_circle" />
+
+    <TextView
+        android:id="@+id/custom_day"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:gravity="center"
+        android:textSize="12sp"
+        android:fontFamily="sans-serif"
+        android:textStyle="normal"
+        android:textColor="?attr/primary_text_color" />
+</FrameLayout>
\ No newline at end of file
diff --git a/app/src/main/res/values/styles_dark.xml 
b/app/src/main/res/values/styles_dark.xml
index 8685b65..a1771b5 100644
--- a/app/src/main/res/values/styles_dark.xml
+++ b/app/src/main/res/values/styles_dark.xml
@@ -88,6 +88,7 @@
         <item name="windowActionBar">false</item>
         <item name="windowNoTitle">true</item>
         <item name="colorAccent">@color/accent75</item>
+        <item name="android:colorBackground">?attr/paper_color</item>
     </style>
 
     <style name="PopupMenuDark" parent="Widget.AppCompat.PopupMenu">
diff --git a/app/src/main/res/values/styles_light.xml 
b/app/src/main/res/values/styles_light.xml
index 71ec1e6..fa348a4 100644
--- a/app/src/main/res/values/styles_light.xml
+++ b/app/src/main/res/values/styles_light.xml
@@ -88,6 +88,7 @@
         <item name="windowActionBar">false</item>
         <item name="windowNoTitle">true</item>
         <item name="colorAccent">@color/accent50</item>
+        <item name="android:colorBackground">?attr/paper_color</item>
     </style>
 
     <style name="PopupMenuLight" parent="Widget.AppCompat.Light.PopupMenu">

-- 
To view, visit https://gerrit.wikimedia.org/r/395808
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I8f7569eec17779b6d72b0665938e0f2ac28ff496
Gerrit-PatchSet: 19
Gerrit-Project: apps/android/wikipedia
Gerrit-Branch: master
Gerrit-Owner: Sharvaniharan <[email protected]>
Gerrit-Reviewer: Brion VIBBER <[email protected]>
Gerrit-Reviewer: Cooltey <[email protected]>
Gerrit-Reviewer: Dbrant <[email protected]>
Gerrit-Reviewer: Sharvaniharan <[email protected]>
Gerrit-Reviewer: jenkins-bot <>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to