diff --git a/app/src/main/java/org/linphone/activities/call/viewmodels/CallsViewModel.kt b/app/src/main/java/org/linphone/activities/call/viewmodels/CallsViewModel.kt index 5c4d8de6d..625ce903f 100644 --- a/app/src/main/java/org/linphone/activities/call/viewmodels/CallsViewModel.kt +++ b/app/src/main/java/org/linphone/activities/call/viewmodels/CallsViewModel.kt @@ -146,6 +146,10 @@ class CallsViewModel : ViewModel() { } } + fun takeScreenshot() { + currentCallViewModel.value?.takeScreenshot() + } + private fun addCallToPausedList(call: Call) { val list = arrayListOf() list.addAll(pausedCalls.value.orEmpty()) diff --git a/app/src/main/java/org/linphone/activities/call/viewmodels/ControlsViewModel.kt b/app/src/main/java/org/linphone/activities/call/viewmodels/ControlsViewModel.kt index c618e9b7e..2e5c5375f 100644 --- a/app/src/main/java/org/linphone/activities/call/viewmodels/ControlsViewModel.kt +++ b/app/src/main/java/org/linphone/activities/call/viewmodels/ControlsViewModel.kt @@ -72,6 +72,8 @@ class ControlsViewModel : ViewModel() { val audioRoutesEnabled = MutableLiveData() + val takeScreenshotEnabled = MutableLiveData() + val chatClickedEvent: MutableLiveData> by lazy { MutableLiveData>() } @@ -210,6 +212,8 @@ class ControlsViewModel : ViewModel() { optionsMenuTranslateY.value = AppUtils.getDimension(R.dimen.call_options_menu_translate_y) audioRoutesMenuTranslateY.value = AppUtils.getDimension(R.dimen.call_audio_routes_menu_translate_y) + takeScreenshotEnabled.value = corePreferences.showScreenshotButton + updateUI() if (corePreferences.enableAnimations) bounceAnimator.start() } diff --git a/app/src/main/java/org/linphone/core/CorePreferences.kt b/app/src/main/java/org/linphone/core/CorePreferences.kt index f80fb40d7..1514e1bc7 100644 --- a/app/src/main/java/org/linphone/core/CorePreferences.kt +++ b/app/src/main/java/org/linphone/core/CorePreferences.kt @@ -325,6 +325,9 @@ class CorePreferences constructor(private val context: Context) { val disableChat: Boolean get() = config.getBool("app", "disable_chat_feature", false) + val showScreenshotButton: Boolean + get() = config.getBool("app", "show_take_screenshot_button_in_call", false) + /* Assistant */ val showCreateAccount: Boolean diff --git a/app/src/main/res/drawable-xhdpi/screenshot_default.png b/app/src/main/res/drawable-xhdpi/screenshot_default.png new file mode 100644 index 000000000..a322b072b Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/screenshot_default.png differ diff --git a/app/src/main/res/drawable-xhdpi/screenshot_disabled.png b/app/src/main/res/drawable-xhdpi/screenshot_disabled.png new file mode 100644 index 000000000..9b75d575b Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/screenshot_disabled.png differ diff --git a/app/src/main/res/drawable-xhdpi/screenshot_over.png b/app/src/main/res/drawable-xhdpi/screenshot_over.png new file mode 100644 index 000000000..d94c0929d Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/screenshot_over.png differ diff --git a/app/src/main/res/drawable-xhdpi/search.png b/app/src/main/res/drawable-xhdpi/search.png new file mode 100644 index 000000000..c487f5a1c Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/search.png differ diff --git a/app/src/main/res/drawable/pause.xml b/app/src/main/res/drawable/call_pause.xml similarity index 100% rename from app/src/main/res/drawable/pause.xml rename to app/src/main/res/drawable/call_pause.xml diff --git a/app/src/main/res/drawable/call_screenshot.xml b/app/src/main/res/drawable/call_screenshot.xml new file mode 100644 index 000000000..2d24a03e3 --- /dev/null +++ b/app/src/main/res/drawable/call_screenshot.xml @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/app/src/main/res/layout-land/call_controls_fragment.xml b/app/src/main/res/layout-land/call_controls_fragment.xml index 20dd6c62e..9165b6774 100644 --- a/app/src/main/res/layout-land/call_controls_fragment.xml +++ b/app/src/main/res/layout-land/call_controls_fragment.xml @@ -112,7 +112,7 @@ android:layout_below="@id/active_call_header" android:layout_alignParentRight="true" android:layout_margin="20dp" - android:src="@drawable/pause" /> + android:src="@drawable/call_pause" /> + android:src="@drawable/call_pause" /> @@ -203,7 +203,7 @@ android:layout_height="40dp" android:gravity="center_vertical" android:contentDescription="@string/content_description_resume_conference" - android:src="@drawable/pause" /> + android:src="@drawable/call_pause" /> @@ -218,9 +218,10 @@ android:layout_below="@id/active_call_header" android:layout_alignParentRight="true" android:layout_margin="20dp" - android:src="@drawable/pause" /> + android:src="@drawable/call_pause" /> + + + android:src="@drawable/call_pause" /> diff --git a/app/src/main/res/layout/chat_room_creation_fragment.xml b/app/src/main/res/layout/chat_room_creation_fragment.xml index b5b001848..6dd11c63e 100644 --- a/app/src/main/res/layout/chat_room_creation_fragment.xml +++ b/app/src/main/res/layout/chat_room_creation_fragment.xml @@ -156,7 +156,7 @@ android:inputType="textPersonName" android:layout_below="@id/top_bar" android:layout_margin="10dp" - android:drawableLeft="@android:drawable/ic_menu_search" + android:drawableLeft="@drawable/search" android:drawablePadding="10dp" android:background="@color/transparent_color" android:backgroundTint="@color/transparent_color" diff --git a/app/src/main/res/layout/contact_master_fragment.xml b/app/src/main/res/layout/contact_master_fragment.xml index 2fc9aa233..d3e6c7982 100644 --- a/app/src/main/res/layout/contact_master_fragment.xml +++ b/app/src/main/res/layout/contact_master_fragment.xml @@ -126,7 +126,7 @@ android:layout_below="@id/top_bar" android:layout_margin="10dp" android:inputType="textPersonName" - android:drawableLeft="@android:drawable/ic_menu_search" + android:drawableLeft="@drawable/search" android:drawablePadding="10dp" android:background="@color/transparent_color" android:backgroundTint="@color/transparent_color" diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 61ea700f7..af59a5535 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -704,4 +704,5 @@ Call security is pending Show or hide call statistics Video attachment + Take a screenshot of received video