use of net.osmand.plus.mapmarkers.CoordinateInputFormats.CoordinateInputFormatDef in project Osmand by osmandapp.
the class CoordinateInputBottomSheetDialogFragment method createMenuItems.
@Override
public void createMenuItems(Bundle savedInstanceState) {
final Context context = getContext();
final OsmandSettings settings = getMyApplication().getSettings();
items.add(new TitleItem(getString(R.string.shared_string_options)));
boolean useOsmandKeyboard = settings.COORDS_INPUT_USE_OSMAND_KEYBOARD.get();
BaseBottomSheetItem useSystemKeyboardItem = new BottomSheetItemWithCompoundButton.Builder().setChecked(!useOsmandKeyboard).setIcon(getContentIcon(R.drawable.ic_action_keyboard)).setTitle(getString(R.string.use_system_keyboard)).setLayoutId(R.layout.bottom_sheet_item_with_switch).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (listener != null) {
listener.onKeyboardChanged();
}
dismiss();
}
}).create();
items.add(useSystemKeyboardItem);
boolean useTwoDigitsLogtitude = settings.COORDS_INPUT_TWO_DIGITS_LONGTITUDE.get();
BaseBottomSheetItem twoDigitsLongtitudeItem = new BottomSheetItemWithCompoundButton.Builder().setChecked(useTwoDigitsLogtitude).setIcon(getContentIcon(R.drawable.ic_action_next_field_stroke)).setTitle(getString(R.string.use_two_digits_longitude)).setLayoutId(R.layout.bottom_sheet_item_with_switch).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (listener != null) {
OsmandSettings.CommonPreference<Boolean> pref = settings.COORDS_INPUT_TWO_DIGITS_LONGTITUDE;
pref.set(!pref.get());
listener.onInputSettingsChanged();
}
dismiss();
}
}).create();
items.add(twoDigitsLongtitudeItem);
if (!AndroidUiHelper.isOrientationPortrait(getActivity())) {
boolean rightHand = settings.COORDS_INPUT_USE_RIGHT_SIDE.get();
BaseBottomSheetItem showNumberPadItem = new BottomSheetItemWithDescription.Builder().setDescription(getString(rightHand ? R.string.shared_string_right : R.string.shared_string_left)).setDescriptionColorId(getActiveColorId()).setIcon(getContentIcon(rightHand ? R.drawable.ic_action_show_keypad_right : R.drawable.ic_action_show_keypad_left)).setTitle(getString(R.string.show_number_pad)).setLayoutId(R.layout.bottom_sheet_item_with_right_descr).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (listener != null) {
OsmandSettings.CommonPreference<Boolean> pref = settings.COORDS_INPUT_USE_RIGHT_SIDE;
pref.set(!pref.get());
listener.onHandChanged();
}
dismiss();
}
}).create();
items.add(showNumberPadItem);
}
items.add(new SubtitleDividerItem(context));
items.add(new SubtitleItem(getString(R.string.coordinates_format)));
int selectedFormat = settings.COORDS_INPUT_FORMAT.get();
Drawable formatIcon = getContentIcon(R.drawable.ic_action_coordinates_latitude);
View.OnClickListener formatsOnClickListener = new View.OnClickListener() {
@Override
public void onClick(View v) {
int format = (int) v.getTag();
settings.COORDS_INPUT_FORMAT.set(format);
if (listener != null) {
listener.onInputSettingsChanged();
}
dismiss();
}
};
for (@CoordinateInputFormatDef int format : CoordinateInputFormats.VALUES) {
boolean selectedItem = format == selectedFormat;
BaseBottomSheetItem formatItem = new BottomSheetItemWithCompoundButton.Builder().setChecked(selectedItem).setButtonTintList(selectedItem ? ColorStateList.valueOf(getResolvedColor(getActiveColorId())) : null).setIcon(selectedItem ? getActiveIcon(R.drawable.ic_action_coordinates_latitude) : formatIcon).setTitle(CoordinateInputFormats.formatToHumanString(context, format)).setTitleColorId(selectedItem ? getActiveColorId() : BaseBottomSheetItem.INVALID_ID).setLayoutId(R.layout.bottom_sheet_item_with_radio_btn).setOnClickListener(formatsOnClickListener).setTag(format).create();
items.add(formatItem);
}
}
Aggregations