diff options
author | Camil Staps | 2015-04-15 22:37:07 +0200 |
---|---|---|
committer | Camil Staps | 2015-04-15 22:37:07 +0200 |
commit | e662c1d5ce054d4393f9ec08b29c6f3dee9d642c (patch) | |
tree | a2a659848ae318c10b73acdcf5d6e63322bcab86 /app/src | |
parent | Added working podcasts (diff) |
Finishing first raw version
Diffstat (limited to 'app/src')
-rw-r--r-- | app/src/main/java/com/camilstaps/common/Sharable.java | 11 | ||||
-rw-r--r-- | app/src/main/java/com/camilstaps/taize/DailyMeditationFragment.java | 30 | ||||
-rw-r--r-- | app/src/main/java/com/camilstaps/taize/DailyReadingFragment.java | 27 | ||||
-rw-r--r-- | app/src/main/java/com/camilstaps/taize/MainActivity.java | 66 | ||||
-rw-r--r-- | app/src/main/res/drawable-hdpi/ic_action_settings.png | bin | 0 -> 721 bytes | |||
-rw-r--r-- | app/src/main/res/drawable-mdpi/ic_action_settings.png | bin | 0 -> 479 bytes | |||
-rw-r--r-- | app/src/main/res/drawable-xhdpi/ic_action_settings.png | bin | 0 -> 1056 bytes | |||
-rw-r--r-- | app/src/main/res/drawable-xxhdpi/ic_action_settings.png | bin | 0 -> 1505 bytes | |||
-rw-r--r-- | app/src/main/res/menu/global.xml | 8 | ||||
-rw-r--r-- | app/src/main/res/menu/share_popup_reading.xml (renamed from app/src/main/res/menu/share_popup.xml) | 0 |
10 files changed, 84 insertions, 58 deletions
diff --git a/app/src/main/java/com/camilstaps/common/Sharable.java b/app/src/main/java/com/camilstaps/common/Sharable.java new file mode 100644 index 0000000..d0f8c1d --- /dev/null +++ b/app/src/main/java/com/camilstaps/common/Sharable.java @@ -0,0 +1,11 @@ +package com.camilstaps.common; + +/** + * Created by camilstaps on 15-4-15. + */ +public interface Sharable<T> { + + public abstract T getItem(int id); + public abstract int getMenuId(); + +} diff --git a/app/src/main/java/com/camilstaps/taize/DailyMeditationFragment.java b/app/src/main/java/com/camilstaps/taize/DailyMeditationFragment.java index 5ce6acd..bb8fcc9 100644 --- a/app/src/main/java/com/camilstaps/taize/DailyMeditationFragment.java +++ b/app/src/main/java/com/camilstaps/taize/DailyMeditationFragment.java @@ -16,19 +16,21 @@ import android.widget.TextView; import com.camilstaps.common.Date; import com.camilstaps.common.Listener; import com.camilstaps.common.NullListener; +import com.camilstaps.common.Sharable; /** * Created by camilstaps on 8-4-15. */ -public class DailyMeditationFragment extends Fragment { +public class DailyMeditationFragment extends Fragment implements Sharable<String> { private SharedPreferences.OnSharedPreferenceChangeListener sharedPreferenceChangeListener; - private ViewTreeObserver.OnScrollChangedListener onScrollChangedListener; private View rootView; private Context context; private Date date; + private String text; + @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { rootView = inflater.inflate(R.layout.pager_content_dailymeditation, container, false); @@ -43,19 +45,6 @@ public class DailyMeditationFragment extends Fragment { setupContent(); - onScrollChangedListener = new ViewTreeObserver.OnScrollChangedListener() { - @Override - public void onScrollChanged() { - /*Log.d("DMF", "Scrolling to (" + rootView.getScrollX() + "," + rootView.getScrollY() + ")"); - if (rootView.getScrollY() > 0) { - ((MainActivity) context).swipeRefreshLayout.setEnabled(false); - } else { - ((MainActivity) context).swipeRefreshLayout.setEnabled(true); - }*/ - } - }; - rootView.findViewById(R.id.pager_content).getViewTreeObserver().addOnScrollChangedListener(onScrollChangedListener); - return rootView; } @@ -85,6 +74,7 @@ public class DailyMeditationFragment extends Fragment { @Override public void success(DailyMeditation data) { ((TextView) rootView.findViewById(R.id.textDailyMeditation)).setText(Html.fromHtml(data.getString())); + text = Html.fromHtml(data.getString()).toString(); listener.success(data); } @@ -99,4 +89,14 @@ public class DailyMeditationFragment extends Fragment { niceDate = niceDate.substring(0,1).toUpperCase() + niceDate.substring(1); ((TextView) rootView.findViewById(R.id.dateDailyMeditation)).setText(niceDate); } + + @Override + public String getItem(int id) { + return text; + } + + @Override + public int getMenuId() { + return -1; + } } diff --git a/app/src/main/java/com/camilstaps/taize/DailyReadingFragment.java b/app/src/main/java/com/camilstaps/taize/DailyReadingFragment.java index 40c89f3..dd06f69 100644 --- a/app/src/main/java/com/camilstaps/taize/DailyReadingFragment.java +++ b/app/src/main/java/com/camilstaps/taize/DailyReadingFragment.java @@ -15,11 +15,12 @@ import android.widget.TextView; import com.camilstaps.common.Date; import com.camilstaps.common.Listener; import com.camilstaps.common.NullListener; +import com.camilstaps.common.Sharable; /** * Created by camilstaps on 8-4-15. */ -public class DailyReadingFragment extends Fragment { +public class DailyReadingFragment extends Fragment implements Sharable { private SharedPreferences.OnSharedPreferenceChangeListener sharedPreferenceChangeListener; private ViewTreeObserver.OnScrollChangedListener onScrollChangedListener; @@ -79,14 +80,6 @@ public class DailyReadingFragment extends Fragment { PreferenceManager.getDefaultSharedPreferences(context).registerOnSharedPreferenceChangeListener(sharedPreferenceChangeListener); } - public String getReading() { - return reading + " (" + reference + ")"; - } - - public String getBibleText() { - return reference + ": " + bibleText; - } - protected void setupContent() { setDailyReading(new NullListener<DailyReading>()); setDailyReadingBibleText(new NullListener<String>()); @@ -134,4 +127,20 @@ public class DailyReadingFragment extends Fragment { } }, date); } + + @Override + public Object getItem(int id) { + switch (id) { + case R.id.action_share_bibletext: + return reference + ": " + bibleText; + case R.id.action_share_reading: + default: + return reading + " (" + reference + ")"; + } + } + + @Override + public int getMenuId() { + return R.menu.share_popup_reading; + } } diff --git a/app/src/main/java/com/camilstaps/taize/MainActivity.java b/app/src/main/java/com/camilstaps/taize/MainActivity.java index c82c40d..2fc256a 100644 --- a/app/src/main/java/com/camilstaps/taize/MainActivity.java +++ b/app/src/main/java/com/camilstaps/taize/MainActivity.java @@ -1,26 +1,23 @@ package com.camilstaps.taize; -import android.content.Context; import android.content.Intent; -import android.preference.PreferenceManager; 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.AttributeSet; import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; -import android.view.MotionEvent; +import android.view.View; import android.view.ViewGroup; import android.widget.PopupMenu; import com.camilstaps.common.DisablableViewPager; +import com.camilstaps.common.Sharable; public class MainActivity extends ActionBarActivity { @@ -29,6 +26,8 @@ public class MainActivity extends ActionBarActivity { ActionBar.TabListener tabListener; + private ActionBar actionBar; + @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -42,7 +41,7 @@ public class MainActivity extends ActionBarActivity { viewPager.setAdapter(pagerAdapter); viewPager.setOffscreenPageLimit(3); - final ActionBar actionBar = getSupportActionBar(); + actionBar = getSupportActionBar(); actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); tabListener = new ActionBar.TabListener() { @@ -57,6 +56,7 @@ public class MainActivity extends ActionBarActivity { break; case 2: viewPager.setCurrentItem(TaizePagerAdapter.PODCAST_TODAY, false); + findViewById(R.id.action_share).setVisibility(View.GONE); break; } } @@ -66,6 +66,7 @@ public class MainActivity extends ActionBarActivity { switch (tab.getPosition()) { case 2: viewPager.setPagingEnabled(true); + findViewById(R.id.action_share).setVisibility(View.VISIBLE); break; } } @@ -84,44 +85,45 @@ public class MainActivity extends ActionBarActivity { public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.global, menu); - return true; + return super.onCreateOptionsMenu(menu); } @Override public boolean onOptionsItemSelected(MenuItem item) { - int id = item.getItemId(); - Intent intent; - switch (id) { + switch (item.getItemId()) { case R.id.action_settings: intent = new Intent(this, SettingsActivity.class); startActivity(intent); return true; case R.id.action_share: - PopupMenu popup = new PopupMenu(this, findViewById(R.id.action_share)); - MenuInflater inflater = popup.getMenuInflater(); - inflater.inflate(R.menu.share_popup, popup.getMenu()); - - popup.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() { - @Override - public boolean onMenuItemClick(MenuItem item) { - Intent intent = new Intent(); - intent.setAction(Intent.ACTION_SEND); - intent.setType("text/plain"); - switch (item.getItemId()) { - case R.id.action_share_bibletext: - //intent.putExtra(Intent.EXTRA_TEXT, ((DailyReadingFragment) TaizePagerAdapter.instantiateItem(viewPager, viewPager.getCurrentItem())).getBibleText()); - break; - case R.id.action_share_reading: - //intent.putExtra(Intent.EXTRA_TEXT, ((DailyReadingFragment) TaizePagerAdapter.instantiateItem(viewPager, viewPager.getCurrentItem())).getReading()); - break; + final Sharable<String> sharable = (Sharable) pagerAdapter.instantiateItem(viewPager, viewPager.getCurrentItem()); + + if (sharable.getMenuId() == -1) { + intent = new Intent(); + intent.setAction(Intent.ACTION_SEND); + intent.setType("text/plain"); + intent.putExtra(Intent.EXTRA_TEXT, sharable.getItem(item.getItemId())); + startActivity(intent); + } else { + PopupMenu popup = new PopupMenu(this, findViewById(R.id.action_share)); + MenuInflater inflater = popup.getMenuInflater(); + inflater.inflate(sharable.getMenuId(), popup.getMenu()); + + popup.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() { + @Override + public boolean onMenuItemClick(MenuItem item) { + Intent intent = new Intent(); + intent.setAction(Intent.ACTION_SEND); + intent.setType("text/plain"); + intent.putExtra(Intent.EXTRA_TEXT, sharable.getItem(item.getItemId())); + startActivity(intent); + return false; } - startActivity(intent); - return false; - } - }); + }); + popup.show(); + } - popup.show(); return true; } diff --git a/app/src/main/res/drawable-hdpi/ic_action_settings.png b/app/src/main/res/drawable-hdpi/ic_action_settings.png Binary files differnew file mode 100644 index 0000000..6ead218 --- /dev/null +++ b/app/src/main/res/drawable-hdpi/ic_action_settings.png diff --git a/app/src/main/res/drawable-mdpi/ic_action_settings.png b/app/src/main/res/drawable-mdpi/ic_action_settings.png Binary files differnew file mode 100644 index 0000000..c5efcc9 --- /dev/null +++ b/app/src/main/res/drawable-mdpi/ic_action_settings.png diff --git a/app/src/main/res/drawable-xhdpi/ic_action_settings.png b/app/src/main/res/drawable-xhdpi/ic_action_settings.png Binary files differnew file mode 100644 index 0000000..c7e4ed5 --- /dev/null +++ b/app/src/main/res/drawable-xhdpi/ic_action_settings.png diff --git a/app/src/main/res/drawable-xxhdpi/ic_action_settings.png b/app/src/main/res/drawable-xxhdpi/ic_action_settings.png Binary files differnew file mode 100644 index 0000000..85c179f --- /dev/null +++ b/app/src/main/res/drawable-xxhdpi/ic_action_settings.png diff --git a/app/src/main/res/menu/global.xml b/app/src/main/res/menu/global.xml index 0b80db5..e41ee8d 100644 --- a/app/src/main/res/menu/global.xml +++ b/app/src/main/res/menu/global.xml @@ -1,10 +1,14 @@ -<menu xmlns:android="http://schemas.android.com/apk/res/android" +<menu + xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto"> + <item android:id="@+id/action_settings" android:title="@string/action_settings" + android:icon="@drawable/ic_action_settings" android:orderInCategory="100" - app:showAsAction="never"/> + app:showAsAction="ifRoom"/> + <item android:id="@+id/action_share" android:title="@string/action_share" diff --git a/app/src/main/res/menu/share_popup.xml b/app/src/main/res/menu/share_popup_reading.xml index 6751a65..6751a65 100644 --- a/app/src/main/res/menu/share_popup.xml +++ b/app/src/main/res/menu/share_popup_reading.xml |