package org.aisen.weibo.sina.ui.fragment.settings; import android.app.Activity; import android.content.SharedPreferences; import android.os.Bundle; import android.preference.CheckBoxPreference; import android.preference.ListPreference; import android.preference.Preference; import android.preference.Preference.OnPreferenceChangeListener; import android.preference.Preference.OnPreferenceClickListener; import android.preference.PreferenceManager; import org.aisen.android.common.context.GlobalContext; import org.aisen.android.ui.activity.basic.BaseActivity; import org.aisen.weibo.sina.R; import org.aisen.weibo.sina.base.AppSettings; import org.aisen.weibo.sina.support.utils.UMengUtil; import org.aisen.weibo.sina.ui.activity.base.SinaCommonActivity; /** * 流量控制 * * @author wangdan * */ public class FlowSettingsFragment extends BasePreferenceFragment implements OnPreferenceClickListener , OnPreferenceChangeListener { public static void launch(Activity from) { SinaCommonActivity.launch(from, FlowSettingsFragment.class, null); } private ListPreference pUploadSetting;// 图片上传设置 private CheckBoxPreference pNonePic;// 无图模式 private ListPreference pPicMode;// 图片加载模式 private ListPreference pTimelineCount;// 微博加载数量 private ListPreference pCommentCount;// 评论加载数量 @Override public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); addPreferencesFromResource(R.xml.ui_flow_settings); BaseActivity activity = (BaseActivity) getActivity(); activity.getSupportActionBar().setDisplayHomeAsUpEnabled(true); activity.getSupportActionBar().setDisplayShowHomeEnabled(false); activity.getSupportActionBar().setTitle(R.string.title_flowsetting); // 图片上传设置 pUploadSetting = (ListPreference) findPreference("pUploadSetting"); pUploadSetting.setOnPreferenceChangeListener(this); SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(GlobalContext.getInstance()); int value = Integer.parseInt(prefs.getString("pUploadSetting", "0")); setListSetting(value, R.array.txtUpload, pUploadSetting); if (AppSettings.getUploadSetting() == 0) { String summary = pUploadSetting.getSummary().toString(); pUploadSetting.setSummary(String.format("%s (%s)", summary, getString(R.string.settings_pic_upload_auto))); } else if (AppSettings.getUploadSetting() != 1) { String summary = pUploadSetting.getSummary().toString(); summary = summary.substring(0, summary.length() - 1); summary = summary + ", " + getString(R.string.settings_pic_upload_gif) + ")"; pUploadSetting.setSummary(summary); } pNonePic = (CheckBoxPreference) findPreference("pNonePic"); pNonePic.setOnPreferenceChangeListener(this); // 图片加载模式 pPicMode = (ListPreference) findPreference("pPicMode"); pPicMode.setOnPreferenceChangeListener(this); value = AppSettings.getPictureMode(); setListSetting(value, R.array.picMode, pPicMode); pPicMode.setEnabled(!pNonePic.isChecked()); // 微博加载数量 pTimelineCount = (ListPreference) findPreference("pTimelineCount"); pTimelineCount.setOnPreferenceChangeListener(this); value = Integer.parseInt(prefs.getString("pTimelineCount", "3")); setListSetting(value, R.array.timelineCount, pTimelineCount); // 评论加载数量 pCommentCount = (ListPreference) findPreference("pCommentCount"); pCommentCount.setOnPreferenceChangeListener(this); value = Integer.parseInt(prefs.getString("pCommentCount", "3")); setListSetting(value, R.array.commentCount, pCommentCount); } @Override public boolean onPreferenceClick(Preference preference) { return true; } @Override public boolean onPreferenceChange(Preference preference, Object newValue) { if ("pUploadSetting".equals(preference.getKey())) { setListSetting(Integer.parseInt(newValue.toString()), R.array.txtUpload, pUploadSetting); if (Integer.parseInt(newValue.toString()) == 0) { String summary = pUploadSetting.getSummary().toString(); pUploadSetting.setSummary(String.format("%s (%s)", summary, getString(R.string.settings_pic_upload_auto))); } else if (Integer.parseInt(newValue.toString()) != 1) { String summary = pUploadSetting.getSummary().toString(); summary = summary.substring(0, summary.length() - 1); summary = summary + ", " + getString(R.string.settings_pic_upload_gif) + ")"; pUploadSetting.setSummary(summary); } } else if ("pPicMode".equals(preference.getKey())) { setListSetting(Integer.parseInt(newValue.toString()), R.array.picMode, pPicMode); } else if ("pTimelineCount".equals(preference.getKey())) { setListSetting(Integer.parseInt(newValue.toString()), R.array.timelineCount, pTimelineCount); } else if ("pCommentCount".equals(preference.getKey())) { setListSetting(Integer.parseInt(newValue.toString()), R.array.commentCount, pCommentCount); } else if ("pNonePic".equals(preference.getKey())) { pPicMode.setEnabled(!Boolean.parseBoolean(newValue.toString())); } return true; } @Override public void onResume() { super.onResume(); UMengUtil.onPageStart(getActivity(), "流量设置页"); } @Override public void onPause() { super.onPause(); UMengUtil.onPageEnd(getActivity(), "流量设置页"); } }