forked from organicmaps/organicmaps
[android] Fix NonConstantResourceId
Closes: #3552 Signed-off-by: Andrew Shkrob <andrew.shkrob.social@yandex.by>
This commit is contained in:
parent
5412657f57
commit
f61c0c9823
12 changed files with 269 additions and 343 deletions
|
@ -144,20 +144,13 @@ public class ChooseBookmarksSortingTypeFragment extends BaseMwmDialogFragment
|
|||
@Override
|
||||
public void onCheckedChanged(RadioGroup group, @IdRes int id)
|
||||
{
|
||||
switch (id)
|
||||
{
|
||||
case R.id.sort_by_default:
|
||||
resetSorting();
|
||||
break;
|
||||
case R.id.sort_by_type:
|
||||
setSortingType(BookmarkManager.SORT_BY_TYPE);
|
||||
break;
|
||||
case R.id.sort_by_distance:
|
||||
setSortingType(BookmarkManager.SORT_BY_DISTANCE);
|
||||
break;
|
||||
case R.id.sort_by_time:
|
||||
setSortingType(BookmarkManager.SORT_BY_TIME);
|
||||
break;
|
||||
}
|
||||
if (id == R.id.sort_by_default)
|
||||
resetSorting();
|
||||
else if (id == R.id.sort_by_type)
|
||||
setSortingType(BookmarkManager.SORT_BY_TYPE);
|
||||
else if (id == R.id.sort_by_distance)
|
||||
setSortingType(BookmarkManager.SORT_BY_DISTANCE);
|
||||
else if (id == R.id.sort_by_time)
|
||||
setSortingType(BookmarkManager.SORT_BY_TIME);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -201,27 +201,17 @@ public class CountrySuggestFragment extends BaseMwmFragment implements View.OnCl
|
|||
@Override
|
||||
public void onClick(View v)
|
||||
{
|
||||
switch (v.getId())
|
||||
final int id = v.getId();
|
||||
if (id == R.id.btn__download_map)
|
||||
{
|
||||
MapManager.warn3gAndDownload(requireActivity(), mCurrentCountry.id, () -> mDownloadingCountry = mCurrentCountry);
|
||||
}
|
||||
else if (id == R.id.btn__select_map)
|
||||
{
|
||||
case R.id.btn__download_map:
|
||||
MapManager.warn3gAndDownload(requireActivity(), mCurrentCountry.id, new Runnable()
|
||||
{
|
||||
@Override
|
||||
public void run()
|
||||
{
|
||||
mDownloadingCountry = mCurrentCountry;
|
||||
}
|
||||
});
|
||||
break;
|
||||
|
||||
case R.id.btn__select_map:
|
||||
BaseMwmFragmentActivity activity = Utils.castTo(requireActivity());
|
||||
activity.replaceFragment(DownloaderFragment.class, null, null);
|
||||
break;
|
||||
|
||||
case R.id.wpv__download_progress:
|
||||
MapManager.nativeCancel(mDownloadingCountry.id);
|
||||
break;
|
||||
}
|
||||
else if (id == R.id.wpv__download_progress)
|
||||
MapManager.nativeCancel(mDownloadingCountry.id);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -91,11 +91,8 @@ public class AdvancedTimetableFragment extends BaseMwmFragment
|
|||
@Override
|
||||
public void onClick(View v)
|
||||
{
|
||||
switch (v.getId())
|
||||
{
|
||||
case R.id.examples:
|
||||
if (v.getId() == R.id.examples)
|
||||
showExample(!mIsExampleShown);
|
||||
}
|
||||
}
|
||||
|
||||
@Nullable
|
||||
|
|
|
@ -494,45 +494,30 @@ public class EditorFragment extends BaseMwmFragment implements View.OnClickListe
|
|||
@Override
|
||||
public void onClick(View v)
|
||||
{
|
||||
switch (v.getId())
|
||||
{
|
||||
case R.id.edit_opening_hours:
|
||||
case R.id.empty_opening_hours:
|
||||
case R.id.opening_hours:
|
||||
final int id = v.getId();
|
||||
if (id == R.id.edit_opening_hours || id == R.id.empty_opening_hours || id == R.id.opening_hours)
|
||||
mParent.editTimetable();
|
||||
break;
|
||||
case R.id.phone:
|
||||
case R.id.edit_phone:
|
||||
else if (id == R.id.phone || id == R.id.edit_phone)
|
||||
mParent.editPhone();
|
||||
break;
|
||||
case R.id.block_wifi:
|
||||
else if (id == R.id.block_wifi)
|
||||
mWifi.toggle();
|
||||
break;
|
||||
case R.id.block_street:
|
||||
else if (id == R.id.block_street)
|
||||
mParent.editStreet();
|
||||
break;
|
||||
case R.id.block_cuisine:
|
||||
else if (id == R.id.block_cuisine)
|
||||
mParent.editCuisine();
|
||||
break;
|
||||
case R.id.category:
|
||||
else if (id == R.id.category)
|
||||
mParent.editCategory();
|
||||
break;
|
||||
case R.id.more_names:
|
||||
case R.id.show_additional_names:
|
||||
if (mNamesAdapter.areAdditionalLanguagesShown() && !validateNames())
|
||||
break;
|
||||
showAdditionalNames(!mNamesAdapter.areAdditionalLanguagesShown());
|
||||
break;
|
||||
case R.id.add_langs:
|
||||
mParent.addLanguage();
|
||||
break;
|
||||
case R.id.about_osm:
|
||||
startActivity(new Intent((Intent.ACTION_VIEW), Uri.parse(Constants.Url.OSM_ABOUT)));
|
||||
break;
|
||||
case R.id.reset:
|
||||
reset();
|
||||
break;
|
||||
else if (id == R.id.more_names || id == R.id.show_additional_names)
|
||||
{
|
||||
if (!mNamesAdapter.areAdditionalLanguagesShown() || validateNames())
|
||||
showAdditionalNames(!mNamesAdapter.areAdditionalLanguagesShown());
|
||||
}
|
||||
else if (id == R.id.add_langs)
|
||||
mParent.addLanguage();
|
||||
else if (id == R.id.about_osm)
|
||||
startActivity(new Intent((Intent.ACTION_VIEW), Uri.parse(Constants.Url.OSM_ABOUT)));
|
||||
else if (id == R.id.reset)
|
||||
reset();
|
||||
}
|
||||
|
||||
private void showAdditionalNames(boolean show)
|
||||
|
|
|
@ -72,26 +72,20 @@ public class ReportFragment extends BaseMwmToolbarFragment implements View.OnCli
|
|||
@Override
|
||||
public void onClick(View v)
|
||||
{
|
||||
switch (v.getId())
|
||||
{
|
||||
case R.id.problem_not_exist:
|
||||
// case R.id.problem_closed_repair:
|
||||
// case R.id.problem_duplicated_place:
|
||||
final int id = v.getId();
|
||||
if (id == R.id.problem_not_exist)
|
||||
sendNotExist();
|
||||
break;
|
||||
|
||||
case R.id.problem_other:
|
||||
else if (id == R.id.problem_other)
|
||||
{
|
||||
mAdvancedMode = true;
|
||||
refreshProblems();
|
||||
break;
|
||||
|
||||
case R.id.save:
|
||||
}
|
||||
else if (id == R.id.save)
|
||||
{
|
||||
String text = mProblemInput.getText().toString().trim();
|
||||
if (TextUtils.isEmpty(text))
|
||||
return;
|
||||
|
||||
send(text);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -262,38 +262,29 @@ class SimpleTimetableAdapter extends RecyclerView.Adapter<SimpleTimetableAdapter
|
|||
@Override
|
||||
public void onClick(View v)
|
||||
{
|
||||
switch (v.getId())
|
||||
{
|
||||
case R.id.time_open:
|
||||
final int id = v.getId();
|
||||
if (id == R.id.time_open)
|
||||
pickTime(getAdapterPosition(), HoursMinutesPickerFragment.TAB_FROM, ID_OPENING);
|
||||
break;
|
||||
case R.id.time_close:
|
||||
else if (id == R.id.time_close)
|
||||
pickTime(getAdapterPosition(), HoursMinutesPickerFragment.TAB_TO, ID_OPENING);
|
||||
break;
|
||||
case R.id.tv__remove_timetable:
|
||||
else if (id == R.id.tv__remove_timetable)
|
||||
removeTimetable(getAdapterPosition());
|
||||
break;
|
||||
case R.id.tv__add_closed:
|
||||
else if (id == R.id.tv__add_closed)
|
||||
pickTime(getAdapterPosition(), HoursMinutesPickerFragment.TAB_FROM, ID_CLOSING);
|
||||
break;
|
||||
case R.id.allday:
|
||||
else if (id == R.id.allday)
|
||||
swAllday.toggle();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked)
|
||||
{
|
||||
switch (buttonView.getId())
|
||||
{
|
||||
case R.id.sw__allday:
|
||||
final int id = buttonView.getId();
|
||||
if (id == R.id.sw__allday)
|
||||
setFullday(getAdapterPosition(), isChecked);
|
||||
break;
|
||||
case R.id.chb__day:
|
||||
else if (id == R.id.chb__day)
|
||||
{
|
||||
final int dayIndex = (Integer) buttonView.getTag();
|
||||
switchWorkingDay(dayIndex);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -253,43 +253,44 @@ public class SearchWheel implements View.OnClickListener
|
|||
@Override
|
||||
public void onClick(View v)
|
||||
{
|
||||
switch (v.getId())
|
||||
final int id = v.getId();
|
||||
if (id == R.id.btn_search)
|
||||
onSearchButtonClick(v);
|
||||
else if (id == R.id.touch_interceptor)
|
||||
toggleSearchLayout();
|
||||
else if (id == R.id.search_fuel ||
|
||||
id == R.id.search_parking ||
|
||||
id == R.id.search_eat ||
|
||||
id == R.id.search_food ||
|
||||
id == R.id.search_atm)
|
||||
startSearch(SearchOption.fromResId(id));
|
||||
}
|
||||
|
||||
private void onSearchButtonClick(View v)
|
||||
{
|
||||
if (!RoutingController.get().isNavigating())
|
||||
{
|
||||
case R.id.btn_search:
|
||||
if (!RoutingController.get().isNavigating())
|
||||
{
|
||||
if (TextUtils.isEmpty(SearchEngine.INSTANCE.getQuery()))
|
||||
showSearchInParent();
|
||||
else
|
||||
mOnSearchCanceledListener.onClick(v);
|
||||
return;
|
||||
}
|
||||
|
||||
if (mCurrentOption != null || !TextUtils.isEmpty(SearchEngine.INSTANCE.getQuery()))
|
||||
{
|
||||
mOnSearchCanceledListener.onClick(v);
|
||||
refreshSearchVisibility();
|
||||
return;
|
||||
}
|
||||
|
||||
if (mIsExpanded)
|
||||
{
|
||||
if (TextUtils.isEmpty(SearchEngine.INSTANCE.getQuery()))
|
||||
showSearchInParent();
|
||||
return;
|
||||
}
|
||||
|
||||
toggleSearchLayout();
|
||||
break;
|
||||
case R.id.touch_interceptor:
|
||||
toggleSearchLayout();
|
||||
break;
|
||||
case R.id.search_fuel:
|
||||
case R.id.search_parking:
|
||||
case R.id.search_eat:
|
||||
case R.id.search_food:
|
||||
case R.id.search_atm:
|
||||
startSearch(SearchOption.fromResId(v.getId()));
|
||||
else
|
||||
mOnSearchCanceledListener.onClick(v);
|
||||
return;
|
||||
}
|
||||
|
||||
if (mCurrentOption != null || !TextUtils.isEmpty(SearchEngine.INSTANCE.getQuery()))
|
||||
{
|
||||
mOnSearchCanceledListener.onClick(v);
|
||||
refreshSearchVisibility();
|
||||
return;
|
||||
}
|
||||
|
||||
if (mIsExpanded)
|
||||
{
|
||||
showSearchInParent();
|
||||
return;
|
||||
}
|
||||
|
||||
toggleSearchLayout();
|
||||
}
|
||||
|
||||
private void showSearchInParent()
|
||||
|
|
|
@ -383,20 +383,14 @@ final class RoutingBottomMenuController implements View.OnClickListener
|
|||
@Override
|
||||
public void onClick(View v)
|
||||
{
|
||||
switch (v.getId())
|
||||
final int id = v.getId();
|
||||
if (id == R.id.btn__my_position_use && mListener != null)
|
||||
mListener.onUseMyPositionAsStart();
|
||||
else if (id == R.id.btn__search_point && mListener != null)
|
||||
{
|
||||
case R.id.btn__my_position_use:
|
||||
if (mListener != null)
|
||||
mListener.onUseMyPositionAsStart();
|
||||
break;
|
||||
case R.id.btn__search_point:
|
||||
if (mListener != null)
|
||||
{
|
||||
@RoutePointInfo.RouteMarkType
|
||||
int pointType = (Integer) mActionMessage.getTag();
|
||||
mListener.onSearchRoutePoint(pointType);
|
||||
}
|
||||
break;
|
||||
@RoutePointInfo.RouteMarkType
|
||||
int pointType = (Integer) mActionMessage.getTag();
|
||||
mListener.onSearchRoutePoint(pointType);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -199,20 +199,13 @@ public class SearchToolbarController extends ToolbarController implements View.O
|
|||
@Override
|
||||
public void onClick(View v)
|
||||
{
|
||||
switch (v.getId())
|
||||
{
|
||||
case R.id.clear:
|
||||
final int id = v.getId();
|
||||
if (id == R.id.clear)
|
||||
onClearClick();
|
||||
break;
|
||||
|
||||
case R.id.query:
|
||||
else if (id == R.id.query)
|
||||
onQueryClick(getQuery());
|
||||
break;
|
||||
|
||||
case R.id.voice_input:
|
||||
else if (id == R.id.voice_input)
|
||||
onVoiceInputClick();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
public void showSearchControls(boolean show)
|
||||
|
|
|
@ -82,23 +82,24 @@ public class StackedButtonsDialog extends AppCompatDialog implements View.OnClic
|
|||
@Override
|
||||
public void onClick(View v)
|
||||
{
|
||||
switch (v.getId())
|
||||
final int id = v.getId();
|
||||
if (id == R.id.btn__positive)
|
||||
{
|
||||
case R.id.btn__positive:
|
||||
if (mPositiveListener != null)
|
||||
mPositiveListener.onClick(this, DialogInterface.BUTTON_POSITIVE);
|
||||
dismiss();
|
||||
break;
|
||||
case R.id.btn__neutral:
|
||||
if (mNeutralListener != null)
|
||||
mNeutralListener.onClick(this, DialogInterface.BUTTON_NEUTRAL);
|
||||
dismiss();
|
||||
break;
|
||||
case R.id.btn__negative:
|
||||
if (mNegativeListener != null)
|
||||
mNegativeListener.onClick(this, DialogInterface.BUTTON_NEGATIVE);
|
||||
dismiss();
|
||||
break;
|
||||
if (mPositiveListener != null)
|
||||
mPositiveListener.onClick(this, DialogInterface.BUTTON_POSITIVE);
|
||||
dismiss();
|
||||
}
|
||||
else if (id == R.id.btn__neutral)
|
||||
{
|
||||
if (mNeutralListener != null)
|
||||
mNeutralListener.onClick(this, DialogInterface.BUTTON_NEUTRAL);
|
||||
dismiss();
|
||||
}
|
||||
else if (id == R.id.btn__negative)
|
||||
{
|
||||
if (mNegativeListener != null)
|
||||
mNegativeListener.onClick(this, DialogInterface.BUTTON_NEGATIVE);
|
||||
dismiss();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -150,15 +150,11 @@ public class EditBookmarkFragment extends BaseMwmDialogFragment implements View.
|
|||
@Override
|
||||
public void onClick(View v)
|
||||
{
|
||||
switch (v.getId())
|
||||
{
|
||||
case R.id.iv__bookmark_color:
|
||||
final int id = v.getId();
|
||||
if (id == R.id.iv__bookmark_color)
|
||||
selectBookmarkColor();
|
||||
break;
|
||||
case R.id.tv__bookmark_set:
|
||||
else if (id == R.id.tv__bookmark_set)
|
||||
selectBookmarkSet();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
private void selectBookmarkSet()
|
||||
|
|
|
@ -1335,81 +1335,78 @@ public class PlacePageView extends NestedScrollViewClickFixed
|
|||
@Override
|
||||
public void onClick(View v)
|
||||
{
|
||||
switch (v.getId())
|
||||
final int id = v.getId();
|
||||
if (id == R.id.tv__title || id == R.id.tv__secondary_title || id == R.id.tv__address)
|
||||
{
|
||||
case R.id.tv__title:
|
||||
case R.id.tv__secondary_title:
|
||||
case R.id.tv__address:
|
||||
// A workaround to make single taps toggle the bottom sheet.
|
||||
if (mPlacePageGestureListener != null)
|
||||
{
|
||||
mPlacePageGestureListener.onSingleTapConfirmed(null);
|
||||
}
|
||||
break;
|
||||
case R.id.ll__place_editor:
|
||||
if (mMapObject == null)
|
||||
{
|
||||
Logger.e(TAG, "Cannot start editor, map object is null!");
|
||||
break;
|
||||
}
|
||||
requireActivity().showEditor();
|
||||
break;
|
||||
case R.id.ll__add_organisation:
|
||||
addOrganisation();
|
||||
break;
|
||||
case R.id.ll__place_add:
|
||||
addPlace();
|
||||
break;
|
||||
case R.id.ll__place_latlon:
|
||||
final int formatIndex = visibleCoordsFormat.indexOf(mCoordsFormat);
|
||||
mCoordsFormat = visibleCoordsFormat.get((formatIndex + 1) % visibleCoordsFormat.size());
|
||||
MwmApplication.prefs(getContext()).edit().putInt(PREF_COORDINATES_FORMAT, mCoordsFormat.getId()).apply();
|
||||
if (mMapObject == null)
|
||||
{
|
||||
Logger.e(TAG, "A LatLon cannot be refreshed, mMapObject is null");
|
||||
break;
|
||||
}
|
||||
refreshLatLon(mMapObject);
|
||||
break;
|
||||
case R.id.ll__place_website:
|
||||
Utils.openUrl(getContext(), mTvWebsite.getText().toString());
|
||||
break;
|
||||
case R.id.ll__place_wikimedia:
|
||||
Utils.openUrl(getContext(), mMapObject.getMetadata(Metadata.MetadataType.FMD_WIKIMEDIA_COMMONS));
|
||||
break;
|
||||
case R.id.ll__place_facebook:
|
||||
final String facebookPage = mMapObject.getMetadata(Metadata.MetadataType.FMD_CONTACT_FACEBOOK);
|
||||
Utils.openUrl(getContext(), "https://m.facebook.com/"+facebookPage);
|
||||
break;
|
||||
case R.id.ll__place_instagram:
|
||||
final String instagramPage = mMapObject.getMetadata(Metadata.MetadataType.FMD_CONTACT_INSTAGRAM);
|
||||
Utils.openUrl(getContext(), "https://instagram.com/"+instagramPage);
|
||||
break;
|
||||
case R.id.ll__place_twitter:
|
||||
final String twitterPage = mMapObject.getMetadata(Metadata.MetadataType.FMD_CONTACT_TWITTER);
|
||||
Utils.openUrl(getContext(), "https://mobile.twitter.com/"+twitterPage);
|
||||
break;
|
||||
case R.id.ll__place_vk:
|
||||
final String vkPage = mMapObject.getMetadata(Metadata.MetadataType.FMD_CONTACT_VK);
|
||||
Utils.openUrl(getContext(), "https://vk.com/" + vkPage);
|
||||
break;
|
||||
case R.id.ll__place_line:
|
||||
final String linePage = mMapObject.getMetadata(Metadata.MetadataType.FMD_CONTACT_LINE);
|
||||
if (linePage.indexOf('/') >= 0)
|
||||
Utils.openUrl(getContext(), "https://" + linePage);
|
||||
else
|
||||
Utils.openUrl(getContext(), "https://line.me/R/ti/p/@" + linePage);
|
||||
break;
|
||||
case R.id.ll__place_wiki:
|
||||
Utils.openUrl(getContext(), mMapObject.getMetadata(Metadata.MetadataType.FMD_WIKIPEDIA));
|
||||
break;
|
||||
case R.id.direction_frame:
|
||||
showBigDirection();
|
||||
break;
|
||||
case R.id.ll__place_email:
|
||||
Utils.sendTo(getContext(), mTvEmail.getText().toString());
|
||||
break;
|
||||
// A workaround to make single taps toggle the bottom sheet.
|
||||
if (mPlacePageGestureListener != null)
|
||||
{
|
||||
mPlacePageGestureListener.onSingleTapConfirmed(null);
|
||||
}
|
||||
}
|
||||
else if (id == R.id.ll__place_editor)
|
||||
{
|
||||
if (mMapObject == null)
|
||||
{
|
||||
Logger.e(TAG, "Cannot start editor, map object is null!");
|
||||
return;
|
||||
}
|
||||
requireActivity().showEditor();
|
||||
}
|
||||
else if (id == R.id.ll__add_organisation)
|
||||
addOrganisation();
|
||||
else if (id == R.id.ll__place_add)
|
||||
addPlace();
|
||||
else if (id == R.id.ll__place_latlon)
|
||||
{
|
||||
final int formatIndex = visibleCoordsFormat.indexOf(mCoordsFormat);
|
||||
mCoordsFormat = visibleCoordsFormat.get((formatIndex + 1) % visibleCoordsFormat.size());
|
||||
MwmApplication.prefs(getContext()).edit().putInt(PREF_COORDINATES_FORMAT, mCoordsFormat.getId()).apply();
|
||||
if (mMapObject == null)
|
||||
{
|
||||
Logger.e(TAG, "A LatLon cannot be refreshed, mMapObject is null");
|
||||
return;
|
||||
}
|
||||
refreshLatLon(mMapObject);
|
||||
}
|
||||
else if (id == R.id.ll__place_website)
|
||||
Utils.openUrl(getContext(), mTvWebsite.getText().toString());
|
||||
else if (id == R.id.ll__place_wikimedia)
|
||||
Utils.openUrl(getContext(), mMapObject.getMetadata(Metadata.MetadataType.FMD_WIKIMEDIA_COMMONS));
|
||||
else if (id == R.id.ll__place_facebook)
|
||||
{
|
||||
final String facebookPage = mMapObject.getMetadata(Metadata.MetadataType.FMD_CONTACT_FACEBOOK);
|
||||
Utils.openUrl(getContext(), "https://m.facebook.com/" + facebookPage);
|
||||
}
|
||||
else if (id == R.id.ll__place_instagram)
|
||||
{
|
||||
final String instagramPage = mMapObject.getMetadata(Metadata.MetadataType.FMD_CONTACT_INSTAGRAM);
|
||||
Utils.openUrl(getContext(), "https://instagram.com/" + instagramPage);
|
||||
}
|
||||
else if (id == R.id.ll__place_twitter)
|
||||
{
|
||||
final String twitterPage = mMapObject.getMetadata(Metadata.MetadataType.FMD_CONTACT_TWITTER);
|
||||
Utils.openUrl(getContext(), "https://mobile.twitter.com/" + twitterPage);
|
||||
}
|
||||
else if (id == R.id.ll__place_vk)
|
||||
{
|
||||
final String vkPage = mMapObject.getMetadata(Metadata.MetadataType.FMD_CONTACT_VK);
|
||||
Utils.openUrl(getContext(), "https://vk.com/" + vkPage);
|
||||
}
|
||||
else if (id == R.id.ll__place_line)
|
||||
{
|
||||
final String linePage = mMapObject.getMetadata(Metadata.MetadataType.FMD_CONTACT_LINE);
|
||||
if (linePage.indexOf('/') >= 0)
|
||||
Utils.openUrl(getContext(), "https://" + linePage);
|
||||
else
|
||||
Utils.openUrl(getContext(), "https://line.me/R/ti/p/@" + linePage);
|
||||
}
|
||||
else if (id == R.id.ll__place_wiki)
|
||||
Utils.openUrl(getContext(), mMapObject.getMetadata(Metadata.MetadataType.FMD_WIKIPEDIA));
|
||||
else if (id == R.id.direction_frame)
|
||||
showBigDirection();
|
||||
else if (id == R.id.ll__place_email)
|
||||
Utils.sendTo(getContext(), mTvEmail.getText().toString());
|
||||
}
|
||||
|
||||
private void toggleIsBookmark(@NonNull MapObject mapObject)
|
||||
|
@ -1424,7 +1421,7 @@ public class PlacePageView extends NestedScrollViewClickFixed
|
|||
{
|
||||
final FragmentManager fragmentManager = requireActivity().getSupportFragmentManager();
|
||||
final DirectionFragment fragment = (DirectionFragment) fragmentManager.getFragmentFactory()
|
||||
.instantiate(getContext().getClassLoader(), DirectionFragment.class.getName());
|
||||
.instantiate(getContext().getClassLoader(), DirectionFragment.class.getName());
|
||||
fragment.setMapObject(mMapObject);
|
||||
fragment.show(fragmentManager, null);
|
||||
}
|
||||
|
@ -1436,100 +1433,94 @@ public class PlacePageView extends NestedScrollViewClickFixed
|
|||
public boolean onLongClick(View v)
|
||||
{
|
||||
final List<String> items = new ArrayList<>();
|
||||
switch (v.getId())
|
||||
final int id = v.getId();
|
||||
if (id == R.id.tv__title)
|
||||
items.add(mTvTitle.getText().toString());
|
||||
else if (id == R.id.tv__secondary_title)
|
||||
items.add(mTvSecondaryTitle.getText().toString());
|
||||
else if (id == R.id.tv__address)
|
||||
items.add(mTvAddress.getText().toString());
|
||||
else if (id == R.id.tv__bookmark_notes)
|
||||
items.add(mTvBookmarkNote.getText().toString());
|
||||
else if (id == R.id.poi_description)
|
||||
items.add(mPlaceDescriptionView.getText().toString());
|
||||
else if (id == R.id.ll__place_latlon)
|
||||
{
|
||||
case R.id.tv__title:
|
||||
items.add(mTvTitle.getText().toString());
|
||||
break;
|
||||
case R.id.tv__secondary_title:
|
||||
items.add(mTvSecondaryTitle.getText().toString());
|
||||
break;
|
||||
case R.id.tv__address:
|
||||
items.add(mTvAddress.getText().toString());
|
||||
break;
|
||||
case R.id.tv__bookmark_notes:
|
||||
items.add(mTvBookmarkNote.getText().toString());
|
||||
break;
|
||||
case R.id.poi_description:
|
||||
items.add(mPlaceDescriptionView.getText().toString());
|
||||
break;
|
||||
case R.id.ll__place_latlon:
|
||||
if (mMapObject == null)
|
||||
{
|
||||
Logger.e(TAG, "A long click tap on LatLon cannot be handled, mMapObject is null!");
|
||||
break;
|
||||
}
|
||||
if (mMapObject != null)
|
||||
{
|
||||
final double lat = mMapObject.getLat();
|
||||
final double lon = mMapObject.getLon();
|
||||
for(CoordinatesFormat format: visibleCoordsFormat)
|
||||
for (CoordinatesFormat format : visibleCoordsFormat)
|
||||
items.add(Framework.nativeFormatLatLon(lat, lon, format.getId()));
|
||||
break;
|
||||
case R.id.ll__place_website:
|
||||
items.add(mTvWebsite.getText().toString());
|
||||
break;
|
||||
case R.id.ll__place_wikimedia:
|
||||
items.add(mMapObject.getMetadata(Metadata.MetadataType.FMD_WIKIMEDIA_COMMONS));
|
||||
break;
|
||||
case R.id.ll__place_facebook:
|
||||
final String facebookPage = mMapObject.getMetadata(Metadata.MetadataType.FMD_CONTACT_FACEBOOK);
|
||||
if (facebookPage.indexOf('/') == -1)
|
||||
items.add(facebookPage); // Show username along with URL.
|
||||
items.add("https://m.facebook.com/" + facebookPage);
|
||||
break;
|
||||
case R.id.ll__place_instagram:
|
||||
final String instagramPage = mMapObject.getMetadata(Metadata.MetadataType.FMD_CONTACT_INSTAGRAM);
|
||||
if (instagramPage.indexOf('/') == -1)
|
||||
items.add(instagramPage); // Show username along with URL.
|
||||
items.add("https://instagram.com/" + instagramPage);
|
||||
break;
|
||||
case R.id.ll__place_twitter:
|
||||
final String twitterPage = mMapObject.getMetadata(Metadata.MetadataType.FMD_CONTACT_TWITTER);
|
||||
if (twitterPage.indexOf('/') == -1)
|
||||
items.add(twitterPage); // Show username along with URL.
|
||||
items.add("https://mobile.twitter.com/" + twitterPage);
|
||||
break;
|
||||
case R.id.ll__place_vk:
|
||||
final String vkPage = mMapObject.getMetadata(Metadata.MetadataType.FMD_CONTACT_VK);
|
||||
if (vkPage.indexOf('/') == -1)
|
||||
items.add(vkPage); // Show username along with URL.
|
||||
items.add("https://vk.com/" + vkPage);
|
||||
break;
|
||||
case R.id.ll__place_line:
|
||||
final String linePage = mMapObject.getMetadata(Metadata.MetadataType.FMD_CONTACT_LINE);
|
||||
if (linePage.indexOf('/') >= 0)
|
||||
items.add("https://" + linePage);
|
||||
else
|
||||
{
|
||||
items.add(linePage); // Show username along with URL.
|
||||
items.add("https://line.me/R/ti/p/@" + linePage);
|
||||
}
|
||||
break;
|
||||
case R.id.ll__place_email:
|
||||
items.add(mTvEmail.getText().toString());
|
||||
break;
|
||||
case R.id.ll__place_schedule:
|
||||
final String ohStr = mMapObject.getMetadata(Metadata.MetadataType.FMD_OPEN_HOURS);
|
||||
final Timetable[] timetables = OpeningHours.nativeTimetablesFromString(ohStr);
|
||||
items.add(TimeFormatUtils.formatTimetables(getResources(), ohStr, timetables));
|
||||
break;
|
||||
case R.id.ll__place_operator:
|
||||
items.add(mTvOperator.getText().toString());
|
||||
break;
|
||||
case R.id.ll__place_wiki:
|
||||
items.add(mMapObject.getMetadata(Metadata.MetadataType.FMD_WIKIPEDIA));
|
||||
break;
|
||||
case R.id.ll__place_level:
|
||||
items.add(mTvLevel.getText().toString());
|
||||
break;
|
||||
}
|
||||
else
|
||||
Logger.e(TAG, "A long click tap on LatLon cannot be handled, mMapObject is null!");
|
||||
}
|
||||
else if (id == R.id.ll__place_website)
|
||||
items.add(mTvWebsite.getText().toString());
|
||||
else if (id == R.id.ll__place_wikimedia)
|
||||
items.add(mMapObject.getMetadata(Metadata.MetadataType.FMD_WIKIMEDIA_COMMONS));
|
||||
else if (id == R.id.ll__place_facebook)
|
||||
{
|
||||
final String facebookPage = mMapObject.getMetadata(Metadata.MetadataType.FMD_CONTACT_FACEBOOK);
|
||||
if (facebookPage.indexOf('/') == -1)
|
||||
items.add(facebookPage); // Show username along with URL.
|
||||
items.add("https://m.facebook.com/" + facebookPage);
|
||||
}
|
||||
else if (id == R.id.ll__place_instagram)
|
||||
{
|
||||
final String instagramPage = mMapObject.getMetadata(Metadata.MetadataType.FMD_CONTACT_INSTAGRAM);
|
||||
if (instagramPage.indexOf('/') == -1)
|
||||
items.add(instagramPage); // Show username along with URL.
|
||||
items.add("https://instagram.com/" + instagramPage);
|
||||
}
|
||||
else if (id == R.id.ll__place_twitter)
|
||||
{
|
||||
final String twitterPage = mMapObject.getMetadata(Metadata.MetadataType.FMD_CONTACT_TWITTER);
|
||||
if (twitterPage.indexOf('/') == -1)
|
||||
items.add(twitterPage); // Show username along with URL.
|
||||
items.add("https://mobile.twitter.com/" + twitterPage);
|
||||
}
|
||||
else if (id == R.id.ll__place_vk)
|
||||
{
|
||||
final String vkPage = mMapObject.getMetadata(Metadata.MetadataType.FMD_CONTACT_VK);
|
||||
if (vkPage.indexOf('/') == -1)
|
||||
items.add(vkPage); // Show username along with URL.
|
||||
items.add("https://vk.com/" + vkPage);
|
||||
}
|
||||
else if (id == R.id.ll__place_line)
|
||||
{
|
||||
final String linePage = mMapObject.getMetadata(Metadata.MetadataType.FMD_CONTACT_LINE);
|
||||
if (linePage.indexOf('/') >= 0)
|
||||
items.add("https://" + linePage);
|
||||
else
|
||||
{
|
||||
items.add(linePage); // Show username along with URL.
|
||||
items.add("https://line.me/R/ti/p/@" + linePage);
|
||||
}
|
||||
}
|
||||
else if (id == R.id.ll__place_email)
|
||||
items.add(mTvEmail.getText().toString());
|
||||
else if (id == R.id.ll__place_schedule)
|
||||
{
|
||||
final String ohStr = mMapObject.getMetadata(Metadata.MetadataType.FMD_OPEN_HOURS);
|
||||
final Timetable[] timetables = OpeningHours.nativeTimetablesFromString(ohStr);
|
||||
items.add(TimeFormatUtils.formatTimetables(getResources(), ohStr, timetables));
|
||||
}
|
||||
else if (id == R.id.ll__place_operator)
|
||||
items.add(mTvOperator.getText().toString());
|
||||
else if (id == R.id.ll__place_wiki)
|
||||
items.add(mMapObject.getMetadata(Metadata.MetadataType.FMD_WIKIPEDIA));
|
||||
else if (id == R.id.ll__place_level)
|
||||
items.add(mTvLevel.getText().toString());
|
||||
|
||||
final Context ctx = getContext();
|
||||
if (items.size() == 1)
|
||||
{
|
||||
Utils.copyTextToClipboard(ctx, items.get(0));
|
||||
Utils.showSnackbarAbove(mDetails,
|
||||
getRootView().findViewById(R.id.pp_buttons_layout),
|
||||
ctx.getString(R.string.copied_to_clipboard, items.get(0)));
|
||||
getRootView().findViewById(R.id.pp_buttons_layout),
|
||||
ctx.getString(R.string.copied_to_clipboard, items.get(0)));
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -1541,11 +1532,11 @@ public class PlacePageView extends NestedScrollViewClickFixed
|
|||
menu.add(Menu.NONE, i, i, String.format("%s %s", copyText, items.get(i)));
|
||||
|
||||
popup.setOnMenuItemClickListener(item -> {
|
||||
final int id = item.getItemId();
|
||||
Utils.copyTextToClipboard(ctx, items.get(id));
|
||||
final int itemId = item.getItemId();
|
||||
Utils.copyTextToClipboard(ctx, items.get(itemId));
|
||||
Utils.showSnackbarAbove(mDetails,
|
||||
getRootView().findViewById(R.id.pp_buttons_layout),
|
||||
ctx.getString(R.string.copied_to_clipboard, items.get(id)));
|
||||
getRootView().findViewById(R.id.pp_buttons_layout),
|
||||
ctx.getString(R.string.copied_to_clipboard, items.get(itemId)));
|
||||
return true;
|
||||
});
|
||||
popup.show();
|
||||
|
|
Loading…
Add table
Reference in a new issue