[android] Refactored passing the bookmark page index as enum

This commit is contained in:
Alexander Zatsepin 2018-07-04 20:00:41 +03:00 committed by Vlad Mihaylenko
parent c1029dc39a
commit aa875803bf
7 changed files with 41 additions and 58 deletions

View file

@ -691,10 +691,9 @@ public class DownloadResourcesLegacyActivity extends BaseMwmFragmentActivity
// Transform deeplink to the core expected format,
// i.e https://host/path?query -> mapsme:///path?query.
Uri uri = Uri.parse(url);
Uri.Builder builder = uri.buildUpon();
builder.scheme(SCHEME_CORE)
.authority("");
Uri coreUri = builder.build();
Uri coreUri = uri.buildUpon()
.scheme(SCHEME_CORE)
.authority("").build();
LOGGER.i(TAG, "MAPSME URL = " + coreUri);
return new OpenUrlTask(coreUri.toString());
}

View file

@ -43,11 +43,10 @@ import com.mapswithme.maps.base.BaseMwmFragmentActivity;
import com.mapswithme.maps.base.OnBackPressListener;
import com.mapswithme.maps.bookmarks.BookmarkCategoriesActivity;
import com.mapswithme.maps.bookmarks.BookmarksDownloadManager;
import com.mapswithme.maps.bookmarks.Constants;
import com.mapswithme.maps.bookmarks.BookmarksPageFactory;
import com.mapswithme.maps.bookmarks.data.BookmarkManager;
import com.mapswithme.maps.bookmarks.data.FeatureId;
import com.mapswithme.maps.bookmarks.data.MapObject;
import com.mapswithme.maps.maplayer.MapLayerCompositeController;
import com.mapswithme.maps.discovery.DiscoveryActivity;
import com.mapswithme.maps.discovery.DiscoveryFragment;
import com.mapswithme.maps.discovery.ItemType;
@ -64,7 +63,13 @@ import com.mapswithme.maps.editor.ReportFragment;
import com.mapswithme.maps.gallery.Items;
import com.mapswithme.maps.location.CompassData;
import com.mapswithme.maps.location.LocationHelper;
import com.mapswithme.maps.maplayer.MapLayerCompositeController;
import com.mapswithme.maps.maplayer.Mode;
import com.mapswithme.maps.maplayer.subway.OnSubwayLayerToggleListener;
import com.mapswithme.maps.maplayer.subway.SubwayManager;
import com.mapswithme.maps.maplayer.traffic.OnTrafficLayerToggleListener;
import com.mapswithme.maps.maplayer.traffic.TrafficManager;
import com.mapswithme.maps.maplayer.traffic.widget.TrafficButton;
import com.mapswithme.maps.routing.NavigationController;
import com.mapswithme.maps.routing.RoutePointInfo;
import com.mapswithme.maps.routing.RoutingBottomMenuListener;
@ -85,13 +90,8 @@ import com.mapswithme.maps.settings.SettingsActivity;
import com.mapswithme.maps.settings.StoragePathManager;
import com.mapswithme.maps.settings.UnitLocale;
import com.mapswithme.maps.sound.TtsPlayer;
import com.mapswithme.maps.maplayer.Mode;
import com.mapswithme.maps.maplayer.subway.OnSubwayLayerToggleListener;
import com.mapswithme.maps.taxi.TaxiInfo;
import com.mapswithme.maps.taxi.TaxiManager;
import com.mapswithme.maps.maplayer.traffic.TrafficManager;
import com.mapswithme.maps.maplayer.traffic.OnTrafficLayerToggleListener;
import com.mapswithme.maps.maplayer.traffic.widget.TrafficButton;
import com.mapswithme.maps.widget.FadeView;
import com.mapswithme.maps.widget.menu.BaseMenu;
import com.mapswithme.maps.widget.menu.MainMenu;
@ -1739,7 +1739,7 @@ public class MwmActivity extends BaseMwmFragmentActivity
try
{
BookmarksDownloadManager.from(target).enqueueRequest(mUrl);
BookmarkCategoriesActivity.start(target, Constants.CATEGORIES_PAGE_CATALOG);
BookmarkCategoriesActivity.start(target, BookmarksPageFactory.CATALOG.ordinal());
}
catch (BookmarksDownloadManager.UnprocessedUrlException e)
{

View file

@ -16,11 +16,11 @@ import com.mapswithme.util.ThemeUtils;
public class BookmarkCategoriesActivity extends BaseToolbarActivity
{
public static void start(@NonNull Context context, @Constants.CategoriesPage int categoriesPage)
public static void start(@NonNull Context context, int initialPage)
{
Intent intent = new Intent(context, BookmarkCategoriesActivity.class);
Bundle args = new Bundle();
args.putInt(Constants.ARG_CATEGORIES_PAGE, categoriesPage);
args.putInt(BookmarkCategoriesPagerFragment.ARG_CATEGORIES_PAGE, initialPage);
intent.putExtras(args);
context.startActivity(intent);
}

View file

@ -19,6 +19,8 @@ import java.util.List;
public class BookmarkCategoriesPagerFragment extends BaseMwmFragment
{
final static String ARG_CATEGORIES_PAGE = "arg_categories_page";
@Override
public void onCreate(@Nullable Bundle savedInstanceState)
{
@ -38,27 +40,30 @@ public class BookmarkCategoriesPagerFragment extends BaseMwmFragment
List<BookmarksPageFactory> dataSet = getAdapterDataSet();
BookmarksPagerAdapter adapter = new BookmarksPagerAdapter(getContext(), fm, dataSet);
viewPager.setAdapter(adapter);
viewPager.setCurrentItem(getInitialPage());
viewPager.setCurrentItem(saveAndGetInitialPage());
tabLayout.setupWithViewPager(viewPager);
viewPager.addOnPageChangeListener(new PageChangeListener());
return root;
}
@Constants.CategoriesPage
private int getInitialPage()
private int saveAndGetInitialPage()
{
Bundle args = getArguments();
if (args == null || !args.containsKey(Constants.ARG_CATEGORIES_PAGE))
return SharedPropertiesUtils.getLastVisibleBookmarkCategoriesPage(getActivity());
if (args != null && args.containsKey(ARG_CATEGORIES_PAGE))
{
int page = args.getInt(ARG_CATEGORIES_PAGE);
SharedPropertiesUtils.setLastVisibleBookmarkCategoriesPage(getActivity(), page);
return page;
}
return args.getInt(Constants.ARG_CATEGORIES_PAGE);
return SharedPropertiesUtils.getLastVisibleBookmarkCategoriesPage(getActivity());
}
@NonNull
private static List<BookmarksPageFactory> getAdapterDataSet()
{
return Arrays.asList(BookmarksPageFactory.PRIVATE, BookmarksPageFactory.CATALOG);
return Arrays.asList(BookmarksPageFactory.values());
}
private class PageChangeListener extends ViewPager.SimpleOnPageChangeListener

View file

@ -8,21 +8,6 @@ import com.mapswithme.maps.R;
public enum BookmarksPageFactory
{
CATALOG(new AdapterResourceProvider.Catalog())
{
@NonNull
@Override
public Fragment instantiateFragment()
{
return new CachedBookmarkCategoriesFragment();
}
@Override
public int getTitle()
{
return R.string.bookmarks_page_downloaded;
}
},
PRIVATE
{
@NonNull
@ -37,6 +22,21 @@ public enum BookmarksPageFactory
{
return R.string.bookmarks_page_my;
}
},
CATALOG(new AdapterResourceProvider.Catalog())
{
@NonNull
@Override
public Fragment instantiateFragment()
{
return new CachedBookmarkCategoriesFragment();
}
@Override
public int getTitle()
{
return R.string.bookmarks_page_downloaded;
}
};
@NonNull

View file

@ -1,19 +0,0 @@
package com.mapswithme.maps.bookmarks;
import android.support.annotation.IntDef;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
public class Constants
{
@Retention(RetentionPolicy.SOURCE)
@IntDef({ CATEGORIES_PAGE_PRIVATE, CATEGORIES_PAGE_CATALOG })
public @interface CategoriesPage {}
public static final int CATEGORIES_PAGE_PRIVATE = 0;
public static final int CATEGORIES_PAGE_CATALOG = 1;
final static String ARG_CATEGORIES_PAGE = "arg_categories_page";
}

View file

@ -8,7 +8,6 @@ import android.support.annotation.Nullable;
import com.mapswithme.maps.MwmApplication;
import com.mapswithme.maps.R;
import com.mapswithme.maps.bookmarks.Constants;
import static com.mapswithme.util.Config.KEY_PREF_STATISTICS;
@ -101,8 +100,7 @@ public final class SharedPropertiesUtils
.getInt(PREFS_BOOKMARK_CATEGORIES_LAST_VISIBLE_PAGE, 0);
}
public static void setLastVisibleBookmarkCategoriesPage(@NonNull Context context,
@Constants.CategoriesPage int pageIndex)
public static void setLastVisibleBookmarkCategoriesPage(@NonNull Context context, int pageIndex)
{
MwmApplication.prefs(context)
.edit()