Permalink
Commits on Dec 5, 2018
  1. Include WorkManager in the library comparison table (#274)

    jhamberg authored and samtstern committed Dec 5, 2018
Commits on Nov 9, 2018
  1. Update README.md

    toddshansen committed Nov 9, 2018
  2. Update README.md

    toddshansen committed Nov 9, 2018
Commits on May 24, 2018
  1. Merge pull request #243 from firebase/moe_writing_branch_from_fa00498…

    ciarand committed May 24, 2018
    …25951043b0fc02e65b8eb0e098036ea5c
    
    Merge internal and external changes
Commits on May 23, 2018
  1. Merge branch 'master' of github.com:firebase/firebase-jobdispatcher-a…

    ciarand committed May 23, 2018
    …ndroid into moe_writing_branch_from_fa0049825951043b0fc02e65b8eb0e098036ea5c
  2. remove unnecessary characters (#211)

    amitmaskery authored and ciarand committed Feb 5, 2018
  3. Don't log stacktrace on DeadObjectException

    ciarand committed Jan 4, 2018
    If Google Play services restarts while a task is running, there'll be a
    DeadObjectException. There's no benefit to logging the whole stacktrace,
    so this patch changes the logs to only include the exception message.
    
    -------------
    Created by MOE: https://github.com/google/moe
    MOE_MIGRATED_REVID=180842033
  4. Reduce lock time in FJD ExecutionDelegator class to prevent deadlocks

    ciarand committed Nov 29, 2017
    -------------
    Created by MOE: https://github.com/google/moe
    MOE_MIGRATED_REVID=177363704
  5. Reduce FJD mainthread locks by limiting 'callback' lock time

    ciarand committed Nov 28, 2017
    -------------
    Created by MOE: https://github.com/google/moe
    MOE_MIGRATED_REVID=177218769
  6. Improve Kotlin support (#193)

    SUPERCILEX authored and ciarand committed Jan 25, 2018
    Add NonNull and Nullable annotations, mark some constructors private, fix some docblocks.
  7. Update dependencies (#192)

    SUPERCILEX authored and ciarand committed Jan 25, 2018
    This fixes some minor issues:
    
    * Updates dependencies (robolectric, guava, mockito, support test runner, and Gradle)
    * Bumps minimum SDK to 14 to match Google Play services
    * Fixes some minor lint issues
    * Updates build.gradle files to use new dependency syntax
  8. Update README to use new dependency resolution DSL (#194)

    SUPERCILEX authored and ciarand committed Jan 23, 2018
    * Update README to use new dependency resolution DSL
  9. Drop License header to an H2

    abehaskins authored and ciarand committed Dec 14, 2017
  10. Fix gradle test by cleaning up service connection after tests

    Egor Maliarevich authored and ciarand committed Nov 14, 2017
    -------------
    Created by MOE: https://github.com/google/moe
    MOE_MIGRATED_REVID=175613749
  11. Use the same binder connection for all tags.

    Egor Maliarevich authored and ciarand committed Nov 10, 2017
    #157
    
    -------------
    Created by MOE: https://github.com/google/moe
    MOE_MIGRATED_REVID=175318122
  12. Convert JobService.LocalBinder to an AIDL interface

    ciarand committed May 8, 2018
    This fixes support for JobService in non-default processes. Previously we were
    using the JobService.LocalBinder class, which relies on being run in the same
    process. This patch migrates to an AIDL interface, which standardizes the
    interface and allows the GooglePlayReceiver to communicate with a JobService in
    a separate process.
    
    Also fixes an issue in the JobCoder which caused internal keys to be
    written to the same extras Bundle that clients used. Now extras are
    always written and extracted. The EndToEnd test has been adjusted to
    validate that the extras received in onStartJob match the ones delivered
    in the initial schedule request.
  13. Catch SecurityExceptions when binding within app

    ciarand committed May 5, 2018
    Under certain circumstances specific builds of Android seem to reject
    calls to bindService with a SecurityException, even when targeting a
    Service that exists within the same app. This patch changes the
    ExecutionDelegator to catch those exceptions instead of crashing the app
    (and causing a timeout on the Google Play services side). It also
    ensures that binding fails will cause a RETRY result to be sent back to
    the caller, which should help reduce the overall number of timeouts when
    using the FJD.
    
    -------------
    Created by MOE: https://github.com/google/moe
    MOE_MIGRATED_REVID=195499014
  14. Set targetSdkVersion in FJD testapp to 27 (O MR1)

    ciarand committed Apr 20, 2018
    -------------
    Created by MOE: https://github.com/google/moe
    MOE_MIGRATED_REVID=193717637
  15. Remove deprecated @config(constants=...)

    ciarand committed Apr 18, 2018
    -------------
    Created by MOE: https://github.com/google/moe
    MOE_MIGRATED_REVID=193425848
  16. Update README given FJD only supports ICS+ now

    ciarand committed Apr 17, 2018
    -------------
    Created by MOE: https://github.com/google/moe
    MOE_MIGRATED_REVID=193257155
  17. Add a very simple dumpsys output to JobService

    ciarand committed Apr 5, 2018
    This just prints the list of currently running job tags, as well as how long they've been running for.
    
    FJD debuggability++
    
    -------------
    Created by MOE: https://github.com/google/moe
    MOE_MIGRATED_REVID=191820117
  18. Fix mPrefixes in JobInvocation, make setConstraints variadic

    ciarand committed Mar 20, 2018
    The package-private JobInvocation.Builder class's #setConstraints method accepts an int array. It's easier to use if it just accepts a variadic argument, and requires no changes in any of the callsites. This also removes the 'm' prefix from all of the setX parameter names and removes the 'public' modifiers to clarify visibility.
    
    -------------
    Created by MOE: https://github.com/google/moe
    MOE_MIGRATED_REVID=189780265
  19. Add ACCESS_NETWORK_STATE permission to FJD test app

    ciarand committed Mar 9, 2018
    -------------
    Created by MOE: https://github.com/google/moe
    MOE_MIGRATED_REVID=188426955
  20. Use ContraintChecker to guard job execution

    ciarand committed Mar 8, 2018
    We use the recently added ConstraintChecker to validate that a job's
    constraints are satisfied prior to starting the job. If constraints are
    fulfilled, execution proceeds directly as before.
    
    If the constraints are unsatisfied, the job execution result is marked
    as RESULT_FAIL_RETRY. This is so that the job can be retried later on
    for execution if eligible.
    
    -------------
    Created by MOE: https://github.com/google/moe
    MOE_MIGRATED_REVID=188258796
  21. Make all JobService methods nonblocking

    ciarand committed Mar 7, 2018
    Historically the JobService methods have accessed the runningJobs field
    from a variety of threads, including the main thread and random binder
    threads. This moves all real work to a single-threaded background
    executor, including access to runningJobs and all IPC calls.
    
    Also consolidates the assortment of anonymous classes into a single
    UnitOfWork class with static factory methods for APK size reasons.
    
    -------------
    Created by MOE: https://github.com/google/moe
    MOE_MIGRATED_REVID=188105210
  22. Add ConstraintChecker to Firebase Job Dispatcher

    ciarand committed Mar 5, 2018
    This adds a new "ConstraintChecker" class to the library. This class is
    responsible for validating that a job execution constraints are
    satisfied prior to starting jobs.
    
    This is useful for checks that the Google Play services scheduling
    engine is unable to definitively determine such as app network
    accessibility when Data Saver Mode is enabled.
    
    This change just adds the ConstraintChecker. A future change will update
    the ExecutionDelegator to make use of the ConstraintChecker.
    
    The initial version of the ConstraintChecker only looks for satisfaction
    of network constraints. To do this, we need the ACCESS_NETWORK_STATE
    permission which is a normal permission that Android can automatically
    grant to apps at install time[1].
    
    [1]: https://developer.android.com/guide/topics/permissions/overview.html#normal-dangerous
    
    -------------
    Created by MOE: https://github.com/google/moe
    MOE_MIGRATED_REVID=187928253
  23. Throw an AssertionError instead of calling fail()

    ciarand committed Feb 14, 2018
    This was detected by an ErrorProne check.
    
    -------------
    Created by MOE: https://github.com/google/moe
    MOE_MIGRATED_REVID=185733354
  24. Add android.test.runner to androidTest manifest

    ciarand committed Feb 13, 2018
    -------------
    Created by MOE: https://github.com/google/moe
    MOE_MIGRATED_REVID=185602111
  25. Add airplane mode test to FJD

    ciarand committed Feb 8, 2018
    These are simple tests that verify network-constrained jobs don't run
    while in airplane mode.
    -------------
    Created by MOE: https://github.com/google/moe
    MOE_MIGRATED_REVID=184911306
  26. Don't log the whole stack when Google Play services dies

    ciarand committed Jan 4, 2018
    If Google Play services restarts while a task is running, there'll be a
    DeadObjectException. There's no benefit to logging the whole stacktrace,
    so this patch changes the logs to only include the exception message.
    
    -------------
    Created by MOE: https://github.com/google/moe
    MOE_MIGRATED_REVID=180842033
  27. Reduce lock time in FJD JobService class to prevent deadlocks

    ciarand committed Nov 30, 2017
    -------------
    Created by MOE: https://github.com/google/moe
    MOE_MIGRATED_REVID=177395480
  28. Reduce lock time in FJD ExecutionDelegator class to prevent deadlocks

    ciarand committed Nov 29, 2017
    -------------
    Created by MOE: https://github.com/google/moe
    MOE_MIGRATED_REVID=177363704
  29. Reduce FJD mainthread locks by limiting 'callback' lock time

    ciarand committed Nov 28, 2017
    -------------
    Created by MOE: https://github.com/google/moe
    MOE_MIGRATED_REVID=177218769
  30. Fix drawable reference in FJD testapp layout file

    ciarand committed Nov 28, 2017
    This wasn't working on pre-L devices due to a change to the v23.2.0 version of the support library: https://plus.google.com/+AndroidDevelopers/posts/iTDmFiGrVne
    
    -------------
    Created by MOE: https://github.com/google/moe
    MOE_MIGRATED_REVID=177181261
  31. Depend on support-compat instead of support-v4

    ciarand committed Nov 15, 2017
    -------------
    Created by MOE: https://github.com/google/moe
    MOE_MIGRATED_REVID=175856833