| | |
| | | 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.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.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{ |
| | | public class VoiceSetActivity extends BaseListActivity implements VoiceAdapter.OnBtnClickListener { |
| | | private VoiceAdapter adapter; |
| | | private ArrayList<VoiceBean> voiceList = new ArrayList<>(); |
| | | AssetManager am; |
| | | MediaPlayer mp; |
| | | |
| | | 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("设置铃声"); |
| | | VoiceBean voiceBean = new VoiceBean(); |
| | | voiceBean.setId(0); |
| | | voiceBean.setRes(R.raw.music); |
| | | voiceBean.setName("music"); |
| | | voiceList.add(voiceBean); |
| | | voiceBean = new VoiceBean(); |
| | | voiceBean.setId(1); |
| | | voiceBean.setRes(R.raw.music1); |
| | | voiceBean.setName("music1"); |
| | | voiceList.add(voiceBean); |
| | | 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("铃声设置成功"); |
| | | EventMessage eventMessage = new EventMessage(); |
| | | eventMessage.setType(AppConfig.SET_VOICE); |
| | | EventBus.getDefault().post(eventMessage); |
| | | } |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | protected void onLoadMore() { |
| | | |
| | | |
| | | |
| | | } |
| | |
| | | @Override |
| | | protected void onDestroy() { |
| | | super.onDestroy(); |
| | | if(mp!=null&&mp.isPlaying()){ |
| | | if (mp != null && mp.isPlaying()) { |
| | | mp.stop(); |
| | | mp.release(); |
| | | } |
| | |
| | | @Override |
| | | protected void initData() { |
| | | setNormalView(); |
| | | int index = MainApp.theApp.sharedPreferencesUtil.getLoginInfo().getVideo(); |
| | | voiceList.get(index).setSet(true); |
| | | adapter.notifyDataSetChanged(); |
| | | 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()){ |
| | | switch (view.getId()) { |
| | | case R.id.tv_left: |
| | | finish(); |
| | | break; |
| | | case R.id.tv_right: |
| | | showReset(); |
| | | break; |
| | | } |
| | | |
| | |
| | | @Override |
| | | public void playClick(int position) { |
| | | VoiceBean voiceBean = voiceList.get(position); |
| | | if(voiceBean.isPlay()){ |
| | | if (voiceBean.isPlay()) { |
| | | mp.stop(); |
| | | voiceBean.setPlay(false); |
| | | }else{ |
| | | if(mp!=null&&mp.isPlaying()){ |
| | | } else { |
| | | if (mp != null && mp.isPlaying()) { |
| | | mp.stop(); |
| | | mp.release(); |
| | | for (VoiceBean voice :voiceList){ |
| | | for (VoiceBean voice : voiceList) { |
| | | voice.setPlay(false); |
| | | } |
| | | adapter.notifyDataSetChanged(); |
| | | } |
| | | mp = MediaPlayer.create(this, voiceBean.getRes()); |
| | | mp.start(); |
| | | 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) { |
| | | update("video",position+""); |
| | | for (VoiceBean voice :voiceList){ |
| | | voice.setSet(false); |
| | | } |
| | | VoiceBean voiceBean = voiceList.get(position); |
| | | voiceBean.setSet(true); |
| | | adapter.notifyDataSetChanged(); |
| | | 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 |
| | | */ |
| | |
| | | } |
| | | |
| | | @Override |
| | | public void onFail(int errno,String s) { |
| | | 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(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)); |
| | | adapter.notifyDataSetChanged(); |
| | | EventMessage eventMessage = new EventMessage(); |
| | | eventMessage.setType(AppConfig.SET_VOICE); |
| | | EventBus.getDefault().post(eventMessage); |
| | | } |
| | | |
| | | @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; |
| | | } |
| | | } |
| | | } |