xiongzhu 7 lat temu
rodzic
commit
9d4c3562ea
40 zmienionych plików z 179 dodań i 152 usunięć
  1. 27 24
      app/build.gradle
  2. BIN
      app/libs/nim-push-5.4.0.jar
  3. 8 8
      app/src/main/AndroidManifest.xml
  4. 21 9
      app/src/main/java/com/android/chmo/app/ChmoApplication.java
  5. 28 29
      app/src/main/java/com/android/chmo/app/VChatManager.java
  6. 2 2
      app/src/main/java/com/android/chmo/http/HttpApi.java
  7. 30 30
      app/src/main/java/com/android/chmo/http/service/OrderService.java
  8. 16 13
      app/src/main/java/com/android/chmo/receiver/VChatReceiver.java
  9. 15 12
      avchatkit/build.gradle
  10. BIN
      avchatkit/libs/arm64-v8a/libnrtc_engine.so
  11. BIN
      avchatkit/libs/arm64-v8a/libnrtc_network.so
  12. BIN
      avchatkit/libs/arm64-v8a/librts_network.so
  13. BIN
      avchatkit/libs/arm64-v8a/libvideoeffect.so
  14. BIN
      avchatkit/libs/armeabi-v7a/libnrtc_engine.so
  15. BIN
      avchatkit/libs/armeabi-v7a/libnrtc_network.so
  16. BIN
      avchatkit/libs/armeabi-v7a/librts_network.so
  17. BIN
      avchatkit/libs/armeabi-v7a/libvideoeffect.so
  18. BIN
      avchatkit/libs/fastjson-1.1.34.android.jar
  19. BIN
      avchatkit/libs/nim-avchat-5.4.0.jar
  20. BIN
      avchatkit/libs/nim-basesdk-5.4.0.jar
  21. BIN
      avchatkit/libs/nrtc-sdk.jar
  22. BIN
      avchatkit/libs/x86/libnrtc_engine.so
  23. BIN
      avchatkit/libs/x86/libnrtc_network.so
  24. BIN
      avchatkit/libs/x86/librts_network.so
  25. BIN
      avchatkit/libs/x86/libvideoeffect.so
  26. BIN
      avchatkit/libs/x86_64/libnrtc_engine.so
  27. BIN
      avchatkit/libs/x86_64/libnrtc_network.so
  28. BIN
      avchatkit/libs/x86_64/librts_network.so
  29. BIN
      avchatkit/libs/x86_64/libvideoeffect.so
  30. 6 6
      build.gradle
  31. 5 5
      faceunity/build.gradle
  32. 1 1
      gradle.properties
  33. 2 2
      gradle/wrapper/gradle-wrapper.properties
  34. 18 11
      uikit/build.gradle
  35. BIN
      uikit/libs/arm64-v8a/libne_audio.so
  36. BIN
      uikit/libs/armeabi-v7a/libne_audio.so
  37. BIN
      uikit/libs/nim-chatroom-5.4.0.jar
  38. BIN
      uikit/libs/nim-lucene-5.4.0.jar
  39. BIN
      uikit/libs/x86/libne_audio.so
  40. BIN
      uikit/libs/x86_64/libne_audio.so

+ 27 - 24
app/build.gradle

@@ -1,10 +1,8 @@
 apply plugin: 'com.android.application'
