diff --git a/app/build.gradle b/app/build.gradle index 0b4df5743..5d536ea29 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -12,8 +12,8 @@ android { targetSdkVersion 27 testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" - versionCode 19 - versionName "1.0.9" + versionCode 20 + versionName "1.0.10" // Enabling multidex support. multiDexEnabled true diff --git a/app/src/main/java/com/nextcloud/talk/activities/CallActivity.java b/app/src/main/java/com/nextcloud/talk/activities/CallActivity.java index fcd12047c..3d56bfecb 100644 --- a/app/src/main/java/com/nextcloud/talk/activities/CallActivity.java +++ b/app/src/main/java/com/nextcloud/talk/activities/CallActivity.java @@ -493,8 +493,13 @@ public class CallActivity extends AppCompatActivity { pipVideoView.setScalingType(RendererCommon.ScalingType.SCALE_ASPECT_FIT); } - @AfterPermissionGranted(100) private void checkPermissions() { + EffortlessPermissions.requestPermissions(this, R.string.nc_permissions, + 100, PERMISSIONS_CALL); + } + + @AfterPermissionGranted(100) + private void onPermissionsGranted() { if (EffortlessPermissions.hasPermissions(this, PERMISSIONS_CALL)) { if (!videoOn) { onCameraClick(); @@ -517,58 +522,57 @@ public class CallActivity extends AppCompatActivity { } } else if (EffortlessPermissions.somePermissionPermanentlyDenied(this, PERMISSIONS_CALL)) { + checkIfSomeAreApproved(); + } + } - if (cameraEnumerator.getDeviceNames().length == 0) { - cameraControlButton.setVisibility(View.GONE); + private void checkIfSomeAreApproved() { + if (cameraEnumerator.getDeviceNames().length == 0) { + cameraControlButton.setVisibility(View.GONE); + } + + if (cameraSwitchButton != null && cameraEnumerator.getDeviceNames().length > 1) { + cameraSwitchButton.setVisibility(View.VISIBLE); + } + + if (EffortlessPermissions.hasPermissions(this, PERMISSIONS_CAMERA)) { + if (!videoOn) { + onCameraClick(); } - if (EffortlessPermissions.hasPermissions(this, PERMISSIONS_CAMERA)) { - if (!videoOn) { - onCameraClick(); - } - - if (cameraSwitchButton != null && cameraEnumerator.getDeviceNames().length > 1) { - cameraSwitchButton.setVisibility(View.VISIBLE); - } - } else if (!EffortlessPermissions.hasPermissions(this, PERMISSIONS_CAMERA)) { - cameraControlButton.setImageResource(R.drawable.ic_videocam_off_white_24px); - if (cameraSwitchButton != null) { - cameraSwitchButton.setVisibility(View.INVISIBLE); - } - - cameraControlButton.setVisibility(View.GONE); + } else if (!EffortlessPermissions.hasPermissions(this, PERMISSIONS_CAMERA)) { + cameraControlButton.setImageResource(R.drawable.ic_videocam_off_white_24px); + if (cameraSwitchButton != null) { + cameraSwitchButton.setVisibility(View.INVISIBLE); } - if (EffortlessPermissions.hasPermissions(this, PERMISSIONS_MICROPHONE)) { - if (!audioOn) { - onMicrophoneClick(); - } - } else if (!EffortlessPermissions.hasPermissions(this, PERMISSIONS_MICROPHONE)) { - microphoneControlButton.setImageResource(R.drawable.ic_mic_off_white_24px); - } + cameraControlButton.setVisibility(View.GONE); + } - if (!inCall) { - startCall(); + if (EffortlessPermissions.hasPermissions(this, PERMISSIONS_MICROPHONE)) { + if (!audioOn) { + onMicrophoneClick(); } + } else if (!EffortlessPermissions.hasPermissions(this, PERMISSIONS_MICROPHONE)) { + microphoneControlButton.setImageResource(R.drawable.ic_mic_off_white_24px); + } - } else { - EffortlessPermissions.requestPermissions(this, R.string.nc_permissions, - 100, PERMISSIONS_CALL); + if (!inCall) { + startCall(); } } @AfterPermissionDenied(100) private void onPermissionsDenied() { - if (cameraSwitchButton != null) { + if (cameraEnumerator.getDeviceNames().length == 0) { + cameraControlButton.setVisibility(View.GONE); + } else if (cameraEnumerator.getDeviceNames().length == 1) { cameraSwitchButton.setVisibility(View.INVISIBLE); } - if (cameraEnumerator.getDeviceNames().length == 0) { - cameraControlButton.setVisibility(View.GONE); - } - - if (!inCall) { - startCall(); + if (EffortlessPermissions.hasPermissions(this, PERMISSIONS_CAMERA) || + EffortlessPermissions.hasPermissions(this, PERMISSIONS_MICROPHONE)) { + checkIfSomeAreApproved(); } } diff --git a/app/src/main/java/com/nextcloud/talk/activities/MainActivity.java b/app/src/main/java/com/nextcloud/talk/activities/MainActivity.java index dc877a147..e62df3eb0 100644 --- a/app/src/main/java/com/nextcloud/talk/activities/MainActivity.java +++ b/app/src/main/java/com/nextcloud/talk/activities/MainActivity.java @@ -104,15 +104,23 @@ public final class MainActivity extends AppCompatActivity implements ActionBarPr hasDb = false; } - if (!router.hasRootController() && hasDb && userUtils.anyUserExists()) { - sqlCipherDatabaseSource.close(); - router.setRoot(RouterTransaction.with(new MagicBottomNavigationController()) - .pushChangeHandler(new HorizontalChangeHandler()) - .popChangeHandler(new HorizontalChangeHandler())); - } else if (!router.hasRootController()) { - router.setRoot(RouterTransaction.with(new ServerSelectionController()) - .pushChangeHandler(new HorizontalChangeHandler()) - .popChangeHandler(new HorizontalChangeHandler())); + if (!router.hasRootController()) { + if (hasDb) { + if (userUtils.anyUserExists()) { + router.setRoot(RouterTransaction.with(new MagicBottomNavigationController()) + .pushChangeHandler(new HorizontalChangeHandler()) + .popChangeHandler(new HorizontalChangeHandler())); + } else { + router.setRoot(RouterTransaction.with(new ServerSelectionController()) + .pushChangeHandler(new HorizontalChangeHandler()) + .popChangeHandler(new HorizontalChangeHandler())); + } + } else { + router.setRoot(RouterTransaction.with(new ServerSelectionController()) + .pushChangeHandler(new HorizontalChangeHandler()) + .popChangeHandler(new HorizontalChangeHandler())); + + } } }