Skip to content
Snippets Groups Projects
Commit 7bdc1eae authored by Janne Mareike Koschinski's avatar Janne Mareike Koschinski
Browse files

Improved Network and Chatlist editing

parent 61fbdde4
No related branches found
No related tags found
No related merge requests found
Showing
with 83 additions and 53 deletions
...@@ -61,7 +61,7 @@ if (versionPropsFile.exists() && versionPropsFile.canRead()) { ...@@ -61,7 +61,7 @@ if (versionPropsFile.exists() && versionPropsFile.canRead()) {
versionProps.load(new FileInputStream(versionPropsFile)) versionProps.load(new FileInputStream(versionPropsFile))
def runTasks = gradle.startParameter.taskNames def runTasks = gradle.startParameter.taskNames
versionBuild = Integer.valueOf(versionProps['VERSION_BUILD'].toString()) versionBuild = Integer.valueOf(versionProps['VERSION_BUILD'].toString())
if (!(runTasks.intersect([':app:assembleBeta', 'assembleBeta', ':app:assembleRelease', 'assembleRelease']).empty)) { if (':app:assembleBeta' in runTasks || 'assembleBeta' in runTasks || ':app:assembleRelease' in runTasks || 'assembleRelease' in runTasks || ':app:assemblebeta' in runTasks || 'assemblebeta' in runTasks || ':app:assemblerelease' in runTasks || 'assemblerelease' in runTasks) {
println "Increasing version number" println "Increasing version number"
versionBuild = versionBuild + 1 versionBuild = versionBuild + 1
} }
......
...@@ -32,7 +32,6 @@ import org.greenrobot.eventbus.ThreadMode; ...@@ -32,7 +32,6 @@ import org.greenrobot.eventbus.ThreadMode;
import java.util.UUID; import java.util.UUID;
import de.kuschku.libquassel.events.BacklogReceivedEvent; import de.kuschku.libquassel.events.BacklogReceivedEvent;
import de.kuschku.libquassel.events.GeneralErrorEvent;
import de.kuschku.libquassel.events.LagChangedEvent; import de.kuschku.libquassel.events.LagChangedEvent;
public class BusProvider { public class BusProvider {
......
...@@ -29,8 +29,6 @@ import org.greenrobot.eventbus.ThreadMode; ...@@ -29,8 +29,6 @@ import org.greenrobot.eventbus.ThreadMode;
import org.joda.time.DateTime; import org.joda.time.DateTime;
import org.joda.time.Interval; import org.joda.time.Interval;
import java.util.logging.Logger;
import de.kuschku.libquassel.client.Client; import de.kuschku.libquassel.client.Client;
import de.kuschku.libquassel.events.ConnectionChangeEvent; import de.kuschku.libquassel.events.ConnectionChangeEvent;
import de.kuschku.libquassel.events.CoreSetupRequiredEvent; import de.kuschku.libquassel.events.CoreSetupRequiredEvent;
......
...@@ -40,7 +40,6 @@ import de.kuschku.libquassel.localtypes.buffers.ChannelBuffer; ...@@ -40,7 +40,6 @@ import de.kuschku.libquassel.localtypes.buffers.ChannelBuffer;
import de.kuschku.libquassel.localtypes.buffers.QueryBuffer; import de.kuschku.libquassel.localtypes.buffers.QueryBuffer;
import de.kuschku.libquassel.localtypes.buffers.StatusBuffer; import de.kuschku.libquassel.localtypes.buffers.StatusBuffer;
import de.kuschku.libquassel.primitives.types.BufferInfo; import de.kuschku.libquassel.primitives.types.BufferInfo;
import de.kuschku.libquassel.syncables.types.impl.BufferViewConfig;
import de.kuschku.libquassel.syncables.types.interfaces.QBufferViewConfig; import de.kuschku.libquassel.syncables.types.interfaces.QBufferViewConfig;
import de.kuschku.libquassel.syncables.types.interfaces.QIrcChannel; import de.kuschku.libquassel.syncables.types.interfaces.QIrcChannel;
import de.kuschku.libquassel.syncables.types.interfaces.QIrcUser; import de.kuschku.libquassel.syncables.types.interfaces.QIrcUser;
......
...@@ -48,14 +48,9 @@ import de.kuschku.libquassel.objects.types.SessionState; ...@@ -48,14 +48,9 @@ import de.kuschku.libquassel.objects.types.SessionState;
import de.kuschku.libquassel.primitives.QMetaTypeRegistry; import de.kuschku.libquassel.primitives.QMetaTypeRegistry;
import de.kuschku.libquassel.primitives.types.BufferInfo; import de.kuschku.libquassel.primitives.types.BufferInfo;
import de.kuschku.libquassel.syncables.types.SyncableObject; import de.kuschku.libquassel.syncables.types.SyncableObject;
import de.kuschku.libquassel.syncables.types.impl.AliasManager;
import de.kuschku.libquassel.syncables.types.impl.BacklogManager; import de.kuschku.libquassel.syncables.types.impl.BacklogManager;
import de.kuschku.libquassel.syncables.types.impl.BufferSyncer;
import de.kuschku.libquassel.syncables.types.impl.BufferViewManager;
import de.kuschku.libquassel.syncables.types.impl.CoreInfo; import de.kuschku.libquassel.syncables.types.impl.CoreInfo;
import de.kuschku.libquassel.syncables.types.impl.Identity; import de.kuschku.libquassel.syncables.types.impl.Identity;
import de.kuschku.libquassel.syncables.types.impl.IgnoreListManager;
import de.kuschku.libquassel.syncables.types.impl.NetworkConfig;
import de.kuschku.libquassel.syncables.types.interfaces.QAliasManager; import de.kuschku.libquassel.syncables.types.interfaces.QAliasManager;
import de.kuschku.libquassel.syncables.types.interfaces.QBacklogManager; import de.kuschku.libquassel.syncables.types.interfaces.QBacklogManager;
import de.kuschku.libquassel.syncables.types.interfaces.QBufferSyncer; import de.kuschku.libquassel.syncables.types.interfaces.QBufferSyncer;
......
...@@ -30,10 +30,27 @@ import java.util.List; ...@@ -30,10 +30,27 @@ import java.util.List;
import java.util.Map; import java.util.Map;
import de.kuschku.libquassel.syncables.types.interfaces.QIdentity; import de.kuschku.libquassel.syncables.types.interfaces.QIdentity;
import de.kuschku.util.observables.lists.ObservableSortedList;
public class IdentityManager { public class IdentityManager {
@NonNull @NonNull
private final Map<Integer, QIdentity> identities = new HashMap<>(); private final Map<Integer, QIdentity> identities = new HashMap<>();
private final ObservableSortedList<QIdentity> identityList = new ObservableSortedList<>(QIdentity.class, new ObservableSortedList.ItemComparator<QIdentity>() {
@Override
public int compare(QIdentity o1, QIdentity o2) {
return o1.id() - o2.id();
}
@Override
public boolean areContentsTheSame(QIdentity oldItem, QIdentity newItem) {
return oldItem.equals(newItem);
}
@Override
public boolean areItemsTheSame(QIdentity item1, QIdentity item2) {
return item1.id() == item2.id();
}
});
private final Client client; private final Client client;
public IdentityManager(Client client) { public IdentityManager(Client client) {
...@@ -42,6 +59,7 @@ public class IdentityManager { ...@@ -42,6 +59,7 @@ public class IdentityManager {
public void createIdentity(@NonNull QIdentity identity) { public void createIdentity(@NonNull QIdentity identity) {
identities.put(identity.id(), identity); identities.put(identity.id(), identity);
identityList.add(identity);
} }
public void removeIdentity(@IntRange(from = 0) int id) { public void removeIdentity(@IntRange(from = 0) int id) {
...@@ -58,4 +76,8 @@ public class IdentityManager { ...@@ -58,4 +76,8 @@ public class IdentityManager {
createIdentity(identity); createIdentity(identity);
} }
} }
public ObservableSortedList<QIdentity> identities() {
return identityList;
}
} }
...@@ -24,26 +24,39 @@ package de.kuschku.libquassel.client; ...@@ -24,26 +24,39 @@ package de.kuschku.libquassel.client;
import android.support.annotation.IntRange; import android.support.annotation.IntRange;
import android.support.annotation.NonNull; import android.support.annotation.NonNull;
import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.HashSet;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Observable; import java.util.Observable;
import de.kuschku.libquassel.syncables.types.impl.Network; import de.kuschku.libquassel.syncables.types.impl.Network;
import de.kuschku.libquassel.syncables.types.interfaces.QNetwork; import de.kuschku.libquassel.syncables.types.interfaces.QNetwork;
import de.kuschku.util.observables.lists.ObservableSet;
import de.kuschku.util.observables.lists.ObservableSortedList; import de.kuschku.util.observables.lists.ObservableSortedList;
import static de.kuschku.util.AndroidAssert.assertNotNull;
public class NetworkManager extends Observable { public class NetworkManager extends Observable {
@NonNull @NonNull
private final Map<Integer, QNetwork> networks = new HashMap<>(); private final Map<Integer, QNetwork> networks = new HashMap<>();
@NonNull @NonNull
private final ObservableSortedList<QNetwork> list = new ObservableSortedList<>(QNetwork.class, new ObservableSortedList.ItemComparator<QNetwork>() { private final ObservableSortedList<QNetwork> list = new ObservableSortedList<QNetwork>(QNetwork.class, new ObservableSortedList.ItemComparator<QNetwork>() {
@Override @Override
public int compare(QNetwork o1, QNetwork o2) { public int compare(QNetwork o1, QNetwork o2) {
return o1 == null && o2 == null ? 0 : o1 == null ? 1 : o2 == null ? -1 : o1.networkName().compareTo(o2.networkName()); assertNotNull(o1);
assertNotNull(o2);
String name1 = o1.networkName();
String name2 = o2.networkName();
if (name1 == null && name2 == null) {
return 0;
} else if (name1 == null) {
return 1;
} else if (name2 == null) {
return -1;
} else {
return name1.compareTo(name2);
}
} }
@Override @Override
...@@ -55,7 +68,21 @@ public class NetworkManager extends Observable { ...@@ -55,7 +68,21 @@ public class NetworkManager extends Observable {
public boolean areItemsTheSame(QNetwork item1, QNetwork item2) { public boolean areItemsTheSame(QNetwork item1, QNetwork item2) {
return item1.networkId() == item2.networkId(); return item1.networkId() == item2.networkId();
} }
}); }) {
@Override
public boolean add(QNetwork object) {
if (object == null)
throw new Error();
return super.add(object);
}
@Override
public void add(int location, QNetwork object) {
if (object == null)
throw new Error();
super.add(location, object);
}
};
@NonNull @NonNull
private final Client client; private final Client client;
...@@ -69,7 +96,7 @@ public class NetworkManager extends Observable { ...@@ -69,7 +96,7 @@ public class NetworkManager extends Observable {
public void createNetwork(@NonNull QNetwork network) { public void createNetwork(@NonNull QNetwork network) {
QNetwork qNetwork = networks.get(network.networkId()); QNetwork qNetwork = networks.get(network.networkId());
if (list.contains(qNetwork)) if (qNetwork != null && list.contains(qNetwork))
list.remove(qNetwork); list.remove(qNetwork);
networks.put(network.networkId(), network); networks.put(network.networkId(), network);
list.add(network); list.add(network);
...@@ -80,7 +107,9 @@ public class NetworkManager extends Observable { ...@@ -80,7 +107,9 @@ public class NetworkManager extends Observable {
} }
public void removeNetwork(@IntRange(from = 0) int network) { public void removeNetwork(@IntRange(from = 0) int network) {
list.remove(networks.get(network)); QNetwork qNetwork = networks.get(network);
if (qNetwork != null)
list.remove(qNetwork);
networks.remove(network); networks.remove(network);
} }
......
...@@ -23,7 +23,6 @@ package de.kuschku.libquassel.message; ...@@ -23,7 +23,6 @@ package de.kuschku.libquassel.message;
import android.support.annotation.NonNull; import android.support.annotation.NonNull;
import android.support.annotation.Nullable; import android.support.annotation.Nullable;
import android.util.Log;
import com.raizlabs.android.dbflow.annotation.Column; import com.raizlabs.android.dbflow.annotation.Column;
import com.raizlabs.android.dbflow.annotation.ForeignKey; import com.raizlabs.android.dbflow.annotation.ForeignKey;
...@@ -67,12 +66,6 @@ public class Message extends BaseModel implements ContentComparable<Message> { ...@@ -67,12 +66,6 @@ public class Message extends BaseModel implements ContentComparable<Message> {
public LocalDate date; public LocalDate date;
public LocalDate getLocalDate() {
if (date == null)
date = time.toLocalDate();
return date;
}
public static Message create(int id, DateTime time, Type type, Flags flags, BufferInfo bufferInfo, String sender, String content) { public static Message create(int id, DateTime time, Type type, Flags flags, BufferInfo bufferInfo, String sender, String content) {
Message message = new Message(); Message message = new Message();
message.id = id; message.id = id;
...@@ -85,6 +78,12 @@ public class Message extends BaseModel implements ContentComparable<Message> { ...@@ -85,6 +78,12 @@ public class Message extends BaseModel implements ContentComparable<Message> {
return message; return message;
} }
public LocalDate getLocalDate() {
if (date == null)
date = time.toLocalDate();
return date;
}
@NonNull @NonNull
@Override @Override
public String toString() { public String toString() {
......
...@@ -33,8 +33,6 @@ import de.kuschku.libquassel.objects.types.ClientLogin; ...@@ -33,8 +33,6 @@ import de.kuschku.libquassel.objects.types.ClientLogin;
import de.kuschku.libquassel.primitives.QMetaType; import de.kuschku.libquassel.primitives.QMetaType;
import de.kuschku.libquassel.primitives.types.QVariant; import de.kuschku.libquassel.primitives.types.QVariant;
import static de.kuschku.util.AndroidAssert.assertNotNull;
@SuppressWarnings({"unchecked", "ConstantConditions"}) @SuppressWarnings({"unchecked", "ConstantConditions"})
public class ClientLoginSerializer implements ObjectSerializer<ClientLogin> { public class ClientLoginSerializer implements ObjectSerializer<ClientLogin> {
@NonNull @NonNull
......
...@@ -33,8 +33,6 @@ import de.kuschku.libquassel.objects.types.CoreSetupData; ...@@ -33,8 +33,6 @@ import de.kuschku.libquassel.objects.types.CoreSetupData;
import de.kuschku.libquassel.primitives.QMetaType; import de.kuschku.libquassel.primitives.QMetaType;
import de.kuschku.libquassel.primitives.types.QVariant; import de.kuschku.libquassel.primitives.types.QVariant;
import static de.kuschku.util.AndroidAssert.assertNotNull;
@SuppressWarnings({"unchecked", "ConstantConditions"}) @SuppressWarnings({"unchecked", "ConstantConditions"})
public class CoreSetupDataSerializer implements ObjectSerializer<CoreSetupData> { public class CoreSetupDataSerializer implements ObjectSerializer<CoreSetupData> {
@NonNull @NonNull
......
...@@ -33,8 +33,6 @@ import de.kuschku.libquassel.objects.types.CoreSetupReject; ...@@ -33,8 +33,6 @@ import de.kuschku.libquassel.objects.types.CoreSetupReject;
import de.kuschku.libquassel.primitives.QMetaType; import de.kuschku.libquassel.primitives.QMetaType;
import de.kuschku.libquassel.primitives.types.QVariant; import de.kuschku.libquassel.primitives.types.QVariant;
import static de.kuschku.util.AndroidAssert.assertNotNull;
@SuppressWarnings({"unchecked", "ConstantConditions"}) @SuppressWarnings({"unchecked", "ConstantConditions"})
public class CoreSetupRejectSerializer implements ObjectSerializer<CoreSetupReject> { public class CoreSetupRejectSerializer implements ObjectSerializer<CoreSetupReject> {
@NonNull @NonNull
......
...@@ -33,8 +33,6 @@ import de.kuschku.libquassel.objects.types.NetworkServer; ...@@ -33,8 +33,6 @@ import de.kuschku.libquassel.objects.types.NetworkServer;
import de.kuschku.libquassel.primitives.QMetaType; import de.kuschku.libquassel.primitives.QMetaType;
import de.kuschku.libquassel.primitives.types.QVariant; import de.kuschku.libquassel.primitives.types.QVariant;
import static de.kuschku.util.AndroidAssert.assertNotNull;
@SuppressWarnings({"unchecked", "ConstantConditions"}) @SuppressWarnings({"unchecked", "ConstantConditions"})
public class NetworkServerSerializer implements ObjectSerializer<NetworkServer> { public class NetworkServerSerializer implements ObjectSerializer<NetworkServer> {
@NonNull @NonNull
......
...@@ -33,8 +33,6 @@ import de.kuschku.libquassel.objects.types.SetupData; ...@@ -33,8 +33,6 @@ import de.kuschku.libquassel.objects.types.SetupData;
import de.kuschku.libquassel.primitives.QMetaType; import de.kuschku.libquassel.primitives.QMetaType;
import de.kuschku.libquassel.primitives.types.QVariant; import de.kuschku.libquassel.primitives.types.QVariant;
import static de.kuschku.util.AndroidAssert.assertNotNull;
@SuppressWarnings({"unchecked", "ConstantConditions"}) @SuppressWarnings({"unchecked", "ConstantConditions"})
public class SetupDataInitializer implements ObjectSerializer<SetupData> { public class SetupDataInitializer implements ObjectSerializer<SetupData> {
@NonNull @NonNull
......
...@@ -34,8 +34,6 @@ import de.kuschku.libquassel.objects.types.StorageBackend; ...@@ -34,8 +34,6 @@ import de.kuschku.libquassel.objects.types.StorageBackend;
import de.kuschku.libquassel.primitives.QMetaType; import de.kuschku.libquassel.primitives.QMetaType;
import de.kuschku.libquassel.primitives.types.QVariant; import de.kuschku.libquassel.primitives.types.QVariant;
import static de.kuschku.util.AndroidAssert.assertNotNull;
@SuppressWarnings({"unchecked", "ConstantConditions"}) @SuppressWarnings({"unchecked", "ConstantConditions"})
public class StorageBackendSerializer implements ObjectSerializer<StorageBackend> { public class StorageBackendSerializer implements ObjectSerializer<StorageBackend> {
@NonNull @NonNull
......
...@@ -31,8 +31,6 @@ import de.kuschku.libquassel.functions.types.SerializedFunction; ...@@ -31,8 +31,6 @@ import de.kuschku.libquassel.functions.types.SerializedFunction;
import de.kuschku.libquassel.functions.types.UnpackedFunction; import de.kuschku.libquassel.functions.types.UnpackedFunction;
import de.kuschku.libquassel.primitives.types.QVariant; import de.kuschku.libquassel.primitives.types.QVariant;
import static de.kuschku.util.AndroidAssert.assertNotNull;
@SuppressWarnings({"unchecked", "ConstantConditions"}) @SuppressWarnings({"unchecked", "ConstantConditions"})
public class StringObjectMapSerializer<T> implements ObjectSerializer<Map<String, T>> { public class StringObjectMapSerializer<T> implements ObjectSerializer<Map<String, T>> {
@NonNull @NonNull
......
...@@ -76,36 +76,44 @@ public class CoreStatus { ...@@ -76,36 +76,44 @@ public class CoreStatus {
case UInt: { case UInt: {
defaults.putInt(key, (int) value.data); defaults.putInt(key, (int) value.data);
types.putString(key, "int"); types.putString(key, "int");
} break; }
break;
case Short: case Short:
case UShort: { case UShort: {
defaults.putShort(key, (short) value.data); defaults.putShort(key, (short) value.data);
types.putString(key, "short"); types.putString(key, "short");
} break; }
break;
case Long: case Long:
case ULong: { case ULong: {
defaults.putLong(key, (long) value.data); defaults.putLong(key, (long) value.data);
types.putString(key, "long"); types.putString(key, "long");
} break; }
break;
case Bool: { case Bool: {
defaults.putBoolean(key, (boolean) value.data); defaults.putBoolean(key, (boolean) value.data);
types.putString(key, "boolean"); types.putString(key, "boolean");
} break; }
break;
case Double: { case Double: {
bundle.putDouble(key, (double) value.data); bundle.putDouble(key, (double) value.data);
types.putString(key, "double"); types.putString(key, "double");
} break; }
break;
case Float: { case Float: {
defaults.putDouble(key, (float) value.data); defaults.putDouble(key, (float) value.data);
types.putString(key, "float"); types.putString(key, "float");
} break; }
break;
case QString: { case QString: {
defaults.putString(key, (String) value.data); defaults.putString(key, (String) value.data);
types.putString(key, "string"); types.putString(key, "string");
} break; }
break;
default: { default: {
Log.w("CoreSetup", "Found configuration element with incompatible type: " + key + " : " + value.type.type); Log.w("CoreSetup", "Found configuration element with incompatible type: " + key + " : " + value.type.type);
} break; }
break;
} }
} else { } else {
defaults.putString(key, ""); defaults.putString(key, "");
......
...@@ -23,7 +23,6 @@ package de.kuschku.libquassel.primitives.serializers; ...@@ -23,7 +23,6 @@ package de.kuschku.libquassel.primitives.serializers;
import android.support.annotation.NonNull; import android.support.annotation.NonNull;
import android.support.annotation.Nullable; import android.support.annotation.Nullable;
import android.util.Log;
import com.google.common.base.Charsets; import com.google.common.base.Charsets;
......
...@@ -29,7 +29,6 @@ import java.nio.channels.ByteChannel; ...@@ -29,7 +29,6 @@ import java.nio.channels.ByteChannel;
import java.util.Map; import java.util.Map;
import de.kuschku.libquassel.objects.serializers.ObjectSerializer; import de.kuschku.libquassel.objects.serializers.ObjectSerializer;
import de.kuschku.libquassel.primitives.QMetaType;
import de.kuschku.libquassel.primitives.types.QVariant; import de.kuschku.libquassel.primitives.types.QVariant;
import static de.kuschku.util.AndroidAssert.assertNotNull; import static de.kuschku.util.AndroidAssert.assertNotNull;
......
...@@ -22,7 +22,6 @@ ...@@ -22,7 +22,6 @@
package de.kuschku.libquassel.primitives.serializers; package de.kuschku.libquassel.primitives.serializers;
import android.support.annotation.NonNull; import android.support.annotation.NonNull;
import android.util.Log;
import java.io.IOException; import java.io.IOException;
import java.nio.ByteBuffer; import java.nio.ByteBuffer;
......
...@@ -28,8 +28,6 @@ import com.raizlabs.android.dbflow.annotation.PrimaryKey; ...@@ -28,8 +28,6 @@ import com.raizlabs.android.dbflow.annotation.PrimaryKey;
import com.raizlabs.android.dbflow.annotation.Table; import com.raizlabs.android.dbflow.annotation.Table;
import com.raizlabs.android.dbflow.structure.BaseModel; import com.raizlabs.android.dbflow.structure.BaseModel;
import java.util.List;
import de.kuschku.libquassel.localtypes.orm.ConnectedDatabase; import de.kuschku.libquassel.localtypes.orm.ConnectedDatabase;
@Table(database = ConnectedDatabase.class) @Table(database = ConnectedDatabase.class)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment