package com.betaseries.betaseries.ui; import android.os.Bundle; import android.view.View; import android.widget.ImageView; import android.widget.TextView; import com.betaseries.betaseries.R; import com.betaseries.betaseries.ui.episodes.unseen.UnseenShowsFragment; import com.betaseries.betaseries.ui.show.my.MyShowsFragment; import com.betaseries.betaseries.utils.TintUtils; import com.github.florent37.carpaccio.Carpaccio; import butterknife.Bind; import butterknife.ButterKnife; import butterknife.OnClick; import rx.android.schedulers.AndroidSchedulers; import rx.schedulers.Schedulers; public class MainActivity extends AbstractDrawerActivity { @Bind(R.id.drawer_unseen_episodes) View item_drawer_unseen_episodes; @Bind(R.id.drawer_shows) View item_drawer_shows; @Bind(R.id.drawer_my_shows) View item_drawer_my_shows; @Bind(R.id.drawer_planning) View item_drawer_planning; @Bind(R.id.drawer_carpaccio) protected Carpaccio drawerCarpaccio; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ButterKnife.bind(this); if (!userManager.hasUser()) betaSeriesAPI.getInfosUserSummary() .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(response -> { userManager.setUser(response.getMember()); displayUnseenEpisodes(); }); else displayUnseenEpisodes(); } protected void displayUnseenEpisodes() { setContentFragment(UnseenShowsFragment.newInstance()); closeDrawer(); resetDrawer(); setContentFragment(UnseenShowsFragment.newInstance()); itemMenuSelectionner(item_drawer_unseen_episodes); invalidateOptionsMenu(); } @Override public void drawerOpened() { super.drawerOpened(); drawerCarpaccio.mapObject("user", userManager.getUser()); } @OnClick({R.id.drawer_my_shows, R.id.drawer_planning, R.id.drawer_shows, R.id.drawer_unseen_episodes}) void itemDrawerClick(final View view) { closeDrawer(); drawerCarpaccio.postDelayed(new Runnable() { @Override public void run() { resetDrawer(); switch (view.getId()) { case R.id.drawer_unseen_episodes: setContentFragment(UnseenShowsFragment.newInstance()); itemMenuSelectionner(item_drawer_unseen_episodes); invalidateOptionsMenu(); break; case R.id.drawer_my_shows: setContentFragment(MyShowsFragment.newInstance()); itemMenuSelectionner(item_drawer_my_shows); invalidateOptionsMenu(); break; case R.id.drawer_shows: setContentFragment(MyShowsFragment.newInstance()); itemMenuSelectionner(item_drawer_shows); invalidateOptionsMenu(); break; case R.id.drawer_planning: setContentFragment(MyShowsFragment.newInstance()); itemMenuSelectionner(item_drawer_planning); invalidateOptionsMenu(); break; } } }, 500); } private void itemMenuSelectionner(View view) { changeStyleView(view); } public void resetDrawer() { resetStyleView(item_drawer_unseen_episodes); resetStyleView(item_drawer_shows); resetStyleView(item_drawer_my_shows); resetStyleView(item_drawer_planning); } private void changeStyleView(View view) { try { TintUtils.tintDrawable(((ImageView) view.findViewById(R.id.img_label_item_drawer)).getDrawable(), getResources().getColor(R.color.primary)); ((TextView) view.findViewById(R.id.txt_label_item_drawer)).setTextColor(getResources().getColor(R.color.colorPrimary)); view.setBackgroundColor(getResources().getColor(R.color.black05)); } catch (Exception e) { } } private void resetStyleView(View view) { try { TintUtils.tintDrawable(((ImageView) view.findViewById(R.id.img_label_item_drawer)).getDrawable(), getResources().getColor(R.color.item_inactif)); ((TextView) view.findViewById(R.id.txt_label_item_drawer)).setTextColor(getResources().getColor(R.color.item_inactif)); view.setBackgroundColor(getResources().getColor(android.R.color.transparent)); } catch (Exception e) { } } }