package com.example.administrator.searchpicturetool.user;
import android.os.Bundle;
import android.support.design.widget.AppBarLayout;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import android.support.design.widget.TabLayout;
import android.support.v4.view.ViewPager;
import android.support.v7.widget.Toolbar;
import android.view.Menu;
import android.view.MenuItem;
import com.example.administrator.searchpicturetool.R;
import com.example.administrator.searchpicturetool.util.Utils;
import com.jude.beam.bijection.RequiresPresenter;
import com.jude.beam.expansion.BeamBaseActivity;
import com.jude.utils.JUtils;
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;
/**
* Created by wenhuaijun on 2015/11/12 0012.
*/
@RequiresPresenter(UserActivityPresenter.class)
public class UserActivity extends BeamBaseActivity<UserActivityPresenter> implements ViewPager.OnPageChangeListener {
@BindView(R.id.toolbar)
Toolbar toolbar;
@BindView(R.id.tabLayout)
TabLayout tabLayout;
@BindView(R.id.viewPager)
ViewPager viewPager;
@BindView(R.id.appBarLayout)
AppBarLayout appBarLayout;
@BindView(R.id.fab)
FloatingActionButton fab;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_user);
ButterKnife.bind(this);
tabLayout.setSelectedTabIndicatorColor(getResources().getColor(R.color.white));
tabLayout.setTabMode(TabLayout.MODE_SCROLLABLE);
initAppBarSetting();
fab.hide();
viewPager.addOnPageChangeListener(this);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.my_pictures_menu, menu);
return true;
}
@Override
protected void onDestroy() {
super.onDestroy();
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
switch (id) {
case R.id.action_delete:
if(!fab.isShown()){
fab.show();
showSnackbar();
getPresenter().beginSelectImgs(true);
}else {
fab.hide();
getPresenter().doDelete();
}
break;
}
return super.onOptionsItemSelected(item);
}
public void initAppBarSetting() {
appBarLayout.addOnOffsetChangedListener((appBarLayout1, i) -> UserActivity.this.getPresenter().stopRefresh(i));
}
@OnClick(R.id.fab)
public void beginTransaction() {
fab.hide();
getPresenter().doDelete();
}
public ViewPager getViewPager() {
return viewPager;
}
public TabLayout getTabLayout() {
return tabLayout;
}
@Override
public Toolbar getToolbar() {
return toolbar;
}
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
}
@Override
public void onPageSelected(int position) {
getPresenter().page=position;
}
@Override
public void onPageScrollStateChanged(int state) {
}
public void showSnackbar() {
String text = "请选择要删除的图片";
if(!Utils.checkDeviceHasNavigationBar(this)){
Snackbar.make(fab, text, Snackbar.LENGTH_SHORT)
.show();
}else {
JUtils.Toast(text);
}
}
@Override
public void onBackPressed() {
if (getPresenter().isTransactioning) {
if(fab.isShown()){
fab.hide();
}
getPresenter().transactionEnd();
return;
}
super.onBackPressed();
}
}