fancy 5 лет назад
Родитель
Сommit
4e13e7dca3

+ 24 - 0
o2android/app/src/main/java/net/zoneland/x/bpm/mobile/v1/zoneXBPM/app/im/O2ChatActivity.kt

@@ -1,5 +1,6 @@
 package net.zoneland.x.bpm.mobile.v1.zoneXBPM.app.im
 
+import android.Manifest
 import android.app.Activity
 import android.app.Instrumentation
 import android.content.*
@@ -10,6 +11,7 @@ import android.net.Uri
 import android.os.Bundle
 import android.os.CountDownTimer
 import android.provider.MediaStore
+import android.provider.Settings
 import android.support.v7.widget.GridLayoutManager
 import android.support.v7.widget.LinearLayoutManager
 import android.text.Editable
@@ -37,7 +39,10 @@ import net.zoneland.x.bpm.mobile.v1.zoneXBPM.model.vo.ContactPickerResult
 import net.zoneland.x.bpm.mobile.v1.zoneXBPM.utils.*
 import net.zoneland.x.bpm.mobile.v1.zoneXBPM.utils.extension.go
 import net.zoneland.x.bpm.mobile.v1.zoneXBPM.utils.extension.gone
+import net.zoneland.x.bpm.mobile.v1.zoneXBPM.utils.extension.o2Subscribe
 import net.zoneland.x.bpm.mobile.v1.zoneXBPM.utils.extension.visible
+import net.zoneland.x.bpm.mobile.v1.zoneXBPM.utils.permission.PermissionRequester
+import net.zoneland.x.bpm.mobile.v1.zoneXBPM.utils.permission.PermissionResult
 import net.zoneland.x.bpm.mobile.v1.zoneXBPM.widgets.dialog.O2DialogSupport
 import org.jetbrains.anko.find
 import java.io.File
@@ -461,6 +466,19 @@ class O2ChatActivity : BaseMVPActivity<O2ChatContract.View, O2ChatContract.Prese
         //bottom toolbar
         image_o2_chat_audio_speak_btn.setOnTouchListener(this)
         ll_o2_chat_audio_btn.setOnClickListener {
+            //先检查录音权限
+            PermissionRequester(this@O2ChatActivity)
+                    .request(Manifest.permission.RECORD_AUDIO)
+                    .o2Subscribe {
+                        onNext { (granted, _, _) ->
+                            if (!granted){
+                                O2DialogSupport.openAlertDialog(this@O2ChatActivity, "需要定位权限, 去设置", { permissionSetting() })
+                            }
+                        }
+                        onError { e, _ ->
+                            XLog.error("", e)
+                        }
+                    }
             //关闭表情框
             rv_o2_chat_emoji_box.gone()
             if (rv_o2_chat_emoji_box_out.isKeyboardActive) { //输入法激活时
@@ -517,6 +535,12 @@ class O2ChatActivity : BaseMVPActivity<O2ChatContract.View, O2ChatContract.Prese
                     }
         }
     }
+
+    private fun permissionSetting() {
+        val packageUri = Uri.parse("package:$packageName")
+        startActivity(Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS, packageUri))
+    }
+
     // 设置表情栏的高度
 //    private fun initEmojiView() {
 //        val layoutParams = rv_o2_chat_emoji_box.layoutParams

+ 5 - 5
o2android/app/src/main/res/layout/activity_o2_chat.xml

@@ -104,7 +104,7 @@
                      android:layout_width="28dp"
                      android:layout_height="28dp"
                      android:layout_gravity="center"
-                     android:src="@mipmap/chat_mic" />
+                     android:src="@mipmap/chat_iicon_yuyin" />
              </LinearLayout>
             <LinearLayout
                 android:id="@+id/ll_o2_chat_album_btn"
@@ -117,7 +117,7 @@
                     android:layout_width="28dp"
                     android:layout_height="28dp"
                     android:layout_gravity="center"
-                    android:src="@mipmap/chat_img" />
+                    android:src="@mipmap/chat_iicon_tupian" />
             </LinearLayout>
             <LinearLayout
                 android:id="@+id/ll_o2_chat_camera_btn"
@@ -130,7 +130,7 @@
                     android:layout_width="28dp"
                     android:layout_height="28dp"
                     android:layout_gravity="center"
-                    android:src="@mipmap/chat_camera" />
+                    android:src="@mipmap/chat_iicon_xiangji" />
             </LinearLayout>
             <LinearLayout
                 android:id="@+id/ll_o2_chat_location_btn"
@@ -143,7 +143,7 @@
                     android:layout_width="28dp"
                     android:layout_height="28dp"
                     android:layout_gravity="center"
-                    android:src="@mipmap/chat_location" />
+                    android:src="@mipmap/chat_icon_ditu" />
             </LinearLayout>
         </LinearLayout>
 
@@ -185,7 +185,7 @@
                 android:id="@+id/image_o2_chat_audio_speak_btn"
                 android:layout_width="96dp"
                 android:layout_height="96dp"
-                android:src="@mipmap/chat_mic"
+                android:src="@mipmap/chat_iicon_yuyin"
                 android:layout_centerInParent="true"
                 android:background="@drawable/f5_circle"
                 />

BIN
o2android/app/src/main/res/mipmap-xhdpi/chat_camera.png


BIN
o2android/app/src/main/res/mipmap-xhdpi/chat_camera_light.png


BIN
o2android/app/src/main/res/mipmap-xhdpi/chat_camera_light_blue.png


BIN
o2android/app/src/main/res/mipmap-xhdpi/chat_icon_ditu.png


BIN
o2android/app/src/main/res/mipmap-xhdpi/chat_iicon_tupian.png


BIN
o2android/app/src/main/res/mipmap-xhdpi/chat_iicon_xiangji.png


BIN
o2android/app/src/main/res/mipmap-xhdpi/chat_iicon_yuyin.png


BIN
o2android/app/src/main/res/mipmap-xhdpi/chat_img.png


BIN
o2android/app/src/main/res/mipmap-xhdpi/chat_img_light.png


BIN
o2android/app/src/main/res/mipmap-xhdpi/chat_img_light_blue.png


BIN
o2android/app/src/main/res/mipmap-xhdpi/chat_location.png


BIN
o2android/app/src/main/res/mipmap-xhdpi/chat_location_light.png


BIN
o2android/app/src/main/res/mipmap-xhdpi/chat_location_light_blue.png


BIN
o2android/app/src/main/res/mipmap-xhdpi/chat_mic.png


BIN
o2android/app/src/main/res/mipmap-xhdpi/chat_mic_light.png


BIN
o2android/app/src/main/res/mipmap-xhdpi/chat_mic_light_blue.png