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

Worked on functionality to edit chat lists

Still Missing: Setting Network and Minimum Activity, actually applying those settings.
parent 855392c8
Branches
Tags
No related merge requests found
Showing
with 63 additions and 41 deletions
...@@ -60,6 +60,27 @@ ...@@ -60,6 +60,27 @@
android:parentActivityName=".ui.chat.MainActivity" android:parentActivityName=".ui.chat.MainActivity"
android:theme="@style/AppTheme.Light" /> android:theme="@style/AppTheme.Light" />
<activity
android:name=".ui.coresettings.ChatListListActivity"
android:label="Edit Chat Lists"
android:launchMode="singleTask"
android:parentActivityName=".ui.chat.MainActivity"
android:theme="@style/AppTheme.Light" />
<activity
android:name=".ui.coresettings.ChatListEditActivity"
android:label="Edit Chat List"
android:launchMode="singleTask"
android:parentActivityName=".ui.coresettings.ChatListListActivity"
android:theme="@style/AppTheme.Light" />
<activity
android:name=".ui.coresettings.ChatListCreateActivity"
android:label="Create Chat List"
android:launchMode="singleTask"
android:parentActivityName=".ui.coresettings.ChatListListActivity"
android:theme="@style/AppTheme.Light" />
<activity <activity
android:name=".ui.setup.AccountSetupActivity" android:name=".ui.setup.AccountSetupActivity"
android:label="Account Setup" android:label="Account Setup"
......
...@@ -101,7 +101,7 @@ public class ProtocolHandler implements IProtocolHandler { ...@@ -101,7 +101,7 @@ public class ProtocolHandler implements IProtocolHandler {
@Subscribe(threadMode = ThreadMode.MAIN) @Subscribe(threadMode = ThreadMode.MAIN)
public void onEventMainThread(@NonNull SyncFunction packedFunc) { public void onEventMainThread(@NonNull SyncFunction packedFunc) {
// Log.d("ProtocolHandler", String.format("Sync Call: %s::%s(%s, %s)", packedFunc.className, packedFunc.methodName, packedFunc.objectName, packedFunc.params)); Log.d("ProtocolHandler", String.format("Sync Call: %s::%s(%s, %s)", packedFunc.className, packedFunc.methodName, packedFunc.objectName, packedFunc.params));
try { try {
final Object syncable = client.unsafe_getObjectByIdentifier(packedFunc.className, packedFunc.objectName); final Object syncable = client.unsafe_getObjectByIdentifier(packedFunc.className, packedFunc.objectName);
......
...@@ -191,10 +191,7 @@ public class BufferManager { ...@@ -191,10 +191,7 @@ public class BufferManager {
provider.sendEvent(new BacklogInitEvent(waitingMax - waitingCurrently, waitingMax)); provider.sendEvent(new BacklogInitEvent(waitingMax - waitingCurrently, waitingMax));
if (waitingMax == 0) { client.backlogManager().checkWaiting();
// TODO: Send event to set up chat list
client.setConnectionStatus(ConnectionChangeEvent.Status.CONNECTED);
}
} }
public StatusBuffer network(int networkId) { public StatusBuffer network(int networkId) {
......
...@@ -69,9 +69,6 @@ import de.kuschku.util.buffermetadata.BufferMetaDataManager; ...@@ -69,9 +69,6 @@ import de.kuschku.util.buffermetadata.BufferMetaDataManager;
import static de.kuschku.util.AndroidAssert.assertNotNull; import static de.kuschku.util.AndroidAssert.assertNotNull;
public class Client extends AClient { public class Client extends AClient {
// synced
@NonNull @NonNull
private final NetworkManager networkManager; private final NetworkManager networkManager;
@NonNull @NonNull
...@@ -84,7 +81,7 @@ public class Client extends AClient { ...@@ -84,7 +81,7 @@ public class Client extends AClient {
private final NotificationManager notificationManager; private final NotificationManager notificationManager;
private final List<String> initRequests = new LinkedList<>(); private final List<String> initRequests = new LinkedList<>();
@NonNull @NonNull
private final QBacklogManager<? extends QBacklogManager> backlogManager; private final QBacklogManager backlogManager;
private final Map<String, List<SyncFunction>> bufferedSyncs = new HashMap<>(); private final Map<String, List<SyncFunction>> bufferedSyncs = new HashMap<>();
private final Map<Integer, Pair<QBufferViewConfig, Integer>> bufferedBuffers = new HashMap<>(); private final Map<Integer, Pair<QBufferViewConfig, Integer>> bufferedBuffers = new HashMap<>();
private int initRequestMax = 0; private int initRequestMax = 0;
...@@ -117,7 +114,7 @@ public class Client extends AClient { ...@@ -117,7 +114,7 @@ public class Client extends AClient {
this.metaDataManager = metaDataManager; this.metaDataManager = metaDataManager;
} }
public QBufferViewManager<?> bufferViewManager() { public QBufferViewManager bufferViewManager() {
return bufferViewManager; return bufferViewManager;
} }
...@@ -130,7 +127,7 @@ public class Client extends AClient { ...@@ -130,7 +127,7 @@ public class Client extends AClient {
} }
@NonNull @NonNull
public QBacklogManager<? extends QBacklogManager> backlogManager() { public QBacklogManager backlogManager() {
return backlogManager; return backlogManager;
} }
...@@ -193,20 +190,21 @@ public class Client extends AClient { ...@@ -193,20 +190,21 @@ public class Client extends AClient {
} }
public ConnectionChangeEvent.Status connectionStatus() { public synchronized ConnectionChangeEvent.Status connectionStatus() {
return connectionStatus; return connectionStatus;
} }
public void setConnectionStatus(@NonNull ConnectionChangeEvent.Status connectionStatus) { public synchronized void setConnectionStatus(@NonNull ConnectionChangeEvent.Status connectionStatus) {
assertNotNull(provider); assertNotNull(provider);
this.connectionStatus = connectionStatus; this.connectionStatus = connectionStatus;
provider.event.postSticky(new ConnectionChangeEvent(connectionStatus));
if (connectionStatus == ConnectionChangeEvent.Status.LOADING_BACKLOG) { if (connectionStatus == ConnectionChangeEvent.Status.LOADING_BACKLOG) {
bufferManager().doBacklogInit(20); bufferManager().doBacklogInit(20);
} else if (connectionStatus == ConnectionChangeEvent.Status.CONNECTED) { } else if (connectionStatus == ConnectionChangeEvent.Status.CONNECTED) {
// FIXME: Init buffer activity state and highlightss // FIXME: Init buffer activity state and highlightss
} }
provider.event.postSticky(new ConnectionChangeEvent(connectionStatus));
} }
@Nullable @Nullable
...@@ -420,23 +418,23 @@ public class Client extends AClient { ...@@ -420,23 +418,23 @@ public class Client extends AClient {
return notificationManager; return notificationManager;
} }
public void setBufferSyncer(BufferSyncer bufferSyncer) { public void setBufferSyncer(QBufferSyncer bufferSyncer) {
this.bufferSyncer = bufferSyncer; this.bufferSyncer = bufferSyncer;
} }
public void setBufferViewManager(BufferViewManager bufferViewManager) { public void setBufferViewManager(QBufferViewManager bufferViewManager) {
this.bufferViewManager = bufferViewManager; this.bufferViewManager = bufferViewManager;
} }
public void setAliasManager(AliasManager aliasManager) { public void setAliasManager(QAliasManager aliasManager) {
this.aliasManager = aliasManager; this.aliasManager = aliasManager;
} }
public void setIgnoreListManager(IgnoreListManager ignoreListManager) { public void setIgnoreListManager(QIgnoreListManager ignoreListManager) {
this.ignoreListManager = ignoreListManager; this.ignoreListManager = ignoreListManager;
} }
public void setGlobalNetworkConfig(NetworkConfig globalNetworkConfig) { public void setGlobalNetworkConfig(QNetworkConfig globalNetworkConfig) {
this.globalNetworkConfig = globalNetworkConfig; this.globalNetworkConfig = globalNetworkConfig;
} }
......
...@@ -60,7 +60,7 @@ public class BufferViewManagerSerializer implements ObjectSerializer<QBufferView ...@@ -60,7 +60,7 @@ public class BufferViewManagerSerializer implements ObjectSerializer<QBufferView
} }
@NonNull @NonNull
private List<Integer> getBufferViewIds(@NonNull QBufferViewManager<?> data) { private List<Integer> getBufferViewIds(@NonNull QBufferViewManager data) {
List<Integer> bufferViewIds = new ArrayList<>(data.bufferViewConfigs().size()); List<Integer> bufferViewIds = new ArrayList<>(data.bufferViewConfigs().size());
for (QBufferViewConfig config : data.bufferViewConfigs()) for (QBufferViewConfig config : data.bufferViewConfigs())
bufferViewIds.add(config.bufferViewId()); bufferViewIds.add(config.bufferViewId());
......
...@@ -41,7 +41,7 @@ import static de.kuschku.util.AndroidAssert.assertNotNull; ...@@ -41,7 +41,7 @@ import static de.kuschku.util.AndroidAssert.assertNotNull;
import static de.kuschku.util.AndroidAssert.assertTrue; import static de.kuschku.util.AndroidAssert.assertTrue;
import static junit.framework.Assert.assertEquals; import static junit.framework.Assert.assertEquals;
public abstract class SyncableObject<T extends SyncableObject<T>> extends GeneralObservable implements QSyncableObject<T> { public abstract class SyncableObject<T> extends GeneralObservable<T> implements QSyncableObject<T> {
@Nullable @Nullable
protected BusProvider provider; protected BusProvider provider;
protected Client client; protected Client client;
...@@ -135,6 +135,6 @@ public abstract class SyncableObject<T extends SyncableObject<T>> extends Genera ...@@ -135,6 +135,6 @@ public abstract class SyncableObject<T extends SyncableObject<T>> extends Genera
} }
public void _update() { public void _update() {
notifyChanged(); notifyChanged((T) this);
} }
} }
...@@ -24,7 +24,7 @@ package de.kuschku.libquassel.syncables.types.abstracts; ...@@ -24,7 +24,7 @@ package de.kuschku.libquassel.syncables.types.abstracts;
import de.kuschku.libquassel.syncables.types.SyncableObject; import de.kuschku.libquassel.syncables.types.SyncableObject;
import de.kuschku.libquassel.syncables.types.interfaces.QAliasManager; import de.kuschku.libquassel.syncables.types.interfaces.QAliasManager;
public abstract class AAliasManager<T extends AAliasManager<T>> extends SyncableObject<T> implements QAliasManager { public abstract class AAliasManager extends SyncableObject<QAliasManager> implements QAliasManager {
@Override @Override
public void addAlias(String name, String expansion) { public void addAlias(String name, String expansion) {
_addAlias(name, expansion); _addAlias(name, expansion);
......
...@@ -28,7 +28,7 @@ import de.kuschku.libquassel.primitives.QMetaType; ...@@ -28,7 +28,7 @@ import de.kuschku.libquassel.primitives.QMetaType;
import de.kuschku.libquassel.syncables.types.SyncableObject; import de.kuschku.libquassel.syncables.types.SyncableObject;
import de.kuschku.libquassel.syncables.types.interfaces.QBacklogManager; import de.kuschku.libquassel.syncables.types.interfaces.QBacklogManager;
public abstract class ABacklogManager<T extends ABacklogManager<T>> extends SyncableObject<T> implements QBacklogManager<T> { public abstract class ABacklogManager extends SyncableObject<QBacklogManager> implements QBacklogManager {
static final String intName = QMetaType.Type.Int.getSerializableName(); static final String intName = QMetaType.Type.Int.getSerializableName();
@Override @Override
......
...@@ -24,7 +24,7 @@ package de.kuschku.libquassel.syncables.types.abstracts; ...@@ -24,7 +24,7 @@ package de.kuschku.libquassel.syncables.types.abstracts;
import de.kuschku.libquassel.syncables.types.SyncableObject; import de.kuschku.libquassel.syncables.types.SyncableObject;
import de.kuschku.libquassel.syncables.types.interfaces.QBufferSyncer; import de.kuschku.libquassel.syncables.types.interfaces.QBufferSyncer;
public abstract class ABufferSyncer<T extends ABufferSyncer<T>> extends SyncableObject<T> implements QBufferSyncer { public abstract class ABufferSyncer extends SyncableObject<QBufferSyncer> implements QBufferSyncer {
@Override @Override
public void requestSetLastSeenMsg(int buffer, int msgId) { public void requestSetLastSeenMsg(int buffer, int msgId) {
_requestSetLastSeenMsg(buffer, msgId); _requestSetLastSeenMsg(buffer, msgId);
......
...@@ -25,7 +25,7 @@ import de.kuschku.libquassel.primitives.QMetaType; ...@@ -25,7 +25,7 @@ import de.kuschku.libquassel.primitives.QMetaType;
import de.kuschku.libquassel.syncables.types.SyncableObject; import de.kuschku.libquassel.syncables.types.SyncableObject;
import de.kuschku.libquassel.syncables.types.interfaces.QBufferViewConfig; import de.kuschku.libquassel.syncables.types.interfaces.QBufferViewConfig;
public abstract class ABufferViewConfig<T extends ABufferViewConfig<T>> extends SyncableObject<T> implements QBufferViewConfig<T> { public abstract class ABufferViewConfig extends SyncableObject<QBufferViewConfig> implements QBufferViewConfig {
static final String intName = QMetaType.Type.Int.getSerializableName(); static final String intName = QMetaType.Type.Int.getSerializableName();
@Override @Override
......
...@@ -27,7 +27,7 @@ import de.kuschku.libquassel.syncables.types.SyncableObject; ...@@ -27,7 +27,7 @@ import de.kuschku.libquassel.syncables.types.SyncableObject;
import de.kuschku.libquassel.syncables.types.interfaces.QBufferViewConfig; import de.kuschku.libquassel.syncables.types.interfaces.QBufferViewConfig;
import de.kuschku.libquassel.syncables.types.interfaces.QBufferViewManager; import de.kuschku.libquassel.syncables.types.interfaces.QBufferViewManager;
public abstract class ABufferViewManager<T extends ABufferViewManager<T>> extends SyncableObject<T> implements QBufferViewManager<T> { public abstract class ABufferViewManager extends SyncableObject<QBufferViewManager> implements QBufferViewManager {
@Override @Override
public void createBufferView(QBufferViewConfig bufferView) { public void createBufferView(QBufferViewConfig bufferView) {
//_addBufferViewConfig(bufferView); //_addBufferViewConfig(bufferView);
......
...@@ -27,7 +27,7 @@ import de.kuschku.libquassel.primitives.types.QVariant; ...@@ -27,7 +27,7 @@ import de.kuschku.libquassel.primitives.types.QVariant;
import de.kuschku.libquassel.syncables.types.SyncableObject; import de.kuschku.libquassel.syncables.types.SyncableObject;
import de.kuschku.libquassel.syncables.types.interfaces.QCoreInfo; import de.kuschku.libquassel.syncables.types.interfaces.QCoreInfo;
public abstract class ACoreInfo<T extends ACoreInfo<T>> extends SyncableObject<T> implements QCoreInfo { public abstract class ACoreInfo extends SyncableObject<QCoreInfo> implements QCoreInfo {
@Override @Override
public void setCoreData(Map<String, QVariant> coreData) { public void setCoreData(Map<String, QVariant> coreData) {
_setCoreData(coreData); _setCoreData(coreData);
......
...@@ -26,7 +26,7 @@ import java.util.List; ...@@ -26,7 +26,7 @@ import java.util.List;
import de.kuschku.libquassel.syncables.types.SyncableObject; import de.kuschku.libquassel.syncables.types.SyncableObject;
import de.kuschku.libquassel.syncables.types.interfaces.QIdentity; import de.kuschku.libquassel.syncables.types.interfaces.QIdentity;
public abstract class AIdentity<T extends AIdentity<T>> extends SyncableObject<T> implements QIdentity { public abstract class AIdentity extends SyncableObject<QIdentity> implements QIdentity {
@Override @Override
public void setId(int id) { public void setId(int id) {
_setId(id); _setId(id);
......
...@@ -35,7 +35,7 @@ import de.kuschku.libquassel.syncables.types.interfaces.QNetwork; ...@@ -35,7 +35,7 @@ import de.kuschku.libquassel.syncables.types.interfaces.QNetwork;
import static de.kuschku.util.AndroidAssert.assertNotNull; import static de.kuschku.util.AndroidAssert.assertNotNull;
public abstract class AIgnoreListManager<T extends AIgnoreListManager<T>> extends SyncableObject<T> implements QIgnoreListManager { public abstract class AIgnoreListManager extends SyncableObject<QIgnoreListManager> implements QIgnoreListManager {
@Override @Override
public void removeIgnoreListItem(String ignoreRule) { public void removeIgnoreListItem(String ignoreRule) {
_removeIgnoreListItem(ignoreRule); _removeIgnoreListItem(ignoreRule);
......
...@@ -29,7 +29,7 @@ import de.kuschku.libquassel.syncables.types.SyncableObject; ...@@ -29,7 +29,7 @@ import de.kuschku.libquassel.syncables.types.SyncableObject;
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;
public abstract class AIrcChannel<T extends AIrcChannel<T>> extends SyncableObject<T> implements QIrcChannel { public abstract class AIrcChannel extends SyncableObject<QIrcChannel> implements QIrcChannel {
@Override @Override
public void setTopic(String topic) { public void setTopic(String topic) {
_setTopic(topic); _setTopic(topic);
......
...@@ -29,7 +29,7 @@ import de.kuschku.libquassel.syncables.types.SyncableObject; ...@@ -29,7 +29,7 @@ import de.kuschku.libquassel.syncables.types.SyncableObject;
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;
public abstract class AIrcUser<T extends AIrcUser<T>> extends SyncableObject<T> implements QIrcUser { public abstract class AIrcUser extends SyncableObject<QIrcUser> implements QIrcUser {
@Override @Override
public void setUser(String user) { public void setUser(String user) {
_setUser(user); _setUser(user);
......
...@@ -32,7 +32,7 @@ import de.kuschku.libquassel.syncables.types.interfaces.QIrcChannel; ...@@ -32,7 +32,7 @@ import de.kuschku.libquassel.syncables.types.interfaces.QIrcChannel;
import de.kuschku.libquassel.syncables.types.interfaces.QIrcUser; import de.kuschku.libquassel.syncables.types.interfaces.QIrcUser;
import de.kuschku.libquassel.syncables.types.interfaces.QNetwork; import de.kuschku.libquassel.syncables.types.interfaces.QNetwork;
public abstract class ANetwork<T extends ANetwork<T>> extends SyncableObject<T> implements QNetwork { public abstract class ANetwork extends SyncableObject<QNetwork> implements QNetwork {
@Override @Override
public void setNetworkName(String networkName) { public void setNetworkName(String networkName) {
_setNetworkName(networkName); _setNetworkName(networkName);
......
...@@ -24,7 +24,7 @@ package de.kuschku.libquassel.syncables.types.abstracts; ...@@ -24,7 +24,7 @@ package de.kuschku.libquassel.syncables.types.abstracts;
import de.kuschku.libquassel.syncables.types.SyncableObject; import de.kuschku.libquassel.syncables.types.SyncableObject;
import de.kuschku.libquassel.syncables.types.interfaces.QNetworkConfig; import de.kuschku.libquassel.syncables.types.interfaces.QNetworkConfig;
public abstract class ANetworkConfig<T extends ANetworkConfig<T>> extends SyncableObject<T> implements QNetworkConfig { public abstract class ANetworkConfig extends SyncableObject<QNetworkConfig> implements QNetworkConfig {
@Override @Override
public void setPingTimeoutEnabled(boolean pingTimeoutEnabled) { public void setPingTimeoutEnabled(boolean pingTimeoutEnabled) {
_setPingTimeoutEnabled(pingTimeoutEnabled); _setPingTimeoutEnabled(pingTimeoutEnabled);
......
...@@ -41,10 +41,11 @@ import de.kuschku.libquassel.primitives.types.BufferInfo; ...@@ -41,10 +41,11 @@ import de.kuschku.libquassel.primitives.types.BufferInfo;
import de.kuschku.libquassel.primitives.types.QVariant; import de.kuschku.libquassel.primitives.types.QVariant;
import de.kuschku.libquassel.syncables.serializers.AliasManagerSerializer; import de.kuschku.libquassel.syncables.serializers.AliasManagerSerializer;
import de.kuschku.libquassel.syncables.types.abstracts.AAliasManager; import de.kuschku.libquassel.syncables.types.abstracts.AAliasManager;
import de.kuschku.libquassel.syncables.types.interfaces.QAliasManager;
import de.kuschku.libquassel.syncables.types.interfaces.QIrcUser; import de.kuschku.libquassel.syncables.types.interfaces.QIrcUser;
import de.kuschku.libquassel.syncables.types.interfaces.QNetwork; import de.kuschku.libquassel.syncables.types.interfaces.QNetwork;
public class AliasManager extends AAliasManager<AliasManager> { public class AliasManager extends AAliasManager {
@NonNull @NonNull
private static final Alias[] DEFAULTS = new Alias[]{ private static final Alias[] DEFAULTS = new Alias[]{
new Alias("j", "/join $0"), new Alias("j", "/join $0"),
...@@ -236,9 +237,13 @@ public class AliasManager extends AAliasManager<AliasManager> { ...@@ -236,9 +237,13 @@ public class AliasManager extends AAliasManager<AliasManager> {
} }
@Override @Override
public void _update(@NonNull AliasManager from) { public void _update(@NonNull QAliasManager from) {
names = from.names; List<String> names = new ArrayList<>(from.aliases().size());
aliases = from.aliases; for (Alias alias : from.aliases()) {
names.add(alias.name);
}
this.names = names;
aliases = from.aliases();
_update(); _update();
} }
} }
...@@ -44,11 +44,12 @@ import de.kuschku.libquassel.message.Message_Table; ...@@ -44,11 +44,12 @@ import de.kuschku.libquassel.message.Message_Table;
import de.kuschku.libquassel.primitives.types.BufferInfo; import de.kuschku.libquassel.primitives.types.BufferInfo;
import de.kuschku.libquassel.primitives.types.QVariant; import de.kuschku.libquassel.primitives.types.QVariant;
import de.kuschku.libquassel.syncables.types.abstracts.ABacklogManager; import de.kuschku.libquassel.syncables.types.abstracts.ABacklogManager;
import de.kuschku.libquassel.syncables.types.interfaces.QBacklogManager;
import de.kuschku.util.observables.lists.ObservableComparableSortedList; import de.kuschku.util.observables.lists.ObservableComparableSortedList;
import static de.kuschku.util.AndroidAssert.assertNotNull; import static de.kuschku.util.AndroidAssert.assertNotNull;
public class BacklogManager extends ABacklogManager<BacklogManager> { public class BacklogManager extends ABacklogManager {
private final Client client; private final Client client;
private final BacklogStorage storage; private final BacklogStorage storage;
private final Set<Integer> initialized = new HashSet<>(); private final Set<Integer> initialized = new HashSet<>();
...@@ -114,7 +115,7 @@ public class BacklogManager extends ABacklogManager<BacklogManager> { ...@@ -114,7 +115,7 @@ public class BacklogManager extends ABacklogManager<BacklogManager> {
checkWaiting(); checkWaiting();
} }
private void checkWaiting() { public void checkWaiting() {
assertNotNull(provider); assertNotNull(provider);
if (client.connectionStatus() == ConnectionChangeEvent.Status.LOADING_BACKLOG) { if (client.connectionStatus() == ConnectionChangeEvent.Status.LOADING_BACKLOG) {
...@@ -217,7 +218,7 @@ public class BacklogManager extends ABacklogManager<BacklogManager> { ...@@ -217,7 +218,7 @@ public class BacklogManager extends ABacklogManager<BacklogManager> {
} }
@Override @Override
public void _update(BacklogManager from) { public void _update(QBacklogManager from) {
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment