package net.rdrei.android.scdl2.ui; import android.os.Bundle; import android.preference.PreferenceManager; import android.support.v4.app.FragmentManager; import android.support.v4.view.ViewPager; import android.view.ViewGroup; import com.google.android.gms.analytics.HitBuilders; import com.google.android.gms.analytics.Tracker; import com.google.inject.Inject; import net.rdrei.android.viewpagerindicator.CirclePageIndicator; import net.rdrei.android.scdl2.R; import roboguice.activity.RoboFragmentActivity; import roboguice.inject.InjectView; import roboguice.util.Ln; public class MainActivity extends RoboFragmentActivity implements DemoFragment.DemoActionListenerContract { private static final String ANALYTICS_TAG = "DEMO"; @Inject private FragmentManager mFragmentManager; @Inject private SoundcloudLauncher mSoundcloudLauncher; @Inject private Tracker mTracker; @Inject private AdViewManager mAdViewManager; @InjectView(R.id.pager) private ViewPager mPager; @InjectView(R.id.indicator) private CirclePageIndicator mIndicator; @InjectView(R.id.main) private ViewGroup mMainLayout; @Override public void onCreate(final Bundle savedInstanceState) { super.onCreate(savedInstanceState); // Load default settings once. PreferenceManager.setDefaultValues(this, R.xml.download_preferences, false); setContentView(R.layout.demo); final DemoFragmentAdapter adapter = new DemoFragmentAdapter(mFragmentManager); mPager.setAdapter(adapter); mIndicator.setViewPager(mPager); // Only attach if this is a fresh activity (eg. not on a screen rotated // onCreate call if (savedInstanceState == null) { CommonMenuFragment.injectMenu(this); } mAdViewManager.addToViewIfRequired(mMainLayout); } @Override public void onNextPage() { Ln.d("Next page requested."); mTracker.send(new HitBuilders.EventBuilder() .setCategory(ANALYTICS_TAG) .setAction("NEXT_PAGE_CLICK") .setValue(mPager.getCurrentItem()) .build() ); mPager.setCurrentItem(mPager.getCurrentItem() + 1); } @Override public void onStartSoundcloud() { Ln.d("SoundCloud launch requested."); mTracker.send(new HitBuilders.EventBuilder() .setCategory(ANALYTICS_TAG) .setAction("SOUNDCLOUD_LAUNCH") .build() ); mSoundcloudLauncher.launch(); } }