)]}'
{
  "log": [
    {
      "commit": "d5d4217ece5c1cedd5ac9ca3bbdc12d793e69313",
      "tree": "8cfcb6dd4a7bcfb7c1b2e057c84d08d6053ffce6",
      "parents": [
        "427ef56c0f6f36fbf2f1e5902037a28f4cae09e0"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Wed Feb 14 19:39:03 2018 +0000"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Wed Feb 14 19:45:11 2018 +0000"
      },
      "message": "Add flag to AMS.startInstrumentation() to disable hidden API checks\n\nSome tests need to use hidden APIs to check the internal state of\nthe framework. For those special use cases, we add a new flag to\nActivityManagerService.startInstrumentation that enables to start\ninstrumented processes without hidden API enforcement. Individual\ntest harnesses can change their Am command to request the exemption.\n\nBug: 64382372\nTest: adb shell am instrument --no-hidden-api-checks \u003ccomponent\u003e\n      adb logcat | grep \u0027Accessing hidden\u0027\nChange-Id: I1d734a95423fae90dae63ff09d5f606495830905\n"
    },
    {
      "commit": "da3a2955cc91a7f960b3fdf4e95f57a512f1b7c6",
      "tree": "29c002dc36c81df6006d2976ce7cd5feb6f6f64b",
      "parents": [
        "630fc40aadf3f83671607bd6a651770958c16dfa"
      ],
      "author": {
        "name": "Mike Ma",
        "email": "yanmin@google.com",
        "time": "Mon Nov 13 12:06:45 2017 -0800"
      },
      "committer": {
        "name": "Mike Ma",
        "email": "yanmin@google.com",
        "time": "Mon Nov 13 12:16:22 2017 -0800"
      },
      "message": "Add instrumentation data to host proto lib\n\nAdd instrumentation data proto to host proto lib and add a few comment\nto am instrument.\nTest: no test needed\n\nChange-Id: Ibbb0394dcf0ad27b53d5c97104456798863ce82c\n"
    },
    {
      "commit": "d2239828d608a936e8a92319ce9c2b415998acb8",
      "tree": "853e1ee7885b54411e32bdefb933655c2c16c661",
      "parents": [
        "f8a9169949c589755d300530f7b2390e687a9f8b"
      ],
      "author": {
        "name": "Mike Ma",
        "email": "yanmin@google.com",
        "time": "Tue Oct 31 12:30:42 2017 -0700"
      },
      "committer": {
        "name": "Mike Ma",
        "email": "yanmin@google.com",
        "time": "Wed Nov 01 14:20:31 2017 -0700"
      },
      "message": "Record proto to file in am instrument\n\nAdd an option -f to record instrumentdata proto produced by am instrument\nto a file in addition to printing to stdout. Default path is\n/sdcard/instrument-logs/log-yyyyMMdd-hhmmss-SSS.instrumentation_data_proto.\nIf the file exits, it will be deleted before writing. Path can be changed\nvia optional \u003cFILE\u003e argument after -f.\nIf -f and -m are both present, proto will be written to a file and print\nto stdout.\n\nTest: build, flash and run:\nbit -bi FrameworksCoreTests\nadb shell am instrument -w -r -f tmp/tmp.log \\\n-e class com.android.internal.os.BatteryStatsNoteTest \\\ncom.android.frameworks.coretests/android.support.test.runner.AndroidJUnitRunner\n\nChange-Id: Iabc320c066d5995eee842c26416623eeb3d403f4\n"
    },
    {
      "commit": "ca3872ce36c94090ae18519dc7fe0cf39d834c4a",
      "tree": "26361b8a308121902da16e035851489e11af38c9",
      "parents": [
        "362e983accb269b07a95ef563fe37ed325145035"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Oct 30 14:19:32 2017 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Oct 31 10:54:31 2017 -0700"
      },
      "message": "Fully implement \"install\" and \"install-write\" in PackageManagerShellCommand.\n\nWe can use the new mechanism to ask the calling shell to open\na file in order to implement the rest of these commands, allowing\nyou to give the path to an apk to install.  That API is thus\nextended to allow you to open readable files, not just opening\nfile for writing.\n\nDoing this however means we no longer can pass a file path to\nAssetManager for the apk to parse, we only have an already open\nfd for that.  Extending AssetManager to allow adding apks from\nfds is not that hard, however, since the underlying zip library\nalready supports this.\n\nThis main thing this changes is in AssetManager.cpp where we\nretrieve the open zip file for a particular apk that has been\nadded.  This used to look up the zip file by path every time\nit was needed, but that won\u0027t work anymore now that we can have\nthings added by fd.  Instead, we keep track of each opened zip\nin the AssetManager, so we can just directly retrieve it from\nthe asset_path representing the item that was added.  As a\nside-effect, this means for normal paths we no longer need to\nlook up by name, but just have the opened zip file directly\naccessible.  (This is probably good, but it does mean that we\nno longer run the logic of seeing if the zip file\u0027s timestamp\nhas changed and re-opening it if it has.  We probably shouldn\u0027t\nbe relying on that for an active AssetManager anyway, and maybe\nit is even good that we don\u0027t allow the zip file to change\nunder it?)\n\nA follow-up change will finally remove the Pm.java implementation\nand turn the pm \"command\" into a simple shell script that runs\ncmd package.\n\nTest: manual\n\nChange-Id: Ie103e3bdaa5b706796cc329254f2638151a3924f\n"
    },
    {
      "commit": "decc397b267ca0769a2232ebaee6580bb082e0d1",
      "tree": "4c53ec713713792d1f276cb0a04498ba44abbf9d",
      "parents": [
        "4f4d64659abc0db7c3f9dc5a9ae3f14e61c6776b",
        "9f004b17523494a0b123a0034742c47ff2880428"
      ],
      "author": {
        "name": "Chih-hung Hsieh",
        "email": "chh@google.com",
        "time": "Mon Oct 16 19:50:38 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Oct 16 19:50:38 2017 +0000"
      },
      "message": "Merge \"Use -Werror in frameworks/base\" am: 16fbd3a1d8 am: 0bfb717a37\nam: 9f004b1752\n\nChange-Id: I6517ee1689b0247caf830a6c3528bfa9bcf91f75\n"
    },
    {
      "commit": "c7edf078f92c7ce083f8c243a79f8aecdfff4ac1",
      "tree": "d7816094d61913df8ee8c17e60763ccd050c4631",
      "parents": [
        "26817938f6966928488e92de73359c3887006642"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Tue Oct 03 09:57:55 2017 -0700"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Fri Oct 13 16:25:16 2017 -0700"
      },
      "message": "Use -Werror in frameworks/base\n\n* Fix unused variable and return value warnings.\n\nBug: 66996870\nTest: build with WITH_TIDY\u003d1\nChange-Id: I890e65a20848d00559ba5a4f9691be1347b456af\n"
    },
    {
      "commit": "2e9ec5f0de4c69cd97640ae9de38da84f9352f21",
      "tree": "26c20cbe9f92844358e382c040e5c00edfd23f8e",
      "parents": [
        "ac2e9ba5308500fc358b270a4fa5e9178ab4db7e",
        "59225490b858294a737bbe62aed4850543bf4b10"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Sun Sep 10 02:05:05 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sun Sep 10 02:05:05 2017 +0000"
      },
      "message": "Merge changes I93cf24d4,I32e438ef am: 30798ad13a am: c28d591b36\nam: 59225490b8\n\nChange-Id: I6cf57e951900b3df816070feee0d3bf92a6a5a7d\n"
    },
    {
      "commit": "d3eac266b02399a8a822517e844c05585879221a",
      "tree": "9d6cefd142dd515c9e3ad946f6549f9727822c8e",
      "parents": [
        "1cb5ab2dc14fb35359525479a7c7356d84904ce1"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Fri Sep 08 22:47:47 2017 -0700"
      },
      "committer": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Sat Sep 09 06:18:48 2017 +0000"
      },
      "message": "Convert host tools to Android.bp\n\nSee build/soong/README.md for more information.\n\nTest: m libinstrumentation interrupter accessorychat accessorytest bit obbtool pbkdf2gen libsplit-select_tests split-select protoc-gen-javastream validatekeymaps libaapt_tests aapt\nTest: mmma frameworks/base\nTest: out/host/linux-x86/nativetest64/libaapt_tests/libaapt_tests\nTest: out/host/linux-x86/nativetest64/libsplit-select_tests/libsplit-select_tests\nChange-Id: I93cf24d4b232353a52d53be8ed85781b8f4a3877\n"
    },
    {
      "commit": "6fb2c9718cde124f10edfbf45893b5a0cd537e11",
      "tree": "474928936daf5857d1cc341861b1577c107a28ba",
      "parents": [
        "f6764fb7f7a26e202b1ebb861e095979b0f9560a"
      ],
      "author": {
        "name": "Makoto Onuki",
        "email": "omakoto@google.com",
        "time": "Wed Aug 02 14:40:12 2017 -0700"
      },
      "committer": {
        "name": "Makoto Onuki",
        "email": "omakoto@google.com",
        "time": "Wed Aug 02 14:49:30 2017 -0700"
      },
      "message": "Bit: Don\u0027t ignore errors and crashes\n\nBit used to only see success results and failures (\u003d\u003d assertion failures?),\nand didn\u0027t see \"errors\" (other exceptions) and test process crashes.\n\nFixed it.\n\nNow it also returns an error status code if there was a test failure.\n\nBug 64292779\nTest: manual\n\nChange-Id: Iaba93910d32abfc615ae595746a0e9be1108583a\n"
    },
    {
      "commit": "94e82d9b0e7ee2e657564e5904b556eeefc1d423",
      "tree": "0267d2af281ebde75aeb0d8cfd57139f73cca4be",
      "parents": [
        "95a3528866fcbb41c1ea2e5f7db7442f1101c66a"
      ],
      "author": {
        "name": "Andrii Kulian",
        "email": "akulian@google.com",
        "time": "Thu Jul 13 15:33:06 2017 -0700"
      },
      "committer": {
        "name": "Andrii Kulian",
        "email": "akulian@google.com",
        "time": "Fri Jul 21 13:14:19 2017 -0700"
      },
      "message": "DO NOT MERGE ActivityView be gone!\n\nThis hidden functionality is no longer support/needed since\nwe now have multi-window/display. A new view group class\nwill be added later that uses multi-window to support remaining\nfunctionality of this class.\n\nTest: go/wm-smoke\nChange-Id: Ie2fa2de92841d33199da9988741905060dd1ddf4\n"
    },
    {
      "commit": "f6d6e9ecd77bc55614c6bc31340fd5f1cb2a9afb",
      "tree": "c662a20708b0d3512cba5bcc8f6a7fbb5e683d72",
      "parents": [
        "7d2d194ec126edf882f34ad3cf0dc8f0e95d3a82"
      ],
      "author": {
        "name": "Makoto Onuki",
        "email": "omakoto@google.com",
        "time": "Wed Jun 28 12:10:47 2017 -0700"
      },
      "committer": {
        "name": "Makoto Onuki",
        "email": "omakoto@google.com",
        "time": "Wed Jun 28 20:23:46 2017 +0000"
      },
      "message": "Sort INSTRUMENTATION_STATUS keys on am instrument output\n\nPreviously the output from perftests was printed in a random order:\nINSTRUMENTATION_STATUS: timeGetDataCapacity_standardDeviation\u003d5\nINSTRUMENTATION_STATUS: timeGetDataCapacity_median\u003d486\nINSTRUMENTATION_STATUS: timeGetDataCapacity_mean\u003d489\nINSTRUMENTATION_STATUS: timeGetDataCapacity_min\u003d484\nINSTRUMENTATION_STATUS_CODE: -1\n\nNow it\u0027s always printed in the same (sorted) order.\nINSTRUMENTATION_STATUS: timeGetDataCapacity_mean\u003d489\nINSTRUMENTATION_STATUS: timeGetDataCapacity_median\u003d486\nINSTRUMENTATION_STATUS: timeGetDataCapacity_min\u003d484\nINSTRUMENTATION_STATUS: timeGetDataCapacity_standardDeviation\u003d5\nINSTRUMENTATION_STATUS_CODE: -1\n\nTest: manual test\nChange-Id: I807aa05e6523b70a132ab97fc099156bb3dc1f96\n"
    },
    {
      "commit": "e5b44043f75bab47955652b5bd98502ce2294f37",
      "tree": "e379e4546033dc41b4c422a70b9eadd161953968",
      "parents": [
        "c7ea7effde64c682ba8ddaca0fd9ac4354029e41"
      ],
      "author": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Tue Jun 13 07:15:46 2017 -0700"
      },
      "committer": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Wed Jun 14 18:55:19 2017 -0700"
      },
      "message": "Make --no-window-animation flag apply to animators, too\n\nThere is a flag for \u0027adb shell am instrument\u0027 that disables animations, which\nis useful for testing (if you want to, for example, disable animations to speed\nup tests or remove animation-caused side-effects as a factor). But only the\npre-honeycomb animations (window transitions and window animations) were listening\nto this flag. This change makes animators listen as well, so all three duration scale\nsettings are affected.\n\nBug: 32072407  --no_window_animation ADB arg should set all animation scales to 0.0f\nTest: manual. Ran frameworks APCT tests with --no_window_animation and verified\nthat all three types of animations had their duration scales set to 0 for the\nduration of the tests.\n\nChange-Id: I5ae4a60faa714c9534dfae58d1efcd54f577d82b\n"
    },
    {
      "commit": "dc589ac82b5fe2063f4cfd94c8ae26d43d5420a0",
      "tree": "9021de8b2f115316bfe52185ef0768946e981b45",
      "parents": [
        "8c053ae1f6ffd531fc2b6070094202b59efe3818"
      ],
      "author": {
        "name": "Sudheer Shanka",
        "email": "sudheersai@google.com",
        "time": "Thu Nov 10 15:30:17 2016 -0800"
      },
      "committer": {
        "name": "Sudheer Shanka",
        "email": "sudheersai@google.com",
        "time": "Mon Nov 14 11:27:12 2016 -0800"
      },
      "message": "Update usage of ActivityManagerNative.\n\n- Remove references to ActivityManagerProxy.\n- Add isSystemReady to ActivityManager.\n\nBug: 30977067\nTest: cts/hostsidetests/services/activityandwindowmanager/util/run-test android.server.cts\n      adb shell am instrument -e class com.android.server.am.ActivityManagerTest,com.android.server.am.TaskStackChangedListenerTest \\\n          -w com.android.frameworks.servicestests/android.support.test.runner.AndroidJUnitRunner\nChange-Id: I07390b6124fb1515821f5c0b37baf6ae74adc8fa\n"
    },
    {
      "commit": "2882406de31bd2a60e523253d8794e14af236975",
      "tree": "23512e2cc27c4b11d4bdd5c499cd5ac52e8f48ae",
      "parents": [
        "5d36bb6cc673128cfba0740b785308146c535a52"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Oct 18 13:19:20 2016 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Nov 01 11:00:41 2016 -0700"
      },
      "message": "Switch am command to go through \"cmd activity\".\n\nFor almost everything...  except instrument, which still needs\nto be run as the shell user so its UiAutomator callbacks\nwill work correctly (and not create security holes).\n\nTest: manual\n\nChange-Id: I2e62714a2d5b52501aa261b7e4d6b282b54a0027\n"
    },
    {
      "commit": "f0c719821dfdd32e37c4de6b4d640cefcda7b32a",
      "tree": "cf3a1feda08401c1c47d83ce10b4e79ece78ac58",
      "parents": [
        "3a5eb297205b4c468d35912e3df5cdf014f6e188"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Thu Oct 20 11:27:16 2016 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Thu Oct 20 11:57:57 2016 -0700"
      },
      "message": "am instrument gets protobuf\n\nRefactor the am instrument command and add a version that\noutputs protobuf in addition to the old one that prints\nloosely formatted text.\n\nChange-Id: I34079d8af2b7b6c6c59837d54719806109ba286c\nTest: bit tool\n"
    },
    {
      "commit": "665378081b76b29ce905688228a91c6005f0dbaa",
      "tree": "d1e8922f4965573adcd982999932897a1bee0222",
      "parents": [
        "f98887d0a46a58c0946b9c15a05c47bfa24e33bd"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Oct 13 11:11:59 2016 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Oct 13 14:11:54 2016 -0700"
      },
      "message": "Work around issue #32096507: \u0027am send broadcast\u0027 fails the second...\n\n...time it\u0027s called from dumpstate\n\nBring back the shell-side implementation of this, until we can\nfigure out why the raw shell command transaction is failing.\n\nTest: bugreport works\n\nChange-Id: Ia9422a653feffb0236613d43e022458c101b9583\n"
    },
    {
      "commit": "331084dca66ec2dc0b32f689c7a5c5252e0c7d3f",
      "tree": "0e8a5b71f2d683c9effe7f3f80a72170d6458765",
      "parents": [
        "9cf75061b143196c97c31726655c7e5c4ada8814"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Oct 07 17:57:00 2016 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Oct 10 16:58:12 2016 -0700"
      },
      "message": "Move the remaining am commands to ActivityManagerShellCommand.\n\nThe only thing not removed is the \"instrument\" command, which\nreally needs to run Java code in the shell.  We\u0027ll deal with\nthat later.\n\nTest: manual\nChange-Id: I9df0cdf831ac280cb0eb85c857d27166bc00604d\n"
    },
    {
      "commit": "354736e196ff79962b3ddb52619a674044d773e2",
      "tree": "3a70250f8ba7f69f1961491c55e4b5b48ebe99ef",
      "parents": [
        "015deed8104aae1f306394cdf66088592995f0da"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Aug 22 17:00:05 2016 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Sep 29 10:58:44 2016 -0700"
      },
      "message": "New infrastructure to switch remaining commands to \"cmd\" calls.\n\nThis introduces a new feature of the IBinder command protocol\nto allow the shell command implementation to call back into\nits caller to ask it to open files in the calling context.  This\nis needed so that commands that have arguments specifying files\ncan open those files as the calling shell, not the system (or\nwhatever) process.\n\nTo test this all out, move the \"am start\" implementation over\nto ActivityManagerShellCommand, in particular along with its\noption to specify a file in which to write profiling data.\n\nTest: Manual\n\nChange-Id: I0c1e3857defefbd19a2ac29413aafbb34b1e48a3\n"
    },
    {
      "commit": "d31f3467d947549e29abb87837cf6fd1c1f58dc3",
      "tree": "5f9562abc4be02270cdc3ee4ec09b127d55f2f9c",
      "parents": [
        "4d44f2da95f4f0abb6965b6abf70b629d3c42b69"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri Sep 23 09:28:41 2016 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri Sep 23 13:00:01 2016 -0700"
      },
      "message": "Add error messages to send-trim-memory\n\nFixes: 23006305\nTest: manual, adb shell am send-trim-memory\nChange-Id: Iae5607ea9abf0ffa5b5276a6540afb0dc6aa31f5\n"
    },
    {
      "commit": "2fde939272dbb99cb3a3e4fcaaa73658b42c3963",
      "tree": "0b9c647e9110f406826840f971253876b61caa8e",
      "parents": [
        "2cd8281a236a9c58bfdb22ce1e2e37303fdcd987"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Tue Jun 28 17:35:18 2016 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Tue Jun 28 18:08:13 2016 -0700"
      },
      "message": "Fix off-by-one in am start -R (repeat)\n\nbug: 26028552\nChange-Id: I075b378b6f126d124d867282d76a78d865b54178\n"
    },
    {
      "commit": "27d92e4e397728d56f4f951dd4ce99668c7c447b",
      "tree": "642d4a43d064e6aa1680ca12a222f1328a170786",
      "parents": [
        "f970410afef518003c84eef022194848b2a4f606"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Fri May 06 11:25:11 2016 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Fri May 06 11:25:11 2016 -0700"
      },
      "message": "Move the \u0027pretend idle jobs can run now\u0027 broadcast into AMS\n\nIt\u0027s a protected broadcast, so sending it directly from \u0027am\u0027 is\nno longer an option.  This is needed for CTS as well as being\ngenerally useful during app development.\n\nBug 28406044\n\nChange-Id: I101915a8c6f19454330a8db2079a75023c112582\n"
    },
    {
      "commit": "435ce5ff1ca368056675e06f3f2416240613fbdd",
      "tree": "79277a36558ab32c074336a245ddf73db93f39d8",
      "parents": [
        "d6a39495881ee89c9217ab0764b948b6eb773aea"
      ],
      "author": {
        "name": "Andrii Kulian",
        "email": "akulian@google.com",
        "time": "Tue Apr 26 00:00:01 2016 -0700"
      },
      "committer": {
        "name": "Andrii Kulian",
        "email": "akulian@google.com",
        "time": "Tue Apr 26 00:00:01 2016 -0700"
      },
      "message": "Allow setting fullscreen stack as target via adb shell\n\nBug: 27906038\nChange-Id: Ie6feede3f7c412bc51550626a008cb0729e5e0e0\n"
    },
    {
      "commit": "a09b4d2a611a7606e8fc8c73a24bd941b6fc173f",
      "tree": "01aea7a04f295a771c0145c5f78b7bcb66f194fe",
      "parents": [
        "988a20a94b71c7a8fdffcfbfe0b0ee0dd58854cb"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Fri Apr 15 18:32:45 2016 +0100"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Mon Apr 18 09:55:59 2016 +0100"
      },
      "message": "Remove unnecessary allocation+unboxing of objects.\n\nTransforming String-\u003eint can be done with 0 allocations\nusing Integer.parseInt.\n\nbug: 28078871\nChange-Id: I8d9f322d7154728849dde61ef282046032858d60\n"
    },
    {
      "commit": "01ee1b7eb6debec3d422bc798df3bc180dc979ae",
      "tree": "26a3e0d0c86c9d0db4c6cff7d8f2a14804fad909",
      "parents": [
        "ebdb34d67aead66e5388c8cb501eb34668d7cec3"
      ],
      "author": {
        "name": "Philip P. Moltmann",
        "email": "moltmann@google.com",
        "time": "Mon Apr 04 15:55:01 2016 -0700"
      },
      "committer": {
        "name": "Philip P. Moltmann",
        "email": "moltmann@google.com",
        "time": "Mon Apr 04 16:37:37 2016 -0700"
      },
      "message": "Allow to provide only a component name prefix to \u0027am instrument\u0027\n\nBug: 27831862\nChange-Id: I1d57e416c47fc7d9ea212f0002986932663081b8\n"
    },
    {
      "commit": "bd91e2f3f6aca512a02be645b2515b5e3331e177",
      "tree": "490fcef8a5acef7571dc72e3707abbf9c43abd35",
      "parents": [
        "40e1135ea2780fefecf532fb7a1cc43e26bcecc2"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Mar 22 15:32:31 2016 -0600"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Sun Mar 27 10:56:48 2016 -0600"
      },
      "message": "Update PRE_BOOT_COMPLETED for FBE.\n\nNow that CE data isn\u0027t available until after a user is unlocked, we\nneed to delay the PRE_BOOT_COMPLETED broadcasts.  This is done by\nadding a new RUNNING_UNLOCKING user state to the UserController\nlifecycle.\n\nWe now track the last fingerprint a user was logged in under, and we\ndispatch PRE_BOOT receivers when that fingerprint changes.  To work\naround battery pull issues, we only persist the updated fingerprint\nonce all PRE_BOOT receivers have finished.  This is less granular\nthan the original solution, but it\u0027s still correct.  We only consider\na user as \"logged in\" once it transitions into the RUNNING_UNLOCKED\nstate.\n\nWhen starting a process, track if the user was \"unlocked\" when\nstarted, so that we only spin up unaware providers in processes\nstarted before user unlock.\n\nAdd generic IProgressListener to communicate PRE_BOOT progress and\nstrings up to lock screen.  For now, LockSettingsService just blocks\nuntil finished, but it could display these strings in the future.\n\nBug: 27220885\nChange-Id: I349439776b885acd32f6a578d8951ffd95640be2\n"
    },
    {
      "commit": "e75a9adfbd37f9ec1a9324caceb9d5d7ceed217c",
      "tree": "78aa90df1dc5f8797d759360733ec712f72437dc",
      "parents": [
        "2c83702aa218cbcc51d8726575c78691fc57a53b"
      ],
      "author": {
        "name": "Wale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Fri Mar 18 20:43:49 2016 -0700"
      },
      "committer": {
        "name": "Wale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Mon Mar 21 11:17:19 2016 -0700"
      },
      "message": "Added support to specify animation duration when resizing stack\n\nNeeded for sys-ui to control the duration of various Pip transitions.\n\nBug: 27674339\nChange-Id: I7bad27aaa19755a73c594e88b88b56db033e1a45\n"
    },
    {
      "commit": "d5896630f6a2f21da107031cab216dc93bdcd851",
      "tree": "4a0ea7c754d929a7e00cb521db9d83557f0683fd",
      "parents": [
        "effcd935940e4d3c2acb2a2a8bc22d5bf6f9cc64"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri Mar 04 16:16:00 2016 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri Mar 04 16:31:34 2016 -0700"
      },
      "message": "Move more PM calls to ParceledListSlice.\n\nSince the data returned by these calls can grow unbounded based on\nvarious GET flags, we need to switch \u0027em over.\n\nBug: 27391893\nChange-Id: Ie849ca30dbaaa91158da4c83675657715629a0ee\n"
    },
    {
      "commit": "bb8b4814df6123b9a411ff7224a35761def9ece7",
      "tree": "87970320a545cd6e884a394f3759ef8b467fa4a1",
      "parents": [
        "2e54da0d4af2decb2f9a9bd007132ae401e4b11d"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Thu Mar 03 15:20:39 2016 -0800"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Thu Mar 03 15:24:29 2016 -0800"
      },
      "message": "Am.java: Use write-only file descriptors\n\nUse write only file descriptors for am commands. Having read-write\nfile descriptors isn\u0027t needed, and not all SELinux app domains have\nread access to /data/local/tmp file descriptors.\n\nAddresses the following denial:\n\n  avc: denied { read } for path\u003d\"/data/local/tmp/foo\" dev\u003d\"dm-2\"\n  ino\u003d654084 scontext\u003du:r:system_app:s0\n  tcontext\u003du:object_r:shell_data_file:s0 tclass\u003dfile permissive\u003d0\n\nSteps to reproduce:\n\n  adb shell ps | grep settings\n  adb shell am dumpheap PID_FROM_ABOVE /data/local/tmp/settings.hat\n\nExpected:\n1) command works\n\nActual:\n1) SELinux denial and no settings.hat output.\n\nBug: 27472701\nChange-Id: Id8df0c5a41046b405444e14c70075c986d9936c3\n"
    },
    {
      "commit": "4a18c26609df2c4230885acb64e92fb51aba70df",
      "tree": "b9f05aa7e6979f02a34d9ac335d06eae31358495",
      "parents": [
        "1db8850b793109da0fc4a65ec837b1a329072b07"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Feb 26 17:23:48 2016 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Feb 29 12:37:11 2016 -0800"
      },
      "message": "Fix issue #27385109: control activity behavior without triggering...\n\n...isUserAMonkey for testing purpose\n\nAdd an argument for the caller to specify if they are a poo flinging\nmonkey.\n\nChange-Id: I0e149a8d78776abaf07517bd4ae886047b7f4252\n"
    },
    {
      "commit": "06e8ee0c8ad2527add3db3dd1a1d4eee9d8631f8",
      "tree": "05b9a9a33e9104a956d4f29a31aa7c6de8c89673",
      "parents": [
        "5658e4b94de91e938459e50d0f5e6ef837ffb4ac"
      ],
      "author": {
        "name": "Wale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Fri Feb 12 12:56:32 2016 -0800"
      },
      "committer": {
        "name": "Wale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Tue Feb 16 10:09:51 2016 -0800"
      },
      "message": "Added AM API to remove a stack\n\nUse the new API when closing Pip.\n\nBug: 26982752\nChange-Id: I074d23b5535a4534626183ab77142d3932a803f0\n"
    },
    {
      "commit": "faeb3eb0ba190e6d6cfe2b82ce20af587848de57",
      "tree": "eb611cc0e57ef8467dfd575dc6a0d274f98d7277",
      "parents": [
        "e64f3da729ae6a00fb627f00b8a97e7c5feb8bcb"
      ],
      "author": {
        "name": "Paul Crowley",
        "email": "paulcrowley@google.com",
        "time": "Mon Feb 08 15:58:29 2016 +0000"
      },
      "committer": {
        "name": "Paul Crowley",
        "email": "paulcrowley@google.com",
        "time": "Mon Feb 08 15:58:29 2016 +0000"
      },
      "message": "Password security for FBE disk encryption keys\n\nAdd the means to protect FBE keys with a combination of an auth token\nfrom Gatekeeper, and a hash of the password. Both of these must be\npassed to unlock_user_key. Keys are created unprotected, and\nchange_user_key changes the way they are protected.\n\nBug: 22950892\nChange-Id: Ie13bc6f82059ce941b0e664a5b60355e52b45f30\n"
    },
    {
      "commit": "25222f55f28221d49a984db465f94e9716635ad8",
      "tree": "12268434345bcf1ddd8da55fd0d68f9de689cedc",
      "parents": [
        "dccc4a834da7e845bdfa5aadf1d2122cb71df28e",
        "df6cb282937e5f804686ebbc952ae9f2290d93c7"
      ],
      "author": {
        "name": "Tamas Berghammer",
        "email": "tberghammer@google.com",
        "time": "Sat Feb 06 13:18:58 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Feb 06 13:18:58 2016 +0000"
      },
      "message": "Merge \"Add flag to \"am start\" to enable native debugging\""
    },
    {
      "commit": "c17d8b79afd02133b021d89b536c812578308329",
      "tree": "42a6752998fda312170eb6717c653595e60b0777",
      "parents": [
        "3bc8dd8eddc103a32a66a9cf3aa411f1f0615f2d"
      ],
      "author": {
        "name": "Filip Gruszczynski",
        "email": "gruszczy@google.com",
        "time": "Wed Feb 03 16:52:59 2016 -0800"
      },
      "committer": {
        "name": "Filip Gruszczynski",
        "email": "gruszczy@google.com",
        "time": "Thu Feb 04 09:01:05 2016 -0800"
      },
      "message": "Infrastructure for animating of maximizing pip activity.\n\nBug: 25672053\nChange-Id: Ie8a83c626680e01ff7115f40731ab9e6c13769c0\n"
    },
    {
      "commit": "debd9a5ed57dce70b77fdee107b870d1a037c8c9",
      "tree": "b747adde04351318d6a26846bfa7ea8a740ca7a5",
      "parents": [
        "56190d5e4b9d940ee64fccd75f3759e68bee15a7"
      ],
      "author": {
        "name": "Filip Gruszczynski",
        "email": "gruszczy@google.com",
        "time": "Tue Feb 02 15:07:15 2016 -0800"
      },
      "committer": {
        "name": "Filip Gruszczynski",
        "email": "gruszczy@google.com",
        "time": "Tue Feb 02 16:27:18 2016 -0800"
      },
      "message": "Allow specifying stack when starting activity in AM command.\n\nChange-Id: I42032bdebf16b6cd2c0c87fd9aa5c261bc9fe25d\n"
    },
    {
      "commit": "df6cb282937e5f804686ebbc952ae9f2290d93c7",
      "tree": "04617ce89d2846295ae33a020a8f5180992ff1a3",
      "parents": [
        "b61437de5f31d61698eec47221ca5fba1f76c61f"
      ],
      "author": {
        "name": "Tamas Berghammer",
        "email": "tberghammer@google.com",
        "time": "Fri Jan 29 12:07:00 2016 +0000"
      },
      "committer": {
        "name": "Tamas Berghammer",
        "email": "tberghammer@google.com",
        "time": "Mon Feb 01 13:49:32 2016 +0000"
      },
      "message": "Add flag to \"am start\" to enable native debugging\n\nSpecifying the new flag will enable several features in the runtime\nrequired by the native debugger to debug Java and C++ code at the same\ntime.\n\nThe enabled features:\n* Force JIT (never use the interpreter)\n* Debug info generation\n* Disbale some optimizations\n\nChange-Id: Iaf5ab649715a0c274bd1b0fc64e483705da53cd0\n"
    },
    {
      "commit": "b1faf60b896afe235175354ffd90290ff93a54b4",
      "tree": "cc016283d3a1355784e79fa710a2c6ae8b64cfbd",
      "parents": [
        "8ab1a37b767113357e77787d5fe2ba423d16ae3a"
      ],
      "author": {
        "name": "Wale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Wed Jan 27 09:12:31 2016 -0800"
      },
      "committer": {
        "name": "Wale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Fri Jan 29 07:44:33 2016 -0800"
      },
      "message": "Use resizeMode integer instead of resizeable boolean.\n\nChanges activity manager and window manager to use resizeMode\nas defined by ActivityInfo#resizeMode instead of a boolean.\n\nBug: 26774816\nChange-Id: I8cef46d9fba6bfdd21df7da63ed5d5330ad03d4b\n"
    },
    {
      "commit": "84fa3351a21b37d02fafd634a8de65cf6cd04c4d",
      "tree": "16cffa00cd4166998dbed47ac66a8a65d0b3b93f",
      "parents": [
        "e97bce53df66ae4d3084d8f530f20a95ceac044a"
      ],
      "author": {
        "name": "Filip Gruszczynski",
        "email": "gruszczy@google.com",
        "time": "Mon Jan 25 16:28:49 2016 -0800"
      },
      "committer": {
        "name": "Filip Gruszczynski",
        "email": "gruszczy@google.com",
        "time": "Thu Jan 28 08:47:54 2016 -0800"
      },
      "message": "Animate pinned stack resizing.\n\nThis introduces animating of stack bounds within window manager\nmodule. It also uses this type of animation when moving an activity from\nfullscreen stack to pinned stack.\n\nBug: 25672053\nChange-Id: I75914a685d10021f8a7535b47ef12b6920b3fd5e\n"
    },
    {
      "commit": "3da5c97460d859ec6d9e5fffb3902a3242d32bf4",
      "tree": "8d5d252c69471913ab40a01f01c086a370e848af",
      "parents": [
        "2e8bafc38bd514668eddc223420fd879fb4b37f5"
      ],
      "author": {
        "name": "Michal Karpinski",
        "email": "mkarpinski@google.com",
        "time": "Fri Dec 11 18:16:30 2015 +0000"
      },
      "committer": {
        "name": "Michal Karpinski",
        "email": "mkarpinski@google.com",
        "time": "Fri Jan 08 17:50:16 2016 +0000"
      },
      "message": "Adjusting AMN#requestBugReport() to be able to invoke 3 types\nof bugreport services\n\nActivityManagerNative#requestBugReport() now can accept 3 types:\nFULL, INTERACTIVE AND REMOTE.\n\nBug: 26152603\nChange-Id: Ife9bbef4691e172fb56b72b256880f0d4ad4d198\n"
    },
    {
      "commit": "52641bc309ed1a4e767692586b3fb8e3f3031fb0",
      "tree": "b09535ebedd66674d1dae9e93a22be550a69ae39",
      "parents": [
        "6f2efd3d8c114f9a4b472ef699bbd844323cd82c"
      ],
      "author": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Tue Dec 29 14:28:32 2015 +0100"
      },
      "committer": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Tue Jan 05 13:50:10 2016 +0100"
      },
      "message": "Add am command for CTS tests for resizedDockedStack (1/2)\n\nBug: 25015474\nBug: 26311778\nChange-Id: Ia2b1f8ffc5c777d8199409041090a0106503c2e4\n"
    },
    {
      "commit": "4cc863338d5e43b6189e05498d7cb53ebba135e1",
      "tree": "d2c9b0f66667595cd21d8b212546e846756bf2b2",
      "parents": [
        "471c1adf0867181c8f71a364606724ece7d4c56e"
      ],
      "author": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Fri Dec 04 16:37:28 2015 -0800"
      },
      "committer": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Sat Dec 05 10:30:18 2015 -0800"
      },
      "message": "Changed ActivityManager.requestBugreport() to take a \u0027progress\u0027 parameter.\n\nWhen progress is set to \u0027true\u0027, it calls the new, enhanced\n\u0027bugreportplus\u0027 service, while when \u0027false\u0027 it calls the regular\n\u0027bugreport\u0027 service.\n\n\u0027bugreportplus\u0027 is more user-friendly (it shows a system notification\nwith the progress, allow user to cancel, etc...), at the cost of\nconsuming more resources. As such, the \"Take Bug Report\" UI will be\nchanged to offer the user a combo with these 2 options, but for now it\u0027s\nalways going to be \u0027bugreportplus\u0027\n\nBUG: 26034608\nChange-Id: I21a6b5b092a85614e91d523b8f4df1fb00e49b3b\n"
    },
    {
      "commit": "9cbfc9e212151e84910a22387365644916dde446",
      "tree": "6547aa07a379650aeb737548cc1f94e4c68a5fde",
      "parents": [
        "6449a9567ac204e0c9be71a7f983a753d8061220"
      ],
      "author": {
        "name": "Fyodor Kupolov",
        "email": "fkupolov@google.com",
        "time": "Wed Oct 07 15:52:33 2015 -0700"
      },
      "committer": {
        "name": "Fyodor Kupolov",
        "email": "fkupolov@google.com",
        "time": "Wed Dec 02 10:22:23 2015 -0800"
      },
      "message": "Added DISALLOW_RUN_IN_BACKGROUND user restriction\n\nIt forces the user to stop instead of going into the background. Also\nchanged behavior of stopUser method. Now it also attempts to stop related\nusers along with the specified userId.\n\nBased on ag/807976, with the only difference that it\u0027s now a user restriction.\n\nBug: 24579258\nBug: 24708668\nChange-Id: I357298908816fc58feeed83b7e9979fc33d25da6\n"
    },
    {
      "commit": "ba51235ef5c598d845b77fcf14491329493da34f",
      "tree": "7e628f0d1b7af2d10e4e2113cba5ac1e5f59c6a7",
      "parents": [
        "c38a5d7da10102b0664749f5720b6c50631e133d"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Nov 12 20:17:45 2015 -0800"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Nov 19 11:02:30 2015 -0700"
      },
      "message": "More file-based encryption work.\n\nAdd new \"am unlock-user\" command so we can trigger changes from the\ncommand line.\n\nMove FBE check to static method so it can safely be called early\nduring boot before the mount service is ready.  Move FBE emulation\nto persisted system property, and start reading/writing that value.\n\nChange default permission grants to ignore current encryption-aware\nflags, since many of the target apps aren\u0027t crypto aware.\n\nAlways prepare package data directories, which is how we create the\nnew \"user_de\" paths during boot.\n\nBug: 22358539\nChange-Id: I6f58ea2d34b3a466d3775d614f8a13de92272621\n"
    },
    {
      "commit": "3cdb56efea044112bfe1b97b3ed78ee05e0dba46",
      "tree": "7ce08b219efec3083b9d7399ac5e795c06068724",
      "parents": [
        "609b5b8c8e22ab0ea1caca1fed42cdf891c853c6"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Nov 11 12:45:44 2015 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Nov 11 12:45:44 2015 -0800"
      },
      "message": "Some debugging improvements.\n\n- Fix dumping of package manager intent filters so the option\n  to print the filter detail works again.\n- Extend dump resolvers to allow you to specify the specific\n  types of resolvers you\u0027d like to dump.\n- Add new package manager commands for querying activities,\n  services, receivers.\n- Move the code for parsing a command line into an intent to\n  the framework, so it can be used by the new package manager\n  commands and later elsewhere.\n\nChange-Id: I56ea2bb8c3dd0e5198ee333be8f41ad9dcdb626f\n"
    },
    {
      "commit": "3797c22ea16e932329ebffdc7e7ce09f9ecd9545",
      "tree": "a5a4b09cb4c6dc8d8d4cc6e624ffb200856eab95",
      "parents": [
        "c11f46f41662feebbbd2184aaef25c14add45e7d"
      ],
      "author": {
        "name": "Wale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Tue Oct 27 14:21:58 2015 -0700"
      },
      "committer": {
        "name": "Wale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Mon Nov 02 11:32:42 2015 -0800"
      },
      "message": "Added StackId object for checking what features a stack supports\n\nHelps make the code easier to follow since we are no longer checking\nmultiple stack ids at various decision points.\n\nBug: 25282299\nChange-Id: Ifa6864a1ef56ce2eca4c94f87a4e0b993de987cd\n"
    },
    {
      "commit": "079a0044a366b5a6ab8026aca452676a6e1e7215",
      "tree": "a4a7f0b9b5f97249970b877ecce6996f65ecdccd",
      "parents": [
        "99db1863a84364339fc5dc9142f15910cdd96ed8"
      ],
      "author": {
        "name": "Wale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Sat Oct 24 11:44:07 2015 -0700"
      },
      "committer": {
        "name": "Wale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Mon Oct 26 12:07:00 2015 -0700"
      },
      "message": "API for moving top activity in a stack to pinned stack.\n\n* AMS.moveTopStackActivityToPinnedStack can be used to move the top\nactivity in a stack to the pinned stack and also specify the bounds\nthe pinned stack should be sized to.\n* \u0027am stack move-top-activity-to-pinned-stack\u0027 command for testing\nAMS.moveTopStackActivityToPinnedStack API\n\nBug: 25006507\nChange-Id: I8392b4c39d8542153e691be7a627b7f35fd44884\n"
    },
    {
      "commit": "63afb863815a80b05c6f1acd6b0e99a3508540f4",
      "tree": "c0a58708a8a12eea7356a6f7ee0c0d65e0302fd1",
      "parents": [
        "c76b65e723b661f942248b273e6492268a8e93e6",
        "a4d4e82927ceadc23863e74b7e1160e4497504a7"
      ],
      "author": {
        "name": "Pablo Ceballos",
        "email": "pceballos@google.com",
        "time": "Mon Oct 19 17:55:59 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Oct 19 17:55:59 2015 +0000"
      },
      "message": "Merge \"Remove GLTrace support\""
    },
    {
      "commit": "ffc11bb712343b634901fe2d0e0022e7e578dd5c",
      "tree": "45abb190daac4af889d97439c152e4756e0dd090",
      "parents": [
        "75f1e1182889dabcf5596e7c17df5005edee412c"
      ],
      "author": {
        "name": "Wale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Sat Oct 10 13:05:45 2015 -0700"
      },
      "committer": {
        "name": "Wale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Mon Oct 12 18:56:28 2015 -0700"
      },
      "message": "Don\u0027t set incorrect stack bounds when rotating screen in docked mode\n\nBoth window manager and activity manager could decide what the bounds\nof other stacks should be when the docked stack exist which can get\nout of sync. Now window manager does the bounds calculation and\nactivity manager asks window manager what the bounds should be when\nit needs to resize the stack.\n\nBug: 24738105\nChange-Id: I97356f008b676d2f58a8b54fdb08735ab51394af\n"
    },
    {
      "commit": "a4d4e82927ceadc23863e74b7e1160e4497504a7",
      "tree": "b2f514a16067fcd10cd3d81d9d7e2005265033f8",
      "parents": [
        "374abe11a07fe6c742a370da8445c250d908ef6f"
      ],
      "author": {
        "name": "Pablo Ceballos",
        "email": "pceballos@google.com",
        "time": "Mon Oct 05 10:27:52 2015 -0700"
      },
      "committer": {
        "name": "Pablo Ceballos",
        "email": "pceballos@google.com",
        "time": "Tue Oct 06 15:18:40 2015 -0700"
      },
      "message": "Remove GLTrace support\n\nGLTrace is defunct, it does not support newer GL features, breaks\nsecurity requirements, and has no supported tooling now that Eclipse\nis at end of life.\n\nBug 22329852\n\nChange-Id: I64c58464f8c2c7ae6125f5d5c7884e3fd34d68ea\n"
    },
    {
      "commit": "0df68cd13b8121aa4e582d8fb59c7589079d6ff9",
      "tree": "a56500f88c69a9448481b0cbf8ae3fa112eebeec",
      "parents": [
        "e81b323af1cea0cbba80171968c27f6023ffc7e0"
      ],
      "author": {
        "name": "Fyodor Kupolov",
        "email": "fkupolov@google.com",
        "time": "Thu Oct 01 13:54:22 2015 -0700"
      },
      "committer": {
        "name": "Fyodor Kupolov",
        "email": "fkupolov@google.com",
        "time": "Fri Oct 02 12:19:39 2015 -0700"
      },
      "message": "Do now allow current user to be removed\n\nIt was possible to remove a foreground user using pm remove-user command.\nThe system ends up in the inconsistent state, because switch does not happen\nand the removed user stays in the foreground, but its state is removed.\n\nAlso added am get-current-user command.\n\nChange-Id: Ida2dce8f99bac55e106cdd44c93e96cc9142d7fb\n"
    },
    {
      "commit": "83301a933ff28eed978b16b54bc569fbe76ef499",
      "tree": "a2e38dbaf1534543225b058bc5d6d64cb900e858",
      "parents": [
        "6e3cc291ea698d63f9eced987c0697b1745c6da8"
      ],
      "author": {
        "name": "Wale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Thu Sep 24 15:54:08 2015 -0700"
      },
      "committer": {
        "name": "Wale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Thu Sep 24 15:54:08 2015 -0700"
      },
      "message": "Added am command to suppress config. changes during task resize.\n\nThis command is useful for testing during development, but at some\npoint we will decide if allowing configuration changes during resizing\nis okay or merge in http://ag/759766 to suppress configuration changes\nduring resizing and deliver the new config. to the app.\n\nThis functionality will be reverted once we decide.\n\nBug: 24380097\nChange-Id: I223c08bc939e564a78e70994b599770be9d4730d\n"
    },
    {
      "commit": "87b21722c2336490ecf8b66f6acfc46ce8cc6f46",
      "tree": "68fda659c27e36c4946b8930af67b9d7633f32e1",
      "parents": [
        "9e6b09121364ad507e02639d42dff970bf8eeeb6"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Mon Sep 21 15:39:51 2015 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Tue Sep 22 00:46:02 2015 +0000"
      },
      "message": "Change resizeTask\u0027s parameter resizedByUser to constants\n\nto indicate who initiated the resize, or if the resize should be forced.\n\nChange-Id: Ic7021f76bec677027cbf27deeb63f92ea911a75c\n"
    },
    {
      "commit": "a59ac9cd645d25f03e4e488100bd99f92e83a3a7",
      "tree": "d50121936732488a7ce93f9a9bc13d54865c627c",
      "parents": [
        "ca9f413b701e38929345a71515a2da2338f4a8dc"
      ],
      "author": {
        "name": "Filip Gruszczynski",
        "email": "gruszczy@google.com",
        "time": "Thu Sep 10 18:28:48 2015 -0700"
      },
      "committer": {
        "name": "Filip Gruszczynski",
        "email": "gruszczy@google.com",
        "time": "Mon Sep 14 15:59:32 2015 -0700"
      },
      "message": "Preserve window during resize triggered relaunches.\n\nThis changes application code behavior when the activity relaunches due\nto configuration change. It only applies to scenarios, where the\nconfiguration change was triggered by a user generated resize of an\nactivity (i.e. user drags a corner of an activity and thus changes its\nsize).\n\nPreserving a window means that we will keep the decor view and non\nclient decor view around, but remove all children views when the\nactivity gets destroyed. When the activity gets created again, it will\nattach its new content to the preserved view hierarchy. Mind, we\nactually recreate application side Window object, since some of its\nfeatures might changed, but we retain its elevation (to not trigger\nrelayout with new layout params).\n\nPreserving the window also means that we don\u0027t call the window manager\nservice to remove and later add the window. Instead, we continue using a\nsingle window state throughout the resize operation.\n\nChange-Id: Ie3d2878ed09c99ff343044bfe7a29a0ba07a265e\n"
    },
    {
      "commit": "fc4662c185822b493f6655af0ace2f2a50573a5f",
      "tree": "62dcabeace03e9c9d47368c66ff6303d18619f6f",
      "parents": [
        "b34a7ad1af54132b6b046ab8f768e0ffb81cf581"
      ],
      "author": {
        "name": "Wale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Sat Aug 15 21:10:14 2015 -0700"
      },
      "committer": {
        "name": "Wale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Tue Aug 18 11:31:21 2015 -0700"
      },
      "message": "Added am command for test docked stack resizing.\n\nChange-Id: I79f88d4dea4ed87336f9859b9d655cbf5466dbe0\n"
    },
    {
      "commit": "fc0ac9bdcb2736bddac1695d780eb8ce14a627a8",
      "tree": "3f380d914e47117708351a8c748982042b50d4a8",
      "parents": [
        "c335606651c6e7ed2b0a193a007dcc40a788c6fc"
      ],
      "author": {
        "name": "Wale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Fri Aug 07 15:23:58 2015 -0700"
      },
      "committer": {
        "name": "Wale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Fri Aug 14 15:47:53 2015 -0700"
      },
      "message": "Added am commands for testing task positioning/resizing\n\nChange-Id: Id506ea740029fd6faee4fc311a97c034c883a3fc\n"
    },
    {
      "commit": "2ccf49e7f465dc0fb2b78c28cf7a38f7e4bbe140",
      "tree": "bdadcc2003064a8182930a9d4ec36e09b9df8617",
      "parents": [
        "38b452073575c98d0adc673291ba67bb6787dffb"
      ],
      "author": {
        "name": "Xiaohui Chen",
        "email": "xiaohuic@google.com",
        "time": "Tue Aug 04 14:27:03 2015 -0700"
      },
      "committer": {
        "name": "Xiaohui Chen",
        "email": "xiaohuic@google.com",
        "time": "Tue Aug 04 15:28:29 2015 -0700"
      },
      "message": "Clean up USER_OWNER references in am/pm commands.\n\nBug: 19913735\nChange-Id: I9cd27dc037048f4e5e312c769fc59669a4abf3e3\n"
    },
    {
      "commit": "ddc1cb2c15549ed23dce9d416680a009fa6ae23c",
      "tree": "4be522e78d2c51070c0a41b27e6a917df5afada6",
      "parents": [
        "2617b5db9c081a2f39ed26047cbdc63acbd9ae81"
      ],
      "author": {
        "name": "Wale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Sat Jul 25 19:23:04 2015 -0700"
      },
      "committer": {
        "name": "Wale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Sat Aug 01 10:50:18 2015 -0700"
      },
      "message": "Added support for static vs. dynamic stacks\n\nNow that stacks represent workspaces we can define static\nstacks which help shape the characteristics of the tasks\nthey contain. For example, fullscreen tasks/activities will\nnormally be launched in the stack with id\nFULLSCREEN_WORKSPACE_STACK_ID, while freeform tasks/activities\nwill normally be launched in the stack with id\nFREEFORM_WORKSPACE_STACK_ID.\n\nAlso, added ability to position a task at any index in a stack.\n\nBug: 22068114\nChange-Id: Ib6c62a84b5f204fbf072755264c5c5eda6184f97\n"
    },
    {
      "commit": "66a36750135789aa952f2543842aa2481aa2da03",
      "tree": "eafd916eb2833cfb3b1e09fc4a4ff9ce1db6fdc4",
      "parents": [
        "d78a5c72067064f8bf3428a6e522a340ce342ac1",
        "0e5a5161e6999a58a86acd404ee1a229e180647d"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri Jul 24 05:16:55 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jul 24 05:16:55 2015 +0000"
      },
      "message": "am 0e5a5161: am d79117c4: am 9ba771bb: am c2db381e: am 6b66a4a8: use findProcess instead of getProcess\n\n* commit \u00270e5a5161e6999a58a86acd404ee1a229e180647d\u0027:\n  use findProcess instead of getProcess\n"
    },
    {
      "commit": "0e5a5161e6999a58a86acd404ee1a229e180647d",
      "tree": "73354dbb19678a5001b04105c20676143696e479",
      "parents": [
        "ba8435cbc13b9d107daaf04c72d45af405a27e7d",
        "d79117c405fab2c7a64d7307a941df05a713814d"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri Jul 24 04:07:12 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jul 24 04:07:12 2015 +0000"
      },
      "message": "am d79117c4: am 9ba771bb: am c2db381e: am 6b66a4a8: use findProcess instead of getProcess\n\n* commit \u0027d79117c405fab2c7a64d7307a941df05a713814d\u0027:\n  use findProcess instead of getProcess\n"
    },
    {
      "commit": "6b66a4a8a342b8156f73d83771caa1db2f866529",
      "tree": "471b52029a97935a8bbabc6f035911f54a765618",
      "parents": [
        "eea9892d9ec24a5a9c4911efec8fe28e3d1af968"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Jul 23 17:36:13 2015 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri Jul 24 00:37:23 2015 +0000"
      },
      "message": "use findProcess instead of getProcess\n\nBug: 22701182\nChange-Id: I2ec56c55c49401f2f213bbd318e867fd73b37672\n"
    },
    {
      "commit": "273639f7ad379cb35a53ed9266e14b0b49ef5bcc",
      "tree": "aa0ff091ff407eb3c9a23de6154df86e839ecf75",
      "parents": [
        "383749d97bc6c304bcfd136508e4e5003a10815c",
        "e6b1e0e1c22d57b8c3f70e780fdc672175780086"
      ],
      "author": {
        "name": "Kenny Guy",
        "email": "kennyguy@google.com",
        "time": "Thu Jul 23 22:07:18 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jul 23 22:07:18 2015 +0000"
      },
      "message": "am e6b1e0e1: am 72be5067: am af52ae07: am 2adcb40d: am 2ba3fec6: Merge \"Support waiting for adb shell am stop-user to complete.\" into mnc-dev\n\n* commit \u0027e6b1e0e1c22d57b8c3f70e780fdc672175780086\u0027:\n  Support waiting for adb shell am stop-user to complete.\n"
    },
    {
      "commit": "e6b1e0e1c22d57b8c3f70e780fdc672175780086",
      "tree": "c5fc071b9e12de1708cb79da4dc66d48ea0ce1cf",
      "parents": [
        "85ce138d5e7555df0aa95541f09f776c28fd3860",
        "72be506795c4b7260612458c183282b9c59717ef"
      ],
      "author": {
        "name": "Kenny Guy",
        "email": "kennyguy@google.com",
        "time": "Thu Jul 23 21:49:30 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jul 23 21:49:30 2015 +0000"
      },
      "message": "am 72be5067: am af52ae07: am 2adcb40d: am 2ba3fec6: Merge \"Support waiting for adb shell am stop-user to complete.\" into mnc-dev\n\n* commit \u002772be506795c4b7260612458c183282b9c59717ef\u0027:\n  Support waiting for adb shell am stop-user to complete.\n"
    },
    {
      "commit": "2c7836befce222e501299520bb2b15a63e5a7503",
      "tree": "5d684306928021682ab2a9a323052afca768a165",
      "parents": [
        "b2eed1d6e11f38c00ce1776ade14dfa004c6119f"
      ],
      "author": {
        "name": "Kenny Guy",
        "email": "kennyguy@google.com",
        "time": "Mon Jul 20 16:56:28 2015 +0100"
      },
      "committer": {
        "name": "Kenny Guy",
        "email": "kennyguy@google.com",
        "time": "Tue Jul 21 18:22:28 2015 +0100"
      },
      "message": "Support waiting for adb shell am stop-user to complete.\n\nUse stop user callback to wait for AM.stopUser to complete\nif -w flag is passed to adb shell am stop-user\n\nbug: 22599411\nChange-Id: I8adbfdbb1ba69a88a67431da65f0a85035587c2d\n"
    },
    {
      "commit": "b5143ecfeebfcf1424e599882e97c46881bb8c48",
      "tree": "7e30a8fef8cea158b3981bc561081860fa0d1c56",
      "parents": [
        "90059903c1feba5a7858f5de2cec9b31d7cd6855",
        "1fa2a0888284ae00c905dce7a3003b995815467a"
      ],
      "author": {
        "name": "Fyodor Kupolov",
        "email": "fkupolov@google.com",
        "time": "Wed Jul 15 01:58:48 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jul 15 01:58:48 2015 +0000"
      },
      "message": "am 1fa2a088: am 1281575c: am 41fac5e8: am 189f3136: am 98724126: Merge \"Added sendBroadcastMultiplePermissions method\" into mnc-dev\n\n* commit \u00271fa2a0888284ae00c905dce7a3003b995815467a\u0027:\n  Added sendBroadcastMultiplePermissions method\n"
    },
    {
      "commit": "1fa2a0888284ae00c905dce7a3003b995815467a",
      "tree": "e3071a813aceceda2e3b5b13e071636a5535eac8",
      "parents": [
        "f488fc28102870d8ec943d0a3a78c6d3997711c2",
        "1281575c257d52f256f4a08559611e6ec0b6190e"
      ],
      "author": {
        "name": "Fyodor Kupolov",
        "email": "fkupolov@google.com",
        "time": "Wed Jul 15 01:42:58 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jul 15 01:42:58 2015 +0000"
      },
      "message": "am 1281575c: am 41fac5e8: am 189f3136: am 98724126: Merge \"Added sendBroadcastMultiplePermissions method\" into mnc-dev\n\n* commit \u00271281575c257d52f256f4a08559611e6ec0b6190e\u0027:\n  Added sendBroadcastMultiplePermissions method\n"
    },
    {
      "commit": "d4fd8c766da8a70e3359bbc7efbbc79496efe71a",
      "tree": "971bad23792d3f9486e1ef7a0b0fe6f2952c84b9",
      "parents": [
        "b42cb352a350bac198470f65125aa151ecacff13"
      ],
      "author": {
        "name": "Fyodor Kupolov",
        "email": "fkupolov@google.com",
        "time": "Mon Jul 13 19:19:25 2015 -0700"
      },
      "committer": {
        "name": "Fyodor Kupolov",
        "email": "fkupolov@google.com",
        "time": "Tue Jul 14 17:25:42 2015 -0700"
      },
      "message": "Added sendBroadcastMultiplePermissions method\n\nAdded Context.sendBroadcastMultiplePermissions(Intent intent, String[]\nreceiverPermissions) method, which allows an array of required permissions\nto be enforced.\n\nBug: 21852542\nChange-Id: I27c9130e8f004b428452501ebc8a36aabde1f343\n"
    },
    {
      "commit": "19b4ef6622164e9528f0af0bdadca301cbad1526",
      "tree": "1c12d03ff88229facc40116feb7233cf889a0350",
      "parents": [
        "365504aca42c948a45b71f8cd8a4475eecabf63e",
        "b582c67039a6184b5ab4222e5a7d983dfb8c1b9d"
      ],
      "author": {
        "name": "Jarkko Pöyry",
        "email": "jpoyry@google.com",
        "time": "Fri Jul 10 17:40:28 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 10 17:40:32 2015 +0000"
      },
      "message": "Merge \"Don\u0027t NPE on command line parse failure.\""
    },
    {
      "commit": "4e5dac3d6ef6f28aecb116b8dfd92ff31d49c926",
      "tree": "2e5dcdb4323dd466a1ab6a5488ea706598c85c3f",
      "parents": [
        "a4da90dbabca0dc54424dec09f4da98a0903a81a",
        "3fd5ebfd778e540276fb5205a8ba3185e620647d"
      ],
      "author": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Wed Jul 08 02:05:26 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jul 08 02:05:26 2015 +0000"
      },
      "message": "am 3fd5ebfd: am 7cc8de60: am 0ce19f8e: am 240f8e5f: am 3e07ee07: Merge \"Grant installer and verifier install permissions robustly\" into mnc-dev\n\n* commit \u00273fd5ebfd778e540276fb5205a8ba3185e620647d\u0027:\n  Grant installer and verifier install permissions robustly\n"
    },
    {
      "commit": "3fd5ebfd778e540276fb5205a8ba3185e620647d",
      "tree": "461d7f1b62669ed518d26318dc1ecf84d900e96e",
      "parents": [
        "28339797043834e5f1cd196363ef3cfdd66607ad",
        "7cc8de60682b1ed22be1b452809b36a5ceaae02a"
      ],
      "author": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Wed Jul 08 01:39:40 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jul 08 01:39:40 2015 +0000"
      },
      "message": "am 7cc8de60: am 0ce19f8e: am 240f8e5f: am 3e07ee07: Merge \"Grant installer and verifier install permissions robustly\" into mnc-dev\n\n* commit \u00277cc8de60682b1ed22be1b452809b36a5ceaae02a\u0027:\n  Grant installer and verifier install permissions robustly\n"
    },
    {
      "commit": "3e7d977ff7c743713f0ad6336a039d7760ba47d1",
      "tree": "78c832f2bf7fde55fd89dcfcebf19db74e7e6ac1",
      "parents": [
        "79d9219c9f9734025837a01a6f8e490d1e0ab57e"
      ],
      "author": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Mon Jul 06 18:31:23 2015 -0700"
      },
      "committer": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Tue Jul 07 14:02:51 2015 -0700"
      },
      "message": "Grant installer and verifier install permissions robustly\n\nbug:22248271\n\nChange-Id: I3a47ae9a112ba7d88b421fcb5f9651d1168ba7a5\n"
    },
    {
      "commit": "e8ce8368fc65c3f5c54c44384be62cf228ceb10e",
      "tree": "d54fc1682502573433efc7e11d506fc4dfd20f53",
      "parents": [
        "36949d65e0ab36be43decf662fb031eb94afe090",
        "55cd6f44fd1e49164a999e948bb91a03a3b9daf6"
      ],
      "author": {
        "name": "Svet Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Sat Jul 04 07:28:18 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sat Jul 04 07:28:18 2015 +0000"
      },
      "message": "am 55cd6f44: am 6fe87a56: am 68ffcf88: Merge \"Teach receivers, activities, providers, and services app ops.\" into mnc-dev\n\n* commit \u002755cd6f44fd1e49164a999e948bb91a03a3b9daf6\u0027:\n  Teach receivers, activities, providers, and services app ops.\n"
    },
    {
      "commit": "b582c67039a6184b5ab4222e5a7d983dfb8c1b9d",
      "tree": "ba9582c5ca266eb6f337f204c87df8b82884be6c",
      "parents": [
        "7b293b5556e78028449e287f275f32a1ad298293"
      ],
      "author": {
        "name": "Jarkko Pöyry",
        "email": "jpoyry@google.com",
        "time": "Fri Jul 03 19:54:30 2015 -0700"
      },
      "committer": {
        "name": "Jarkko Pöyry",
        "email": "jpoyry@google.com",
        "time": "Fri Jul 03 19:54:30 2015 -0700"
      },
      "message": "Don\u0027t NPE on command line parse failure.\n\nBug: 21202826\nChange-Id: I3cbc12eaef920905c8abc6532376827ccff132f4\n"
    },
    {
      "commit": "55cd6f44fd1e49164a999e948bb91a03a3b9daf6",
      "tree": "6a068570cfad84c3abb6baa22776c257bdcfcf2f",
      "parents": [
        "71dee5db1bcca6a437d7fa1325db0228aa34975b",
        "6fe87a565be345c9455f610bbf26d5eaee593683"
      ],
      "author": {
        "name": "Svet Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Thu Jul 02 01:02:04 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jul 02 01:02:04 2015 +0000"
      },
      "message": "am 6fe87a56: am 68ffcf88: Merge \"Teach receivers, activities, providers, and services app ops.\" into mnc-dev\n\n* commit \u00276fe87a565be345c9455f610bbf26d5eaee593683\u0027:\n  Teach receivers, activities, providers, and services app ops.\n"
    },
    {
      "commit": "99b6043dad9d215cf15810b885b6b8c215dd5b5a",
      "tree": "ab714f7926640fbe8dafa4668f251e33e5f915c4",
      "parents": [
        "2438c9b2e7892a8515209cb1d440c3b5147165b2"
      ],
      "author": {
        "name": "Svet Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Sat Jun 27 13:15:22 2015 -0700"
      },
      "committer": {
        "name": "Svet Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Wed Jul 01 16:20:00 2015 -0700"
      },
      "message": "Teach receivers, activities, providers, and services app ops.\n\nPerform app op check in addition to the permisison check for all four\npaltform components - activities, content providers, broadcast receivers,\nservices - if they are guarded by a permssion that has an associated app\nop. This ensures that legacy apps will behave correctly if the permission\nof the caller has been revoked, i.e. the app op for that permission was\ndisabled.\n\nbug:22199666\n\nChange-Id: Ia22d1c38d58b3cd6aabdc655cb7c7bddd85da7a2\n"
    },
    {
      "commit": "80bea9cde179e37def61748ff0e68b4155b5360c",
      "tree": "6a02a09a1f1b8d34231ce06eacdc49d0918f8b5c",
      "parents": [
        "952abf4289b48bccdaef24591f855640dcfe6f49",
        "8fb8207412905d034305b4b1be6eac07bdac833f"
      ],
      "author": {
        "name": "Man Cao",
        "email": "manc@google.com",
        "time": "Wed Jun 24 17:28:01 2015 -0700"
      },
      "committer": {
        "name": "Man Cao",
        "email": "manc@google.com",
        "time": "Wed Jun 24 17:28:01 2015 -0700"
      },
      "message": "resolved conflicts for merge of 8fb82074 to master\n\nChange-Id: I27c7ddeead5a589ae8824f87bf6b42998dc081eb\n"
    },
    {
      "commit": "8fb8207412905d034305b4b1be6eac07bdac833f",
      "tree": "1674d1c43668ed19eb9b4e90dd252b3c5d94f045",
      "parents": [
        "43f6e345ed28f697cec2ece73c6b46bf99482f55",
        "0f14548cd1dc5fe70075567bb5704f4bf6ca55b4"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Jun 24 15:59:18 2015 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Jun 24 15:59:18 2015 -0700"
      },
      "message": "resolved conflicts for merge of 0f14548c to mnc-dev-plus-aosp\n\nChange-Id: I2f79840f82150eddebfbd549afd1eca28075eb43\n"
    },
    {
      "commit": "87344583e18113b6cb93271d9eac902456e76c78",
      "tree": "f4b543492ee1275c2d6b95055a013a079425b33b",
      "parents": [
        "c7116f4ccd1ced528124c9e0145bb24282d2efc4",
        "0ebba0e1a66ddf912b9fb7c43727054cb2d63556"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Jun 24 22:22:02 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jun 24 22:22:02 2015 +0000"
      },
      "message": "am 0ebba0e1: am 53d0d065: am b21a77fe: Merge \"Allow callers holding PACKAGE_USAGE_STATS permission to call ActivityManager#getPackageImportance()\" into mnc-dev\n\n* commit \u00270ebba0e1a66ddf912b9fb7c43727054cb2d63556\u0027:\n  Allow callers holding PACKAGE_USAGE_STATS permission to call ActivityManager#getPackageImportance()\n"
    },
    {
      "commit": "c30454c10457fe034a861b4bf19fd1fc240bd893",
      "tree": "d3827fd7ad2ed36dd3fa3e9997e8c14df336ca2b",
      "parents": [
        "6b0f384f0042c21129466c100e20aec1a325a8da"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Jun 24 13:24:35 2015 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Jun 24 13:35:46 2015 -0700"
      },
      "message": "Allow callers holding PACKAGE_USAGE_STATS permission to call ActivityManager#getPackageImportance()\n\nBug:22055550\nChange-Id: I1e732e95698daf44bcb223cafde3d3c22746d232\n"
    },
    {
      "commit": "cfa78b2080e590ca3b28dbf59e6d6f6e7ece7764",
      "tree": "0d368991bb80d010cb68d4cae36f67aa3eb03701",
      "parents": [
        "5acb30de6f65ff9ab47138b022a724ec489bdd9d"
      ],
      "author": {
        "name": "Man Cao",
        "email": "manc@google.com",
        "time": "Thu Jun 11 20:14:34 2015 -0700"
      },
      "committer": {
        "name": "Man Cao",
        "email": "manc@google.com",
        "time": "Wed Jun 24 13:29:29 2015 -0700"
      },
      "message": "Add an AM option to start with allocation tracking\n\nThe new option \"--track-allocation\" is to work with the new\nallocation tracker in ART.\n\nBug:20037135\nChange-Id: Ic5f8945ab4c1f167c27b05ad0d11d04bac680c1f\n"
    },
    {
      "commit": "8ee0c2cf24cc4de0abe7114c189051277568f7f1",
      "tree": "4a0e018005f276a2645cc69fd22395a8a8f64205",
      "parents": [
        "02724743791c05331b1d5d339812cee3395cb0f0",
        "52613f9084f40100021fbf21173bda329a2d5cc3"
      ],
      "author": {
        "name": "Rahul Chaturvedi",
        "email": "rkc@google.com",
        "time": "Mon Jun 22 23:55:07 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 22 23:55:09 2015 +0000"
      },
      "message": "Merge \"Add binder transaction tracking.\""
    },
    {
      "commit": "52613f9084f40100021fbf21173bda329a2d5cc3",
      "tree": "76f285a5ac4375f74053fa9251e88f0c5c6ec535",
      "parents": [
        "6186e89c382f2d02037ffd1fe579f065e1578521"
      ],
      "author": {
        "name": "Rahul Chaturvedi",
        "email": "rkc@google.com",
        "time": "Wed Jun 17 23:54:08 2015 -0400"
      },
      "committer": {
        "name": "Rahul Chaturvedi",
        "email": "rkc@google.com",
        "time": "Mon Jun 22 16:28:24 2015 -0400"
      },
      "message": "Add binder transaction tracking.\n\nAdd the ability to am to be able to track binder transact calls. This\nwill help us diagnose excessive IPC calls.\n\nThis CL adds the trace-ip command to am. The usage is,\n\nTo start binder transaction tracking,\nam trace-ipc start\nTo stop tracking and dump the data to a file,\nam trace-ipc stop --dump-file \u003cFILE\u003e\n\nBug: 21398706\nChange-Id: Ic0c9b3be757dd0662a2750a0d8447e2a5ef1fa90\n"
    },
    {
      "commit": "a750a63d639f6936af456df904fa6b9ba941885e",
      "tree": "41cd79aec0dedbf162eab2749bd6dec45bb7509d",
      "parents": [
        "f5820276635a2d3d2e3c694eddba7e6a02093a20"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Jun 16 17:18:23 2015 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Jun 17 11:41:45 2015 -0700"
      },
      "message": "Fix issue #21814207 and issue #21814212 (alarm manager)\n\nIssue #21814207: AlarmManager.setAndAllowWhileIdle should also allow wake locks.\n\nIntroduce a whole new infrastructure for providing options when\nsending broadcasts, much like ActivityOptions.  There is a single\noption right now, asking the activity manager to apply a tempory\nwhitelist to each receiver of the broadcast.\n\nIssue #21814212: Need to allow configuration of alarm manager parameters\n\nThe various alarm manager timing configurations are not modifiable\nthrough settings, much like DeviceIdleController.  Also did a few\ntweaks in the existing DeviceIdleController impl.\n\nChange-Id: Ifd01013185acc4de668617b1e46e78e30ebed041\n"
    },
    {
      "commit": "f36a0f5d178786d07ab2d674003cf865c9e7a35f",
      "tree": "4848277545058f4a3b51484844e4055c6b97b7ab",
      "parents": [
        "f22030d1c59aca4f9ad2af7d4c4d646b0b619f27"
      ],
      "author": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Wed Jun 10 12:10:57 2015 -0700"
      },
      "committer": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Wed Jun 10 13:44:04 2015 -0700"
      },
      "message": "Added new options (--eial, --elal, --efal, and --esal) to pass multiple extras as ArrayList instead of Array.\nBUG: 21757911\nChange-Id: I7e2a9c81ad4606a8aba90ea4820ba0732a1c8749\n\tmodified:   src/com/android/commands/am/Am.java\n On branch handles_array_list\n Changes to be committed:\n\tmodified:   src/com/android/commands/am/Am.java\n"
    },
    {
      "commit": "16045c24fe10cc92329ede099923f1223f49b17d",
      "tree": "1418cfb06abbef32f95c8dfa23ce9f1d704e7964",
      "parents": [
        "e7f68c18bf1a1da5d0aa129674fe4f9ecf06ac8c"
      ],
      "author": {
        "name": "Stefan Kuhne",
        "email": "skuhne@google.com",
        "time": "Fri Jun 05 07:18:06 2015 -0700"
      },
      "committer": {
        "name": "Stefan Kuhne",
        "email": "skuhne@google.com",
        "time": "Fri Jun 05 16:30:29 2015 -0700"
      },
      "message": "Adding am send-trim-memory command\n\nThis patch adds a send-trim-memory command to the ActivityManager to allow\nfor better debugging\u0026testing.\n\nThe command is\nadb shell am send-trim-memory [--user \u003cUSER_ID\u003e] \u003cPROCESS\u003e \u003cLEVEL\u003e\nwhereas LEVEL can be one of the following:\n[HIDDEN|RUNNING_MODERATE|BACKGROUND|RUNNING_LOW|MODERATE|\n RUNNING_CRITICAL|COMPLETE]\n\nBug: 21633189\nChange-Id: I7a41ce02c3c9043ffd3e5aaa791f7b7306a9de49\n"
    },
    {
      "commit": "e5f330456bdf5e138485ee117929fc4337866132",
      "tree": "9c4b921692303f129febd3c56fcfbad9f95837ab",
      "parents": [
        "e678b41cdb56847c094260607ea39aea4abb808e"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Fri May 08 13:20:22 2015 -0700"
      },
      "committer": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Fri May 08 13:20:22 2015 -0700"
      },
      "message": "Rename *AppIdle to *AppInactive per api-council\n\nChange to setAppInactive and isAppInactive in a few places.\n\nBug: 20823737\nChange-Id: Ie57dbc0dd2842e771bb5fd9f69b8041aacaa005c\n"
    },
    {
      "commit": "cf76872a62075abf9008e99ca08413fb70761dc2",
      "tree": "20ba4867939d30bccefe383ae85848bd610e0dde",
      "parents": [
        "a1ab2d37a055f9c2d623260b41ecff778fdf3aa2"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Thu Apr 23 20:36:41 2015 -0700"
      },
      "committer": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Fri Apr 24 12:58:46 2015 -0700"
      },
      "message": "Add ability to get and set idle state of apps\n\nAdd am shell command to set and get idle\nAdd public API to check if an app is idle\n\nBug: 20534955\nBug: 20493806\nChange-Id: Ib48b3fe847c71f05ef3905563f6e903cf060c498\n"
    },
    {
      "commit": "0bd2aa760346edd096f7c27283f394631f246f30",
      "tree": "ae3d425b60ea6af8a3e16b8c3580c3df97de0d37",
      "parents": [
        "8a2c92c834d4173132aa9fd23fa136d50bf7b0cc"
      ],
      "author": {
        "name": "Wale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Thu Apr 16 13:50:44 2015 -0700"
      },
      "committer": {
        "name": "Wale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Fri Apr 17 08:37:56 2015 -0700"
      },
      "message": "Fail early when starting a background user activity.\n\nIf it shouldn\u0027t be displayed for all users.\n\nBug: 13507605\nChange-Id: I8fe8e5a98759c1ca058cc7d222817f6d580ffa11\n"
    },
    {
      "commit": "1e38382b542f5cef9957a89692b02c55a3dd351c",
      "tree": "18c1b04b4e8f485fc3e6a99874d43e0161b8a8a4",
      "parents": [
        "172753e6f851aa1905953b00d11a48873ff4bbb5"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Apr 10 14:02:33 2015 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Apr 14 10:01:24 2015 -0700"
      },
      "message": "Fixes to idle alarm scheduling, package importance.\n\n- Add new API to ask the activity manager what the current\n  importance of a particular package name is (along with a few\n  new useful importance levels).\n\n- Fix my last alarm manager change to actually execute the\n  alarms we have now decided should run even while we are idle.\n\nChange-Id: I1f14712b4e390770d53b185c96a1b36f6aadd687\n"
    },
    {
      "commit": "d59a5d59df920d743723521a2afed9de1da3373b",
      "tree": "2fa60c308b330a8203d00f1e99811e54c6f486a9",
      "parents": [
        "cef55cde1cf1b9b15583d6b4c439dfea7bac7c26"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sat Apr 04 14:52:14 2015 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sat Apr 04 17:36:05 2015 -0700"
      },
      "message": "Various fixes and improvements...\n\nIssue #19912529: VI: VoiceInteractor callback ClassCastException\n\nFix to use correct argument.\n\nIssue #19912636: VI: Documentation for VoiceInteractionSession.onBackPressed\n\nAdded documentation.\n\nIssue #19912703: VI: VoiceInteractionSession NPE on Abort Request\n\nMaybe fix this -- don\u0027t crash if there is no active session.\n\nIssue #19953731: VI: Add value index to...\n...android.app.VoiceInteractor.PickOptionRequest.Option\n\nThere is now an optional index integer that can be associated with\nevery Option object.\n\nIssue #19912635: VI: Behavior of startActivity when in voice...\n...interaction is unexpected\n\nWe now forcibly finish the current voice interaction task whenever\nanother activity takes focus from it.\n\nIssue #20066569: Add API to request heap dumps\n\nNew ActivityManager API to set the pss limit to generate heap\ndumps.\n\nAlso added app ops for assist receiving structure and screenshot\ndata, so that we can track when it does these things.\n\nChange-Id: I688d4ff8f0bd0b8b9e3390a32375b4bb7875c1a1\n"
    },
    {
      "commit": "34faab5a54b9415c340dfeb29af6886f00bb5d9e",
      "tree": "a521940f642e26a2e4c611978f1643c191ae7614",
      "parents": [
        "1cef4196886b0cc1238111d396c1e3665a5fd2ae"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Mar 26 11:02:37 2015 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Mar 26 11:05:08 2015 -0700"
      },
      "message": "Add --sampling to am profile start\n\nChange-Id: I00dfdef6a7ac61ab4ce16fefe1ddc5554ace0c88\n"
    },
    {
      "commit": "b9a5e4ad30c9add140fd13491419ae66e947809d",
      "tree": "34000ecab4b9ef4175687e1cba78456524481a0f",
      "parents": [
        "eb803aef3b0f55785624e6a51deae867c1a95e88"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Mar 03 17:04:12 2015 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Mar 06 16:42:03 2015 -0800"
      },
      "message": "Add new debug feature to automatically create heap dumps.\n\nNot yet working, unless you turn off SELinux enforcing.\nWe need to update SElinux to allow the system process\nto give apps access to /data/system/heapdump/javaheap.bin.\n\nCurrently watching can only be enabled through the shell,\nsuch as:\n\nadb shell am set-watch-heap com.android.systemui 1024\n\nThe last number is the process pss size in bytes, so this is\nasking us to warn if it goes about 1K which will be all the\ntime.\n\nChange-Id: I2089e5db2927afca0bf01a363c6247ee5dcb26e8\n"
    },
    {
      "commit": "08c7116ab9cd04ad6dd3c04aa1017237e7f409ac",
      "tree": "6ddb0659a3ecd024e0165ba050940bc40ea257fe",
      "parents": [
        "3062e57072145ba5e71ba8b2cf565d3453db04a7"
      ],
      "author": {
        "name": "John Spurlock",
        "email": "jspurlock@google.com",
        "time": "Sat Feb 28 13:12:17 2015 -0500"
      },
      "committer": {
        "name": "John Spurlock",
        "email": "jspurlock@google.com",
        "time": "Sat Feb 28 14:47:49 2015 -0500"
      },
      "message": "Remove unused imports in frameworks/base.\n\nChange-Id: I031443de83f93eb57a98863001826671b18f3b17\n"
    },
    {
      "commit": "53a29a90f35f72462c0d6ad650921d5566c1f8f0",
      "tree": "b898010e266072c37dca0b1179f06c543c00b7a6",
      "parents": [
        "d697ceac0227822ab33d8f7cbe5442cc37d9d74a"
      ],
      "author": {
        "name": "Wale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Mon Feb 23 15:42:52 2015 -0800"
      },
      "committer": {
        "name": "Wale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Tue Feb 24 09:33:18 2015 -0800"
      },
      "message": "Added ActivityManager API and AM command to resize a task.\n\nAlso fixed issue with ActivityStackSupervisor.moveTaskToStackLocked()\nfunctionality not working correctly.\n\nChange-Id: Ia13f1e92a7c59ce6543c226533ac8ea623488290\n"
    },
    {
      "commit": "5e789f03b2bd018ab44cb4d1018f3682f27fd510",
      "tree": "01125dbd44550fd395b71960f1e3129f9a316c4c",
      "parents": [
        "346066ef90c6b0af50ba0187338de7e8c8c2f8aa"
      ],
      "author": {
        "name": "Wale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Wed Feb 11 14:35:47 2015 -0800"
      },
      "committer": {
        "name": "Wale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Thu Feb 12 09:25:52 2015 -0800"
      },
      "message": "Fixed bug in \u0027am stack split\u0027 command.\n\nChange-Id: Id3efb65a3f9cbf3c223ea08d51e2028180bd5479\n"
    },
    {
      "commit": "2c5763ae5d04ebd67eae2f86f840e6e68304e821",
      "tree": "e15ccc4b2e4e2b4c64751ca957be4c1918315982",
      "parents": [
        "094ff96b3f5a7fefb7e7dd75cb21927cfed42a81"
      ],
      "author": {
        "name": "Wale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Wed Feb 11 10:26:44 2015 -0800"
      },
      "committer": {
        "name": "Wale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Wed Feb 11 14:02:19 2015 -0800"
      },
      "message": "Am command to split a stack.\n\nChange-Id: Idf3a364fc3826f6fe92f55b5c83b16b380d62ff4\n"
    },
    {
      "commit": "9d3de4cfb42519fefe9d8b03c38ba440bd6bc886",
      "tree": "b0510ec8967a1cab6e6d179c37c6e647bb5db9e5",
      "parents": [
        "547c9e5212cabc14efcd495935970ae98914a207"
      ],
      "author": {
        "name": "Wale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Sun Feb 01 16:49:44 2015 -0800"
      },
      "committer": {
        "name": "Wale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Mon Feb 02 16:06:55 2015 -0800"
      },
      "message": "Support for activity to opt-in/out of resizeable/multi-window support.\n\nBug: 19178148\nChange-Id: I5819a71cdc48e0af4add11a6d4a503ec5cbe5d63\n"
    },
    {
      "commit": "aab56dbc1ef5c91afad1e61d633305bb3aa3cb1b",
      "tree": "53692389a4e012a10626024c8806535339de9425",
      "parents": [
        "728dace14d83e87e777ceaaf3dfd031cf3502f80"
      ],
      "author": {
        "name": "Todd Kennedy",
        "email": "toddke@google.com",
        "time": "Fri Jan 30 09:39:53 2015 -0800"
      },
      "committer": {
        "name": "Todd Kennedy",
        "email": "toddke@google.com",
        "time": "Fri Jan 30 09:39:53 2015 -0800"
      },
      "message": "Show stacks underneath a resized stack\n\nWhen a stack is resized, make sure any non-fullscreen stack beneath it\nbecomes visible. This may mean additional activities are resumed in the\nprocess.\n\nBug: 19083171\nChange-Id: I5e7a3f82d76932ea2b9dbf0324ea183c42ee5496\n"
    },
    {
      "commit": "4900bf9d82c4905fadc43d8e2dd9a7f896da2d81",
      "tree": "d6758555e1a054e6a6e46276919166bd44f9db14",
      "parents": [
        "df8e59abe5b0803cddee243e2c98d06afb66f5a9"
      ],
      "author": {
        "name": "Todd Kennedy",
        "email": "toddke@google.com",
        "time": "Fri Jan 16 16:05:14 2015 -0800"
      },
      "committer": {
        "name": "Todd Kennedy",
        "email": "toddke@google.com",
        "time": "Tue Jan 20 10:51:49 2015 -0800"
      },
      "message": "Expose new binder call createStackOnDisplay()\n\nCreates a new, empty ActivityStack on a display. Use the binder call to\nlaunch an activity on said stack.\n\nBug: 19001243\nChange-Id: I0f04e8f2703bcc706f58e75333869fb35f6b1ee9\n"
    },
    {
      "commit": "ca4d842205ce256aab53825920a791c7ab9d62f1",
      "tree": "47ef2bacdd4fb8bfa26c5b1fe6556a23970e5e1d",
      "parents": [
        "2c4b1610ef6d8ad9cafcb595f05e20eb92344569"
      ],
      "author": {
        "name": "Todd Kennedy",
        "email": "toddke@google.com",
        "time": "Thu Jan 15 15:19:22 2015 -0800"
      },
      "committer": {
        "name": "Todd Kennedy",
        "email": "toddke@google.com",
        "time": "Thu Jan 15 15:22:17 2015 -0800"
      },
      "message": "Rename the binder call createActivityContainer\n\nChange the call to createVirtualActivityContainer to better describe what\u0027s\nactually being created with the call.\n\nChange-Id: Id3a32df19a5bb6740cbabcd65897349e9f2f2946\n"
    },
    {
      "commit": "dbea3cd118fe4eeb9b43ea50727987fa790a2edd",
      "tree": "48c62fd389ed91bbcfdfc844f0e4316b6ac8e0af",
      "parents": [
        "962bd4a69175077a95bc04bcdcc80ee6cb1034f8"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Nov 24 14:45:40 2014 -0800"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Nov 24 14:51:34 2014 -0800"
      },
      "message": "Better am error when SELinux blocking access.\n\nBug: 18479882\nChange-Id: I0732e54838c4e04d9d727e7c5fd9d7e7bacbaa1f\n"
    },
    {
      "commit": "24b1c23c62b3d8ca1d762a76b2f1ef6360fc683e",
      "tree": "7ff5b24df000003126c17c504313507f4693107a",
      "parents": [
        "a6d2789c954698f6dca5479b305689d22fc05d80"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Nov 20 17:17:39 2014 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Nov 20 17:17:39 2014 -0800"
      },
      "message": "Fix issue #15828903: Intent.parseUri allows call to FLAG_GRANT_*_URI_PERMISSION\n\nYou now need to set a flag if you want this unsafe behavior.\n\nChange-Id: I185e9a04e005e42a887c3d58a2818616790b060a\n"
    }
  ],
  "next": "85d558cd486d195aabfc4b43cff8f338126f60a5"
}
