浏览代码

去除敏感静默权限;
去除聊天入口;
相对应界面添加动态权限

ChengJH 3 年之前
父节点
当前提交
2047948a81
共有 24 个文件被更改,包括 525 次插入206 次删除
  1. 38 35
      WeiChat/src/main/AndroidManifest.xml
  2. 87 1
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/SplashActivity.java
  3. 7 6
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/circle/view/CardInfoActivity.java
  4. 5 5
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/fragment/UUFriendFragment.java
  5. 6 6
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/groupchat/CreateGroupActivity.java
  6. 7 10
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/groupchat/SelectContactsActivity.java
  7. 30 29
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/message/InstantMessageActivity.java
  8. 9 8
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/message/SelectNewContactsActivity.java
  9. 10 10
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/message/SelectNewGroupInstantActivity.java
  10. 44 18
      WeiChat/src/main/res/layout/pop_dialog_privacy.xml
  11. 32 28
      app_core/common/src/main/java/com/core/app/MyApplication.java
  12. 5 0
      app_core/common/src/main/java/com/core/utils/helper/AvatarHelper.java
  13. 33 0
      app_core/common/src/main/res/layout/activity_about.xml
  14. 5 4
      app_modular/appcontact/src/main/java/com/uas/appcontact/ui/activity/CompanyContactsActivity.java
  15. 3 2
      app_modular/appcontact/src/main/java/com/uas/appcontact/ui/activity/MyFriendActivity.java
  16. 6 6
      app_modular/appcontact/src/main/java/com/uas/appcontact/ui/fragment/AutoCreateChatFragment.java
  17. 108 3
      app_modular/appcontact/src/main/java/com/uas/appcontact/ui/fragment/ContactsFragment.java
  18. 6 6
      app_modular/appcontact/src/main/java/com/uas/appcontact/ui/fragment/GroupChatFragment.java
  19. 9 6
      app_modular/appme/src/main/java/com/uas/appme/other/activity/BasicInfoActivity.java
  20. 3 2
      app_modular/appme/src/main/java/com/uas/appme/other/fragment/FriendFragment.java
  21. 6 7
      app_modular/appme/src/main/java/com/uas/appme/other/fragment/RoomFragment.java
  22. 19 1
      app_modular/appme/src/main/java/com/uas/appme/settings/activity/AboutActivity.java
  23. 35 3
      app_modular/appme/src/main/java/com/uas/appme/settings/activity/BaseInfoActivity.java
  24. 12 10
      app_modular/appmessages/src/main/java/com/modular/appmessages/presenter/MessagePresenter.java

+ 38 - 35
WeiChat/src/main/AndroidManifest.xml

@@ -11,24 +11,25 @@
     <!-- share umeng -->
     <!-- share umeng -->
     <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
     <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
     <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
     <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
-    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
-    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
-    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
+<!--    <uses-permission android:name="android.permission.READ_PHONE_STATE" />-->
+<!--    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />-->
+<!--    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />-->
     <uses-permission android:name="android.permission.INTERNET" />
     <uses-permission android:name="android.permission.INTERNET" />
-    <uses-permission android:name="android.permission.CALL_PHONE" />
-    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
-    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
+
+<!--    位置-->
+<!--    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />-->
+<!--    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />-->
     <uses-permission android:name="android.permission.GET_TASKS" />
     <uses-permission android:name="android.permission.GET_TASKS" />
     <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
     <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
-    <uses-permission android:name="android.permission.GET_ACCOUNTS" />
     <uses-permission android:name="android.permission.USE_CREDENTIALS" />
     <uses-permission android:name="android.permission.USE_CREDENTIALS" />
     <uses-permission android:name="android.permission.MANAGE_ACCOUNTS" />
     <uses-permission android:name="android.permission.MANAGE_ACCOUNTS" />
     <!-- 拨打电话 -->
     <!-- 拨打电话 -->
-    <uses-permission android:name="android.permission.CALL_PHONE" />
-
-    <uses-feature android:name="android.hardware.camera" />
-    <uses-feature android:name="android.hardware.camera.autofocus" />
-    <uses-feature android:name="android.hardware.microphone" />
+<!--    <uses-permission android:name="android.permission.CALL_PHONE" />-->
+    <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"
+        tools:ignore="ProtectedPermissions"/>
+<!--    <uses-feature android:name="android.hardware.camera" />-->
+<!--    <uses-feature android:name="android.hardware.camera.autofocus" />-->
+<!--    <uses-feature android:name="android.hardware.microphone" />-->
 
 
     <uses-permission android:name="android.permission.KILL_BACKGROUND_PROCESSES" />
     <uses-permission android:name="android.permission.KILL_BACKGROUND_PROCESSES" />
     <uses-permission android:name="android.permission.WAKE_LOCK" />
     <uses-permission android:name="android.permission.WAKE_LOCK" />
@@ -36,35 +37,34 @@
     <uses-permission android:name="android.permission.REORDER_TASKS" />
     <uses-permission android:name="android.permission.REORDER_TASKS" />
     <!-- 录音录像的权限 -->
     <!-- 录音录像的权限 -->
     <uses-permission android:name="android.permission.RECORD_VIDEO" />
     <uses-permission android:name="android.permission.RECORD_VIDEO" />
-    <uses-permission android:name="android.permission.RECORD_AUDIO" />
-    <uses-permission android:name="android.permission.CAMERA" />
+<!--    麦克风-->
+<!--    <uses-permission android:name="android.permission.RECORD_AUDIO" />-->
+<!--    相机-->
+<!--    <uses-permission android:name="android.permission.CAMERA" />-->
     <!-- 基本的 -->
     <!-- 基本的 -->
     <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
     <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
     <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
     <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
     <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
     <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
-    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
-    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
+<!--    读取手机-->
+<!--    <uses-permission android:name="android.permission.READ_PHONE_STATE" />-->
     <!-- <uses-permission android:name="android.permission.INTERNET" /> -->
     <!-- <uses-permission android:name="android.permission.INTERNET" /> -->
-    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
-    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
-    <uses-permission android:name="android.permission.GET_ACCOUNTS" />
+
+
     <uses-permission android:name="android.permission.USE_CREDENTIALS" />
     <uses-permission android:name="android.permission.USE_CREDENTIALS" />
     <uses-permission android:name="android.permission.MANAGE_ACCOUNTS" />
     <uses-permission android:name="android.permission.MANAGE_ACCOUNTS" />
     <uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS" />
     <uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS" />
     <uses-permission android:name="com.android.launcher.permission.READ_SETTINGS" />
     <uses-permission android:name="com.android.launcher.permission.READ_SETTINGS" />
     <uses-permission android:name="android.permission.BROADCAST_STICKY" />
     <uses-permission android:name="android.permission.BROADCAST_STICKY" />
-    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
     <uses-permission android:name="android.permission.VIBRATE" />
     <uses-permission android:name="android.permission.VIBRATE" />
 
 
     <!-- Push service 运行需要的权限 -->
     <!-- Push service 运行需要的权限 -->
     <uses-permission android:name="android.permission.INTERNET" />
     <uses-permission android:name="android.permission.INTERNET" />
-    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
+<!--    <uses-permission android:name="android.permission.READ_PHONE_STATE" />-->
     <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
     <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
     <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
     <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
     <uses-permission android:name="android.permission.VIBRATE" />
     <uses-permission android:name="android.permission.VIBRATE" />
-    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
     <uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
     <uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
-    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
+
     <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
     <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
     <!-- 富媒体需要声明的权限 -->
     <!-- 富媒体需要声明的权限 -->
     <uses-permission android:name="android.permission.ACCESS_DOWNLOAD_MANAGER" />
     <uses-permission android:name="android.permission.ACCESS_DOWNLOAD_MANAGER" />
@@ -75,21 +75,24 @@
     <uses-permission android:name="baidu.push.permission.WRITE_PUSHINFOPROVIDER.com.xzjmyk.pm.activity" />
     <uses-permission android:name="baidu.push.permission.WRITE_PUSHINFOPROVIDER.com.xzjmyk.pm.activity" />
     <permission
     <permission
         android:name="baidu.push.permission.WRITE_PUSHINFOPROVIDER.com.xzjmyk.pm.activity"
         android:name="baidu.push.permission.WRITE_PUSHINFOPROVIDER.com.xzjmyk.pm.activity"
-        android:protectionLevel="signature"></permission>
+        android:protectionLevel="signature">
+    </permission>
 
 
     <!-- 百度自动更新 -->
     <!-- 百度自动更新 -->
-    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
-    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
-    <uses-permission android:name="android.permission.INTERNET" />
+<!--    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />-->
+<!--    <uses-permission android:name="android.permission.READ_PHONE_STATE" />-->
+<!--    <uses-permission android:name="android.permission.INTERNET" />-->
     <uses-permission android:name="android.permission.GET_TASKS" />
     <uses-permission android:name="android.permission.GET_TASKS" />
     <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
     <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
-    <uses-permission android:name="android.permission.INTERNET" />
+<!--    <uses-permission android:name="android.permission.INTERNET" />-->
     <uses-permission android:name="android.permission.VIBRATE" />
     <uses-permission android:name="android.permission.VIBRATE" />
     <uses-permission android:name="android.permission.FLASHLIGHT" />
     <uses-permission android:name="android.permission.FLASHLIGHT" />
-    <uses-permission android:name="android.permission.READ_CONTACTS" />
-    <uses-permission android:name="android.permission.WRITE_CONTACTS" />
+<!--    读写联系人-->
+<!--    <uses-permission android:name="android.permission.READ_CONTACTS" />-->
+<!--    <uses-permission android:name="android.permission.WRITE_CONTACTS" />-->
+<!--    <uses-permission android:name="android.permission.GET_ACCOUNTS" />-->
+
     <uses-permission android:name="com.android.browser.permission.READ_HISTORY_BOOKMARKS" />
     <uses-permission android:name="com.android.browser.permission.READ_HISTORY_BOOKMARKS" />
-    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
     <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
     <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
     <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
     <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
     <uses-permission android:name="android.permission.VIBRATE" />
     <uses-permission android:name="android.permission.VIBRATE" />
@@ -98,12 +101,12 @@
     <!-- 设置索尼的Badge需添加权限 -->
     <!-- 设置索尼的Badge需添加权限 -->
     <uses-permission android:name="com.sonyericsson.home.permission.BROADCAST_BADGE" />
     <uses-permission android:name="com.sonyericsson.home.permission.BROADCAST_BADGE" />
 
 
-    <uses-feature android:name="android.hardware.camera" />
-    <uses-feature android:name="android.hardware.camera" />
+<!--    <uses-feature android:name="android.hardware.camera" />-->
+<!--    <uses-feature android:name="android.hardware.camera" />-->
     <!-- 使用照相机权限 -->
     <!-- 使用照相机权限 -->
-    <uses-feature android:name="android.hardware.camera.autofocus" />
+<!--    <uses-feature android:name="android.hardware.camera.autofocus" />-->
     <!-- 计步器用到 -->
     <!-- 计步器用到 -->
-    <uses-feature android:name="android.hardware.sensor.accelerometer" />
+<!--    <uses-feature android:name="android.hardware.sensor.accelerometer" />-->
     <uses-permission android:name="android.permission.READ_LOGS"
     <uses-permission android:name="android.permission.READ_LOGS"
         tools:ignore="ProtectedPermissions" />
         tools:ignore="ProtectedPermissions" />
     <!-- <uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS" /> -->
     <!-- <uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS" /> -->

+ 87 - 1
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/SplashActivity.java

@@ -6,9 +6,12 @@ import android.app.Activity;
 import android.content.Context;
 import android.content.Context;
 import android.content.Intent;
 import android.content.Intent;
 import android.graphics.Bitmap;
 import android.graphics.Bitmap;
