package com.sjl.yuehu.ui.activity;
import android.os.Bundle;
import android.support.v4.widget.DrawerLayout;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.support.v7.widget.Toolbar;
import android.view.Gravity;
import android.view.MenuItem;
import android.view.View;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.RelativeLayout;
import android.widget.TextView;
import android.widget.Toast;
import com.jakewharton.rxbinding.view.RxView;
import com.sjl.yuehu.R;
import com.sjl.yuehu.data.bean.TitileBean;
import com.sjl.yuehu.mvp.presenter.MainActPresenter;
import com.sjl.yuehu.mvp.view.MainActMvpView;
import com.sjl.yuehu.ui.adapter.RvLeftAdapter;
import com.sjl.yuehu.ui.base.BaseAct;
import com.sjl.yuehu.ui.base.BaseFg;
import com.sjl.yuehu.ui.fragment.CollectMineFg;
import com.sjl.yuehu.ui.fragment.HomePageFg;
import com.sjl.yuehu.ui.fragment.MessageFg;
import com.sjl.yuehu.ui.fragment.ThemePageFg;
import java.util.List;
import javax.inject.Inject;
import butterknife.Bind;
import butterknife.ButterKnife;
/**
* Created by 小鹿 on 2017/2/6.
*/
public class MainAct extends BaseAct implements View.OnClickListener, Toolbar.OnMenuItemClickListener, RvLeftAdapter.OnClickListener, MainActMvpView {
@Bind(R.id.toolbar)
Toolbar toolbar;
@Bind(R.id.rv_left)
RecyclerView rvLeft;
@Bind(R.id.notify)
ImageView notify;
@Bind(R.id.about)
ImageView about;
@Bind(R.id.tv_homepage)
TextView tv_homepage;
@Bind(R.id.drawerlayout)
DrawerLayout drawerlayout;
ThemePageFg themePageFg;
@Inject
MainActPresenter presenter;
@Bind(R.id.rl_login)
RelativeLayout rlLogin;
@Bind(R.id.ll_collect)
LinearLayout llCollect;
@Bind(R.id.ll_down)
LinearLayout llDown;
@Bind(R.id.rl_fg)
RelativeLayout rlFg;
private RvLeftAdapter adpater;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getActivityComponent().inject(this);
setContentView(R.layout.activity_main);
presenter.attachView(this);
ButterKnife.bind(this);
initToolBar();
init();
}
private void init() {
LinearLayoutManager layoutManager = new LinearLayoutManager(this);
rvLeft.setLayoutManager(layoutManager);
adpater = new RvLeftAdapter(this, this);
rvLeft.setAdapter(adpater);
switchFragment(new HomePageFg(), false);
RxView.clicks(notify).subscribe(aVoid -> {
goMessageFg();
});
RxView.clicks(rlFg).subscribe(aVoid -> {
goHomePageFg();
});
RxView.clicks(llCollect).subscribe(aVoid -> {
goMyCollect();
});
presenter.onList();
}
private void goMyCollect() {
switchFragment(new CollectMineFg(), false);
drawerlayout.closeDrawers();
}
private void goHomePageFg() {
switchFragment(new HomePageFg(), false);
drawerlayout.closeDrawers();
}
private void goMessageFg() {
switchFragment(new MessageFg(), false);
}
private void initToolBar() {
// toolbar.inflateMenu(R.menu.zhihu_toolbar_menu);
// toolbar.setOnMenuItemClickListener(this);
toolbar.setNavigationIcon(R.mipmap.ic_drawer_home);
toolbar.setTitleTextAppearance(this, R.style.Theme_ToolBar_Base_Title);
toolbar.setTitleTextColor(getResources().getColor(android.R.color.white));
toolbar.setNavigationOnClickListener(this);
}
@Override
public void fragmentVisible(BaseFg fragment) {
super.fragmentVisible(fragment);
String fragmentName = fragment.getName();
about.setVisibility(View.GONE);
notify.setVisibility(View.GONE);
if (fragmentName.equals(HomePageFg.class.getName())) {
about.setVisibility(View.VISIBLE);
notify.setVisibility(View.VISIBLE);
}
}
@Override
public Toolbar getToolbar() {
return toolbar;
}
@Override
public void onClick(View v) {
presenter.onList();
drawerlayout.openDrawer(Gravity.LEFT);
}
@Override
public boolean onMenuItemClick(MenuItem item) {
switch (item.getItemId()) {
case R.id.action_search:
Toast.makeText(MainAct.this, "查询", Toast.LENGTH_SHORT).show();
break;
case R.id.action_notification:
Toast.makeText(MainAct.this, "暂无通知", Toast.LENGTH_SHORT).show();
break;
case R.id.action_about:
Toast.makeText(MainAct.this, "关于", Toast.LENGTH_SHORT).show();
break;
case R.id.action_settings:
Toast.makeText(MainAct.this, "设置", Toast.LENGTH_SHORT).show();
break;
}
return true;
}
@Override
public void click(int id, String theme) {
themePageFg = new ThemePageFg();
Bundle bundle = new Bundle();
bundle.putInt("id", id);
bundle.putString("theme", theme);
themePageFg.setArguments(bundle);
switchFragment(themePageFg, false);
drawerlayout.closeDrawers();
}
@Override
public void onList(TitileBean remoteResult) {
if (remoteResult != null) {
List<TitileBean.OthersBean> data = remoteResult.getOthers();
adpater.addData(data);
adpater.notifyDataSetChanged();
}
}
}