Add check before trying to launch contact add intent.

fork-5.53.8
Alex Hart 2022-08-16 12:32:41 -03:00
rodzic 16a4c321c4
commit a46faebb67
3 zmienionych plików z 12 dodań i 2 usunięć

Wyświetl plik

@ -1,5 +1,6 @@
package org.thoughtcrime.securesms.components.settings.conversation
import android.content.ActivityNotFoundException
import android.content.Context
import android.content.Intent
import android.graphics.PorterDuff
@ -82,6 +83,7 @@ import org.thoughtcrime.securesms.util.CommunicationActions
import org.thoughtcrime.securesms.util.ContextUtil
import org.thoughtcrime.securesms.util.ExpirationUtil
import org.thoughtcrime.securesms.util.FeatureFlags
import org.thoughtcrime.securesms.util.IntentUtils
import org.thoughtcrime.securesms.util.Material3OnScrollHelper
import org.thoughtcrime.securesms.util.ViewUtil
import org.thoughtcrime.securesms.util.navigation.safeNavigate
@ -477,7 +479,11 @@ class ConversationSettingsFragment : DSLSettingsFragment(
title = DSLSettingsText.from(R.string.ConversationSettingsFragment__add_as_a_contact),
icon = DSLSettingsIcon.from(R.drawable.ic_plus_24),
onClick = {
startActivityForResult(RecipientExporter.export(state.recipient).asAddContactIntent(), REQUEST_CODE_ADD_CONTACT)
try {
startActivityForResult(RecipientExporter.export(state.recipient).asAddContactIntent(), REQUEST_CODE_ADD_CONTACT)
} catch (e: ActivityNotFoundException) {
Toast.makeText(context, R.string.ConversationSettingsFragment__contacts_app_not_found, Toast.LENGTH_SHORT).show()
}
}
)
}

Wyświetl plik

@ -7,11 +7,14 @@ import android.content.Intent;
import android.content.pm.LabeledIntent;
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.annotation.StringRes;
import java.util.List;
import java.util.function.Consumer;
public class IntentUtils {
@ -36,5 +39,4 @@ public class IntentUtils {
}
return null;
}
}

Wyświetl plik

@ -4017,6 +4017,8 @@
<string name="NotificationsSettingsFragment__unknown_ringtone">Unknown ringtone</string>
<!-- ConversationSettingsFragment -->
<!-- Error toasted when no activity can handle the add contact intent -->
<string name="ConversationSettingsFragment__contacts_app_not_found">Contacts app not found</string>
<string name="ConversationSettingsFragment__send_message">Send message</string>
<string name="ConversationSettingsFragment__start_video_call">Start video call</string>
<string name="ConversationSettingsFragment__start_audio_call">Start audio call</string>