From 124518a57007ac83877dd739581b744f2f45eb03 Mon Sep 17 00:00:00 2001 From: chenbin Date: Wed, 16 Sep 2020 17:26:47 +0800 Subject: [PATCH] upgrade --- .../sipcall/call/CreateGroupActivity.java | 4 +- .../sipcall/call/CreateMeetingActivity.java | 6 +- .../tianrun/sipcall/login/LoginActivity.java | 22 +++---- .../tianrun/sipcall/login/MainActivity.java | 2 +- .../com/tianrun/sipcall/ui/ActivityMgr.java | 24 ++++++-- .../com/tianrun/sipcall/utils/HttpUtl.java | 58 ++++++++++--------- 6 files changed, 68 insertions(+), 48 deletions(-) diff --git a/app/src/main/java/com/tianrun/sipcall/call/CreateGroupActivity.java b/app/src/main/java/com/tianrun/sipcall/call/CreateGroupActivity.java index 8ba7f91..1a63d44 100644 --- a/app/src/main/java/com/tianrun/sipcall/call/CreateGroupActivity.java +++ b/app/src/main/java/com/tianrun/sipcall/call/CreateGroupActivity.java @@ -53,10 +53,12 @@ public class CreateGroupActivity extends TrBaseActivity { users.clear(); mapUsers.clear(); + users.add(DBUser.mySelf); + mapUsers.put(DBUser.mySelf.phone, DBUser.mySelf); + DBUser u = new DBUser("", "添加分机号", ""); u.isAddFlag = true; users.add(u); - users.add(DBUser.mySelf); setList(null); } diff --git a/app/src/main/java/com/tianrun/sipcall/call/CreateMeetingActivity.java b/app/src/main/java/com/tianrun/sipcall/call/CreateMeetingActivity.java index 9a27fe2..1f6fac7 100644 --- a/app/src/main/java/com/tianrun/sipcall/call/CreateMeetingActivity.java +++ b/app/src/main/java/com/tianrun/sipcall/call/CreateMeetingActivity.java @@ -59,6 +59,8 @@ public class CreateMeetingActivity extends TrBaseActivity { users.clear(); mapUsers.clear(); + users.add(DBUser.mySelf); + mapUsers.put(DBUser.mySelf.phone, DBUser.mySelf); DBUser u = new DBUser("", "添加分机号", ""); u.isAddFlag = true; users.add(u); @@ -174,13 +176,13 @@ public class CreateMeetingActivity extends TrBaseActivity { List list = new ArrayList<>(); List listPhone = new ArrayList<>(); for (DBUser u : DBUser.allUser) { - if (mapUsers.get(u.phone) == null && (!u.isBusy())) { // 只有空间的才加入 + if (mapUsers.get(u.phone) == null && u.isOnline()) { // 只有空闲的才加入 listPhone.add(u.phone); list.add(u.phone + " | " + u.name); } } if(list.size() == 0) { - UIUtl.toastI("所有分机已经添加"); + UIUtl.toastI("所有空闲分机已经添加"); return; } diff --git a/app/src/main/java/com/tianrun/sipcall/login/LoginActivity.java b/app/src/main/java/com/tianrun/sipcall/login/LoginActivity.java index effca83..bf08a59 100644 --- a/app/src/main/java/com/tianrun/sipcall/login/LoginActivity.java +++ b/app/src/main/java/com/tianrun/sipcall/login/LoginActivity.java @@ -369,17 +369,17 @@ public class LoginActivity extends TrBaseActivity { } public void exit2(View view) { -// Net.login(this.name, this.pw, new HttpUtl.CallBack() { -// @Override -// public void onRequestComplete(int cmd, String result, Object orgs) { -// ActivityMgr.sendMsg(CONS.LOGIN, null); -// } -// -// @Override -// public void onRequestError(int cmd, String result, Object orgs) { -// UIUtl.toastI("取得token失败"); -// } -// }, null); + Net.login("5503", "!@#123Qw", new HttpUtl.CallBack() { + @Override + public void onRequestComplete(int cmd, String result, Object orgs) { + ActivityMgr.sendMsg(CONS.LOGIN, null); + } + + @Override + public void onRequestError(int cmd, String result, Object orgs) { + UIUtl.toastI("取得token失败"); + } + }, null); } } diff --git a/app/src/main/java/com/tianrun/sipcall/login/MainActivity.java b/app/src/main/java/com/tianrun/sipcall/login/MainActivity.java index 285652b..98ff0d1 100644 --- a/app/src/main/java/com/tianrun/sipcall/login/MainActivity.java +++ b/app/src/main/java/com/tianrun/sipcall/login/MainActivity.java @@ -417,7 +417,7 @@ public class MainActivity extends TrBaseActivity { } } )); - if (DBUser.mySelf.isManager) { + if (DBUser.mySelf.isManager && currSelectData != null && (!currSelectData.isAll())) { qa.addAction(new QMUIQuickAction.Action().icon(android.R.drawable.ic_delete).text("移除").onClick( new QMUIQuickAction.OnClickListener() { @Override diff --git a/app/src/main/java/com/tianrun/sipcall/ui/ActivityMgr.java b/app/src/main/java/com/tianrun/sipcall/ui/ActivityMgr.java index e35a5d5..d023d39 100644 --- a/app/src/main/java/com/tianrun/sipcall/ui/ActivityMgr.java +++ b/app/src/main/java/com/tianrun/sipcall/ui/ActivityMgr.java @@ -11,26 +11,38 @@ import java.util.concurrent.ConcurrentSkipListSet; public class ActivityMgr { public static Map actives = new ConcurrentHashMap<>(); public static TrBaseActivity topActivity; - public static TrBaseActivity getActivity(Class _class){ + + public static TrBaseActivity getActivity(Class _class) { return actives.get(_class); } public static void onShowActivity(TrBaseActivity a) { topActivity = a; - if(!actives.containsKey(a.getClass())) { + if (!actives.containsKey(a.getClass())) { actives.put(a.getClass(), a); } } + public static void onHideActivity(TrBaseActivity a) { actives.remove(a.getClass()); - if(a == topActivity) { + if (a == topActivity) { topActivity = null; } } public static void sendMsg(int menu, Object obj) { - for(TrBaseActivity a : actives.values()) { - CONS.SENDMESSAGETO( a.handler, menu, obj); - } + for (TrBaseActivity a : actives.values()) { + CONS.SENDMESSAGETO(a.handler, menu, obj); + } + } + + public static void hideAll() { + try { + for (TrBaseActivity a : actives.values()) { + a.finish(); + } + } catch (Exception e) { + e.printStackTrace(); + } } } diff --git a/app/src/main/java/com/tianrun/sipcall/utils/HttpUtl.java b/app/src/main/java/com/tianrun/sipcall/utils/HttpUtl.java index 2374acb..8af8213 100644 --- a/app/src/main/java/com/tianrun/sipcall/utils/HttpUtl.java +++ b/app/src/main/java/com/tianrun/sipcall/utils/HttpUtl.java @@ -31,7 +31,6 @@ import java.util.Map; * Http请求的工具类 * * @author suming - * */ public class HttpUtl { @@ -40,11 +39,12 @@ public class HttpUtl { public interface CallBack { void onRequestComplete(int cmd, String result, Object orgs); + void onRequestError(int cmd, String result, Object orgs); } - public static String token; + public static String token = null; /** * 异步的Get请求 @@ -67,7 +67,9 @@ public class HttpUtl { } } - }; + } + + ; }.start(); } @@ -93,7 +95,9 @@ public class HttpUtl { callBack.onRequestError(cmd, e.toString(), orgs); } } - }; + } + + ; }.start(); } @@ -128,7 +132,7 @@ public class HttpUtl { conn.setRequestProperty("connection", "Keep-Alive"); conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"); conn.setRequestProperty("charset", "utf-8"); - if(token != null) { + if (token != null) { conn.setRequestProperty("X-Auth-Token", token); } int retCode = conn.getResponseCode(); @@ -152,8 +156,10 @@ public class HttpUtl { Log.i("http", baos.toString()); } return baos.toString(); - } else { + } else if (retCode == 401) { checkTokenFailed(retCode); + return ""; + } else { throw new RuntimeException(" responseCode :" + retCode); } @@ -177,31 +183,29 @@ public class HttpUtl { } static void checkTokenFailed(int code) { - if(code == 401) { + if (code == 401) { UIUtl.toastI("Token 失效"); - - if(ActivityMgr.topActivity != null) { - SipEngine.getInstance().onLine = false; - SipEngine.getInstance().isRelogin = true; + token = null; + ActivityMgr.hideAll(); + SipEngine.getInstance().onLine = false; + SipEngine.getInstance().isRelogin = true; // SipEngine.getInstance().Unregister(); // SipEngine.getInstance().stop(); - Intent intent = new Intent(App.getContext(), LoginActivity.class); - Bundle bundle = new Bundle(); - bundle.putBoolean("donotAutoLogin", true); - intent.putExtras(bundle); - intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); - ActivityMgr.topActivity.startActivity(intent); - } + Intent intent = new Intent(App.getContext(), LoginActivity.class); + Bundle bundle = new Bundle(); + bundle.putBoolean("donotAutoLogin", true); + intent.putExtras(bundle); + intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); +// ActivityMgr.topActivity.startActivity(intent); + App.getInstance().startActivity(intent); } } /** * 向指定 URL 发送POST方法的请求 * - * @param url - * 发送请求的 URL - * @param param - * 请求参数,请求参数应该是 name1=value1&name2=value2 的形式。 + * @param url 发送请求的 URL + * @param param 请求参数,请求参数应该是 name1=value1&name2=value2 的形式。 * @return 所代表远程资源的响应结果 * @throws Exception */ @@ -219,7 +223,7 @@ public class HttpUtl { conn.setRequestMethod("POST"); conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"); conn.setRequestProperty("charset", "utf-8"); - if(token != null) { + if (token != null) { conn.setRequestProperty("X-Auth-Token", token); } conn.setUseCaches(false); @@ -243,8 +247,8 @@ public class HttpUtl { while ((line = in.readLine()) != null) { result += line; } - if (result .equals("{}")){ - result = conn.getResponseCode()+""; + if (result.equals("{}")) { + result = conn.getResponseCode() + ""; } int retCode = conn.getResponseCode(); @@ -266,7 +270,7 @@ public class HttpUtl { ex.printStackTrace(); } } - if (result==null&&result.equals("")) { + if (result == null && result.equals("")) { Log.i("http", "result为空"); } else { Log.i("http", result); @@ -301,7 +305,7 @@ public class HttpUtl { conn.setRequestProperty("connection", "keep-alive"); conn.setRequestProperty("Charsert", "UTF-8"); conn.setRequestProperty("Content-Type", MULTIPART_FROM_DATA + ";boundary=" + BOUNDARY); - if(token != null) { + if (token != null) { conn.setRequestProperty("X-Auth-Token", token); } // 首先组拼文本类型的参数