mirror of
https://github.com/ArcaneChat/android.git
synced 2026-07-03 14:05:24 +02:00
remove e2ee_enabled and import/export keys from advanced settings
This commit is contained in:
@@ -61,7 +61,6 @@ public class DcHelper {
|
||||
public static final String CONFIG_DISPLAY_NAME = "displayname";
|
||||
public static final String CONFIG_SELF_STATUS = "selfstatus";
|
||||
public static final String CONFIG_SELF_AVATAR = "selfavatar";
|
||||
public static final String CONFIG_E2EE_ENABLED = "e2ee_enabled";
|
||||
public static final String CONFIG_SENTBOX_WATCH = "sentbox_watch";
|
||||
public static final String CONFIG_MVBOX_MOVE = "mvbox_move";
|
||||
public static final String CONFIG_ONLY_FETCH_MVBOX = "only_fetch_mvbox";
|
||||
|
||||
+1
-111
@@ -3,7 +3,6 @@ package org.thoughtcrime.securesms.preferences;
|
||||
import static android.app.Activity.RESULT_OK;
|
||||
import static android.text.InputType.TYPE_TEXT_VARIATION_URI;
|
||||
import static org.thoughtcrime.securesms.connect.DcHelper.CONFIG_BCC_SELF;
|
||||
import static org.thoughtcrime.securesms.connect.DcHelper.CONFIG_E2EE_ENABLED;
|
||||
import static org.thoughtcrime.securesms.connect.DcHelper.CONFIG_MVBOX_MOVE;
|
||||
import static org.thoughtcrime.securesms.connect.DcHelper.CONFIG_ONLY_FETCH_MVBOX;
|
||||
import static org.thoughtcrime.securesms.connect.DcHelper.CONFIG_SENTBOX_WATCH;
|
||||
@@ -11,13 +10,11 @@ import static org.thoughtcrime.securesms.connect.DcHelper.CONFIG_SHOW_EMAILS;
|
||||
import static org.thoughtcrime.securesms.connect.DcHelper.CONFIG_WEBXDC_REALTIME_ENABLED;
|
||||
import static org.thoughtcrime.securesms.connect.DcHelper.getRpc;
|
||||
|
||||
import android.Manifest;
|
||||
import android.app.Activity;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.net.Uri;
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
import android.util.Log;
|
||||
import android.view.View;
|
||||
@@ -32,7 +29,6 @@ import androidx.preference.CheckBoxPreference;
|
||||
import androidx.preference.ListPreference;
|
||||
import androidx.preference.Preference;
|
||||
|
||||
import com.b44t.messenger.DcContext;
|
||||
import com.b44t.messenger.rpc.RpcException;
|
||||
|
||||
import org.thoughtcrime.securesms.ApplicationPreferencesActivity;
|
||||
@@ -42,12 +38,9 @@ import org.thoughtcrime.securesms.R;
|
||||
import org.thoughtcrime.securesms.RegistrationActivity;
|
||||
import org.thoughtcrime.securesms.connect.DcEventCenter;
|
||||
import org.thoughtcrime.securesms.connect.DcHelper;
|
||||
import org.thoughtcrime.securesms.mms.AttachmentManager;
|
||||
import org.thoughtcrime.securesms.permissions.Permissions;
|
||||
import org.thoughtcrime.securesms.proxy.ProxySettingsActivity;
|
||||
import org.thoughtcrime.securesms.util.Prefs;
|
||||
import org.thoughtcrime.securesms.util.ScreenLockUtil;
|
||||
import org.thoughtcrime.securesms.util.StorageUtil;
|
||||
import org.thoughtcrime.securesms.util.StreamUtil;
|
||||
import org.thoughtcrime.securesms.util.Util;
|
||||
|
||||
@@ -63,10 +56,8 @@ public class AdvancedPreferenceFragment extends ListSummaryPreferenceFragment
|
||||
implements DcEventCenter.DcEventDelegate
|
||||
{
|
||||
private static final String TAG = AdvancedPreferenceFragment.class.getSimpleName();
|
||||
public static final int PICK_SELF_KEYS = 29923;
|
||||
|
||||
private ListPreference showEmails;
|
||||
CheckBoxPreference preferE2eeCheckbox;
|
||||
CheckBoxPreference sentboxWatchCheckbox;
|
||||
CheckBoxPreference bccSelfCheckbox;
|
||||
CheckBoxPreference mvboxMoveCheckbox;
|
||||
@@ -92,11 +83,6 @@ public class AdvancedPreferenceFragment extends ListSummaryPreferenceFragment
|
||||
sendAsm.setOnPreferenceClickListener(new SendAsmListener());
|
||||
}
|
||||
|
||||
preferE2eeCheckbox = (CheckBoxPreference) this.findPreference("pref_prefer_e2ee");
|
||||
if (preferE2eeCheckbox != null) {
|
||||
preferE2eeCheckbox.setOnPreferenceChangeListener(new PreferE2eeListener());
|
||||
}
|
||||
|
||||
sentboxWatchCheckbox = (CheckBoxPreference) this.findPreference("pref_sentbox_watch");
|
||||
if (sentboxWatchCheckbox != null) {
|
||||
sentboxWatchCheckbox.setOnPreferenceChangeListener((preference, newValue) -> {
|
||||
@@ -163,11 +149,6 @@ public class AdvancedPreferenceFragment extends ListSummaryPreferenceFragment
|
||||
});
|
||||
}
|
||||
|
||||
Preference manageKeys = this.findPreference("pref_manage_keys");
|
||||
if (manageKeys != null) {
|
||||
manageKeys.setOnPreferenceClickListener(new ManageKeysListener());
|
||||
}
|
||||
|
||||
Preference screenSecurity = this.findPreference(Prefs.SCREEN_SECURITY_PREF);
|
||||
if (screenSecurity != null) {
|
||||
screenSecurity.setOnPreferenceChangeListener(new ScreenShotSecurityListener());
|
||||
@@ -269,7 +250,6 @@ public class AdvancedPreferenceFragment extends ListSummaryPreferenceFragment
|
||||
}
|
||||
|
||||
if (dcContext.isChatmail()) {
|
||||
this.findPreference("pref_category_encryption").setVisible(false);
|
||||
showSystemContacts.setVisible(false);
|
||||
sentboxWatchCheckbox.setVisible(false);
|
||||
bccSelfCheckbox.setVisible(false);
|
||||
@@ -292,7 +272,6 @@ public class AdvancedPreferenceFragment extends ListSummaryPreferenceFragment
|
||||
showEmails.setValue(value);
|
||||
updateListSummary(showEmails, value);
|
||||
|
||||
preferE2eeCheckbox.setChecked(0!=dcContext.getConfigInt(CONFIG_E2EE_ENABLED));
|
||||
sentboxWatchCheckbox.setChecked(0!=dcContext.getConfigInt(CONFIG_SENTBOX_WATCH));
|
||||
bccSelfCheckbox.setChecked(0!=dcContext.getConfigInt(CONFIG_BCC_SELF));
|
||||
mvboxMoveCheckbox.setChecked(0!=dcContext.getConfigInt(CONFIG_MVBOX_MOVE));
|
||||
@@ -304,24 +283,7 @@ public class AdvancedPreferenceFragment extends ListSummaryPreferenceFragment
|
||||
@Override
|
||||
public void onActivityResult(int requestCode, int resultCode, Intent data) {
|
||||
super.onActivityResult(requestCode, resultCode, data);
|
||||
if (resultCode != RESULT_OK) return;
|
||||
if (requestCode == REQUEST_CODE_CONFIRM_CREDENTIALS_KEYS) {
|
||||
manageKeys();
|
||||
} else if (requestCode == PICK_SELF_KEYS) {
|
||||
Uri uri = (data != null ? data.getData() : null);
|
||||
if (uri == null) {
|
||||
Log.e(TAG, " Can't import null URI");
|
||||
return;
|
||||
}
|
||||
try {
|
||||
String name = AttachmentManager.getFileName(getContext(), uri);
|
||||
if (name == null || name.isEmpty()) name = "FILE";
|
||||
File file = copyToCacheDir(uri);
|
||||
showImportKeysDialog(file.getAbsolutePath(), name);
|
||||
} catch (IOException e) {
|
||||
Log.e(TAG, "Error calling copyToCacheDir()", e);
|
||||
}
|
||||
} else if (requestCode == REQUEST_CODE_CONFIRM_CREDENTIALS_ACCOUNT) {
|
||||
if (resultCode == RESULT_OK && requestCode == REQUEST_CODE_CONFIRM_CREDENTIALS_ACCOUNT) {
|
||||
openRegistrationActivity();
|
||||
}
|
||||
}
|
||||
@@ -470,76 +432,4 @@ public class AdvancedPreferenceFragment extends ListSummaryPreferenceFragment
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
private class PreferE2eeListener implements Preference.OnPreferenceChangeListener {
|
||||
@Override
|
||||
public boolean onPreferenceChange(@NonNull final Preference preference, Object newValue) {
|
||||
boolean enabled = (Boolean) newValue;
|
||||
dcContext.setConfigInt(CONFIG_E2EE_ENABLED, enabled? 1 : 0);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
/***********************************************************************************************
|
||||
* Key Import/Export
|
||||
**********************************************************************************************/
|
||||
protected void showImportKeysDialog(String imexPath, String pathAsDisplayedToUser) {
|
||||
new AlertDialog.Builder(requireActivity())
|
||||
.setTitle(R.string.pref_managekeys_import_secret_keys)
|
||||
.setMessage(requireActivity().getString(R.string.pref_managekeys_import_explain, pathAsDisplayedToUser))
|
||||
.setNegativeButton(android.R.string.cancel, null)
|
||||
.setPositiveButton(android.R.string.ok, (dialogInterface2, i2) -> startImexOne(DcContext.DC_IMEX_IMPORT_SELF_KEYS, imexPath, pathAsDisplayedToUser))
|
||||
.show();
|
||||
}
|
||||
|
||||
private class ManageKeysListener implements Preference.OnPreferenceClickListener {
|
||||
@Override
|
||||
public boolean onPreferenceClick(@NonNull Preference preference) {
|
||||
boolean result = ScreenLockUtil.applyScreenLock(requireActivity(), getString(R.string.pref_manage_keys), getString(R.string.enter_system_secret_to_continue), REQUEST_CODE_CONFIRM_CREDENTIALS_KEYS);
|
||||
if (!result) {
|
||||
manageKeys();
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
private void manageKeys() {
|
||||
Activity activity = requireActivity();
|
||||
Permissions.with(activity)
|
||||
.request(Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.READ_EXTERNAL_STORAGE)
|
||||
.alwaysGrantOnSdk30()
|
||||
.ifNecessary()
|
||||
.withPermanentDenialDialog(getString(R.string.perm_explain_access_to_storage_denied))
|
||||
.onAllGranted(() -> {
|
||||
new AlertDialog.Builder(activity)
|
||||
.setTitle(R.string.pref_managekeys_menu_title)
|
||||
.setItems(new CharSequence[]{
|
||||
activity.getString(R.string.pref_managekeys_export_secret_keys),
|
||||
activity.getString(R.string.pref_managekeys_import_secret_keys)
|
||||
},
|
||||
(dialogInterface, i) -> {
|
||||
if (i==0) {
|
||||
new AlertDialog.Builder(activity)
|
||||
.setTitle(R.string.pref_managekeys_export_secret_keys)
|
||||
.setMessage(activity.getString(R.string.pref_managekeys_export_explain, DcHelper.getImexDir().getAbsolutePath()))
|
||||
.setNegativeButton(android.R.string.cancel, null)
|
||||
.setPositiveButton(android.R.string.ok, (dialogInterface2, i2) -> startImexOne(DcContext.DC_IMEX_EXPORT_SELF_KEYS))
|
||||
.show();
|
||||
}
|
||||
else {
|
||||
if (Build.VERSION.SDK_INT >= 30) {
|
||||
AttachmentManager.selectMediaType(activity, "*/*", null, PICK_SELF_KEYS, StorageUtil.getDownloadUri());
|
||||
} else {
|
||||
String path = DcHelper.getImexDir().getAbsolutePath();
|
||||
showImportKeysDialog(path, path);
|
||||
}
|
||||
}
|
||||
}
|
||||
)
|
||||
.setNegativeButton(R.string.cancel, null)
|
||||
.setNeutralButton(R.string.learn_more, (d, w) -> DcHelper.openHelp(activity, "#importkey"))
|
||||
.show();
|
||||
})
|
||||
.execute();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -74,15 +74,6 @@
|
||||
android:key="pref_category_encryption"
|
||||
android:title="@string/pref_encryption">
|
||||
|
||||
<org.thoughtcrime.securesms.components.SwitchPreferenceCompat
|
||||
android:defaultValue="true"
|
||||
android:key="pref_prefer_e2ee"
|
||||
android:title="@string/autocrypt_prefer_e2ee"/>
|
||||
|
||||
|
||||
<Preference android:key="pref_manage_keys"
|
||||
android:title="@string/pref_manage_keys"/>
|
||||
|
||||
<Preference android:key="pref_send_autocrypt_setup_message"
|
||||
android:title="@string/autocrypt_send_asm_title"/>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user