aboutsummaryrefslogtreecommitdiff
path: root/app/src/main/java/com/camilstaps/taize/DailyMeditationFragment.java
diff options
context:
space:
mode:
authorCamil Staps2015-04-15 12:59:32 +0200
committerCamil Staps2015-04-15 12:59:32 +0200
commit88041c0a7fd2c69094f1bb0ab1d15518cd1fd75d (patch)
tree5ee8cf6d2c3513f9a794ef9ae8dc9303c58b33e1 /app/src/main/java/com/camilstaps/taize/DailyMeditationFragment.java
parentNew version readme (diff)
Working tabs & meditations
Diffstat (limited to 'app/src/main/java/com/camilstaps/taize/DailyMeditationFragment.java')
-rw-r--r--app/src/main/java/com/camilstaps/taize/DailyMeditationFragment.java101
1 files changed, 101 insertions, 0 deletions
diff --git a/app/src/main/java/com/camilstaps/taize/DailyMeditationFragment.java b/app/src/main/java/com/camilstaps/taize/DailyMeditationFragment.java
new file mode 100644
index 0000000..4e1d4be
--- /dev/null
+++ b/app/src/main/java/com/camilstaps/taize/DailyMeditationFragment.java
@@ -0,0 +1,101 @@
+package com.camilstaps.taize;
+
+import android.content.Context;
+import android.content.SharedPreferences;
+import android.os.Bundle;
+import android.preference.PreferenceManager;
+import android.support.v4.app.Fragment;
+import android.util.Log;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.view.ViewTreeObserver;
+import android.widget.TextView;
+
+import com.camilstaps.common.Date;
+import com.camilstaps.common.Listener;
+import com.camilstaps.common.NullListener;
+
+/**
+ * Created by camilstaps on 8-4-15.
+ */
+public class DailyMeditationFragment extends Fragment {
+
+ private SharedPreferences.OnSharedPreferenceChangeListener sharedPreferenceChangeListener;
+ private ViewTreeObserver.OnScrollChangedListener onScrollChangedListener;
+ private View rootView;
+ private Context context;
+
+ private Date date;
+
+ @Override
+ public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
+ rootView = inflater.inflate(R.layout.pager_content_dailymeditation, container, false);
+
+ context = container.getContext();
+
+ Bundle args = getArguments();
+ int dateOffset = args.getInt("dateOffset", 0);
+
+ date = new Date();
+ date.addOrSubtractDays(dateOffset);
+
+ setupContent();
+
+ onScrollChangedListener = new ViewTreeObserver.OnScrollChangedListener() {
+ @Override
+ public void onScrollChanged() {
+ Log.d("DMF", "Scrolling to (" + rootView.getScrollX() + "," + rootView.getScrollY() + ")");
+ /*if (rootView.getScrollY() > 0) {
+ ((MainActivity) context).swipeRefreshLayout.setEnabled(false);
+ } else {
+ ((MainActivity) context).swipeRefreshLayout.setEnabled(true);
+ }*/
+ }
+ };
+ rootView.findViewById(R.id.pager_content).getViewTreeObserver().addOnScrollChangedListener(onScrollChangedListener);
+
+ return rootView;
+ }
+
+ @Override
+ public void onActivityCreated(Bundle savedInstanceState) {
+ super.onActivityCreated(savedInstanceState);
+
+ sharedPreferenceChangeListener = new SharedPreferences.OnSharedPreferenceChangeListener() {
+ @Override
+ public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
+ switch (key) {
+ case "dailymeditations":
+ setupContent();
+ break;
+ }
+ }
+ };
+ PreferenceManager.getDefaultSharedPreferences(context).registerOnSharedPreferenceChangeListener(sharedPreferenceChangeListener);
+ }
+
+ protected void setupContent() {
+ setDailyMeditation(new NullListener<DailyMeditation>());
+ }
+
+ public void setDailyMeditation(final Listener<DailyMeditation> listener) {
+ Taize.getDailyMeditation(context, new Listener<DailyMeditation>() {
+ @Override
+ public void success(DailyMeditation data) {
+ ((TextView) rootView.findViewById(R.id.textDailyMeditation)).setText(data.getString());
+ listener.success(data);
+ }
+
+ @Override
+ public void failure() {
+ ((TextView) rootView.findViewById(R.id.textDailyMeditation)).setText("No reading found.");
+ listener.failure();
+ }
+ }, date);
+
+ String niceDate = date.toNiceString(context);
+ niceDate = niceDate.substring(0,1).toUpperCase() + niceDate.substring(1);
+ ((TextView) rootView.findViewById(R.id.dateDailyMeditation)).setText(niceDate);
+ }
+}