diff options
Diffstat (limited to 'app/src/main/java/com/camilstaps/taize/MainActivity.java')
-rw-r--r-- | app/src/main/java/com/camilstaps/taize/MainActivity.java | 66 |
1 files changed, 34 insertions, 32 deletions
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; } |