From 6c88cd89b3f3d6d140f6eb0cec20e2f57a7ff563 Mon Sep 17 00:00:00 2001
From: 沈斌 <bluelazysb@hotmail.com>
Date: Wed, 16 May 2018 11:00:33 +0800
Subject: [PATCH] updates - 心跳包降低至30s/次
---
app/src/main/java/com/moral/yunfushao/activity/VoiceSetActivity.java | 209 +++++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 190 insertions(+), 19 deletions(-)
diff --git a/app/src/main/java/com/moral/yunfushao/activity/VoiceSetActivity.java b/app/src/main/java/com/moral/yunfushao/activity/VoiceSetActivity.java
index 97b0bb8..1078570 100644
--- a/app/src/main/java/com/moral/yunfushao/activity/VoiceSetActivity.java
+++ b/app/src/main/java/com/moral/yunfushao/activity/VoiceSetActivity.java
@@ -1,55 +1,126 @@
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{
+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("������������");
- 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("������������������");
+ }
+ }
}
@Override
protected void onLoadMore() {
+
}
@Override
protected void onRefresh() {
+ }
+
+ @Override
+ protected void onDestroy() {
+ super.onDestroy();
+ if (mp != null && mp.isPlaying()) {
+ mp.stop();
+ mp.release();
+ }
}
@Override
@@ -65,14 +136,23 @@
@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()){
+ switch (view.getId()) {
case R.id.tv_left:
finish();
+ break;
+ case R.id.tv_right:
+ showReset();
break;
}
@@ -86,20 +166,33 @@
@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();
@@ -107,6 +200,84 @@
@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;
+ }
}
}
--
Gitblit v1.8.0