mirror of
https://gitlab.com/oeffi/oeffi.git
synced 2025-07-06 17:38:48 +00:00
Adapt to: NetworkProvider: queryTrips() now uses a TripOptions field for products, optimize, walkSpeed, accessibilty and options.
This commit is contained in:
parent
e477e97480
commit
c4c537445e
3 changed files with 28 additions and 39 deletions
|
@ -64,7 +64,7 @@ import de.schildbach.pte.NetworkProvider;
|
|||
import de.schildbach.pte.NetworkProvider.Accessibility;
|
||||
import de.schildbach.pte.NetworkProvider.Capability;
|
||||
import de.schildbach.pte.NetworkProvider.Optimize;
|
||||
import de.schildbach.pte.NetworkProvider.Option;
|
||||
import de.schildbach.pte.NetworkProvider.TripFlag;
|
||||
import de.schildbach.pte.NetworkProvider.WalkSpeed;
|
||||
import de.schildbach.pte.dto.Location;
|
||||
import de.schildbach.pte.dto.LocationType;
|
||||
|
@ -72,6 +72,7 @@ import de.schildbach.pte.dto.Product;
|
|||
import de.schildbach.pte.dto.QueryTripsResult;
|
||||
import de.schildbach.pte.dto.SuggestLocationsResult;
|
||||
import de.schildbach.pte.dto.Trip;
|
||||
import de.schildbach.pte.dto.TripOptions;
|
||||
|
||||
import android.Manifest;
|
||||
import android.animation.LayoutTransition;
|
||||
|
@ -831,12 +832,12 @@ public class DirectionsActivity extends OeffiMainActivity implements ActivityCom
|
|||
if (view.isChecked())
|
||||
products.add(Product.fromCode(((String) view.getTag()).charAt(0)));
|
||||
|
||||
final Set<Option> options;
|
||||
final Set<TripFlag> flags;
|
||||
if (viewBike.isChecked()) {
|
||||
options = new HashSet<>();
|
||||
options.add(Option.BIKE);
|
||||
flags = new HashSet<>();
|
||||
flags.add(TripFlag.BIKE);
|
||||
} else {
|
||||
options = null;
|
||||
flags = null;
|
||||
}
|
||||
|
||||
final ProgressDialog progressDialog = ProgressDialog.show(DirectionsActivity.this, null,
|
||||
|
@ -849,8 +850,10 @@ public class DirectionsActivity extends OeffiMainActivity implements ActivityCom
|
|||
progressDialog.setCanceledOnTouchOutside(false);
|
||||
|
||||
final NetworkProvider networkProvider = NetworkProviderFactory.provider(network);
|
||||
final TripOptions options = new TripOptions(products, prefsGetOptimizeTrip(), prefsGetWalkSpeed(),
|
||||
prefsGetAccessibility(), flags);
|
||||
queryTripsRunnable = new QueryTripsRunnable(getResources(), progressDialog, handler, networkProvider, from, via,
|
||||
to, time, products, prefsGetOptimizeTrip(), prefsGetWalkSpeed(), prefsGetAccessibility(), options) {
|
||||
to, time, options) {
|
||||
@Override
|
||||
protected void onPreExecute() {
|
||||
viewGo.setClickable(false);
|
||||
|
|
|
@ -42,6 +42,7 @@ import de.schildbach.pte.dto.LocationType;
|
|||
import de.schildbach.pte.dto.Point;
|
||||
import de.schildbach.pte.dto.Product;
|
||||
import de.schildbach.pte.dto.QueryTripsResult;
|
||||
import de.schildbach.pte.dto.TripOptions;
|
||||
|
||||
import android.Manifest;
|
||||
import android.app.ProgressDialog;
|
||||
|
@ -222,18 +223,17 @@ public class DirectionsShortcutActivity extends OeffiActivity
|
|||
final Accessibility accessibility = Accessibility
|
||||
.valueOf(prefs.getString(Constants.PREFS_KEY_ACCESSIBILITY, Accessibility.NEUTRAL.name()));
|
||||
final Set<Product> products = networkProvider.defaultProducts();
|
||||
|
||||
query(networkProvider, from, to, optimize, walkSpeed, accessibility, products);
|
||||
final TripOptions options = new TripOptions(products, optimize, walkSpeed, accessibility, null);
|
||||
query(networkProvider, from, to, options);
|
||||
} else {
|
||||
errorDialog(R.string.directions_shortcut_error_message_network);
|
||||
}
|
||||
}
|
||||
|
||||
private void query(final NetworkProvider networkProvider, final Location from, final Location to,
|
||||
final Optimize optimize, final WalkSpeed walkSpeed, final Accessibility accessibility,
|
||||
final Set<Product> products) {
|
||||
final TripOptions options) {
|
||||
queryTripsRunnable = new QueryTripsRunnable(getResources(), progressDialog, handler, networkProvider, from,
|
||||
null, to, new TimeSpec.Relative(0), products, optimize, walkSpeed, accessibility, null) {
|
||||
null, to, new TimeSpec.Relative(0), options) {
|
||||
@Override
|
||||
protected void onPostExecute() {
|
||||
progressDialog.dismiss();
|
||||
|
|
|
@ -22,7 +22,6 @@ import java.net.SocketException;
|
|||
import java.net.SocketTimeoutException;
|
||||
import java.net.UnknownHostException;
|
||||
import java.util.Date;
|
||||
import java.util.Set;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
import java.util.concurrent.atomic.AtomicBoolean;
|
||||
|
||||
|
@ -37,12 +36,10 @@ import de.schildbach.oeffi.Constants;
|
|||
import de.schildbach.oeffi.R;
|
||||
import de.schildbach.pte.NetworkProvider;
|
||||
import de.schildbach.pte.NetworkProvider.Accessibility;
|
||||
import de.schildbach.pte.NetworkProvider.Optimize;
|
||||
import de.schildbach.pte.NetworkProvider.Option;
|
||||
import de.schildbach.pte.NetworkProvider.WalkSpeed;
|
||||
import de.schildbach.pte.dto.Location;
|
||||
import de.schildbach.pte.dto.Product;
|
||||
import de.schildbach.pte.dto.QueryTripsResult;
|
||||
import de.schildbach.pte.dto.TripOptions;
|
||||
import de.schildbach.pte.exception.BlockedException;
|
||||
import de.schildbach.pte.exception.InternalErrorException;
|
||||
import de.schildbach.pte.exception.NotFoundException;
|
||||
|
@ -67,11 +64,7 @@ public abstract class QueryTripsRunnable implements Runnable {
|
|||
private final Location via;
|
||||
private final Location to;
|
||||
private final TimeSpec time;
|
||||
private final Set<Product> products;
|
||||
private final Optimize optimize;
|
||||
private final WalkSpeed walkSpeed;
|
||||
private final Accessibility accessibility;
|
||||
private final Set<Option> options;
|
||||
private final TripOptions options;
|
||||
|
||||
private AtomicBoolean cancelled = new AtomicBoolean(false);
|
||||
|
||||
|
@ -79,8 +72,7 @@ public abstract class QueryTripsRunnable implements Runnable {
|
|||
|
||||
public QueryTripsRunnable(final Resources res, final ProgressDialog dialog, final Handler handler,
|
||||
final NetworkProvider networkProvider, final Location from, final Location via, final Location to,
|
||||
final TimeSpec time, final Set<Product> products, final Optimize optimize, final WalkSpeed walkSpeed,
|
||||
final Accessibility accessibility, final Set<Option> options) {
|
||||
final TimeSpec time, final TripOptions options) {
|
||||
this.res = res;
|
||||
this.dialog = dialog;
|
||||
this.handler = handler;
|
||||
|
@ -91,10 +83,6 @@ public abstract class QueryTripsRunnable implements Runnable {
|
|||
this.via = via;
|
||||
this.to = to;
|
||||
this.time = time;
|
||||
this.products = products;
|
||||
this.optimize = optimize;
|
||||
this.walkSpeed = walkSpeed;
|
||||
this.accessibility = accessibility;
|
||||
this.options = options;
|
||||
}
|
||||
|
||||
|
@ -109,7 +97,7 @@ public abstract class QueryTripsRunnable implements Runnable {
|
|||
try {
|
||||
final boolean depArr = time.depArr == TimeSpec.DepArr.DEPART;
|
||||
final QueryTripsResult result = networkProvider.queryTrips(from, via, to, new Date(time.timeInMillis()),
|
||||
depArr, products, optimize, walkSpeed, accessibility, options);
|
||||
depArr, options);
|
||||
|
||||
if (!cancelled.get())
|
||||
postOnResult(result);
|
||||
|
@ -171,9 +159,10 @@ public abstract class QueryTripsRunnable implements Runnable {
|
|||
private void postOnPreExecute() {
|
||||
handler.post(new Runnable() {
|
||||
public void run() {
|
||||
final boolean hasOptimize = optimize != null;
|
||||
final boolean hasWalkSpeed = walkSpeed != null && walkSpeed != WalkSpeed.NORMAL;
|
||||
final boolean hasAccessibility = accessibility != null && accessibility != Accessibility.NEUTRAL;
|
||||
final boolean hasOptimize = options.optimize != null;
|
||||
final boolean hasWalkSpeed = options.walkSpeed != null && options.walkSpeed != WalkSpeed.NORMAL;
|
||||
final boolean hasAccessibility = options.accessibility != null
|
||||
&& options.accessibility != Accessibility.NEUTRAL;
|
||||
|
||||
final SpannableStringBuilder progressMessage = new SpannableStringBuilder(
|
||||
res.getString(R.string.directions_query_progress));
|
||||
|
@ -186,8 +175,8 @@ public abstract class QueryTripsRunnable implements Runnable {
|
|||
.append(res.getString(R.string.directions_preferences_optimize_trip_title))
|
||||
.append(": ");
|
||||
final int begin = progressMessage.length();
|
||||
progressMessage
|
||||
.append(res.getStringArray(R.array.directions_optimize_trip)[optimize.ordinal()]);
|
||||
progressMessage.append(
|
||||
res.getStringArray(R.array.directions_optimize_trip)[options.optimize.ordinal()]);
|
||||
progressMessage.setSpan(new StyleSpan(Typeface.BOLD), begin, progressMessage.length(),
|
||||
SpannableStringBuilder.SPAN_EXCLUSIVE_EXCLUSIVE);
|
||||
}
|
||||
|
@ -195,7 +184,8 @@ public abstract class QueryTripsRunnable implements Runnable {
|
|||
progressMessage.append('\n')
|
||||
.append(res.getString(R.string.directions_preferences_walk_speed_title)).append(": ");
|
||||
final int begin = progressMessage.length();
|
||||
progressMessage.append(res.getStringArray(R.array.directions_walk_speed)[walkSpeed.ordinal()]);
|
||||
progressMessage
|
||||
.append(res.getStringArray(R.array.directions_walk_speed)[options.walkSpeed.ordinal()]);
|
||||
progressMessage.setSpan(new StyleSpan(Typeface.BOLD), begin, progressMessage.length(),
|
||||
SpannableStringBuilder.SPAN_EXCLUSIVE_EXCLUSIVE);
|
||||
}
|
||||
|
@ -204,8 +194,8 @@ public abstract class QueryTripsRunnable implements Runnable {
|
|||
.append(res.getString(R.string.directions_preferences_accessibility_title))
|
||||
.append(": ");
|
||||
final int begin = progressMessage.length();
|
||||
progressMessage
|
||||
.append(res.getStringArray(R.array.directions_accessibility)[accessibility.ordinal()]);
|
||||
progressMessage.append(
|
||||
res.getStringArray(R.array.directions_accessibility)[options.accessibility.ordinal()]);
|
||||
progressMessage.setSpan(new StyleSpan(Typeface.BOLD), begin, progressMessage.length(),
|
||||
SpannableStringBuilder.SPAN_EXCLUSIVE_EXCLUSIVE);
|
||||
}
|
||||
|
@ -307,10 +297,6 @@ public abstract class QueryTripsRunnable implements Runnable {
|
|||
builder.append("v:").append(via).append('|');
|
||||
builder.append("t:").append(to).append('|');
|
||||
builder.append(time).append('|');
|
||||
builder.append(products).append('|');
|
||||
builder.append(optimize).append('|');
|
||||
builder.append(walkSpeed).append('|');
|
||||
builder.append(accessibility).append('|');
|
||||
builder.append(options).append(']');
|
||||
return builder.toString();
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue