forked from organicmaps/organicmaps
[android] Tuned showing of import kml dialog
This commit is contained in:
parent
e205cd7e66
commit
e57148f011
4 changed files with 32 additions and 13 deletions
|
@ -793,15 +793,20 @@ public class DownloadResourcesLegacyActivity extends BaseMwmFragmentActivity
|
|||
else
|
||||
path = mData.getPath();
|
||||
|
||||
if (path != null)
|
||||
if (!TextUtils.isEmpty(path))
|
||||
{
|
||||
LOGGER.d(TAG, "Loading bookmarks file from: " + path);
|
||||
BookmarkManager.loadKmzFile(path, isTemporaryFile);
|
||||
loadKmzFile(path, isTemporaryFile);
|
||||
}
|
||||
else
|
||||
LOGGER.w(TAG, "Can't get bookmarks file from URI: " + mData);
|
||||
}
|
||||
|
||||
private void loadKmzFile(final @NonNull String path, final boolean isTemporaryFile)
|
||||
{
|
||||
runOnUiThread(() -> BookmarkManager.INSTANCE.loadKmzFile(path, isTemporaryFile));
|
||||
}
|
||||
|
||||
private String getExtensionFromMime(String mime)
|
||||
{
|
||||
final int i = mime.lastIndexOf('.');
|
||||
|
|
|
@ -47,6 +47,21 @@ public class BookmarkCategoriesFragment extends BaseMwmRecyclerFragment
|
|||
private BookmarkBackupController mBackupController;
|
||||
@Nullable
|
||||
private KmlImportController mKmlImportController;
|
||||
@NonNull
|
||||
private Runnable mImportKmlTask = new Runnable()
|
||||
{
|
||||
private boolean alreadyDone = false;
|
||||
|
||||
@Override
|
||||
public void run()
|
||||
{
|
||||
if (alreadyDone)
|
||||
return;
|
||||
|
||||
importKml();
|
||||
alreadyDone = true;
|
||||
}
|
||||
};
|
||||
|
||||
@Override
|
||||
protected @LayoutRes int getLayoutRes()
|
||||
|
@ -157,8 +172,8 @@ public class BookmarkCategoriesFragment extends BaseMwmRecyclerFragment
|
|||
updateLoadingPlaceholder();
|
||||
if (getAdapter() != null)
|
||||
getAdapter().notifyDataSetChanged();
|
||||
if (mKmlImportController != null)
|
||||
mKmlImportController.importKml();
|
||||
if (!BookmarkManager.INSTANCE.isAsyncBookmarksLoadingInProgress())
|
||||
mImportKmlTask.run();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -286,6 +301,7 @@ public class BookmarkCategoriesFragment extends BaseMwmRecyclerFragment
|
|||
updateResultsPlaceholder();
|
||||
if (getAdapter() != null)
|
||||
getAdapter().notifyDataSetChanged();
|
||||
mImportKmlTask.run();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -294,6 +310,12 @@ public class BookmarkCategoriesFragment extends BaseMwmRecyclerFragment
|
|||
// Do nothing here.
|
||||
}
|
||||
|
||||
private void importKml()
|
||||
{
|
||||
if (mKmlImportController != null)
|
||||
mKmlImportController.importKml();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPreparedFileForSharing(@NonNull BookmarkSharingResult result)
|
||||
{
|
||||
|
|
|
@ -18,7 +18,6 @@ public class KmlImportController implements BookmarkManager.KmlConversionListene
|
|||
private ProgressDialog mProgressDialog;
|
||||
@Nullable
|
||||
private final ImportKmlCallback mCallback;
|
||||
private boolean mWasShown = false;
|
||||
|
||||
KmlImportController(@NonNull Activity context, @Nullable ImportKmlCallback callback)
|
||||
{
|
||||
|
@ -38,12 +37,6 @@ public class KmlImportController implements BookmarkManager.KmlConversionListene
|
|||
|
||||
void importKml()
|
||||
{
|
||||
if (mWasShown)
|
||||
return;
|
||||
|
||||
if (BookmarkManager.INSTANCE.isAsyncBookmarksLoadingInProgress())
|
||||
return;
|
||||
|
||||
int count = BookmarkManager.INSTANCE.getKmlFilesCountForConversion();
|
||||
if (count == 0)
|
||||
return;
|
||||
|
@ -58,7 +51,6 @@ public class KmlImportController implements BookmarkManager.KmlConversionListene
|
|||
String msg = mContext.getString(R.string.bookmarks_detect_message, count);
|
||||
DialogUtils.showAlertDialog(mContext, R.string.bookmarks_detect_title, msg,
|
||||
R.string.button_convert, clickListener, R.string.cancel);
|
||||
mWasShown = true;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -329,7 +329,7 @@ public enum BookmarkManager
|
|||
return nativeGetLastSynchronizationTimestampInMs();
|
||||
}
|
||||
|
||||
public static void loadKmzFile(@NonNull String path, boolean isTemporaryFile)
|
||||
public void loadKmzFile(@NonNull String path, boolean isTemporaryFile)
|
||||
{
|
||||
nativeLoadKmzFile(path, isTemporaryFile);
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue