aboutsummaryrefslogtreecommitdiff
path: root/app/src/main
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/main')
-rw-r--r--app/src/main/java/com/camilstaps/common/DisablableViewPager.java36
-rw-r--r--app/src/main/java/com/camilstaps/taize/DailyReadingFragment.java2
-rw-r--r--app/src/main/java/com/camilstaps/taize/MainActivity.java30
-rw-r--r--app/src/main/java/com/camilstaps/taize/PodcastAdapter.java52
-rw-r--r--app/src/main/java/com/camilstaps/taize/PodcastFragment.java46
-rw-r--r--app/src/main/res/layout/activity_main.xml2
-rw-r--r--app/src/main/res/layout/pager_content_podcast.xml8
-rw-r--r--app/src/main/res/layout/pager_content_podcast_item.xml18
8 files changed, 182 insertions, 12 deletions
diff --git a/app/src/main/java/com/camilstaps/common/DisablableViewPager.java b/app/src/main/java/com/camilstaps/common/DisablableViewPager.java
new file mode 100644
index 0000000..1d39b0a
--- /dev/null
+++ b/app/src/main/java/com/camilstaps/common/DisablableViewPager.java
@@ -0,0 +1,36 @@
+package com.camilstaps.common;
+
+import android.content.Context;
+import android.support.v4.view.ViewPager;
+import android.util.AttributeSet;
+import android.view.MotionEvent;
+
+/**
+ * Created by camilstaps on 15-4-15.
+ */
+public class DisablableViewPager extends ViewPager {
+
+ private boolean enabled = true;
+
+ public DisablableViewPager(Context context) {
+ super(context);
+ }
+
+ public DisablableViewPager(Context context, AttributeSet attrs) {
+ super(context, attrs);
+ }
+
+ @Override
+ public boolean onTouchEvent(MotionEvent event) {
+ return this.enabled && super.onTouchEvent(event);
+ }
+
+ @Override
+ public boolean onInterceptTouchEvent(MotionEvent event) {
+ return this.enabled && super.onInterceptTouchEvent(event);
+ }
+
+ public void setPagingEnabled(boolean set) {
+ enabled = set;
+ }
+}
diff --git a/app/src/main/java/com/camilstaps/taize/DailyReadingFragment.java b/app/src/main/java/com/camilstaps/taize/DailyReadingFragment.java
index a45556b..d919e42 100644
--- a/app/src/main/java/com/camilstaps/taize/DailyReadingFragment.java
+++ b/app/src/main/java/com/camilstaps/taize/DailyReadingFragment.java
@@ -58,8 +58,6 @@ public class DailyReadingFragment extends Fragment {
};
rootView.findViewById(R.id.pager_content).getViewTreeObserver().addOnScrollChangedListener(onScrollChangedListener);
- Log.d("DRF", "OnCreateView");
-
return rootView;
}
diff --git a/app/src/main/java/com/camilstaps/taize/MainActivity.java b/app/src/main/java/com/camilstaps/taize/MainActivity.java
index 4e05109..3478569 100644
--- a/app/src/main/java/com/camilstaps/taize/MainActivity.java
+++ b/app/src/main/java/com/camilstaps/taize/MainActivity.java
@@ -1,5 +1,6 @@
package com.camilstaps.taize;
+import android.content.Context;
import android.content.Intent;
import android.preference.PreferenceManager;
import android.support.v4.app.Fragment;
@@ -11,15 +12,19 @@ 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.ViewGroup;
import android.widget.PopupMenu;
+import com.camilstaps.common.DisablableViewPager;
+
public class MainActivity extends ActionBarActivity {
- ViewPager viewPager;
+ DisablableViewPager viewPager;
PagerAdapter pagerAdapter;
ActionBar.TabListener tabListener;
@@ -33,7 +38,7 @@ public class MainActivity extends ActionBarActivity {
setContentView(R.layout.activity_main);
pagerAdapter = new TaizePagerAdapter(getSupportFragmentManager());
- viewPager = (ViewPager) findViewById(R.id.pager);
+ viewPager = (DisablableViewPager) findViewById(R.id.pager);
viewPager.setAdapter(pagerAdapter);
final ActionBar actionBar = getSupportActionBar();
@@ -46,18 +51,25 @@ public class MainActivity extends ActionBarActivity {
public void onTabSelected(ActionBar.Tab tab, FragmentTransaction fragmentTransaction) {
switch (tab.getPosition()) {
case 0:
- viewPager.setCurrentItem(TaizePagerAdapter.DAILYREADING_TODAY);
+ viewPager.setCurrentItem(TaizePagerAdapter.DAILYREADING_TODAY, false);
break;
case 1:
- viewPager.setCurrentItem(TaizePagerAdapter.DAILYMEDITATION_TODAY);
+ viewPager.setCurrentItem(TaizePagerAdapter.DAILYMEDITATION_TODAY, false);
break;
case 2:
- viewPager.setCurrentItem(TaizePagerAdapter.PODCAST_TODAY);
+ viewPager.setCurrentItem(TaizePagerAdapter.PODCAST_TODAY, false);
+ viewPager.setPagingEnabled(false);
+ break;
}
}
@Override
public void onTabUnselected(ActionBar.Tab tab, FragmentTransaction fragmentTransaction) {
+ switch (tab.getPosition()) {
+ case 2:
+ viewPager.setPagingEnabled(true);
+ break;
+ }
}
@Override
@@ -67,7 +79,7 @@ public class MainActivity extends ActionBarActivity {
actionBar.addTab(actionBar.newTab().setText("Reading").setIcon(R.drawable.ic_action_reading).setTabListener(tabListener));
actionBar.addTab(actionBar.newTab().setText("Meditation").setIcon(R.drawable.ic_action_meditation).setTabListener(tabListener));
- //actionBar.addTab(actionBar.newTab().setText("Podcast").setIcon(R.drawable.ic_action_podcast).setTabListener(tabListener));
+ actionBar.addTab(actionBar.newTab().setText("Podcast").setIcon(R.drawable.ic_action_podcast).setTabListener(tabListener));
}
@Override
@@ -126,8 +138,8 @@ public class MainActivity extends ActionBarActivity {
public static final int DAILYREADING_PAST_LIMIT = 100, DAILYREADING_TODAY = 200, DAILYREADING_FUTURE_LIMIT = 299;
public static final int DAILYMEDITATION_PAST_LIMIT = 300, DAILYMEDITATION_TODAY = 400, DAILYMEDITATION_FUTURE_LIMIT = 499;
- public static final int PODCAST_PAST_LIMIT = 500, PODCAST_TODAY = 600, PODCAST_FUTURE_LIMIT = 699;
- public static final int COUNT = 700;
+ public static final int PODCAST_PAST_LIMIT = 500, PODCAST_TODAY = 500, PODCAST_FUTURE_LIMIT = 500;
+ public static final int COUNT = 501;
public TaizePagerAdapter(FragmentManager fm) {
super(fm);
@@ -149,7 +161,7 @@ public class MainActivity extends ActionBarActivity {
args.putInt("dateOffset", i - DAILYMEDITATION_TODAY);
fragment.setArguments(args);
} else if (i >= PODCAST_PAST_LIMIT && i <= PODCAST_FUTURE_LIMIT) {
- return getItem(DAILYREADING_TODAY);
+ fragment = new PodcastFragment();
}
return fragment;
diff --git a/app/src/main/java/com/camilstaps/taize/PodcastAdapter.java b/app/src/main/java/com/camilstaps/taize/PodcastAdapter.java
new file mode 100644
index 0000000..e3af543
--- /dev/null
+++ b/app/src/main/java/com/camilstaps/taize/PodcastAdapter.java
@@ -0,0 +1,52 @@
+package com.camilstaps.taize;
+
+import android.content.Context;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.BaseAdapter;
+import android.widget.TextView;
+
+/**
+ * Created by camilstaps on 15-4-15.
+ */
+public class PodcastAdapter extends BaseAdapter {
+
+ Context context;
+ String[] data;
+ private static LayoutInflater inflater = null;
+
+ public PodcastAdapter(Context context, String[] data) {
+ this.context = context;
+ this.data = data;
+ inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
+ }
+
+ @Override
+ public int getCount() {
+ return data.length;
+ }
+
+ @Override
+ public Object getItem(int position) {
+ return data[position];
+ }
+
+ @Override
+ public long getItemId(int position) {
+ return position;
+ }
+
+ @Override
+ public View getView(int position, View convertView, ViewGroup parent) {
+ View vi = convertView;
+ if (vi == null) {
+ vi = inflater.inflate(R.layout.pager_content_podcast_item, null);
+ }
+ TextView dateTextView = (TextView) vi.findViewById(R.id.podcast_date);
+ dateTextView.setText("Hello");
+ TextView titleTextView = (TextView) vi.findViewById(R.id.podcast_title);
+ titleTextView.setText(data[position]);
+ return vi;
+ }
+}
diff --git a/app/src/main/java/com/camilstaps/taize/PodcastFragment.java b/app/src/main/java/com/camilstaps/taize/PodcastFragment.java
new file mode 100644
index 0000000..29a0181
--- /dev/null
+++ b/app/src/main/java/com/camilstaps/taize/PodcastFragment.java
@@ -0,0 +1,46 @@
+package com.camilstaps.taize;
+
+/**
+ * Created by camilstaps on 15-4-15.
+ */
+
+import android.content.Context;
+import android.content.SharedPreferences;
+import android.database.DataSetObserver;
+import android.os.Bundle;
+import android.support.v4.app.Fragment;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.view.ViewTreeObserver;
+import android.widget.ArrayAdapter;
+import android.widget.ListAdapter;
+import android.widget.ListView;
+
+/**
+ * Created by camilstaps on 8-4-15.
+ */
+public class PodcastFragment extends Fragment {
+
+ private View rootView;
+ private Context context;
+
+ @Override
+ public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
+ rootView = inflater.inflate(R.layout.pager_content_podcast, container, false);
+
+ context = container.getContext();
+
+ setupContent();
+
+ return rootView;
+ }
+
+ protected void setupContent() {
+
+ ((ListView) rootView.findViewById(R.id.podcasts_list)).setAdapter(new PodcastAdapter(context, new String[] {"Hello", "World", "!!!!"}));
+
+ }
+
+}
+
diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml
index 8052335..4126c8c 100644
--- a/app/src/main/res/layout/activity_main.xml
+++ b/app/src/main/res/layout/activity_main.xml
@@ -4,7 +4,7 @@
android:layout_height="match_parent"
android:layout_width="match_parent">-->
- <android.support.v4.view.ViewPager
+ <com.camilstaps.common.DisablableViewPager
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/pager"
android:layout_width="match_parent"
diff --git a/app/src/main/res/layout/pager_content_podcast.xml b/app/src/main/res/layout/pager_content_podcast.xml
new file mode 100644
index 0000000..148c301
--- /dev/null
+++ b/app/src/main/res/layout/pager_content_podcast.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<ListView
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:id="@+id/podcasts_list"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent">
+
+</ListView> \ No newline at end of file
diff --git a/app/src/main/res/layout/pager_content_podcast_item.xml b/app/src/main/res/layout/pager_content_podcast_item.xml
new file mode 100644
index 0000000..22e45d0
--- /dev/null
+++ b/app/src/main/res/layout/pager_content_podcast_item.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:orientation="vertical" >
+
+ <TextView
+ android:id="@+id/podcast_date"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"/>
+
+ <TextView
+ android:id="@+id/podcast_title"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"/>
+
+
+</LinearLayout> \ No newline at end of file