-apply plugin: 'com.neenbedankt.android-apt'
-
 
 android {
     compileSdkVersion 26
-    buildToolsVersion "26.0.2"
+    buildToolsVersion '28.0.3'
     defaultConfig {
         applicationId "com.android.chmo"
         minSdkVersion 14
@@ -12,7 +10,7 @@ android {
         versionCode 1
         versionName "1.0"
         ndk {
-            abiFilters "armeabi-v7a", "x86","arm64-v8a","x86_64"
+            abiFilters "armeabi-v7a", "x86", "arm64-v8a", "x86_64"
         }
         multiDexEnabled = true
     }
@@ -58,26 +56,31 @@ task copyDownloadableDepsToLibs(type: Copy) {
 }
 
 dependencies {
-    compile fileTree(include: ['*.jar'], dir: 'libs')
-    compile 'com.android.support:appcompat-v7:26.+'
-    compile 'com.jakewharton:butterknife:8.4.0'
-    apt 'com.jakewharton:butterknife-compiler:8.4.0'
-    compile 'com.scwang.smartrefresh:SmartRefreshLayout:1.0.5.1'
-    compile 'com.scwang.smartrefresh:SmartRefreshHeader:1.0.5.1'
-    compile 'com.google.code.gson:gson:2.2.4'
-    compile 'org.xutils:xutils:3.5.0'
-    compile 'com.contrarywind:Android-PickerView:4.1.6'
-    compile 'org.greenrobot:eventbus:3.1.1'
-    compile 'com.android.support:multidex:1.0.1'
-    compile 'com.tencent.mm.opensdk:wechat-sdk-android-with-mta:+'
-    compile 'com.lovedise:permissiongen:0.0.6'
-    compile('com.github.chrisbanes:PhotoView:2.1.4') {
+    implementation fileTree(include: ['*.jar'], dir: 'libs')
+    implementation 'com.android.support:appcompat-v7:26.+'
+    annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'
+    implementation 'com.jakewharton:butterknife:8.8.1'
+    implementation 'com.scwang.smartrefresh:SmartRefreshLayout:1.0.5.1'
+    implementation 'com.scwang.smartrefresh:SmartRefreshHeader:1.0.5.1'
+    implementation 'com.google.code.gson:gson:2.2.4'
+    implementation 'org.xutils:xutils:3.5.0'
+    implementation 'com.contrarywind:Android-PickerView:4.1.6'
+    implementation 'org.greenrobot:eventbus:3.1.1'
+    implementation 'com.android.support:multidex:1.0.1'
+    implementation 'com.tencent.mm.opensdk:wechat-sdk-android-with-mta:+'
+    implementation 'com.lovedise:permissiongen:0.0.6'
+    implementation('com.github.chrisbanes:PhotoView:2.1.4') {
         exclude group: 'com.android.support'
     }
-    compile files('libs/AMap2DMap_3.0.0_AMapSearch_3.6.1_AMapLocation_3.2.1_20161228.jar')
-    compile project(':uikit')
-    compile files('libs/alipaySdk.jar')
-    compile files('libs/MiPush_SDK_Client_3_6_2.jar')
-    compile files('libs/nim-push-5.4.0.jar')
-    compile files('libs/HMS_SDK_2.6.1.301.jar')
+    implementation files('libs/AMap2DMap_3.0.0_AMapSearch_3.6.1_AMapLocation_3.2.1_20161228.jar')
+    implementation project(':uikit')
+    implementation files('libs/alipaySdk.jar')
+    implementation files('libs/MiPush_SDK_Client_3_6_2.jar')
+    implementation files('libs/HMS_SDK_2.6.1.301.jar')
+    implementation 'com.netease.nimlib:push:5.4.0'
+    implementation 'com.netease.nimlib:basesdk:5.4.0'
+    implementation 'com.netease.nimlib:nrtc:5.4.0'
+    implementation 'com.netease.nimlib:rts:5.4.0'
+    implementation 'com.netease.nimlib:avchat:5.4.0'
+    implementation project(':avchatkit')
 }

BIN
app/libs/nim-push-5.4.0.jar


+ 8 - 8
app/src/main/AndroidManifest.xml

@@ -259,14 +259,14 @@
             android:theme="@style/ThemeScreen"
             android:windowSoftInputMode="adjustPan|stateHidden"></activity>
 
-        <receiver android:name=".receiver.VChatReceiver">
-            <intent-filter>
-                <action android:name="android.chmo.action.CALL"/>
-                <action android:name="android.chmo.action.INCOMING"/>
-                <action android:name="android.chmo.action.BEGIN_VIDEO"/>
-                <action android:name="android.chmo.action.END_VIDEO"/>
-            </intent-filter>
-        </receiver>
+        <!--<receiver android:name=".receiver.VChatReceiver">-->
+            <!--<intent-filter>-->
+                <!--<action android:name="android.chmo.action.CALL"/>-->
+                <!--<action android:name="android.chmo.action.INCOMING"/>-->
+                <!--<action android:name="android.chmo.action.BEGIN_VIDEO"/>-->
+                <!--<action android:name="android.chmo.action.END_VIDEO"/>-->
+            <!--</intent-filter>-->
+        <!--</receiver>-->
 
         <!-- 支付宝-->
         <activity

+ 21 - 9
app/src/main/java/com/android/chmo/app/ChmoApplication.java

@@ -1,6 +1,7 @@
 package com.android.chmo.app;
 
 import android.content.Context;
+import android.content.IntentFilter;
 import android.graphics.Bitmap;
 import android.graphics.Color;
 import android.graphics.drawable.BitmapDrawable;
@@ -14,6 +15,7 @@ import com.android.chmo.im.SessionHelper;
 import com.android.chmo.im.location.ChmoLocationProvider;
 import com.android.chmo.mixpush.ChmoMixPushMessageHandler;
 import com.android.chmo.model.LoginUser;
+import com.android.chmo.receiver.VChatReceiver;
 import com.android.chmo.ui.activity.WelcomeActivity;
 import com.android.chmo.utils.LoginUtils;
 import com.android.chmo.utils.NotifyUtils;
@@ -52,6 +54,7 @@ public class ChmoApplication extends BaseApplication {
     private LoginUser loginUser;
     private String code; // 验证码
     public static boolean isInit;
+
     @Override
     public void onCreate() {
         super.onCreate();
@@ -74,6 +77,14 @@ public class ChmoApplication extends BaseApplication {
             // 初始化音视频模块
             initAVChatKit();
         }
+
+        IntentFilter filter = new IntentFilter();
+        filter.addAction("android.chmo.action.CALL");
+        filter.addAction("android.chmo.action.INCOMING");
+        filter.addAction("android.chmo.action.BEGIN_VIDEO");
+        filter.addAction("android.chmo.action.END_VIDEO");
+        VChatReceiver receiver = new VChatReceiver();
+        registerReceiver(receiver, filter);
     }
 
     public static ChmoApplication getApp() {
@@ -85,13 +96,13 @@ public class ChmoApplication extends BaseApplication {
     }
 
     public LoginUser getLoginUser() {
-        if(null == loginUser) {
+        if (null == loginUser) {
             loginUser = LoginUtils.getLoginUser();
         }
-        return  loginUser;
+        return loginUser;
     }
 
-    public void  setCode(String code) {
+    public void setCode(String code) {
         this.code = code;
     }
 
@@ -136,6 +147,7 @@ public class ChmoApplication extends BaseApplication {
             public UserInfo getUserInfo(String account) {
                 return NimUIKit.getUserInfoProvider().getUserInfo(account);
             }
+
             @Override
             public String getDisplayNameForMessageNotifier(String account, String sessionId,
                                                            SessionTypeEnum sessionType) {
@@ -167,7 +179,7 @@ public class ChmoApplication extends BaseApplication {
     // 如果已经存在用户登录信息,返回LoginInfo,否则返回null即可
     public LoginInfo imLoginInfo() {
         loginUser = LoginUtils.getLoginUser();
-        if(loginUser == null) {
+        if (loginUser == null) {
             return null;
         }
         LoginInfo info = new LoginInfo(loginUser.pk, loginUser.token);
@@ -202,7 +214,7 @@ public class ChmoApplication extends BaseApplication {
         // 初始化
         NimUIKit.init(this, buildUIKitOptions());
         LoginInfo info = imLoginInfo();
-        if(null != info) {
+        if (null != info) {
             NimUIKit.setAccount(info.getAccount());
         }
 
@@ -216,9 +228,9 @@ public class ChmoApplication extends BaseApplication {
             public void onEvent(CustomNotification message) {
                 String content = message.getContent();
                 if (content.contains("完成")) {
-                    new NotifyUtils(getApplicationContext()).showOrderNotification("订单已完成","订单已完成",message.getContent(),message.hashCode());
-                }else {
-                    new NotifyUtils(getApplicationContext()).showOrderNotification("模特已接单","模特已接单",message.getContent(),message.hashCode());
+                    new NotifyUtils(getApplicationContext()).showOrderNotification("订单已完成", "订单已完成", message.getContent(), message.hashCode());
+                } else {
+                    new NotifyUtils(getApplicationContext()).showOrderNotification("模特已接单", "模特已接单", message.getContent(), message.hashCode());
                 }
             }
         }, true);
@@ -232,7 +244,7 @@ public class ChmoApplication extends BaseApplication {
     }
 
     private void initAVChatKit() {
-        AVChatOptions avChatOptions = new AVChatOptions(){
+        AVChatOptions avChatOptions = new AVChatOptions() {
             @Override
             public void logout(Context context) {
                 //被踢出

+ 28 - 29
app/src/main/java/com/android/chmo/app/VChatManager.java

@@ -47,26 +47,26 @@ public class VChatManager {
     private float vPrice = 10;
 
 
-    private VChatManager(){
+    private VChatManager() {
     }
 
-    public static VChatManager getInstance(){
-        if(vcManager == null) {
+    public static VChatManager getInstance() {
+        if (vcManager == null) {
             vcManager = new VChatManager();
         }
-        return  vcManager;
+        return vcManager;
     }
 
 
-    public void showPromptDialog(final Context activity,final float vPrice, final VChatCallback callback) {
+    public void showPromptDialog(final Context activity, final float vPrice, final VChatCallback callback) {
         this.vPrice = vPrice;
 
-        if(!checkBalance(vPrice)) {
+        if (!checkBalance(vPrice)) {
             showBalanceOutDialog(activity);
             return;
         }
 
-        String timeMsg = "您的余额只够通话"+ getLimitVideoTime(vPrice)+"分钟,请尽快充值吧";
+        String timeMsg = "您的余额只够通话" + getLimitVideoTime(vPrice) + "分钟,请尽快充值吧";
         new ConfirmDialog(activity)
                 .setOutTouchDismiss(false)
                 .setMsg("视频通话将产生费用\n\n" + timeMsg)
@@ -86,12 +86,11 @@ public class VChatManager {
     }
 
 
-
     public void showBalanceOutDialog(final Context activity) {
         new ConfirmDialog(activity)
                 .setOutTouchDismiss(false)
                 .setMsg("您的余额不足,请先充值")
-                .setButton("去充值","取消")
+                .setButton("去充值", "取消")
                 .setDialogListener(new ConfirmDialog.DialogListener() {
                     @Override
                     public void onOk(Dialog dialog) {
@@ -110,27 +109,27 @@ public class VChatManager {
     }
 
 
-
     public static void call(final String account, final String name, final int type) {
         final Activity activity = ActivityManager.getInstance().currentActivity();
         ModelService.getModelVideoPrice(account, new RequestCallback() {
             @Override
             public void onSuccess(String result) {
-                final VideoPriceRes res = new Gson().fromJson(result,VideoPriceRes.class);
-                if(res.msg.equals("success")) {
-                    VChatManager.getInstance().showPromptDialog(activity, res.vprice, new VChatManager.VChatCallback(){
+                final VideoPriceRes res = new Gson().fromJson(result, VideoPriceRes.class);
+                if (res.msg.equals("success")) {
+                    VChatManager.getInstance().showPromptDialog(activity, res.vprice, new VChatManager.VChatCallback() {
                         @Override
                         public void startVChat() {
                             AVChatActivity.outgoingCall(AVChatKit.getContext(), account, name, type, AVChatActivity.FROM_INTERNAL);
                         }
                     });
-                }else {
-                    Toast.makeText(activity, "请求失败,请重试",Toast.LENGTH_SHORT).show();
+                } else {
+                    Toast.makeText(activity, "请求失败,请重试", Toast.LENGTH_SHORT).show();
                 }
             }
+
             @Override
             public void onFailure(String error) {
-                Toast.makeText(activity, "请求失败,请重试",Toast.LENGTH_SHORT).show();
+                Toast.makeText(activity, "请求失败,请重试", Toast.LENGTH_SHORT).show();
             }
         });
     }
@@ -152,7 +151,7 @@ public class VChatManager {
             public void onSuccess(String result) {
                 Log.d("VChat", "requestBegin===================" + result);
                 VChatRes res = new Gson().fromJson(result, VChatRes.class);
-                if(res.msg.equals("success")) {
+                if (res.msg.equals("success")) {
                     videoPk = res.videopk;
                     startTimer();
                 }
@@ -167,11 +166,11 @@ public class VChatManager {
     public void requestEnd() {
         endTimer();
         endTime = System.currentTimeMillis();
-        double durTime = endTime/1000 - beginTime/1000;
-        if(durTime < 60) {
+        double durTime = endTime / 1000 - beginTime / 1000;
+        if (durTime < 60) {
             duration = 1;
-        }else {
-            duration =(int) Math.ceil(durTime / 60);
+        } else {
+            duration = (int) Math.ceil(durTime / 60);
         }
 
         check();
@@ -183,12 +182,12 @@ public class VChatManager {
             public void onSuccess(String result) {
                 Log.d("VChat", "check ================" + result);
                 final VChatRes res = new Gson().fromJson(result, VChatRes.class);
-                if(res.msg.equals("success")) {
+                if (res.msg.equals("success")) {
                     reset();
                     new Handler().postDelayed(new Runnable() {
                         @Override
                         public void run() {
-                            String msg = "视频总花费:" + res.coin + "元 ,当前余额:" +  res.coinfee + "元";
+                            String msg = "视频总花费:" + res.coin + "元 ,当前余额:" + res.coinfee + "元";
                             Toast.makeText(ActivityManager.getInstance().currentActivity(), msg, Toast.LENGTH_SHORT).show();
                             LoginUtils.refreshUser();
                         }
@@ -204,16 +203,16 @@ public class VChatManager {
     }
 
 
-    public void handUpVChat(){
+    public void handUpVChat() {
         ChmoApplication.getApp().sendBroadcast(new Intent("android.chmo.action.STOP"));
     }
 
     public void startTimer() {
-        if(null != timer) {
+        if (null != timer) {
             timer.cancel();
             timer = null;
         }
-        int times =  getLimitVideoTime(this.vPrice) * 60 * 1000;
+        int times = getLimitVideoTime(this.vPrice) * 60 * 1000;
         timer = new Timer();
         timer.schedule(new TimerTask() {
             @Override
@@ -224,7 +223,7 @@ public class VChatManager {
     }
 
     public void endTimer() {
-        if(null != timer) {
+        if (null != timer) {
             timer.cancel();
             timer = null;
         }
@@ -242,7 +241,7 @@ public class VChatManager {
     private static boolean checkBalance(float vprice) {
         LoginUser user = ChmoApplication.getApp().getLoginUser();
         float balance = Float.parseFloat(user.coin_a);
-        if(balance < vprice) { // 余额小于 1分钟10块钱
+        if (balance < vprice) { // 余额小于 1分钟10块钱
             return false;
         }
         return true;
@@ -251,7 +250,7 @@ public class VChatManager {
     private static int getLimitVideoTime(float vprice) {
         LoginUser user = ChmoApplication.getApp().getLoginUser();
         float balance = Float.parseFloat(user.coin_a);
-        float  time = balance / vprice;
+        float time = balance / vprice;
         return Math.round(time);
     }
 

+ 2 - 2
app/src/main/java/com/android/chmo/http/HttpApi.java

@@ -13,9 +13,9 @@ import org.xutils.x;
  */
 
 public class HttpApi {
-    public static final String BASE_URL = "http://118.190.49.85/thmodel/";
+//    public static final String BASE_URL = "http://118.190.49.85/thmodel/";
 
-//    public static final String BASE_URL = "http://118.190.49.85/thmodeltest/";
+    public static final String BASE_URL = "http://118.190.49.85/thmodeltest/";
 
 
     public static String getImgUrl(String path) {

+ 30 - 30
app/src/main/java/com/android/chmo/http/service/OrderService.java

@@ -24,10 +24,10 @@ public class OrderService {
     }
 
     /**
-     *  提交订单
+     * 提交订单
      */
-    public static Callback.Cancelable submitOrder(ModelOrder order,String workName,String contact,String phone,String workAddr,String mark, RequestCallback callback) {
-        LoginUser user =  ChmoApplication.getApp().getLoginUser();
+    public static Callback.Cancelable submitOrder(ModelOrder order, String workName, String contact, String phone, String workAddr, String mark, RequestCallback callback) {
+        LoginUser user = ChmoApplication.getApp().getLoginUser();
         RequestParams params = getRequestParams();
         params.addQueryStringParameter("action", "doPutOrder");
         params.addQueryStringParameter("PK", user.pk);
@@ -36,15 +36,15 @@ public class OrderService {
         params.addQueryStringParameter("LederPK", "0");
         params.addQueryStringParameter("ODate", DateUtils.formatHourDate(order.startTime));
         params.addQueryStringParameter("SDate", DateUtils.formatHourDate(order.endTime));
-        params.addQueryStringParameter("SCount","" + order.hour);
-        params.addQueryStringParameter("SName",workName);
-        params.addQueryStringParameter("SPrice",order.skill.price);
-        params.addQueryStringParameter("coin",""+ String.valueOf(order.totalPrice));
-        params.addQueryStringParameter("OrderState","0");
-        params.addQueryStringParameter("intro",mark);
-        params.addQueryStringParameter("skillpk",order.skill.skillpk);
+        params.addQueryStringParameter("SCount", "" + order.hour);
+        params.addQueryStringParameter("SName", workName);
+        params.addQueryStringParameter("SPrice", order.skill.price);
+        params.addQueryStringParameter("coin", "" + String.valueOf(order.totalPrice));
+        params.addQueryStringParameter("OrderState", "0");
+        params.addQueryStringParameter("intro", mark);
+        params.addQueryStringParameter("skillpk", order.skill.skillpk);
         params.addQueryStringParameter("linkman", contact);
-        params.addQueryStringParameter("linkphone",phone);
+        params.addQueryStringParameter("linkphone", phone);
         params.addQueryStringParameter("addr", workAddr);
         return HttpApi.GET(params, callback);
     }
@@ -72,31 +72,30 @@ public class OrderService {
     }
 
 
-    public static Callback.Cancelable getOrderList(String state,int page, RequestCallback callback) {
-        LoginUser user =  ChmoApplication.getApp().getLoginUser();
+    public static Callback.Cancelable getOrderList(String state, int page, RequestCallback callback) {
+        LoginUser user = ChmoApplication.getApp().getLoginUser();
         RequestParams params = getRequestParams();
         params.addQueryStringParameter("action", "doGetOrder");
         params.addQueryStringParameter("pk", user.pk);
         params.addQueryStringParameter("state", state);
-        params.addQueryStringParameter("index", page+"");
-        params.addQueryStringParameter("size", Constants.PAGE_SIZE+"");
+        params.addQueryStringParameter("index", page + "");
+        params.addQueryStringParameter("size", Constants.PAGE_SIZE + "");
         return HttpApi.GET(params, callback);
     }
 
     public static Callback.Cancelable getVideoOrder(int page, RequestCallback callback) {
-        LoginUser user =  ChmoApplication.getApp().getLoginUser();
+        LoginUser user = ChmoApplication.getApp().getLoginUser();
         RequestParams params = getRequestParams();
         params.addQueryStringParameter("action", "getMemberVideoRecordOrder");
         params.addQueryStringParameter("memberpk", user.pk);
-        params.addQueryStringParameter("index", page+"");
-        params.addQueryStringParameter("size", Constants.PAGE_SIZE+"");
+        params.addQueryStringParameter("index", page + "");
+        params.addQueryStringParameter("size", Constants.PAGE_SIZE + "");
         return HttpApi.GET(params, callback);
     }
 
 
-
     public static Callback.Cancelable beginVChat(String modelPk, RequestCallback callback) {
-        LoginUser user =  ChmoApplication.getApp().getLoginUser();
+        LoginUser user = ChmoApplication.getApp().getLoginUser();
         RequestParams params = getRequestParams();
         params.addQueryStringParameter("action", "dobegvchat");
         params.addQueryStringParameter("pk", user.pk);
@@ -107,7 +106,7 @@ public class OrderService {
     }
 
     public static Callback.Cancelable answerVChat(String modelPk, RequestCallback callback) {
-        LoginUser user =  ChmoApplication.getApp().getLoginUser();
+        LoginUser user = ChmoApplication.getApp().getLoginUser();
         RequestParams params = getRequestParams();
         params.addQueryStringParameter("action", "doansvchat");
         params.addQueryStringParameter("videopk", "0");
@@ -122,7 +121,7 @@ public class OrderService {
         RequestParams params = getRequestParams();
         params.addQueryStringParameter("action", "doendvchat");
         params.addQueryStringParameter("videopk", videoPk);
-        params.addQueryStringParameter("duration", ""+duration);
+        params.addQueryStringParameter("duration", "" + duration);
         return HttpApi.GET(params, callback);
     }
 
@@ -130,24 +129,25 @@ public class OrderService {
         RequestParams params = getRequestParams();
         params.addQueryStringParameter("action", "dovchattest");
         params.addQueryStringParameter("videopk", videoPk);
-        params.addQueryStringParameter("duration", ""+duration);
+        params.addQueryStringParameter("duration", "" + duration);
         return HttpApi.GET(params, callback);
     }
 
 
     /**
      * 支付宝提交订单
+     *
      * @return
      */
     public static Callback.Cancelable alipay(float money, RequestCallback callback) {
-        LoginUser user =  ChmoApplication.getApp().getLoginUser();
-        RequestParams params =  new RequestParams(HttpApi.BASE_URL + "pay");
+        LoginUser user = ChmoApplication.getApp().getLoginUser();
+        RequestParams params = new RequestParams(HttpApi.BASE_URL + "pay");
         params.addQueryStringParameter("action", "alipay");
         params.addQueryStringParameter("memberpk", user.pk);
-        params.addQueryStringParameter("totalamount", ""+money);
+        params.addQueryStringParameter("totalamount", "" + money);
         params.addQueryStringParameter("timeoutexpress", "3m");
         params.addQueryStringParameter("body", "账户充值");
-        params.addQueryStringParameter("subject", "充值金额"+money);
+        params.addQueryStringParameter("subject", "充值金额" + money);
         return HttpApi.GET(params, callback);
     }
 
@@ -155,9 +155,9 @@ public class OrderService {
     /**
      * 支付宝成功回调
      */
-    public static Callback.Cancelable alipayResult(String payPk, String outtradeno, int result,RequestCallback callback) {
-        LoginUser user =  ChmoApplication.getApp().getLoginUser();
-        RequestParams params =  new RequestParams(HttpApi.BASE_URL + "pay");
+    public static Callback.Cancelable alipayResult(String payPk, String outtradeno, int result, RequestCallback callback) {
+        LoginUser user = ChmoApplication.getApp().getLoginUser();
+        RequestParams params = new RequestParams(HttpApi.BASE_URL + "pay");
         params.addQueryStringParameter("action", "alipaycallback");
         params.addQueryStringParameter("pk", payPk);
         params.addQueryStringParameter("outtradeno", outtradeno);

+ 16 - 13
app/src/main/java/com/android/chmo/receiver/VChatReceiver.java

@@ -4,6 +4,7 @@ import android.app.Activity;
 import android.content.BroadcastReceiver;
 import android.content.Context;
 import android.content.Intent;
+import android.util.Log;
 
 import com.android.chmo.app.VChatManager;
 import com.android.chmo.http.RequestCallback;
@@ -22,14 +23,15 @@ public class VChatReceiver extends BroadcastReceiver {
     @Override
     public void onReceive(Context context, Intent intent) {
         String action = intent.getAction();
-        if(action.equals("android.chmo.action.INCOMING")){ // 接收到视频
-            AVChatData data = (AVChatData)intent.getSerializableExtra("data");
+        Log.d("xxxxx", "zzzzz");
+        if (action.equals("android.chmo.action.INCOMING")) { // 接收到视频
+            AVChatData data = (AVChatData) intent.getSerializableExtra("data");
             String name = intent.getStringExtra("name");
-            inComing(data,name);
-        } else if(action.equals("android.chmo.action.BEGIN_VIDEO")) { // 视频已连接
+            inComing(data, name);
+        } else if (action.equals("android.chmo.action.BEGIN_VIDEO")) { // 视频已连接
             String account = intent.getStringExtra("account");
             beginVideo(account);
-        }else if(action.equals("android.chmo.action.END_VIDEO")) { // 视频结束
+        } else if (action.equals("android.chmo.action.END_VIDEO")) { // 视频结束
             endVideo();
         }
     }
@@ -40,22 +42,23 @@ public class VChatReceiver extends BroadcastReceiver {
         ModelService.getModelVideoPrice(data.getAccount(), new RequestCallback() {
             @Override
             public void onSuccess(String result) {
-                VideoPriceRes res = new Gson().fromJson(result,VideoPriceRes.class);
+                VideoPriceRes res = new Gson().fromJson(result, VideoPriceRes.class);
                 float vprice = 6;
-                if(res.msg.equals("success")) {
+                if (res.msg.equals("success")) {
                     vprice = res.vprice;
                 }
                 Activity activity = ActivityManager.getInstance().currentActivity();
-                VChatManager.getInstance().showPromptDialog(activity,vprice, new VChatManager.VChatCallback(){
+                VChatManager.getInstance().showPromptDialog(activity, vprice, new VChatManager.VChatCallback() {
                     @Override
                     public void startVChat() {
                     }
                 });
             }
+
             @Override
             public void onFailure(String error) {
                 Activity activity = ActivityManager.getInstance().currentActivity();
-                VChatManager.getInstance().showPromptDialog(activity,6, new VChatManager.VChatCallback(){
+                VChatManager.getInstance().showPromptDialog(activity, 6, new VChatManager.VChatCallback() {
                     @Override
                     public void startVChat() {
                     }
@@ -66,12 +69,12 @@ public class VChatReceiver extends BroadcastReceiver {
 
     }
 
-    private  void beginVideo(String account) {
+    private void beginVideo(String account) {
         ModelService.getModelVideoPrice(account, new RequestCallback() {
             @Override
             public void onSuccess(String result) {
-                VideoPriceRes res = new Gson().fromJson(result,VideoPriceRes.class);
-                if(res.msg.equals("success")) {
+                VideoPriceRes res = new Gson().fromJson(result, VideoPriceRes.class);
+                if (res.msg.equals("success")) {
                     VChatManager.getInstance().requestBegin(res.modelpk);
                 }
             }
@@ -83,7 +86,7 @@ public class VChatReceiver extends BroadcastReceiver {
 
     }
 
-    private  void endVideo() {
+    private void endVideo() {
         VChatManager.getInstance().requestEnd();
     }
 }

+ 15 - 12
avchatkit/build.gradle

@@ -2,7 +2,7 @@ apply plugin: 'com.android.library'
 
 android {
     compileSdkVersion 26
-    buildToolsVersion "26.0.2"
+    buildToolsVersion '28.0.3'
 
     defaultConfig {
         minSdkVersion 14
@@ -18,7 +18,7 @@ android {
         main {
             manifest.srcFile 'src/main/AndroidManifest.xml'
             java.srcDirs = ['src/main/java']
-            res.srcDirs = ['src/main/res','src/main/res-avchat']
+            res.srcDirs = ['src/main/res', 'src/main/res-avchat']
             jniLibs.srcDirs = ['libs']
         }
     }
@@ -26,15 +26,18 @@ android {
 }
 
 dependencies {
-    compile fileTree(dir: 'libs', include: ['*.jar'])
-    compile("com.android.support:appcompat-v7:26.+")
-    compile("com.android.support:recyclerview-v7:26.+")
-    compile("com.android.support:design:26.+")
-    compile("com.android.support.constraint:constraint-layout:1.0.2")
-
-    compile 'com.github.bumptech.glide:glide:4.2.0'
+    implementation fileTree(include: ['*.jar'], dir: 'libs')
+    implementation 'com.android.support:appcompat-v7:26.+'
+    implementation 'com.android.support:recyclerview-v7:26.+'
+    implementation 'com.android.support:design:26.+'
+    implementation 'com.android.support.constraint:constraint-layout:1.0.2'
+    implementation 'com.github.bumptech.glide:glide:4.2.0'
     annotationProcessor 'com.github.bumptech.glide:compiler:4.2.0'
-    compile 'jp.wasabeef:glide-transformations:3.0.1'
-
-    compile project(path: ':faceunity')
+    implementation 'jp.wasabeef:glide-transformations:3.0.1'
+    implementation project(':faceunity')
+    implementation 'com.netease.nimlib:basesdk:5.4.0'
+    implementation 'com.netease.nimlib:nrtc:5.4.0'
+    implementation 'com.netease.nimlib:avchat:5.4.0'
+    implementation 'com.netease.nimlib:rts:5.4.0'
+    implementation group: 'com.alibaba', name: 'fastjson', version: '1.1.34.android'
 }

BIN
avchatkit/libs/arm64-v8a/libnrtc_engine.so


BIN
avchatkit/libs/arm64-v8a/libnrtc_network.so


BIN
avchatkit/libs/arm64-v8a/librts_network.so


BIN
avchatkit/libs/arm64-v8a/libvideoeffect.so


BIN
avchatkit/libs/armeabi-v7a/libnrtc_engine.so


BIN
avchatkit/libs/armeabi-v7a/libnrtc_network.so


BIN
avchatkit/libs/armeabi-v7a/librts_network.so


BIN
avchatkit/libs/armeabi-v7a/libvideoeffect.so


BIN
avchatkit/libs/fastjson-1.1.34.android.jar


BIN
avchatkit/libs/nim-avchat-5.4.0.jar


BIN
avchatkit/libs/nim-basesdk-5.4.0.jar


BIN
avchatkit/libs/nrtc-sdk.jar


BIN
avchatkit/libs/x86/libnrtc_engine.so


BIN
avchatkit/libs/x86/libnrtc_network.so


BIN
avchatkit/libs/x86/librts_network.so


BIN
avchatkit/libs/x86/libvideoeffect.so


BIN
avchatkit/libs/x86_64/libnrtc_engine.so


BIN
avchatkit/libs/x86_64/libnrtc_network.so


BIN
avchatkit/libs/x86_64/librts_network.so


BIN
avchatkit/libs/x86_64/libvideoeffect.so


+ 6 - 6
build.gradle

@@ -3,10 +3,13 @@
 buildscript {
     repositories {
         jcenter()
+        google()
+        mavenCentral()
+        maven { url "https://jitpack.io" }
     }
     dependencies {
-        classpath 'com.android.tools.build:gradle:2.2.3'
-        classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
+        classpath 'com.android.tools.build:gradle:3.2.1'
+        classpath 'com.jakewharton:butterknife-gradle-plugin:8.8.1'
         // NOTE: Do not place your application dependencies here; they belong
         // in the individual module build.gradle files
     }
@@ -15,12 +18,9 @@ buildscript {
 allprojects {
     repositories {
         jcenter()
+        google()
         mavenCentral()
         maven { url "https://jitpack.io" }
-        maven {url 'http://developer.huawei.com/repo'}
-        maven { url 'https://fabric-artifacts.s3.amazonaws.com/public' }
-        maven { url "https://maven.google.com"}
-        maven { url "https://dl.google.com/dl/android/maven2/"}
     }
 }
 

+ 5 - 5
faceunity/build.gradle

@@ -2,7 +2,7 @@ apply plugin: 'com.android.library'
 
 android {
     compileSdkVersion 26
-    buildToolsVersion "26.0.2"
+    buildToolsVersion '28.0.3'
 
     defaultConfig {
         minSdkVersion 14
@@ -29,8 +29,8 @@ android {
 }
 
 dependencies {
-    compile fileTree(dir: 'libs', include: ['*.jar'])
-    compile("com.android.support:appcompat-v7:26.+")
-    provided("com.android.support:recyclerview-v7:26.+")
-    compile 'org.adw.library:discrete-seekbar:1.0.1'
+    implementation fileTree(dir: 'libs', include: ['*.jar'])
+    implementation("com.android.support:appcompat-v7:26.+")
+    compileOnly("com.android.support:recyclerview-v7:26.+")
+    implementation 'org.adw.library:discrete-seekbar:1.0.1'
 }

+ 1 - 1
gradle.properties

@@ -9,7 +9,7 @@
 
 # Specifies the JVM arguments used for the daemon process.
 # The setting is particularly useful for tweaking memory settings.
-org.gradle.jvmargs=-Xmx1536m
+org.gradle.jvmargs=-Xmx1536m -Dhttp.proxyHost=127.0.0.1 -Dhttp.proxyPort=1087
 
 # When configured, Gradle will run in incubating parallel mode.
 # This option should only be used with decoupled projects. More details, visit

+ 2 - 2
gradle/wrapper/gradle-wrapper.properties

@@ -1,6 +1,6 @@
-#Mon Dec 28 10:00:20 PST 2015
+#Mon Oct 22 16:15:42 CST 2018
 distributionBase=GRADLE_USER_HOME
 distributionPath=wrapper/dists
 zipStoreBase=GRADLE_USER_HOME
 zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-4.6-all.zip

+ 18 - 11
uikit/build.gradle

@@ -2,7 +2,7 @@ apply plugin: 'com.android.library'
 
 android {
     compileSdkVersion 26
-    buildToolsVersion "26.0.2"
+    buildToolsVersion '28.0.3'
 
     defaultConfig {
         minSdkVersion 14
@@ -34,16 +34,23 @@ android {
 }
 
 dependencies {
-    compile fileTree(include: '*.jar', dir: 'libs')
-    compile 'com.android.support:appcompat-v7:26.+'
-    compile 'com.android.support:design:26.+'
-    compile 'com.android.support.constraint:constraint-layout:1.0.2'
-    compile 'com.android.support:support-v4:26.+'
-    compile 'me.everything:overscroll-decor-android:1.0.4'
-    compile 'me.leolin:ShortcutBadger:1.1.17@aar'
-    compile 'com.github.bumptech.glide:glide:4.2.0'
+    implementation fileTree(include: '*.jar', dir: 'libs')
+    implementation 'com.android.support:appcompat-v7:26.+'
+    implementation 'com.android.support:design:26.+'
+    implementation 'com.android.support.constraint:constraint-layout:1.0.2'
+    implementation 'com.android.support:support-v4:26.+'
+    implementation 'me.everything:overscroll-decor-android:1.0.4'
+    implementation 'me.leolin:ShortcutBadger:1.1.17@aar'
+    implementation 'com.github.bumptech.glide:glide:4.2.0'
     annotationProcessor 'com.github.bumptech.glide:compiler:4.2.0'
-    compile 'jp.wasabeef:glide-transformations:3.0.1'
+    implementation 'jp.wasabeef:glide-transformations:3.0.1'
     //api 'jp.co.cyberagent.android.gpuimage:gpuimage-library:1.4.1' // if you want to use the Glide GPU Filters
-    compile project(':avchatkit')
+    implementation project(':avchatkit')
+    implementation 'com.netease.nimlib:basesdk:5.4.0'
+    implementation 'com.netease.nimlib:nrtc:5.4.0'
+    implementation 'com.netease.nimlib:avchat:5.4.0'
+    implementation 'com.netease.nimlib:chatroom:5.4.0'
+    implementation 'com.netease.nimlib:rts:5.4.0'
+    implementation 'com.netease.nimlib:lucene:5.4.0'
+    implementation group: 'com.alibaba', name: 'fastjson', version: '1.1.34.android'
 }

BIN
uikit/libs/arm64-v8a/libne_audio.so


BIN
uikit/libs/armeabi-v7a/libne_audio.so


BIN
uikit/libs/nim-chatroom-5.4.0.jar


BIN
uikit/libs/nim-lucene-5.4.0.jar


BIN
uikit/libs/x86/libne_audio.so


BIN
uikit/libs/x86_64/libne_audio.so