package com.mvc.kinballwc.ui.activity;
import android.os.Bundle;
import android.support.design.widget.TabLayout;
import android.support.v4.view.ViewPager;
import android.util.Log;
import com.mvc.kinballwc.R;
import com.mvc.kinballwc.ui.adapter.TabPagerAdapter;
import com.mvc.kinballwc.ui.fragment.MatchesTabFragment;
import com.mvc.kinballwc.utils.Utils;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;
/**
* Author: Mario Velasco Casquero
* Date: 11/08/2015
* Email: m3ario@gmail.com
*/
public class MatchesActivity extends BaseActivity{
private static final String TAG = "MatchesActivity";
public static final String EXTRA_CATEGORY = "filter_category";
public static final String EXTRA_TEAM = "filter_team";
public static final String[] dates = new String[]{"18/08/2015", "19/08/2015",
"20/08/2015", "21/08/2015", "22/08/2015", "23/08/2015"};
public static final DateFormat format = new SimpleDateFormat("dd/MM/yyyy", Locale.ENGLISH);
private TabLayout tabLayout;
private ViewPager viewPager;
private String mCategoryFilter;
private String mClubFilter;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Log.d(TAG, "onCreate");
setContentView(R.layout.activity_matches);
mCategoryFilter = getIntent().getStringExtra(EXTRA_CATEGORY);
mClubFilter = getIntent().getStringExtra(EXTRA_TEAM);
setToolbarTitle(Utils.getTranslatedCategory(this, mCategoryFilter));
viewPager = (ViewPager) findViewById(R.id.viewpager);
tabLayout = (TabLayout) findViewById(R.id.tabs);
if (viewPager != null && tabLayout != null) {
setupTabs();
}
}
@Override
protected void onResume() {
super.onResume();
}
private void setupTabs() {
String[] daysArray = getResources().getStringArray(R.array.days);
TabPagerAdapter tabPagerAdapter = new TabPagerAdapter(getSupportFragmentManager());
for (int i = 0; i < daysArray.length; i++) {
MatchesTabFragment matchesTabFragment = MatchesTabFragment.newInstance(i);
Bundle bundle = new Bundle();
bundle.putString(EXTRA_CATEGORY, mCategoryFilter);
bundle.putString(EXTRA_TEAM, mClubFilter);
matchesTabFragment.setArguments(bundle);
tabPagerAdapter.addFragment(matchesTabFragment, daysArray[i]);
}
viewPager.setAdapter(tabPagerAdapter);
tabLayout.setTabMode(TabLayout.MODE_SCROLLABLE);
tabLayout.post(new Runnable() {
@Override
public void run() {
Log.d(TAG, "setting view pager");
tabLayout.setupWithViewPager(viewPager);
}
});
selectTodayTab();
}
private void selectTodayTab() {
int numTabs = getResources().getStringArray(R.array.days).length;
int todayTabPosition = numTabs - 1;
Date today = new Date();
for (int i = 0; i < numTabs; i++) {
String dateString = dates[i+1];
try {
Date filterDate1 = format.parse(dateString);
if (today.before(filterDate1)) {
todayTabPosition = i;
break;
}
} catch (ParseException e) {
e.printStackTrace();
}
}
viewPager.setCurrentItem(todayTabPosition, true);
}
}