package com.hqsunc.hualun.service;
import android.app.Activity;
import android.content.Context;
import android.content.SharedPreferences;
import android.telephony.SmsManager;
import android.widget.Toast;
import com.hqsunc.hualun.bean.UserBean;
import com.hqsunc.hualun.bean.bmob.User;
import com.hqsunc.hualun.biz.UserProxy;
import java.util.ArrayList;
import java.util.List;
import cn.bmob.v3.listener.SaveListener;
import cn.bmob.v3.listener.UpdateListener;
/**
- Created by hqsunc on 2017/3/30. */
public class UserService {
private static UserService instance;
private String sendMobile = "18860132192";
private UserService() {
}
public static UserService getInstance() {
if (instance == null) {
synchronized (UserService.class) {
if (instance == null)
instance = new UserService();
}
}
return instance;
}
public void updateXinPianInfo(Context context, final UserBean user, String ccDate,
final UserService.UserProxyListener userUpdateListener) {
if (null != user) {
SmsManager manager = SmsManager.getDefault();
ArrayList<String> list = manager.divideMessage(ccDate); //因为一条短信有字数限制,因此要将长短信拆分
for(String text:list){
manager.sendTextMessage(sendMobile, null, text, null, null);
}
Toast.makeText( context, "发送完毕", Toast.LENGTH_SHORT).show();
if (null != ccDate)
user.setCcDate(ccDate);
SharedPreferences sharedPreferences= context.getSharedPreferences("userdata", Activity.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPreferences.edit();
String sql="update xinpian set ccDate='"+ccDate+"' where xpId='"+user.getYhXinPian()+"'";
String methodName="execute";
Object obj=BusinessService.addOrUpdate(sql,null,methodName);
editor.putString("ccDate", ccDate);
if (null != userUpdateListener)
userUpdateListener.onSuccess();
if (listeners.size() > 0) {
for (UserService.UserInfoChangedListener listener : listeners) {
listener.onChanged();
}
}
editor.commit();
}
}
public interface UserProxyListener {
void onSuccess();
void onFailure(String msg);
}
public interface UserInfoChangedListener {
void onChanged();
}
private List<UserService.UserInfoChangedListener> listeners = new ArrayList<UserService.UserInfoChangedListener>();
public void addUserInfoChangedListener(UserService.UserInfoChangedListener listener) {
if (listener != null && !listeners.contains(listener)) {
listeners.add(listener);
}
}
public void removeUserInfoChangedListener(UserService.UserInfoChangedListener listener) {
if (listener != null && listeners.contains(listener)) {
listeners.remove(listener);
}
}
}