mirror of
https://github.com/signalapp/Signal-Android.git
synced 2026-05-02 22:53:09 +01:00
Add Small Group Ringing support.
This commit is contained in:
committed by
Alex Hart
parent
5787a5f68a
commit
db7272730e
9
app/src/main/res/drawable/ic_ring_28.xml
Normal file
9
app/src/main/res/drawable/ic_ring_28.xml
Normal file
@@ -0,0 +1,9 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="28dp"
|
||||
android:height="28dp"
|
||||
android:viewportWidth="28"
|
||||
android:viewportHeight="28">
|
||||
<path
|
||||
android:fillColor="@color/core_white"
|
||||
android:pathData="M25.29,19.84A2.19,2.19 0,0 1,23 22L5,22a2.19,2.19 0,0 1,-2.25 -2.11c0,-1.31 0.91,-1.89 1.9,-2.33 2,-0.89 2.43,-3.35 2.85,-6C8,8.17 8.69,4 14,4s6,4.22 6.54,7.61c0.42,2.6 0.81,5.06 2.85,6C24.38,18 25.29,18.53 25.29,19.84ZM23.65,11.68a0.86,0.86 0,0 0,0.84 -0.9c-0.13,-3.84 -1.64,-7.11 -4.14,-9A0.88,0.88 0,1 0,19.3 3.2c2.07,1.55 3.33,4.34 3.44,7.64a0.88,0.88 0,0 0,0.88 0.84ZM5.21,10.84c0.11,-3.3 1.37,-6.09 3.44,-7.64A0.88,0.88 0,1 0,7.6 1.8c-2.5,1.87 -4,5.14 -4.14,9a0.86,0.86 0,0 0,0.84 0.9h0A0.88,0.88 0,0 0,5.21 10.84ZM11.42,23.5a0.5,0.5 0,0 0,-0.44 0.73,3.46 3.46,0 0,0 6,0 0.5,0.5 0,0 0,-0.44 -0.73Z"/>
|
||||
</vector>
|
||||
9
app/src/main/res/drawable/ic_ring_disabled_28.xml
Normal file
9
app/src/main/res/drawable/ic_ring_disabled_28.xml
Normal file
@@ -0,0 +1,9 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="28dp"
|
||||
android:height="28dp"
|
||||
android:viewportWidth="28"
|
||||
android:viewportHeight="28">
|
||||
<path
|
||||
android:fillColor="@color/transparent_white_40"
|
||||
android:pathData="M25.29,19.84A2.19,2.19 0,0 1,23 22L5,22a2.19,2.19 0,0 1,-2.25 -2.11c0,-1.31 0.91,-1.89 1.9,-2.33 2,-0.89 2.43,-3.35 2.85,-6C8,8.17 8.69,4 14,4s6,4.22 6.54,7.61c0.42,2.6 0.81,5.06 2.85,6C24.38,18 25.29,18.53 25.29,19.84ZM23.65,11.68a0.86,0.86 0,0 0,0.84 -0.9c-0.13,-3.84 -1.64,-7.11 -4.14,-9A0.88,0.88 0,1 0,19.3 3.2c2.07,1.55 3.33,4.34 3.44,7.64a0.88,0.88 0,0 0,0.88 0.84ZM5.21,10.84c0.11,-3.3 1.37,-6.09 3.44,-7.64A0.88,0.88 0,1 0,7.6 1.8c-2.5,1.87 -4,5.14 -4.14,9a0.86,0.86 0,0 0,0.84 0.9h0A0.88,0.88 0,0 0,5.21 10.84ZM11.42,23.5a0.5,0.5 0,0 0,-0.44 0.73,3.46 3.46,0 0,0 6,0 0.5,0.5 0,0 0,-0.44 -0.73Z"/>
|
||||
</vector>
|
||||
9
app/src/main/res/drawable/ic_ring_grey_28.xml
Normal file
9
app/src/main/res/drawable/ic_ring_grey_28.xml
Normal file
@@ -0,0 +1,9 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="28dp"
|
||||
android:height="28dp"
|
||||
android:viewportWidth="28"
|
||||
android:viewportHeight="28">
|
||||
<path
|
||||
android:fillColor="@color/core_grey_75"
|
||||
android:pathData="M25.29,19.84A2.19,2.19 0,0 1,23 22L5,22a2.19,2.19 0,0 1,-2.25 -2.11c0,-1.31 0.91,-1.89 1.9,-2.33 2,-0.89 2.43,-3.35 2.85,-6C8,8.17 8.69,4 14,4s6,4.22 6.54,7.61c0.42,2.6 0.81,5.06 2.85,6C24.38,18 25.29,18.53 25.29,19.84ZM23.65,11.68a0.86,0.86 0,0 0,0.84 -0.9c-0.13,-3.84 -1.64,-7.11 -4.14,-9A0.88,0.88 0,1 0,19.3 3.2c2.07,1.55 3.33,4.34 3.44,7.64a0.88,0.88 0,0 0,0.88 0.84ZM5.21,10.84c0.11,-3.3 1.37,-6.09 3.44,-7.64A0.88,0.88 0,1 0,7.6 1.8c-2.5,1.87 -4,5.14 -4.14,9a0.86,0.86 0,0 0,0.84 0.9h0A0.88,0.88 0,0 0,5.21 10.84ZM11.42,23.5a0.5,0.5 0,0 0,-0.44 0.73,3.46 3.46,0 0,0 6,0 0.5,0.5 0,0 0,-0.44 -0.73Z"/>
|
||||
</vector>
|
||||
@@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="oval">
|
||||
<solid android:color="@color/transparent_white_20" />
|
||||
</shape>
|
||||
21
app/src/main/res/drawable/webrtc_call_screen_ring_toggle.xml
Normal file
21
app/src/main/res/drawable/webrtc_call_screen_ring_toggle.xml
Normal file
@@ -0,0 +1,21 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:state_activated="false">
|
||||
<layer-list>
|
||||
<item android:drawable="@drawable/webrtc_call_screen_circle_grey_disabled" />
|
||||
<item android:bottom="14dp" android:drawable="@drawable/ic_ring_disabled_28" android:left="14dp" android:right="14dp" android:top="14dp" />
|
||||
</layer-list>
|
||||
</item>
|
||||
<item android:state_checked="true">
|
||||
<layer-list>
|
||||
<item android:drawable="@drawable/circle_tintable" />
|
||||
<item android:bottom="14dp" android:drawable="@drawable/ic_ring_grey_28" android:left="14dp" android:right="14dp" android:top="14dp" />
|
||||
</layer-list>
|
||||
</item>
|
||||
<item>
|
||||
<layer-list>
|
||||
<item android:drawable="@drawable/webrtc_call_screen_circle_grey" />
|
||||
<item android:bottom="14dp" android:drawable="@drawable/ic_ring_28" android:left="14dp" android:right="14dp" android:top="14dp" />
|
||||
</layer-list>
|
||||
</item>
|
||||
</selector>
|
||||
@@ -0,0 +1,21 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:state_activated="false">
|
||||
<layer-list>
|
||||
<item android:bottom="4dp" android:drawable="@drawable/webrtc_call_screen_circle_grey_disabled" android:left="4dp" android:right="4dp" android:top="4dp" />
|
||||
<item android:bottom="14dp" android:drawable="@drawable/ic_ring_disabled_28" android:left="14dp" android:right="14dp" android:top="14dp" />
|
||||
</layer-list>
|
||||
</item>
|
||||
<item android:state_checked="true">
|
||||
<layer-list>
|
||||
<item android:bottom="4dp" android:drawable="@drawable/circle_tintable" android:left="4dp" android:right="4dp" android:top="4dp" />
|
||||
<item android:bottom="14dp" android:drawable="@drawable/ic_ring_grey_28" android:left="14dp" android:right="14dp" android:top="14dp" />
|
||||
</layer-list>
|
||||
</item>
|
||||
<item>
|
||||
<layer-list>
|
||||
<item android:bottom="4dp" android:drawable="@drawable/webrtc_call_screen_circle_grey" android:left="4dp" android:right="4dp" android:top="4dp" />
|
||||
<item android:bottom="14dp" android:drawable="@drawable/ic_ring_28" android:left="14dp" android:right="14dp" android:top="14dp" />
|
||||
</layer-list>
|
||||
</item>
|
||||
</selector>
|
||||
@@ -40,7 +40,8 @@
|
||||
app:layout_constraintBottom_toTopOf="@id/fold_top_guideline"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent">
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
tools:visibility="gone">
|
||||
|
||||
<org.thoughtcrime.securesms.components.webrtc.TextureViewRenderer
|
||||
android:id="@+id/call_screen_large_local_renderer"
|
||||
@@ -171,7 +172,8 @@
|
||||
app:layout_constraintBottom_toTopOf="@+id/fold_top_call_screen_guideline"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent">
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
tools:visibility="gone">
|
||||
|
||||
<androidx.cardview.widget.CardView
|
||||
android:id="@+id/call_screen_pip"
|
||||
@@ -226,6 +228,7 @@
|
||||
android:id="@+id/call_screen_speaker_toggle_label"
|
||||
android:layout_width="64dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="8dp"
|
||||
android:layout_marginBottom="32dp"
|
||||
android:clickable="false"
|
||||
android:ellipsize="end"
|
||||
@@ -328,7 +331,7 @@
|
||||
android:stateListAnimator="@null"
|
||||
android:visibility="gone"
|
||||
app:layout_constraintBottom_toTopOf="@id/call_screen_button_labels_barrier"
|
||||
app:layout_constraintEnd_toStartOf="@id/call_screen_end_call"
|
||||
app:layout_constraintEnd_toStartOf="@id/call_screen_audio_ring_toggle"
|
||||
app:layout_constraintHorizontal_chainStyle="packed"
|
||||
app:layout_constraintStart_toEndOf="@id/call_screen_video_toggle"
|
||||
tools:visibility="visible" />
|
||||
@@ -354,6 +357,42 @@
|
||||
app:layout_constraintVertical_bias="0"
|
||||
tools:visibility="visible" />
|
||||
|
||||
<org.thoughtcrime.securesms.components.AccessibleToggleButton
|
||||
android:id="@+id/call_screen_audio_ring_toggle"
|
||||
style="@style/WebRtcCallV2CompoundButton"
|
||||
android:layout_marginStart="8dp"
|
||||
android:layout_marginEnd="8dp"
|
||||
android:layout_marginBottom="8dp"
|
||||
android:background="@drawable/webrtc_call_screen_ring_toggle"
|
||||
android:stateListAnimator="@null"
|
||||
android:visibility="gone"
|
||||
app:layout_constraintBottom_toTopOf="@id/call_screen_button_labels_barrier"
|
||||
app:layout_constraintEnd_toStartOf="@id/call_screen_end_call"
|
||||
app:layout_constraintHorizontal_chainStyle="packed"
|
||||
app:layout_constraintStart_toEndOf="@id/call_screen_audio_mic_toggle"
|
||||
tools:visibility="visible" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/call_screen_audio_ring_toggle_label"
|
||||
android:layout_width="64dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="32dp"
|
||||
android:clickable="false"
|
||||
android:ellipsize="end"
|
||||
android:gravity="center"
|
||||
android:maxLines="2"
|
||||
android:text="@string/WebRtcCallView__ring"
|
||||
android:textAppearance="@style/TextAppearance.Signal.Subtitle"
|
||||
android:textColor="@color/core_white"
|
||||
android:visibility="gone"
|
||||
app:layout_constrainedHeight="true"
|
||||
app:layout_constraintBottom_toTopOf="@id/call_screen_start_call_controls"
|
||||
app:layout_constraintEnd_toEndOf="@id/call_screen_audio_ring_toggle"
|
||||
app:layout_constraintStart_toStartOf="@id/call_screen_audio_ring_toggle"
|
||||
app:layout_constraintTop_toBottomOf="@id/call_screen_audio_ring_toggle"
|
||||
app:layout_constraintVertical_bias="0"
|
||||
tools:visibility="visible" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/call_screen_end_call"
|
||||
android:layout_width="56dp"
|
||||
@@ -367,7 +406,7 @@
|
||||
app:layout_constraintBottom_toTopOf="@id/call_screen_button_labels_barrier"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintHorizontal_chainStyle="packed"
|
||||
app:layout_constraintStart_toEndOf="@id/call_screen_audio_mic_toggle"
|
||||
app:layout_constraintStart_toEndOf="@id/call_screen_audio_ring_toggle"
|
||||
app:srcCompat="@drawable/webrtc_call_screen_hangup"
|
||||
tools:visibility="visible" />
|
||||
|
||||
@@ -397,7 +436,7 @@
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="1dp"
|
||||
app:barrierDirection="top"
|
||||
app:constraint_referenced_ids="call_screen_speaker_toggle_label,call_screen_camera_direction_toggle_label,call_screen_video_toggle_label,call_screen_audio_mic_toggle_label,call_screen_end_call_label" />
|
||||
app:constraint_referenced_ids="call_screen_speaker_toggle_label,call_screen_camera_direction_toggle_label,call_screen_video_toggle_label,call_screen_audio_mic_toggle_label,call_screen_audio_ring_toggle_label,call_screen_end_call_label" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/call_screen_decline_call"
|
||||
@@ -411,7 +450,7 @@
|
||||
app:layout_constraintHorizontal_chainStyle="spread_inside"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:srcCompat="@drawable/webrtc_call_screen_hangup"
|
||||
tools:visibility="visible" />
|
||||
tools:visibility="gone" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/call_screen_decline_call_label"
|
||||
@@ -424,7 +463,7 @@
|
||||
app:layout_constraintEnd_toEndOf="@id/call_screen_decline_call"
|
||||
app:layout_constraintStart_toStartOf="@id/call_screen_decline_call"
|
||||
app:layout_constraintTop_toBottomOf="@id/call_screen_decline_call"
|
||||
tools:visibility="visible" />
|
||||
tools:visibility="gone" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/call_screen_answer_call"
|
||||
@@ -438,7 +477,7 @@
|
||||
app:layout_constraintHorizontal_chainStyle="spread_inside"
|
||||
app:layout_constraintStart_toEndOf="@id/call_screen_decline_call"
|
||||
app:srcCompat="@drawable/webrtc_call_screen_answer"
|
||||
tools:visibility="visible" />
|
||||
tools:visibility="gone" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/call_screen_answer_call_label"
|
||||
@@ -451,7 +490,7 @@
|
||||
app:layout_constraintEnd_toEndOf="@id/call_screen_answer_call"
|
||||
app:layout_constraintStart_toStartOf="@id/call_screen_answer_call"
|
||||
app:layout_constraintTop_toBottomOf="@id/call_screen_answer_call"
|
||||
tools:visibility="visible" />
|
||||
tools:visibility="gone" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/call_screen_answer_with_audio"
|
||||
@@ -463,7 +502,7 @@
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:srcCompat="@drawable/webrtc_call_screen_answer_without_video"
|
||||
tools:visibility="visible" />
|
||||
tools:visibility="gone" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/call_screen_answer_with_audio_label"
|
||||
@@ -476,7 +515,7 @@
|
||||
app:layout_constraintBottom_toTopOf="@id/call_screen_answer_call"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
tools:visibility="visible" />
|
||||
tools:visibility="gone" />
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/call_screen_start_call_controls"
|
||||
@@ -524,7 +563,7 @@
|
||||
app:layout_constraintBottom_toTopOf="@id/call_screen_navigation_bar_guideline"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
tools:visibility="visible" />
|
||||
tools:visibility="gone" />
|
||||
|
||||
<ViewStub
|
||||
android:id="@+id/call_screen_group_call_speaker_hint"
|
||||
|
||||
@@ -973,11 +973,13 @@
|
||||
<string name="NotificationBarManager_signal_call_in_progress">Signal call in progress</string>
|
||||
<string name="NotificationBarManager__establishing_signal_call">Establishing Signal call</string>
|
||||
<string name="NotificationBarManager__incoming_signal_call">Incoming Signal call</string>
|
||||
<string name="NotificationBarManager__incoming_signal_group_call">Incoming Signal group call</string>
|
||||
<string name="NotificationBarManager__stopping_signal_call_service">Stopping Signal call service</string>
|
||||
<string name="NotificationBarManager__deny_call">Deny call</string>
|
||||
<string name="NotificationBarManager__decline_call">Decline call</string>
|
||||
<string name="NotificationBarManager__answer_call">Answer call</string>
|
||||
<string name="NotificationBarManager__end_call">End call</string>
|
||||
<string name="NotificationBarManager__cancel_call">Cancel call</string>
|
||||
<string name="NotificationBarManager__join_call">Join call</string>
|
||||
|
||||
<!-- NotificationsMegaphone -->
|
||||
<string name="NotificationsMegaphone_turn_on_notifications">Turn on Notifications?</string>
|
||||
@@ -1398,6 +1400,7 @@
|
||||
<string name="WebRtcCallActivity__to_call_s_signal_needs_access_to_your_camera">To call %1$s, Signal needs access to your camera</string>
|
||||
<string name="WebRtcCallActivity__signal_s">Signal %1$s</string>
|
||||
<string name="WebRtcCallActivity__calling">Calling…</string>
|
||||
<string name="WebRtcCallActivity__group_is_too_large_to_ring_the_participants">Group is too large to ring the participants.</string>
|
||||
|
||||
<!-- WebRtcCallView -->
|
||||
<string name="WebRtcCallView__signal_call">Signal Call</string>
|
||||
@@ -1412,6 +1415,35 @@
|
||||
<string name="WebRtcCallView__joining">Joining…</string>
|
||||
<string name="WebRtcCallView__disconnected">Disconnected</string>
|
||||
|
||||
<string name="WebRtcCallView__signal_will_ring_s">Signal will ring %1$s</string>
|
||||
<string name="WebRtcCallView__signal_will_ring_s_and_s">Signal will ring %1$s and %2$s</string>
|
||||
<plurals name="WebRtcCallView__signal_will_ring_s_s_and_d_others">
|
||||
<item quantity="one">Signal will ring %1$s, %2$s, and %3$d other</item>
|
||||
<item quantity="other">Signal will ring %1$s, %2$s, and %3$d others</item>
|
||||
</plurals>
|
||||
|
||||
<string name="WebRtcCallView__s_will_be_notified">%1$s will be notified</string>
|
||||
<string name="WebRtcCallView__s_and_s_will_be_notified">%1$s and %2$s will be notified</string>
|
||||
<plurals name="WebRtcCallView__s_s_and_d_others_will_be_notified">
|
||||
<item quantity="one">%1$s, %2$s, and %3$d other will be notified</item>
|
||||
<item quantity="other">%1$s, %2$s, and %3$d others will be notified</item>
|
||||
</plurals>
|
||||
|
||||
<string name="WebRtcCallView__ringing_s">Ringing %1$s</string>
|
||||
<string name="WebRtcCallView__ringing_s_and_s">Ringing %1$s and %2$s</string>
|
||||
<plurals name="WebRtcCallView__ringing_s_s_and_d_others">
|
||||
<item quantity="one">Ringing %1$s, %2$s, and %3$d other</item>
|
||||
<item quantity="other">Ringing %1$s, %2$s, and %3$d others</item>
|
||||
</plurals>
|
||||
|
||||
<string name="WebRtcCallView__s_is_calling_you">%1$s is calling you</string>
|
||||
<string name="WebRtcCallView__s_is_calling_you_and_s">%1$s is calling you and %2$s</string>
|
||||
<string name="WebRtcCallView__s_is_calling_you_s_and_s">%1$s is calling you, %2$s, and %3$s</string>
|
||||
<plurals name="WebRtcCallView__s_is_calling_you_s_s_and_d_others">
|
||||
<item quantity="one">%1$s is calling you, %2$s, %3$s, and %4$d other</item>
|
||||
<item quantity="other">%1$s is calling you, %2$s, %3$s, and %4$d others</item>
|
||||
</plurals>
|
||||
|
||||
<string name="WebRtcCallView__no_one_else_is_here">No one else is here</string>
|
||||
<string name="WebRtcCallView__s_is_in_this_call">%1$s is in this call</string>
|
||||
<string name="WebRtcCallView__s_are_in_this_call">%1$s are in this call</string>
|
||||
@@ -1427,6 +1459,7 @@
|
||||
<string name="WebRtcCallView__speaker">Speaker</string>
|
||||
<string name="WebRtcCallView__camera">Camera</string>
|
||||
<string name="WebRtcCallView__mute">Mute</string>
|
||||
<string name="WebRtcCallView__ring">Ring</string>
|
||||
<string name="WebRtcCallView__end_call">End call</string>
|
||||
|
||||
<!-- CallParticipantsListDialog -->
|
||||
|
||||
Reference in New Issue
Block a user