Fixed camera not turning on during call when granting permission + minor UI fix for history detail while in landscape
This commit is contained in:
parent
07b37f03f6
commit
f0b455eb8f
4 changed files with 39 additions and 9 deletions
|
@ -106,7 +106,16 @@ class OutgoingCallActivity : ProximitySensorActivity() {
|
|||
}
|
||||
)
|
||||
|
||||
controlsViewModel.askPermissionEvent.observe(
|
||||
controlsViewModel.askAudioRecordPermissionEvent.observe(
|
||||
this,
|
||||
{
|
||||
it.consume { permission ->
|
||||
requestPermissions(arrayOf(permission), 0)
|
||||
}
|
||||
}
|
||||
)
|
||||
|
||||
controlsViewModel.askCameraPermissionEvent.observe(
|
||||
this,
|
||||
{
|
||||
it.consume { permission ->
|
||||
|
|
|
@ -113,7 +113,7 @@ class ControlsFragment : GenericFragment<CallControlsFragmentBinding>() {
|
|||
it.consume {
|
||||
if (!PermissionHelper.get().hasWriteExternalStoragePermission()) {
|
||||
Log.i("[Controls Fragment] Asking for WRITE_EXTERNAL_STORAGE permission")
|
||||
requestPermissions(arrayOf(Manifest.permission.WRITE_EXTERNAL_STORAGE), 1)
|
||||
requestPermissions(arrayOf(Manifest.permission.WRITE_EXTERNAL_STORAGE), 2)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -179,7 +179,7 @@ class ControlsFragment : GenericFragment<CallControlsFragmentBinding>() {
|
|||
}
|
||||
)
|
||||
|
||||
controlsViewModel.askPermissionEvent.observe(
|
||||
controlsViewModel.askAudioRecordPermissionEvent.observe(
|
||||
viewLifecycleOwner,
|
||||
{
|
||||
it.consume { permission ->
|
||||
|
@ -189,6 +189,16 @@ class ControlsFragment : GenericFragment<CallControlsFragmentBinding>() {
|
|||
}
|
||||
)
|
||||
|
||||
controlsViewModel.askCameraPermissionEvent.observe(
|
||||
viewLifecycleOwner,
|
||||
{
|
||||
it.consume { permission ->
|
||||
Log.i("[Controls Fragment] Asking for $permission permission")
|
||||
requestPermissions(arrayOf(permission), 1)
|
||||
}
|
||||
}
|
||||
)
|
||||
|
||||
controlsViewModel.toggleNumpadEvent.observe(
|
||||
viewLifecycleOwner,
|
||||
{
|
||||
|
@ -251,7 +261,13 @@ class ControlsFragment : GenericFragment<CallControlsFragmentBinding>() {
|
|||
}
|
||||
}
|
||||
}
|
||||
} else if (requestCode == 1 && grantResults.isNotEmpty() && grantResults[0] == PERMISSION_GRANTED) {
|
||||
} else if (requestCode == 1) {
|
||||
if (grantResults.isNotEmpty() && grantResults[0] == PERMISSION_GRANTED) {
|
||||
Log.i("[Controls Fragment] CAMERA permission has been granted")
|
||||
coreContext.core.reloadVideoDevices()
|
||||
controlsViewModel.toggleVideo()
|
||||
}
|
||||
} else if (requestCode == 2 && grantResults.isNotEmpty() && grantResults[0] == PERMISSION_GRANTED) {
|
||||
callsViewModel.takeScreenshot()
|
||||
}
|
||||
super.onRequestPermissionsResult(requestCode, permissions, grantResults)
|
||||
|
|
|
@ -87,7 +87,11 @@ class ControlsViewModel : ViewModel() {
|
|||
MutableLiveData<Event<Boolean>>()
|
||||
}
|
||||
|
||||
val askPermissionEvent: MutableLiveData<Event<String>> by lazy {
|
||||
val askAudioRecordPermissionEvent: MutableLiveData<Event<String>> by lazy {
|
||||
MutableLiveData<Event<String>>()
|
||||
}
|
||||
|
||||
val askCameraPermissionEvent: MutableLiveData<Event<String>> by lazy {
|
||||
MutableLiveData<Event<String>>()
|
||||
}
|
||||
|
||||
|
@ -176,7 +180,7 @@ class ControlsViewModel : ViewModel() {
|
|||
}
|
||||
|
||||
if (coreContext.isVideoCallOrConferenceActive() && !PermissionHelper.get().hasCameraPermission()) {
|
||||
askPermissionEvent.value = Event(Manifest.permission.CAMERA)
|
||||
askCameraPermissionEvent.value = Event(Manifest.permission.CAMERA)
|
||||
}
|
||||
|
||||
updateUI()
|
||||
|
@ -244,7 +248,7 @@ class ControlsViewModel : ViewModel() {
|
|||
|
||||
fun toggleMuteMicrophone() {
|
||||
if (!PermissionHelper.get().hasRecordAudioPermission()) {
|
||||
askPermissionEvent.value = Event(Manifest.permission.RECORD_AUDIO)
|
||||
askAudioRecordPermissionEvent.value = Event(Manifest.permission.RECORD_AUDIO)
|
||||
return
|
||||
}
|
||||
|
||||
|
@ -279,7 +283,7 @@ class ControlsViewModel : ViewModel() {
|
|||
|
||||
fun toggleVideo() {
|
||||
if (!PermissionHelper.get().hasCameraPermission()) {
|
||||
askPermissionEvent.value = Event(Manifest.permission.CAMERA)
|
||||
askCameraPermissionEvent.value = Event(Manifest.permission.CAMERA)
|
||||
return
|
||||
}
|
||||
|
||||
|
|
|
@ -80,7 +80,7 @@
|
|||
android:layout_below="@id/top_bar"
|
||||
android:gravity="center"
|
||||
android:orientation="vertical"
|
||||
android:paddingTop="20dp"
|
||||
android:paddingTop="10dp"
|
||||
android:paddingBottom="5dp">
|
||||
|
||||
<org.linphone.contact.BigContactAvatarView
|
||||
|
@ -88,6 +88,7 @@
|
|||
android:layout_width="match_parent"
|
||||
android:layout_height="100dp"
|
||||
android:gravity="center"
|
||||
android:layout_marginTop="10dp"
|
||||
bind:layout="@layout/contact_avatar_big"
|
||||
app:viewModel="@{viewModel}"/>
|
||||
|
||||
|
|
Loading…
Reference in a new issue