package com.ghostflying.portalwaitinglist; import android.app.ActivityOptions; import android.content.Intent; import android.os.Build; import android.os.Bundle; import android.support.v7.app.ActionBarActivity; import android.view.View; import com.ghostflying.portalwaitinglist.fragment.PortalListFragment; import com.ghostflying.portalwaitinglist.model.PortalDetail; import com.ghostflying.portalwaitinglist.util.SettingUtil; public class MainActivity extends ActionBarActivity implements PortalListFragment.OnFragmentInteractionListener{ private static final String LIST_FRAGMENT_TAG = "LIST_FRAGMENT"; private static final String DETAIL_FRAGMENT_TAG = "DETAIL_FRAGMENT"; String account; PortalDetail clickedPortal; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // read all settings from storage. SettingUtil.getSettings(this); // If account is not set, usually user open this first time // turn to AuthIntent. if ((account = SettingUtil.getAccount()) == null){ doAuth(); } setContentView(R.layout.activity_main); getFragmentManager() .beginTransaction() .replace(R.id.content_layout, PortalListFragment.newInstance(), LIST_FRAGMENT_TAG) .commit(); } private void doAuth() { Intent authIntent = new Intent(this, AuthActivity.class); authIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK); startActivity(authIntent); } @Override protected void onResume(){ super.onResume(); if (account == null){ if ((account = SettingUtil.getAccount()) == null){ this.finish(); } } } @Override public void onBackPressed() { if(getFragmentManager().getBackStackEntryCount() != 0) { getFragmentManager().popBackStack(); } else { super.onBackPressed(); } } @Override public void doAuthInActivity() { doAuth(); } @Override public void portalItemClicked(PortalDetail clickedPortal, View clickedView) { this.clickedPortal = clickedPortal; Intent detail = new Intent(this, DetailActivity.class); detail.putExtra(DetailActivity.ARG_CLICKED_PORTAL, clickedPortal); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP){ clickedView.setTransitionName("title"); ActivityOptions options = ActivityOptions.makeSceneTransitionAnimation(this, clickedView, "title"); startActivity(detail, options.toBundle()); return; } startActivity(detail); } }