[android] Added save/restore state for visibility status.

This commit is contained in:
Roman Romanov 2017-01-18 08:41:41 +04:00 committed by Vladimir Byko-Ianko
parent 1487b01d04
commit 644b653d86
3 changed files with 34 additions and 0 deletions

View file

@ -860,6 +860,11 @@ public class MwmActivity extends BaseMwmFragmentActivity
RoutingController.get().onSaveState();
outState.putBoolean(EXTRA_LOCATION_DIALOG_IS_ANNOYING, mLocationErrorDialogAnnoying);
mNavMyPosition.onSaveState(outState);
if(mNavAnimationController != null)
mNavAnimationController.onSaveState(outState);
super.onSaveInstanceState(outState);
}
@ -881,6 +886,10 @@ public class MwmActivity extends BaseMwmFragmentActivity
if (mNavigationController != null)
mNavigationController.onRestoreState(savedInstanceState);
mNavMyPosition.onRestoreState(savedInstanceState);
if(mNavAnimationController != null)
mNavAnimationController.onRestoreState(savedInstanceState);
}
@Override

View file

@ -3,6 +3,7 @@ package com.mapswithme.maps;
import android.animation.Animator;
import android.animation.ValueAnimator;
import android.content.res.Resources;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.view.View;
@ -15,6 +16,7 @@ import com.mapswithme.util.UiUtils;
class NavigationButtonsAnimationController
{
private static final int ANIM_TOGGLE = MwmApplication.get().getResources().getInteger(R.integer.anim_slots_toggle);
private static final String STATE_VISIBLE = "state_visible";
@NonNull
private final View mZoomIn;
@ -282,4 +284,14 @@ class NavigationButtonsAnimationController
{
checkZoomButtonsVisibility();
}
public void onSaveState(@NonNull Bundle outState)
{
outState.putBoolean(STATE_VISIBLE, mZoomVisible);
}
public void onRestoreState(@NonNull Bundle state)
{
mZoomVisible = state.getBoolean(STATE_VISIBLE, false);
}
}

View file

@ -2,6 +2,7 @@ package com.mapswithme.maps.widget.menu;
import android.graphics.drawable.AnimationDrawable;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.util.SparseArray;
import android.view.View;
@ -17,6 +18,8 @@ import com.mapswithme.util.UiUtils;
public class MyPositionButton
{
private static final String STATE_VISIBLE = "state_visible";
@NonNull
private final ImageView mButton;
private static final SparseArray<Drawable> mIcons = new SparseArray<>(); // Location mode -> Button icon
@ -91,4 +94,14 @@ public class MyPositionButton
mVisible = false;
Animations.disappearSliding(mButton, Animations.RIGHT, null);
}
public void onSaveState(@NonNull Bundle outState)
{
outState.putBoolean(STATE_VISIBLE, mVisible);
}
public void onRestoreState(@NonNull Bundle state)
{
mVisible = state.getBoolean(STATE_VISIBLE, false);
}
}