+import android.graphics.Paint;
 import android.os.Bundle;
 import android.os.Bundle;
+import android.os.Environment;
 import android.os.Handler;
 import android.os.Handler;
 import android.os.Message;
 import android.os.Message;
+import android.support.multidex.MultiDex;
 import android.text.TextUtils;
 import android.text.TextUtils;
 import android.util.Log;
 import android.util.Log;
 import android.view.Gravity;
 import android.view.Gravity;
@@ -31,6 +34,7 @@ import com.alibaba.fastjson.JSONObject;
 import com.android.volley.Response;
 import com.android.volley.Response;
 import com.android.volley.VolleyError;
 import com.android.volley.VolleyError;
 import com.common.LogUtil;
 import com.common.LogUtil;
+import com.common.config.BaseConfig;
 import com.common.data.JSONUtil;
 import com.common.data.JSONUtil;
 import com.common.data.StringUtil;
 import com.common.data.StringUtil;
 import com.common.file.FileUtils;
 import com.common.file.FileUtils;
@@ -56,6 +60,7 @@ import com.core.utils.StatusBarUtil;
 import com.core.utils.TimeUtils;
 import com.core.utils.TimeUtils;
 import com.core.utils.helper.LoginHelper;
 import com.core.utils.helper.LoginHelper;
 import com.core.utils.sp.UserSp;
 import com.core.utils.sp.UserSp;
+import com.hss01248.notifyutil.NotifyUtil;
 import com.me.network.app.base.HttpCallback;
 import com.me.network.app.base.HttpCallback;
 import com.me.network.app.base.HttpParams;
 import com.me.network.app.base.HttpParams;
 import com.me.network.app.http.HttpRequest;
 import com.me.network.app.http.HttpRequest;
@@ -63,7 +68,13 @@ import com.me.network.app.http.Method;
 import com.modular.apputils.service.CommonIntentService;
 import com.modular.apputils.service.CommonIntentService;
 import com.modular.login.activity.LoginActivity;
 import com.modular.login.activity.LoginActivity;
 import com.scwang.smartrefresh.layout.util.DensityUtil;
 import com.scwang.smartrefresh.layout.util.DensityUtil;
+import com.tencent.bugly.crashreport.CrashReport;
+import com.tencent.mm.opensdk.openapi.IWXAPI;
+import com.tencent.mm.opensdk.openapi.WXAPIFactory;
 import com.uas.applocation.UasLocationHelper;
 import com.uas.applocation.UasLocationHelper;
+import com.uas.applocation.test.TestLocationOpinion;
+import com.umeng.socialize.Config;
+import com.umeng.socialize.PlatformConfig;
 import com.xzjmyk.pm.activity.R;
 import com.xzjmyk.pm.activity.R;
 import com.xzjmyk.pm.activity.ui.erp.activity.ADActivity;
 import com.xzjmyk.pm.activity.ui.erp.activity.ADActivity;
 import com.xzjmyk.pm.activity.ui.me.TimeStatisticsActivity;
 import com.xzjmyk.pm.activity.ui.me.TimeStatisticsActivity;
@@ -658,7 +669,7 @@ public class SplashActivity extends BaseActivity {
                 trun2NextPage2(type);
                 trun2NextPage2(type);
             }
             }
         };
         };
