Search in sources :

Example 6 with JobScheduler

use of android.app.job.JobScheduler in project muzei by romannurik.

the class DirectBootCacheJobService method scheduleDirectBootCacheJob.

static void scheduleDirectBootCacheJob(Context context) {
    JobScheduler jobScheduler = context.getSystemService(JobScheduler.class);
    ComponentName componentName = new ComponentName(context, DirectBootCacheJobService.class);
    jobScheduler.schedule(new JobInfo.Builder(DIRECT_BOOT_CACHE_JOB_ID, componentName).addTriggerContentUri(new JobInfo.TriggerContentUri(MuzeiContract.Artwork.CONTENT_URI, JobInfo.TriggerContentUri.FLAG_NOTIFY_FOR_DESCENDANTS)).setTriggerContentUpdateDelay(DIRECT_BOOT_CACHE_DELAY_MILLIS).build());
}
Also used : JobScheduler(android.app.job.JobScheduler) ComponentName(android.content.ComponentName)

Example 7 with JobScheduler

use of android.app.job.JobScheduler in project platform_frameworks_base by android.

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 8 with JobScheduler

use of android.app.job.JobScheduler in project platform_frameworks_base by android.

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 9 with JobScheduler

use of android.app.job.JobScheduler in project platform_frameworks_base by android.

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 10 with JobScheduler

use of android.app.job.JobScheduler in project platform_frameworks_base by android.

the class BackgroundDexOptService method schedule.

public static void schedule(Context context) {
    JobScheduler js = (JobScheduler) context.getSystemService(Context.JOB_SCHEDULER_SERVICE);
    // Schedule a one-off job which scans installed packages and updates
    // out-of-date oat files.
    js.schedule(new JobInfo.Builder(JOB_POST_BOOT_UPDATE, sDexoptServiceName).setMinimumLatency(TimeUnit.MINUTES.toMillis(1)).setOverrideDeadline(TimeUnit.MINUTES.toMillis(1)).build());
    // Schedule a daily job which scans installed packages and compiles
    // those with fresh profiling data.
    js.schedule(new JobInfo.Builder(JOB_IDLE_OPTIMIZE, sDexoptServiceName).setRequiresDeviceIdle(true).setRequiresCharging(true).setPeriodic(IDLE_OPTIMIZATION_PERIOD).build());
    if (DEBUG_DEXOPT) {
        Log.i(TAG, "Jobs scheduled");
    }
}
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