Sharvaniharan has uploaded a new change for review. ( 
https://gerrit.wikimedia.org/r/395808 )

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

[WIP] Add DatePicker on on-this-day full screen

- Date Picker has been added
- Todo: resolve SSLHandshakeException

Bug: T180372
Change-Id: I8f7569eec17779b6d72b0665938e0f2ac28ff496
---
M app/src/main/java/org/wikipedia/feed/onthisday/OnThisDayFragment.java
A app/src/main/java/org/wikipedia/views/DatePickerFragment.java
2 files changed, 61 insertions(+), 1 deletion(-)


  git pull ssh://gerrit.wikimedia.org:29418/apps/android/wikipedia 
refs/changes/08/395808/1

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..3222672 100644
--- a/app/src/main/java/org/wikipedia/feed/onthisday/OnThisDayFragment.java
+++ b/app/src/main/java/org/wikipedia/feed/onthisday/OnThisDayFragment.java
@@ -14,6 +14,7 @@
 import android.support.v7.widget.LinearLayoutManager;
 import android.support.v7.widget.RecyclerView;
 import android.support.v7.widget.Toolbar;
+import android.util.Log;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
@@ -29,6 +30,7 @@
 import org.wikipedia.util.DimenUtil;
 import org.wikipedia.util.ResourceUtil;
 import org.wikipedia.util.log.L;
+import org.wikipedia.views.DatePickerFragment;
 import org.wikipedia.views.DontInterceptTouchListener;
 import org.wikipedia.views.HeaderMarginItemDecoration;
 import org.wikipedia.views.MarginItemDecoration;
@@ -39,6 +41,7 @@
 
 import butterknife.BindView;
 import butterknife.ButterKnife;
+import butterknife.OnClick;
 import butterknife.Unbinder;
 import retrofit2.Call;
 import retrofit2.Callback;
@@ -46,7 +49,7 @@
 
 import static org.wikipedia.feed.onthisday.OnThisDayActivity.AGE;
 
-public class OnThisDayFragment extends Fragment {
+public class OnThisDayFragment extends Fragment implements 
DatePickerFragment.Callback{
     @BindView(R.id.day) TextView dayText;
     @BindView(R.id.collapsing_toolbar_layout) CollapsingToolbarLayout 
collapsingToolbarLayout;
     @BindView(R.id.day_info_text_view) TextView dayInfoTextView;
@@ -210,6 +213,21 @@
         recycler.setClipToPadding(false);
     }
 
+    @Override
+    public void onDatePicked(int year, int month, int day) {
+        eventsRecycler.setVisibility(View.GONE);
+        progressBar.setVisibility(View.VISIBLE);
+        date.set(year, month, day, 0, 0);
+        requestEvents(month, day);
+    }
+
+    @OnClick(R.id.calendar)
+    public void onCalendarClicked() {
+        DatePickerFragment newFragment = new DatePickerFragment();
+        newFragment.setCallback(OnThisDayFragment.this);
+        newFragment.show(getFragmentManager(), "date picker");
+    }
+
     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/views/DatePickerFragment.java 
b/app/src/main/java/org/wikipedia/views/DatePickerFragment.java
new file mode 100644
index 0000000..6b2d1fc
--- /dev/null
+++ b/app/src/main/java/org/wikipedia/views/DatePickerFragment.java
@@ -0,0 +1,42 @@
+package org.wikipedia.views;
+
+import android.app.DatePickerDialog;
+import android.app.Dialog;
+import android.os.Bundle;
+import android.support.annotation.NonNull;
+import android.support.v4.app.DialogFragment;
+import android.widget.DatePicker;
+
+import org.wikipedia.R;
+
+import java.util.Calendar;
+
+public class DatePickerFragment extends DialogFragment {
+    public interface Callback {
+        void onDatePicked(int year, int month, int day);
+    }
+    private Callback callback;
+    @Override
+    @NonNull
+    public Dialog onCreateDialog(Bundle savedInstanceState) {
+        final Calendar c = Calendar.getInstance();
+        int year = c.get(Calendar.YEAR);
+        int month = c.get(Calendar.MONTH);
+        int day = c.get(Calendar.DAY_OF_MONTH);
+        DatePickerDialog datePickerDialog = new 
DatePickerDialog(getActivity(), R.style.DialogLight, dateSetListener, year, 
month, day);
+        datePickerDialog.setCanceledOnTouchOutside(true);
+        return datePickerDialog;
+    }
+    private DatePickerDialog.OnDateSetListener dateSetListener =
+            new DatePickerDialog.OnDateSetListener() {
+                public void onDateSet(DatePicker view, int year, int month, 
int day) {
+                    if (callback != null) {
+                        callback.onDatePicked(year, month, day);
+                    }
+                }
+            };
+    public void setCallback(Callback callback) {
+        this.callback = callback;
+    }
+}
+

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I8f7569eec17779b6d72b0665938e0f2ac28ff496
Gerrit-PatchSet: 1
Gerrit-Project: apps/android/wikipedia
Gerrit-Branch: master
Gerrit-Owner: Sharvaniharan <sha...@wikimedia.org>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to