1/* 2 * Copyright (C) 2016 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License 15 */ 16 17package com.android.server.job; 18 19import android.app.job.JobInfo; 20 21import java.util.List; 22 23/** 24 * JobScheduler local system service interface. 25 * {@hide} Only for use within the system server. 26 */ 27public interface JobSchedulerInternal { 28 29 /** 30 * Returns a list of pending jobs scheduled by the system service. 31 */ 32 List<JobInfo> getSystemScheduledPendingJobs(); 33 34 /** 35 * These are for activity manager to communicate to use what is currently performing backups. 36 */ 37 void addBackingUpUid(int uid); 38 void removeBackingUpUid(int uid); 39 void clearAllBackingUpUids(); 40 41 JobStorePersistStats getPersistStats(); 42 43 /** 44 * Stats about the first load after boot and the most recent save. 45 * STOPSHIP Remove it and the relevant code once b/64536115 is fixed. 46 */ 47 public class JobStorePersistStats { 48 public int countAllJobsLoaded = -1; 49 public int countSystemServerJobsLoaded = -1; 50 public int countSystemSyncManagerJobsLoaded = -1; 51 52 public int countAllJobsSaved = -1; 53 public int countSystemServerJobsSaved = -1; 54 public int countSystemSyncManagerJobsSaved = -1; 55 56 public JobStorePersistStats() { 57 } 58 59 public JobStorePersistStats(JobStorePersistStats source) { 60 countAllJobsLoaded = source.countAllJobsLoaded; 61 countSystemServerJobsLoaded = source.countSystemServerJobsLoaded; 62 countSystemSyncManagerJobsLoaded = source.countSystemSyncManagerJobsLoaded; 63 64 countAllJobsSaved = source.countAllJobsSaved; 65 countSystemServerJobsSaved = source.countSystemServerJobsSaved; 66 countSystemSyncManagerJobsSaved = source.countSystemSyncManagerJobsSaved; 67 } 68 69 @Override 70 public String toString() { 71 return "FirstLoad: " 72 + countAllJobsLoaded + "/" 73 + countSystemServerJobsLoaded + "/" 74 + countSystemSyncManagerJobsLoaded 75 + " LastSave: " 76 + countAllJobsSaved + "/" 77 + countSystemServerJobsSaved + "/" 78 + countSystemSyncManagerJobsSaved; 79 } 80 } 81} 82