diff --git a/farebot-app/src/main/java/com/codebutler/farebot/app/feature/card/TransactionViewModel.kt b/farebot-app/src/main/java/com/codebutler/farebot/app/feature/card/TransactionViewModel.kt
index 63c701b9f..112f33cdf 100644
--- a/farebot-app/src/main/java/com/codebutler/farebot/app/feature/card/TransactionViewModel.kt
+++ b/farebot-app/src/main/java/com/codebutler/farebot/app/feature/card/TransactionViewModel.kt
@@ -61,6 +61,7 @@ sealed class TransactionViewModel(val context: Context) {
Trip.Mode.TICKET_MACHINE -> R.drawable.ic_transaction_tvm_32dp
Trip.Mode.VENDING_MACHINE -> R.drawable.ic_transaction_vend_32dp
Trip.Mode.POS -> R.drawable.ic_transaction_pos_32dp
+ Trip.Mode.HANDHELD -> R.drawable.ic_transaction_handheld_32dp
Trip.Mode.BANNED -> R.drawable.ic_transaction_banned_32dp
Trip.Mode.OTHER -> R.drawable.ic_transaction_unknown_32dp
else -> R.drawable.ic_transaction_unknown_32dp
diff --git a/farebot-app/src/main/res/drawable/ic_transaction_handheld_32dp.xml b/farebot-app/src/main/res/drawable/ic_transaction_handheld_32dp.xml
new file mode 100644
index 000000000..81eddc6c3
--- /dev/null
+++ b/farebot-app/src/main/res/drawable/ic_transaction_handheld_32dp.xml
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/farebot-transit-orca/src/main/java/com/codebutler/farebot/transit/orca/OrcaTransitInfo.java b/farebot-transit-orca/src/main/java/com/codebutler/farebot/transit/orca/OrcaTransitInfo.java
index a06bb5030..469d4ae45 100644
--- a/farebot-transit-orca/src/main/java/com/codebutler/farebot/transit/orca/OrcaTransitInfo.java
+++ b/farebot-transit-orca/src/main/java/com/codebutler/farebot/transit/orca/OrcaTransitInfo.java
@@ -53,7 +53,7 @@ public abstract class OrcaTransitInfo extends TransitInfo {
static final int FTP_TYPE_CUSTOMER_SERVICE = 0x0B;
static final int FTP_TYPE_BUS = 0x80;
static final int FTP_TYPE_LINK = 0xFB;
- static final int FTP_TYPE_WATER_TAXI = 0xFE;
+ static final int FTP_TYPE_HANDHELD = 0xFE;
static final int FTP_TYPE_STREETCAR = 0xF9;
static final int FTP_TYPE_BRT = 0xFA; //May also apply to future hardwired bus readers
diff --git a/farebot-transit-orca/src/main/java/com/codebutler/farebot/transit/orca/OrcaTrip.java b/farebot-transit-orca/src/main/java/com/codebutler/farebot/transit/orca/OrcaTrip.java
index e862cab7a..d7561f381 100644
--- a/farebot-transit-orca/src/main/java/com/codebutler/farebot/transit/orca/OrcaTrip.java
+++ b/farebot-transit-orca/src/main/java/com/codebutler/farebot/transit/orca/OrcaTrip.java
@@ -491,9 +491,9 @@ public String getAgencyName(@NonNull Resources resources) {
case OrcaTransitInfo.AGENCY_CT:
return resources.getString(R.string.transit_orca_agency_ct);
case OrcaTransitInfo.AGENCY_KCM:
- // The King County Water Taxi is now a separate agency but uses KCM's agency ID
- if (getFTPType() == OrcaTransitInfo.FTP_TYPE_WATER_TAXI) {
- return resources.getString(R.string.transit_orca_agency_kcwt);
+ // This type seems to be reserved for all of KCM's handheld scanners
+ if (getFTPType() == OrcaTransitInfo.FTP_TYPE_HANDHELD) {
+ return resources.getString(R.string.transit_orca_agency_handheld);
} else {
return resources.getString(R.string.transit_orca_agency_kcm);
}
@@ -517,8 +517,8 @@ public String getShortAgencyName(@NonNull Resources resources) {
case OrcaTransitInfo.AGENCY_CT:
return "CT";
case OrcaTransitInfo.AGENCY_KCM:
- if (getFTPType() == OrcaTransitInfo.FTP_TYPE_WATER_TAXI) {
- return "KCWT";
+ if (getFTPType() == OrcaTransitInfo.FTP_TYPE_HANDHELD) {
+ return "Handheld";
} else {
return "KCM";
}
@@ -550,8 +550,8 @@ public String getRouteName(@NonNull Resources resources) {
switch ((int)getFTPType()) {
case OrcaTransitInfo.FTP_TYPE_BUS:
return resources.getString(R.string.transit_orca_route_bus);
- case OrcaTransitInfo.FTP_TYPE_WATER_TAXI:
- return resources.getString(R.string.transit_orca_route_water_taxi);
+ case OrcaTransitInfo.FTP_TYPE_HANDHELD:
+ return null; // Irrevant for this type
case OrcaTransitInfo.FTP_TYPE_BRT:
return resources.getString(R.string.transit_orca_route_brt);
}
@@ -635,6 +635,8 @@ public String getStartStationName(@NonNull Resources resources) {
} else if (getFTPType() == OrcaTransitInfo.FTP_TYPE_BUS) {
return resources.getString(R.string.transit_orca_station_coach,
Long.toString(getCoachNumber()));
+ } else if (getFTPType() == OrcaTransitInfo.FTP_TYPE_HANDHELD) {
+ return resources.getString(R.string.transit_orca_agency_handheld);
} else {
return resources.getString(R.string.transit_orca_station_unknown_location,
Long.toString(getCoachNumber()));
@@ -659,11 +661,12 @@ public Mode getMode() {
return Mode.METRO;
} else if (isSounder()) {
return Mode.TRAIN;
- } else if (getFTPType() == OrcaTransitInfo.FTP_TYPE_FERRY
- || getFTPType() == OrcaTransitInfo.FTP_TYPE_WATER_TAXI) {
+ } else if (getFTPType() == OrcaTransitInfo.FTP_TYPE_FERRY) {
return Mode.FERRY;
} else if (isSeattleStreetcar()) {
return Mode.TRAM;
+ } else if (getFTPType() == OrcaTransitInfo.FTP_TYPE_HANDHELD) {
+ return Mode.HANDHELD;
} else {
return Mode.BUS;
}
diff --git a/farebot-transit-orca/src/main/res/values/strings.xml b/farebot-transit-orca/src/main/res/values/strings.xml
index 3e40a4801..882e8e5d5 100644
--- a/farebot-transit-orca/src/main/res/values/strings.xml
+++ b/farebot-transit-orca/src/main/res/values/strings.xml
@@ -30,14 +30,13 @@
Washington State Ferries
Everett Transit
Kitsap Transit
- King County Water Taxi
+ Handheld Scanner
Unknown Agency: %s
Link Light Rail
Sounder Train
Express Bus
Bus
- Water Taxi
Bus Rapid Transit
Coach #%s
diff --git a/farebot-transit/src/main/java/com/codebutler/farebot/transit/Trip.java b/farebot-transit/src/main/java/com/codebutler/farebot/transit/Trip.java
index 3a28bfb5e..c1439ec30 100644
--- a/farebot-transit/src/main/java/com/codebutler/farebot/transit/Trip.java
+++ b/farebot-transit/src/main/java/com/codebutler/farebot/transit/Trip.java
@@ -125,6 +125,7 @@ public enum Mode {
VENDING_MACHINE,
POS,
OTHER,
+ HANDHELD,
BANNED
}