-        requestPermission(Manifest.permission.ACCESS_FINE_LOCATION, runnable, runnable);
+        requestPermission(Manifest.permission.ACCESS_NETWORK_STATE, runnable, runnable);
     }
     }
 
 
     private void trun2NextPage2(int type) {
     private void trun2NextPage2(int type) {
@@ -698,6 +709,7 @@ public class SplashActivity extends BaseActivity {
     private PopupWindow popupWindow;
     private PopupWindow popupWindow;
 
 
     public void showPopDialog(final Activity ct) {
     public void showPopDialog(final Activity ct) {
+
         if (ct == null) return;
         if (ct == null) return;
         View view = null;
         View view = null;
         if (DialogUtils.isDialogShowing(ViewUtil.popupWindow)) {
         if (DialogUtils.isDialogShowing(ViewUtil.popupWindow)) {
@@ -716,6 +728,8 @@ public class SplashActivity extends BaseActivity {
             TextView tv_pro_two = view.findViewById(R.id.tv_pro_two);
             TextView tv_pro_two = view.findViewById(R.id.tv_pro_two);
             Button btn_agree = view.findViewById(R.id.btn_agree);
             Button btn_agree = view.findViewById(R.id.btn_agree);
             TextView tv_exit = view.findViewById(R.id.tv_exit);
             TextView tv_exit = view.findViewById(R.id.tv_exit);
+            tv_pro_one.getPaint().setFlags(Paint. UNDERLINE_TEXT_FLAG );
+            tv_pro_two.getPaint().setFlags(Paint. UNDERLINE_TEXT_FLAG );
             tv_exit.setOnClickListener(new View.OnClickListener() {
             tv_exit.setOnClickListener(new View.OnClickListener() {
                 @Override
                 @Override
                 public void onClick(View v) {
                 public void onClick(View v) {
@@ -735,11 +749,26 @@ public class SplashActivity extends BaseActivity {
                 public void onClick(View v) {
                 public void onClick(View v) {
                     popupWindow.dismiss();
                     popupWindow.dismiss();
                     SharedPreUtil.saveInt(SplashActivity.this,"agree",1);
                     SharedPreUtil.saveInt(SplashActivity.this,"agree",1);
+                    CrashReport.initCrashReport(getApplicationContext(), "e2d0234471", true);
+                    MultiDex.install(ct);
+                    NotifyUtil.init(MyApplication.getInstance());
+                    if (BaseConfig.isDebug()) {
+                        //开启模拟定位服务
+                        TestLocationOpinion mTestLocationOpinion = new TestLocationOpinion(ct);
+                        mTestLocationOpinion.initLocation();
+                        mTestLocationOpinion.asynTaskUpdateCallBack();
+                    }
+                    UasLocationHelper.getInstance().initConfig(ct);
+                    initShareAPI();
+                    // 初始化App目录
+                    initAppDir();
+                    initWxPay(ct);
                     showSplash();
                     showSplash();
                     initConfig();// 初始化配置
                     initConfig();// 初始化配置
                     autoLogin();//自动登录
                     autoLogin();//自动登录
                     updateAccountToken();//更新账户中心token
                     updateAccountToken();//更新账户中心token
                     requestSplash();
                     requestSplash();
+
                     mSkipTextView.setOnClickListener(new View.OnClickListener() {
                     mSkipTextView.setOnClickListener(new View.OnClickListener() {
                         @Override
                         @Override
                         public void onClick(View view) {
                         public void onClick(View view) {
@@ -752,6 +781,7 @@ public class SplashActivity extends BaseActivity {
                     });
                     });
                 }
                 }
             });
             });
+
             tv_pro_one.setOnClickListener(new View.OnClickListener() {
             tv_pro_one.setOnClickListener(new View.OnClickListener() {
                 @Override
                 @Override
                 public void onClick(View v) {
                 public void onClick(View v) {
@@ -787,4 +817,60 @@ public class SplashActivity extends BaseActivity {
         popupWindow.setHeight(ViewGroup.LayoutParams.WRAP_CONTENT);
         popupWindow.setHeight(ViewGroup.LayoutParams.WRAP_CONTENT);
         popupWindow.showAtLocation(ct.getWindow().getDecorView(), Gravity.CENTER, 0, 0);
         popupWindow.showAtLocation(ct.getWindow().getDecorView(), Gravity.CENTER, 0, 0);
     }
     }
+
+    public void initWxPay(Context context) {
+        IWXAPI wxApi = WXAPIFactory.createWXAPI(context, Constants.WXPAY_APPID, false);
+        wxApi.registerApp(Constants.WXPAY_APPID);
+    }
+    public void initShareAPI() {
+//        PlatformConfig.setWeixin("wx2539cc96bf158e00", "b057aa3e807ba7c505a2f03cc541bbf6");
+        PlatformConfig.setWeixin(Constants.WXPAY_APPID, Constants.WEIXIN_SECRET);
+        PlatformConfig.setSinaWeibo("493318722", "7def652c3683603b08bab87d34b1f944");
+        PlatformConfig.setQQZone("1104894295", "Nk8zMIz5YSqwRQ1F");
+        Config.IsToastTip = false;
+    }
+    public String mAppDir;
+    public String mPicturesDir;
+    public String mVoicesDir;
+    public String mVideosDir;
+    public String mFilesDir;
+    private void initAppDir() {
+        File file = getExternalFilesDir(null);
+        if (file != null) {
+            if (!file.exists()) {
+                file.mkdirs();
+            }
+            mAppDir = file.getAbsolutePath();
+        }
+
+        file = getExternalFilesDir(Environment.DIRECTORY_PICTURES);
+        if (file != null) {
+            if (!file.exists()) {
+                file.mkdirs();
+            }
+            mPicturesDir = file.getAbsolutePath();
+        }
+
+        file = getExternalFilesDir(Environment.DIRECTORY_MUSIC);
+        if (file != null) {
+            if (!file.exists()) {
+                file.mkdirs();
+            }
+            mVoicesDir = file.getAbsolutePath();
+        }
+        file = getExternalFilesDir(Environment.DIRECTORY_MOVIES);
+        if (file != null) {
+            if (!file.exists()) {
+                file.mkdirs();
+            }
+            mVideosDir = file.getAbsolutePath();
+        }
+        file = getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS);
+        if (file != null) {
+            if (!file.exists()) {
+                file.mkdirs();
+            }
+            mFilesDir = file.getAbsolutePath();
+        }
+    }
 }
 }

+ 7 - 6
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/circle/view/CardInfoActivity.java

@@ -435,8 +435,9 @@ public class CardInfoActivity extends BaseActivity implements NewFriendListener
                         do_next_tv.setOnClickListener(new SayHelloListener());
                         do_next_tv.setOnClickListener(new SayHelloListener());
                         break;
                         break;
                     case Friend.STATUS_FRIEND:// 已经是朋友了,显示发消息
                     case Friend.STATUS_FRIEND:// 已经是朋友了,显示发消息
-                        do_next_tv.setText(R.string.send_msg);
-                        do_next_tv.setOnClickListener(new SendMsgListener());
+//                        do_next_tv.setText(R.string.send_msg);
+//                        do_next_tv.setOnClickListener(new SendMsgListener());
+                        do_next_tv.setText("已是好友");
                         break;
                         break;
                     default:// 其他(理论上不可能的哈,容错)
                     default:// 其他(理论上不可能的哈,容错)
                         do_next_tv.setText(R.string.add_attention);
                         do_next_tv.setText(R.string.add_attention);
@@ -642,8 +643,8 @@ public class CardInfoActivity extends BaseActivity implements NewFriendListener
                         // 提示加好友成功
                         // 提示加好友成功
                         ToastUtil.showToast(mContext, R.string.add_friend_succ);
                         ToastUtil.showToast(mContext, R.string.add_friend_succ);
                         // 更新界面
                         // 更新界面
-                        do_next_tv.setText(R.string.send_msg);
-                        do_next_tv.setOnClickListener(new SendMsgListener());
+                        do_next_tv.setText("已是好友");
+//                        do_next_tv.setOnClickListener(new SendMsgListener());
                         // 由陌生或者关注变为好友了,那么右上角更多操作可以显示了
                         // 由陌生或者关注变为好友了,那么右上角更多操作可以显示了
                         initFriendMoreAction();
                         initFriendMoreAction();
                         // 更新名片盒
                         // 更新名片盒
@@ -955,8 +956,8 @@ public class CardInfoActivity extends BaseActivity implements NewFriendListener
                             FriendHelper.addAttentionExtraOperation(friend.getOwnerId(), friend.getUserId());
                             FriendHelper.addAttentionExtraOperation(friend.getOwnerId(), friend.getUserId());
                             break;
                             break;
                         case Friend.STATUS_FRIEND:
                         case Friend.STATUS_FRIEND:
-                            do_next_tv.setText(R.string.send_msg);
-                            do_next_tv.setOnClickListener(new SendMsgListener());
+                            do_next_tv.setText("已是好友");
+//                            do_next_tv.setOnClickListener(new SendMsgListener());
 
 
                             NewFriendMessage message2 = NewFriendMessage.createWillSendMessage(
                             NewFriendMessage message2 = NewFriendMessage.createWillSendMessage(
                                     MyApplication.getInstance().mLoginUser, XmppMessage.TYPE_FRIEND, null, mUser);
                                     MyApplication.getInstance().mLoginUser, XmppMessage.TYPE_FRIEND, null, mUser);

+ 5 - 5
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/fragment/UUFriendFragment.java

@@ -17,6 +17,7 @@ import com.android.volley.Response;
 import com.android.volley.VolleyError;
 import com.android.volley.VolleyError;
 import com.common.data.ListUtils;
 import com.common.data.ListUtils;
 import com.common.data.StringUtil;
 import com.common.data.StringUtil;
+import com.core.app.AppConstant;
 import com.core.app.MyApplication;
 import com.core.app.MyApplication;
 import com.core.base.BaseActivity;
 import com.core.base.BaseActivity;
 import com.core.dao.DBManager;
 import com.core.dao.DBManager;
@@ -34,13 +35,11 @@ import com.core.utils.sortlist.SideBar;
 import com.core.widget.ClearEditText;
 import com.core.widget.ClearEditText;
 import com.core.xmpp.dao.FriendDao;
 import com.core.xmpp.dao.FriendDao;
 import com.core.xmpp.listener.OnCompleteListener;
 import com.core.xmpp.listener.OnCompleteListener;
-import com.core.app.AppConstant;
 import com.handmark.pulltorefresh.library.PullToRefreshBase;
 import com.handmark.pulltorefresh.library.PullToRefreshBase;
 import com.handmark.pulltorefresh.library.PullToRefreshListView;
 import com.handmark.pulltorefresh.library.PullToRefreshListView;
-import com.uas.appme.other.activity.BasicInfoActivity;
 import com.uas.appcontact.adapter.FriendSortAdapter;
 import com.uas.appcontact.adapter.FriendSortAdapter;
-import com.xzjmyk.pm.activity.ui.message.ChatActivity;
 import com.uas.appcontact.ui.activity.NewFriendActivity;
 import com.uas.appcontact.ui.activity.NewFriendActivity;
+import com.uas.appme.other.activity.BasicInfoActivity;
 import com.xzjmyk.pm.activity.R;
 import com.xzjmyk.pm.activity.R;
 import com.xzjmyk.pm.activity.ui.base.EasyFragment;
 import com.xzjmyk.pm.activity.ui.base.EasyFragment;
 import com.xzjmyk.pm.activity.util.oa.CommonUtil;
 import com.xzjmyk.pm.activity.util.oa.CommonUtil;
@@ -182,8 +181,9 @@ public class UUFriendFragment extends EasyFragment {
                 if (friend.getUserId().equals(Friend.ID_NEW_FRIEND_MESSAGE)) {// 新朋友消息
                 if (friend.getUserId().equals(Friend.ID_NEW_FRIEND_MESSAGE)) {// 新朋友消息
                     intent = new Intent(ct, NewFriendActivity.class);
                     intent = new Intent(ct, NewFriendActivity.class);
                 } else if (friend.getUserId().equals(Friend.ID_SYSTEM_MESSAGE)) {// 新朋友消息
                 } else if (friend.getUserId().equals(Friend.ID_SYSTEM_MESSAGE)) {// 新朋友消息
-                    intent = new Intent(ct, ChatActivity.class);
-                    intent.putExtra(AppConstant.FRIEND, friend);
+//                    intent = new Intent(ct, ChatActivity.class);
+//                    intent.putExtra(AppConstant.FRIEND, friend);
+                    ToastUtil.showToast(ct,"暂不支持");
 
 
                 } else {
                 } else {
                     intent = new Intent(ct, BasicInfoActivity.class);
                     intent = new Intent(ct, BasicInfoActivity.class);

+ 6 - 6
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/groupchat/CreateGroupActivity.java

@@ -171,12 +171,12 @@ public class CreateGroupActivity extends BaseActivity {
                     public void result(boolean isOk, String jid) {
                     public void result(boolean isOk, String jid) {
                         if (isOk) {
                         if (isOk) {
                             ToastUtil.showToast(ct, "已经为您的会议建立群组");
                             ToastUtil.showToast(ct, "已经为您的会议建立群组");
-                            Intent intent = new Intent(ct, MucChatActivity.class);
-                            intent.putExtra(AppConstant.EXTRA_USER_ID, jid);
-                            intent.putExtra(AppConstant.EXTRA_NICK_NAME, roomName);
-                            intent.putExtra(AppConstant.EXTRA_IS_GROUP_CHAT, true);
-                            intent.putExtra(Constants.GROUP_JOIN_NOTICE, noticeFriendList);
-                            startActivity(intent);
+//                            Intent intent = new Intent(ct, MucChatActivity.class);
+//                            intent.putExtra(AppConstant.EXTRA_USER_ID, jid);
+//                            intent.putExtra(AppConstant.EXTRA_NICK_NAME, roomName);
+//                            intent.putExtra(AppConstant.EXTRA_IS_GROUP_CHAT, true);
+//                            intent.putExtra(Constants.GROUP_JOIN_NOTICE, noticeFriendList);
+//                            startActivity(intent);
                             sendBroadcast(new Intent(MucgroupUpdateUtil.ACTION_UPDATE));
                             sendBroadcast(new Intent(MucgroupUpdateUtil.ACTION_UPDATE));
                             finish();
                             finish();
                         }
                         }

+ 7 - 10
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/groupchat/SelectContactsActivity.java

@@ -3,7 +3,6 @@ package com.xzjmyk.pm.activity.ui.groupchat;
 import android.app.AlertDialog;
 import android.app.AlertDialog;
 import android.app.ProgressDialog;
 import android.app.ProgressDialog;
 import android.content.ComponentName;
 import android.content.ComponentName;
-import android.content.Intent;
 import android.content.ServiceConnection;
 import android.content.ServiceConnection;
 import android.graphics.Bitmap;
 import android.graphics.Bitmap;
 import android.media.ThumbnailUtils;
 import android.media.ThumbnailUtils;
@@ -36,7 +35,6 @@ import com.common.file.PropertiesUtil;
 import com.common.system.DisplayUtil;
 import com.common.system.DisplayUtil;
 import com.common.ui.ImageUtil;
 import com.common.ui.ImageUtil;
 import com.common.ui.ProgressDialogUtil;
 import com.common.ui.ProgressDialogUtil;
-import com.core.app.AppConstant;
 import com.core.app.MyApplication;
 import com.core.app.MyApplication;
 import com.core.base.BaseActivity;
 import com.core.base.BaseActivity;
 import com.core.dao.UserDao;
 import com.core.dao.UserDao;
@@ -61,8 +59,6 @@ import com.uas.applocation.UasLocationHelper;
 import com.xzjmyk.pm.activity.R;
 import com.xzjmyk.pm.activity.R;
 import com.xzjmyk.pm.activity.broadcast.MucgroupUpdateUtil;
 import com.xzjmyk.pm.activity.broadcast.MucgroupUpdateUtil;
 import com.xzjmyk.pm.activity.ui.erp.net.HttpUtil;
 import com.xzjmyk.pm.activity.ui.erp.net.HttpUtil;
-import com.xzjmyk.pm.activity.ui.message.MucChatActivity;
-import com.xzjmyk.pm.activity.util.im.Constants;
 import com.xzjmyk.pm.activity.util.imageloader.BitmapUtil;
 import com.xzjmyk.pm.activity.util.imageloader.BitmapUtil;
 import com.xzjmyk.pm.activity.view.HorizontalListView;
 import com.xzjmyk.pm.activity.view.HorizontalListView;
 
 
@@ -547,12 +543,13 @@ public class SelectContactsActivity extends BaseActivity {
             mXmppService.invite(roomJid, firendUserId, reason);
             mXmppService.invite(roomJid, firendUserId, reason);
         }
         }
 
 
-        Intent intent = new Intent(this, MucChatActivity.class);
-        intent.putExtra(AppConstant.EXTRA_USER_ID, roomJid);
-        intent.putExtra(AppConstant.EXTRA_NICK_NAME, roomName);
-        intent.putExtra(AppConstant.EXTRA_IS_GROUP_CHAT, true);
-        intent.putExtra(Constants.GROUP_JOIN_NOTICE, noticeFriendList);
-        startActivity(intent);
+//        Intent intent = new Intent(this, MucChatActivity.class);
+//        intent.putExtra(AppConstant.EXTRA_USER_ID, roomJid);
+//        intent.putExtra(AppConstant.EXTRA_NICK_NAME, roomName);
+//        intent.putExtra(AppConstant.EXTRA_IS_GROUP_CHAT, true);
+//        intent.putExtra(Constants.GROUP_JOIN_NOTICE, noticeFriendList);
+//        startActivity(intent);
+        ToastUtil.showToast(ct,"暂不支持");
         finish();
         finish();
     }
     }
 
 

+ 30 - 29
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/message/InstantMessageActivity.java

@@ -14,14 +14,14 @@ import android.widget.ImageView;
 import android.widget.ListView;
 import android.widget.ListView;
 import android.widget.TextView;
 import android.widget.TextView;
 
 
-import com.core.app.AppConstant;
 import com.core.app.MyApplication;
 import com.core.app.MyApplication;
-import com.xzjmyk.pm.activity.R;
+import com.core.base.BaseActivity;
 import com.core.model.Friend;
 import com.core.model.Friend;
-import com.core.xmpp.model.ChatMessage;
-import com.core.xmpp.dao.FriendDao;
+import com.core.utils.ToastUtil;
 import com.core.utils.helper.AvatarHelper;
 import com.core.utils.helper.AvatarHelper;
-import com.core.base.BaseActivity;
+import com.core.xmpp.dao.FriendDao;
+import com.core.xmpp.model.ChatMessage;
+import com.xzjmyk.pm.activity.R;
 import com.xzjmyk.pm.activity.util.im.Constants;
 import com.xzjmyk.pm.activity.util.im.Constants;
 
 
 import java.util.ArrayList;
 import java.util.ArrayList;
@@ -110,30 +110,31 @@ public class InstantMessageActivity extends BaseActivity implements OnClickListe
             menuWindow.dismiss();
             menuWindow.dismiss();
             switch (v.getId()) {
             switch (v.getId()) {
                 case R.id.btn_send:// 发送
                 case R.id.btn_send:// 发送
-                    // TODO 判断单聊还是群聊
-                    Bundle bundle = new Bundle();
-                    bundle.putParcelable(Constants.INSTANT_MESSAGE, message);
-                    if (friend.getRoomFlag() == 0) {
-                        if (friend.getUserId().equals(Friend.ID_NEW_FRIEND_MESSAGE)) {// 新朋友消息暂不处理
-                        } else {// 单聊
-                            Intent intent = new Intent(InstantMessageActivity.this, ChatActivity.class);
-                              /*此处传文件这里message是没有什么用的,不过因为之前在chatactivity中已经对逻辑有了instantmessage非空的判断,所以这里就带上 */
-                            intent.putExtra(Constants.INSTANT_MESSAGE_FILE, instantFilePath);
-                            intent.putExtras(bundle);
-                            intent.putExtra(AppConstant.FRIEND, friend);
-                            startActivity(intent);
-                        }
-                    } else {// 群聊
-                        Intent intent = new Intent(InstantMessageActivity.this, MucChatActivity.class);
-                        intent.putExtra(AppConstant.EXTRA_USER_ID, friend.getUserId());
-                         /*此处传文件这里message是没有什么用的,不过因为之前在chatactivity中已经对逻辑有了instantmessage非空的判断,所以这里就带上 */
-                        intent.putExtra(Constants.INSTANT_MESSAGE_FILE, instantFilePath);
-                        intent.putExtra(AppConstant.EXTRA_NICK_NAME, friend.getNickName());
-                        intent.putExtra(AppConstant.EXTRA_IS_GROUP_CHAT, true);
-                        intent.putExtras(bundle);
-                        startActivity(intent);
-                    }
-
+//                    // TODO 判断单聊还是群聊
+//                    Bundle bundle = new Bundle();
+//                    bundle.putParcelable(Constants.INSTANT_MESSAGE, message);
+//                    if (friend.getRoomFlag() == 0) {
+//                        if (friend.getUserId().equals(Friend.ID_NEW_FRIEND_MESSAGE)) {// 新朋友消息暂不处理
+//                        } else {// 单聊
+//                            Intent intent = new Intent(InstantMessageActivity.this, ChatActivity.class);
+//                              /*此处传文件这里message是没有什么用的,不过因为之前在chatactivity中已经对逻辑有了instantmessage非空的判断,所以这里就带上 */
+//                            intent.putExtra(Constants.INSTANT_MESSAGE_FILE, instantFilePath);
+//                            intent.putExtras(bundle);
+//                            intent.putExtra(AppConstant.FRIEND, friend);
+//                            startActivity(intent);
+//                        }
+//                    } else {// 群聊
+//                        Intent intent = new Intent(InstantMessageActivity.this, MucChatActivity.class);
+//                        intent.putExtra(AppConstant.EXTRA_USER_ID, friend.getUserId());
+//                         /*此处传文件这里message是没有什么用的,不过因为之前在chatactivity中已经对逻辑有了instantmessage非空的判断,所以这里就带上 */
+//                        intent.putExtra(Constants.INSTANT_MESSAGE_FILE, instantFilePath);
+//                        intent.putExtra(AppConstant.EXTRA_NICK_NAME, friend.getNickName());
+//                        intent.putExtra(AppConstant.EXTRA_IS_GROUP_CHAT, true);
+//                        intent.putExtras(bundle);
+//                        startActivity(intent);
+//                    }
+
+                    ToastUtil.showToast(ct,"暂不支持");
                     InstantMessageActivity.this.finish();
                     InstantMessageActivity.this.finish();
                     break;
                     break;
                 case R.id.btn_cancle:// 取消
                 case R.id.btn_cancle:// 取消

+ 9 - 8
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/message/SelectNewContactsActivity.java

@@ -16,13 +16,13 @@ import com.common.ui.ProgressDialogUtil;
 import com.core.app.MyApplication;
 import com.core.app.MyApplication;
 import com.core.base.BaseActivity;
 import com.core.base.BaseActivity;
 import com.core.model.Friend;
 import com.core.model.Friend;
+import com.core.utils.ToastUtil;
 import com.core.utils.sortlist.BaseComparator;
 import com.core.utils.sortlist.BaseComparator;
 import com.core.utils.sortlist.BaseSortModel;
 import com.core.utils.sortlist.BaseSortModel;
 import com.core.utils.sortlist.PingYinUtil;
 import com.core.utils.sortlist.PingYinUtil;
 import com.core.utils.sortlist.SideBar;
 import com.core.utils.sortlist.SideBar;
 import com.core.xmpp.dao.FriendDao;
 import com.core.xmpp.dao.FriendDao;
 import com.core.xmpp.model.ChatMessage;
 import com.core.xmpp.model.ChatMessage;
-import com.core.app.AppConstant;
 import com.handmark.pulltorefresh.library.PullToRefreshBase;
 import com.handmark.pulltorefresh.library.PullToRefreshBase;
 import com.handmark.pulltorefresh.library.PullToRefreshBase.Mode;
 import com.handmark.pulltorefresh.library.PullToRefreshBase.Mode;
 import com.handmark.pulltorefresh.library.PullToRefreshListView;
 import com.handmark.pulltorefresh.library.PullToRefreshListView;
@@ -183,13 +183,14 @@ public class SelectNewContactsActivity extends BaseActivity implements OnClickLi
 				 * bundle.putParcelable(Constants.INSTANT_MESSAGE, message);
 				 * bundle.putParcelable(Constants.INSTANT_MESSAGE, message);
 				 * broadcast.putExtras(bundle); sendBroadcast(broadcast);
 				 * broadcast.putExtras(bundle); sendBroadcast(broadcast);
 				 */
 				 */
-                    Intent intent = new Intent(SelectNewContactsActivity.this, ChatActivity.class);
-                    intent.putExtra(AppConstant.FRIEND, friend);
-                    Bundle bundle = new Bundle();
-                    bundle.putParcelable(Constants.INSTANT_MESSAGE, message);
-                    intent.putExtras(bundle);
-                    // intent.putExtra(Constants.INSTANT_SEND,"send");
-                    startActivity(intent);
+//                    Intent intent = new Intent(SelectNewContactsActivity.this, ChatActivity.class);
+//                    intent.putExtra(AppConstant.FRIEND, friend);
+//                    Bundle bundle = new Bundle();
+//                    bundle.putParcelable(Constants.INSTANT_MESSAGE, message);
+//                    intent.putExtras(bundle);
+//                    // intent.putExtra(Constants.INSTANT_SEND,"send");
+//                    startActivity(intent);
+                    ToastUtil.showToast(ct,"暂不支持");
                     SelectNewContactsActivity.this.finish();
                     SelectNewContactsActivity.this.finish();
                     break;
                     break;
                 case R.id.btn_cancle:// 取消
                 case R.id.btn_cancle:// 取消

+ 10 - 10
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/message/SelectNewGroupInstantActivity.java

@@ -1,6 +1,5 @@
 package com.xzjmyk.pm.activity.ui.message;
 package com.xzjmyk.pm.activity.ui.message;
 
 
-import android.content.Intent;
 import android.os.Bundle;
 import android.os.Bundle;
 import android.os.Handler;
 import android.os.Handler;
 import android.text.TextUtils;
 import android.text.TextUtils;
@@ -14,13 +13,13 @@ import android.widget.TextView;
 import com.core.app.MyApplication;
 import com.core.app.MyApplication;
 import com.core.base.BaseActivity;
 import com.core.base.BaseActivity;
 import com.core.model.Friend;
 import com.core.model.Friend;
+import com.core.utils.ToastUtil;
 import com.core.utils.sortlist.BaseComparator;
 import com.core.utils.sortlist.BaseComparator;
 import com.core.utils.sortlist.BaseSortModel;
 import com.core.utils.sortlist.BaseSortModel;
 import com.core.utils.sortlist.PingYinUtil;
 import com.core.utils.sortlist.PingYinUtil;
 import com.core.utils.sortlist.SideBar;
 import com.core.utils.sortlist.SideBar;
 import com.core.xmpp.dao.FriendDao;
 import com.core.xmpp.dao.FriendDao;
 import com.core.xmpp.model.ChatMessage;
 import com.core.xmpp.model.ChatMessage;
-import com.core.app.AppConstant;
 import com.handmark.pulltorefresh.library.PullToRefreshBase;
 import com.handmark.pulltorefresh.library.PullToRefreshBase;
 import com.handmark.pulltorefresh.library.PullToRefreshBase.Mode;
 import com.handmark.pulltorefresh.library.PullToRefreshBase.Mode;
 import com.handmark.pulltorefresh.library.PullToRefreshListView;
 import com.handmark.pulltorefresh.library.PullToRefreshListView;
@@ -172,14 +171,15 @@ public class SelectNewGroupInstantActivity extends BaseActivity {
 				 * bundle.putParcelable(Constants.INSTANT_MESSAGE, message);
 				 * bundle.putParcelable(Constants.INSTANT_MESSAGE, message);
 				 * broadcast.putExtras(bundle); sendBroadcast(broadcast);
 				 * broadcast.putExtras(bundle); sendBroadcast(broadcast);
 				 */
 				 */
-				Intent intent = new Intent(SelectNewGroupInstantActivity.this, MucChatActivity.class);
-				intent.putExtra(AppConstant.EXTRA_USER_ID, friend.getUserId());
-				intent.putExtra(AppConstant.EXTRA_NICK_NAME, friend.getNickName());
-				intent.putExtra(AppConstant.EXTRA_IS_GROUP_CHAT, true);
-				Bundle bundle = new Bundle();
-				bundle.putParcelable(Constants.INSTANT_MESSAGE, message);
-				intent.putExtras(bundle);
-				startActivity(intent);
+//				Intent intent = new Intent(SelectNewGroupInstantActivity.this, MucChatActivity.class);
+//				intent.putExtra(AppConstant.EXTRA_USER_ID, friend.getUserId());
+//				intent.putExtra(AppConstant.EXTRA_NICK_NAME, friend.getNickName());
+//				intent.putExtra(AppConstant.EXTRA_IS_GROUP_CHAT, true);
+//				Bundle bundle = new Bundle();
+//				bundle.putParcelable(Constants.INSTANT_MESSAGE, message);
+//				intent.putExtras(bundle);
+//				startActivity(intent);
+				ToastUtil.showToast(ct,"暂不支持");
 				SelectNewGroupInstantActivity.this.finish();
 				SelectNewGroupInstantActivity.this.finish();
 				break;
 				break;
 			case R.id.btn_cancle:// 取消
 			case R.id.btn_cancle:// 取消

+ 44 - 18
WeiChat/src/main/res/layout/pop_dialog_privacy.xml

@@ -32,27 +32,53 @@
             android:textColor="@color/text_color"
             android:textColor="@color/text_color"
             android:textSize="14sp"/>
             android:textSize="14sp"/>
 
 
+        <LinearLayout
+            android:layout_marginTop="20dp"
+            android:gravity="center"
+            android:layout_gravity="center"
+            android:orientation="horizontal"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content">
+            <TextView
+                android:text="请仔细阅读完整版"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content">
+            </TextView>
+            <TextView
+                android:textStyle="bold"
+                android:id="@+id/tv_pro_one"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:text="《用户协议》"
+                android:textColor="@color/blue_seats_num"
+                android:textSize="14sp"/>
+        </LinearLayout>
+        <LinearLayout
+            android:gravity="center"
+            android:layout_gravity="center"
+            android:orientation="horizontal"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content">
+            <TextView
+                android:text="和"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content">
+            </TextView>
+            <TextView
+                android:textStyle="bold"
+                android:id="@+id/tv_pro_two"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:text="《UU互联隐私政策》"
+                android:textColor="@color/blue_seats_num"
+                android:textSize="14sp"/>
+        </LinearLayout>
 
 
 
 
     </LinearLayout>
     </LinearLayout>
-    <TextView
-        android:id="@+id/tv_pro_one"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_marginTop="10dp"
-        android:text="《用户协议》"
-        android:layout_marginLeft="20dp"
-        android:textColor="@color/blue_seats_num"
-        android:textSize="14sp"/>
-    <TextView
-        android:id="@+id/tv_pro_two"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_marginLeft="20dp"
-        android:layout_marginTop="8dp"
-        android:text="《UU互联隐私政策》"
-        android:textColor="@color/blue_seats_num"
-        android:textSize="14sp"/>
+
+
+
 
 
 
 
     <Button
     <Button

+ 32 - 28
app_core/common/src/main/java/com/core/app/MyApplication.java

@@ -37,14 +37,8 @@ import com.nostra13.universalimageloader.core.ImageLoader;
 import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;
 import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;
 import com.nostra13.universalimageloader.core.assist.QueueProcessingType;
 import com.nostra13.universalimageloader.core.assist.QueueProcessingType;
 import com.nostra13.universalimageloader.core.display.RoundedBitmapDisplayer;
 import com.nostra13.universalimageloader.core.display.RoundedBitmapDisplayer;
-import com.tencent.bugly.crashreport.CrashReport;
-import com.tencent.mm.opensdk.openapi.IWXAPI;
-import com.tencent.mm.opensdk.openapi.WXAPIFactory;
 import com.uas.applocation.UasLocationHelper;
 import com.uas.applocation.UasLocationHelper;
-import com.uas.applocation.test.TestLocationOpinion;
 import com.umeng.analytics.MobclickAgent;
 import com.umeng.analytics.MobclickAgent;
-import com.umeng.socialize.Config;
-import com.umeng.socialize.PlatformConfig;
 
 
 import org.apache.http.cookie.Cookie;
 import org.apache.http.cookie.Cookie;
 
 
@@ -98,19 +92,27 @@ public class MyApplication extends BaseApplication {
      ************************/
      ************************/
     private NetWorkObservable mNetWorkObservable;
     private NetWorkObservable mNetWorkObservable;
 
 
+    protected ImageLoader imageLoader;
+    public static Context context;
+
+    @Override
+    public void onCreate() {
+        super.onCreate();
+
+    }
 
 
     @Override
     @Override
     public void initConfig() throws Exception {
     public void initConfig() throws Exception {
         INSTANCE = this;
         INSTANCE = this;
+        context=this;
         //后台服务初始化application
         //后台服务初始化application
         InitializeService.initApplication(this);
         InitializeService.initApplication(this);
-        CrashReport.initCrashReport(getApplicationContext(), "e2d0234471", true);
 //        LeakCanary.install(this);
 //        LeakCanary.install(this);
         mRequestQueue = Volley.newRequestQueue(this);
         mRequestQueue = Volley.newRequestQueue(this);
         mHttpUtils = new HttpUtils();
         mHttpUtils = new HttpUtils();
         configHttpUtils();
         configHttpUtils();
-        MultiDex.install(this);
-
+        imageLoader = ImageLoader.getInstance();
+        imageLoader.init(ImageLoaderConfiguration.createDefault(this));
         new Handler().postDelayed(new Runnable() {
         new Handler().postDelayed(new Runnable() {
             @Override
             @Override
             public void run() {
             public void run() {
@@ -175,31 +177,33 @@ public class MyApplication extends BaseApplication {
         releaseFastVolley();
         releaseFastVolley();
         android.os.Process.killProcess(android.os.Process.myPid());
         android.os.Process.killProcess(android.os.Process.myPid());
         UasLocationHelper.getInstance().release();
         UasLocationHelper.getInstance().release();
-    }
 
 
-    private void initLocation() {
-        if (BaseConfig.isDebug()) {
-            //开启模拟定位服务
-            TestLocationOpinion mTestLocationOpinion = new TestLocationOpinion(this);
-            mTestLocationOpinion.initLocation();
-            mTestLocationOpinion.asynTaskUpdateCallBack();
-        }
-        UasLocationHelper.getInstance().initConfig(this);
-    }
 
 
-    public void initShareAPI() {
-//        PlatformConfig.setWeixin("wx2539cc96bf158e00", "b057aa3e807ba7c505a2f03cc541bbf6");
-        PlatformConfig.setWeixin(Constants.WXPAY_APPID, Constants.WEIXIN_SECRET);
-        PlatformConfig.setSinaWeibo("493318722", "7def652c3683603b08bab87d34b1f944");
-        PlatformConfig.setQQZone("1104894295", "Nk8zMIz5YSqwRQ1F");
-        Config.IsToastTip = false;
     }
     }
 
 
-    public void initWxPay(Context context) {
-        IWXAPI wxApi = WXAPIFactory.createWXAPI(context, Constants.WXPAY_APPID, false);
-        wxApi.registerApp(Constants.WXPAY_APPID);
+    private void initLocation() {
+//        if (BaseConfig.isDebug()) {
+//            //开启模拟定位服务
+//            TestLocationOpinion mTestLocationOpinion = new TestLocationOpinion(this);
+//            mTestLocationOpinion.initLocation();
+//            mTestLocationOpinion.asynTaskUpdateCallBack();
+//        }
+//        UasLocationHelper.getInstance().initConfig(this);
     }
     }
 
 
+//    public void initShareAPI() {
+////        PlatformConfig.setWeixin("wx2539cc96bf158e00", "b057aa3e807ba7c505a2f03cc541bbf6");
+//        PlatformConfig.setWeixin(Constants.WXPAY_APPID, Constants.WEIXIN_SECRET);
+//        PlatformConfig.setSinaWeibo("493318722", "7def652c3683603b08bab87d34b1f944");
+//        PlatformConfig.setQQZone("1104894295", "Nk8zMIz5YSqwRQ1F");
+//        Config.IsToastTip = false;
+//    }
+
+//    public void initWxPay(Context context) {
+//        IWXAPI wxApi = WXAPIFactory.createWXAPI(context, Constants.WXPAY_APPID, false);
+//        wxApi.registerApp(Constants.WXPAY_APPID);
+//    }
+
     private void initErpDB() {
     private void initErpDB() {
         DatabaseManager.initializeInstance(DBOpenHelper.getInstance(this));
         DatabaseManager.initializeInstance(DBOpenHelper.getInstance(this));
     }
     }

+ 5 - 0
app_core/common/src/main/java/com/core/utils/helper/AvatarHelper.java

@@ -14,6 +14,7 @@ import com.core.app.MyApplication;
 import com.core.app.R;
 import com.core.app.R;
 import com.nostra13.universalimageloader.core.DisplayImageOptions;
 import com.nostra13.universalimageloader.core.DisplayImageOptions;
 import com.nostra13.universalimageloader.core.ImageLoader;
 import com.nostra13.universalimageloader.core.ImageLoader;
+import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;
 import com.nostra13.universalimageloader.core.assist.MemoryCacheUtil;
 import com.nostra13.universalimageloader.core.assist.MemoryCacheUtil;
 import com.nostra13.universalimageloader.core.display.RoundedBitmapDisplayer;
 import com.nostra13.universalimageloader.core.display.RoundedBitmapDisplayer;
 import com.nostra13.universalimageloader.core.imageaware.ImageAware;
 import com.nostra13.universalimageloader.core.imageaware.ImageAware;
@@ -41,6 +42,8 @@ public class AvatarHelper {
     private AvatarHelper() {
     private AvatarHelper() {
         mCheckTimeMaps = new HashMap<String, Long>();
         mCheckTimeMaps = new HashMap<String, Long>();
         mHandler = new Handler(Looper.getMainLooper());
         mHandler = new Handler(Looper.getMainLooper());
+        ImageLoader.getInstance().init(ImageLoaderConfiguration.createDefault(MyApplication.context));
+
     }
     }
 
 
     public static AvatarHelper INSTANCE;
     public static AvatarHelper INSTANCE;
@@ -77,8 +80,10 @@ public class AvatarHelper {
      *
      *
      * @param url
      * @param url
      */
      */
+
     private void deleteCache(String url) {
     private void deleteCache(String url) {
         try {
         try {
+
             final File localFile = ImageLoader.getInstance().getDiscCache().get(url);
             final File localFile = ImageLoader.getInstance().getDiscCache().get(url);
             if (localFile != null && localFile.exists()) {
             if (localFile != null && localFile.exists()) {
                 localFile.delete();
                 localFile.delete();

+ 33 - 0
app_core/common/src/main/res/layout/activity_about.xml

@@ -173,4 +173,37 @@
             android:background="@color/item_line" />
             android:background="@color/item_line" />
     </LinearLayout>
     </LinearLayout>
 
 
+    <LinearLayout
+        android:layout_marginBottom="150dp"
+        android:layout_alignParentBottom="true"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content">
+        <TextView
+            android:id="@+id/tv_privacy_policy"
+            android:gravity="right"
+            android:layout_gravity="center"
+            android:layout_width="0dp"
+            android:layout_weight="1"
+            android:layout_height="wrap_content"
+            android:paddingRight="@dimen/dp_10"
+            android:textColor="@color/blue_seats_num"
+            android:text="隐私政策">
+        </TextView>
+        <TextView
+            android:id="@+id/tv_user_agreement"
+            android:gravity="left"
+            android:layout_gravity="center"
+            android:layout_width="0dp"
+            android:layout_weight="1"
+            android:layout_height="wrap_content"
+            android:paddingLeft="@dimen/dp_10"
+            android:textColor="@color/blue_seats_num"
+            android:text="用户协议">
+        </TextView>
+    </LinearLayout>
+
+
+
+
+
 </RelativeLayout>
 </RelativeLayout>

+ 5 - 4
app_modular/appcontact/src/main/java/com/uas/appcontact/ui/activity/CompanyContactsActivity.java

@@ -36,7 +36,6 @@ import com.common.LogUtil;
 import com.common.data.CalendarUtil;
 import com.common.data.CalendarUtil;
 import com.common.data.ListUtils;
 import com.common.data.ListUtils;
 import com.common.data.StringUtil;
 import com.common.data.StringUtil;
-import com.common.system.DisplayUtil;
 import com.common.system.SystemUtil;
 import com.common.system.SystemUtil;
 import com.core.app.AppConstant;
 import com.core.app.AppConstant;
 import com.core.app.Constants;
 import com.core.app.Constants;
@@ -49,6 +48,7 @@ import com.core.model.Hrorgs;
 import com.core.model.HrorgsEntity;
 import com.core.model.HrorgsEntity;
 import com.core.net.http.ViewUtil;
 import com.core.net.http.ViewUtil;
 import com.core.utils.CommonUtil;
 import com.core.utils.CommonUtil;
+import com.core.utils.ToastUtil;
 import com.core.utils.helper.AvatarHelper;
 import com.core.utils.helper.AvatarHelper;
 import com.core.widget.CustomerListView;
 import com.core.widget.CustomerListView;
 import com.core.widget.VoiceSearchView;
 import com.core.widget.VoiceSearchView;
@@ -681,9 +681,10 @@ public class CompanyContactsActivity extends BaseActivity {
         if (friendOne == null) {
         if (friendOne == null) {
             FriendDao.getInstance().createOrUpdateFriend(friend);
             FriendDao.getInstance().createOrUpdateFriend(friend);
         }
         }
-        Intent intent = new Intent("com.modular.message.ChatActivity");
-        intent.putExtra("friend", friend);
-        startActivity(intent);
+        ToastUtil.showToast(ct,"暂不支持");
+//        Intent intent = new Intent("com.modular.message.ChatActivity");
+//        intent.putExtra("friend", friend);
+//        startActivity(intent);
     }
     }
 
 
     public ArrayList<String> parseHashMap(Map<String, Object> vMap, String falgValue) {
     public ArrayList<String> parseHashMap(Map<String, Object> vMap, String falgValue) {

+ 3 - 2
app_modular/appcontact/src/main/java/com/uas/appcontact/ui/activity/MyFriendActivity.java

@@ -164,8 +164,9 @@ public class MyFriendActivity extends BaseActivity {
                 if (friend.getUserId().equals(Friend.ID_NEW_FRIEND_MESSAGE)) {// 新朋友消息
                 if (friend.getUserId().equals(Friend.ID_NEW_FRIEND_MESSAGE)) {// 新朋友消息
                     intent = new Intent(MyFriendActivity.this, NewFriendActivity.class);
                     intent = new Intent(MyFriendActivity.this, NewFriendActivity.class);
                 } else if (friend.getUserId().equals(Friend.ID_SYSTEM_MESSAGE)) {// 新朋友消息
                 } else if (friend.getUserId().equals(Friend.ID_SYSTEM_MESSAGE)) {// 新朋友消息
-                    intent = new Intent("com.modular.message.ChatActivity");
-                    intent.putExtra("friend", friend);
+//                    intent = new Intent("com.modular.message.ChatActivity");
+//                    intent.putExtra("friend", friend);
+                    ToastUtil.showToast(ct,"暂不支持");
 
 
                 } else {
                 } else {
                     intent = new Intent("com.modular.basic.BasicInfoActivity");
                     intent = new Intent("com.modular.basic.BasicInfoActivity");

+ 6 - 6
app_modular/appcontact/src/main/java/com/uas/appcontact/ui/fragment/AutoCreateChatFragment.java

@@ -59,7 +59,6 @@ import com.core.xmpp.CoreService;
 import com.core.xmpp.dao.FriendDao;
 import com.core.xmpp.dao.FriendDao;
 import com.core.xmpp.model.Area;
 import com.core.xmpp.model.Area;
 import com.core.xmpp.model.MucRoom;
 import com.core.xmpp.model.MucRoom;
-import com.core.app.AppConstant;
 import com.handmark.pulltorefresh.library.PullToRefreshBase;
 import com.handmark.pulltorefresh.library.PullToRefreshBase;
 import com.handmark.pulltorefresh.library.PullToRefreshListView;
 import com.handmark.pulltorefresh.library.PullToRefreshListView;
 import com.uas.appcontact.R;
 import com.uas.appcontact.R;
@@ -192,11 +191,12 @@ public class AutoCreateChatFragment extends EasyFragment {
     }
     }
 
 
     private void interMucChat(String roomJid, String roomName) {
     private void interMucChat(String roomJid, String roomName) {
-        Intent intent = new Intent("com.modular.message.MucChatActivity");
-        intent.putExtra(AppConstant.EXTRA_USER_ID, roomJid);
-        intent.putExtra(AppConstant.EXTRA_NICK_NAME, roomName);
-        intent.putExtra(AppConstant.EXTRA_IS_GROUP_CHAT, true);
-        startActivity(intent);
+//        Intent intent = new Intent("com.modular.message.MucChatActivity");
+//        intent.putExtra(AppConstant.EXTRA_USER_ID, roomJid);
+//        intent.putExtra(AppConstant.EXTRA_NICK_NAME, roomName);
+//        intent.putExtra(AppConstant.EXTRA_IS_GROUP_CHAT, true);
+//        startActivity(intent);
+        ToastUtil.showToast(ct,"暂不支持");
     }
     }
 
 
     private void joinRoom(final MucRoom room, final String loginUserId) {
     private void joinRoom(final MucRoom room, final String loginUserId) {

+ 108 - 3
app_modular/appcontact/src/main/java/com/uas/appcontact/ui/fragment/ContactsFragment.java

@@ -1,13 +1,20 @@
 package com.uas.appcontact.ui.fragment;
 package com.uas.appcontact.ui.fragment;
 
 
+import android.Manifest;
 import android.content.BroadcastReceiver;
 import android.content.BroadcastReceiver;
 import android.content.Context;
 import android.content.Context;
 import android.content.Intent;
 import android.content.Intent;
 import android.content.IntentFilter;
 import android.content.IntentFilter;
+import android.content.pm.PackageManager;
+import android.os.Build;
 import android.os.Bundle;
 import android.os.Bundle;
+import android.support.annotation.NonNull;
+import android.support.v4.app.ActivityCompat;
+import android.support.v4.content.ContextCompat;
 import android.support.v4.content.LocalBroadcastManager;
 import android.support.v4.content.LocalBroadcastManager;
 import android.text.Editable;
 import android.text.Editable;
 import android.text.TextUtils;
 import android.text.TextUtils;
+import android.util.SparseArray;
 import android.view.Gravity;
 import android.view.Gravity;
 import android.view.LayoutInflater;
 import android.view.LayoutInflater;
 import android.view.Menu;
 import android.view.Menu;
@@ -19,6 +26,7 @@ import android.widget.LinearLayout;
 import android.widget.PopupWindow;
 import android.widget.PopupWindow;
 import android.widget.TextView;
 import android.widget.TextView;
 
 
+import com.common.LogUtil;
 import com.common.data.ListUtils;
 import com.common.data.ListUtils;
 import com.common.data.StringUtil;
 import com.common.data.StringUtil;
 import com.common.system.DisplayUtil;
 import com.common.system.DisplayUtil;
@@ -34,6 +42,7 @@ import com.core.model.EmployeesEntity;
 import com.core.model.Friend;
 import com.core.model.Friend;
 import com.core.net.http.http.OAHttpHelper;
 import com.core.net.http.http.OAHttpHelper;
 import com.core.utils.CommonUtil;
 import com.core.utils.CommonUtil;
+import com.core.utils.ToastUtil;
 import com.core.utils.sortlist.BaseComparator;
 import com.core.utils.sortlist.BaseComparator;
 import com.core.utils.sortlist.BaseSortModel;
 import com.core.utils.sortlist.BaseSortModel;
 import com.core.utils.sortlist.PingYinUtil;
 import com.core.utils.sortlist.PingYinUtil;
@@ -59,7 +68,6 @@ import java.util.Collections;
 import java.util.List;
 import java.util.List;
 
 
 import se.emilsjolander.stickylistheaders.StickyListHeadersListView;
 import se.emilsjolander.stickylistheaders.StickyListHeadersListView;
-
 /**
 /**
  * Created by Bitliker on 2017/9/1.
  * Created by Bitliker on 2017/9/1.
  */
  */
@@ -89,6 +97,11 @@ public class ContactsFragment extends SupportToolBarFragment
     private boolean isB2b;
     private boolean isB2b;
     private CustomProgressDialog progressDialog;
     private CustomProgressDialog progressDialog;
 
 
+    //处理权限
+    private SparseArray<Runnable> allowablePermissionRunnables;
+    private SparseArray<Runnable> disallowablePermissionRunnables;
+    private int permissionItem = 0;
+
     private BroadcastReceiver receiver = new BroadcastReceiver() {
     private BroadcastReceiver receiver = new BroadcastReceiver() {
         @Override
         @Override
         public void onReceive(Context context, Intent intent) {
         public void onReceive(Context context, Intent intent) {
@@ -113,6 +126,7 @@ public class ContactsFragment extends SupportToolBarFragment
         LocalBroadcastManager.getInstance(ct).registerReceiver(receiver, inputFilter);
         LocalBroadcastManager.getInstance(ct).registerReceiver(receiver, inputFilter);
         setHasOptionsMenu(true);
         setHasOptionsMenu(true);
         isB2b = ApiUtils.getApiModel() instanceof ApiPlatform;
         isB2b = ApiUtils.getApiModel() instanceof ApiPlatform;
+        initPermission(0);
     }
     }
 
 
     @Override
     @Override
@@ -154,6 +168,31 @@ public class ContactsFragment extends SupportToolBarFragment
             mListener = (ImStatusListener) context;
             mListener = (ImStatusListener) context;
         }
         }
     }
     }
+    private void initPermission(final int item) {
+        Runnable runnable = new Runnable() {
+            @Override
+            public void run() {
+                initPermission(item + 1);
+            }
+        };
+        String permission = null;
+        switch (item) {
+            case 0:
+                permission = Manifest.permission.READ_CONTACTS;
+                break;
+            case 1:
+                permission = Manifest.permission.WRITE_CONTACTS;
+                break;
+            case 2:
+                permission = Manifest.permission.GET_ACCOUNTS;
+                break;
+        }
+        if (item <= 2) {
+            requestPermission(permission, runnable, runnable);
+        }
+    }
+
+
 
 
     private void initView() {
     private void initView() {
         setTitle(R.string.contact_title);
         setTitle(R.string.contact_title);
@@ -304,8 +343,9 @@ public class ContactsFragment extends SupportToolBarFragment
         if (friend.getUserId().equals(Friend.ID_NEW_FRIEND_MESSAGE)) {// 新朋友消息
         if (friend.getUserId().equals(Friend.ID_NEW_FRIEND_MESSAGE)) {// 新朋友消息
             intent = new Intent(getActivity(), NewFriendActivity.class);
             intent = new Intent(getActivity(), NewFriendActivity.class);
         } else if (friend.getUserId().equals(Friend.ID_SYSTEM_MESSAGE)) {// 新朋友消息
         } else if (friend.getUserId().equals(Friend.ID_SYSTEM_MESSAGE)) {// 新朋友消息
-            intent = new Intent("com.modular.message.ChatActivity");
-            intent.putExtra("friend", friend);
+//            intent = new Intent("com.modular.message.ChatActivity");
+//            intent.putExtra("friend", friend);
+            ToastUtil.showToast(ct,"暂不支持");
         } else {
         } else {
             intent = new Intent("com.modular.basic.BasicInfoActivity");
             intent = new Intent("com.modular.basic.BasicInfoActivity");
             intent.putExtra(AppConstant.EXTRA_NICK_CODE, friend.getPhone());
             intent.putExtra(AppConstant.EXTRA_NICK_CODE, friend.getPhone());
@@ -471,5 +511,70 @@ public class ContactsFragment extends SupportToolBarFragment
             }
             }
         }
         }
     }
     }
+    public void requestPermission(String permission, Runnable allowableRunnable, Runnable disallowableRunnable) {
+        permissionItem++;
+        LogUtil.i("requestPermission");
+        if (allowableRunnable != null) {
+            if (allowablePermissionRunnables == null) {
+                allowablePermissionRunnables = new SparseArray<>();
+            }
+            allowablePermissionRunnables.put(permissionItem, allowableRunnable);
+        }
+        if (disallowableRunnable != null) {
+            if (disallowablePermissionRunnables == null) {
+                disallowablePermissionRunnables = new SparseArray<>();
+            }
+            disallowablePermissionRunnables.put(permissionItem, disallowableRunnable);
+        }
+        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
+            //减少是否拥有权限
+            int checkCallPhonePermission = ContextCompat.checkSelfPermission(ct, permission);
+            if (checkCallPhonePermission != PackageManager.PERMISSION_GRANTED) {//没有获取到权限
+//				if (!shouldShowRequestPermissionRationale(permission)) {
+                //弹出对话框接收权限
+                LogUtil.i("ActivityCompat.requestPermissions=" + permission);
+                ActivityCompat.requestPermissions(ct, new String[]{permission}, permissionItem);
+//				} else {
+//					ToastUtil.showToast(ct, R.string.not_camera_permission);
+//				}
+            } else {
+                if (allowableRunnable != null) {
+                    allowableRunnable.run();
+                }
+            }
+        } else {
+            if (allowableRunnable != null) {
+                allowableRunnable.run();
+            }
+        }
+    }
 
 
+    @Override
+    public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
+        super.onRequestPermissionsResult(requestCode, permissions, grantResults);
+        if (permissions != null) {
+            for (String p : permissions) {
+                LogUtil.i("permission=" + p);
+            }
+        }
+        if (grantResults != null && grantResults.length > 0) {
+            if (grantResults[0] == PackageManager.PERMISSION_GRANTED) {
+                if (allowablePermissionRunnables != null) {
+                    Runnable allowRun = allowablePermissionRunnables.get(requestCode);
+                    if (allowRun != null) {
+                        allowRun.run();
+                    }
+                }
+
+            } else {
+                if (disallowablePermissionRunnables != null) {
+                    Runnable disallowRun = disallowablePermissionRunnables.get(requestCode);
+                    if (disallowRun != null) {
+                        disallowRun.run();
+                    }
+                }
+
+            }
+        }
+    }
 }
 }

+ 6 - 6
app_modular/appcontact/src/main/java/com/uas/appcontact/ui/fragment/GroupChatFragment.java

@@ -27,7 +27,6 @@ import com.common.data.StringUtil;
 import com.common.ui.ProgressDialogUtil;
 import com.common.ui.ProgressDialogUtil;
 import com.common.ui.ViewHolder;
 import com.common.ui.ViewHolder;
 import com.core.app.AppConfig;
 import com.core.app.AppConfig;
-import com.core.app.AppConstant;
 import com.core.app.MyApplication;
 import com.core.app.MyApplication;
 import com.core.base.BaseActivity;
 import com.core.base.BaseActivity;
 import com.core.base.EasyFragment;
 import com.core.base.EasyFragment;
@@ -176,11 +175,12 @@ public class GroupChatFragment extends EasyFragment {
     }
     }
 
 
     private void interMucChat(String roomJid, String roomName) {
     private void interMucChat(String roomJid, String roomName) {
-        Intent intent = new Intent("com.modular.message.MucChatActivity");
-        intent.putExtra(AppConstant.EXTRA_USER_ID, roomJid);
-        intent.putExtra(AppConstant.EXTRA_NICK_NAME, roomName);
-        intent.putExtra(AppConstant.EXTRA_IS_GROUP_CHAT, true);
-        startActivity(intent);
+//        Intent intent = new Intent("com.modular.message.MucChatActivity");
+//        intent.putExtra(AppConstant.EXTRA_USER_ID, roomJid);
+//        intent.putExtra(AppConstant.EXTRA_NICK_NAME, roomName);
+//        intent.putExtra(AppConstant.EXTRA_IS_GROUP_CHAT, true);
+//        startActivity(intent);
+        ToastUtil.showToast(ct,"暂不支持");
     }
     }
 
 
     private void joinRoom(final MucRoom room, final String loginUserId) {
     private void joinRoom(final MucRoom room, final String loginUserId) {

+ 9 - 6
app_modular/appme/src/main/java/com/uas/appme/other/activity/BasicInfoActivity.java

@@ -427,8 +427,9 @@ public class BasicInfoActivity extends BaseActivity implements NewFriendListener
                         do_next_tv.setOnClickListener(new SayHelloListener());
                         do_next_tv.setOnClickListener(new SayHelloListener());
                         break;
                         break;
                     case Friend.STATUS_FRIEND:// 已经是朋友了,显示发消息
                     case Friend.STATUS_FRIEND:// 已经是朋友了,显示发消息
-                        do_next_tv.setText(R.string.send_msg);
-                        do_next_tv.setOnClickListener(new SendMsgListener());
+//                        do_next_tv.setText(R.string.send_msg);
+                        do_next_tv.setText("已是好友");
+//                        do_next_tv.setOnClickListener(new SendMsgListener());
                         break;
                         break;
                     default:// 其他(理论上不可能的哈,容错)
                     default:// 其他(理论上不可能的哈,容错)
                         do_next_tv.setText(R.string.friend_add);
                         do_next_tv.setText(R.string.friend_add);
@@ -716,8 +717,9 @@ public class BasicInfoActivity extends BaseActivity implements NewFriendListener
                         // 提示加好友成功
                         // 提示加好友成功
                         ToastUtil.showToast(mContext, R.string.add_friend_succ);
                         ToastUtil.showToast(mContext, R.string.add_friend_succ);
                         // 更新界面
                         // 更新界面
-                        do_next_tv.setText(R.string.send_msg);
-                        do_next_tv.setOnClickListener(new SendMsgListener());
+                        do_next_tv.setText("已是好友");
+//                        do_next_tv.setText(R.string.send_msg);
+//                        do_next_tv.setOnClickListener(new SendMsgListener());
 
 
                         ContactsModel model = new ContactsModel();
                         ContactsModel model = new ContactsModel();
                         model.setImid(mUser.getUserId());
                         model.setImid(mUser.getUserId());
@@ -1054,8 +1056,9 @@ public class BasicInfoActivity extends BaseActivity implements NewFriendListener
                             break;
                             break;
                         case Friend.STATUS_FRIEND:
                         case Friend.STATUS_FRIEND:
                             mFriend.setStatus(Friend.STATUS_FRIEND);
                             mFriend.setStatus(Friend.STATUS_FRIEND);
-                            do_next_tv.setText(R.string.send_msg);
-                            do_next_tv.setOnClickListener(new SendMsgListener());
+                            do_next_tv.setText("已是好友");
+//                            do_next_tv.setText(R.string.send_msg);
+//                            do_next_tv.setOnClickListener(new SendMsgListener());
                             NewFriendMessage message2 = NewFriendMessage.createWillSendMessage(
                             NewFriendMessage message2 = NewFriendMessage.createWillSendMessage(
                                     MyApplication.getInstance().mLoginUser, XmppMessage.TYPE_FRIEND, null, mUser);
                                     MyApplication.getInstance().mLoginUser, XmppMessage.TYPE_FRIEND, null, mUser);
                             mXmppService.sendNewFriendMessage(mUser.getUserId(), message2);
                             mXmppService.sendNewFriendMessage(mUser.getUserId(), message2);

+ 3 - 2
app_modular/appme/src/main/java/com/uas/appme/other/fragment/FriendFragment.java

@@ -166,8 +166,9 @@ public class FriendFragment extends EasyFragment {
                 if (friend.getUserId().equals(Friend.ID_NEW_FRIEND_MESSAGE)) {// 新朋友消息
                 if (friend.getUserId().equals(Friend.ID_NEW_FRIEND_MESSAGE)) {// 新朋友消息
                     intent = new Intent(getActivity(), NewFriendActivity.class);
                     intent = new Intent(getActivity(), NewFriendActivity.class);
                 } else if (friend.getUserId().equals(Friend.ID_SYSTEM_MESSAGE)) {// 新朋友消息
                 } else if (friend.getUserId().equals(Friend.ID_SYSTEM_MESSAGE)) {// 新朋友消息
-                    intent = new Intent("com.modular.message.ChatActivity");
-                    intent.putExtra(AppConstant.FRIEND, friend);
+//                    intent = new Intent("com.modular.message.ChatActivity");
+//                    intent.putExtra(AppConstant.FRIEND, friend);
+                    ToastUtil.showToast(ct,"暂不支持");
                 } else {
                 } else {
                     intent = new Intent(getActivity(), BasicInfoActivity.class);
                     intent = new Intent(getActivity(), BasicInfoActivity.class);
                     intent.putExtra(AppConstant.EXTRA_USER_ID, friend.getUserId());
                     intent.putExtra(AppConstant.EXTRA_USER_ID, friend.getUserId());

+ 6 - 7
app_modular/appme/src/main/java/com/uas/appme/other/fragment/RoomFragment.java

@@ -3,7 +3,6 @@ package com.uas.appme.other.fragment;
 import android.app.AlertDialog;
 import android.app.AlertDialog;
 import android.app.ProgressDialog;
 import android.app.ProgressDialog;
 import android.content.DialogInterface;
 import android.content.DialogInterface;
-import android.content.Intent;
 import android.os.Bundle;
 import android.os.Bundle;
 import android.os.Handler;
 import android.os.Handler;
 import android.text.TextUtils;
 import android.text.TextUtils;
@@ -18,7 +17,6 @@ import com.common.ui.ProgressDialogUtil;
 import com.core.app.MyApplication;
 import com.core.app.MyApplication;
 import com.core.base.EasyFragment;
 import com.core.base.EasyFragment;
 import com.core.broadcast.MsgBroadcast;
 import com.core.broadcast.MsgBroadcast;
-import com.core.app.AppConstant;
 import com.core.model.Friend;
 import com.core.model.Friend;
 import com.core.net.volley.ObjectResult;
 import com.core.net.volley.ObjectResult;
 import com.core.net.volley.Result;
 import com.core.net.volley.Result;
@@ -118,11 +116,12 @@ public class RoomFragment extends EasyFragment {
 					// 不会出现此情况,因为必定不是一个房间
 					// 不会出现此情况,因为必定不是一个房间
 					;
 					;
 				} else {
 				} else {
-					Intent intent = new Intent("com.modular.message.MucChatActivity");
-					intent.putExtra(AppConstant.EXTRA_USER_ID, friend.getUserId());
-					intent.putExtra(AppConstant.EXTRA_NICK_NAME, friend.getNickName());
-					intent.putExtra(AppConstant.EXTRA_IS_GROUP_CHAT, true);
-					startActivity(intent);
+//					Intent intent = new Intent("com.modular.message.MucChatActivity");
+//					intent.putExtra(AppConstant.EXTRA_USER_ID, friend.getUserId());
+//					intent.putExtra(AppConstant.EXTRA_NICK_NAME, friend.getNickName());
+//					intent.putExtra(AppConstant.EXTRA_IS_GROUP_CHAT, true);
+//					startActivity(intent);
+					ToastUtil.showToast(ct,"暂不支持");
 				}
 				}
 
 
 				MsgBroadcast.broadcastMsgNumReset(getActivity());
 				MsgBroadcast.broadcastMsgNumReset(getActivity());

+ 19 - 1
app_modular/appme/src/main/java/com/uas/appme/settings/activity/AboutActivity.java

@@ -2,6 +2,7 @@ package com.uas.appme.settings.activity;
 
 
 import android.content.Intent;
 import android.content.Intent;
 import android.graphics.Bitmap;
 import android.graphics.Bitmap;
+import android.graphics.Paint;
 import android.graphics.drawable.BitmapDrawable;
 import android.graphics.drawable.BitmapDrawable;
 import android.net.Uri;
 import android.net.Uri;
 import android.os.Bundle;
 import android.os.Bundle;
@@ -16,7 +17,6 @@ import android.widget.TextView;
 import com.afollestad.materialdialogs.GravityEnum;
 import com.afollestad.materialdialogs.GravityEnum;
 import com.afollestad.materialdialogs.MaterialDialog;
 import com.afollestad.materialdialogs.MaterialDialog;
 import com.common.LogUtil;
 import com.common.LogUtil;
-import com.common.config.BaseConfig;
 import com.common.system.SystemUtil;
 import com.common.system.SystemUtil;
 import com.core.base.SupportToolBarActivity;
 import com.core.base.SupportToolBarActivity;
 import com.core.utils.CommonUtil;
 import com.core.utils.CommonUtil;
@@ -35,6 +35,8 @@ public class AboutActivity extends SupportToolBarActivity implements View.OnClic
     private RelativeLayout me_name;
     private RelativeLayout me_name;
     private RelativeLayout me_function;
     private RelativeLayout me_function;
     private RelativeLayout me_QRcode;
     private RelativeLayout me_QRcode;
+    private TextView tv_privacy_policy;
+    private TextView tv_user_agreement;
 
 
     @Override
     @Override
     protected void onCreate(Bundle savedInstanceState) {
     protected void onCreate(Bundle savedInstanceState) {
@@ -46,18 +48,26 @@ public class AboutActivity extends SupportToolBarActivity implements View.OnClic
         String appName = getString(R.string.app_name);
         String appName = getString(R.string.app_name);
         String versionName = SystemUtil.getVersionName(mContext);
         String versionName = SystemUtil.getVersionName(mContext);
         versionTv.setText(appName + " " + versionName);
         versionTv.setText(appName + " " + versionName);
+
+
         initView();
         initView();
 
 
         ViewUtils.inject(this);
         ViewUtils.inject(this);
         me_name.setOnClickListener(this);
         me_name.setOnClickListener(this);
         me_function.setOnClickListener(this);
         me_function.setOnClickListener(this);
         me_QRcode.setOnClickListener(this);
         me_QRcode.setOnClickListener(this);
+        tv_privacy_policy.setOnClickListener(this);
+        tv_user_agreement.setOnClickListener(this);
+        tv_privacy_policy.getPaint().setFlags(Paint. UNDERLINE_TEXT_FLAG );
+        tv_user_agreement.getPaint().setFlags(Paint. UNDERLINE_TEXT_FLAG );
     }
     }
 
 
     private void initView() {
     private void initView() {
         me_name = (RelativeLayout) findViewById(R.id.me_name);
         me_name = (RelativeLayout) findViewById(R.id.me_name);
         me_function = (RelativeLayout) findViewById(R.id.me_function);
         me_function = (RelativeLayout) findViewById(R.id.me_function);
         me_QRcode = (RelativeLayout) findViewById(R.id.me_QRcode);
         me_QRcode = (RelativeLayout) findViewById(R.id.me_QRcode);
+        tv_privacy_policy = findViewById(R.id.tv_privacy_policy);
+        tv_user_agreement = findViewById(R.id.tv_user_agreement);
     }
     }
 
 
     @Override
     @Override
@@ -141,6 +151,14 @@ public class AboutActivity extends SupportToolBarActivity implements View.OnClic
                     return false;
                     return false;
                 }
                 }
             });
             });
+        }else if(v.getId()==R.id.tv_privacy_policy){//隐私政策
+            startActivity(new Intent(ct, CommonWebviewActivity.class)
+                    .putExtra("scan_url","https://www.ubtob.net/privacyUrl")
+                    .putExtra("title","UU互联隐私政策"));
+        }else if(v.getId()==R.id.tv_user_agreement){//用户协议
+            startActivity(new Intent(ct, CommonWebviewActivity.class)
+                    .putExtra("scan_url","https://www.ubtob.net/memberUrl")
+                    .putExtra("title","用户协议"));
         }
         }
     }
     }
 
 

+ 35 - 3
app_modular/appme/src/main/java/com/uas/appme/settings/activity/BaseInfoActivity.java

@@ -1,11 +1,13 @@
 package com.uas.appme.settings.activity;
 package com.uas.appme.settings.activity;
 
 
+import android.Manifest;
 import android.app.Activity;
 import android.app.Activity;
 import android.app.ProgressDialog;
 import android.app.ProgressDialog;
 import android.content.Context;
 import android.content.Context;
 import android.content.Intent;
 import android.content.Intent;
 import android.net.Uri;
 import android.net.Uri;
 import android.os.Bundle;
 import android.os.Bundle;
+import android.support.v4.app.ActivityCompat;
 import android.util.Log;
 import android.util.Log;
 import android.view.Gravity;
 import android.view.Gravity;
 import android.view.View;
 import android.view.View;
@@ -46,8 +48,8 @@ import com.lidroid.xutils.ViewUtils;
 import com.loopj.android.http.AsyncHttpClient;
 import com.loopj.android.http.AsyncHttpClient;
 import com.loopj.android.http.AsyncHttpResponseHandler;
 import com.loopj.android.http.AsyncHttpResponseHandler;
 import com.loopj.android.http.RequestParams;
 import com.loopj.android.http.RequestParams;
-import com.uas.appme.R;
 import com.nostra13.universalimageloader.core.ImageLoader;
 import com.nostra13.universalimageloader.core.ImageLoader;
+import com.uas.appme.R;
 import com.uas.appme.other.activity.BasicInfoEditActivity;
 import com.uas.appme.other.activity.BasicInfoEditActivity;
 import com.uas.appme.other.activity.CardcastActivity;
 import com.uas.appme.other.activity.CardcastActivity;
 import com.uas.appme.other.activity.SelectAreaActivity;
 import com.uas.appme.other.activity.SelectAreaActivity;
@@ -62,8 +64,6 @@ import java.util.Date;
 import java.util.GregorianCalendar;
 import java.util.GregorianCalendar;
 import java.util.HashMap;
 import java.util.HashMap;
 import java.util.List;
 import java.util.List;
-
-
 /**
 /**
   * @desc:用户个人资料界面
   * @desc:用户个人资料界面
   * @author:Arison on 2018/1/23
   * @author:Arison on 2018/1/23
@@ -244,6 +244,7 @@ public class BaseInfoActivity extends BaseActivity implements View.OnClickListen
             startActivity(new Intent("com.modular.im.LocalVideoActivity"));
             startActivity(new Intent("com.modular.im.LocalVideoActivity"));
 
 
         } else if (id == R.id.me_heard) {
         } else if (id == R.id.me_heard) {
+            initPermission(0);
             WindowManager windowManager = (WindowManager) getSystemService(Context.WINDOW_SERVICE);
             WindowManager windowManager = (WindowManager) getSystemService(Context.WINDOW_SERVICE);
             View headSelectView = View.inflate(BaseInfoActivity.this, R.layout.layout_select_head, null);
             View headSelectView = View.inflate(BaseInfoActivity.this, R.layout.layout_select_head, null);
 
 
@@ -268,6 +269,14 @@ public class BaseInfoActivity extends BaseActivity implements View.OnClickListen
             takePicTv.setOnClickListener(new View.OnClickListener() {
             takePicTv.setOnClickListener(new View.OnClickListener() {
                 @Override
                 @Override
                 public void onClick(View v) {
                 public void onClick(View v) {
+                    boolean sSRPR= ActivityCompat.shouldShowRequestPermissionRationale(BaseInfoActivity.this, Manifest.permission.WRITE_EXTERNAL_STORAGE)|
+                            ActivityCompat.shouldShowRequestPermissionRationale(BaseInfoActivity.this, Manifest.permission.READ_EXTERNAL_STORAGE)|
+                            ActivityCompat.shouldShowRequestPermissionRationale(BaseInfoActivity.this, Manifest.permission.CAMERA);
+                    Log.e("msg",Boolean.toString(sSRPR));
+                    if(sSRPR){
+                        initPermission(0);
+                        return;
+                    }
                     takePhoto();
                     takePhoto();
                     closePopupWindow();
                     closePopupWindow();
                 }
                 }
@@ -305,6 +314,29 @@ public class BaseInfoActivity extends BaseActivity implements View.OnClickListen
             startActivityForResult(intent, SELECT_ADDRESS);
             startActivityForResult(intent, SELECT_ADDRESS);
         }
         }
     }
     }
+    private void initPermission(final int item) {
+        Runnable runnable = new Runnable() {
+            @Override
+            public void run() {
+                initPermission(item + 1);
+            }
+        };
+        String permission = null;
+        switch (item) {
+            case 0:
+                permission = Manifest.permission.READ_EXTERNAL_STORAGE;
+                break;
+            case 1:
+                permission = Manifest.permission.CAMERA;
+                break;
+            case 2:
+                permission = Manifest.permission.READ_PHONE_STATE;
+                break;
+        }
+        if (item <= 2) {
+            requestPermission(permission, runnable, runnable);
+        }
+    }
 
 
     private void closePopupWindow() {
     private void closePopupWindow() {
         if (mHeadPopupWindow != null) {
         if (mHeadPopupWindow != null) {

+ 12 - 10
app_modular/appmessages/src/main/java/com/modular/appmessages/presenter/MessagePresenter.java

@@ -22,7 +22,6 @@ import com.common.system.SystemUtil;
 import com.common.thread.ThreadUtil;
 import com.common.thread.ThreadUtil;
 import com.core.api.wxapi.ApiConfig;
 import com.core.api.wxapi.ApiConfig;
 import com.core.api.wxapi.ApiUtils;
 import com.core.api.wxapi.ApiUtils;
-import com.core.app.AppConstant;
 import com.core.app.Constants;
 import com.core.app.Constants;
 import com.core.app.MyApplication;
 import com.core.app.MyApplication;
 import com.core.broadcast.MsgBroadcast;
 import com.core.broadcast.MsgBroadcast;
@@ -40,6 +39,7 @@ import com.core.net.http.http.OnHttpResultListener;
 import com.core.net.http.http.Request;
 import com.core.net.http.http.Request;
 import com.core.utils.CommonUtil;
 import com.core.utils.CommonUtil;
 import com.core.utils.TimeUtils;
 import com.core.utils.TimeUtils;
+import com.core.utils.ToastUtil;
 import com.core.utils.sortlist.BaseSortModel;
 import com.core.utils.sortlist.BaseSortModel;
 import com.core.utils.sortlist.PingYinUtil;
 import com.core.utils.sortlist.PingYinUtil;
 import com.core.xmpp.dao.ChatMessageDao;
 import com.core.xmpp.dao.ChatMessageDao;
@@ -49,7 +49,6 @@ import com.modular.appmessages.activity.ApprovalNewListActivity;
 import com.modular.appmessages.activity.BusinessTargetsActivity;
 import com.modular.appmessages.activity.BusinessTargetsActivity;
 import com.modular.appmessages.activity.MsgsSecondCommonActivity;
 import com.modular.appmessages.activity.MsgsSecondCommonActivity;
 import com.modular.appmessages.activity.ProcessB2BActivity;
 import com.modular.appmessages.activity.ProcessB2BActivity;
-import com.uas.appworks.activity.RealTimeFormActivity;
 import com.modular.appmessages.activity.Subscription2Activity;
 import com.modular.appmessages.activity.Subscription2Activity;
 import com.modular.appmessages.activity.UUHelperActivity;
 import com.modular.appmessages.activity.UUHelperActivity;
 import com.modular.appmessages.db.SubsDao;
 import com.modular.appmessages.db.SubsDao;
@@ -69,6 +68,7 @@ import com.modular.booking.activity.services.BServiceListActivity;
 import com.modular.booking.model.SBMenuModel;
 import com.modular.booking.model.SBMenuModel;
 import com.uas.appworks.OA.platform.activity.BusinessTravelActivity;
 import com.uas.appworks.OA.platform.activity.BusinessTravelActivity;
 import com.uas.appworks.OA.platform.activity.PurchaseDetailsActivity;
 import com.uas.appworks.OA.platform.activity.PurchaseDetailsActivity;
+import com.uas.appworks.activity.RealTimeFormActivity;
 import com.uas.appworks.activity.ScheduleActivity;
 import com.uas.appworks.activity.ScheduleActivity;
 
 
 import java.util.ArrayList;
 import java.util.ArrayList;
@@ -1051,16 +1051,18 @@ public class MessagePresenter implements OnHttpResultListener {
             if (friend.getUserId().equals(Friend.ID_NEW_FRIEND_MESSAGE)) {// 新朋友消息
             if (friend.getUserId().equals(Friend.ID_NEW_FRIEND_MESSAGE)) {// 新朋友消息
                 mContext.startActivity(new Intent("com.modular.appcontact.NewFriendActivity"));
                 mContext.startActivity(new Intent("com.modular.appcontact.NewFriendActivity"));
             } else {
             } else {
-                Intent intent = new Intent("com.modular.message.ChatActivity");
-                intent.putExtra(AppConstant.FRIEND, friend);
-                mContext.startActivity(intent);
+//                Intent intent = new Intent("com.modular.message.ChatActivity");
+//                intent.putExtra(AppConstant.FRIEND, friend);
+//                mContext.startActivity(intent);
+                ToastUtil.showToast(ct,"暂不支持");
             }
             }
         } else {
         } else {
-            Intent intent = new Intent("com.modular.message.MucChatActivity");
-            intent.putExtra(AppConstant.EXTRA_USER_ID, friend.getUserId());
-            intent.putExtra(AppConstant.EXTRA_NICK_NAME, friend.getNickName());
-            intent.putExtra(AppConstant.EXTRA_IS_GROUP_CHAT, true);
-            mContext.startActivity(intent);
+//            Intent intent = new Intent("com.modular.message.MucChatActivity");
+//            intent.putExtra(AppConstant.EXTRA_USER_ID, friend.getUserId());
+//            intent.putExtra(AppConstant.EXTRA_NICK_NAME, friend.getNickName());
+//            intent.putExtra(AppConstant.EXTRA_IS_GROUP_CHAT, true);
+//            mContext.startActivity(intent);
+            ToastUtil.showToast(ct,"暂不支持");
         }
         }
         //将红点去除
         //将红点去除
         if (friend.getUnReadNum() > 0) {
         if (friend.getUnReadNum() > 0) {