diff options
Diffstat (limited to 'core')
-rw-r--r-- | core/java/android/app/TaskManagerImpl.java | 24 | ||||
-rw-r--r-- | core/java/android/app/task/Task.java | 11 |
2 files changed, 25 insertions, 10 deletions
diff --git a/core/java/android/app/TaskManagerImpl.java b/core/java/android/app/TaskManagerImpl.java index f42839e..fe29fb7 100644 --- a/core/java/android/app/TaskManagerImpl.java +++ b/core/java/android/app/TaskManagerImpl.java @@ -20,6 +20,7 @@ package android.app; import android.app.task.ITaskManager; import android.app.task.Task; import android.app.task.TaskManager; +import android.os.RemoteException; import java.util.List; @@ -37,26 +38,35 @@ public class TaskManagerImpl extends TaskManager { @Override public int schedule(Task task) { - // TODO Auto-generated method stub - return 0; + try { + return mBinder.schedule(task); + } catch (RemoteException e) { + return TaskManager.RESULT_FAILURE; + } } @Override public void cancel(int taskId) { - // TODO Auto-generated method stub + try { + mBinder.cancel(taskId); + } catch (RemoteException e) {} } @Override public void cancelAll() { - // TODO Auto-generated method stub + try { + mBinder.cancelAll(); + } catch (RemoteException e) {} } @Override public List<Task> getAllPendingTasks() { - // TODO Auto-generated method stub - return null; + try { + return mBinder.getAllPendingTasks(); + } catch (RemoteException e) { + return null; + } } - } diff --git a/core/java/android/app/task/Task.java b/core/java/android/app/task/Task.java index 87d57fb..0e660b3 100644 --- a/core/java/android/app/task/Task.java +++ b/core/java/android/app/task/Task.java @@ -48,6 +48,11 @@ public class Task implements Parcelable { * @hide */ public static final int DEFAULT_BACKOFF_POLICY = BackoffPolicy.EXPONENTIAL; + /** + * Maximum backoff we allow for a job, in milliseconds. + * @hide + */ + public static final long MAX_BACKOFF_DELAY_MILLIS = 24 * 60 * 60 * 1000; // 24 hours. /** * Linear: retry_time(failure_time, t) = failure_time + initial_retry_delay * t, t >= 1 @@ -185,7 +190,7 @@ public class Task implements Parcelable { private Task(Parcel in) { taskId = in.readInt(); extras = in.readPersistableBundle(); - service = ComponentName.readFromParcel(in); + service = in.readParcelable(null); requireCharging = in.readInt() == 1; requireDeviceIdle = in.readInt() == 1; networkCapabilities = in.readInt(); @@ -201,7 +206,7 @@ public class Task implements Parcelable { private Task(Task.Builder b) { taskId = b.mTaskId; - extras = new PersistableBundle(b.mExtras); + extras = b.mExtras; service = b.mTaskService; requireCharging = b.mRequiresCharging; requireDeviceIdle = b.mRequiresDeviceIdle; @@ -225,7 +230,7 @@ public class Task implements Parcelable { public void writeToParcel(Parcel out, int flags) { out.writeInt(taskId); out.writePersistableBundle(extras); - ComponentName.writeToParcel(service, out); + out.writeParcelable(service, flags); out.writeInt(requireCharging ? 1 : 0); out.writeInt(requireDeviceIdle ? 1 : 0); out.writeInt(networkCapabilities); |