diff options
author | Camil Staps | 2015-04-16 14:19:12 +0200 |
---|---|---|
committer | Camil Staps | 2015-04-16 14:19:12 +0200 |
commit | 5d379af84d583d8598396f03fb50fef25cb76091 (patch) | |
tree | f7ce2412e6df1b8e1212b2be0fb7e9d98d09a173 /app/src/main/java/com | |
parent | Update daily meditations automatically when the user changes the language (diff) |
Added first, basic version of daily reading widget, with non-working-yet settings
Diffstat (limited to 'app/src/main/java/com')
4 files changed, 50 insertions, 9 deletions
diff --git a/app/src/main/java/com/camilstaps/taize/Bible.java b/app/src/main/java/com/camilstaps/taize/Bible.java index 0e90ccb..abb1890 100644 --- a/app/src/main/java/com/camilstaps/taize/Bible.java +++ b/app/src/main/java/com/camilstaps/taize/Bible.java @@ -50,7 +50,7 @@ public class Bible { * @return the version from the preferences */ public static String getVersion(Context context) { - return PreferenceManager.getDefaultSharedPreferences(context).getString(SettingsActivity.GeneralSettingsFragment.PREF_VERSION_BIBLE, context.getResources().getString(R.string.pref_version_bible_default)); + return PreferenceManager.getDefaultSharedPreferences(context).getString(SettingsActivity.SettingsFragment.PREF_VERSION_BIBLE, context.getResources().getString(R.string.pref_version_bible_default)); } /** diff --git a/app/src/main/java/com/camilstaps/taize/DailyReadingWidgetProvider.java b/app/src/main/java/com/camilstaps/taize/DailyReadingWidgetProvider.java new file mode 100644 index 0000000..158f71e --- /dev/null +++ b/app/src/main/java/com/camilstaps/taize/DailyReadingWidgetProvider.java @@ -0,0 +1,39 @@ +package com.camilstaps.taize; + +import android.appwidget.AppWidgetManager; +import android.appwidget.AppWidgetProvider; +import android.appwidget.AppWidgetProviderInfo; +import android.content.Context; +import android.os.Bundle; +import android.widget.RemoteViews; +import android.widget.Toast; + +import com.camilstaps.common.Date; +import com.camilstaps.common.Listener; + +/** + * AppWidgetProvider for Daily Readings + * @author Camil Staps + */ +public class DailyReadingWidgetProvider extends AppWidgetProvider { + + @Override + public void onUpdate(final Context context, final AppWidgetManager appWidgetManager, final int[] appWidgetIds) { + + Taize.getDailyReading(context, new Listener<DailyReading>() { + @Override + public void success(DailyReading data) { + RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.daily_reading_widget); + views.setTextViewText(R.id.widget_daily_reading_text, data.getString()); + for (int i = 0; i < appWidgetIds.length; i++) { + appWidgetManager.updateAppWidget(appWidgetIds[i], views); + } + } + + @Override + public void failure() { + } + }, new Date()); + } + +} diff --git a/app/src/main/java/com/camilstaps/taize/SettingsActivity.java b/app/src/main/java/com/camilstaps/taize/SettingsActivity.java index bdf6187..96d8ef8 100644 --- a/app/src/main/java/com/camilstaps/taize/SettingsActivity.java +++ b/app/src/main/java/com/camilstaps/taize/SettingsActivity.java @@ -20,7 +20,7 @@ public class SettingsActivity extends PreferenceActivity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - getFragmentManager().beginTransaction().replace(android.R.id.content, new GeneralSettingsFragment()).commit(); + getFragmentManager().beginTransaction().replace(android.R.id.content, new SettingsFragment()).commit(); } /** @@ -44,7 +44,7 @@ public class SettingsActivity extends PreferenceActivity { }; /** - * Bind the summary of a prefernce to its value + * Bind the summary of a preference to its value * @param pref */ private static void bindSummaryToValue(Preference pref) { @@ -53,11 +53,12 @@ public class SettingsActivity extends PreferenceActivity { } /** - * The general settings fragment + * The settings fragment */ - public static class GeneralSettingsFragment extends PreferenceFragment { + public static class SettingsFragment extends PreferenceFragment { public static final String PREF_LANGUAGE_READINGS = "pref_language_reading"; public static final String PREF_VERSION_BIBLE = "pref_version_bible"; + public static final String PREF_THEME_WIDGET = "pref_theme_widget"; private SharedPreferences.OnSharedPreferenceChangeListener sharedPreferenceChangeListener; @@ -72,14 +73,15 @@ public class SettingsActivity extends PreferenceActivity { bindSummaryToValue(findPreference(PREF_LANGUAGE_READINGS)); bindSummaryToValue(findPreference(PREF_VERSION_BIBLE)); + bindSummaryToValue(findPreference(PREF_THEME_WIDGET)); sharedPreferenceChangeListener = new SharedPreferences.OnSharedPreferenceChangeListener() { @Override public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) { - if (key.equals(GeneralSettingsFragment.PREF_LANGUAGE_READINGS)) { + if (key.equals(SettingsFragment.PREF_LANGUAGE_READINGS)) { DatedStringPreferenceSet.clear(context, "dailyreadings"); DatedStringPreferenceSet.clear(context, "dailymeditations"); - } else if (key.equals(GeneralSettingsFragment.PREF_VERSION_BIBLE)) { + } else if (key.equals(SettingsFragment.PREF_VERSION_BIBLE)) { DatedStringPreferenceSet.clear(context, "dailyreadingbibletexts"); } } diff --git a/app/src/main/java/com/camilstaps/taize/Taize.java b/app/src/main/java/com/camilstaps/taize/Taize.java index 1f902e0..32619ea 100644 --- a/app/src/main/java/com/camilstaps/taize/Taize.java +++ b/app/src/main/java/com/camilstaps/taize/Taize.java @@ -204,7 +204,7 @@ public class Taize { try { retrieve.execute(url_reading_feed - + "?lang=" + PreferenceManager.getDefaultSharedPreferences(context).getString(SettingsActivity.GeneralSettingsFragment.PREF_LANGUAGE_READINGS, "en") + + "?lang=" + PreferenceManager.getDefaultSharedPreferences(context).getString(SettingsActivity.SettingsFragment.PREF_LANGUAGE_READINGS, "en") + "&date=" + date.toString() ).get(); } catch (Exception e) { @@ -269,7 +269,7 @@ public class Taize { try { retrieve.execute(url_meditation_feed + "?lang=" + PreferenceManager.getDefaultSharedPreferences(context).getString( - SettingsActivity.GeneralSettingsFragment.PREF_LANGUAGE_READINGS, + SettingsActivity.SettingsFragment.PREF_LANGUAGE_READINGS, context.getString(R.string.pref_language_dailyreading_default)) + "&date=" + date.toString() ).get(); |