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

Cleaned up the code a bit

parent b0689157
No related branches found
No related tags found
No related merge requests found
Showing
with 76 additions and 38 deletions
......@@ -36,7 +36,7 @@ if (versionPropsFile.canRead()) {
versionProps.load(new FileInputStream(versionPropsFile))
def runTasks = gradle.startParameter.taskNames
versionBuild = Integer.valueOf(versionProps['VERSION_BUILD'])
versionBuild = Integer.valueOf(versionProps['VERSION_BUILD'].toString())
if ('assemble' in runTasks || 'assembleRelease' in runTasks || 'aR' in runTasks) {
versionBuild = versionBuild + 1
}
......
......@@ -7,13 +7,13 @@
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:label="@string/appName"
android:supportsRtl="true">
<service android:name=".service.QuasselService" />
<activity
android:name=".ui.chat.ChatActivity"
android:label="@string/app_name"
android:label="@string/appName"
android:launchMode="singleTask"
android:theme="@style/AppTheme.Light">
<intent-filter>
......
......@@ -18,8 +18,11 @@ public class BusProvider {
@NonNull
private final String id;
@NonNull
private final BusHandler handleHandler = new BusHandler("QHANDLE");
@NonNull
private final BusHandler dispatchHandler = new BusHandler("QDISPATCH");
@NonNull
private final BusHandler eventHandler = new BusHandler("QEVENT");
public BusProvider() {
......@@ -44,6 +47,7 @@ public class BusProvider {
this.event.post(o);
}
@NonNull
@Override
public String toString() {
return "BusProvider{" +
......
......@@ -57,15 +57,20 @@ public class Client {
@NonNull
private final BusProvider busProvider;
private long lag;
private ConnectionChangeEvent.Status connectionStatus;
@NonNull
private ConnectionChangeEvent.Status connectionStatus = ConnectionChangeEvent.Status.DISCONNECTED;
@Nullable
private ClientInitAck core;
@Nullable
private SessionState state;
@Nullable
private BufferViewManager bufferViewManager;
@Nullable
private BufferSyncer bufferSyncer;
private ClientData clientData;
@Nullable
private IgnoreListManager ignoreListManager;
private Map<Integer, Identity> Identities = new HashMap<>();
@NonNull
private final Map<Integer, Identity> Identities = new HashMap<>();
public Client(@NonNull final BusProvider busProvider) {
this(new SimpleBacklogManager(busProvider), busProvider);
......@@ -221,26 +226,24 @@ public class Client {
}
}
@Nullable
public BufferSyncer getBufferSyncer() {
return bufferSyncer;
}
public void setBufferSyncer(BufferSyncer bufferSyncer) {
public void setBufferSyncer(@Nullable BufferSyncer bufferSyncer) {
this.bufferSyncer = bufferSyncer;
}
@Nullable
public ClientInitAck getCore() {
return core;
}
public void setCore(ClientInitAck core) {
public void setCore(@Nullable ClientInitAck core) {
this.core = core;
}
public void setClientData(ClientData clientData) {
this.clientData = clientData;
}
@NonNull
public Collection<Buffer> getBuffers(int networkId) {
return new Stream<>(this.buffers.values()).filter(buffer -> buffer.getInfo().networkId == networkId).list();
......@@ -261,7 +264,7 @@ public class Client {
busProvider.sendEvent(new ConnectionChangeEvent(connectionStatus));
}
public void login(String username, String password) {
public void login(@NonNull String username, @NonNull String password) {
busProvider.dispatch(new HandshakeFunction(new ClientLogin(
username, password
)));
......@@ -281,11 +284,12 @@ public class Client {
busProvider.sendEvent(new LagChangedEvent(lag));
}
@Nullable
public IgnoreListManager getIgnoreListManager() {
return ignoreListManager;
}
public void setIgnoreListManager(IgnoreListManager ignoreListManager) {
public void setIgnoreListManager(@Nullable IgnoreListManager ignoreListManager) {
this.ignoreListManager = ignoreListManager;
}
......
......@@ -5,8 +5,6 @@ import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.util.Log;
import org.joda.time.DateTime;
import java.io.IOException;
import java.net.InetSocketAddress;
import java.net.Socket;
......@@ -70,7 +68,7 @@ public class CoreConnection {
@Nullable
private Client client;
@NonNull
private CertificateManager certificateManager;
private final CertificateManager certificateManager;
public CoreConnection(@NonNull final ServerAddress address, @NonNull final ClientData clientData, @NonNull final BusProvider busProvider, @NonNull CertificateManager certificateManager) {
this.address = address;
......@@ -260,6 +258,7 @@ public class CoreConnection {
// Mark prehandshake as read
hasReadPreHandshake = true;
assertNotNull(heartbeatThread);
heartbeatThread.start();
// Send client data to core
......@@ -303,7 +302,7 @@ public class CoreConnection {
assertNotNull(client);
while (running) {
Heartbeat heartbeat = new Heartbeat(DateTime.now());
Heartbeat heartbeat = new Heartbeat();
busProvider.dispatch(heartbeat);
Thread.sleep(30 * 1000);
......
......@@ -53,6 +53,7 @@ public class ProtocolHandler implements IProtocolHandler {
client.getInitDataQueue().remove(packedFunc.className + ":" + packedFunc.objectName);
if (client.getInitDataQueue().isEmpty()) {
client.setConnectionStatus(ConnectionChangeEvent.Status.CONNECTED);
busProvider.dispatch(new Heartbeat());
}
}
}
......@@ -121,7 +122,7 @@ public class ProtocolHandler implements IProtocolHandler {
}
public void onEvent(@NonNull SessionInit message) {
busProvider.dispatch(new Heartbeat(DateTime.now()));
busProvider.dispatch(new Heartbeat());
client.setState(message.SessionState);
......@@ -133,6 +134,8 @@ public class ProtocolHandler implements IProtocolHandler {
client.sendInitRequest("NetworkConfig", "GlobalNetworkConfig", true);
client.sendInitRequest("IgnoreListManager", "", true);
//sendInitRequest("TransferManager", ""); // This thing never gets sent...
assertNotNull(client.getState());
for (int NetworkId : client.getState().NetworkIds) {
client.sendInitRequest("Network", String.valueOf(NetworkId), true);
}
......
package de.kuschku.libquassel.events;
import android.support.annotation.NonNull;
public class LagChangedEvent {
public final long lag;
......@@ -7,6 +9,7 @@ public class LagChangedEvent {
this.lag = lag;
}
@NonNull
@Override
public String toString() {
return "LagChangedEvent{" +
......
package de.kuschku.libquassel.events;
import android.support.annotation.NonNull;
import java.security.cert.X509Certificate;
import de.kuschku.libquassel.ssl.UnknownCertificateException;
......@@ -14,7 +16,7 @@ public class UnknownCertificateEvent {
this.address = address;
}
public UnknownCertificateEvent(UnknownCertificateException cause) {
public UnknownCertificateEvent(@NonNull UnknownCertificateException cause) {
this(cause.certificate, cause.address);
}
}
package de.kuschku.libquassel.functions.types;
import android.support.annotation.NonNull;
import org.joda.time.DateTime;
public class Heartbeat {
......@@ -9,6 +11,11 @@ public class Heartbeat {
this.dateTime = dateTime;
}
public Heartbeat() {
this(DateTime.now());
}
@NonNull
@Override
public String toString() {
return "Heartbeat{" +
......
package de.kuschku.libquassel.functions.types;
import android.support.annotation.NonNull;
import org.joda.time.DateTime;
public class HeartbeatReply {
......@@ -9,6 +11,7 @@ public class HeartbeatReply {
this.dateTime = dateTime;
}
@NonNull
@Override
public String toString() {
return "HeartbeatReply{" +
......
......@@ -12,5 +12,6 @@ public interface Buffer {
@Nullable
String getName();
@NonNull
BufferInfo.BufferStatus getStatus();
}
......@@ -29,6 +29,7 @@ public class ChannelBuffer implements Buffer {
return getInfo().name;
}
@NonNull
@Override
public BufferInfo.BufferStatus getStatus() {
return channel == null ? BufferInfo.BufferStatus.OFFLINE : BufferInfo.BufferStatus.ONLINE;
......
package de.kuschku.libquassel.localtypes;
import android.support.annotation.NonNull;
import android.util.SparseArray;
import java.util.ArrayList;
......@@ -13,14 +14,18 @@ import de.kuschku.libquassel.syncables.types.Network;
import de.kuschku.util.observables.lists.ObservableComparableSortedList;
public class NotificationManager {
private SparseArray<ObservableComparableSortedList<Message>> notifications = new SparseArray<>();
private List<HighlightRule> highlights = new ArrayList<>();
private Client client;
@NonNull
private final SparseArray<ObservableComparableSortedList<Message>> notifications = new SparseArray<>();
@NonNull
private final List<HighlightRule> highlights = new ArrayList<>();
@NonNull
private final Client client;
public NotificationManager(Client client) {
public NotificationManager(@NonNull Client client) {
this.client = client;
}
@NonNull
public ObservableComparableSortedList<Message> getNotifications(int bufferid) {
if (notifications.get(bufferid) == null)
notifications.put(bufferid, new ObservableComparableSortedList<>(Message.class));
......@@ -32,13 +37,13 @@ public class NotificationManager {
notifications.put(id, new ObservableComparableSortedList<>(Message.class));
}
public void receiveMessage(Message message) {
public void receiveMessage(@NonNull Message message) {
if (checkMessage(message)) {
getNotifications(message.bufferInfo.id).add(message);
}
}
public boolean checkMessage(Message message) {
public boolean checkMessage(@NonNull Message message) {
Buffer buffer = client.getBuffer(message.bufferInfo.id);
if (buffer == null) return false;
Network network = client.getNetwork(buffer.getInfo().networkId);
......@@ -50,6 +55,8 @@ public class NotificationManager {
if (message.content.contains(nick))
return true;
}
if (buffer.getName() == null)
return false;
for (HighlightRule rule : highlights) {
if (rule.matches(message.content, buffer.getName()))
return true;
......@@ -57,7 +64,7 @@ public class NotificationManager {
return false;
}
public void receiveMessages(List<Message> messages) {
public void receiveMessages(@NonNull List<Message> messages) {
for (Message message : messages) {
receiveMessage(message);
}
......@@ -69,14 +76,14 @@ public class NotificationManager {
public final boolean invertChannelRule;
public final boolean caseSensitive;
public HighlightRule(String rule, String channelRule, boolean invertChannelRule, boolean caseSensitive) {
public HighlightRule(@NonNull String rule, @NonNull String channelRule, boolean invertChannelRule, boolean caseSensitive) {
this.rule = rule.isEmpty() ? Pattern.compile(".*") : Pattern.compile(rule);
this.channelRule = channelRule.isEmpty() ? Pattern.compile(".*") : Pattern.compile(channelRule);
this.invertChannelRule = invertChannelRule;
this.caseSensitive = caseSensitive;
}
public boolean matches(String message, String channelName) {
public boolean matches(@NonNull String message, @NonNull String channelName) {
return (invertChannelRule ^ channelRule.matcher(channelName).matches() && rule.matcher(message).matches());
}
}
......
......@@ -29,6 +29,7 @@ public class QueryBuffer implements Buffer {
return getInfo().name;
}
@NonNull
@Override
public BufferInfo.BufferStatus getStatus() {
return (user == null) ? BufferInfo.BufferStatus.OFFLINE :
......
......@@ -29,6 +29,7 @@ public class StatusBuffer implements Buffer {
return network.getNetworkName();
}
@NonNull
@Override
public BufferInfo.BufferStatus getStatus() {
return network.isConnected() ? BufferInfo.BufferStatus.ONLINE : BufferInfo.BufferStatus.OFFLINE;
......
package de.kuschku.libquassel.localtypes.backlogmanagers;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import org.joda.time.DateTime;
import org.joda.time.DateTimeUtils;
......@@ -23,8 +24,10 @@ public class BacklogFilter implements UICallback {
@NonNull
private final ObservableSortedList<Message> filtered;
@NonNull
private final Set<Message.Type> filteredTypes = new HashSet<>();
@Nullable
private DateTime earliestMessage;
public BacklogFilter(@NonNull Client client, int bufferId, @NonNull ObservableSortedList<Message> unfiltered, @NonNull ObservableSortedList<Message> filtered) {
......@@ -44,7 +47,6 @@ public class BacklogFilter implements UICallback {
private void updateDayChangeMessages() {
DateTime now = DateTime.now().withMillisOfDay(0);
int id = -1;
while (now.isAfter(earliestMessage)) {
filtered.add(new Message(
(int) DateTimeUtils.toJulianDay(now.getMillis()),
......@@ -65,7 +67,7 @@ public class BacklogFilter implements UICallback {
}
}
private boolean filterItem(Message message) {
private boolean filterItem(@NonNull Message message) {
return (client.getIgnoreListManager() != null && client.getIgnoreListManager().matches(message)) || filteredTypes.contains(message.type);
}
......
......@@ -46,7 +46,7 @@ public class SimpleBacklogManager extends BacklogManager<SimpleBacklogManager> {
}
public void requestBacklog(int bufferId, int from, int to, int count, int extra) {
busProvider.dispatch(new SyncFunction<>("BacklogManager", "", "requestBacklog", Lists.newArrayList(
busProvider.dispatch(new SyncFunction<>("BacklogManager", "", "requestBacklog", Lists.<QVariant>newArrayList(
new QVariant<>("BufferId", bufferId),
new QVariant<>("MsgId", from),
new QVariant<>("MsgId", to),
......@@ -56,6 +56,7 @@ public class SimpleBacklogManager extends BacklogManager<SimpleBacklogManager> {
}
public void receiveBacklog(@IntRange(from = 0) int bufferId, int from, int to, int count, int extra, @NonNull List<Message> messages) {
assertNotNull(client);
get(bufferId).addAll(messages);
client.getNotificationManager().receiveMessages(messages);
......@@ -64,6 +65,7 @@ public class SimpleBacklogManager extends BacklogManager<SimpleBacklogManager> {
@Override
public void displayMessage(@IntRange(from = 0) int bufferId, @NonNull Message message) {
assertNotNull(client);
ObservableSortedList<Message> messages = get(bufferId);
assertNotNull(messages);
......@@ -81,10 +83,7 @@ public class SimpleBacklogManager extends BacklogManager<SimpleBacklogManager> {
@Override
public void requestMoreBacklog(@IntRange(from = 0) int bufferId, int count) {
ObservableSortedList<Message> backlog = backlogs.get(bufferId);
int messageId =
(backlog == null) ? -1 :
(backlog.last() == null) ? -1 :
backlog.last().messageId;
int messageId = (backlog == null || backlog.last() == null) ? -1 : backlog.last().messageId;
requestBacklog(bufferId, -1, messageId, count, 0);
}
......
......@@ -57,7 +57,7 @@ public class Message implements ContentComparable<Message> {
}
@Override
public boolean areItemsTheSame(Message other) {
public boolean areItemsTheSame(@NonNull Message other) {
return this.messageId == other.messageId;
}
......
......@@ -45,6 +45,7 @@ public class QMetaType<T> {
public final String name;
@NonNull
public final Class cl;
@Nullable
public final PrimitiveSerializer<T> serializer;
public QMetaType(@NonNull Class cl, @NonNull Type type) {
......
......@@ -297,7 +297,7 @@ public class DatastreamPeer implements RemotePeer {
} else {
handlePackedFunc(data);
}
} catch (BufferUnderflowException | BufferOverflowException e) {
} catch (@NonNull BufferUnderflowException | BufferOverflowException e) {
Helper.printHexDump(buffer.array());
busProvider.sendEvent(new GeneralErrorEvent(e));
} catch (Exception e) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment