package com.fastaccess.ui.modules.notification;
import android.content.Intent;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.design.widget.TabLayout;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentPagerAdapter;
import com.fastaccess.R;
import com.fastaccess.data.dao.FragmentPagerAdapterModel;
import com.fastaccess.helper.AppHelper;
import com.fastaccess.ui.adapter.FragmentsPagerAdapter;
import com.fastaccess.ui.base.BaseActivity;
import com.fastaccess.ui.base.mvp.presenter.BasePresenter;
import com.fastaccess.ui.modules.main.MainActivity;
import com.fastaccess.ui.modules.notification.all.AllNotificationsFragment;
import com.fastaccess.ui.modules.notification.unread.UnreadNotificationsFragment;
import com.fastaccess.ui.widgets.ViewPagerView;
import net.grandcentrix.thirtyinch.TiPresenter;
import butterknife.BindView;
/**
* Created by Kosh on 27 Feb 2017, 12:36 PM
*/
public class NotificationActivity extends BaseActivity {
@BindView(R.id.tabs) TabLayout tabs;
@BindView(R.id.notificationContainer)
ViewPagerView pager;
@Override protected int layout() {
return R.layout.notification_activity_layout;
}
@Override protected boolean isTransparent() {
return true;
}
@Override protected boolean canBack() {
return true;
}
@Override protected boolean isSecured() {
return false;
}
@NonNull @Override public TiPresenter providePresenter() {
return new BasePresenter();
}
@Override protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
AppHelper.cancelNotification(this);
onSelectNotifications();
setupTabs(savedInstanceState);
}
@Override public void onBackPressed() {
if (isTaskRoot()) {
startActivity(new Intent(this, MainActivity.class));
}
super.onBackPressed();
}
private void setupTabs(Bundle savedInstanceState) {
TabLayout.Tab tab1 = getTab(R.string.unread);
TabLayout.Tab tab2 = getTab(R.string.all);
tabs.addTab(tab1);
tabs.addTab(tab2);
pager.setAdapter(new FragmentsPagerAdapter(getSupportFragmentManager(),
FragmentPagerAdapterModel.buildForNotifications(this)));
tabs.setupWithViewPager(pager);
/*if (savedInstanceState == null) {
replaceWithAll(0);
}
tabs.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
@Override public void onTabSelected(TabLayout.Tab tab) {
int position = tab.getPosition();
if (AppHelper.getFragmentByTag(getSupportFragmentManager(), String.valueOf(position)) == null) {
replaceWithAll(position);
}
}
@Override public void onTabUnselected(TabLayout.Tab tab) {
}
@Override public void onTabReselected(TabLayout.Tab tab) {
}
});*/
}
private void replaceWithAll(int position) {
Fragment fragment;
if (position == 0) {
fragment = new UnreadNotificationsFragment();
} else {
fragment = new AllNotificationsFragment();
}
getSupportFragmentManager()
.beginTransaction()
.replace(R.id.fragmentContainer, fragment, String.valueOf(position))
.commit();
}
private TabLayout.Tab getTab(int titleId) {
return tabs.newTab().setText(titleId);
}
}