added Facebook links support, reworked Preferences
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
protected CloudSearchPrefs(Parcel in) {
|
||||
searchKeyserver = in.readByte() != 0x00;
|
||||
searchKeybase = in.readByte() != 0x00;
|
||||
searchFacebook = in.readByte() != 0x00;
|
||||
keyserver = in.readString();
|
||||
}
|
||||
|
||||
@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 void setExperimentalEnableWordConfirm(boolean enableWordConfirm) {
|
||||
SharedPreferences.Editor editor = mSharedPreferences.edit();
|
||||
editor.putBoolean(Pref.EXPERIMENTAL_ENABLE_WORD_CONFIRM, enableWordConfirm);
|
||||
editor.commit();
|
||||
}
|
||||
|
||||
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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user