package com.konka.music.ui.activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.ScrollView;
import android.widget.Toast;
import com.konka.music.R;
import com.konka.music.service.MusicInfoManager;
import com.konka.music.service.ShakeService;
import com.konka.music.setting.UpdateChecker;
import com.konka.music.util.ParaSetting;
import com.konka.music.util.SDCardUtil;
import com.konka.music.util.ToastUtil;
import com.konka.music.util.Util;
import com.kubeiwu.commontool.khttp.KRequestQueueManager;
import com.kubeiwu.commontool.khttp.requestimpl.ClearCacheRequest;
import com.kubeiwu.commontool.view.setting.GroupView;
import com.kubeiwu.commontool.view.setting.KSettingView;
import com.kubeiwu.commontool.view.setting.RowView;
import com.kubeiwu.commontool.view.setting.viewimpl.CheckBoxRowView;
import com.kubeiwu.commontool.view.setting.viewimpl.DefaultRowView;
import com.kubeiwu.commontool.view.util.DisplayOptions;
import com.kubeiwu.commontool.view.util.ItemBgSelectorUtil.RowStyle;
import com.kubeiwu.commontool.view.util.OnRowClickListener;
import com.kubeiwu.commontool.view.util.RowViewActionEnum;
public class SettingActivityFragment extends SuperActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
DisplayOptions selectorPara = new DisplayOptions.Builder()//
.setGroupTitleSizePx(15)//
.setOut_circle_Size(10)//
.setNormalLineColorId(R.color.setting_line_color).setRowStyle(RowStyle.ALL_AROUND).setRowleftpadding(21)//
.build();
ScrollView scrollView = new ScrollView(this);
scrollView.setVerticalScrollBarEnabled(false);
View view = initView(selectorPara);
view.setPadding(20, 10, 20, 10);
scrollView.addView(view);
setContentView(scrollView);
getActionBar().setTitle("设置");
}
protected View initView(DisplayOptions selectorPara) {
KSettingView containerView = new KSettingView(SettingActivityFragment.this);
containerView.setDisplayOptions(selectorPara);
GroupView groupView2 = containerView.addGroupViewItem(2, "控制功能");
GroupView groupView3 = containerView.addGroupViewItem(3, "其他功能");
GroupView groupView4 = containerView.addGroupViewItem(3, "");
groupView2.addRowViewItem(CheckBoxRowView.class, 1, "锁屏显示", R.drawable.setting_view_item_selector, ParaSetting.LOCK_SCREEN).setOnRowClickListener(getOnRowClickListener(CheckBoxRowView.class));// .setPara(ParaSetting.LOCK_SCREEN);
groupView2.addRowViewItem(CheckBoxRowView.class, 2, "摇一摇切歌", R.drawable.setting_view_item_selector, ParaSetting.WAVE_CUT_SONG).setOnRowClickListener(getOnRowClickListener(CheckBoxRowView.class));
// groupView2.addRowViewItem(CheckBoxRowView.class, 8, "仅在wifi联网", R.drawable.setting_view_item_selector, ParaSetting.only_wifi_network);
if (SDCardUtil.getInstance().hasExternalSD()) // konka-wangxu-20141216-有两个sd卡是方显示此设置
groupView2.addRowViewItem(DefaultRowView.class, 3, "自定义歌曲下载目录", R.drawable.arrow_to_right, ParaSetting.CUSTOM_SONG_DOWNLOAD_DIRECTORY).setOnRowClickListener(getOnRowClickListener(DefaultRowView.class));
groupView2.addRowViewItem(DefaultRowView.class, 4, "清空缓存", R.drawable.arrow_to_right, ParaSetting.CLEAR_CACHE).setOnRowClickListener(getOnRowClickListener(DefaultRowView.class));
groupView3.addRowViewItem(DefaultRowView.class, 5, "用户反馈", R.drawable.arrow_to_right, ParaSetting.FOR_MY_SCORE).setOnRowClickListener(getOnRowClickListener(DefaultRowView.class));
groupView3.addRowViewItem(DefaultRowView.class, 6, "检测更新", R.drawable.arrow_to_right, ParaSetting.CHECK_FOR_UPDATES).setOnRowClickListener(getOnRowClickListener(DefaultRowView.class)); /* .setOnRowClickListener(getOnRowClickListener(DefaultRowView.class)) */
groupView3.addRowViewItem(DefaultRowView.class, 7, "关于我们", R.drawable.arrow_to_right, ParaSetting.ABOUT_US).setOnRowClickListener(getOnRowClickListener(DefaultRowView.class));/* .setOnRowClickListener(getOnRowClickListener(DefaultRowView.class)) */
groupView4.addRowViewItem(DefaultRowView.class, 8, "退出", R.drawable.arrow_to_right, ParaSetting.EXIT).setOnRowClickListener(getOnRowClickListener(DefaultRowView.class));/* .setOnRowClickListener(getOnRowClickListener(DefaultRowView.class)) */
containerView.commit();
return containerView;
}
public <T extends RowView> OnRowClickListener<T> getOnRowClickListener(Class<T> clazz) {
return new OnRowClickListener<T>() {
@Override
public void onRowClick(T rowView, RowViewActionEnum action) {
switch (rowView.getItemId()) {
case 1:// 锁屏显示
doClickPowerOffShow();
break;
case 2:// 摇一摇切歌
doClickSwitchMusic((CheckBoxRowView) rowView);
break;
case 3:// 自定义歌曲下载目录
doClickDownloadPath();
break;
case 4:// 清空缓存
doClickClearCache();
break;
case 5:// 反馈
doClickFeedback();
break;
case 6:// 检测更新
doClickUpgrade();
break;
case 7:// 关于我们
doClickAboutUs();
break;
case 8:// 关于我们
onExit();
break;
}
// ToastUtil.showToast(SettingActivityFragment.this, rowView.getTitle().toString());
}
};
}
protected void onExit() {
MusicInfoManager.exitApp(this);
}
private void doClickPowerOffShow() {
// System.out.println(ParaSetting.LOCK_SCREEN.value);
}
private void doClickSwitchMusic(CheckBoxRowView t) {
if (t.getCurrentValue()) { // 开通摇一摇切歌
ShakeService.actionStart(getApplicationContext());
} else { // 关闭摇一摇切歌
ShakeService.actionStop(getApplicationContext());
}
}
private void doClickDownloadPath() {
startActivity(new Intent(SettingActivityFragment.this, SwitchCachePath.class));
}
private void doClickClearCache() {
Toast.makeText(getApplicationContext(), "正在清除...", Toast.LENGTH_SHORT).show();
KRequestQueueManager.getRequestQueue().add(new ClearCacheRequest(KRequestQueueManager.getRequestQueue().getCache(), new Runnable() {
@Override
public void run() {
ToastUtil.showToast(SettingActivityFragment.this, "清空完成");
}
}));
}
private void doClickFeedback() {
startActivity(new Intent(SettingActivityFragment.this, FeedBackActivity.class));
}
private void doClickUpgrade() {
UpdateChecker updatechker = new UpdateChecker(SettingActivityFragment.this);
int curver = updatechker.getCurVernum();
if (!Util.checkIntent(SettingActivityFragment.this)) {
ToastUtil.showToast(SettingActivityFragment.this, R.string.no_network);
} else {
updatechker.execute(Integer.valueOf(curver));
}
}
private void doClickAboutUs() {
startActivity(new Intent(SettingActivityFragment.this, AboutActivity.class));
}
}