shill: cellular: Migrate activation paths to use MobileOperatorInfo.

The code paths that determine whether cellular activation is required also
verify that some online portal information is available. This CL migrates this
check to be based off of the new MobileOperatorInfo objects. Before this CL, a
new |CellularOperatorInfo| object was used to make this decision.

BUG=chromium:371630
TEST=- Use pseudomodem to manually create a modem that exposes itself with
         operator id: '310995'
         operator name: ''
         subscription state: 'unknown'
         own: '0000000000'
       and verify that
         $ connectivity show devices
       shows the cellular service is 'not-activated'.
     - Run network_LTEActivate.

Change-Id: I22cecffca1169e8abf25148b367d01520aa171bc
Reviewed-on: https://chromium-review.googlesource.com/200687
Tested-by: Prathmesh Prabhu <pprabhu@chromium.org>
Reviewed-by: Thieu Le <thieule@chromium.org>
Commit-Queue: Prathmesh Prabhu <pprabhu@chromium.org>
diff --git a/cellular_capability_universal_cdma.cc b/cellular_capability_universal_cdma.cc
index 040249e..3a3546f 100644
--- a/cellular_capability_universal_cdma.cc
+++ b/cellular_capability_universal_cdma.cc
@@ -162,13 +162,10 @@
 bool CellularCapabilityUniversalCDMA::IsServiceActivationRequired() const {
   // If there is no online payment portal information, it's safer to assume
   // the service does not require activation.
-  if (!modem_info()->cellular_operator_info())
+  if (!cellular()->serving_operator_info()->IsMobileNetworkOperatorKnown() ||
+      cellular()->serving_operator_info()->olp_list().empty()) {
     return false;
-
-  const CellularOperatorInfo::OLP *olp =
-      modem_info()->cellular_operator_info()->GetOLPBySID(UintToString(sid_));
-  if (!olp)
-    return false;
+  }
 
   // We could also use the MDN to determine whether or not the service is
   // activated, however, the CDMA ActivatonState property is a more absolute