diff options
author | Camil Staps | 2015-04-15 12:59:32 +0200 |
---|---|---|
committer | Camil Staps | 2015-04-15 12:59:32 +0200 |
commit | 88041c0a7fd2c69094f1bb0ab1d15518cd1fd75d (patch) | |
tree | 5ee8cf6d2c3513f9a794ef9ae8dc9303c58b33e1 /app/src/main/java/com/camilstaps/taize/DailyMeditationFragment.java | |
parent | New 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.java | 101 |
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); + } +} |