// Copyright 2016 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
package org.chromium.chrome.browser.precache;
import android.content.Context;
import com.google.android.gms.common.ConnectionResult;
import com.google.android.gms.common.GoogleApiAvailability;
import com.google.android.gms.gcm.GcmNetworkManager;
import com.google.android.gms.gcm.Task;
import org.chromium.chrome.browser.ChromeBackgroundService;
class PrecacheTaskScheduler {
boolean canScheduleTasks(Context context) {
if (GoogleApiAvailability.getInstance().isGooglePlayServicesAvailable(context)
!= ConnectionResult.SUCCESS) {
return false;
}
return true;
}
boolean scheduleTask(Context context, Task task) {
if (!canScheduleTasks(context)) {
return false;
}
try {
GcmNetworkManager.getInstance(context).schedule(task);
} catch (IllegalArgumentException e) {
return false;
}
return true;
}
boolean cancelTask(Context context, String tag) {
if (!canScheduleTasks(context)) {
return false;
}
try {
GcmNetworkManager.getInstance(context).cancelTask(tag, ChromeBackgroundService.class);
} catch (IllegalArgumentException e) {
return false;
}
return true;
}
}