Time dialog in progress

This commit is contained in:
GaidamakUA 2015-08-21 13:13:51 +03:00
parent 88d86c58ff
commit 61800f7419
10 changed files with 407 additions and 169 deletions

View file

@ -2,6 +2,7 @@ package net.osmand.util;
/* Can be commented out in order to run the main function separately */
import java.io.Serializable;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
@ -199,7 +200,7 @@ public class OpeningHoursParser {
* This implementation only supports month, day of weeks and numeral times, or the value "off"
*
*/
public static class BasicOpeningHourRule implements OpeningHoursRule {
public static class BasicOpeningHourRule implements OpeningHoursRule, Serializable {
/**
* represents the list on which days it is open.
* Day number 0 is MONDAY

View file

@ -82,6 +82,7 @@
android:layout_below="@id/webSiteEditText"
android:hint="Description"
android:inputType="textMultiLine"/>
<TextView
android:id="@+id/openHoursTextView"
android:layout_width="wrap_content"
@ -90,5 +91,20 @@
android:layout_marginLeft="16dp"
android:text="Open hours"
android:textColor="@color/color_black"/>
<LinearLayout
android:id="@+id/openHoursContainer"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/openHoursTextView"
android:orientation="vertical"/>
<Button
android:id="@+id/addOpeningHoursButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/openHoursContainer"
android:layout_marginLeft="72dp"
android:text="Add opening hours"/>
</RelativeLayout>
</android.support.v4.widget.NestedScrollView>

View file

@ -1,7 +1,83 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:orientation="horizontal">
<ImageButton
style="@style/Widget.AppCompat.Button.Borderless"
android:layout_width="48dp"
android:layout_height="48dp"
android:layout_gravity="bottom"
android:src="@drawable/ic_action_time"/>
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginLeft="24dp"
android:orientation="vertical"
android:layout_weight="1">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
tools:text="Mo-We"/>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@color/divider_color"/>
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="16dp"
android:layout_marginRight="16dp"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
tools:text="08:00"/>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@color/divider_color"/>
</LinearLayout>
<View
android:layout_width="16dp"
android:layout_height="1dp"
android:background="@color/divider_color"/>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="16dp"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
tools:text="20:00"/>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@color/divider_color"/>
</LinearLayout>
<ImageButton
android:id="@+id/deleteItemImageButton"
style="@style/Widget.AppCompat.Button.Borderless"
android:layout_width="48dp"
android:layout_height="48dp"
android:layout_gravity="bottom"
android:src="@drawable/ic_action_close_dark"/>
</LinearLayout>

View file

@ -19,7 +19,8 @@ import net.osmand.osm.PoiType;
import net.osmand.osm.edit.OSMSettings;
import net.osmand.plus.OsmandApplication;
import net.osmand.plus.R;
import net.osmand.plus.osmedit.EditPoiFragment.Tag;
import net.osmand.plus.osmedit.data.EditPoiData;
import net.osmand.plus.osmedit.data.Tag;
import java.util.Iterator;
import java.util.Map;
@ -28,7 +29,7 @@ public class AdvancedDataFragment extends Fragment {
private static final String TAG = "AdvancedDataFragment";
private TagAdapterLinearLayoutHack mAdapter;
private EditPoiFragment.EditPoiData.TagsChangedListener mTagsChangedListener;
private EditPoiData.TagsChangedListener mTagsChangedListener;
private boolean mIsUserInput = true;
@Override
@ -88,7 +89,7 @@ public class AdvancedDataFragment extends Fragment {
super.onResume();
// TODO read more about lifecycle
mAdapter.updateViews();
mTagsChangedListener = new EditPoiFragment.EditPoiData.TagsChangedListener() {
mTagsChangedListener = new EditPoiData.TagsChangedListener() {
@Override
public void onTagsChanged() {
mIsUserInput = false;
@ -112,7 +113,7 @@ public class AdvancedDataFragment extends Fragment {
public class TagAdapterLinearLayoutHack {
private final LinearLayout linearLayout;
private final EditPoiFragment.EditPoiData editPoiData;
private final EditPoiData editPoiData;
private final TextView nameTextView;
private final TextView amenityTagTextView;
@ -120,7 +121,7 @@ public class AdvancedDataFragment extends Fragment {
private final Map<String, PoiType> allTranslatedSubTypes;
public TagAdapterLinearLayoutHack(LinearLayout linearLayout,
EditPoiFragment.EditPoiData editPoiData,
EditPoiData editPoiData,
TextView nameTextView,
TextView amenityTagTextView,
TextView amenityTextView,
@ -227,7 +228,7 @@ public class AdvancedDataFragment extends Fragment {
return (EditPoiFragment) getParentFragment();
}
private EditPoiFragment.EditPoiData getData() {
private EditPoiData getData() {
return getEditPoiFragment().getEditPoiData();
}
}

View file

@ -2,16 +2,12 @@ package net.osmand.plus.osmedit;
import android.annotation.TargetApi;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.Dialog;
import android.app.ProgressDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.net.Uri;
import android.os.AsyncTask;
import android.os.Build;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.design.widget.TabLayout;
import android.support.design.widget.TextInputLayout;
import android.support.v4.app.DialogFragment;
@ -37,8 +33,6 @@ import android.widget.Toast;
import net.osmand.access.AccessibleToast;
import net.osmand.data.Amenity;
import net.osmand.osm.MapPoiTypes;
import net.osmand.osm.PoiCategory;
import net.osmand.osm.PoiType;
import net.osmand.osm.edit.EntityInfo;
import net.osmand.osm.edit.Node;
@ -48,16 +42,16 @@ import net.osmand.plus.OsmandPlugin;
import net.osmand.plus.OsmandSettings;
import net.osmand.plus.R;
import net.osmand.plus.activities.MapActivity;
import net.osmand.plus.osmedit.data.EditPoiData;
import net.osmand.plus.osmedit.data.Tag;
import net.osmand.plus.osmedit.dialogs.PoiSubTypeDialogFragment;
import net.osmand.plus.osmedit.dialogs.PoiTypeDialogFragment;
import net.osmand.util.Algorithms;
import java.io.Serializable;
import java.text.MessageFormat;
import java.util.HashSet;
import java.util.LinkedHashMap;
import java.util.LinkedHashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
public class EditPoiFragment extends Fragment {
public static final String TAG = "EditPoiFragment";
@ -377,7 +371,7 @@ public class EditPoiFragment extends Fragment {
}.execute();
}
private void updateType(Amenity amenity) {
public void updateType(Amenity amenity) {
// TODO implement
Log.v(TAG, "updateType(" + "amenity=" + amenity + ")");
mIsUserInput = false;
@ -445,126 +439,4 @@ public class EditPoiFragment extends Fragment {
throw new IllegalArgumentException("Unexpected position");
}
}
public static class EditPoiData {
private Set<TagsChangedListener> mListeners = new HashSet<>();
public LinkedHashSet<Tag> tags;
public Amenity amenity;
public void notifyDatasetChanged(TagsChangedListener listenerToSkip) {
Log.v(TAG, "notifyDatasetChanged(" + "listenerToSkip=" + listenerToSkip + ")" + mListeners);
for (TagsChangedListener listener : mListeners) {
if (listener != listenerToSkip) listener.onTagsChanged();
}
}
public void addListener(TagsChangedListener listener) {
mListeners.add(listener);
}
public void deleteListener(TagsChangedListener listener) {
mListeners.remove(listener);
}
public interface TagsChangedListener {
void onTagsChanged();
}
}
public static class Tag implements Serializable {
public String tag;
public String value;
public Tag(String tag, String value) {
this.tag = tag;
this.value = value;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Tag tag1 = (Tag) o;
return tag.equals(tag1.tag);
}
@Override
public int hashCode() {
return tag.hashCode();
}
@Override
public String toString() {
return "Tag{" +
"tag='" + tag + '\'' +
", value='" + value + '\'' +
'}';
}
}
public static class PoiTypeDialogFragment extends DialogFragment {
@NonNull
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
MapPoiTypes poiTypes = ((OsmandApplication) getActivity().getApplication()).getPoiTypes();
final Amenity amenity = (Amenity) getArguments().getSerializable(KEY_AMENITY);
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
final List<PoiCategory> categories = poiTypes.getCategories(false);
String[] vals = new String[categories.size()];
for (int i = 0; i < vals.length; i++) {
vals[i] = categories.get(i).getTranslation();
}
builder.setItems(vals, new Dialog.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
PoiCategory aType = categories.get(which);
if (aType != amenity.getType()) {
amenity.setType(aType);
amenity.setSubType(""); //$NON-NLS-1$
((EditPoiFragment) getParentFragment()).updateType(amenity);
}
dismiss();
}
});
return builder.create();
}
public static PoiTypeDialogFragment createInstance(Amenity amenity) {
PoiTypeDialogFragment poiTypeDialogFragment = new PoiTypeDialogFragment();
Bundle args = new Bundle();
args.putSerializable(KEY_AMENITY, amenity);
poiTypeDialogFragment.setArguments(args);
return poiTypeDialogFragment;
}
}
public static class PoiSubTypeDialogFragment extends DialogFragment {
@NonNull
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
MapPoiTypes poiTypes = ((OsmandApplication) getActivity().getApplication()).getPoiTypes();
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
final Amenity a = (Amenity) getArguments().getSerializable(KEY_AMENITY);
final Map<String, PoiType> allTranslatedNames = poiTypes.getAllTranslatedNames(a.getType(), true);
// (=^.^=)
final String[] subCats = allTranslatedNames.keySet().toArray(new String[0]);
builder.setItems(subCats, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
((EditPoiFragment) getParentFragment()).setSubCategory(subCats[which]);
dismiss();
}
});
return builder.create();
}
public static PoiSubTypeDialogFragment createInstance(Amenity amenity) {
PoiSubTypeDialogFragment fragment = new PoiSubTypeDialogFragment();
Bundle args = new Bundle();
args.putSerializable(KEY_AMENITY, amenity);
fragment.setArguments(args);
return fragment;
}
}
}

View file

@ -1,23 +1,36 @@
package net.osmand.plus.osmedit;
import android.app.AlertDialog;
import android.app.Dialog;
import android.app.TimePickerDialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v4.app.DialogFragment;
import android.support.v4.app.Fragment;
import android.text.Editable;
import android.text.TextUtils;
import android.text.TextWatcher;
import android.text.format.DateFormat;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.TimePicker;
import net.osmand.osm.edit.OSMSettings;
import net.osmand.plus.IconsCache;
import net.osmand.plus.R;
import net.osmand.plus.activities.MapActivity;
import net.osmand.plus.osmedit.EditPoiFragment.Tag;
import net.osmand.plus.osmedit.data.EditPoiData;
import net.osmand.plus.osmedit.data.Tag;
import net.osmand.util.OpeningHoursParser.BasicOpeningHourRule;
import java.util.Calendar;
import java.util.HashMap;
import java.util.Map;
@ -28,7 +41,7 @@ public class NormalDataFragment extends Fragment {
private EditText phoneEditText;
private EditText webSiteEditText;
private EditText descriptionEditText;
private EditPoiFragment.EditPoiData.TagsChangedListener mTagsChangedListener;
private EditPoiData.TagsChangedListener mTagsChangedListener;
private boolean mIsUserInput = true;
@Nullable
@ -63,13 +76,22 @@ public class NormalDataFragment extends Fragment {
descriptionEditText = (EditText) view.findViewById(R.id.descriptionEditText);
descriptionEditText.addTextChangedListener(new MyOnFocusChangeListener(getData(),
OSMSettings.OSMTagKey.DESCRIPTION.getValue()));
Button addOpeningHoursButton = (Button) view.findViewById(R.id.addOpeningHoursButton);
addOpeningHoursButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
BasicOpeningHourRule r = new BasicOpeningHourRule();
DaysDialogFragment fragment = DaysDialogFragment.createInstance(r, -1);
fragment.show(getChildFragmentManager(), "OpenTimeDialogFragment");
}
});
return view;
}
@Override
public void onResume() {
super.onResume();
mTagsChangedListener = new EditPoiFragment.EditPoiData.TagsChangedListener() {
mTagsChangedListener = new EditPoiData.TagsChangedListener() {
@Override
public void onTagsChanged() {
TagMapProcessor tagMapProcessor = new TagMapProcessor();
@ -127,15 +149,15 @@ public class NormalDataFragment extends Fragment {
return (EditPoiFragment) getParentFragment();
}
private EditPoiFragment.EditPoiData getData() {
private EditPoiData getData() {
return getEditPoiFragment().getEditPoiData();
}
private class MyOnFocusChangeListener implements TextWatcher {
private final EditPoiFragment.EditPoiData data;
private final EditPoiData data;
private final String tagName;
public MyOnFocusChangeListener(EditPoiFragment.EditPoiData data,
public MyOnFocusChangeListener(EditPoiData data,
String tagName) {
this.data = data;
this.tagName = tagName;
@ -162,4 +184,116 @@ public class NormalDataFragment extends Fragment {
}
}
}
public static class DaysDialogFragment extends DialogFragment {
public static final String POSITION_TO_ADD = "position_to_add";
public static final String ITEM = "item";
@NonNull
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
Log.v(TAG, "onCreateDialog(" + "savedInstanceState=" + savedInstanceState + ")" + getArguments());
final BasicOpeningHourRule item =
(BasicOpeningHourRule) getArguments().getSerializable(ITEM);
final int positionToAdd = getArguments().getInt(POSITION_TO_ADD);
AlertDialog.Builder b = new AlertDialog.Builder(getActivity());
boolean add = positionToAdd > -1;
Calendar inst = Calendar.getInstance();
final int first = inst.getFirstDayOfWeek();
final boolean[] dayToShow = new boolean[7];
String[] daysToShow = new String[7];
for (int i = 0; i < 7; i++) {
int d = (first + i - 1) % 7 + 1;
inst.set(Calendar.DAY_OF_WEEK, d);
daysToShow[i] = DateFormat.format("EEEE", inst).toString(); //$NON-NLS-1$
final int pos = (d + 5) % 7;
dayToShow[i] = item.getDays()[pos];
}
b.setMultiChoiceItems(daysToShow, dayToShow, new DialogInterface.OnMultiChoiceClickListener() {
@Override
public void onClick(DialogInterface dialog, int which, boolean isChecked) {
dayToShow[which] = isChecked;
}
});
b.setPositiveButton(add ? getActivity().getString(R.string.shared_string_add)
: getActivity().getString(R.string.shared_string_apply),
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
boolean[] days = item.getDays();
for (int i = 0; i < 7; i++) {
days[(first + 5 + i) % 7] = dayToShow[i];
}
TimePickerDialogFragment.createInstance(null, true)
.show(getFragmentManager(), "TimePickerDialogFragment");
if (positionToAdd != -1) {
// time.insert(item, positionToAdd);
// selectedRule = positionToAdd;
} else {
// time.notifyDataSetChanged();
}
// updateTimePickers();
}
});
b.setNegativeButton(getActivity().getString(R.string.shared_string_cancel), null);
return b.create();
}
public static DaysDialogFragment createInstance(final BasicOpeningHourRule item,
final int positionToAdd) {
DaysDialogFragment daysDialogFragment = new DaysDialogFragment();
Bundle bundle = new Bundle();
bundle.putSerializable(ITEM, item);
bundle.putInt(POSITION_TO_ADD, positionToAdd);
daysDialogFragment.setArguments(bundle);
return daysDialogFragment;
}
}
public static class TimePickerDialogFragment extends DialogFragment {
public static final String INITIAL_TIME = "initial_time";
public static final String IS_START = "is_start";
@NonNull
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
Bundle args = getArguments();
Calendar initialState = (Calendar) args.getSerializable(INITIAL_TIME);
if (initialState == null) initialState = Calendar.getInstance();
TimePickerDialog.OnTimeSetListener callback = new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
TimePickerDialogFragment.createInstance(null, false)
.show(getFragmentManager(), "TimePickerDialogFragment");
}
};
TimePickerDialog timePickerDialog = new TimePickerDialog(getActivity(), callback,
initialState.get(Calendar.HOUR_OF_DAY),
initialState.get(Calendar.MINUTE),
DateFormat.is24HourFormat(getActivity()));
boolean isStart = args.getBoolean(IS_START);
timePickerDialog.setTitle(isStart ? "Opening" : " Closing");
return timePickerDialog;
}
public static TimePickerDialogFragment createInstance(Calendar initialTime,
boolean isStart) {
TimePickerDialogFragment fragment = new TimePickerDialogFragment();
Bundle bundle = new Bundle();
bundle.putBoolean(IS_START, isStart);
bundle.putSerializable(INITIAL_TIME, initialTime);
fragment.setArguments(bundle);
return fragment;
}
}
}

View file

@ -1,7 +1,31 @@
package net.osmand.plus.osmedit.data;
/**
* Created by GaidamakUA on 8/19/15.
*/
import net.osmand.data.Amenity;
import java.util.HashSet;
import java.util.LinkedHashSet;
import java.util.Set;
public class EditPoiData {
private Set<TagsChangedListener> mListeners = new HashSet<>();
public LinkedHashSet<Tag> tags;
public Amenity amenity;
public void notifyDatasetChanged(TagsChangedListener listenerToSkip) {
for (TagsChangedListener listener : mListeners) {
if (listener != listenerToSkip) listener.onTagsChanged();
}
}
public void addListener(TagsChangedListener listener) {
mListeners.add(listener);
}
public void deleteListener(TagsChangedListener listener) {
mListeners.remove(listener);
}
public interface TagsChangedListener {
void onTagsChanged();
}
}

View file

@ -1,7 +1,34 @@
package net.osmand.plus.osmedit.data;
/**
* Created by GaidamakUA on 8/19/15.
*/
public class Tag {
import java.io.Serializable;
public class Tag implements Serializable {
public String tag;
public String value;
public Tag(String tag, String value) {
this.tag = tag;
this.value = value;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Tag tag1 = (Tag) o;
return tag.equals(tag1.tag);
}
@Override
public int hashCode() {
return tag.hashCode();
}
@Override
public String toString() {
return "Tag{" +
"tag='" + tag + '\'' +
", value='" + value + '\'' +
'}';
}
}

View file

@ -1,7 +1,47 @@
package net.osmand.plus.osmedit.dialogs;
/**
* Created by GaidamakUA on 8/19/15.
*/
public class PoiSubTypeDialogFragment {
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.v4.app.DialogFragment;
import net.osmand.data.Amenity;
import net.osmand.osm.MapPoiTypes;
import net.osmand.osm.PoiType;
import net.osmand.plus.OsmandApplication;
import net.osmand.plus.osmedit.EditPoiFragment;
import java.util.Map;
public class PoiSubTypeDialogFragment extends DialogFragment {
private static final String KEY_AMENITY = "amenity";
@NonNull
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
MapPoiTypes poiTypes = ((OsmandApplication) getActivity().getApplication()).getPoiTypes();
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
final Amenity a = (Amenity) getArguments().getSerializable(KEY_AMENITY);
final Map<String, PoiType> allTranslatedNames = poiTypes.getAllTranslatedNames(a.getType(), true);
// (=^.^=)
final String[] subCats = allTranslatedNames.keySet().toArray(new String[0]);
builder.setItems(subCats, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
((EditPoiFragment) getParentFragment()).setSubCategory(subCats[which]);
dismiss();
}
});
return builder.create();
}
public static PoiSubTypeDialogFragment createInstance(Amenity amenity) {
PoiSubTypeDialogFragment fragment = new PoiSubTypeDialogFragment();
Bundle args = new Bundle();
args.putSerializable(KEY_AMENITY, amenity);
fragment.setArguments(args);
return fragment;
}
}

View file

@ -1,7 +1,54 @@
package net.osmand.plus.osmedit.dialogs;
/**
* Created by GaidamakUA on 8/19/15.
*/
public class PoiTypeDialogFragment {
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.v4.app.DialogFragment;
import net.osmand.data.Amenity;
import net.osmand.osm.MapPoiTypes;
import net.osmand.osm.PoiCategory;
import net.osmand.plus.OsmandApplication;
import net.osmand.plus.osmedit.EditPoiFragment;
import java.util.List;
public class PoiTypeDialogFragment extends DialogFragment {
private static final String KEY_AMENITY = "amenity";
@NonNull
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
MapPoiTypes poiTypes = ((OsmandApplication) getActivity().getApplication()).getPoiTypes();
final Amenity amenity = (Amenity) getArguments().getSerializable(KEY_AMENITY);
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
final List<PoiCategory> categories = poiTypes.getCategories(false);
String[] vals = new String[categories.size()];
for (int i = 0; i < vals.length; i++) {
vals[i] = categories.get(i).getTranslation();
}
builder.setItems(vals, new Dialog.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
PoiCategory aType = categories.get(which);
if (aType != amenity.getType()) {
amenity.setType(aType);
amenity.setSubType(""); //$NON-NLS-1$
((EditPoiFragment) getParentFragment()).updateType(amenity);
}
dismiss();
}
});
return builder.create();
}
public static PoiTypeDialogFragment createInstance(Amenity amenity) {
PoiTypeDialogFragment poiTypeDialogFragment = new PoiTypeDialogFragment();
Bundle args = new Bundle();
args.putSerializable(KEY_AMENITY, amenity);
poiTypeDialogFragment.setArguments(args);
return poiTypeDialogFragment;
}
}