)]}'
{
  "log": [
    {
      "commit": "d5f25d2cd882c89965b6538082556d9469f72288",
      "tree": "35933c6e4705b547df7e96cff84f38139d7d475f",
      "parents": [
        "fab8e71697c3ab47ad3e53864b22542a9a34fa2f"
      ],
      "author": {
        "name": "Makoto Onuki",
        "email": "omakoto@google.com",
        "time": "Tue May 22 16:02:17 2018 -0700"
      },
      "committer": {
        "name": "Makoto Onuki",
        "email": "omakoto@google.com",
        "time": "Wed May 23 14:50:05 2018 -0700"
      },
      "message": "Tweak exemption for sync requests made by FG apps\n\nExemption given to a sync request made by a foreground app (including\nPROCESS_STATE_IMPORTANT_FOREGROUND).\nAt the schedule time, we promote the sync adapter app for a higher bucket:\n- If the device is not dozing (so the sync will start right away)\n  promote to ACTIVE for 1 hour.\n- If the device is dozing (so the sync *won\u0027t* start right away),\npromote to WORKING_SET for 4 hours, so it\u0027ll get a higher chance to be started once the\ndevice comes out of doze.\n- When the sync actually starts, we promote the sync adapter app to ACTIVE for 10 minutes,\nso it can schedule and start more syncs without getting throttled, even when the first\noperation was canceled and now we\u0027re retrying.\n\nTest: atest cts/tests/tests/syncmanager/\nTest: Manual test with \"requestsync -f\" and \"am set-standby-bucket\", while checking\n\"dumpsys usagestats\"\nTest: settings put global app_idle_constants \\\n  exempted_sync_scheduled_nd_duration\u003d1,exempted_sync_scheduled_d_duration\u003d2,exempted_sync_start_duration\u003d3\n  and check \"dumpsys usagestats\" and make sure the constants are properly updated.\nFixes: 72443754\n\nChange-Id: I233d8e4be85769150830bac798abc04810f4cc7b\n"
    },
    {
      "commit": "75ad2496ebd8162771687510dfe40b5316cb38bc",
      "tree": "304a8849055ac733e93287ce529777ea44621096",
      "parents": [
        "2011f2333d1b9d0930223dbb3587a40e2d1b80bb"
      ],
      "author": {
        "name": "Makoto Onuki",
        "email": "omakoto@google.com",
        "time": "Wed Mar 28 14:42:42 2018 -0700"
      },
      "committer": {
        "name": "Makoto Onuki",
        "email": "omakoto@google.com",
        "time": "Thu Mar 29 14:53:02 2018 -0700"
      },
      "message": "AppStandby exemption: sync requested by FG apps\n\nBug: 72443754\nFix: 72443754\n\nTest: atest ${ANDROID_BUILD_TOP}/frameworks/base/services/tests/servicestests/src/com/android/server/content/SyncOperationTest.java\nTest: Manual test with contacts sync:\n\nPrecondition: Put the contacts sync in RARE bucket.\n\nadb shell dumpsys deviceidle tempwhitelist -r com.google.android.syncadapters.contacts\nadb shell am make-uid-idle com.google.android.syncadapters.contacts\nadb shell am set-standby-bucket com.google.android.syncadapters.contacts 40\n\nTest 1: Toggle contacts sync from the Settings -\u003e Account\n\n- Make sure a sync happens.\n\nTest 2: Mutate a contact on the WEB\n\n- Sync is scheduled, but won\u0027t run because it has no network access.\n- am set-standby-bucket com.google.android.syncadapters.contacts 30\n- Sync run runs.\n\nTest 3. adb shell requestsync -n ACCOUNT -t com.google -a com.android.contacts\n\n- Sync is scheduled but won\u0027t run.\n\nTest 4. adb shell requestsync -n ACCOUNT -t com.google -a com.android.contacts -f\n\n- Sync is scheduled but it still won\u0027t run.\n\nTest 5. adb shell requestsync -n ACCOUNT -t com.google -a com.android.contacts -F\n\n- Sync now runs\n\nChange-Id: I1eb972ed321d2a1a782ae23ccb806671926d3e6b\n"
    },
    {
      "commit": "61283ecc7faeabd0556f4509aca7185bc112ce14",
      "tree": "3df5ca61fab88c3b449140fe45fe0dfb08fcf978",
      "parents": [
        "2ef26bf2dfe203312d6c71a01426191060ff4e46"
      ],
      "author": {
        "name": "Makoto Onuki",
        "email": "omakoto@google.com",
        "time": "Wed Jan 31 17:22:36 2018 -0800"
      },
      "committer": {
        "name": "Makoto Onuki",
        "email": "omakoto@google.com",
        "time": "Fri Feb 02 16:40:25 2018 -0800"
      },
      "message": "Exempt sync requests by FG app from app-standby\n\nTest: manual test with request sync, etc\nBug: 72443754\nChange-Id: Iecf2d3a8c54451324a02ca2762bda72aa219bd92\n"
    },
    {
      "commit": "4a7554afc61c61b374779ccc47ee5fb0cb9ddb00",
      "tree": "515c294071f435e7cb2a5e464a6c61930f178079",
      "parents": [
        "a94b152df1d79e3fa101fd3f7c30741a4570e84f"
      ],
      "author": {
        "name": "Makoto Onuki",
        "email": "omakoto@google.com",
        "time": "Thu Jun 08 17:12:05 2017 -0700"
      },
      "committer": {
        "name": "Makoto Onuki",
        "email": "omakoto@google.com",
        "time": "Thu Jun 08 17:12:05 2017 -0700"
      },
      "message": "Add periodic sync support to requestsync.\n\nTest: manual test\nChange-Id: Ie53249de5e9c5e53bdf87cb9f78745c994bc34e6\n"
    },
    {
      "commit": "28532d00267c73b8e0fa5235169fa72c414e1cd0",
      "tree": "1a861369c0c84e0738a31645fe9964f4be334a41",
      "parents": [
        "28b1df3b8abffc25fe0b04391e2ce4d0f8ece966"
      ],
      "author": {
        "name": "Tobias Thierer",
        "email": "tobiast@google.com",
        "time": "Thu Apr 21 14:52:10 2016 +0100"
      },
      "committer": {
        "name": "Tobias Thierer",
        "email": "tobiast@google.com",
        "time": "Fri Apr 22 13:36:53 2016 +0100"
      },
      "message": "frameworks/base: Avoid Long object allocations in Long.valueOf()\n\nReplace usages where the Long is immediately unboxed or thrown\naway with Long.parseLong().\nIn TaskRecord.java, I also fixed up similar uses of\n{Boolean,Integer}.valueOf()\n\nTested: built frameworks/base successfully.\n\nBug: 28289401\n(cherry picked from commit 4bd017d6a5437f153b2b0a149a5dde0b85bf6907)\n\nChange-Id: Icfa4708946e774f4a1bacf185c3fd11a7087017e\n"
    },
    {
      "commit": "e1c4a0b31bfbaef85c59f2dc346cfec71b0686c3",
      "tree": "4794e9c2730688ee9f757b848f188cf2c818255d",
      "parents": [
        "7a939077bd14521c7d351af98df7ed75a8ec9c15"
      ],
      "author": {
        "name": "Alon Albert",
        "email": "aalbert@google.com",
        "time": "Fri Jan 13 09:35:35 2012 -0800"
      },
      "committer": {
        "name": "Alon Albert",
        "email": "aalbert@google.com",
        "time": "Fri Jan 13 10:19:24 2012 -0800"
      },
      "message": "New command to request a sync\n\nChange-Id: I523e8ff4814940197d0b9a362a3920e69feae6fd\n"
    }
  ]
}
