package com.mobmonkey.mobmonkeyandroid;
import java.util.Stack;
import com.mobmonkey.mobmonkeyandroid.R;
import com.mobmonkey.mobmonkeyandroid.fragments.TopViewedFragment;
import com.mobmonkey.mobmonkeyandroid.fragments.TrendingNowFragment;
import com.mobmonkey.mobmonkeyandroid.listeners.*;
import com.mobmonkey.mobmonkeyandroid.utils.MMFragment;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
/**
* @author Dezapp, LLC
*
*/
public class TrendingNowActivity extends FragmentActivity implements MMOnTrendingFragmentItemClickListener {
FragmentManager fragmentManager;
Stack<MMFragment> fragmentStack;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_fragment_container);
fragmentManager = getSupportFragmentManager();
fragmentStack = new Stack<MMFragment>();
if(findViewById(R.id.llfragmentcontainer) != null) {
if(savedInstanceState != null) {
return;
}
TrendingNowFragment trendingNowFragment = new TrendingNowFragment();
fragmentManager.beginTransaction().add(R.id.llfragmentcontainer, fragmentStack.push(trendingNowFragment)).commit();
}
}
@Override
public void onTrendingFragmentItemClick(int position) {
MMFragment mmFragment = null;
switch(position) {
case 0:
break;
case 1:
break;
case 2:
mmFragment = new TopViewedFragment();
break;
case 3:
break;
}
performTransaction(mmFragment);
}
/**
* Handler when back button is pressed, it will not close and destroy the current {@link Activity} but instead it will remain on the current {@link Activity}
*/
/* (non-Javadoc)
* @see android.app.Activity#onBackPressed()
*/
@Override
public void onBackPressed() {
if(fragmentStack.size() > 1) {
MMFragment mmFragment = fragmentStack.pop();
mmFragment.onFragmentBackPressed();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.setCustomAnimations(R.anim.slide_left_in, R.anim.slide_right_out);
fragmentTransaction.replace(R.id.llfragmentcontainer, fragmentStack.peek());
fragmentTransaction.commit();
}
moveTaskToBack(true);
return;
}
private void performTransaction(MMFragment mmFragment) {
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.setCustomAnimations(R.anim.slide_right_in, R.anim.slide_left_out);
fragmentTransaction.replace(R.id.llfragmentcontainer, fragmentStack.push(mmFragment));
fragmentTransaction.commit();
}
}