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 02f08b33f0794e270ae2bab3b63bdac5167d039f..b60656591722712ff3a505a742268615761d3830 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 @@ -128,6 +128,18 @@ public class MainActivity extends BoundActivity { manager = new AccountManager(this); } + @Override + protected void onPause() { + if (context.client() != null) + context.client().backlogManager().open(-1); + super.onPause(); + } + + @Override + protected void onResume() { + super.onResume(); + } + private void replaceFragment(Fragment fragment) { FragmentTransaction transaction = getSupportFragmentManager().beginTransaction(); transaction.replace(R.id.content_host, fragment); @@ -206,22 +218,21 @@ public class MainActivity extends BoundActivity { Client client = context.client(); assertNotNull(client); + drawerLeft.removeAllItems(); + status.bufferViewConfigId = bufferViewConfigId; accountHeader.setActiveProfile(bufferViewConfigId, false); - - drawerLeft.removeAllItems(); if (currentConfig != null) currentConfig.remove(); currentConfig = null; - if (bufferViewConfigId != -1) { - QBufferViewManager bufferViewManager = client.bufferViewManager(); - assertNotNull(bufferViewManager); + QBufferViewManager bufferViewManager = client.bufferViewManager(); + if (bufferViewConfigId != -1 && bufferViewManager != null) { QBufferViewConfig viewConfig = bufferViewManager.bufferViewConfig(bufferViewConfigId); - assertNotNull(viewConfig); - - currentConfig = new BufferViewConfigItem(drawerLeft, viewConfig, context); + if (viewConfig != null) { + currentConfig = new BufferViewConfigItem(drawerLeft, viewConfig, context); + } } } @@ -246,6 +257,12 @@ public class MainActivity extends BoundActivity { super.onConnectToThread(thread); if (thread == null) connectToServer(manager.account(context.settings().lastAccount.get())); + else { + if (context.client() != null) { + context.client().backlogManager().open(status.bufferId); + accountHeader.setActiveProfile(status.bufferViewConfigId, true); + } + } } public void displayFilterDialog() { diff --git a/app/src/main/java/de/kuschku/quasseldroid_ng/ui/chat/util/Status.java b/app/src/main/java/de/kuschku/quasseldroid_ng/ui/chat/util/Status.java index a854aa32173ec9f530b5f0109a0dc749630307ca..42171c08ecad75083b2a10420947bd4488262756 100644 --- a/app/src/main/java/de/kuschku/quasseldroid_ng/ui/chat/util/Status.java +++ b/app/src/main/java/de/kuschku/quasseldroid_ng/ui/chat/util/Status.java @@ -27,4 +27,6 @@ import de.kuschku.util.instancestateutil.Store; public class Status extends Storable { @Store public int bufferViewConfigId = -1; + @Store + public int bufferId = -1; } diff --git a/app/src/main/res/layout/slide.xml b/app/src/main/res/layout/slide.xml index 884a2531142bfe69d3b964c1478f7a1ba57c5401..d33fdc12ea5ec310823215d901c40f9339c4b464 100644 --- a/app/src/main/res/layout/slide.xml +++ b/app/src/main/res/layout/slide.xml @@ -20,60 +20,49 @@ ~ with this program. If not, see <http://www.gnu.org/licenses/>. --> -<FrameLayout +<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" - android:layout_height="match_parent" - android:layout_width="match_parent"> + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:background="@color/md_light_background"> - <ScrollView - android:layout_height="wrap_content" + <LinearLayout android:layout_width="match_parent" - android:layout_gravity="bottom"> + android:layout_height="wrap_content" + android:orientation="vertical"> <LinearLayout - android:orientation="vertical" android:layout_width="match_parent" android:layout_height="wrap_content" - android:gravity=""> + android:background="?attr/colorPrimary" + android:orientation="vertical" + android:padding="32dp"> - <LinearLayout + <TextView xmlns:android="http://schemas.android.com/apk/res/android" + android:id="@+id/title" android:layout_width="match_parent" android:layout_height="wrap_content" - android:layout_marginTop="96dp" - android:padding="32dp" - android:orientation="vertical"> - - <TextView - xmlns:android="http://schemas.android.com/apk/res/android" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:textStyle="bold" - android:textColor="@android:color/white" - android:textSize="28sp" - android:layout_marginBottom="32dp" - android:text="@string/slideAccountcoreTitle" - android:id="@+id/title" /> + android:layout_marginBottom="32dp" + android:text="@string/slideAccountcoreTitle" + android:textColor="@android:color/white" + android:textSize="28sp" + android:textStyle="bold" /> - <TextView - xmlns:android="http://schemas.android.com/apk/res/android" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:textColor="@android:color/white" - android:textSize="16sp" - android:text="@string/slideAccountcoreDescription" - android:id="@+id/description" /> - - </LinearLayout> - - <android.support.v7.widget.CardView - android:id="@+id/content_host" - android:minHeight="240dp" - android:background="@color/md_light_background" + <TextView xmlns:android="http://schemas.android.com/apk/res/android" + android:id="@+id/description" android:layout_width="match_parent" - android:layout_height="wrap_content" /> + android:layout_height="wrap_content" + android:text="@string/slideAccountcoreDescription" + android:textColor="@android:color/white" + android:textSize="16sp" /> </LinearLayout> - </ScrollView> + <FrameLayout + android:id="@+id/content_host" + android:layout_width="match_parent" + android:layout_height="wrap_content" /> + + </LinearLayout> -</FrameLayout> +</ScrollView>