cellular: Add error translation for Invalid APN for MM1.
BUG=chromium:286436
TEST=Manually connect to AT&T
Change-Id: Ifc4fe8c2bf101d5bc15a63722539643f97050203
Reviewed-on: https://chromium-review.googlesource.com/168658
Reviewed-by: Arman Uguray <armansito@chromium.org>
Tested-by: Thieu Le <thieule@chromium.org>
Commit-Queue: Thieu Le <thieule@chromium.org>
diff --git a/cellular_error_mm1.cc b/cellular_error_mm1.cc
index 1d5f790..8f9a763 100644
--- a/cellular_error_mm1.cc
+++ b/cellular_error_mm1.cc
@@ -18,15 +18,18 @@
namespace {
+const char *kErrorGprsNotSubscribed =
+ MM_MOBILE_EQUIPMENT_ERROR_DBUS_PREFIX ".GprsServiceOptionNotSubscribed";
+
const char *kErrorIncorrectPassword =
MM_MOBILE_EQUIPMENT_ERROR_DBUS_PREFIX ".IncorrectPassword";
-const char *kErrorSimPuk =
- MM_MOBILE_EQUIPMENT_ERROR_DBUS_PREFIX ".SimPuk";
-
const char *kErrorSimPin =
MM_MOBILE_EQUIPMENT_ERROR_DBUS_PREFIX ".SimPin";
+const char *kErrorSimPuk =
+ MM_MOBILE_EQUIPMENT_ERROR_DBUS_PREFIX ".SimPuk";
+
} // namespace
// static
@@ -50,6 +53,8 @@
type = Error::kPinRequired;
else if (name == kErrorSimPuk)
type = Error::kPinBlocked;
+ else if (name == kErrorGprsNotSubscribed)
+ type = Error::kInvalidApn;
else
type = Error::kOperationFailed;
diff --git a/cellular_error_unittest.cc b/cellular_error_unittest.cc
index de10f6c..ee8e56a 100644
--- a/cellular_error_unittest.cc
+++ b/cellular_error_unittest.cc
@@ -35,6 +35,10 @@
const char kErrorSimPukMM1[] =
"org.freedesktop.ModemManager1.Error.MobileEquipment.SimPuk";
+const char kErrorGprsNotSubscribedMM1[] =
+ "org.freedesktop.ModemManager1.Error.MobileEquipment."
+ "GprsServiceOptionNotSubscribed";
+
const char kErrorMessage[] = "Some error message.";
} // namespace
@@ -104,9 +108,9 @@
EXPECT_EQ(Error::kPinBlocked, shill_error.type());
CellularError::FromMM1DBusError(
- DBus::Error(kErrorGprsNotSubscribedMM, kErrorMessage),
+ DBus::Error(kErrorGprsNotSubscribedMM1, kErrorMessage),
&shill_error);
- EXPECT_EQ(Error::kOperationFailed, shill_error.type());
+ EXPECT_EQ(Error::kInvalidApn, shill_error.type());
CellularError::FromMM1DBusError(
DBus::Error(kErrorIncorrectPasswordMM, kErrorMessage),