package org.aisen.weibo.sina.ui.fragment.settings;
import android.app.Activity;
import android.app.Fragment;
import android.content.DialogInterface;
import android.os.Bundle;
import android.support.design.widget.TabLayout;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import com.afollestad.materialdialogs.AlertDialogWrapper;
import com.umeng.analytics.MobclickAgent;
import org.aisen.android.common.utils.SystemUtils;
import org.aisen.android.support.bean.TabItem;
import org.aisen.android.ui.activity.basic.BaseActivity;
import org.aisen.android.ui.fragment.ATabsTabLayoutFragment;
import org.aisen.weibo.sina.R;
import org.aisen.weibo.sina.support.utils.AisenUtils;
import org.aisen.weibo.sina.support.utils.UMengUtil;
import org.aisen.weibo.sina.ui.activity.base.SinaCommonActivity;
import java.util.ArrayList;
/**
* 程序设置
*
* @author wangdan
*
*/
public class SettingsPagerFragment extends ATabsTabLayoutFragment<TabItem> {
public static void launch(Activity from) {
SinaCommonActivity.launch(from, SettingsPagerFragment.class, null);
}
@Override
public int inflateContentView() {
return R.layout.ui_settings_tabs;
}
@Override
protected void setupTabLayout(Bundle savedInstanceSate, TabLayout tabLayout) {
super.setupTabLayout(savedInstanceSate, tabLayout);
tabLayout.setTabMode(TabLayout.MODE_SCROLLABLE);
}
@Override
protected void layoutInit(LayoutInflater inflater, Bundle savedInstanceSate) {
super.layoutInit(inflater, savedInstanceSate);
setHasOptionsMenu(true);
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
BaseActivity activity = (BaseActivity) getActivity();
activity.getSupportActionBar().setDisplayHomeAsUpEnabled(true);
activity.getSupportActionBar().setDisplayShowHomeEnabled(false);
activity.getSupportActionBar().setTitle(R.string.title_settings);
}
@Override
protected ArrayList<TabItem> generateTabs() {
ArrayList<TabItem> items = new ArrayList<TabItem>();
String[] itemArr = getResources().getStringArray(R.array.settingsPager);
int index = 1;
for (String item : itemArr) {
TabItem bean = new TabItem();
bean.setTitle(item);
bean.setType(String.valueOf(index++));
items.add(bean);
}
return items;
}
@Override
protected Fragment newFragment(TabItem bean) {
int index = Integer.parseInt(bean.getType());
switch (index) {
// 基本
case 1:
return BasicItemSettingsFragment.newInstance();
// 高级
case 2:
return AdvancedItemFragment.newInstance();
// 其他
case 3:
return OtherItemFragment.newInstance();
}
return BasicItemSettingsFragment.newInstance();
}
@Override
protected String configLastPositionKey() {
return "Settings";
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if (item.getItemId() == R.id.donate) {
showDonateDialog();
MobclickAgent.onEvent(getActivity(), "donate");
}
return super.onOptionsItemSelected(item);
}
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
super.onCreateOptionsMenu(menu, inflater);
inflater.inflate(R.menu.menu_settings, menu);
}
private void showDonateDialog() {
new AlertDialogWrapper.Builder(getActivity())
.setTitle(R.string.settings_donate_dialog_title)
.setMessage(R.string.settings_donate_dialog_message)
.setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
MobclickAgent.onEvent(getActivity(), "donate_cancel");
}
})
.setPositiveButton(R.string.settings_donate_yes, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
MobclickAgent.onEvent(getActivity(), "donate_yes");
AisenUtils.copyToClipboard("binglanhappy@163.com");
SystemUtils.startActivity(getActivity(), "com.eg.android.AlipayGphone");
}
})
.show();
}
@Override
public void onResume() {
super.onResume();
UMengUtil.onPageStart(getActivity(), "设置页");
}
@Override
public void onPause() {
super.onPause();
UMengUtil.onPageEnd(getActivity(), "设置页");
}
}