Skip to content
Snippets Groups Projects
Commit e273d517 authored by Amirhossein Naghshzan's avatar Amirhossein Naghshzan
Browse files

CallFragment: hide raise hand and plugin buttons during a regular call

GitLab: #1112

Change-Id: I48860a83be1a339cd894b63718613466db9af7d9
parent 3dcd97f4
No related branches found
No related tags found
No related merge requests found
......@@ -66,7 +66,6 @@ import cx.ring.adapters.ConfParticipantAdapter.ConfParticipantSelected
import cx.ring.adapters.PluginsAdapter
import cx.ring.client.*
import cx.ring.databinding.FragCallBinding
import cx.ring.databinding.ItemParticipantLabelBinding
import cx.ring.mvp.BaseSupportFragment
import cx.ring.plugins.PluginUtils
import cx.ring.service.DRingService
......@@ -779,7 +778,7 @@ class CallFragment : BaseSupportFragment<CallPresenter, CallView>(), CallView,
@SuppressLint("RestrictedApi")
override fun updateConfInfo(participantInfo: List<ParticipantInfo>) {
val binding = binding ?: return
mConferenceMode = participantInfo.isNotEmpty()
mConferenceMode = participantInfo.size > 1
if (participantInfo.isNotEmpty()) {
isMyMicMuted = participantInfo[0].audioLocalMuted
......@@ -827,6 +826,7 @@ class CallFragment : BaseSupportFragment<CallPresenter, CallView>(), CallView,
.build(requireActivity())
)
generateParticipantOverlay(participantInfo)
presenter.prepareBottomSheetButtonsStatus()
} else {
displayContactBubble(true)
}
......@@ -930,8 +930,8 @@ class CallFragment : BaseSupportFragment<CallPresenter, CallView>(), CallView,
hasActiveVideo: Boolean
) {
binding?.apply {
callPluginsBtn.isClickable = showPluginBtn
callRaiseHandBtn.isClickable = mConferenceMode
pluginsBtnContainer.isVisible = showPluginBtn
raiseHandBtnContainer.isVisible = mConferenceMode
callDialpadBtn.isClickable = canDial
dialpadBtnContainer.isVisible = canDial
......
......@@ -653,64 +653,68 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
android:textSize="11sp" />
</LinearLayout>
<!-- Raise Hand button -->
<!-- Dialpad button -->
<LinearLayout
android:id="@+id/raiseHand_btn_container"
android:id="@+id/dialpad_btn_container"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_rowWeight="1"
android:layout_columnWeight="1"
android:orientation="vertical"
android:padding="5dp">
android:padding="5dp"
android:visibility="gone"
tools:visibility="visible">
<cx.ring.views.CheckableImageButton
android:id="@+id/call_raiseHand_btn"
android:id="@+id/call_dialpad_btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="@drawable/call_button_background_checkable"
android:onClick="@{() -> presenter.raiseHandClicked()}"
android:onClick="@{() -> presenter.displayDialPadKeyboard()}"
android:padding="16dp"
app:srcCompat="@drawable/baseline_raisehand_24" />
app:srcCompat="@drawable/baseline_dialpad_24"
app:tint="@color/white" />
<TextView
android:id="@+id/textView_raiseHand"
android:id="@+id/textView_call_dialpad_btn"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginTop="2dp"
android:ellipsize="middle"
android:ellipsize="end"
android:scrollHorizontally="false"
android:singleLine="true"
android:text="@string/bottomSheet_raiseHand_btn"
android:text="@string/bottomSheet_dialpad_btn"
android:textAlignment="center"
android:textColor="@color/white"
android:textSize="11sp" />
</LinearLayout>
<!-- Dialpad button -->
<!-- Plugins list button -->
<LinearLayout
android:id="@+id/dialpad_btn_container"
android:id="@+id/plugins_btn_container"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_rowWeight="1"
android:layout_columnWeight="1"
android:orientation="vertical"
android:padding="5dp"
android:visibility="gone"
tools:visibility="visible">
<cx.ring.views.CheckableImageButton
android:id="@+id/call_dialpad_btn"
android:id="@+id/call_plugins_btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="@drawable/call_button_background_checkable"
android:onClick="@{() -> presenter.displayDialPadKeyboard()}"
android:padding="16dp"
app:srcCompat="@drawable/baseline_dialpad_24"
android:onClick="@{() -> presenter.pluginsButtonClicked()}"
app:srcCompat="@drawable/baseline_settings_24"
app:tint="@color/white" />
<TextView
android:id="@+id/textView_call_dialpad_btn"
android:id="@+id/textView_call_plugins_btn"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
......@@ -718,44 +722,40 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
android:ellipsize="end"
android:scrollHorizontally="false"
android:singleLine="true"
android:text="@string/bottomSheet_dialpad_btn"
android:text="@string/bottomSheet_plugins_btn"
android:textAlignment="center"
android:textColor="@color/white"
android:textSize="11sp" />
</LinearLayout>
<!-- Plugins list button -->
<!-- Raise Hand button -->
<LinearLayout
android:id="@+id/plugins_btn_container"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/raiseHand_btn_container"
android:layout_rowWeight="1"
android:layout_columnWeight="1"
android:orientation="vertical"
android:padding="5dp"
tools:visibility="visible">
android:padding="5dp">
<cx.ring.views.CheckableImageButton
android:id="@+id/call_plugins_btn"
android:id="@+id/call_raiseHand_btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="@drawable/call_button_background_checkable"
android:onClick="@{() -> presenter.raiseHandClicked()}"
android:padding="16dp"
android:onClick="@{() -> presenter.pluginsButtonClicked()}"
app:srcCompat="@drawable/baseline_settings_24"
app:tint="@color/white" />
app:srcCompat="@drawable/baseline_raisehand_24" />
<TextView
android:id="@+id/textView_call_plugins_btn"
android:id="@+id/textView_raiseHand"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginTop="2dp"
android:ellipsize="end"
android:ellipsize="middle"
android:scrollHorizontally="false"
android:singleLine="true"
android:text="@string/bottomSheet_plugins_btn"
android:text="@string/bottomSheet_raiseHand_btn"
android:textAlignment="center"
android:textColor="@color/white"
android:textSize="11sp" />
......
......@@ -213,8 +213,8 @@ class CallPresenter @Inject constructor(
/**
* Get all the call details in order to display each elements correctly
* */
private fun prepareBottomSheetButtonsStatus(conference: Conference) {
//boolean hasContact = mSipCall != null && null != mSipCall.getContact() && mSipCall.getContact().isUnknown();
fun prepareBottomSheetButtonsStatus() {
val conference = mConference ?: return
val canDial = mOnGoingCall
val displayPluginsButton = view?.displayPluginsButton() == true
val showPluginBtn = displayPluginsButton && mOnGoingCall
......@@ -398,7 +398,7 @@ class CallPresenter @Inject constructor(
if (call.isOnGoing) {
mOnGoingCall = true
view.initNormalStateDisplay()
prepareBottomSheetButtonsStatus(call)
prepareBottomSheetButtonsStatus()
if (hasVideo) {
mHardwareService.setPreviewSettings()
mHardwareService.updatePreviewVideoSurface(call)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment