| Index: chrome/browser/chromeos/cros/network_library.cc
|
| ===================================================================
|
| --- chrome/browser/chromeos/cros/network_library.cc (revision 71286)
|
| +++ chrome/browser/chromeos/cros/network_library.cc (working copy)
|
| @@ -84,6 +84,9 @@
|
| static const char* kRoamingStateRoaming = "roaming";
|
| static const char* kRoamingStateUnknown = "unknown";
|
|
|
| +// How long we should remember that cellular plan payment was received.
|
| +const int kRecentPlanPaymentHours = 6;
|
| +
|
| static ConnectionState ParseState(const std::string& state) {
|
| if (state == kStateIdle)
|
| return STATE_IDLE;
|
| @@ -1135,6 +1138,18 @@
|
| RequestCellularDataPlanUpdate(network->service_path().c_str());
|
| }
|
|
|
| + // Records information that cellular play payment had happened.
|
| + virtual void SignalCellularPlanPayment() {
|
| + DCHECK(!HasRecentCellularPlanPayment());
|
| + cellular_plan_payment_time_ = base::Time::Now();
|
| + }
|
| +
|
| + // Returns true if cellular plan payment had been recorded recently.
|
| + virtual bool HasRecentCellularPlanPayment() {
|
| + return (base::Time::Now() -
|
| + cellular_plan_payment_time_).InHours() < kRecentPlanPaymentHours;
|
| + }
|
| +
|
| virtual void DisconnectFromWirelessNetwork(const WirelessNetwork* network) {
|
| DCHECK(network);
|
| if (!EnsureCrosLoaded() || !network)
|
| @@ -1621,7 +1636,7 @@
|
| cellular1->set_service_path("fc1");
|
| cellular1->set_name("Fake Cellular 1");
|
| cellular1->set_strength(70);
|
| - cellular1->set_connected(true);
|
| + cellular1->set_connected(false);
|
| cellular1->set_activation_state(ACTIVATION_STATE_ACTIVATED);
|
| cellular1->set_payment_url(std::string("http://www.google.com"));
|
| cellular1->set_network_technology(NETWORK_TECHNOLOGY_EVDO);
|
| @@ -1768,7 +1783,7 @@
|
| bool boolval = false;
|
| int intval = 0;
|
| std::string stringval;
|
| - Network* network;
|
| + Network* network = NULL;
|
| if (ethernet_->service_path() == path) {
|
| network = ethernet_;
|
| } else {
|
| @@ -1779,7 +1794,7 @@
|
| if (cellular == NULL && wifi == NULL)
|
| return;
|
|
|
| - WirelessNetwork* wireless;
|
| + WirelessNetwork* wireless = NULL;
|
| if (wifi != NULL)
|
| wireless = static_cast<WirelessNetwork*>(wifi);
|
| else
|
| @@ -1822,7 +1837,8 @@
|
| network->InitIPAddress();
|
| }
|
| }
|
| - NotifyNetworkChanged(network);
|
| + if (network)
|
| + NotifyNetworkChanged(network);
|
| }
|
|
|
| void UpdateCellularDataPlan(const CellularDataPlanList* data_plans) {
|
| @@ -1896,6 +1912,9 @@
|
| // Delayed task to retrieve the network information.
|
| CancelableTask* update_task_;
|
|
|
| + // Cellular plan payment time.
|
| + base::Time cellular_plan_payment_time_;
|
| +
|
| DISALLOW_COPY_AND_ASSIGN(NetworkLibraryImpl);
|
| };
|
|
|
| @@ -1979,6 +1998,8 @@
|
| return true;
|
| }
|
| virtual void RefreshCellularDataPlans(const CellularNetwork* network) {}
|
| + virtual void SignalCellularPlanPayment() {}
|
| + virtual bool HasRecentCellularPlanPayment() { return false; }
|
| virtual void DisconnectFromWirelessNetwork(const WirelessNetwork* network) {}
|
| virtual void SaveCellularNetwork(const CellularNetwork* network) {}
|
| virtual void SaveWifiNetwork(const WifiNetwork* network) {}
|
|
|