package com.moral.yunfushao.activity;
|
|
import android.content.Intent;
|
import android.content.res.AssetManager;
|
import android.media.MediaPlayer;
|
import android.net.Uri;
|
import android.os.Bundle;
|
import android.support.annotation.NonNull;
|
import android.support.v7.widget.RecyclerView;
|
import android.view.View;
|
|
import com.afollestad.materialdialogs.DialogAction;
|
import com.afollestad.materialdialogs.MaterialDialog;
|
import com.lzy.okgo.cache.CacheMode;
|
import com.moral.andbrickslib.baseadapter.headandfooter.DividerItemDecoration;
|
import com.moral.andbrickslib.baseadapter.recyclerview.MultiItemTypeAdapter;
|
import com.moral.andbrickslib.utils.FastJsonTools;
|
import com.moral.andbrickslib.utils.dialog.MaterialDialogUtils;
|
import com.moral.yunfushao.MainApp;
|
import com.moral.yunfushao.R;
|
import com.moral.yunfushao.adapter.VoiceAdapter;
|
import com.moral.yunfushao.base.BaseListActivity;
|
import com.moral.yunfushao.ble.BLECommon;
|
import com.moral.yunfushao.common.API;
|
import com.moral.yunfushao.httputils.HttpCallBack;
|
import com.moral.yunfushao.httputils.HttpUtils;
|
import com.moral.yunfushao.model.VoiceBean;
|
|
import java.io.IOException;
|
import java.util.ArrayList;
|
import java.util.HashMap;
|
import java.util.Map;
|
|
/**
|
* Created by haijiang on 2017/7/12.
|
*/
|
|
public class VoiceSetActivity extends BaseListActivity implements VoiceAdapter.OnBtnClickListener {
|
private VoiceAdapter adapter;
|
private ArrayList<VoiceBean> voiceList = new ArrayList<>();
|
AssetManager am;
|
MediaPlayer mp;
|
public static String voideUrl1 = "http://yfsapi.7drlb.com/video/music.mp3";
|
public static String voideUrl2 = "http://yfsapi.7drlb.com/video/music1.mp3";
|
public static String voideUrl3 = "http://yfsapi.7drlb.com/video/music2.mp3";
|
private MaterialDialog resetDialog;
|
|
private void showReset() {
|
resetDialog = MaterialDialogUtils.showCallBaclDialog(this, "温馨提示", "是否重置为默认铃声?", new MaterialDialog.SingleButtonCallback() {
|
@Override
|
public void onClick(@NonNull MaterialDialog dialog, @NonNull DialogAction which) {
|
reset();
|
resetDialog.dismiss();
|
}
|
}, new MaterialDialog.SingleButtonCallback() {
|
@Override
|
public void onClick(@NonNull MaterialDialog dialog, @NonNull DialogAction which) {
|
resetDialog.dismiss();
|
}
|
});
|
resetDialog.show();
|
}
|
|
@Override
|
protected void initOtherView() {
|
tv_title.setText("设置铃声");
|
tv_right.setText("重置");
|
DividerItemDecoration line = new DividerItemDecoration(this, DividerItemDecoration.VERTICAL_LIST);
|
mRecyclerView.addItemDecoration(line);
|
adapter = new VoiceAdapter(mRecyclerView, R.layout.list_item_voice, voiceList);
|
adapter.setOnBtnClickListener(this);
|
mRecyclerView.setAdapter(adapter);
|
adapter.setOnItemClickListener(new MultiItemTypeAdapter.OnItemClickListener() {
|
@Override
|
public void onItemClick(View view, RecyclerView.ViewHolder holder, int position) {
|
|
}
|
|
@Override
|
public boolean onItemLongClick(View view, RecyclerView.ViewHolder holder, int position) {
|
return false;
|
}
|
});
|
|
|
}
|
|
@Override
|
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
|
super.onActivityResult(requestCode, resultCode, data);
|
if (requestCode == 111) {
|
if (resultCode == RESULT_OK && data != null) {
|
int index = data.getIntExtra("position", 0);
|
String url = data.getStringExtra("url");
|
String name = data.getStringExtra("name");
|
voiceList.get(index).setDefaultMusic(false);
|
voiceList.get(index).setSetMusic(url);
|
voiceList.get(index).setVoiceName(name);
|
MainApp.theApp.sharedPreferencesUtil.saveVideoList(FastJsonTools.toJson(voiceList));
|
adapter.notifyDataSetChanged();
|
mToatUtils.showSingleLongToast("铃声设置成功");
|
}
|
}
|
}
|
|
@Override
|
protected void onLoadMore() {
|
|
|
}
|
|
@Override
|
protected void onRefresh() {
|
|
}
|
|
@Override
|
protected void onDestroy() {
|
super.onDestroy();
|
if (mp != null && mp.isPlaying()) {
|
mp.stop();
|
mp.release();
|
}
|
}
|
|
@Override
|
protected void getBundleExtras(Bundle extras) {
|
|
}
|
|
@Override
|
protected void initListener() {
|
|
}
|
|
@Override
|
protected void initData() {
|
setNormalView();
|
ArrayList<VoiceBean> temp = (ArrayList<VoiceBean>) FastJsonTools.getArrayJson(MainApp.theApp.sharedPreferencesUtil.getVideoList(), VoiceBean.class);
|
if (temp != null) {
|
voiceList.addAll(temp);
|
adapter.notifyDataSetChanged();
|
} else {
|
reset();
|
}
|
}
|
|
@Override
|
protected void processClick(View view) {
|
switch (view.getId()) {
|
case R.id.tv_left:
|
finish();
|
break;
|
case R.id.tv_right:
|
showReset();
|
break;
|
}
|
|
}
|
|
@Override
|
protected void onErrorPageClick() {
|
|
}
|
|
@Override
|
public void playClick(int position) {
|
VoiceBean voiceBean = voiceList.get(position);
|
if (voiceBean.isPlay()) {
|
mp.stop();
|
voiceBean.setPlay(false);
|
} else {
|
if (mp != null && mp.isPlaying()) {
|
mp.stop();
|
mp.release();
|
for (VoiceBean voice : voiceList) {
|
voice.setPlay(false);
|
}
|
adapter.notifyDataSetChanged();
|
}
|
if (voiceBean.isDefaultMusic()) {
|
mp = MediaPlayer.create(this, Uri.parse(voiceBean.getRes()));
|
mp.start();
|
} else {
|
mp = new MediaPlayer();
|
try {
|
mp.setDataSource(voiceBean.getSetMusic());
|
mp.prepare();
|
mp.start();
|
voiceBean.setPlay(true);
|
} catch (IOException e) {
|
e.printStackTrace();
|
}
|
}
|
|
voiceBean.setPlay(true);
|
}
|
adapter.notifyDataSetChanged();
|
}
|
|
@Override
|
public void setClick(int position) {
|
Intent intent = new Intent(VoiceSetActivity.this, ChooseSongActivity.class);
|
intent.putExtra("position", position);
|
startActivityForResult(intent, 111);
|
}
|
|
/**
|
* 字段名称,目前仅支持修改['refresh_frequency', 'video', 'is_open_upload']
|
*
|
* @param field
|
* @param value
|
*/
|
private void update(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);
|
MainApp.theApp.sharedPreferencesUtil.setVideo(Integer.parseInt(value));
|
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();
|
}
|
}
|
});
|
}
|
|
private void reset() {
|
voiceList.clear();
|
VoiceBean voiceBean = new VoiceBean();
|
voiceBean.setId(0);
|
voiceBean.setRes(VoiceSetActivity.voideUrl1);
|
voiceBean.setName("建议回避铃声");
|
voiceBean.setVoiceName("默认");
|
voiceList.add(voiceBean);
|
voiceBean = new VoiceBean();
|
voiceBean.setId(1);
|
voiceBean.setRes(VoiceSetActivity.voideUrl2);
|
voiceBean.setName("及时闪躲铃声");
|
voiceBean.setVoiceName("默认");
|
voiceList.add(voiceBean);
|
voiceBean = new VoiceBean();
|
voiceBean.setId(2);
|
voiceBean.setRes(VoiceSetActivity.voideUrl3);
|
voiceBean.setName("紧急撤离铃声");
|
voiceBean.setVoiceName("默认");
|
voiceList.add(voiceBean);
|
MainApp.theApp.sharedPreferencesUtil.saveVideoList(FastJsonTools.toJson(voiceList));
|
adapter.notifyDataSetChanged();
|
}
|
|
@Override
|
protected void onPause() {
|
super.onPause();
|
if (mp != null && mp.isPlaying()) {
|
mp.stop();
|
mp.release();
|
for (VoiceBean voice : voiceList) {
|
voice.setPlay(false);
|
}
|
adapter.notifyDataSetChanged();
|
mp = null;
|
}
|
}
|
}
|