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) {
}
}
}