[android] Fix NonConstantResourceId

Closes: #3552

Signed-off-by: Andrew Shkrob <andrew.shkrob.social@yandex.by>
This commit is contained in:
Andrew Shkrob 2022-10-29 17:46:02 +02:00 committed by Roman Tsisyk
parent 5412657f57
commit f61c0c9823
12 changed files with 269 additions and 343 deletions

View file

@ -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);
}
}

View file

@ -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);
}
}

View file

@ -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

View file

@ -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)

View file

@ -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;
}
}
}

View file

@ -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;
}
}

View file

@ -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()

View file

@ -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);
}
}
}

View file

@ -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)

View file

@ -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();
}
}

View file

@ -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()

View file

@ -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();