package com.moral.yunfushao.fragment;
|
|
import android.app.AlertDialog;
|
import android.content.DialogInterface;
|
import android.content.Intent;
|
import android.content.pm.PackageInfo;
|
import android.content.pm.PackageManager;
|
import android.support.v7.widget.SwitchCompat;
|
import android.view.View;
|
import android.widget.AdapterView;
|
import android.widget.ArrayAdapter;
|
import android.widget.Button;
|
import android.widget.ListView;
|
import android.widget.RelativeLayout;
|
import android.widget.TextView;
|
|
import com.bigkoo.pickerview.OptionsPickerView;
|
import com.lzy.okgo.cache.CacheMode;
|
import com.moral.andbrickslib.utils.ActivityManager;
|
import com.moral.andbrickslib.utils.FastJsonTools;
|
import com.moral.yunfushao.MainActivity;
|
import com.moral.yunfushao.MainApp;
|
import com.moral.yunfushao.R;
|
import com.moral.yunfushao.activity.LoginActivity;
|
import com.moral.yunfushao.activity.TestActivity;
|
import com.moral.yunfushao.activity.VoiceSetActivity;
|
import com.moral.yunfushao.base.BaseFragment;
|
import com.moral.yunfushao.common.API;
|
import com.moral.yunfushao.common.AppConfig;
|
import com.moral.yunfushao.httputils.HttpCallBack;
|
import com.moral.yunfushao.httputils.HttpUtils;
|
import com.moral.yunfushao.model.EventMessage;
|
import com.moral.yunfushao.model.VoiceBean;
|
|
import org.greenrobot.eventbus.EventBus;
|
|
import java.util.ArrayList;
|
import java.util.HashMap;
|
import java.util.Map;
|
|
/**
|
* 设置界面
|
* Created by haijiang on 2017/7/4.
|
*/
|
|
public class FragmentSettings extends BaseFragment {
|
private TextView tv_version;
|
private RelativeLayout rl_setvoice, rl_refresh;
|
private Button bt_sure;
|
private Button bt_look, sc_male;
|
private SwitchCompat sc_open;
|
private int refreshIndex = 0;
|
|
@Override
|
protected int getLayoutId() {
|
return R.layout.fragment_setting_layout;
|
}
|
|
@Override
|
protected void initViews() {
|
rl_setvoice = findView(R.id.rl_setvoice);
|
rl_refresh = findView(R.id.rl_refresh);
|
bt_sure = findView(R.id.bt_sure);
|
bt_look = findView(R.id.bt_look);
|
sc_open = findView(R.id.sc_open);
|
sc_male = findView(R.id.sc_male);
|
tv_version = findView(R.id.tv_version);
|
tv_version.setText("当前版本V" + getVersion());
|
|
|
// bt_look.setVisibility(DebugUtils.debug_mode ? View.VISIBLE : View.GONE);
|
bt_look.setVisibility(View.GONE);
|
}
|
|
@Override
|
protected void initListener() {
|
rl_setvoice.setOnClickListener(this);
|
rl_refresh.setOnClickListener(this);
|
bt_sure.setOnClickListener(this);
|
sc_open.setOnClickListener(new View.OnClickListener() {
|
@Override
|
public void onClick(View view) {
|
if (sc_open.isChecked()) {
|
update("is_open_upload", "1");
|
} else {
|
update("is_open_upload", "0");
|
}
|
}
|
});
|
|
sc_male.setOnClickListener(new View.OnClickListener() {
|
@Override
|
public void onClick(View v) {
|
chooseSoundCategory();
|
}
|
});
|
|
bt_look.setOnClickListener(new View.OnClickListener() {
|
@Override
|
public void onClick(View view) {
|
Intent intent = new Intent(getActivity(), TestActivity.class);
|
startActivity(intent);
|
}
|
});
|
}
|
|
@Override
|
public void onResume() {
|
super.onResume();
|
switch (MainApp.theApp.sharedPreferencesUtil.getVoiceType()) {
|
case 0:
|
sc_male.setText("男声");
|
break;
|
case 1:
|
sc_male.setText("女声");
|
break;
|
case 2:
|
sc_male.setText("无声");
|
break;
|
case 3:
|
sc_male.setText("自定义");
|
break;
|
}
|
}
|
|
/**
|
* 选择声音弹出框
|
*/
|
private void chooseSoundCategory() {
|
final AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
|
ListView listView = new ListView(getActivity());
|
ArrayAdapter<String> arrayAdapter = new ArrayAdapter<>(getActivity(),
|
android.R.layout.simple_expandable_list_item_1,
|
new String[]{"男声", "女声", "无声"});
|
listView.setAdapter(arrayAdapter);
|
builder.setTitle("选择默认铃声!");
|
builder.setIcon(R.mipmap.icon_voice);
|
builder.setView(listView);
|
final AlertDialog alertDialog = builder.create();
|
alertDialog.show();
|
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
|
@Override
|
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
|
alertDialog.dismiss();
|
ejectTips(position);
|
}
|
});
|
}
|
|
/**
|
* 温馨提示弹出框
|
*/
|
private void ejectTips(final int position) {
|
final AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
|
builder.setTitle("温馨提示!");
|
builder.setIcon(R.mipmap.tips);
|
builder.setMessage("将会覆盖之前自定义或者默认的声音,确定这么做么?");
|
builder.setNegativeButton("确定", new DialogInterface.OnClickListener() {
|
@Override
|
public void onClick(DialogInterface dialog, int which) {
|
dialog.dismiss();
|
setUpDefaultRingtone(position);
|
}
|
});
|
builder.setPositiveButton("取消", new DialogInterface.OnClickListener() {
|
@Override
|
public void onClick(DialogInterface dialog, int which) {
|
dialog.dismiss();
|
}
|
});
|
final AlertDialog alertDialog = builder.create();
|
alertDialog.show();
|
}
|
|
private void setUpDefaultRingtone(int type) {
|
switch (type) {
|
case 0:
|
sc_male.setText("男声");
|
MainApp.theApp.sharedPreferencesUtil.saveVoiceType(0);
|
AppConfig.voideUrl1 = "http://yfsapi.7drlb.com/video/boy/music.mp3";
|
AppConfig.voideUrl2 = "http://yfsapi.7drlb.com/video/boy/music1.mp3";
|
AppConfig.voideUrl3 = "http://yfsapi.7drlb.com/video/boy/music2.mp3";
|
break;
|
case 1:
|
sc_male.setText("女声");
|
MainApp.theApp.sharedPreferencesUtil.saveVoiceType(1);
|
AppConfig.voideUrl1 = "http://yfsapi.7drlb.com/video/girl/music.mp3";
|
AppConfig.voideUrl2 = "http://yfsapi.7drlb.com/video/girl/music1.mp3";
|
AppConfig.voideUrl3 = "http://yfsapi.7drlb.com/video/girl/music2.mp3";
|
break;
|
case 2:
|
sc_male.setText("无声");
|
MainApp.theApp.sharedPreferencesUtil.saveVoiceType(2);
|
AppConfig.voideUrl1 = null;
|
AppConfig.voideUrl2 = null;
|
AppConfig.voideUrl3 = null;
|
break;
|
}
|
reset();
|
}
|
|
@Override
|
protected void initData() {
|
timeList.add("10s");
|
timeList.add("20s");
|
timeList.add("30s");
|
int open = MainApp.theApp.sharedPreferencesUtil.getLoginInfo().getIs_open_upload();
|
if (open == 0) {
|
sc_open.setChecked(false);
|
} else {
|
sc_open.setChecked(true);
|
}
|
int refresh = MainApp.theApp.sharedPreferencesUtil.getLoginInfo().getRefresh_frequency();
|
if (refresh == 10) {
|
refreshIndex = 0;
|
} else if (refresh == 20) {
|
refreshIndex = 1;
|
} else if (refresh == 30) {
|
refreshIndex = 2;
|
}
|
}
|
|
@Override
|
protected void processClick(View v) {
|
switch (v.getId()) {
|
case R.id.rl_setvoice:
|
Intent intent = new Intent(getActivity(), VoiceSetActivity.class);
|
startActivity(intent);
|
break;
|
case R.id.rl_refresh:
|
initDialog();
|
break;
|
case R.id.bt_sure:
|
MainApp.theApp.sharedPreferencesUtil.exitLogin();
|
Intent intent1 = new Intent();
|
intent1.setClass(getActivity(), LoginActivity.class);
|
startActivity(intent1);
|
ActivityManager.getActivityManager().finishActivity(MainActivity.class);
|
break;
|
}
|
|
}
|
|
@Override
|
protected void onErrorPagerClick() {
|
|
}
|
|
private ArrayList<String> timeList = new ArrayList<>();
|
|
private void initDialog() {
|
OptionsPickerView<String> sexView = new OptionsPickerView.Builder(getActivity(), new OptionsPickerView.OnOptionsSelectListener() {
|
@Override
|
public void onOptionsSelect(int options1, int options2, int options3, View v) {
|
refreshIndex = options1;
|
update("refresh_frequency", (options1 + 1) * 10 + "");
|
}
|
}).setOutSideCancelable(true).build();
|
sexView.setSelectOptions(refreshIndex);
|
sexView.setPicker(timeList);
|
sexView.show();
|
}
|
|
/**
|
* 字段名称,目前仅支持修改['refresh_frequency', 'video', 'is_open_upload']
|
*
|
* @param field
|
* @param value
|
*/
|
private void update(final String field, final String value) {
|
Map<String, String> params = new HashMap<>();
|
params.put("user_id", MainApp.userId);
|
params.put("field", field);
|
params.put("value", value);
|
String url = API.UPDATEUSERINFO;
|
HttpUtils.doPost(url, params, CacheMode.DEFAULT, true, new HttpCallBack() {
|
@Override
|
public void onSuccess(String res, String msg) {
|
mToatUtils.showSingletonToast(msg);
|
if ("refresh_frequency".equals(field)) {
|
MainApp.theApp.sharedPreferencesUtil.setRefreh(Integer.parseInt(value));
|
} else if ("is_open_upload".equals(field)) {
|
MainApp.theApp.sharedPreferencesUtil.setUpload(Integer.parseInt(value));
|
}
|
EventMessage event = new EventMessage();
|
event.setType(AppConfig.CHANGE_SETTING);
|
EventBus.getDefault().post(event);
|
if (progressDialog.isShowing()) {
|
progressDialog.dismiss();
|
}
|
}
|
|
@Override
|
public void showLoadingDialog() {
|
progressDialog.setTitleText("提交中...");
|
progressDialog.show();
|
}
|
|
@Override
|
public void onFail(int errno, String s) {
|
mToatUtils.showSingletonToast(s);
|
if (progressDialog.isShowing()) {
|
progressDialog.dismiss();
|
}
|
}
|
});
|
}
|
|
/**
|
* 获取版本号
|
*
|
* @return 当前应用的版本号
|
*/
|
public String getVersion() {
|
try {
|
PackageManager manager = getActivity().getPackageManager();
|
PackageInfo info = manager.getPackageInfo(getActivity().getPackageName(), 0);
|
String version = info.versionName;
|
return version;
|
} catch (Exception e) {
|
e.printStackTrace();
|
return "1.0";
|
}
|
}
|
|
private ArrayList<VoiceBean> voiceList = new ArrayList<>();
|
|
private void reset() {
|
voiceList.clear();
|
VoiceBean voiceBean = new VoiceBean();
|
voiceBean.setId(0);
|
voiceBean.setRes(AppConfig.voideUrl1);
|
voiceBean.setName("建议回避铃声");
|
voiceBean.setVoiceName("默认");
|
voiceList.add(voiceBean);
|
voiceBean = new VoiceBean();
|
voiceBean.setId(1);
|
voiceBean.setRes(AppConfig.voideUrl2);
|
voiceBean.setName("及时闪躲铃声");
|
voiceBean.setVoiceName("默认");
|
voiceList.add(voiceBean);
|
voiceBean = new VoiceBean();
|
voiceBean.setId(2);
|
voiceBean.setRes(AppConfig.voideUrl3);
|
voiceBean.setName("紧急撤离铃声");
|
voiceBean.setVoiceName("默认");
|
voiceList.add(voiceBean);
|
MainApp.theApp.sharedPreferencesUtil.saveVideoList(FastJsonTools.toJson(voiceList));
|
EventMessage eventMessage = new EventMessage();
|
eventMessage.setType(AppConfig.SET_VOICE);
|
EventBus.getDefault().post(eventMessage);
|
mToatUtils.showSingleLongToast("铃声设置成功");
|
}
|
}
|