diff options
Diffstat (limited to 'app/src/main/java')
5 files changed, 155 insertions, 11 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", "!!!!"})); + + } + +} + |