aboutsummaryrefslogtreecommitdiffstats
path: root/OpenKeychain
diff options
context:
space:
mode:
authorVincent Breitmoser <valodim@mugenguild.com>2014-06-06 16:14:15 +0200
committerVincent Breitmoser <valodim@mugenguild.com>2014-06-06 16:14:15 +0200
commitb995b836a38ef8a87aa189f408f8542bf5a2c94c (patch)
tree0828f6fc64152b1c1113c5ce31ccc21495e019d5 /OpenKeychain
parentc84a1ecfff8d3f21ac83ef7b041f22f11e38936b (diff)
downloadopen-keychain-b995b836a38ef8a87aa189f408f8542bf5a2c94c.tar.gz
open-keychain-b995b836a38ef8a87aa189f408f8542bf5a2c94c.tar.bz2
open-keychain-b995b836a38ef8a87aa189f408f8542bf5a2c94c.zip
import-log: improve operationresultparcel, add indentation
Diffstat (limited to 'OpenKeychain')
-rw-r--r--OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/OperationResultParcel.java20
-rw-r--r--OpenKeychain/src/main/java/org/sufficientlysecure/keychain/provider/ProviderHelper.java27
2 files changed, 37 insertions, 10 deletions
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/OperationResultParcel.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/OperationResultParcel.java
index 497c3dd71..f2da4389d 100644
--- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/OperationResultParcel.java
+++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/OperationResultParcel.java
@@ -1,9 +1,10 @@
package org.sufficientlysecure.keychain.pgp;
-import android.R;
import android.os.Parcel;
import android.os.Parcelable;
+import org.sufficientlysecure.keychain.R;
+
import java.util.ArrayList;
/** Represent the result of an operation.
@@ -39,20 +40,26 @@ public class OperationResultParcel implements Parcelable {
/** One entry in the log. */
public static class LogEntryParcel implements Parcelable {
- final LogType mType;
final LogLevel mLevel;
+ final LogType mType;
final String[] mParameters;
+ final int mIndent;
- public LogEntryParcel(LogType type, LogLevel level, String[] parameters) {
- mType = type;
+ public LogEntryParcel(LogLevel level, LogType type, String[] parameters, int indent) {
mLevel = level;
+ mType = type;
mParameters = parameters;
+ mIndent = indent;
+ }
+ public LogEntryParcel(LogLevel level, LogType type, String[] parameters) {
+ this(level, type, parameters, 0);
}
public LogEntryParcel(Parcel source) {
- mType = LogType.values()[source.readInt()];
mLevel = LogLevel.values()[source.readInt()];
+ mType = LogType.values()[source.readInt()];
mParameters = source.createStringArray();
+ mIndent = source.readInt();
}
@Override
@@ -62,9 +69,10 @@ public class OperationResultParcel implements Parcelable {
@Override
public void writeToParcel(Parcel dest, int flags) {
- dest.writeInt(mType.ordinal());
dest.writeInt(mLevel.ordinal());
+ dest.writeInt(mType.ordinal());
dest.writeStringArray(mParameters);
+ dest.writeInt(mIndent);
}
public static final Creator<LogEntryParcel> CREATOR = new Creator<LogEntryParcel>() {
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/provider/ProviderHelper.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/provider/ProviderHelper.java
index ca7e622bb..83b55cc14 100644
--- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/provider/ProviderHelper.java
+++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/provider/ProviderHelper.java
@@ -29,6 +29,9 @@ import android.support.v4.util.LongSparseArray;
import org.sufficientlysecure.keychain.Constants;
import org.sufficientlysecure.keychain.pgp.KeyRing;
+import org.sufficientlysecure.keychain.pgp.OperationResultParcel;
+import org.sufficientlysecure.keychain.pgp.OperationResultParcel.LogType;
+import org.sufficientlysecure.keychain.pgp.OperationResultParcel.LogLevel;
import org.sufficientlysecure.keychain.pgp.PgpHelper;
import org.sufficientlysecure.keychain.pgp.PgpKeyHelper;
import org.sufficientlysecure.keychain.pgp.UncachedKeyRing;
@@ -59,12 +62,21 @@ import java.util.List;
import java.util.Set;
public class ProviderHelper {
- private Context mContext;
- private ContentResolver mContentResolver;
+ private final Context mContext;
+ private final ContentResolver mContentResolver;
+ private final ArrayList<OperationResultParcel.LogEntryParcel> mLog;
+ private int mIndent;
public ProviderHelper(Context context) {
- this.mContext = context;
- this.mContentResolver = context.getContentResolver();
+ this(context, null, 0);
+ }
+
+ public ProviderHelper(Context context, ArrayList<OperationResultParcel.LogEntryParcel> log,
+ int indent) {
+ mContext = context;
+ mContentResolver = context.getContentResolver();
+ mLog = log;
+ mIndent = indent;
}
public static class NotFoundException extends Exception {
@@ -76,6 +88,13 @@ public class ProviderHelper {
}
}
+ public void log(LogLevel level, LogType type) {
+ mLog.add(new OperationResultParcel.LogEntryParcel(level, type, null, mIndent));
+ }
+ public void log(LogLevel level, LogType type, String[] parameters) {
+ mLog.add(new OperationResultParcel.LogEntryParcel(level, type, parameters, mIndent));
+ }
+
// If we ever switch to api level 11, we can ditch this whole mess!
public static final int FIELD_TYPE_NULL = 1;
// this is called integer to stay coherent with the constants in Cursor (api level 11)