diff options
Diffstat (limited to 'main/src/cgeo/geocaching/ui/dialog')
3 files changed, 26 insertions, 22 deletions
diff --git a/main/src/cgeo/geocaching/ui/dialog/CoordinatesInputDialog.java b/main/src/cgeo/geocaching/ui/dialog/CoordinatesInputDialog.java index 93f50e1..c150434 100644 --- a/main/src/cgeo/geocaching/ui/dialog/CoordinatesInputDialog.java +++ b/main/src/cgeo/geocaching/ui/dialog/CoordinatesInputDialog.java @@ -1,7 +1,7 @@ package cgeo.geocaching.ui.dialog; import cgeo.geocaching.Geocache; -import cgeo.geocaching.IGeoData; +import cgeo.geocaching.sensors.IGeoData; import cgeo.geocaching.R; import cgeo.geocaching.activity.AbstractActivity; import cgeo.geocaching.activity.ActivityMixin; @@ -54,7 +54,7 @@ public class CoordinatesInputDialog extends NoTitleDialog { } else if (geo != null && geo.getCoords() != null) { this.gp = geo.getCoords(); } else { - this.gp = new Geopoint(0.0, 0.0); + this.gp = Geopoint.ZERO; } } @@ -396,7 +396,7 @@ public class CoordinatesInputDialog extends NoTitleDialog { if (geo != null && geo.getCoords() != null) { gp = geo.getCoords(); } else { - gp = new Geopoint(0.0, 0.0); + gp = Geopoint.ZERO; } } } diff --git a/main/src/cgeo/geocaching/ui/dialog/Dialogs.java b/main/src/cgeo/geocaching/ui/dialog/Dialogs.java index 865ba70..cb8926a 100644 --- a/main/src/cgeo/geocaching/ui/dialog/Dialogs.java +++ b/main/src/cgeo/geocaching/ui/dialog/Dialogs.java @@ -1,20 +1,24 @@ package cgeo.geocaching.ui.dialog; import cgeo.geocaching.CgeoApplication; -import cgeo.geocaching.utils.RunnableWithArgument; +import cgeo.geocaching.R; import org.apache.commons.lang3.StringUtils; import org.eclipse.jdt.annotation.Nullable; +import rx.functions.Action1; + import android.app.Activity; import android.app.AlertDialog; import android.app.AlertDialog.Builder; +import android.content.Context; import android.content.DialogInterface; import android.content.DialogInterface.OnClickListener; import android.graphics.drawable.Drawable; import android.text.Editable; import android.text.InputType; import android.text.TextWatcher; +import android.view.ContextThemeWrapper; import android.view.WindowManager; import android.widget.EditText; @@ -298,7 +302,7 @@ public final class Dialogs { /** * Show a message dialog for input from the user. The okay button is only enabled on non empty input. - * + * * @param context * activity owning the dialog * @param title @@ -310,19 +314,20 @@ public final class Dialogs { * @param okayListener * listener to be run on okay */ - public static void input(final Activity context, final int title, final String defaultValue, final int buttonTitle, final RunnableWithArgument<String> okayListener) { - final EditText input = new EditText(context); + public static void input(final Activity context, final int title, final String defaultValue, final int buttonTitle, final Action1<String> okayListener) { + final Context themedContext = new ContextThemeWrapper(context, R.style.dark); + final EditText input = new EditText(themedContext); input.setInputType(InputType.TYPE_TEXT_FLAG_CAP_SENTENCES | InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS | InputType.TYPE_CLASS_TEXT); input.setText(defaultValue); - final AlertDialog.Builder builder = new AlertDialog.Builder(context); + final AlertDialog.Builder builder = new AlertDialog.Builder(themedContext); builder.setTitle(title); builder.setView(input); builder.setPositiveButton(buttonTitle, new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { - okayListener.run(input.getText().toString()); + okayListener.call(input.getText().toString()); } }); builder.setNegativeButton(android.R.string.cancel, new DialogInterface.OnClickListener() { @@ -357,8 +362,16 @@ public final class Dialogs { dialog.show(); enableDialogButtonIfNotEmpty(dialog, defaultValue); - // position cursor after text - input.setSelection(input.getText().length()); + moveCursorToEnd(input); + } + + /** + * Move the cursor to the end of the input field. + * + * @param input + */ + public static void moveCursorToEnd(final EditText input) { + input.setSelection(input.getText().length(), input.getText().length()); } private static void enableDialogButtonIfNotEmpty(final AlertDialog dialog, final String input) { diff --git a/main/src/cgeo/geocaching/ui/dialog/LiveMapInfoDialogBuilder.java b/main/src/cgeo/geocaching/ui/dialog/LiveMapInfoDialogBuilder.java index 6ad59ec..c29f549 100644 --- a/main/src/cgeo/geocaching/ui/dialog/LiveMapInfoDialogBuilder.java +++ b/main/src/cgeo/geocaching/ui/dialog/LiveMapInfoDialogBuilder.java @@ -1,15 +1,14 @@ package cgeo.geocaching.ui.dialog; +import cgeo.geocaching.CgeoApplication; import cgeo.geocaching.R; import cgeo.geocaching.settings.Settings; -import cgeo.geocaching.CgeoApplication; import android.app.Activity; import android.app.AlertDialog; import android.content.DialogInterface; import android.view.ContextThemeWrapper; import android.view.View; -import android.widget.CheckBox; public class LiveMapInfoDialogBuilder { @@ -20,12 +19,7 @@ public class LiveMapInfoDialogBuilder { final View layout = View.inflate(new ContextThemeWrapper(activity, R.style.dark), R.layout.livemapinfo, null); builder.setView(layout); - final CheckBox checkBoxHide = (CheckBox) layout.findViewById(R.id.live_map_hint_hide); - final int showCount = Settings.getLiveMapHintShowCount(); - if (showCount > 2) { - checkBoxHide.setVisibility(View.VISIBLE); - } Settings.setLiveMapHintShowCount(showCount + 1); builder.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() { @@ -33,10 +27,7 @@ public class LiveMapInfoDialogBuilder { @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); - CgeoApplication.getInstance().setLiveMapHintShown(); - if (checkBoxHide.getVisibility() == View.VISIBLE && checkBoxHide.isChecked()) { - Settings.setHideLiveHint(true); - } + CgeoApplication.getInstance().setLiveMapHintShownInThisSession(); } }); return builder.create(); |
