Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mapsme/omim.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorАлександр Зацепин <az@mapswithme.com>2017-10-19 17:47:04 +0300
committerRoman Kuznetsov <r.kuznetsow@gmail.com>2017-10-19 17:54:24 +0300
commit1b270ce0ba6a90d243fac7220769ed079cd10dd4 (patch)
tree46b46ca3c7be435544e19a2609f553bac204b770
parent30123e8fbbdde48ca6f0909b3170527f52881586 (diff)
[android] Fixed black screen when come back to map activity from another quicklybeta-1074
-rw-r--r--android/src/com/mapswithme/maps/MapFragment.java22
1 files changed, 15 insertions, 7 deletions
diff --git a/android/src/com/mapswithme/maps/MapFragment.java b/android/src/com/mapswithme/maps/MapFragment.java
index f9537f57c4..c76e9b8df9 100644
--- a/android/src/com/mapswithme/maps/MapFragment.java
+++ b/android/src/com/mapswithme/maps/MapFragment.java
@@ -162,6 +162,12 @@ public class MapFragment extends BaseMwmFragment
@Override
public void surfaceCreated(SurfaceHolder surfaceHolder)
{
+ if (isThemeChangingProcess())
+ {
+ LOGGER.d(TAG, "Activity is being recreated due theme changing, skip 'surfaceCreated' callback");
+ return;
+ }
+
LOGGER.d(TAG, "surfaceCreated, mContextCreated = " + mContextCreated);
final Surface surface = surfaceHolder.getSurface();
if (nativeIsEngineCreated())
@@ -210,6 +216,12 @@ public class MapFragment extends BaseMwmFragment
@Override
public void surfaceChanged(SurfaceHolder surfaceHolder, int format, int width, int height)
{
+ if (isThemeChangingProcess())
+ {
+ LOGGER.d(TAG, "Activity is being recreated due theme changing, skip 'surfaceChanged' callback");
+ return;
+ }
+
LOGGER.d(TAG, "surfaceChanged, mContextCreated = " + mContextCreated);
if (!mContextCreated ||
(!mRequireResize && surfaceHolder.isCreating()))
@@ -237,7 +249,6 @@ public class MapFragment extends BaseMwmFragment
if (!mContextCreated || !isAdded())
return;
- mSurfaceView.getHolder().removeCallback(this);
nativeDetachSurface(!getActivity().isChangingConfigurations());
mContextCreated = false;
}
@@ -256,14 +267,10 @@ public class MapFragment extends BaseMwmFragment
public void onStart()
{
super.onStart();
- if (isGoingToBeRecreated())
- return;
-
- LOGGER.d(TAG, "onStart, surface.addCallback");
- mSurfaceView.getHolder().addCallback(this);
+ LOGGER.d(TAG, "onStart");
}
- private boolean isGoingToBeRecreated()
+ private boolean isThemeChangingProcess()
{
return mUiThemeOnPause != null && !mUiThemeOnPause.equals(Config.getCurrentUiTheme());
}
@@ -280,6 +287,7 @@ public class MapFragment extends BaseMwmFragment
{
View view = inflater.inflate(R.layout.fragment_map, container, false);
mSurfaceView = (SurfaceView) view.findViewById(R.id.map_surfaceview);
+ mSurfaceView.getHolder().addCallback(this);
return view;
}