forked from organicmaps/organicmaps
[android] Added start for result api for Ugc route activities
This commit is contained in:
parent
53657206a3
commit
331f7b6b0a
12 changed files with 59 additions and 94 deletions
|
@ -66,7 +66,6 @@
|
|||
android:singleLine="true"
|
||||
android:textAppearance="@style/MwmTextAppearance.Body3"
|
||||
tools:text="42000000"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/author_name"
|
||||
android:layout_width="wrap_content"
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<menu xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:id="@+id/list_settings"
|
||||
android:title="@string/list_settings"
|
||||
android:title="@string/settings"
|
||||
android:icon="@drawable/ic_24_px_settings"/>
|
||||
<item android:id="@+id/set_show"/>
|
||||
<item android:id="@+id/set_share"
|
||||
|
|
|
@ -1,13 +0,0 @@
|
|||
package com.mapswithme.maps.base;
|
||||
|
||||
import android.database.Observable;
|
||||
import android.support.v7.widget.RecyclerView;
|
||||
|
||||
public class DataObservable extends Observable<RecyclerView.AdapterDataObserver>
|
||||
{
|
||||
public void notifyChanged() {
|
||||
for (int i = mObservers.size() - 1; i >= 0; i--) {
|
||||
mObservers.get(i).onChanged();
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,11 +0,0 @@
|
|||
package com.mapswithme.maps.base;
|
||||
|
||||
import android.database.Observable;
|
||||
import android.support.annotation.NonNull;
|
||||
import android.support.v7.widget.RecyclerView;
|
||||
|
||||
public interface ObservableHost<T extends Observable<RecyclerView.AdapterDataObserver>>
|
||||
{
|
||||
@NonNull
|
||||
T getObservable();
|
||||
}
|
|
@ -476,7 +476,7 @@ public abstract class BaseBookmarkCategoriesFragment extends BaseMwmRecyclerFrag
|
|||
public void process(@NonNull BaseBookmarkCategoriesFragment frag,
|
||||
@NonNull BookmarkCategory category)
|
||||
{
|
||||
UgcRouteSharingOptionsActivity.start(frag.getContext(), category);
|
||||
UgcRouteSharingOptionsActivity.startForResult(frag.getActivity(), category);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -486,9 +486,7 @@ public abstract class BaseBookmarkCategoriesFragment extends BaseMwmRecyclerFrag
|
|||
public void process(@NonNull BaseBookmarkCategoriesFragment frag,
|
||||
@NonNull BookmarkCategory category)
|
||||
{
|
||||
Intent intent = new Intent(frag.getContext(), UgcRouteEditSettingsActivity.class);
|
||||
intent.putExtra(UgcRouteEditSettingsActivity.EXTRA_BOOKMARK_CATEGORY, frag.mSelectedCategory);
|
||||
frag.startActivity(intent);
|
||||
UgcRouteEditSettingsActivity.startForResult(frag.getActivity(), category);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -300,6 +300,6 @@ public class BookmarksListFragment extends BaseMwmRecyclerFragment<BookmarkListA
|
|||
|
||||
private void openSharingOptionsScreen()
|
||||
{
|
||||
UgcRouteSharingOptionsActivity.start(getContext(), getCategoryOrThrow());
|
||||
UgcRouteSharingOptionsActivity.startForResult(getActivity(), getCategoryOrThrow());
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,30 +0,0 @@
|
|||
package com.mapswithme.maps.ugc.routes;
|
||||
|
||||
import android.os.Bundle;
|
||||
import android.support.annotation.NonNull;
|
||||
import android.support.annotation.Nullable;
|
||||
|
||||
import com.mapswithme.maps.base.BaseMwmFragmentActivity;
|
||||
import com.mapswithme.maps.base.DataObservable;
|
||||
import com.mapswithme.maps.base.ObservableHost;
|
||||
|
||||
public abstract class BaseEditUgcRouteActivity extends BaseMwmFragmentActivity implements ObservableHost<DataObservable>
|
||||
{
|
||||
@SuppressWarnings("NullableProblems")
|
||||
@NonNull
|
||||
private DataObservable mObservable;
|
||||
|
||||
@Override
|
||||
protected void safeOnCreate(@Nullable Bundle savedInstanceState)
|
||||
{
|
||||
super.safeOnCreate(savedInstanceState);
|
||||
mObservable = new DataObservable();
|
||||
}
|
||||
|
||||
@NonNull
|
||||
@Override
|
||||
public DataObservable getObservable()
|
||||
{
|
||||
return mObservable;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,37 @@
|
|||
package com.mapswithme.maps.ugc.routes;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
import android.support.annotation.NonNull;
|
||||
import android.support.annotation.Nullable;
|
||||
|
||||
import com.mapswithme.maps.base.BaseMwmFragmentActivity;
|
||||
import com.mapswithme.maps.bookmarks.data.BookmarkCategory;
|
||||
|
||||
public abstract class BaseUgcRouteActivity extends BaseMwmFragmentActivity
|
||||
{
|
||||
public static final String EXTRA_BOOKMARK_CATEGORY = "bookmark_category";
|
||||
|
||||
@Override
|
||||
protected void safeOnCreate(@Nullable Bundle savedInstanceState)
|
||||
{
|
||||
super.safeOnCreate(savedInstanceState);
|
||||
checkForResultCall();
|
||||
}
|
||||
|
||||
private void checkForResultCall()
|
||||
{
|
||||
if (getCallingActivity() == null)
|
||||
throw new IllegalStateException(getClass().getSimpleName() + " must be started for result");
|
||||
}
|
||||
|
||||
protected static <T> void startForResult(@NonNull Activity activity,
|
||||
@NonNull BookmarkCategory category,
|
||||
@NonNull Class<T> targetClass, int requestCode)
|
||||
{
|
||||
Intent intent = new Intent(activity, targetClass)
|
||||
.putExtra(EXTRA_BOOKMARK_CATEGORY, category);
|
||||
activity.startActivityForResult(intent, requestCode);
|
||||
}
|
||||
}
|
|
@ -1,12 +1,16 @@
|
|||
package com.mapswithme.maps.ugc.routes;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.support.annotation.NonNull;
|
||||
import android.support.v4.app.Fragment;
|
||||
|
||||
import com.mapswithme.maps.R;
|
||||
import com.mapswithme.maps.base.BaseMwmFragmentActivity;
|
||||
import com.mapswithme.maps.bookmarks.data.BookmarkCategory;
|
||||
|
||||
public class UgcRouteEditSettingsActivity extends BaseMwmFragmentActivity
|
||||
public class UgcRouteEditSettingsActivity extends BaseUgcRouteActivity
|
||||
{
|
||||
public static final int REQUEST_CODE = 107;
|
||||
|
||||
@Override
|
||||
protected int getContentLayoutResId()
|
||||
{
|
||||
|
@ -24,4 +28,9 @@ public class UgcRouteEditSettingsActivity extends BaseMwmFragmentActivity
|
|||
{
|
||||
return UgcRouteEditSettingsFragment.class;
|
||||
}
|
||||
|
||||
public static void startForResult(@NonNull Activity activity, @NonNull BookmarkCategory category)
|
||||
{
|
||||
startForResult(activity, category, UgcRouteEditSettingsActivity.class, REQUEST_CODE);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -23,8 +23,6 @@ import java.util.Objects;
|
|||
|
||||
public class UgcRouteEditSettingsFragment extends BaseMwmToolbarFragment
|
||||
{
|
||||
public static final String EXTRA_BOOKMARK_CATEGORY = "bookmark_category";
|
||||
|
||||
@SuppressWarnings("NullableProblems")
|
||||
@NonNull
|
||||
private BookmarkCategory mCategory;
|
||||
|
@ -48,7 +46,7 @@ public class UgcRouteEditSettingsFragment extends BaseMwmToolbarFragment
|
|||
Bundle args = getArguments();
|
||||
if (args == null)
|
||||
throw new IllegalArgumentException("Args must be not null");
|
||||
mCategory = Objects.requireNonNull(args.getParcelable(EXTRA_BOOKMARK_CATEGORY));
|
||||
mCategory = Objects.requireNonNull(args.getParcelable(UgcRouteEditSettingsActivity.EXTRA_BOOKMARK_CATEGORY));
|
||||
}
|
||||
|
||||
@Nullable
|
||||
|
@ -91,9 +89,7 @@ public class UgcRouteEditSettingsFragment extends BaseMwmToolbarFragment
|
|||
|
||||
private void openSharingOptionsScreen()
|
||||
{
|
||||
Intent intent = new Intent(getContext(), UgcRouteSharingOptionsActivity.class)
|
||||
.putExtra(UgcSharingOptionsFragment.EXTRA_BOOKMARK_CATEGORY, mCategory);
|
||||
startActivityForResult(intent, UgcRouteSharingOptionsActivity.REQUEST_CODE);
|
||||
UgcRouteSharingOptionsActivity.startForResult(getActivity(), mCategory);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -1,33 +1,16 @@
|
|||
package com.mapswithme.maps.ugc.routes;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
import android.app.Activity;
|
||||
import android.support.annotation.NonNull;
|
||||
import android.support.annotation.Nullable;
|
||||
import android.support.v4.app.Fragment;
|
||||
|
||||
import com.mapswithme.maps.R;
|
||||
import com.mapswithme.maps.base.BaseMwmFragmentActivity;
|
||||
import com.mapswithme.maps.bookmarks.data.BookmarkCategory;
|
||||
|
||||
public class UgcRouteSharingOptionsActivity extends BaseMwmFragmentActivity
|
||||
public class UgcRouteSharingOptionsActivity extends BaseUgcRouteActivity
|
||||
{
|
||||
public static final int REQUEST_CODE = 307;
|
||||
|
||||
@Override
|
||||
protected void safeOnCreate(@Nullable Bundle savedInstanceState)
|
||||
{
|
||||
super.safeOnCreate(savedInstanceState);
|
||||
checkForResultCall();
|
||||
}
|
||||
|
||||
private void checkForResultCall()
|
||||
{
|
||||
if (getCallingActivity() == null)
|
||||
throw new IllegalStateException("UgcRouteSharingOptionsActivity must be started for result");
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Class<? extends Fragment> getFragmentClass()
|
||||
{
|
||||
|
@ -40,10 +23,8 @@ public class UgcRouteSharingOptionsActivity extends BaseMwmFragmentActivity
|
|||
return R.layout.fragment_container_layout;
|
||||
}
|
||||
|
||||
public static void start(@NonNull Context context, @NonNull BookmarkCategory category)
|
||||
public static void startForResult(@NonNull Activity activity, @NonNull BookmarkCategory category)
|
||||
{
|
||||
Intent intent = new Intent(context, UgcRouteSharingOptionsActivity.class)
|
||||
.putExtra(UgcSharingOptionsFragment.EXTRA_BOOKMARK_CATEGORY, category);
|
||||
context.startActivity(intent);
|
||||
startForResult(activity, category, UgcRouteSharingOptionsActivity.class, REQUEST_CODE);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -35,7 +35,6 @@ import java.util.Objects;
|
|||
|
||||
public class UgcSharingOptionsFragment extends BaseMwmAuthorizationFragment implements BookmarkManager.BookmarksCatalogListener
|
||||
{
|
||||
public static final String EXTRA_BOOKMARK_CATEGORY = "bookmark_category";
|
||||
private static final String NO_NETWORK_CONNECTION_DIALOG_TAG = "no_network_connection_dialog";
|
||||
private static final String UPLOADING_PROGRESS_DIALOG_TAG = "uploading_progress_dialog";
|
||||
|
||||
|
@ -52,7 +51,7 @@ public class UgcSharingOptionsFragment extends BaseMwmAuthorizationFragment impl
|
|||
{
|
||||
super.onCreate(savedInstanceState);
|
||||
Bundle args = Objects.requireNonNull(getArguments());
|
||||
mCategory = Objects.requireNonNull(args.getParcelable(EXTRA_BOOKMARK_CATEGORY));
|
||||
mCategory = Objects.requireNonNull(args.getParcelable(UgcRouteSharingOptionsActivity.EXTRA_BOOKMARK_CATEGORY));
|
||||
}
|
||||
|
||||
@Nullable
|
||||
|
|
Loading…
Add table
Reference in a new issue