diff --git a/src/main/java/org/thoughtcrime/securesms/connect/DcHelper.java b/src/main/java/org/thoughtcrime/securesms/connect/DcHelper.java index fba404de7..493ab595a 100644 --- a/src/main/java/org/thoughtcrime/securesms/connect/DcHelper.java +++ b/src/main/java/org/thoughtcrime/securesms/connect/DcHelper.java @@ -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"; diff --git a/src/main/java/org/thoughtcrime/securesms/preferences/AdvancedPreferenceFragment.java b/src/main/java/org/thoughtcrime/securesms/preferences/AdvancedPreferenceFragment.java index 9a1899eff..12a523425 100644 --- a/src/main/java/org/thoughtcrime/securesms/preferences/AdvancedPreferenceFragment.java +++ b/src/main/java/org/thoughtcrime/securesms/preferences/AdvancedPreferenceFragment.java @@ -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(); - } } diff --git a/src/main/res/xml/preferences_advanced.xml b/src/main/res/xml/preferences_advanced.xml index ca571c429..f106c7246 100644 --- a/src/main/res/xml/preferences_advanced.xml +++ b/src/main/res/xml/preferences_advanced.xml @@ -74,15 +74,6 @@ android:key="pref_category_encryption" android:title="@string/pref_encryption"> - - - - -