From 5d379af84d583d8598396f03fb50fef25cb76091 Mon Sep 17 00:00:00 2001 From: Camil Staps Date: Thu, 16 Apr 2015 14:19:12 +0200 Subject: Added first, basic version of daily reading widget, with non-working-yet settings --- app/src/main/AndroidManifest.xml | 21 ++++++++++-- app/src/main/java/com/camilstaps/taize/Bible.java | 2 +- .../taize/DailyReadingWidgetProvider.java | 39 ++++++++++++++++++++++ .../com/camilstaps/taize/SettingsActivity.java | 14 ++++---- app/src/main/java/com/camilstaps/taize/Taize.java | 4 +-- app/src/main/res/layout/daily_reading_widget.xml | 14 ++++++++ app/src/main/res/values-nl/strings.xml | 8 +++++ app/src/main/res/values-v14/dimens.xml | 4 +++ app/src/main/res/values/dimens.xml | 2 ++ app/src/main/res/values/preference_values.xml | 15 +++++++++ app/src/main/res/values/strings.xml | 5 +++ app/src/main/res/xml/daily_reading_widget_info.xml | 14 ++++++++ app/src/main/res/xml/preferences.xml | 16 ++++++++- 13 files changed, 145 insertions(+), 13 deletions(-) create mode 100644 app/src/main/java/com/camilstaps/taize/DailyReadingWidgetProvider.java create mode 100644 app/src/main/res/layout/daily_reading_widget.xml create mode 100644 app/src/main/res/values-v14/dimens.xml create mode 100644 app/src/main/res/xml/daily_reading_widget_info.xml (limited to 'app/src') diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index ef7c43a..cd5b09f 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -1,6 +1,8 @@ - + @@ -9,7 +11,8 @@ android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" - android:theme="@style/AppTheme" > + android:theme="@style/AppTheme"> + @@ -26,6 +29,18 @@ android:name="android.support.PARENT_ACTIVITY" android:value=".MainActivity" /> + + + + + + + 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() { + @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(); diff --git a/app/src/main/res/layout/daily_reading_widget.xml b/app/src/main/res/layout/daily_reading_widget.xml new file mode 100644 index 0000000..dead194 --- /dev/null +++ b/app/src/main/res/layout/daily_reading_widget.xml @@ -0,0 +1,14 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml index cb56a78..0116ed6 100644 --- a/app/src/main/res/values-nl/strings.xml +++ b/app/src/main/res/values-nl/strings.xml @@ -4,4 +4,12 @@ Instellingen Delen Vandaag + Deel bijbeltekst + Deel korte lezing + Deel beide + Kon de podcasts niet ophalen + Dagelijkse lezing + Algemeen + Widget + Thema widget diff --git a/app/src/main/res/values-v14/dimens.xml b/app/src/main/res/values-v14/dimens.xml new file mode 100644 index 0000000..378aaaf --- /dev/null +++ b/app/src/main/res/values-v14/dimens.xml @@ -0,0 +1,4 @@ + + + 0dp + \ No newline at end of file diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml index 8486494..5c1363e 100644 --- a/app/src/main/res/values/dimens.xml +++ b/app/src/main/res/values/dimens.xml @@ -3,4 +3,6 @@ 10dp 18sp + 8dp + diff --git a/app/src/main/res/values/preference_values.xml b/app/src/main/res/values/preference_values.xml index fbf01fd..e2d3574 100644 --- a/app/src/main/res/values/preference_values.xml +++ b/app/src/main/res/values/preference_values.xml @@ -147,4 +147,19 @@ xhosa + + Light + Dark + Transparent, light text + Transparent, dark text + + + light + dark + transparent-light + transparent-dark + + light + Light + diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 68af279..1b7f4b6 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -11,4 +11,9 @@ @string/action_settings Couldn\'t fetch podcasts + + Daily Reading + General + Widget + Widget theme diff --git a/app/src/main/res/xml/daily_reading_widget_info.xml b/app/src/main/res/xml/daily_reading_widget_info.xml new file mode 100644 index 0000000..1014ed8 --- /dev/null +++ b/app/src/main/res/xml/daily_reading_widget_info.xml @@ -0,0 +1,14 @@ + + \ No newline at end of file diff --git a/app/src/main/res/xml/preferences.xml b/app/src/main/res/xml/preferences.xml index 1525761..baff3a7 100644 --- a/app/src/main/res/xml/preferences.xml +++ b/app/src/main/res/xml/preferences.xml @@ -1,7 +1,7 @@ + + + + + + \ No newline at end of file -- cgit v1.2.3