mirror of
https://github.com/moparisthebest/open-keychain
synced 2024-11-11 03:25:05 -05:00
Merge pull request #708 from artbristol/composition-not-inheritance
Prefer composition to inheritance
This commit is contained in:
commit
fed11b2647
@ -9,6 +9,8 @@ import org.sufficientlysecure.keychain.util.IterableIterator;
|
|||||||
import org.sufficientlysecure.keychain.util.Log;
|
import org.sufficientlysecure.keychain.util.Log;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Iterator;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/** Represent the result of an operation.
|
/** Represent the result of an operation.
|
||||||
*
|
*
|
||||||
@ -288,7 +290,7 @@ public class OperationResultParcel implements Parcelable {
|
|||||||
@Override
|
@Override
|
||||||
public void writeToParcel(Parcel dest, int flags) {
|
public void writeToParcel(Parcel dest, int flags) {
|
||||||
dest.writeInt(mResult);
|
dest.writeInt(mResult);
|
||||||
dest.writeTypedList(mLog);
|
dest.writeTypedList(mLog.toList());
|
||||||
}
|
}
|
||||||
|
|
||||||
public static final Creator<OperationResultParcel> CREATOR = new Creator<OperationResultParcel>() {
|
public static final Creator<OperationResultParcel> CREATOR = new Creator<OperationResultParcel>() {
|
||||||
@ -301,20 +303,22 @@ public class OperationResultParcel implements Parcelable {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
public static class OperationLog extends ArrayList<LogEntryParcel> {
|
public static class OperationLog implements Iterable<LogEntryParcel> {
|
||||||
|
|
||||||
|
private final List<LogEntryParcel> parcels = new ArrayList<LogEntryParcel>();
|
||||||
|
|
||||||
/// Simple convenience method
|
/// Simple convenience method
|
||||||
public void add(LogLevel level, LogType type, int indent, Object... parameters) {
|
public void add(LogLevel level, LogType type, int indent, Object... parameters) {
|
||||||
Log.d(Constants.TAG, type.toString());
|
Log.d(Constants.TAG, type.toString());
|
||||||
add(new OperationResultParcel.LogEntryParcel(level, type, indent, parameters));
|
parcels.add(new OperationResultParcel.LogEntryParcel(level, type, indent, parameters));
|
||||||
}
|
}
|
||||||
|
|
||||||
public void add(LogLevel level, LogType type, int indent) {
|
public void add(LogLevel level, LogType type, int indent) {
|
||||||
add(new OperationResultParcel.LogEntryParcel(level, type, indent, (Object[]) null));
|
parcels.add(new OperationResultParcel.LogEntryParcel(level, type, indent, (Object[]) null));
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean containsWarnings() {
|
public boolean containsWarnings() {
|
||||||
for(LogEntryParcel entry : new IterableIterator<LogEntryParcel>(iterator())) {
|
for(LogEntryParcel entry : new IterableIterator<LogEntryParcel>(parcels.iterator())) {
|
||||||
if (entry.mLevel == LogLevel.WARN || entry.mLevel == LogLevel.ERROR) {
|
if (entry.mLevel == LogLevel.WARN || entry.mLevel == LogLevel.ERROR) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@ -322,6 +326,22 @@ public class OperationResultParcel implements Parcelable {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void addAll(List<LogEntryParcel> parcels) {
|
||||||
|
parcels.addAll(parcels);
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<LogEntryParcel> toList() {
|
||||||
|
return parcels;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isEmpty() {
|
||||||
|
return parcels.isEmpty();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Iterator<LogEntryParcel> iterator() {
|
||||||
|
return parcels.iterator();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -43,6 +43,7 @@ import org.sufficientlysecure.keychain.util.Log;
|
|||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
public class LogDisplayFragment extends ListFragment implements OnTouchListener {
|
public class LogDisplayFragment extends ListFragment implements OnTouchListener {
|
||||||
|
|
||||||
@ -135,7 +136,7 @@ public class LogDisplayFragment extends ListFragment implements OnTouchListener
|
|||||||
private LayoutInflater mInflater;
|
private LayoutInflater mInflater;
|
||||||
private int dipFactor;
|
private int dipFactor;
|
||||||
|
|
||||||
public LogAdapter(Context context, ArrayList<LogEntryParcel> log, LogLevel level) {
|
public LogAdapter(Context context, OperationResultParcel.OperationLog log, LogLevel level) {
|
||||||
super(context, R.layout.log_display_item);
|
super(context, R.layout.log_display_item);
|
||||||
mInflater = LayoutInflater.from(getContext());
|
mInflater = LayoutInflater.from(getContext());
|
||||||
dipFactor = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP,
|
dipFactor = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP,
|
||||||
|
Loading…
Reference in New Issue
Block a user