diff --git a/app/src/main/java/org/linphone/activities/assistant/fragments/AbstractPhoneFragment.kt b/app/src/main/java/org/linphone/activities/assistant/fragments/AbstractPhoneFragment.kt index 6e5416032..6f12fd890 100644 --- a/app/src/main/java/org/linphone/activities/assistant/fragments/AbstractPhoneFragment.kt +++ b/app/src/main/java/org/linphone/activities/assistant/fragments/AbstractPhoneFragment.kt @@ -49,11 +49,13 @@ abstract class AbstractPhoneFragment : Fragment() { } protected fun checkPermission() { - if (!PermissionHelper.get().hasReadPhoneState()) { - Log.i("[Assistant] Asking for READ_PHONE_STATE permission") - requestPermissions(arrayOf(Manifest.permission.READ_PHONE_STATE), 0) - } else { - updateFromDeviceInfo() + if (!resources.getBoolean(R.bool.isTablet)) { + if (!PermissionHelper.get().hasReadPhoneState()) { + Log.i("[Assistant] Asking for READ_PHONE_STATE permission") + requestPermissions(arrayOf(Manifest.permission.READ_PHONE_STATE), 0) + } else { + updateFromDeviceInfo() + } } } diff --git a/app/src/main/java/org/linphone/activities/assistant/fragments/AccountLoginFragment.kt b/app/src/main/java/org/linphone/activities/assistant/fragments/AccountLoginFragment.kt index 30c5977e0..3f2447350 100644 --- a/app/src/main/java/org/linphone/activities/assistant/fragments/AccountLoginFragment.kt +++ b/app/src/main/java/org/linphone/activities/assistant/fragments/AccountLoginFragment.kt @@ -59,6 +59,10 @@ class AccountLoginFragment : AbstractPhoneFragment() { viewModel = ViewModelProvider(this, AccountLoginViewModelFactory(sharedViewModel.getAccountCreator())).get(AccountLoginViewModel::class.java) binding.viewModel = viewModel + if (resources.getBoolean(R.bool.isTablet)) { + viewModel.loginWithUsernamePassword.value = true + } + binding.setInfoClickListener { showPhoneNumberInfoDialog() } diff --git a/app/src/main/java/org/linphone/activities/main/dialer/fragments/DialerFragment.kt b/app/src/main/java/org/linphone/activities/main/dialer/fragments/DialerFragment.kt index dad3492d2..c40a1b1b1 100644 --- a/app/src/main/java/org/linphone/activities/main/dialer/fragments/DialerFragment.kt +++ b/app/src/main/java/org/linphone/activities/main/dialer/fragments/DialerFragment.kt @@ -27,6 +27,8 @@ import android.view.ViewGroup import androidx.fragment.app.Fragment import androidx.lifecycle.ViewModelProvider import androidx.navigation.fragment.findNavController +import org.linphone.LinphoneApplication.Companion.coreContext +import org.linphone.R import org.linphone.activities.main.dialer.viewmodels.DialerViewModel import org.linphone.activities.main.viewmodels.SharedMainViewModel import org.linphone.core.tools.Log @@ -94,4 +96,13 @@ class DialerFragment : Fragment() { Log.i("[Dialer] Pending call transfer mode = ${sharedViewModel.pendingCallTransfer}") viewModel.transferVisibility.value = sharedViewModel.pendingCallTransfer } + + override fun onResume() { + super.onResume() + + if (resources.getBoolean(R.bool.isTablet)) { + coreContext.core.nativePreviewWindowId = binding.videoPreviewWindow + } + viewModel.updateShowVideoPreview() + } } diff --git a/app/src/main/java/org/linphone/activities/main/dialer/viewmodels/DialerViewModel.kt b/app/src/main/java/org/linphone/activities/main/dialer/viewmodels/DialerViewModel.kt index aed2ee0a7..7d765d83d 100644 --- a/app/src/main/java/org/linphone/activities/main/dialer/viewmodels/DialerViewModel.kt +++ b/app/src/main/java/org/linphone/activities/main/dialer/viewmodels/DialerViewModel.kt @@ -33,6 +33,8 @@ class DialerViewModel : ViewModel() { val transferVisibility = MutableLiveData() + val showPreview = MutableLiveData() + val onKeyClick: NumpadDigitListener = object : NumpadDigitListener { override fun handleClick(key: Char) { enteredUri.value += key.toString() @@ -79,6 +81,12 @@ class DialerViewModel : ViewModel() { super.onCleared() } + fun updateShowVideoPreview() { + val videoPreview = corePreferences.videoPreview + showPreview.value = videoPreview + coreContext.core.enableVideoPreview(videoPreview) + } + fun eraseLastChar() { enteredUri.value = enteredUri.value?.dropLast(1) } @@ -108,6 +116,10 @@ class DialerViewModel : ViewModel() { } } + fun switchCamera() { + coreContext.switchCamera() + } + private fun setLastOutgoingCallAddress() { val callLog = coreContext.core.lastOutgoingCallLog if (callLog != null) { diff --git a/app/src/main/java/org/linphone/core/CorePreferences.kt b/app/src/main/java/org/linphone/core/CorePreferences.kt index abdb219c1..aa0c29626 100644 --- a/app/src/main/java/org/linphone/core/CorePreferences.kt +++ b/app/src/main/java/org/linphone/core/CorePreferences.kt @@ -79,7 +79,6 @@ class CorePreferences constructor(private val context: Context) { /* Video */ - // TODO: use it to show video preview on dialer for tablets var videoPreview: Boolean get() = config.getBool("app", "video_preview", false) set(value) = config.setBool("app", "video_preview", value) diff --git a/app/src/main/res/layout-land/assistant_welcome_fragment.xml b/app/src/main/res/layout-land/assistant_welcome_fragment.xml new file mode 100644 index 000000000..8fceb6fd3 --- /dev/null +++ b/app/src/main/res/layout-land/assistant_welcome_fragment.xml @@ -0,0 +1,134 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/layout-sw533dp-land/dialer_fragment.xml b/app/src/main/res/layout-sw533dp-land/dialer_fragment.xml new file mode 100644 index 000000000..463a66c10 --- /dev/null +++ b/app/src/main/res/layout-sw533dp-land/dialer_fragment.xml @@ -0,0 +1,186 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/layout-sw533dp/dialer_fragment.xml b/app/src/main/res/layout-sw533dp/dialer_fragment.xml new file mode 100644 index 000000000..6c6dae5fe --- /dev/null +++ b/app/src/main/res/layout-sw533dp/dialer_fragment.xml @@ -0,0 +1,183 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/layout-sw533dp/settings_fragment.xml b/app/src/main/res/layout-sw533dp/settings_fragment.xml new file mode 100644 index 000000000..0dfaff72c --- /dev/null +++ b/app/src/main/res/layout-sw533dp/settings_fragment.xml @@ -0,0 +1,168 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file