aboutsummaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authorCamil Staps2015-04-07 16:45:19 +0200
committerCamil Staps2015-04-07 16:45:19 +0200
commitc247f717759e0d56c94faa92c15ff0efd81f6610 (patch)
tree9a728f3e9771d69b2cbcef47baeb8ac2f6339f20 /app
parentinitial commit (diff)
Better layout
Diffstat (limited to 'app')
-rw-r--r--app/app.iml2
-rw-r--r--app/build.gradle2
-rw-r--r--app/src/main/java/com/camilstaps/taize/MainActivity.java53
-rw-r--r--app/src/main/java/com/camilstaps/taize/NavigationDrawerFragment.java35
-rw-r--r--app/src/main/java/com/camilstaps/taize/SettingsActivity.java17
-rw-r--r--app/src/main/java/com/camilstaps/taize/Taize.java18
-rw-r--r--app/src/main/res/layout/activity_main.xml31
7 files changed, 97 insertions, 61 deletions
diff --git a/app/app.iml b/app/app.iml
index 2192b64..f697a90 100644
--- a/app/app.iml
+++ b/app/app.iml
@@ -81,6 +81,8 @@
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/rs" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/symbols" />
<excludeFolder url="file://$MODULE_DIR$/build/outputs" />
+ <excludeFolder url="file://$MODULE_DIR$/build/reports" />
+ <excludeFolder url="file://$MODULE_DIR$/build/test-results" />
<excludeFolder url="file://$MODULE_DIR$/build/tmp" />
</content>
<orderEntry type="jdk" jdkName="Android API 21 Platform" jdkType="Android SDK" />
diff --git a/app/build.gradle b/app/build.gradle
index bd597c4..f5d15eb 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -13,7 +13,7 @@ android {
}
buildTypes {
release {
- minifyEnabled false
+ minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
diff --git a/app/src/main/java/com/camilstaps/taize/MainActivity.java b/app/src/main/java/com/camilstaps/taize/MainActivity.java
index b3bf748..8382683 100644
--- a/app/src/main/java/com/camilstaps/taize/MainActivity.java
+++ b/app/src/main/java/com/camilstaps/taize/MainActivity.java
@@ -2,6 +2,8 @@ package com.camilstaps.taize;
import android.app.Activity;
import android.content.Intent;
+import android.content.SharedPreferences;
+import android.preference.PreferenceManager;
import android.support.v7.app.ActionBarActivity;
import android.support.v7.app.ActionBar;
import android.support.v4.app.Fragment;
@@ -15,6 +17,8 @@ import android.view.ViewGroup;
import android.support.v4.widget.DrawerLayout;
import android.widget.TextView;
+import com.camilstaps.common.NullListener;
+
public class MainActivity extends ActionBarActivity
implements NavigationDrawerFragment.NavigationDrawerCallbacks {
@@ -29,33 +33,58 @@ public class MainActivity extends ActionBarActivity
*/
private CharSequence mTitle;
- private String reading;
+ private SharedPreferences.OnSharedPreferenceChangeListener sharedPreferenceChangeListener;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
- mNavigationDrawerFragment = (NavigationDrawerFragment)
- getSupportFragmentManager().findFragmentById(R.id.navigation_drawer);
+ mNavigationDrawerFragment = (NavigationDrawerFragment) getSupportFragmentManager().findFragmentById(R.id.navigation_drawer);
mTitle = getTitle();
// Set up the drawer.
- mNavigationDrawerFragment.setUp(
- R.id.navigation_drawer,
- (DrawerLayout) findViewById(R.id.drawer_layout));
+ mNavigationDrawerFragment.setUp(R.id.navigation_drawer, (DrawerLayout) findViewById(R.id.drawer_layout));
+
+ setupContent();
+
+ sharedPreferenceChangeListener = new SharedPreferences.OnSharedPreferenceChangeListener() {
+ @Override
+ public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
+ switch (key) {
+ case "dailyreading":
+ case "dailyreadingbible":
+ setupContent();
+ break;
+ }
+ }
+ };
+ PreferenceManager.getDefaultSharedPreferences(this).registerOnSharedPreferenceChangeListener(sharedPreferenceChangeListener);
}
@Override
- public void onSaveInstanceState(Bundle savedInstanceState) {
- super.onSaveInstanceState(savedInstanceState);
- savedInstanceState.putString("textview_dailyreading", ((TextView) findViewById(R.id.textDailyReading)).getText().toString());
+ public void onRestoreInstanceState(Bundle savedInstanceState) {
+ super.onRestoreInstanceState(savedInstanceState);
+ setupContent();
}
@Override
- public void onRestoreInstanceState(Bundle savedInstanceState) {
- super.onRestoreInstanceState(savedInstanceState);
- ((TextView) findViewById(R.id.textDailyReading)).setText(savedInstanceState.getString("textview_dailyreading"));
+ public void onResume() {
+ super.onResume();
+ setupContent();
+ }
+
+ protected void setupContent() {
+ setDailyReading();
+ setDailyReadingBibleText();
+ }
+
+ private void setDailyReading() {
+ ((TextView) findViewById(R.id.textDailyReading)).setText(PreferenceManager.getDefaultSharedPreferences(this).getString("dailyreading", "No daily reading found."));
+ }
+
+ private void setDailyReadingBibleText() {
+ ((TextView) findViewById(R.id.textDailyReadingBibleText)).setText(PreferenceManager.getDefaultSharedPreferences(this).getString("dailyreadingbible", "Could not fetch bible text."));
}
@Override
diff --git a/app/src/main/java/com/camilstaps/taize/NavigationDrawerFragment.java b/app/src/main/java/com/camilstaps/taize/NavigationDrawerFragment.java
index 3bb1556..c972e60 100644
--- a/app/src/main/java/com/camilstaps/taize/NavigationDrawerFragment.java
+++ b/app/src/main/java/com/camilstaps/taize/NavigationDrawerFragment.java
@@ -23,9 +23,11 @@ import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.TextView;
+import android.widget.Toast;
import com.android.volley.VolleyError;
import com.camilstaps.common.Listener;
+import com.camilstaps.common.NullListener;
/**
* Fragment used for managing interactions for and presentation of a navigation drawer.
@@ -252,37 +254,10 @@ public class NavigationDrawerFragment extends Fragment {
}
if (item.getItemId() == R.id.action_update) {
- //Toast.makeText(getActivity(), "Example action.", Toast.LENGTH_SHORT).show();
-
- final TextView reading = (TextView) getActivity().findViewById(R.id.textDailyReading);
-
- Taize.getDailyReading(getActivity(), new Listener<String>() {
- @Override
- public void success(String data) {
- reading.setText(Html.fromHtml(data));
- }
-
- @Override
- public void failure() {
- reading.setText("Error fetching reading.");
- }
- });
-
- reading.append("\n\n");
-
- Taize.getDailyReadingBibleText(getActivity(), new Listener<String>() {
- @Override
- public void success(String data) {
- Log.i("LOG", "Success.");
- Log.i("LOG", data);
- reading.append(Html.fromHtml(data));
- }
+ Taize.getDailyReading(getActivity(), new NullListener<String>());
+ Taize.getDailyReadingBibleText(getActivity(), new NullListener<String>());
- @Override
- public void failure() {
- Log.i("LOG", "Failure.");
- }
- });
+ ((MainActivity) getActivity()).setupContent();
return true;
}
diff --git a/app/src/main/java/com/camilstaps/taize/SettingsActivity.java b/app/src/main/java/com/camilstaps/taize/SettingsActivity.java
index c8f3b3d..13ba910 100644
--- a/app/src/main/java/com/camilstaps/taize/SettingsActivity.java
+++ b/app/src/main/java/com/camilstaps/taize/SettingsActivity.java
@@ -1,12 +1,14 @@
package com.camilstaps.taize;
+import android.content.SharedPreferences;
import android.os.Bundle;
import android.preference.ListPreference;
import android.preference.Preference;
import android.preference.PreferenceActivity;
import android.preference.PreferenceFragment;
import android.preference.PreferenceManager;
+import android.util.Log;
import com.camilstaps.common.NullListener;
@@ -16,6 +18,17 @@ public class SettingsActivity extends PreferenceActivity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getFragmentManager().beginTransaction().replace(android.R.id.content, new SettingsFragment()).commit();
+
+ PreferenceManager.getDefaultSharedPreferences(this).registerOnSharedPreferenceChangeListener(new SharedPreferences.OnSharedPreferenceChangeListener() {
+ @Override
+ public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
+ if (key.equals(SettingsFragment.PREF_LANGUAGE_READINGS)) { // If we select a new language, set the fetch time to 0 to refetch on next request
+ Taize.forceNewDailyReading(getApplicationContext(), new NullListener<String>());
+ } else if (key.equals(SettingsFragment.PREF_VERSION_BIBLE)) { // If we select a new bible, set the fetch time to 0 to refetch on next request
+ Taize.forceNewDailyReadingBibleText(getApplicationContext(), new NullListener<String>());
+ }
+ }
+ });
}
private static Preference.OnPreferenceChangeListener onPreferenceChangeListener = new Preference.OnPreferenceChangeListener() {
@@ -32,13 +45,13 @@ public class SettingsActivity extends PreferenceActivity {
}
// If the preference actually changed ...
- if (!PreferenceManager.getDefaultSharedPreferences(pref.getContext()).getString(pref.getKey(), "").equals(stringValue)) {
+ /*if (!PreferenceManager.getDefaultSharedPreferences(pref.getContext()).getString(pref.getKey(), "").equals(stringValue)) {
if (pref.getKey().equals(SettingsFragment.PREF_LANGUAGE_READINGS)) { // If we select a new language, set the fetch time to 0 to refetch on next request
Taize.forceNewDailyReading(pref.getContext(), new NullListener<String>());
} else if (pref.getKey().equals(SettingsFragment.PREF_VERSION_BIBLE)) { // If we select a new bible, set the fetch time to 0 to refetch on next request
Taize.forceNewDailyReadingBibleText(pref.getContext(), new NullListener<String>());
}
- }
+ }*/
return true;
}
diff --git a/app/src/main/java/com/camilstaps/taize/Taize.java b/app/src/main/java/com/camilstaps/taize/Taize.java
index edfe9e7..d743e13 100644
--- a/app/src/main/java/com/camilstaps/taize/Taize.java
+++ b/app/src/main/java/com/camilstaps/taize/Taize.java
@@ -4,6 +4,7 @@ import android.content.Context;
import android.content.SharedPreferences;
import android.preference.PreferenceManager;
import android.util.Log;
+import android.widget.Toast;
import com.android.volley.Response;
import com.android.volley.VolleyError;
@@ -52,10 +53,8 @@ public class Taize {
@Override
public void success(String reading) {
- Log.i("LOG", "Matching: " + reading);
-
Pattern bible_ref = Pattern.compile("\\((\\d? ?[a-zA-Z]+) (\\d{1,2}):(\\d+)-?(\\d+?)\\)");
- Matcher bible_ref_m = bible_ref.matcher(reading);
+ final Matcher bible_ref_m = bible_ref.matcher(reading);
if (!bible_ref_m.find()) {
failure();
@@ -67,9 +66,10 @@ public class Taize {
text.getText(context, new Response.Listener<String>() {
@Override
public void onResponse(String s) {
- Log.i("LOG", "Bible text: " + s);
- PreferenceManager.getDefaultSharedPreferences(context).edit().putString("dailyreadingbible", s).apply();
- listener.success(s);
+ String formatted_text = "Text: " + bible_ref_m.group(0) + "\n\n" + s;
+
+ PreferenceManager.getDefaultSharedPreferences(context).edit().putString("dailyreadingbible", formatted_text).apply();
+ listener.success(formatted_text);
}
}, new Response.ErrorListener() {
@Override
@@ -82,6 +82,8 @@ public class Taize {
@Override
public void failure() {
+ Toast.makeText(context, "Failed to fetch bible text.", Toast.LENGTH_SHORT).show();
+
listener.failure();
}
});
@@ -135,7 +137,6 @@ public class Taize {
@Override
public void failure() {
- Log.i("LOG", "Failed to update.");
listener.failure();
}
});
@@ -199,7 +200,8 @@ public class Taize {
@Override
public void failure() {
- Log.i("LOG", "Failed to update.");
+ Toast.makeText(context, "Failed to fetch daily reading.", Toast.LENGTH_SHORT).show();
+
listener.failure();
}
});
diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml
index 17ea429..6a72dc7 100644
--- a/app/src/main/res/layout/activity_main.xml
+++ b/app/src/main/res/layout/activity_main.xml
@@ -12,16 +12,31 @@
<ScrollView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
- android:fillViewport="true">
+ android:fillViewport="true"
+ android:padding="10dp">
- <TextView
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- android:text="Daily Reading"
- android:id="@+id/textDailyReading"
- android:layout_gravity="left|top"
- android:layout_weight="1.0"/>
+ <LinearLayout
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:orientation="vertical"
+ android:layout_weight="1.0">
+ <TextView
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:text="Daily Reading"
+ android:id="@+id/textDailyReading"
+ android:layout_gravity="left|top"
+ android:layout_marginBottom="10dp"/>
+
+ <TextView
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:text="Daily Reading Bible text"
+ android:id="@+id/textDailyReadingBibleText"
+ android:layout_gravity="left|top"/>
+
+ </LinearLayout>
</ScrollView>
</FrameLayout>