package com.android.yzd.memo.mvp.ui.activity; import android.content.Intent; import android.content.res.Configuration; import android.os.Bundle; import android.support.design.widget.Snackbar; import android.support.v7.app.ActionBarDrawerToggle; import android.support.v7.widget.Toolbar; import android.view.Menu; import android.view.MenuItem; import android.view.View; import com.android.yzd.memo.R; import com.android.yzd.memo.databinding.ActivityIndexBinding; import com.android.yzd.memo.mvp.model.Constants; import com.android.yzd.memo.mvp.model.evenbus.EventCenter; import com.android.yzd.memo.mvp.presenter.impl.IndexPreImpl; import com.android.yzd.memo.mvp.ui.activity.base.BaseActivity; import com.android.yzd.memo.mvp.ui.adapter.IndexContentAdapter; import com.android.yzd.memo.mvp.ui.view.IndexAView; import org.greenrobot.eventbus.EventBus; import butterknife.Bind; public class IndexActivity extends BaseActivity implements IndexAView{ private static final int INDEX_REQUEST_CODE = 1; private static final int SETTING_REQUEST_CODE = 2; private static final int EDIT_SAVE = 1; private int SUCCESS = 1; @Bind(R.id.common_toolbar) Toolbar mToolBar; private IndexPreImpl mIndexPre; private ActivityIndexBinding mDataBinding; private ActionBarDrawerToggle mActionBarDrawerToggle; private int INDEX_EVENT_SUCCESS = 1; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); mDataBinding = (ActivityIndexBinding) super.mDataBinding; mIndexPre = new IndexPreImpl(this, this, mDataBinding); mIndexPre.onCreate(savedInstanceState); } @Override protected TransitionMode getOverridePendingTransitionMode() { return TransitionMode.RIGHT; } @Override protected boolean toggleOverridePendingTransition() { return false; } @Override protected int getContentView() { return R.layout.activity_index; } @Override protected void initToolbar() { super.initToolBar(mToolBar); } @Override protected boolean isApplyTranslucency() { return true; } @Override protected boolean isApplyButterKnife() { return true; } @Override protected boolean isApplyEventBus() { return true; } @Override public void initDrawerToggle() { mActionBarDrawerToggle = new ActionBarDrawerToggle(this, mDataBinding.drawerLayout, mDataBinding.commonToolbar, 0, 0){ @Override public void onDrawerClosed(View drawerView) { super.onDrawerClosed(drawerView); } @Override public void onDrawerOpened(View drawerView) { super.onDrawerOpened(drawerView); } }; mActionBarDrawerToggle.setDrawerIndicatorEnabled(true); mDataBinding.drawerLayout.setDrawerListener(mActionBarDrawerToggle); } @Override public void initXViewPager() { mDataBinding.content.setOffscreenPageLimit(3); IndexContentAdapter indexContentAdapter = new IndexContentAdapter(getSupportFragmentManager()); mDataBinding.content.setAdapter(indexContentAdapter); } @Override public void readyGoForResult(Class clazz) { Intent intent = new Intent(this, clazz); intent.putExtra("CREATE_MODE", Constants.CREATE_MODE); startActivityForResult(intent, INDEX_REQUEST_CODE); } @Override protected void onPostCreate(Bundle savedInstanceState) { super.onPostCreate(savedInstanceState); if (mActionBarDrawerToggle != null) { mActionBarDrawerToggle.syncState(); } } @Override public void onConfigurationChanged(Configuration newConfig) { super.onConfigurationChanged(newConfig); if (mActionBarDrawerToggle != null) { mActionBarDrawerToggle.onConfigurationChanged(newConfig); } } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.menu_main, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case R.id.setting: go2Setting(); return true; case R.id.about: Intent intent = new Intent(this, AboutActivity.class); startActivity(intent); return true; } return super.onOptionsItemSelected(item); } @Override public void go2Setting() { Intent intent = new Intent(this, SettingActivity.class); startActivityForResult(intent, SETTING_REQUEST_CODE); } @Override public void showSnackBar(String msg) { Snackbar.make(mToolBar, msg, Snackbar.LENGTH_SHORT).show(); } @Override public void kill() { finish(); } @Override protected void onEventComing(EventCenter eventCenter) { if (eventCenter.getEventCode() == Constants.EVEN_BUS.CHANGE_THEME) { reload(false); } } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if (requestCode == INDEX_REQUEST_CODE) { if (resultCode == EDIT_SAVE && resultCode == SUCCESS) { EventCenter eventCenter = new EventCenter(INDEX_EVENT_SUCCESS, true); EventBus.getDefault().post(eventCenter); } } else if (requestCode == SETTING_REQUEST_CODE) { } } @Override public void onBackPressed() { if (mIndexPre.onBackPress()) { super.onBackPressed(); } } }