aboutsummaryrefslogtreecommitdiffstats
path: root/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/util
diff options
context:
space:
mode:
authorAdithya Abraham Philip <adithyaphilip@gmail.com>2015-11-25 01:35:41 +0530
committerAdithya Abraham Philip <adithyaphilip@gmail.com>2015-12-06 00:46:52 +0530
commitf29280bbb268d112426c6662e1227118819fb904 (patch)
tree117ca2b3282fca1e10340e95f4bb07026eac7507 /OpenKeychain/src/main/java/org/sufficientlysecure/keychain/util
parenta0b46b0d3b7dd201568d1f236cb25b0a794fc2c2 (diff)
downloadopen-keychain-f29280bbb268d112426c6662e1227118819fb904.tar.gz
open-keychain-f29280bbb268d112426c6662e1227118819fb904.tar.bz2
open-keychain-f29280bbb268d112426c6662e1227118819fb904.zip
added Facebook links support, reworked Preferences
Diffstat (limited to 'OpenKeychain/src/main/java/org/sufficientlysecure/keychain/util')
-rw-r--r--OpenKeychain/src/main/java/org/sufficientlysecure/keychain/util/EmailKeyHelper.java2
-rw-r--r--OpenKeychain/src/main/java/org/sufficientlysecure/keychain/util/Preferences.java100
2 files changed, 48 insertions, 54 deletions
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/util/EmailKeyHelper.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/util/EmailKeyHelper.java
index a55249842..d3cf74d16 100644
--- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/util/EmailKeyHelper.java
+++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/util/EmailKeyHelper.java
@@ -57,7 +57,7 @@ public class EmailKeyHelper {
// Put them in a list and import
ArrayList<ParcelableKeyRing> keys = new ArrayList<>(entries.size());
for (ImportKeysListEntry entry : entries) {
- keys.add(new ParcelableKeyRing(entry.getFingerprintHex(), entry.getKeyIdHex(), null));
+ keys.add(new ParcelableKeyRing(entry.getFingerprintHex(), entry.getKeyIdHex()));
}
mKeyList = keys;
mKeyserver = keyserver;
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/util/Preferences.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/util/Preferences.java
index 559c5556f..ce81bbcac 100644
--- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/util/Preferences.java
+++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/util/Preferences.java
@@ -21,10 +21,10 @@ package org.sufficientlysecure.keychain.util;
import android.content.Context;
import android.content.SharedPreferences;
-import android.content.res.Resources;
+import android.os.Parcel;
+import android.os.Parcelable;
import android.preference.PreferenceManager;
import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
import org.sufficientlysecure.keychain.Constants;
import org.sufficientlysecure.keychain.Constants.Pref;
@@ -42,7 +42,6 @@ import java.util.Vector;
public class Preferences {
private static Preferences sPreferences;
private SharedPreferences mSharedPreferences;
- private Resources mResources;
private static String PREF_FILE_NAME = "APG.main";
private static int PREF_FILE_MODE = Context.MODE_MULTI_PROCESS;
@@ -62,10 +61,15 @@ public class Preferences {
}
private Preferences(Context context) {
- mResources = context.getResources();
updateSharedPreferences(context);
}
+ /**
+ * Makes android's preference framework write to our file instead of default.
+ * This allows us to use the "persistent" attribute to simplify code, which automatically
+ * writes and reads preference values.
+ * @param manager
+ */
public static void setPreferenceManagerFileAndMode(PreferenceManager manager) {
manager.setSharedPreferencesName(PREF_FILE_NAME);
manager.setSharedPreferencesMode(PREF_FILE_MODE);
@@ -130,12 +134,6 @@ public class Preferences {
return mSharedPreferences.getBoolean(Pref.USE_NUMKEYPAD_FOR_YUBIKEY_PIN, true);
}
- public void setUseNumKeypadForYubiKeyPin(boolean useNumKeypadForYubikeyPin) {
- SharedPreferences.Editor editor = mSharedPreferences.edit();
- editor.putBoolean(Pref.USE_NUMKEYPAD_FOR_YUBIKEY_PIN, useNumKeypadForYubikeyPin);
- editor.commit();
- }
-
public void setFirstTime(boolean value) {
SharedPreferences.Editor editor = mSharedPreferences.edit();
editor.putBoolean(Constants.Pref.FIRST_TIME, value);
@@ -181,18 +179,6 @@ public class Preferences {
editor.commit();
}
- public void setSearchKeyserver(boolean searchKeyserver) {
- SharedPreferences.Editor editor = mSharedPreferences.edit();
- editor.putBoolean(Pref.SEARCH_KEYSERVER, searchKeyserver);
- editor.commit();
- }
-
- public void setSearchKeybase(boolean searchKeybase) {
- SharedPreferences.Editor editor = mSharedPreferences.edit();
- editor.putBoolean(Pref.SEARCH_KEYBASE, searchKeybase);
- editor.commit();
- }
-
public void setFilesUseCompression(boolean compress) {
SharedPreferences.Editor editor = mSharedPreferences.edit();
editor.putBoolean(Pref.FILE_USE_COMPRESSION, compress);
@@ -266,17 +252,6 @@ public class Preferences {
return Integer.parseInt(mSharedPreferences.getString(Pref.PROXY_PORT, "-1"));
}
- /**
- * we store port as String for easy interfacing with EditTextPreference, but return it as an integer
- *
- * @param port proxy port
- */
- public void setProxyPort(String port) {
- SharedPreferences.Editor editor = mSharedPreferences.edit();
- editor.putString(Pref.PROXY_PORT, port);
- editor.commit();
- }
-
public Proxy.Type getProxyType() {
final String typeHttp = Pref.ProxyType.TYPE_HTTP;
final String typeSocks = Pref.ProxyType.TYPE_SOCKS;
@@ -338,12 +313,14 @@ public class Preferences {
public CloudSearchPrefs getCloudSearchPrefs() {
return new CloudSearchPrefs(mSharedPreferences.getBoolean(Pref.SEARCH_KEYSERVER, true),
mSharedPreferences.getBoolean(Pref.SEARCH_KEYBASE, true),
+ false,
getPreferredKeyserver());
}
- public static class CloudSearchPrefs {
+ public static class CloudSearchPrefs implements Parcelable {
public final boolean searchKeyserver;
public final boolean searchKeybase;
+ public final boolean searchFacebook;
public final String keyserver;
/**
@@ -351,41 +328,58 @@ public class Preferences {
* @param searchKeybase should keybase.io be searched
* @param keyserver the keyserver url authority to search on
*/
- public CloudSearchPrefs(boolean searchKeyserver, boolean searchKeybase, String keyserver) {
+ public CloudSearchPrefs(boolean searchKeyserver, boolean searchKeybase,
+ boolean searchFacebook, String keyserver) {
this.searchKeyserver = searchKeyserver;
this.searchKeybase = searchKeybase;
+ this.searchFacebook = searchFacebook;
this.keyserver = keyserver;
}
- }
- // experimental prefs
+ protected CloudSearchPrefs(Parcel in) {
+ searchKeyserver = in.readByte() != 0x00;
+ searchKeybase = in.readByte() != 0x00;
+ searchFacebook = in.readByte() != 0x00;
+ keyserver = in.readString();
+ }
- public void setExperimentalEnableWordConfirm(boolean enableWordConfirm) {
- SharedPreferences.Editor editor = mSharedPreferences.edit();
- editor.putBoolean(Pref.EXPERIMENTAL_ENABLE_WORD_CONFIRM, enableWordConfirm);
- editor.commit();
+ @Override
+ public int describeContents() {
+ return 0;
+ }
+
+ @Override
+ public void writeToParcel(Parcel dest, int flags) {
+ dest.writeByte((byte) (searchKeyserver ? 0x01 : 0x00));
+ dest.writeByte((byte) (searchKeybase ? 0x01 : 0x00));
+ dest.writeByte((byte) (searchFacebook ? 0x01 : 0x00));
+ dest.writeString(keyserver);
+ }
+
+ public static final Parcelable.Creator<CloudSearchPrefs> CREATOR
+ = new Parcelable.Creator<CloudSearchPrefs>() {
+ @Override
+ public CloudSearchPrefs createFromParcel(Parcel in) {
+ return new CloudSearchPrefs(in);
+ }
+
+ @Override
+ public CloudSearchPrefs[] newArray(int size) {
+ return new CloudSearchPrefs[size];
+ }
+ };
}
+ // experimental prefs
+
public boolean getExperimentalEnableWordConfirm() {
return mSharedPreferences.getBoolean(Pref.EXPERIMENTAL_ENABLE_WORD_CONFIRM, false);
}
- public void setExperimentalEnableLinkedIdentities(boolean enableLinkedIdentities) {
- SharedPreferences.Editor editor = mSharedPreferences.edit();
- editor.putBoolean(Pref.EXPERIMENTAL_ENABLE_LINKED_IDENTITIES, enableLinkedIdentities);
- editor.commit();
- }
-
public boolean getExperimentalEnableLinkedIdentities() {
return mSharedPreferences.getBoolean(Pref.EXPERIMENTAL_ENABLE_LINKED_IDENTITIES, false);
}
- public void setExperimentalEnableKeybase(boolean enableKeybase) {
- SharedPreferences.Editor editor = mSharedPreferences.edit();
- editor.putBoolean(Pref.EXPERIMENTAL_ENABLE_KEYBASE, enableKeybase);
- editor.commit();
- }
-
public boolean getExperimentalEnableKeybase() {
return mSharedPreferences.getBoolean(Pref.EXPERIMENTAL_ENABLE_KEYBASE, false);
}