浏览代码

fix NPE when call is joined by notification

add ability to have PIP mode for calls joined by notification

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
Marcel Hibbe 3 年之前
父节点
当前提交
0d1e0af9d1

+ 2 - 2
app/src/main/java/com/nextcloud/talk/activities/MagicCallActivity.kt

@@ -82,7 +82,7 @@ class MagicCallActivity : BaseActivity() {
                     RouterTransaction.with(CallController(intent.extras))
                         .pushChangeHandler(HorizontalChangeHandler())
                         .popChangeHandler(HorizontalChangeHandler())
-                        .tag("CallController")
+                        .tag(CallController.TAG)
                 )
             }
         }
@@ -153,7 +153,7 @@ class MagicCallActivity : BaseActivity() {
         super.onPictureInPictureModeChanged(isInPictureInPictureMode, newConfig)
         isInPipMode = isInPictureInPictureMode
 
-        val callController = router?.getControllerWithTag("CallController") as CallController
+        val callController = router?.getControllerWithTag(CallController.TAG) as CallController
         if (isInPictureInPictureMode) {
             callController.updateUiForPipMode()
         } else {

+ 1 - 1
app/src/main/java/com/nextcloud/talk/controllers/CallController.java

@@ -161,7 +161,7 @@ import pub.devrel.easypermissions.AfterPermissionGranted;
 @AutoInjector(NextcloudTalkApplication.class)
 public class CallController extends BaseController {
 
-    private static final String TAG = "CallController";
+    public static final String TAG = "CallController";
 
     private static final String[] PERMISSIONS_CALL = {
             android.Manifest.permission.CAMERA,

+ 2 - 1
app/src/main/java/com/nextcloud/talk/controllers/CallNotificationController.java

@@ -200,7 +200,8 @@ public class CallNotificationController extends BaseController {
 
         getRouter().replaceTopController(RouterTransaction.with(new CallController(originalBundle))
                                                  .popChangeHandler(new HorizontalChangeHandler())
-                                                 .pushChangeHandler(new HorizontalChangeHandler()));
+                                                 .pushChangeHandler(new HorizontalChangeHandler())
+                                                 .tag(CallController.TAG));
     }
 
     private void checkIfAnyParticipantsRemainInRoom() {