From 6f6c72faff92efaf01883df27ba644c3da26147b Mon Sep 17 00:00:00 2001 From: Alex Baker Date: Tue, 22 Dec 2015 10:33:18 -0600 Subject: [PATCH] Use built-in google play services place picker Closes #299 --- .../tasks/dialogs/LocationPickerDialog.java | 27 --- .../java/org/tasks/location/LocationApi.java | 11 -- .../java/org/tasks/location/PlacePicker.java | 16 ++ .../tasks/dialogs/LocationPickerDialog.java | 154 ------------------ .../location/PlaceAutocompleteAdapter.java | 117 ------------- .../java/org/tasks/location/PlacePicker.java | 41 +++++ .../res/layout/location_picker_dialog.xml | 28 ---- src/main/AndroidManifest.xml | 4 - .../astrid/activity/TaskEditFragment.java | 16 +- .../todoroo/astrid/tags/TagsControlSet.java | 6 +- .../todoroo/astrid/ui/ReminderControlSet.java | 7 +- .../activities/LocationPickerActivity.java | 54 ------ .../org/tasks/injection/ActivityModule.java | 2 - .../tasks/injection/DialogFragmentModule.java | 3 - .../location/OnLocationPickedHandler.java | 5 - src/main/res/values-ar/strings.xml | 1 - src/main/res/values-bg-rBG/strings.xml | 1 - src/main/res/values-de/strings.xml | 1 - src/main/res/values-es/strings.xml | 1 - src/main/res/values-fr/strings.xml | 1 - src/main/res/values-it/strings.xml | 1 - src/main/res/values-ja/strings.xml | 1 - src/main/res/values-ko/strings.xml | 1 - src/main/res/values-nl/strings.xml | 1 - src/main/res/values-pt/strings.xml | 1 - src/main/res/values-ru/strings.xml | 1 - src/main/res/values-sk/strings.xml | 1 - src/main/res/values/strings.xml | 1 - 28 files changed, 73 insertions(+), 431 deletions(-) delete mode 100644 src/generic/java/org/tasks/dialogs/LocationPickerDialog.java delete mode 100644 src/generic/java/org/tasks/location/LocationApi.java create mode 100644 src/generic/java/org/tasks/location/PlacePicker.java delete mode 100644 src/googleplay/java/org/tasks/dialogs/LocationPickerDialog.java delete mode 100644 src/googleplay/java/org/tasks/location/PlaceAutocompleteAdapter.java create mode 100644 src/googleplay/java/org/tasks/location/PlacePicker.java delete mode 100644 src/googleplay/res/layout/location_picker_dialog.xml delete mode 100644 src/main/java/org/tasks/activities/LocationPickerActivity.java delete mode 100644 src/main/java/org/tasks/location/OnLocationPickedHandler.java diff --git a/src/generic/java/org/tasks/dialogs/LocationPickerDialog.java b/src/generic/java/org/tasks/dialogs/LocationPickerDialog.java deleted file mode 100644 index 63b784dae..000000000 --- a/src/generic/java/org/tasks/dialogs/LocationPickerDialog.java +++ /dev/null @@ -1,27 +0,0 @@ -package org.tasks.dialogs; - -import android.support.v4.app.DialogFragment; -import android.support.v4.app.FragmentManager; - -import org.tasks.activities.LocationPickerActivity; -import org.tasks.location.OnLocationPickedHandler; - -@SuppressWarnings({"EmptyMethod", "UnusedParameters"}) -public class LocationPickerDialog extends DialogFragment { - - public LocationPickerDialog() { - - } - - public void show(FragmentManager childFragmentManager, String fragTagLocationPicker) { - - } - - public void setOnLocationPickedHandler(LocationPickerActivity locationPickerActivity) { - - } - - public void setOnCancelListener(LocationPickerActivity locationPickerActivity) { - - } -} diff --git a/src/generic/java/org/tasks/location/LocationApi.java b/src/generic/java/org/tasks/location/LocationApi.java deleted file mode 100644 index 50bd7783c..000000000 --- a/src/generic/java/org/tasks/location/LocationApi.java +++ /dev/null @@ -1,11 +0,0 @@ -package org.tasks.location; - -import javax.inject.Inject; - -public class LocationApi { - - @Inject - public LocationApi() { - - } -} diff --git a/src/generic/java/org/tasks/location/PlacePicker.java b/src/generic/java/org/tasks/location/PlacePicker.java new file mode 100644 index 000000000..021ca0224 --- /dev/null +++ b/src/generic/java/org/tasks/location/PlacePicker.java @@ -0,0 +1,16 @@ +package org.tasks.location; + +import android.app.Activity; +import android.content.Intent; + +import org.tasks.preferences.Preferences; + +public class PlacePicker { + public static Intent getIntent(Activity activity) { + return null; + } + + public static Geofence getPlace(Activity activity, Intent data, Preferences preferences) { + return null; + } +} diff --git a/src/googleplay/java/org/tasks/dialogs/LocationPickerDialog.java b/src/googleplay/java/org/tasks/dialogs/LocationPickerDialog.java deleted file mode 100644 index c4bb8858d..000000000 --- a/src/googleplay/java/org/tasks/dialogs/LocationPickerDialog.java +++ /dev/null @@ -1,154 +0,0 @@ -package org.tasks.dialogs; - -import android.app.Dialog; -import android.content.DialogInterface; -import android.content.IntentSender; -import android.os.Bundle; -import android.support.annotation.NonNull; -import android.support.v4.app.FragmentActivity; -import android.view.LayoutInflater; -import android.view.View; -import android.widget.AdapterView; -import android.widget.AutoCompleteTextView; -import android.widget.Toast; - -import com.google.android.gms.common.ConnectionResult; -import com.google.android.gms.common.GooglePlayServicesUtil; -import com.google.android.gms.common.api.GoogleApiClient; -import com.google.android.gms.common.api.ResultCallback; -import com.google.android.gms.location.places.Place; -import com.google.android.gms.location.places.PlaceBuffer; -import com.google.android.gms.maps.model.LatLng; - -import org.tasks.R; -import org.tasks.injection.InjectingDialogFragment; -import org.tasks.location.Geofence; -import org.tasks.location.GoogleApi; -import org.tasks.location.OnLocationPickedHandler; -import org.tasks.location.PlaceAutocompleteAdapter; -import org.tasks.preferences.ActivityPreferences; - -import javax.inject.Inject; - -import timber.log.Timber; - -public class LocationPickerDialog extends InjectingDialogFragment implements GoogleApiClient.OnConnectionFailedListener { - - private static final int RC_RESOLVE_GPS_ISSUE = 10009; - - private PlaceAutocompleteAdapter mAdapter; - - @Inject FragmentActivity fragmentActivity; - @Inject GoogleApi googleApi; - @Inject DialogBuilder dialogBuilder; - @Inject ActivityPreferences activityPreferences; - - private OnLocationPickedHandler onLocationPickedHandler; - private DialogInterface.OnCancelListener onCancelListener; - private boolean resolvingError; - - public void setOnLocationPickedHandler(OnLocationPickedHandler onLocationPickedHandler) { - this.onLocationPickedHandler = onLocationPickedHandler; - } - - @NonNull - @Override - public Dialog onCreateDialog(Bundle savedInstanceState) { - activityPreferences.applyDialogTheme(); - - googleApi.connect(this); - - LayoutInflater layoutInflater = getActivity().getLayoutInflater(); - View view = layoutInflater.inflate(R.layout.location_picker_dialog, null); - AutoCompleteTextView autoCompleteTextView = (AutoCompleteTextView) view.findViewById(R.id.address_entry); - autoCompleteTextView.setOnItemClickListener(mAutocompleteClickListener); - mAdapter = new PlaceAutocompleteAdapter(googleApi, fragmentActivity, android.R.layout.simple_list_item_1); - autoCompleteTextView.setAdapter(mAdapter); - - return dialogBuilder.newDialog() - .setView(view) - .setNegativeButton(android.R.string.cancel, new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { - if (onCancelListener != null) { - onCancelListener.onCancel(dialog); - } - } - }) - .show(); - } - - @Override - public void onDestroyView() { - super.onDestroyView(); - - googleApi.disconnect(); - } - - private void error(String text) { - Timber.e(text); - Toast.makeText(fragmentActivity, text, Toast.LENGTH_LONG).show(); - } - - private AdapterView.OnItemClickListener mAutocompleteClickListener - = new AdapterView.OnItemClickListener() { - @Override - public void onItemClick(AdapterView parent, View view, int position, long id) { - final PlaceAutocompleteAdapter.PlaceAutocomplete item = mAdapter.getItem(position); - final String placeId = String.valueOf(item.placeId); - Timber.i("Autocomplete item selected: %s", item.description); - googleApi.getPlaceDetails(placeId, mUpdatePlaceDetailsCallback); - } - }; - - private ResultCallback mUpdatePlaceDetailsCallback - = new ResultCallback() { - @Override - public void onResult(PlaceBuffer places) { - if (places.getStatus().isSuccess()) { - final Place place = places.get(0); - LatLng latLng = place.getLatLng(); - Geofence geofence = new Geofence(place.getName().toString(), latLng.latitude, latLng.longitude, activityPreferences.getIntegerFromString(R.string.p_geofence_radius, 250)); - Timber.i("Picked %s", geofence); - onLocationPickedHandler.onLocationPicked(geofence); - dismiss(); - } else { - error("Error looking up location details - " + places.getStatus().toString()); - } - places.release(); - } - }; - - public void setOnCancelListener(DialogInterface.OnCancelListener onCancelListener) { - this.onCancelListener = onCancelListener; - } - - @Override - public void onCancel(DialogInterface dialog) { - super.onCancel(dialog); - - if (onCancelListener != null) { - onCancelListener.onCancel(dialog); - } - } - - @Override - public void onConnectionFailed(ConnectionResult connectionResult) { - if (resolvingError) { - Timber.i("Ignoring %s, already resolving error", connectionResult); - } else if (connectionResult.hasResolution()) { - try { - resolvingError = true; - connectionResult.startResolutionForResult(fragmentActivity, RC_RESOLVE_GPS_ISSUE); - } catch (IntentSender.SendIntentException e) { - Timber.e(e, e.getMessage()); - googleApi.connect(this); - } - } else { - resolvingError = true; - GooglePlayServicesUtil - .getErrorDialog(connectionResult.getErrorCode(), fragmentActivity, RC_RESOLVE_GPS_ISSUE) - .show(); - } - } -} diff --git a/src/googleplay/java/org/tasks/location/PlaceAutocompleteAdapter.java b/src/googleplay/java/org/tasks/location/PlaceAutocompleteAdapter.java deleted file mode 100644 index 6a0db1c7e..000000000 --- a/src/googleplay/java/org/tasks/location/PlaceAutocompleteAdapter.java +++ /dev/null @@ -1,117 +0,0 @@ -package org.tasks.location; - -import android.content.Context; -import android.widget.ArrayAdapter; -import android.widget.Filter; -import android.widget.Toast; - -import com.google.android.gms.common.api.ResultCallback; -import com.google.android.gms.common.api.Status; -import com.google.android.gms.location.places.AutocompletePrediction; -import com.google.android.gms.location.places.AutocompletePredictionBuffer; - -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; - -import timber.log.Timber; - -public class PlaceAutocompleteAdapter - extends ArrayAdapter { - - private final GoogleApi googleApi; - - private List mResultList = new ArrayList<>(); - - public PlaceAutocompleteAdapter(GoogleApi googleApi, Context context, int resource) { - super(context, resource); - this.googleApi = googleApi; - } - - @Override - public int getCount() { - return mResultList == null ? 0 : mResultList.size(); - } - - @Override - public PlaceAutocomplete getItem(int position) { - return mResultList.get(position); - } - - public void getAutocomplete(CharSequence constraint) { - googleApi.getAutocompletePredictions(constraint.toString(), onResults); - } - - @Override - public Filter getFilter() { - return new Filter() { - @Override - protected FilterResults performFiltering(CharSequence constraint) { - FilterResults filterResults = new FilterResults(); - if (constraint != null) { - getAutocomplete(constraint); - } - filterResults.values = mResultList; - filterResults.count = mResultList.size(); - return filterResults; - } - - @Override - protected void publishResults(CharSequence constraint, FilterResults results) { - - } - }; - } - - private ResultCallback onResults = new ResultCallback() { - @Override - public void onResult(AutocompletePredictionBuffer autocompletePredictions) { - final Status status = autocompletePredictions.getStatus(); - if (!status.isSuccess()) { - Toast.makeText(getContext(), "Error contacting API: " + status.toString(), - Toast.LENGTH_SHORT).show(); - Timber.e("Error getting autocomplete prediction API call: %s", status.toString()); - autocompletePredictions.release(); - return; - } - - Timber.i("Query completed. Received %s predictions", autocompletePredictions.getCount()); - - Iterator iterator = autocompletePredictions.iterator(); - List resultList = new ArrayList<>(autocompletePredictions.getCount()); - while (iterator.hasNext()) { - AutocompletePrediction prediction = iterator.next(); - resultList.add(new PlaceAutocomplete(prediction.getPlaceId(), - prediction.getDescription())); - } - - setResults(resultList); - autocompletePredictions.release(); - } - }; - - private void setResults(List results) { - mResultList = results; - if (mResultList != null && mResultList.size() > 0) { - notifyDataSetChanged(); - } else { - notifyDataSetInvalidated(); - } - } - - public class PlaceAutocomplete { - - public CharSequence placeId; - public CharSequence description; - - PlaceAutocomplete(CharSequence placeId, CharSequence description) { - this.placeId = placeId; - this.description = description; - } - - @Override - public String toString() { - return description.toString(); - } - } -} diff --git a/src/googleplay/java/org/tasks/location/PlacePicker.java b/src/googleplay/java/org/tasks/location/PlacePicker.java new file mode 100644 index 000000000..e7ff3f44a --- /dev/null +++ b/src/googleplay/java/org/tasks/location/PlacePicker.java @@ -0,0 +1,41 @@ +package org.tasks.location; + +import android.app.Activity; +import android.content.Context; +import android.content.Intent; +import android.widget.Toast; + +import com.google.android.gms.common.GooglePlayServicesNotAvailableException; +import com.google.android.gms.common.GooglePlayServicesRepairableException; +import com.google.android.gms.location.places.Place; +import com.google.android.gms.maps.model.LatLng; + +import org.tasks.R; +import org.tasks.preferences.Preferences; + +import timber.log.Timber; + +public class PlacePicker { + public static Intent getIntent(Activity activity) { + com.google.android.gms.location.places.ui.PlacePicker.IntentBuilder builder = + new com.google.android.gms.location.places.ui.PlacePicker.IntentBuilder(); + try { + return builder.build(activity); + } catch (GooglePlayServicesRepairableException e) { + Timber.e(e, e.getMessage()); + activity.startActivity(e.getIntent()); + } catch (GooglePlayServicesNotAvailableException e) { + Timber.e(e, e.getMessage()); + Toast.makeText(activity, R.string.common_google_play_services_notification_ticker, Toast.LENGTH_LONG).show(); + } + return null; + } + + public static Geofence getPlace(Context context, Intent data, Preferences preferences) { + Place place = com.google.android.gms.location.places.ui.PlacePicker.getPlace(context, data); + LatLng latLng = place.getLatLng(); + Geofence geofence = new Geofence(place.getName().toString(), latLng.latitude, latLng.longitude, preferences.getIntegerFromString(R.string.p_geofence_radius, 250)); + Timber.i("Picked %s", geofence); + return geofence; + } +} diff --git a/src/googleplay/res/layout/location_picker_dialog.xml b/src/googleplay/res/layout/location_picker_dialog.xml deleted file mode 100644 index e69fafa00..000000000 --- a/src/googleplay/res/layout/location_picker_dialog.xml +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - - - - \ No newline at end of file diff --git a/src/main/AndroidManifest.xml b/src/main/AndroidManifest.xml index 5cf887f79..581f5132c 100644 --- a/src/main/AndroidManifest.xml +++ b/src/main/AndroidManifest.xml @@ -106,10 +106,6 @@ android:theme="@style/Theme.AppCompat.Dialog" android:taskAffinity="" /> - - diff --git a/src/main/java/com/todoroo/astrid/activity/TaskEditFragment.java b/src/main/java/com/todoroo/astrid/activity/TaskEditFragment.java index 44f447bde..d67b918f2 100755 --- a/src/main/java/com/todoroo/astrid/activity/TaskEditFragment.java +++ b/src/main/java/com/todoroo/astrid/activity/TaskEditFragment.java @@ -71,12 +71,12 @@ import com.todoroo.astrid.utility.Flags; import org.tasks.R; import org.tasks.activities.AddAttachmentActivity; -import org.tasks.activities.LocationPickerActivity; import org.tasks.activities.TimePickerActivity; import org.tasks.dialogs.DialogBuilder; import org.tasks.injection.InjectingFragment; import org.tasks.location.Geofence; import org.tasks.location.GeofenceService; +import org.tasks.location.PlacePicker; import org.tasks.notifications.NotificationManager; import org.tasks.preferences.ActivityPreferences; import org.tasks.preferences.PermissionRequestor; @@ -827,12 +827,14 @@ ViewPager.OnPageChangeListener, EditNoteActivity.UpdatesChangedListener { } else { Timber.e("Invalid timestamp"); } - } else if (requestCode == ReminderControlSet.REQUEST_LOCATION_REMINDER && resultCode == Activity.RESULT_OK) { - Geofence geofence = (Geofence) data.getSerializableExtra(LocationPickerActivity.EXTRA_GEOFENCE); - if (geofence != null) { - reminderControlSet.addGeolocationReminder(geofence); - } else { - Timber.e("Invalid geofence"); + } else if (requestCode == ReminderControlSet.REQUEST_LOCATION_REMINDER) { + if (resultCode == Activity.RESULT_OK) { + Geofence geofence = PlacePicker.getPlace(getActivity(), data, preferences); + if (geofence != null) { + reminderControlSet.addGeolocationReminder(geofence); + } else { + Timber.e("Invalid geofence"); + } } } else if (editNotes != null && editNotes.activityResult(requestCode, resultCode, data)) { return; diff --git a/src/main/java/com/todoroo/astrid/tags/TagsControlSet.java b/src/main/java/com/todoroo/astrid/tags/TagsControlSet.java index 67c71e6c2..6a707784c 100644 --- a/src/main/java/com/todoroo/astrid/tags/TagsControlSet.java +++ b/src/main/java/com/todoroo/astrid/tags/TagsControlSet.java @@ -20,7 +20,7 @@ import android.widget.ListView; import android.widget.TextView; import android.widget.TextView.OnEditorActionListener; -import com.google.api.client.repackaged.com.google.common.base.Strings; +import com.google.common.base.Strings; import com.google.common.base.Function; import com.google.common.base.Predicate; import com.google.common.collect.ImmutableSet; @@ -47,8 +47,6 @@ import java.util.LinkedHashSet; import java.util.List; import java.util.Set; -import javax.annotation.Nullable; - import static com.google.common.collect.Lists.newArrayList; import static com.google.common.collect.Lists.transform; import static com.google.common.collect.Sets.difference; @@ -136,7 +134,7 @@ public final class TagsControlSet extends PopupControlSet { newTags.removeViewAt(i); } else if (!Iterables.any(tags, new Predicate() { @Override - public boolean apply(@Nullable String input) { + public boolean apply(String input) { return text.equalsIgnoreCase(input); } })) { diff --git a/src/main/java/com/todoroo/astrid/ui/ReminderControlSet.java b/src/main/java/com/todoroo/astrid/ui/ReminderControlSet.java index ee0075642..c2e1bac8b 100644 --- a/src/main/java/com/todoroo/astrid/ui/ReminderControlSet.java +++ b/src/main/java/com/todoroo/astrid/ui/ReminderControlSet.java @@ -28,9 +28,9 @@ import com.todoroo.astrid.helper.TaskEditControlSetBase; import org.tasks.R; import org.tasks.activities.DateAndTimePickerActivity; -import org.tasks.activities.LocationPickerActivity; import org.tasks.location.Geofence; import org.tasks.location.GeofenceService; +import org.tasks.location.PlacePicker; import org.tasks.preferences.PermissionRequestor; import org.tasks.preferences.Preferences; import org.tasks.time.DateTime; @@ -391,7 +391,10 @@ public class ReminderControlSet extends TaskEditControlSetBase implements Adapte } public void pickLocation() { - taskEditFragment.startActivityForResult(new Intent(taskEditFragment.getActivity(), LocationPickerActivity.class), REQUEST_LOCATION_REMINDER); + Intent intent = PlacePicker.getIntent(taskEditFragment.getActivity()); + if (intent != null) { + taskEditFragment.startActivityForResult(intent, REQUEST_LOCATION_REMINDER); + } } @Override diff --git a/src/main/java/org/tasks/activities/LocationPickerActivity.java b/src/main/java/org/tasks/activities/LocationPickerActivity.java deleted file mode 100644 index 6cc564824..000000000 --- a/src/main/java/org/tasks/activities/LocationPickerActivity.java +++ /dev/null @@ -1,54 +0,0 @@ -package org.tasks.activities; - -import android.content.DialogInterface; -import android.content.Intent; -import android.os.Bundle; -import android.support.v4.app.FragmentActivity; -import android.support.v4.app.FragmentManager; - -import org.tasks.dialogs.LocationPickerDialog; -import org.tasks.injection.InjectingAppCompatActivity; -import org.tasks.location.Geofence; -import org.tasks.location.OnLocationPickedHandler; -import org.tasks.preferences.ActivityPreferences; - -import javax.inject.Inject; - -public class LocationPickerActivity extends InjectingAppCompatActivity implements OnLocationPickedHandler, DialogInterface.OnCancelListener { - - private static final String FRAG_TAG_LOCATION_PICKER = "frag_tag_location_picker"; - - public static final String EXTRA_GEOFENCE = "extra_geofence"; - - @Inject ActivityPreferences activityPreferences; - - @Override - protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - - activityPreferences.applyDialogTheme(); - - FragmentManager supportFragmentManager = getSupportFragmentManager(); - LocationPickerDialog dialog = (LocationPickerDialog) supportFragmentManager.findFragmentByTag(FRAG_TAG_LOCATION_PICKER); - if (dialog == null) { - dialog = new LocationPickerDialog(); - dialog.show(supportFragmentManager, FRAG_TAG_LOCATION_PICKER); - } - dialog.setOnCancelListener(this); - dialog.setOnLocationPickedHandler(this); - } - - @Override - public void onLocationPicked(final Geofence geofence) { - setResult(RESULT_OK, new Intent() {{ - putExtra(EXTRA_GEOFENCE, geofence); - }}); - finish(); - } - - @Override - public void onCancel(DialogInterface dialog) { - setResult(RESULT_CANCELED); - finish(); - } -} diff --git a/src/main/java/org/tasks/injection/ActivityModule.java b/src/main/java/org/tasks/injection/ActivityModule.java index 0ca047702..665ef0fde 100644 --- a/src/main/java/org/tasks/injection/ActivityModule.java +++ b/src/main/java/org/tasks/injection/ActivityModule.java @@ -34,7 +34,6 @@ import org.tasks.activities.DonationActivity; import org.tasks.activities.ExportTaskActivity; import org.tasks.activities.FilterSelectionActivity; import org.tasks.activities.ImportTaskActivity; -import org.tasks.activities.LocationPickerActivity; import org.tasks.activities.PurgeDeletedActivity; import org.tasks.activities.ResetPreferencesActivity; import org.tasks.activities.SortActivity; @@ -89,7 +88,6 @@ import dagger.Provides; ReminderPreferences.class, AppearancePreferences.class, BackupPreferences.class, - LocationPickerActivity.class, NotificationActivity.class, HelpAndFeedbackActivity.class, DateShortcutPreferences.class, diff --git a/src/main/java/org/tasks/injection/DialogFragmentModule.java b/src/main/java/org/tasks/injection/DialogFragmentModule.java index 83ad99253..488f4a395 100644 --- a/src/main/java/org/tasks/injection/DialogFragmentModule.java +++ b/src/main/java/org/tasks/injection/DialogFragmentModule.java @@ -4,11 +4,9 @@ import android.app.Activity; import android.support.v4.app.DialogFragment; import android.support.v4.app.FragmentActivity; -import org.tasks.activities.AddAttachmentActivity; import org.tasks.activities.CalendarSelectionDialog; import org.tasks.dialogs.AccountSelectionDialog; import org.tasks.dialogs.AddAttachmentDialog; -import org.tasks.dialogs.LocationPickerDialog; import org.tasks.reminders.MissedCallDialog; import org.tasks.reminders.NotificationDialog; import org.tasks.reminders.SnoozeDialog; @@ -18,7 +16,6 @@ import dagger.Provides; @Module(addsTo = TasksModule.class, injects = { - LocationPickerDialog.class, NotificationDialog.class, SnoozeDialog.class, MissedCallDialog.class, diff --git a/src/main/java/org/tasks/location/OnLocationPickedHandler.java b/src/main/java/org/tasks/location/OnLocationPickedHandler.java deleted file mode 100644 index 2a98eba76..000000000 --- a/src/main/java/org/tasks/location/OnLocationPickedHandler.java +++ /dev/null @@ -1,5 +0,0 @@ -package org.tasks.location; - -public interface OnLocationPickedHandler { - void onLocationPicked(Geofence geofence); -} diff --git a/src/main/res/values-ar/strings.xml b/src/main/res/values-ar/strings.xml index 1b4ae875d..b31f5bc87 100644 --- a/src/main/res/values-ar/strings.xml +++ b/src/main/res/values-ar/strings.xml @@ -221,7 +221,6 @@ عشوائياً اختر تاريخ و وقت أختر الموقع - أدخل الموقع تعطيل كل 15 دقيقة diff --git a/src/main/res/values-bg-rBG/strings.xml b/src/main/res/values-bg-rBG/strings.xml index 06740cea7..6a720a86a 100644 --- a/src/main/res/values-bg-rBG/strings.xml +++ b/src/main/res/values-bg-rBG/strings.xml @@ -369,7 +369,6 @@ Избери време Избери дата и време Избери местоположение - Въведи местоположение След крайния срок При краен срок Радиус (метри) diff --git a/src/main/res/values-de/strings.xml b/src/main/res/values-de/strings.xml index 0ad87c249..f02c42343 100644 --- a/src/main/res/values-de/strings.xml +++ b/src/main/res/values-de/strings.xml @@ -348,7 +348,6 @@ Uhrzeit auswählen Tag und Uhrzeit auswählen Ort auswählen - Ort festlegen Wenn überfällig Wenn fällig Radius (Meter) diff --git a/src/main/res/values-es/strings.xml b/src/main/res/values-es/strings.xml index a76e7fbc9..1963de3c0 100644 --- a/src/main/res/values-es/strings.xml +++ b/src/main/res/values-es/strings.xml @@ -360,7 +360,6 @@ Elegir hora Elegir fecha y hora Elegir ubicación - Escribe la ubicación Cuando atrasada Cuando vencimiento Radio (metros) diff --git a/src/main/res/values-fr/strings.xml b/src/main/res/values-fr/strings.xml index 14c49009a..fa6c63dd9 100644 --- a/src/main/res/values-fr/strings.xml +++ b/src/main/res/values-fr/strings.xml @@ -351,7 +351,6 @@ Choisir une heure Choisir date et heure Choisir une localisation - Entrer une localisation En cas de retard A l\'échéance Rayon (mètres) diff --git a/src/main/res/values-it/strings.xml b/src/main/res/values-it/strings.xml index 12124b475..a50148341 100644 --- a/src/main/res/values-it/strings.xml +++ b/src/main/res/values-it/strings.xml @@ -363,7 +363,6 @@ Se visualizzi questo errore più volte, ti consigliamo di cancellare tutti i dat Scegli un\'ora Scegli data e ora Seleziona una posizione - Inserisci posizione Quando scaduta Alla scadenza Raggio (metri) diff --git a/src/main/res/values-ja/strings.xml b/src/main/res/values-ja/strings.xml index cb729d722..c2e1a70bb 100644 --- a/src/main/res/values-ja/strings.xml +++ b/src/main/res/values-ja/strings.xml @@ -368,7 +368,6 @@ 時間を選択 日付と時間を選択 場所を選択 - 場所を入力 期限を過ぎたとき 期限に 半径 (メートル) diff --git a/src/main/res/values-ko/strings.xml b/src/main/res/values-ko/strings.xml index 2f4ba08d4..dce4e1022 100644 --- a/src/main/res/values-ko/strings.xml +++ b/src/main/res/values-ko/strings.xml @@ -370,7 +370,6 @@ Tasks의 백업에서 당신의 일정을 복구하시기 바랍니다. 시간 선택 날짜와 시간 선택 위치 선택 - 위치 입력 일정 마감일이 지났을 때 일정 마감일에 반경 (미터 단위) diff --git a/src/main/res/values-nl/strings.xml b/src/main/res/values-nl/strings.xml index dcc13b457..b7720a2e3 100644 --- a/src/main/res/values-nl/strings.xml +++ b/src/main/res/values-nl/strings.xml @@ -362,7 +362,6 @@ Kies een tijd Kies een datum en tijd Kies een locatie - Type een locatie Na de einddatum Op de eindtijd Antwoord tijd (hogere waarde verbruikt meer batterij) diff --git a/src/main/res/values-pt/strings.xml b/src/main/res/values-pt/strings.xml index 17e57eeb8..8a60a068e 100644 --- a/src/main/res/values-pt/strings.xml +++ b/src/main/res/values-pt/strings.xml @@ -360,7 +360,6 @@ das tarefas através de um backup em Definições->Sincronização e backup-& Escolha a hora Escolha a data e a hora Escolha o local - Escreva o local Se data limite ultrapassada Na data limite Raio (metros) diff --git a/src/main/res/values-ru/strings.xml b/src/main/res/values-ru/strings.xml index 3d2f0e645..7a4270dfd 100644 --- a/src/main/res/values-ru/strings.xml +++ b/src/main/res/values-ru/strings.xml @@ -367,7 +367,6 @@ Время Дата и время По местонахождению - Введите рвсположение Когда просрочено В срок Радиус (в метрах) diff --git a/src/main/res/values-sk/strings.xml b/src/main/res/values-sk/strings.xml index e30c551fa..58fbc1e9c 100644 --- a/src/main/res/values-sk/strings.xml +++ b/src/main/res/values-sk/strings.xml @@ -352,7 +352,6 @@ Vybrať čas Vybrať dátum a čas Vybrať lokalitu - Typ lokalizácie Keď po termíne Keď v termíne Okruh (v metroch) diff --git a/src/main/res/values/strings.xml b/src/main/res/values/strings.xml index 2a51eb85d..48a174ec0 100644 --- a/src/main/res/values/strings.xml +++ b/src/main/res/values/strings.xml @@ -91,7 +91,6 @@ Pick a time Pick a date and time Pick a location - Type a location When overdue When due Radius (meters)