浏览代码

[RN] Make AudioMode more resilient on Android

Some devices may give an error stating that INTERACT_ACROSS_USERS_FULL
permission is neeced. This permission can only be achieved by signing the
application with the same key as the system, which is never going to happen so
deal with it by catching any exceptions setting the mode may cause and failing
as gracefully as we can.

Ref:
http://stackoverflow.com/questions/34172575/audiomanager-setmode-securityexception-on-huawei-android-4
j8
Saúl Ibarra Corretgé 8 年前
父节点
当前提交
5d50792a56
共有 1 个文件被更改,包括 13 次插入2 次删除
  1. 13
    2
      android/app/src/main/java/org/jitsi/meet/audiomode/AudioModeModule.java

+ 13
- 2
android/app/src/main/java/org/jitsi/meet/audiomode/AudioModeModule.java 查看文件

188
         Runnable r = new Runnable() {
188
         Runnable r = new Runnable() {
189
             @Override
189
             @Override
190
             public void run() {
190
             public void run() {
191
-                if (updateAudioRoute(mode)) {
191
+                boolean success;
192
+
193
+                try {
194
+                    success = updateAudioRoute(mode);
195
+                } catch (Throwable e) {
196
+                    success = false;
197
+                    Log.e(
198
+                            TAG,
199
+                            "Failed to update audio route for mode: " + mode,
200
+                            e);
201
+                }
202
+                if (success) {
192
                     AudioModeModule.this.mode = mode;
203
                     AudioModeModule.this.mode = mode;
193
                     promise.resolve(null);
204
                     promise.resolve(null);
194
                 } else {
205
                 } else {
195
                     promise.reject(
206
                     promise.reject(
196
                             "setMode",
207
                             "setMode",
197
-                            "Failed to set the requested audio mode");
208
+                            "Failed to set audio mode to " + mode);
198
                 }
209
                 }
199
             }
210
             }
200
         };
211
         };

正在加载...
取消
保存