mirror of
https://gitlab.com/oeffi/oeffi.git
synced 2025-07-08 00:08:48 +00:00
DirectionsShortcutActivity: Launcher shortcuts were missing IDs and place in many cases.
This commit is contained in:
parent
65834dad0b
commit
d4371cda0f
2 changed files with 8 additions and 6 deletions
|
@ -68,10 +68,11 @@ public class DirectionsShortcutActivity extends OeffiActivity
|
||||||
implements ActivityCompat.OnRequestPermissionsResultCallback, LocationHelper.Callback {
|
implements ActivityCompat.OnRequestPermissionsResultCallback, LocationHelper.Callback {
|
||||||
public static final String INTENT_EXTRA_NETWORK = "network";
|
public static final String INTENT_EXTRA_NETWORK = "network";
|
||||||
public static final String INTENT_EXTRA_TYPE = "type";
|
public static final String INTENT_EXTRA_TYPE = "type";
|
||||||
public static final String INTENT_EXTRA_NAME = "stationname";
|
|
||||||
public static final String INTENT_EXTRA_ID = "stationid";
|
public static final String INTENT_EXTRA_ID = "stationid";
|
||||||
public static final String INTENT_EXTRA_LAT = "lat";
|
public static final String INTENT_EXTRA_LAT = "lat";
|
||||||
public static final String INTENT_EXTRA_LON = "lon";
|
public static final String INTENT_EXTRA_LON = "lon";
|
||||||
|
public static final String INTENT_EXTRA_PLACE = "place";
|
||||||
|
public static final String INTENT_EXTRA_NAME = "stationname";
|
||||||
|
|
||||||
private LocationHelper locationHelper;
|
private LocationHelper locationHelper;
|
||||||
private ProgressDialog progressDialog;
|
private ProgressDialog progressDialog;
|
||||||
|
@ -210,12 +211,13 @@ public class DirectionsShortcutActivity extends OeffiActivity
|
||||||
|
|
||||||
final NetworkProvider networkProvider = getNetworkExtra(intent);
|
final NetworkProvider networkProvider = getNetworkExtra(intent);
|
||||||
final LocationType type = getLocationTypeExtra(intent);
|
final LocationType type = getLocationTypeExtra(intent);
|
||||||
final String name = intent.getStringExtra(INTENT_EXTRA_NAME);
|
|
||||||
final String id = getLocationIdExtra(intent);
|
final String id = getLocationIdExtra(intent);
|
||||||
final int lat = intent.getIntExtra(INTENT_EXTRA_LAT, 0);
|
final int lat = intent.getIntExtra(INTENT_EXTRA_LAT, 0);
|
||||||
final int lon = intent.getIntExtra(INTENT_EXTRA_LON, 0);
|
final int lon = intent.getIntExtra(INTENT_EXTRA_LON, 0);
|
||||||
final Point coord = lat != 0 || lon != 0 ? Point.from1E6(lat, lon) : null;
|
final Point coord = lat != 0 || lon != 0 ? Point.from1E6(lat, lon) : null;
|
||||||
final Location to = new Location(type, id, coord, null, id != null ? name : name + "!");
|
final String place = intent.getStringExtra(INTENT_EXTRA_PLACE);
|
||||||
|
final String name = intent.getStringExtra(INTENT_EXTRA_NAME);
|
||||||
|
final Location to = new Location(type, id, coord, place, name);
|
||||||
|
|
||||||
if (networkProvider != null) {
|
if (networkProvider != null) {
|
||||||
final Optimize optimize = prefs.contains(Constants.PREFS_KEY_OPTIMIZE_TRIP)
|
final Optimize optimize = prefs.contains(Constants.PREFS_KEY_OPTIMIZE_TRIP)
|
||||||
|
|
|
@ -92,9 +92,7 @@ public class StationContextMenu extends PopupMenu {
|
||||||
.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
|
.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
|
||||||
shortcutIntent.putExtra(DirectionsShortcutActivity.INTENT_EXTRA_NETWORK, networkId.name());
|
shortcutIntent.putExtra(DirectionsShortcutActivity.INTENT_EXTRA_NETWORK, networkId.name());
|
||||||
shortcutIntent.putExtra(DirectionsShortcutActivity.INTENT_EXTRA_TYPE, location.type.name());
|
shortcutIntent.putExtra(DirectionsShortcutActivity.INTENT_EXTRA_TYPE, location.type.name());
|
||||||
shortcutIntent.putExtra(DirectionsShortcutActivity.INTENT_EXTRA_NAME, location.name);
|
if (location.hasId())
|
||||||
if (location.type == LocationType.STATION
|
|
||||||
&& (networkId != NetworkId.BVG || Integer.parseInt(location.id) >= 1000000))
|
|
||||||
shortcutIntent.putExtra(DirectionsShortcutActivity.INTENT_EXTRA_ID, location.id);
|
shortcutIntent.putExtra(DirectionsShortcutActivity.INTENT_EXTRA_ID, location.id);
|
||||||
if (location.hasCoord()) {
|
if (location.hasCoord()) {
|
||||||
shortcutIntent.putExtra(DirectionsShortcutActivity.INTENT_EXTRA_LAT,
|
shortcutIntent.putExtra(DirectionsShortcutActivity.INTENT_EXTRA_LAT,
|
||||||
|
@ -102,6 +100,8 @@ public class StationContextMenu extends PopupMenu {
|
||||||
shortcutIntent.putExtra(DirectionsShortcutActivity.INTENT_EXTRA_LON,
|
shortcutIntent.putExtra(DirectionsShortcutActivity.INTENT_EXTRA_LON,
|
||||||
location.getLonAs1E6());
|
location.getLonAs1E6());
|
||||||
}
|
}
|
||||||
|
shortcutIntent.putExtra(DirectionsShortcutActivity.INTENT_EXTRA_PLACE, location.place);
|
||||||
|
shortcutIntent.putExtra(DirectionsShortcutActivity.INTENT_EXTRA_NAME, location.name);
|
||||||
|
|
||||||
ShortcutManagerCompat.requestPinShortcut(context,
|
ShortcutManagerCompat.requestPinShortcut(context,
|
||||||
new ShortcutInfoCompat.Builder(context, shortcutId)
|
new ShortcutInfoCompat.Builder(context, shortcutId)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue