From e1bd13e57c4986fe204597529892fea68720f16e Mon Sep 17 00:00:00 2001 From: Janne Koschinski <janne@kuschku.de> Date: Tue, 23 Feb 2016 23:59:07 +0100 Subject: [PATCH] Now saves the last opened chat list. --- .../de/kuschku/quasseldroid_ng/ui/chat/MainActivity.java | 3 ++- .../ui/chat/drawer/BufferViewConfigAdapter.java | 8 ++++++++ .../de/kuschku/quasseldroid_ng/ui/theme/AppContext.java | 9 +++------ 3 files changed, 13 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/de/kuschku/quasseldroid_ng/ui/chat/MainActivity.java b/app/src/main/java/de/kuschku/quasseldroid_ng/ui/chat/MainActivity.java index 85595c7b9..ed2679724 100644 --- a/app/src/main/java/de/kuschku/quasseldroid_ng/ui/chat/MainActivity.java +++ b/app/src/main/java/de/kuschku/quasseldroid_ng/ui/chat/MainActivity.java @@ -338,6 +338,7 @@ public class MainActivity extends BoundActivity { @Override public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { chatListAdapter.selectConfig((int) id); + status.bufferViewConfigId = (int) id; } @Override @@ -347,7 +348,7 @@ public class MainActivity extends BoundActivity { }); } updateBuffer(context.client().backlogManager().open()); - // accountHeader.setActiveProfile(status.bufferViewConfigId, true); + chatListSpinner.setSelection(chatListAdapter.indexOf(status.bufferViewConfigId)); } // FIXME: Fix this ugly hack diff --git a/app/src/main/java/de/kuschku/quasseldroid_ng/ui/chat/drawer/BufferViewConfigAdapter.java b/app/src/main/java/de/kuschku/quasseldroid_ng/ui/chat/drawer/BufferViewConfigAdapter.java index 507f53d34..a391374ae 100644 --- a/app/src/main/java/de/kuschku/quasseldroid_ng/ui/chat/drawer/BufferViewConfigAdapter.java +++ b/app/src/main/java/de/kuschku/quasseldroid_ng/ui/chat/drawer/BufferViewConfigAdapter.java @@ -234,4 +234,12 @@ public class BufferViewConfigAdapter extends ExpandableRecyclerAdapter<NetworkVi else bufferViewHolderMap.remove(id); open = id; } + + public int indexOf(int bufferViewConfigId) { + for (int i = 0; i < context.client().bufferViewManager().bufferViewConfigs().size(); i++) { + if (context.client().bufferViewManager().bufferViewConfigs().get(i).bufferViewId() == bufferViewConfigId) + return i; + } + return -1; + } } diff --git a/app/src/main/java/de/kuschku/quasseldroid_ng/ui/theme/AppContext.java b/app/src/main/java/de/kuschku/quasseldroid_ng/ui/theme/AppContext.java index 08c921c5f..caf05dff0 100644 --- a/app/src/main/java/de/kuschku/quasseldroid_ng/ui/theme/AppContext.java +++ b/app/src/main/java/de/kuschku/quasseldroid_ng/ui/theme/AppContext.java @@ -23,15 +23,13 @@ package de.kuschku.quasseldroid_ng.ui.theme; import android.support.annotation.NonNull; -import java.util.HashSet; -import java.util.Set; - import de.kuschku.libquassel.BusProvider; import de.kuschku.libquassel.client.Client; import de.kuschku.libquassel.syncables.types.interfaces.QBufferViewConfig; import de.kuschku.quasseldroid_ng.ui.settings.Settings; import de.kuschku.util.irc.format.IrcFormatDeserializer; import de.kuschku.util.irc.format.IrcFormatSerializer; +import de.kuschku.util.observables.lists.ObservableSet; public class AppContext { private ThemeUtil themeUtil; @@ -40,8 +38,7 @@ public class AppContext { private BusProvider provider; private IrcFormatDeserializer deserializer; private IrcFormatSerializer serializer; - private QBufferViewConfig.DisplayType bufferDisplayType; - private Set<QBufferViewConfig.DisplayType> bufferDisplayTypes = new HashSet<>(); + private ObservableSet<QBufferViewConfig.DisplayType> bufferDisplayTypes = new ObservableSet<>(); public ThemeUtil themeUtil() { return themeUtil; @@ -110,7 +107,7 @@ public class AppContext { return serializer; } - public Set<QBufferViewConfig.DisplayType> bufferDisplayTypes() { + public ObservableSet<QBufferViewConfig.DisplayType> bufferDisplayTypes() { return bufferDisplayTypes; } } -- GitLab