Search in sources :

Example 16 with JobScheduler

use of android.app.job.JobScheduler in project android_frameworks_base by DirtyUnicorns.

the class FullBackupJob method schedule.

public static void schedule(Context ctx, long minDelay) {
    JobScheduler js = (JobScheduler) ctx.getSystemService(Context.JOB_SCHEDULER_SERVICE);
    JobInfo.Builder builder = new JobInfo.Builder(JOB_ID, sIdleService).setRequiresDeviceIdle(true).setRequiredNetworkType(JobInfo.NETWORK_TYPE_UNMETERED).setRequiresCharging(true);
    if (minDelay > 0) {
        builder.setMinimumLatency(minDelay);
    }
    js.schedule(builder.build());
}
Also used : JobScheduler(android.app.job.JobScheduler) JobInfo(android.app.job.JobInfo)

Example 17 with JobScheduler

use of android.app.job.JobScheduler in project android_frameworks_base by DirtyUnicorns.

the class KeyValueBackupJob method schedule.

public static void schedule(Context ctx, long delay) {
    synchronized (KeyValueBackupJob.class) {
        if (!sScheduled) {
            if (delay <= 0) {
                delay = BATCH_INTERVAL + new Random().nextInt(FUZZ_MILLIS);
            }
            if (BackupManagerService.DEBUG_SCHEDULING) {
                Slog.v(TAG, "Scheduling k/v pass in " + (delay / 1000 / 60) + " minutes");
            }
            JobScheduler js = (JobScheduler) ctx.getSystemService(Context.JOB_SCHEDULER_SERVICE);
            JobInfo.Builder builder = new JobInfo.Builder(JOB_ID, sKeyValueJobService).setMinimumLatency(delay).setRequiredNetworkType(JobInfo.NETWORK_TYPE_ANY).setRequiresCharging(true).setOverrideDeadline(MAX_DEFERRAL);
            js.schedule(builder.build());
            sNextScheduled = System.currentTimeMillis() + delay;
            sScheduled = true;
        }
    }
}
Also used : JobScheduler(android.app.job.JobScheduler) Random(java.util.Random) JobInfo(android.app.job.JobInfo)

Example 18 with JobScheduler

use of android.app.job.JobScheduler in project android_frameworks_base by DirtyUnicorns.

the class KeyValueBackupJob method cancel.

public static void cancel(Context ctx) {
    synchronized (KeyValueBackupJob.class) {
        JobScheduler js = (JobScheduler) ctx.getSystemService(Context.JOB_SCHEDULER_SERVICE);
        js.cancel(JOB_ID);
        sNextScheduled = 0;
        sScheduled = false;
    }
}
Also used : JobScheduler(android.app.job.JobScheduler)

Example 19 with JobScheduler

use of android.app.job.JobScheduler in project android_frameworks_base by DirtyUnicorns.

the class MountServiceIdler method scheduleIdlePass.

/**
     * Schedule the idle job that will ping the mount service
     */
public static void scheduleIdlePass(Context context) {
    JobScheduler tm = (JobScheduler) context.getSystemService(Context.JOB_SCHEDULER_SERVICE);
    Calendar calendar = tomorrowMidnight();
    final long timeToMidnight = calendar.getTimeInMillis() - System.currentTimeMillis();
    JobInfo.Builder builder = new JobInfo.Builder(MOUNT_JOB_ID, sIdleService);
    builder.setRequiresDeviceIdle(true);
    builder.setRequiresCharging(true);
    builder.setMinimumLatency(timeToMidnight);
    tm.schedule(builder.build());
}
Also used : JobScheduler(android.app.job.JobScheduler) JobInfo(android.app.job.JobInfo) Calendar(java.util.Calendar)

Example 20 with JobScheduler

use of android.app.job.JobScheduler in project android_frameworks_base by DirtyUnicorns.

the class DiskStatsLoggingService method schedule.

/**
     * Schedules a DiskStats collection task. This task only runs on device idle while charging
     * once every 24 hours.
     * @param context Context to use to get a job scheduler.
     */
public static void schedule(Context context) {
    JobScheduler js = (JobScheduler) context.getSystemService(Context.JOB_SCHEDULER_SERVICE);
    js.schedule(new JobInfo.Builder(JOB_DISKSTATS_LOGGING, sDiskStatsLoggingService).setRequiresDeviceIdle(true).setRequiresCharging(true).setPeriodic(TimeUnit.DAYS.toMillis(1)).build());
}
Also used : JobScheduler(android.app.job.JobScheduler) JobInfo(android.app.job.JobInfo)

Aggregations

JobScheduler (android.app.job.JobScheduler)63 JobInfo (android.app.job.JobInfo)42 ComponentName (android.content.ComponentName)13 NotificationManager (android.app.NotificationManager)5 Calendar (java.util.Calendar)5 Random (java.util.Random)5 AlarmManager (android.app.AlarmManager)2 SharedPreferences (android.content.SharedPreferences)2 Account (android.accounts.Account)1 AccountManager (android.accounts.AccountManager)1 SuppressLint (android.annotation.SuppressLint)1 ConnectivityManager (android.net.ConnectivityManager)1 Bundle (android.os.Bundle)1 PersistableBundle (android.os.PersistableBundle)1 UiThread (android.support.annotation.UiThread)1 Test (org.junit.Test)1