/**
* Copyright 2016 JustWayward Team
* <p>
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
* <p>
* http://www.apache.org/licenses/LICENSE-2.0
* <p>
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.justwayward.reader.ui.activity;
import android.content.Context;
import android.content.Intent;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.ViewPager;
import com.justwayward.reader.R;
import com.justwayward.reader.base.BaseActivity;
import com.justwayward.reader.component.AppComponent;
import com.justwayward.reader.component.DaggerFindComponent;
import com.justwayward.reader.ui.fragment.SubRankFragment;
import com.justwayward.reader.view.RVPIndicator;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import butterknife.Bind;
/**
* @author yuyh.
* @date 16/9/1.
*/
public class SubRankActivity extends BaseActivity {
public static final String INTENT_WEEK = "_id";
public static final String INTENT_MONTH = "month";
public static final String INTENT_ALL = "all";
public static final String INTENT_TITLE = "title";
public static void startActivity(Context context, String week, String month, String all, String title) {
context.startActivity(new Intent(context, SubRankActivity.class)
.putExtra(INTENT_WEEK, week)
.putExtra(INTENT_MONTH, month)
.putExtra(INTENT_ALL, all)
.putExtra(INTENT_TITLE, title));
}
private String week;
private String month;
private String all;
private String title;
@Bind(R.id.indicatorSubRank)
RVPIndicator mIndicator;
@Bind(R.id.viewpagerSubRank)
ViewPager mViewPager;
private List<Fragment> mTabContents;
private FragmentPagerAdapter mAdapter;
private List<String> mDatas;
@Override
public int getLayoutId() {
return R.layout.activity_sub_rank;
}
@Override
protected void setupActivityComponent(AppComponent appComponent) {
DaggerFindComponent.builder()
.appComponent(appComponent)
.build()
.inject(this);
}
@Override
public void initToolBar() {
week = getIntent().getStringExtra(INTENT_WEEK);
month = getIntent().getStringExtra(INTENT_MONTH);
all = getIntent().getStringExtra(INTENT_ALL);
title = getIntent().getStringExtra(INTENT_TITLE).split(" ")[0];
mCommonToolbar.setTitle(title);
mCommonToolbar.setNavigationIcon(R.drawable.ab_back);
}
@Override
public void initDatas() {
mDatas = Arrays.asList(getResources().getStringArray(R.array.sub_rank_tabs));
mTabContents = new ArrayList<>();
mTabContents.add(SubRankFragment.newInstance(week));
mTabContents.add(SubRankFragment.newInstance(month));
mTabContents.add(SubRankFragment.newInstance(all));
mAdapter = new FragmentPagerAdapter(getSupportFragmentManager()) {
@Override
public int getCount() {
return mTabContents.size();
}
@Override
public Fragment getItem(int position) {
return mTabContents.get(position);
}
};
}
@Override
public void configViews() {
mIndicator.setTabItemTitles(mDatas);
mViewPager.setAdapter(mAdapter);
mViewPager.setOffscreenPageLimit(3);
mIndicator.setViewPager(mViewPager, 0);
}
}