aboutsummaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authorCamil Staps2015-04-15 22:37:07 +0200
committerCamil Staps2015-04-15 22:37:07 +0200
commite662c1d5ce054d4393f9ec08b29c6f3dee9d642c (patch)
treea2a659848ae318c10b73acdcf5d6e63322bcab86 /app
parentAdded working podcasts (diff)
Finishing first raw version
Diffstat (limited to 'app')
-rw-r--r--app/src/main/java/com/camilstaps/common/Sharable.java11
-rw-r--r--app/src/main/java/com/camilstaps/taize/DailyMeditationFragment.java30
-rw-r--r--app/src/main/java/com/camilstaps/taize/DailyReadingFragment.java27
-rw-r--r--app/src/main/java/com/camilstaps/taize/MainActivity.java66
-rw-r--r--app/src/main/res/drawable-hdpi/ic_action_settings.pngbin0 -> 721 bytes
-rw-r--r--app/src/main/res/drawable-mdpi/ic_action_settings.pngbin0 -> 479 bytes
-rw-r--r--app/src/main/res/drawable-xhdpi/ic_action_settings.pngbin0 -> 1056 bytes
-rw-r--r--app/src/main/res/drawable-xxhdpi/ic_action_settings.pngbin0 -> 1505 bytes
-rw-r--r--app/src/main/res/menu/global.xml8
-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
new file mode 100644
index 0000000..6ead218
--- /dev/null
+++ b/app/src/main/res/drawable-hdpi/ic_action_settings.png
Binary files differ
diff --git a/app/src/main/res/drawable-mdpi/ic_action_settings.png b/app/src/main/res/drawable-mdpi/ic_action_settings.png
new file mode 100644
index 0000000..c5efcc9
--- /dev/null
+++ b/app/src/main/res/drawable-mdpi/ic_action_settings.png
Binary files differ
diff --git a/app/src/main/res/drawable-xhdpi/ic_action_settings.png b/app/src/main/res/drawable-xhdpi/ic_action_settings.png
new file mode 100644
index 0000000..c7e4ed5
--- /dev/null
+++ b/app/src/main/res/drawable-xhdpi/ic_action_settings.png
Binary files differ
diff --git a/app/src/main/res/drawable-xxhdpi/ic_action_settings.png b/app/src/main/res/drawable-xxhdpi/ic_action_settings.png
new file mode 100644
index 0000000..85c179f
--- /dev/null
+++ b/app/src/main/res/drawable-xxhdpi/ic_action_settings.png
Binary files differ
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