mirror of
https://github.com/signalapp/Signal-Android.git
synced 2026-08-06 05:14:50 +01:00
Add contact support capability to regV5.
This commit is contained in:
committed by
Michelle Tang
parent
99b89743a7
commit
db899e92f5
@@ -119,6 +119,7 @@ import org.thoughtcrime.securesms.service.webrtc.AndroidTelecomUtil;
|
||||
import org.thoughtcrime.securesms.storage.StorageSyncHelper;
|
||||
import org.thoughtcrime.securesms.util.AppStartup;
|
||||
import org.thoughtcrime.securesms.util.BatterySnapshotTracker;
|
||||
import org.thoughtcrime.securesms.util.CommunicationActions;
|
||||
import org.thoughtcrime.securesms.util.DeviceProperties;
|
||||
import org.thoughtcrime.securesms.util.DynamicTheme;
|
||||
import org.thoughtcrime.securesms.util.Environment;
|
||||
@@ -127,6 +128,7 @@ import org.thoughtcrime.securesms.util.RemoteConfig;
|
||||
import org.thoughtcrime.securesms.util.SignalLocalMetrics;
|
||||
import org.thoughtcrime.securesms.util.SignalUncaughtExceptionHandler;
|
||||
import org.thoughtcrime.securesms.util.SqlCipherLogTarget;
|
||||
import org.thoughtcrime.securesms.util.SupportEmailUtil;
|
||||
import org.thoughtcrime.securesms.util.TextSecurePreferences;
|
||||
import org.thoughtcrime.securesms.util.VersionTracker;
|
||||
import org.thoughtcrime.securesms.util.dynamiclanguage.DynamicLanguageContextWrapper;
|
||||
@@ -438,6 +440,11 @@ public class ApplicationContext extends Application implements AppForegroundObse
|
||||
context -> {
|
||||
context.startActivity(AppSettingsActivity.proxy(context));
|
||||
return Unit.INSTANCE;
|
||||
},
|
||||
(context, subject) -> {
|
||||
String body = SupportEmailUtil.generateSupportEmailBody(context, subject, null, null);
|
||||
CommunicationActions.openEmail(context, SupportEmailUtil.getSupportEmailAddress(context), subject, body);
|
||||
return Unit.INSTANCE;
|
||||
}
|
||||
)
|
||||
);
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
package org.thoughtcrime.securesms.util;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.res.Resources;
|
||||
import android.os.Build;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
@@ -48,18 +47,28 @@ public final class SupportEmailUtil {
|
||||
@Nullable String suffix)
|
||||
{
|
||||
filterSuffix = Util.emptyIfNull(filterSuffix);
|
||||
prefix = Util.emptyIfNull(prefix);
|
||||
suffix = Util.emptyIfNull(suffix);
|
||||
|
||||
return String.format("%s\n%s\n%s", prefix, buildSystemInfo(context, filter, filterSuffix), suffix);
|
||||
return generateSupportEmailBody(context, ResourceUtil.getEnglishResources(context).getString(filter) + filterSuffix, prefix, suffix);
|
||||
}
|
||||
|
||||
private static @NonNull String buildSystemInfo(@NonNull Context context, @StringRes int filter, @NonNull String filterSuffix) {
|
||||
Resources englishResources = ResourceUtil.getEnglishResources(context);
|
||||
/**
|
||||
* Generates a support email body with system info near the top, using the given already-resolved filter text.
|
||||
*/
|
||||
public static @NonNull String generateSupportEmailBody(@NonNull Context context,
|
||||
@NonNull String filter,
|
||||
@Nullable String prefix,
|
||||
@Nullable String suffix)
|
||||
{
|
||||
prefix = Util.emptyIfNull(prefix);
|
||||
suffix = Util.emptyIfNull(suffix);
|
||||
|
||||
return String.format("%s\n%s\n%s", prefix, buildSystemInfo(context, filter), suffix);
|
||||
}
|
||||
|
||||
private static @NonNull String buildSystemInfo(@NonNull Context context, @NonNull String filter) {
|
||||
return "--- " + context.getString(R.string.HelpFragment__support_info) + " ---" +
|
||||
"\n" +
|
||||
context.getString(R.string.SupportEmailUtil_filter) + " " + englishResources.getString(filter) + filterSuffix +
|
||||
context.getString(R.string.SupportEmailUtil_filter) + " " + filter +
|
||||
"\n" +
|
||||
context.getString(R.string.SupportEmailUtil_device_info) + " " + getDeviceInfo() +
|
||||
"\n" +
|
||||
|
||||
Reference in New Issue
Block a user