From d5361424d1b604dbb646de82abaf807e99433c9d Mon Sep 17 00:00:00 2001 From: Negue Date: Wed, 4 Jan 2017 21:38:44 +0100 Subject: [PATCH] fix reset of Fragment Position / remove ChallengeOverviewActivity --- Habitica/AndroidManifest.xml | 12 +-- .../habitica/components/AppComponent.java | 3 - .../activities/ChallengeOverviewActivity.java | 82 ------------------- .../habitica/ui/activities/MainActivity.java | 4 +- .../habitica/ui/menu/MainDrawerBuilder.java | 9 +- 5 files changed, 9 insertions(+), 101 deletions(-) delete mode 100644 Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/ChallengeOverviewActivity.java diff --git a/Habitica/AndroidManifest.xml b/Habitica/AndroidManifest.xml index 9b09f8eac..2b68a54c0 100644 --- a/Habitica/AndroidManifest.xml +++ b/Habitica/AndroidManifest.xml @@ -126,16 +126,6 @@ android:name="android.support.PARENT_ACTIVITY" android:value=".ui.activities.MainActivity" /> - - - + android:value=".ui.activities.MainActivity" /> , Ha avatarInHeader = new AvatarWithBarsViewModel(this, avatar_with_bars); accountHeader = MainDrawerBuilder.CreateDefaultAccountHeader(this).build(); - drawer = MainDrawerBuilder.CreateDefaultBuilderSettings(this, toolbar, accountHeader) + drawer = MainDrawerBuilder.CreateDefaultBuilderSettings(this, sharedPreferences, toolbar, accountHeader) .build(); drawer.setSelectionAtPosition(1, false); sideAvatarView = new AvatarView(this, true, false, false); @@ -327,7 +327,7 @@ public class MainActivity extends BaseActivity implements Action1, Ha //Recreate the fragment as a result. if (activeFragment != null && activeFragment.tabLayout == null) { activeFragment = null; - drawer.setSelectionAtPosition(1); + drawer.setSelectionAtPosition(this.sharedPreferences.getInt("lastActivePosition", 1)); } } diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/menu/MainDrawerBuilder.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/menu/MainDrawerBuilder.java index 67eab91bf..0eb54676f 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/menu/MainDrawerBuilder.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/menu/MainDrawerBuilder.java @@ -2,7 +2,6 @@ package com.habitrpg.android.habitica.ui.menu; import com.habitrpg.android.habitica.R; import com.habitrpg.android.habitica.ui.activities.AboutActivity; -import com.habitrpg.android.habitica.ui.activities.ChallengeOverviewActivity; import com.habitrpg.android.habitica.ui.activities.GemPurchaseActivity; import com.habitrpg.android.habitica.ui.activities.MainActivity; import com.habitrpg.android.habitica.ui.activities.PrefsActivity; @@ -29,6 +28,7 @@ import com.mikepenz.materialdrawer.model.ProfileDrawerItem; import android.app.Activity; import android.content.Intent; +import android.content.SharedPreferences; import android.support.v7.widget.Toolbar; import static com.habitrpg.android.habitica.ui.activities.MainActivity.GEM_PURCHASE_REQUEST; @@ -66,7 +66,7 @@ public class MainDrawerBuilder { } - public static DrawerBuilder CreateDefaultBuilderSettings(final MainActivity activity, Toolbar toolbar, final AccountHeader accountHeader) { + public static DrawerBuilder CreateDefaultBuilderSettings(final MainActivity activity, SharedPreferences sharedPreferences, Toolbar toolbar, final AccountHeader accountHeader) { DrawerBuilder builder = new DrawerBuilder() .withActivity(activity); @@ -134,7 +134,8 @@ public class MainDrawerBuilder { break; } case SIDEBAR_CHALLENGES: { - newActivityClass = ChallengeOverviewActivity.class; + fragment = new ChallengesOverviewFragment(); + break; } case SIDEBAR_SHOPS: { @@ -179,6 +180,8 @@ public class MainDrawerBuilder { } } + sharedPreferences.edit().putInt("lastActivePosition", position).apply(); + if (fragment != null) { fragment.fragmentSidebarPosition = position; activity.displayFragment(fragment);