package com.moral.yunfushao.activity; import android.content.res.AssetManager; import android.media.MediaPlayer; import android.os.Bundle; import android.view.View; import com.lzy.okgo.cache.CacheMode; import com.moral.andbrickslib.baseadapter.headandfooter.DividerItemDecoration; 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.common.API; import com.moral.yunfushao.httputils.HttpCallBack; import com.moral.yunfushao.httputils.HttpUtils; import com.moral.yunfushao.model.VoiceBean; 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 voiceList = new ArrayList<>(); AssetManager am; MediaPlayer mp; @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); 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); } @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(); int index = MainApp.theApp.sharedPreferencesUtil.getLoginInfo().getVideo(); voiceList.get(index).setSet(true); adapter.notifyDataSetChanged(); } @Override protected void processClick(View view) { switch (view.getId()){ case R.id.tv_left: finish(); 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(); } mp = MediaPlayer.create(this, voiceBean.getRes()); mp.start(); 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(); } /** * 字段名称,目前仅支持修改['refresh_frequency', 'video', 'is_open_upload'] * @param field * @param value */ private void update(String field, final String value) { Map 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(); } } }); } }