From c247f717759e0d56c94faa92c15ff0efd81f6610 Mon Sep 17 00:00:00 2001 From: Camil Staps Date: Tue, 7 Apr 2015 16:45:19 +0200 Subject: Better layout --- .../java/com/camilstaps/taize/MainActivity.java | 53 +++++++++++++++++----- 1 file changed, 41 insertions(+), 12 deletions(-) (limited to 'app/src/main/java/com/camilstaps/taize/MainActivity.java') 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 -- cgit v1.2.3