aboutsummaryrefslogtreecommitdiff
path: root/app/src/main/java/com/camilstaps/taize
diff options
context:
space:
mode:
authorCamil Staps2015-04-10 23:52:39 +0200
committerCamil Staps2015-04-10 23:52:39 +0200
commitdc4bb981827dc16b9a55c896c82cfe0fed3dbf8e (patch)
tree5f28892edfce7ade29199f740a648db83589ff12 /app/src/main/java/com/camilstaps/taize
parentMore cleanup (diff)
Swiping to previous dates works for daily readings (not for their bible texts)
Diffstat (limited to 'app/src/main/java/com/camilstaps/taize')
-rw-r--r--app/src/main/java/com/camilstaps/taize/DailyReadingFragment.java26
-rw-r--r--app/src/main/java/com/camilstaps/taize/MainActivity.java36
-rw-r--r--app/src/main/java/com/camilstaps/taize/Taize.java72
3 files changed, 50 insertions, 84 deletions
diff --git a/app/src/main/java/com/camilstaps/taize/DailyReadingFragment.java b/app/src/main/java/com/camilstaps/taize/DailyReadingFragment.java
index 8fc5258..29ae77f 100644
--- a/app/src/main/java/com/camilstaps/taize/DailyReadingFragment.java
+++ b/app/src/main/java/com/camilstaps/taize/DailyReadingFragment.java
@@ -1,5 +1,6 @@
package com.camilstaps.taize;
+import android.content.Context;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.preference.PreferenceManager;
@@ -19,8 +20,10 @@ import com.camilstaps.common.Listener;
public class DailyReadingFragment extends Fragment {
private SharedPreferences.OnSharedPreferenceChangeListener sharedPreferenceChangeListener;
+ private View rootView;
+ private Context context;
- View rootView;
+ private Date date;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
@@ -28,8 +31,13 @@ public class DailyReadingFragment extends Fragment {
// properly.
rootView = inflater.inflate(R.layout.pager_content, container, false);
- //Bundle args = getArguments();
- //((TextView) rootView.findViewById(R.id.pager_content_text)).setText(args.getString("text"));
+ context = container.getContext();
+
+ Bundle args = getArguments();
+ int dateOffset = args.getInt("dateOffset", 0);
+
+ date = new Date();
+ date.subtractDays(dateOffset);
setupContent();
@@ -51,20 +59,16 @@ public class DailyReadingFragment extends Fragment {
}
}
};
- PreferenceManager.getDefaultSharedPreferences(getActivity()).registerOnSharedPreferenceChangeListener(sharedPreferenceChangeListener);
+ PreferenceManager.getDefaultSharedPreferences(context).registerOnSharedPreferenceChangeListener(sharedPreferenceChangeListener);
}
protected void setupContent() {
setDailyReading();
setDailyReadingBibleText();
-
- Log.d("MAIN", "Setting up content");
}
private void setDailyReading() {
- Date date = new Date();
-
- Taize.getDailyReading(getActivity(), new Listener<DailyReading>() {
+ Taize.getDailyReading(context, new Listener<DailyReading>() {
@Override
public void success(DailyReading data) {
((TextView) rootView.findViewById(R.id.textDailyReading)).setText(data.getTextWithoutReference());
@@ -79,13 +83,13 @@ public class DailyReadingFragment extends Fragment {
}
}, date);
- String niceDate = date.toNiceString(getActivity());
+ String niceDate = date.toNiceString(context);
niceDate = niceDate.substring(0,1).toUpperCase() + niceDate.substring(1);
((TextView) rootView.findViewById(R.id.dateDailyReading)).setText(niceDate);
}
private void setDailyReadingBibleText() {
- Taize.getDailyReadingBibleText(getActivity(), new Listener<String>() {
+ Taize.getDailyReadingBibleText(context, new Listener<String>() {
@Override
public void success(String data) {
((TextView) rootView.findViewById(R.id.textDailyReadingBibleText)).setText(data);
diff --git a/app/src/main/java/com/camilstaps/taize/MainActivity.java b/app/src/main/java/com/camilstaps/taize/MainActivity.java
index 82b7899..bd5ba1e 100644
--- a/app/src/main/java/com/camilstaps/taize/MainActivity.java
+++ b/app/src/main/java/com/camilstaps/taize/MainActivity.java
@@ -5,13 +5,18 @@ import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentStatePagerAdapter;
import android.support.v4.app.FragmentTransaction;
+import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.support.v7.app.ActionBar;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
+import android.util.Log;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
+import android.view.MotionEvent;
+import android.view.View;
+import android.view.ViewGroup;
public class MainActivity extends ActionBarActivity {
@@ -22,11 +27,14 @@ public class MainActivity extends ActionBarActivity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
+ Taize.cleanDailyReadingsSet(this);
+
setContentView(R.layout.activity_main);
pager = (ViewPager) findViewById(R.id.pager);
pagerAdapter = new PagerAdapter(getSupportFragmentManager());
pager.setAdapter(pagerAdapter);
+ pager.setCurrentItem(Integer.MAX_VALUE, false);
final ActionBar actionBar = getSupportActionBar();
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
@@ -94,10 +102,12 @@ public class MainActivity extends ActionBarActivity {
@Override
public Fragment getItem(int i) {
- DailyReadingFragment fragment = new DailyReadingFragment();
- /*Bundle args = new Bundle();
- args.putString("text", "Hello world! " + i);
- fragment.setArguments(args);*/
+ Fragment fragment = new DailyReadingFragment();
+
+ Bundle args = new Bundle();
+ args.putInt("dateOffset", i);
+ fragment.setArguments(args);
+
return fragment;
}
@@ -110,6 +120,24 @@ public class MainActivity extends ActionBarActivity {
public CharSequence getPageTitle(int position) {
return "OBJECT " + (position + 1);
}
+
+ @Override
+ public Object instantiateItem(ViewGroup container, int position) {
+ if (position < 2) {
+ return super.instantiateItem(container, position);
+ } else {
+ return super.instantiateItem(container, Integer.MAX_VALUE - position - 1);
+ }
+ }
+
+ @Override
+ public void destroyItem(ViewGroup container, int position, Object object) {
+ if (position < 2) {
+ super.destroyItem(container, position, object);
+ } else {
+ super.destroyItem(container, Integer.MAX_VALUE - position - 1, object);
+ }
+ }
}
}
diff --git a/app/src/main/java/com/camilstaps/taize/Taize.java b/app/src/main/java/com/camilstaps/taize/Taize.java
index 6bea168..00438be 100644
--- a/app/src/main/java/com/camilstaps/taize/Taize.java
+++ b/app/src/main/java/com/camilstaps/taize/Taize.java
@@ -160,71 +160,6 @@ public class Taize {
}
}
- /**
- * Force fetching a new daily reading
- * @see this#getDailyReading
- * @param context
- * @param listener
- */
- public static void forceNewDailyReading(final Context context, final Listener<String> listener) {
- PreferenceManager.getDefaultSharedPreferences(context).edit().putLong("dailyreadingfetch", 0).commit();
- getDailyReading(context, listener);
- }
-
- /**
- * Fetch the daily reading
- * @see this#forceNewDailyReading
- * @param context
- * @param listener
- */
- public static void getDailyReading(final Context context, final Listener<String> listener) {
- if (System.currentTimeMillis() - PreferenceManager.getDefaultSharedPreferences(context).getLong("dailyreadingfetch", 0) > 3600000) {
-
- RetrieveFeedTask retrieve = new RetrieveFeedTask();
- retrieve.setRssDownloadListener(new Listener<RssParser>() {
- @Override
- public void success(RssParser parser) {
- try {
- String reading = parser.getItem(0).description.trim();
-
- if (!reading.equals(PreferenceManager.getDefaultSharedPreferences(context).getString("dailyreading", ""))) {
- forceNewDailyReadingBibleText(context, new NullListener<String>());
- }
-
- SharedPreferences.Editor editor = PreferenceManager.getDefaultSharedPreferences(context).edit();
- editor.putString("dailyreading", reading);
- editor.putLong("dailyreadingfetch", System.currentTimeMillis());
- editor.apply();
-
- listener.success(reading);
- } catch (Exception e) {
- failure();
- }
- }
-
- @Override
- public void failure() {
- Toast.makeText(context, "Failed to fetch daily reading.", Toast.LENGTH_SHORT).show();
-
- listener.failure();
- }
- });
-
- try {
- retrieve.execute(url_reading_feed + "?lang=" + PreferenceManager.getDefaultSharedPreferences(context).getString(SettingsActivity.SettingsFragment.PREF_LANGUAGE_READINGS, "en")).get();
- } catch (InterruptedException e) {
- e.printStackTrace();
- } catch (ExecutionException e) {
- e.printStackTrace();
- }
-
- } else {
-
- listener.success(PreferenceManager.getDefaultSharedPreferences(context).getString("dailyreading", "No daily reading found."));
-
- }
- }
-
public static void getDailyReading(final Context context, final Listener<DailyReading> listener, Date date) {
Set<DailyReading> dailyReadings = getDailyReadingsSet(context);
@@ -263,19 +198,18 @@ public class Taize {
@Override
public void failure() {
Toast.makeText(context, "Failed to fetch daily reading.", Toast.LENGTH_SHORT).show();
-
listener.failure();
}
});
+
try {
retrieve.execute(url_reading_feed
+ "?lang=" + PreferenceManager.getDefaultSharedPreferences(context).getString(SettingsActivity.SettingsFragment.PREF_LANGUAGE_READINGS, "en")
+ "&date=" + date.toString()
).get();
- } catch (InterruptedException e) {
- e.printStackTrace();
- } catch (ExecutionException e) {
+ } catch (Exception e) {
e.printStackTrace();
+ listener.failure();
}
}