diff --git a/Habitica/res/layout/snackbar_view.xml b/Habitica/res/layout/snackbar_view.xml
index 35cb45212..7b99c7d15 100644
--- a/Habitica/res/layout/snackbar_view.xml
+++ b/Habitica/res/layout/snackbar_view.xml
@@ -1,15 +1,19 @@
-
+ android:fitsSystemWindows="true">
+
-
\ No newline at end of file
+
+
\ No newline at end of file
diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/data/local/implementation/RealmTutorialLocalRepository.java b/Habitica/src/main/java/com/habitrpg/android/habitica/data/local/implementation/RealmTutorialLocalRepository.java
index 75063c4a6..c46de5014 100644
--- a/Habitica/src/main/java/com/habitrpg/android/habitica/data/local/implementation/RealmTutorialLocalRepository.java
+++ b/Habitica/src/main/java/com/habitrpg/android/habitica/data/local/implementation/RealmTutorialLocalRepository.java
@@ -18,16 +18,18 @@ public class RealmTutorialLocalRepository extends RealmBaseLocalRepository imple
@Override
public Observable getTutorialStep(String key) {
- return realm.where(TutorialStep.class).equalTo("key", key).findFirstAsync()
+ return realm.where(TutorialStep.class).equalTo("identifier", key)
+ .findAllAsync()
.asObservable()
- .filter(realmObject -> realmObject.isLoaded())
+ .filter(realmObject -> realmObject.isLoaded() && realmObject.isValid() && !realmObject.isEmpty())
+ .map(steps -> steps.first())
.cast(TutorialStep.class);
}
@Override
public Observable> getTutorialSteps(List keys) {
return realm.where(TutorialStep.class)
- .in("key", (String[]) keys.toArray())
+ .in("identifier", (String[]) keys.toArray())
.findAll()
.asObservable()
.filter(RealmResults::isLoaded);
diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/models/user/Flags.java b/Habitica/src/main/java/com/habitrpg/android/habitica/models/user/Flags.java
index 5910c6ec3..fb6f3076a 100644
--- a/Habitica/src/main/java/com/habitrpg/android/habitica/models/user/Flags.java
+++ b/Habitica/src/main/java/com/habitrpg/android/habitica/models/user/Flags.java
@@ -13,7 +13,6 @@ public class Flags extends RealmObject {
@PrimaryKey
private String userId;
- User user;
RealmList tutorial;
private boolean showTour;
private boolean dropsEnabled;
diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/BaseFragment.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/BaseFragment.java
index 5a454880d..516e3c1fd 100644
--- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/BaseFragment.java
+++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/BaseFragment.java
@@ -124,6 +124,9 @@ public abstract class BaseFragment extends DialogFragment {
@Override
public void onDestroy() {
+ if (tutorialRepository != null) {
+ tutorialRepository.close();
+ }
if (compositeSubscription != null && !compositeSubscription.isUnsubscribed()) {
compositeSubscription.unsubscribe();
}
diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/HabiticaSnackbar.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/HabiticaSnackbar.java
index 7522052e1..4644f6918 100644
--- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/HabiticaSnackbar.java
+++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/HabiticaSnackbar.java
@@ -87,7 +87,7 @@ public class HabiticaSnackbar extends BaseTransientBottomBar {
* @param content message.
*/
public static void showSnackbar(Context context, ViewGroup container, String content, SnackbarDisplayType displayType) {
- showSnackbar(context, container, null, content, displayType);
+ showSnackbar(context, container, content, null, displayType);
}
/**