Add insecure call ability to recipient settings.

This commit is contained in:
Alan Evans 2020-06-17 16:41:17 -03:00
parent 2fb9514890
commit a6384d1b73
8 changed files with 43 additions and 3 deletions

View File

@ -90,6 +90,7 @@ public class ManageRecipientFragment extends Fragment {
private TextView groupsInCommonCount;
private View messageButton;
private View secureCallButton;
private View insecureCallButton;
private View secureVideoCallButton;
static ManageRecipientFragment newInstance(@NonNull RecipientId recipientId) {
@ -138,6 +139,7 @@ public class ManageRecipientFragment extends Fragment {
toggleAllGroups = view.findViewById(R.id.toggle_all_groups);
messageButton = view.findViewById(R.id.recipient_message);
secureCallButton = view.findViewById(R.id.recipient_voice_call);
insecureCallButton = view.findViewById(R.id.recipient_insecure_voice_call);
secureVideoCallButton = view.findViewById(R.id.recipient_video_call);
return view;
@ -228,6 +230,7 @@ public class ManageRecipientFragment extends Fragment {
messageButton.setOnClickListener(v -> viewModel.onMessage(requireActivity()));
secureCallButton.setOnClickListener(v -> viewModel.onSecureCall(requireActivity()));
insecureCallButton.setOnClickListener(v -> viewModel.onInsecureCall(requireActivity()));
secureVideoCallButton.setOnClickListener(v -> viewModel.onSecureVideoCall(requireActivity()));
}
@ -263,6 +266,7 @@ public class ManageRecipientFragment extends Fragment {
colorRow.setOnClickListener(v -> handleColorSelection(color));
secureCallButton.setVisibility(recipient.isRegistered() && !recipient.isLocalNumber() ? View.VISIBLE : View.GONE);
insecureCallButton.setVisibility(!recipient.isRegistered() && !recipient.isLocalNumber() ? View.VISIBLE : View.GONE);
secureVideoCallButton.setVisibility(recipient.isRegistered() && !recipient.isLocalNumber() ? View.VISIBLE : View.GONE);
}

View File

@ -229,6 +229,10 @@ public final class ManageRecipientViewModel extends ViewModel {
withRecipient(r -> CommunicationActions.startVoiceCall(activity, r));
}
void onInsecureCall(@NonNull FragmentActivity activity) {
withRecipient(r -> CommunicationActions.startInsecureCall(activity, r));
}
void onSecureVideoCall(@NonNull FragmentActivity activity) {
withRecipient(r -> CommunicationActions.startVideoCall(activity, r));
}

View File

@ -0,0 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="@color/core_ultramarine"
android:pathData="M16.15,22.5C15.2711,22.4807 14.402,22.3116 13.58,22C10.9451,20.9907 8.5523,19.438 6.5571,17.4428C4.562,15.4477 3.0093,13.0549 2,10.42C1.25,8.28 1.36,6.56 2.34,5.16C2.8213,4.4662 3.4766,3.911 4.24,3.55C4.8053,3.2431 5.4634,3.1541 6.0899,3.2996C6.7165,3.4452 7.2679,3.8153 7.64,4.34L9.64,7.24C9.9988,7.7521 10.1618,8.376 10.0994,8.9981C10.037,9.6203 9.7533,10.1994 9.3,10.63L8.41,11.45C8.33,11.52 8.28,11.64 8.33,11.7C8.8857,12.4517 9.4975,13.1604 10.16,13.82C10.8218,14.4801 11.5303,15.0917 12.28,15.65C12.34,15.65 12.46,15.65 12.53,15.57L13.35,14.68C13.7817,14.2285 14.3606,13.9461 14.9822,13.8837C15.6038,13.8214 16.2272,13.9832 16.74,14.34L19.64,16.34C20.1558,16.7024 20.5236,17.2385 20.6761,17.8502C20.8285,18.4618 20.7554,19.1079 20.47,19.67C20.1054,20.4702 19.5363,21.16 18.82,21.67C18.0383,22.2182 17.1047,22.5084 16.15,22.5V22.5ZM3.56,6C3.12,6.62 2.63,7.69 3.41,9.9C4.3398,12.3286 5.769,14.535 7.6053,16.3765C9.4416,18.2179 11.644,19.6534 14.07,20.59C16.28,21.37 17.35,20.88 17.97,20.44C18.4647,20.0982 18.8612,19.6328 19.12,19.09C19.2622,18.8465 19.3082,18.5586 19.249,18.2829C19.1898,18.0072 19.0296,17.7637 18.8,17.6L15.9,15.6C15.6836,15.4453 15.4185,15.3742 15.1537,15.3999C14.889,15.4257 14.6425,15.5465 14.46,15.74C14.15,16.07 13.93,16.3 13.68,16.59C13.4079,16.919 13.0208,17.132 12.5973,17.1859C12.1738,17.2398 11.7457,17.1304 11.4,16.88C10.5935,16.2683 9.8316,15.5999 9.12,14.88C8.3953,14.173 7.7266,13.4107 7.12,12.6C6.8708,12.2546 6.7611,11.8279 6.8131,11.4051C6.865,10.9824 7.0746,10.5948 7.4,10.32C7.7,10.07 7.92,9.85 8.26,9.54C8.4581,9.3614 8.5846,9.1169 8.6158,8.852C8.6471,8.5871 8.5811,8.3198 8.43,8.1L6.43,5.2C6.277,4.9753 6.047,4.8146 5.7834,4.7482C5.5198,4.6819 5.2411,4.7145 5,4.84C4.4259,5.0927 3.9291,5.4929 3.56,6V6ZM19,2C18.3369,2 17.7011,2.2634 17.2322,2.7322C16.7634,3.2011 16.5,3.837 16.5,4.5V6H13.5C13.1022,6 12.7206,6.158 12.4393,6.4393C12.158,6.7206 12,7.1022 12,7.5V10.5C12,10.8978 12.158,11.2794 12.4393,11.5607C12.7206,11.842 13.1022,12 13.5,12H17.5C17.8978,12 18.2793,11.842 18.5606,11.5607C18.8419,11.2794 19,10.8978 19,10.5V7.5C18.9977,7.1909 18.9005,6.8899 18.7217,6.6378C18.5429,6.3856 18.291,6.1944 18,6.09V4.5C18,4.2348 18.1053,3.9804 18.2929,3.7929C18.4804,3.6054 18.7348,3.5 19,3.5C19.2652,3.5 19.5196,3.6054 19.7071,3.7929C19.8946,3.9804 20,4.2348 20,4.5V6H21.5V4.5C21.5,3.837 21.2366,3.2011 20.7677,2.7322C20.2989,2.2634 19.663,2 19,2ZM17.5,10.5H13.5V7.5H17.5V10.5Z" />
</vector>

View File

@ -0,0 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="@color/core_ultramarine_light"
android:pathData="M21.94,18.315a8.732,8.732 0,0 1,-0.431 1.13,4.308 4.308,0 0,1 -4.441,2.492l0,0.016A16.948,16.948 0,0 1,2.035 6.878l0.014,0a4.284,4.284 0,0 1,2.5 -4.392,8.63 8.63,0 0,1 1.1,-0.421 1.42,1.42 0,0 1,1.71 0.825A26.2,26.2 0,0 0,9.877 7.41a1.444,1.444 0,0 1,-0.4 2,9.019 9.019,0 0,1 -1.343,0.779 4.474,4.474 0,0 1,-1.243 0.355,13.113 13.113,0 0,0 6.56,6.557 4.5,4.5 0,0 1,0.357 -1.242,9.116 9.116,0 0,1 0.866,-1.465 1.384,1.384 0,0 1,1.918 -0.284,26.24 26.24,0 0,0 4.513,2.5A1.42,1.42 0,0 1,21.94 18.315ZM19.75,1A2.75,2.75 0,0 0,17 3.75V5H14.5A1.5,1.5 0,0 0,13 6.5v3A1.5,1.5 0,0 0,14.5 11h3.75a1.5,1.5 0,0 0,1.5 -1.5v-3A1.5,1.5 0,0 0,18.5 5.026V3.75a1.25,1.25 0,0 1,2.5 0V5h1.5V3.75A2.751,2.751 0,0 0,19.75 1Z" />
</vector>

View File

@ -68,6 +68,16 @@
app:icon="?recipient_message_circle_icon"
app:rippleColor="@color/core_ultramarine" />
<com.google.android.material.button.MaterialButton
android:id="@+id/recipient_video_call"
style="@style/Widget.Signal.Button.Icon.Circular"
android:layout_marginStart="36dp"
android:contentDescription="@string/ManageRecipientActivity_video_call_description"
android:visibility="gone"
app:backgroundTint="?recipient_contact_button_color"
app:icon="?recipient_video_call_circle_icon"
tools:visibility="visible" />
<com.google.android.material.button.MaterialButton
android:id="@+id/recipient_voice_call"
style="@style/Widget.Signal.Button.Icon.Circular"
@ -79,13 +89,13 @@
tools:visibility="visible" />
<com.google.android.material.button.MaterialButton
android:id="@+id/recipient_video_call"
android:id="@+id/recipient_insecure_voice_call"
style="@style/Widget.Signal.Button.Icon.Circular"
android:layout_marginStart="36dp"
android:contentDescription="@string/ManageRecipientActivity_video_call_description"
android:contentDescription="@string/ManageRecipientActivity_insecure_voice_call_description"
android:visibility="gone"
app:backgroundTint="?recipient_contact_button_color"
app:icon="?recipient_video_call_circle_icon"
app:icon="?recipient_insecure_call_circle_icon"
tools:visibility="visible" />
</LinearLayout>

View File

@ -303,6 +303,7 @@
<attr name="recipient_message_circle_icon" format="reference"/>
<attr name="recipient_call_circle_icon" format="reference"/>
<attr name="recipient_insecure_call_circle_icon" format="reference"/>
<attr name="recipient_video_call_circle_icon" format="reference"/>
<attr name="recipient_contact_button_color" format="reference"/>

View File

@ -560,6 +560,7 @@
<string name="ManageRecipientActivity_edit_name_and_picture">Edit name and picture</string>
<string name="ManageRecipientActivity_message_description">Message</string>
<string name="ManageRecipientActivity_voice_call_description">Voice call</string>
<string name="ManageRecipientActivity_insecure_voice_call_description">Insecure voice call</string>
<string name="ManageRecipientActivity_video_call_description">Video call</string>
<plurals name="GroupMemberList_invited">

View File

@ -440,6 +440,7 @@
<item name="recipient_message_circle_icon">@drawable/ic_message_outline_ultramarine_24</item>
<item name="recipient_call_circle_icon">@drawable/ic_phone_right_outline_ultramarine_24</item>
<item name="recipient_insecure_call_circle_icon">@drawable/ic_phone_right_unlock_outline_ultramarine_24</item>
<item name="recipient_video_call_circle_icon">@drawable/ic_video_outline_ultramarine_24</item>
<item name="recipient_contact_button_color">@color/core_grey_02</item>
</style>
@ -735,6 +736,7 @@
<item name="recipient_message_circle_icon">@drawable/ic_message_solid_ultramarine_light_24</item>
<item name="recipient_call_circle_icon">@drawable/ic_phone_right_solid_ultramarine_light_24</item>
<item name="recipient_insecure_call_circle_icon">@drawable/ic_phone_right_unlock_solid_ultramarine_light_24</item>
<item name="recipient_video_call_circle_icon">@drawable/ic_video_solid_ultramarine_light_24</item>
<item name="recipient_contact_button_color">@color/core_grey_80</item>
</style>