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:
authorRoman Romanov <rromanov@65gb.net>2017-04-18 14:31:57 +0300
committerRoman Romanov <rromanov@65gb.net>2017-04-18 14:31:57 +0300
commitdcc010c066a924759ca4f1c94e75c8a0fda54c2e (patch)
treed52b29b3f87d2a541e95057472e054b532072be6
parentc3336d47c277381a31c271b19ee95146d1923f4e (diff)
[android] Review fixesbeta-764
-rw-r--r--android/src/com/mapswithme/maps/MwmActivity.java24
-rw-r--r--android/src/com/mapswithme/maps/downloader/UpdaterDialogFragment.java23
2 files changed, 36 insertions, 11 deletions
diff --git a/android/src/com/mapswithme/maps/MwmActivity.java b/android/src/com/mapswithme/maps/MwmActivity.java
index 6a1813c986..c1d8c9b733 100644
--- a/android/src/com/mapswithme/maps/MwmActivity.java
+++ b/android/src/com/mapswithme/maps/MwmActivity.java
@@ -136,6 +136,7 @@ public class MwmActivity extends BaseMwmFragmentActivity
private final Stack<MapTask> mTasks = new Stack<>();
private final StoragePathManager mPathManager = new StoragePathManager();
+ @Nullable
private MapFragment mMapFragment;
private PlacePageView mPlacePage;
@@ -617,10 +618,9 @@ public class MwmActivity extends BaseMwmFragmentActivity
mRootView = (ViewGroup) container.getParent();
}
- public void detachMap(FragmentTransaction transaction)
+ public void detachMap(@NonNull FragmentTransaction transaction)
{
- if (mMapFragment == null)
- return;
+ if (mMapFragment == null) return;
transaction
.remove(mMapFragment);
@@ -630,8 +630,7 @@ public class MwmActivity extends BaseMwmFragmentActivity
public void attachMap()
{
- if (mMapFragment != null)
- return;
+ if (mMapFragment != null) return;
mMapFragment = (MapFragment) MapFragment.instantiate(this, MapFragment.class.getName(), null);
getSupportFragmentManager()
@@ -983,8 +982,11 @@ public class MwmActivity extends BaseMwmFragmentActivity
mTasks.add(mapTask);
intent.removeExtra(EXTRA_TASK);
- if (MapFragment.nativeIsEngineCreated() && mMapFragment.isContextCreated())
+ if (MapFragment.nativeIsEngineCreated() && mMapFragment != null
+ && mMapFragment.isContextCreated())
+ {
runTasks();
+ }
// mark intent as consumed
intent.putExtra(EXTRA_CONSUMED, true);
@@ -994,8 +996,11 @@ public class MwmActivity extends BaseMwmFragmentActivity
private void addTask(MapTask task)
{
mTasks.add(task);
- if (MapFragment.nativeIsEngineCreated() && mMapFragment.isContextCreated())
+ if (MapFragment.nativeIsEngineCreated() && mMapFragment != null
+ && mMapFragment.isContextCreated())
+ {
runTasks();
+ }
}
@Override
@@ -1029,7 +1034,8 @@ public class MwmActivity extends BaseMwmFragmentActivity
public void recreate()
{
// Explicitly destroy context before activity recreation.
- mMapFragment.destroyContext();
+ if (mMapFragment != null)
+ mMapFragment.destroyContext();
super.recreate();
}
@@ -1365,7 +1371,7 @@ public class MwmActivity extends BaseMwmFragmentActivity
public boolean onTouch(View view, MotionEvent event)
{
return mPlacePage.hideOnTouch() ||
- mMapFragment.onTouch(view, event);
+ (mMapFragment != null && mMapFragment.onTouch(view, event));
}
@Override
diff --git a/android/src/com/mapswithme/maps/downloader/UpdaterDialogFragment.java b/android/src/com/mapswithme/maps/downloader/UpdaterDialogFragment.java
index d6c2c842a0..0964826bbb 100644
--- a/android/src/com/mapswithme/maps/downloader/UpdaterDialogFragment.java
+++ b/android/src/com/mapswithme/maps/downloader/UpdaterDialogFragment.java
@@ -53,6 +53,7 @@ public class UpdaterDialogFragment extends BaseMwmDialogFragment
private boolean mAutoUpdate;
@Nullable
private String[] mOutdatedMaps;
+ private boolean mFromInstanceState;
@NonNull
private final MapManager.StorageCallback mStorageCallback = new MapManager.StorageCallback()
@@ -86,14 +87,15 @@ public class UpdaterDialogFragment extends BaseMwmDialogFragment
MapManager.showError(getActivity(), item, new Utils.Proc<Boolean>()
{
@Override
- public void invoke(@NonNull Boolean param)
+ public void invoke(@NonNull Boolean result)
{
- if (param)
+ if (result)
{
MapManager.nativeUpdate(CountryItem.getRootId());
}
else
{
+// TODO remove attachMap() when dialog migrated to SplashActivity
attachMap();
dismiss();
}
@@ -107,6 +109,7 @@ public class UpdaterDialogFragment extends BaseMwmDialogFragment
if (!isAllUpdated())
return;
+// TODO remove attachMap() when dialog migrated to SplashActivity
attachMap();
dismiss();
}
@@ -137,6 +140,7 @@ public class UpdaterDialogFragment extends BaseMwmDialogFragment
if (MapManager.nativeIsDownloading())
MapManager.nativeCancel(CountryItem.getRootId());
+// TODO remove attachMap() when dialog migrated to SplashActivity
attachMap();
dismiss();
}
@@ -190,6 +194,7 @@ public class UpdaterDialogFragment extends BaseMwmDialogFragment
fragment.setArguments(args);
FragmentTransaction transaction = fm.beginTransaction()
.setCustomAnimations(android.R.anim.fade_in, android.R.anim.fade_out);
+// TODO remove detachMap() when dialog migrated to SplashActivity
if (activity instanceof MwmActivity)
((MwmActivity) activity).detachMap(transaction);
fragment.show(transaction, UpdaterDialogFragment.class.getName());
@@ -210,6 +215,7 @@ public class UpdaterDialogFragment extends BaseMwmDialogFragment
{
super.onCreate(savedInstanceState);
+ mFromInstanceState = savedInstanceState != null;
readArguments();
}
@@ -240,10 +246,21 @@ public class UpdaterDialogFragment extends BaseMwmDialogFragment
if (isAllUpdated())
{
+// TODO remove attachMap() when dialog migrated to SplashActivity
+ attachMap();
dismiss();
return;
}
+// TODO remove detachMap() when dialog migrated to SplashActivity
+ if (getActivity() instanceof MwmActivity && mFromInstanceState)
+ {
+ FragmentTransaction transaction = getActivity().getSupportFragmentManager()
+ .beginTransaction();
+ ((MwmActivity) getActivity()).detachMap(transaction);
+ transaction.commit();
+ }
+
mListenerSlot = MapManager.nativeSubscribe(mStorageCallback);
if (mAutoUpdate && !MapManager.nativeIsDownloading())
@@ -271,10 +288,12 @@ public class UpdaterDialogFragment extends BaseMwmDialogFragment
if (MapManager.nativeIsDownloading())
MapManager.nativeCancel(CountryItem.getRootId());
+// TODO remove attachMap() when dialog migrated to SplashActivity
attachMap();
super.onCancel(dialog);
}
+//TODO remove attachMap() when dialog migrated to SplashActivity
private void attachMap()
{
if (!(getActivity() instanceof MwmActivity))