)]}'
{
  "commit": "747c357a422113e024ab697bf5f0835e9771b3b1",
  "tree": "c9540af72a9096000780eea7376b66f51990e6d5",
  "parents": [
    "a5847a23bf04b511c462b9da5b98da8ef0b3aaef"
  ],
  "author": {
    "name": "Songchun Fan",
    "email": "schfan@google.com",
    "time": "Thu Jan 26 17:43:24 2023 -0800"
  },
  "committer": {
    "name": "Android Build Coastguard Worker",
    "email": "android-build-coastguard-worker@google.com",
    "time": "Thu Mar 09 04:03:14 2023 +0000"
  },
  "message": "[RESTRICT AUTOMERGE][pm] prevent system app downgrades of versions lower than preload\n\nAlso remove misleading commandline output.\n\nBUG: 256202273\n\nTest: manual\n1. Install preload system app v90, reboot\n2. (W/O data, W/ Flag, 90-\u003e80 NOK) adb install -d ~/Downloads/PrivApplication_80.apk\nPerforming Streamed Install\nadb: failed to install /usr/local/google/home/schfan/Downloads/PrivApplication_80.apk: Failure [INSTALL_FAILED_VERSION_DOWNGRADE: System app: com.example.privapplication cannot be downgraded to older than its preloaded version on the system image. Update version code 80 is older than current 90]\n3. (90-\u003e100) Install data app v100\n4. (W/ data, W/O Flag, 100-\u003e90 NOK) adb install ~/Downloads/PrivApplication_90.apk\nPerforming Streamed Install\nadb: failed to install /usr/local/google/home/schfan/Downloads/PrivApplication_90.apk: Failure [INSTALL_FAILED_VERSION_DOWNGRADE: Downgrade detected: Update version code 90 is older than current 100]\n5. (W/ data, W/ Flag, 100-\u003e90 downgrade OK) adb install -d ~/Downloads/PrivApplication_90.apk\nPerforming Streamed Install\nSuccess\n6. (90-\u003e100) Install v100\n6. (W/data, W/ Flag, 100-\u003e80 NOK) adb install -d ~/Downloads/PrivApplication_80.apk\nPerforming Streamed Install\nadb: failed to install /usr/local/google/home/schfan/Downloads/PrivApplication_80.apk: Failure [INSTALL_FAILED_VERSION_DOWNGRADE: System app: com.example.privapplication cannot be downgraded to older than its preloaded version on the system image. Update version code 80 is older than current 90]\n\nChange-Id: I5a8ee9e29a3a58f6e3fd188e0122355744b8b0ce\n(cherry picked from commit a4484d7f1be1fa413258fe18644d61f85611f586)\n(cherry picked from commit on googleplex-android-review.googlesource.com host: cc9d3867082ac1518b7264c3752442f5ca112aa1)\nMerged-In: I5a8ee9e29a3a58f6e3fd188e0122355744b8b0ce\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "508a23a355483724fc518c93628e8b12bb0ffb85",
      "old_mode": 33188,
      "old_path": "services/core/java/com/android/server/pm/PackageManagerService.java",
      "new_id": "eb1d16b39a671beb1679c6a84f90a85f0038f089",
      "new_mode": 33188,
      "new_path": "services/core/java/com/android/server/pm/PackageManagerService.java"
    }
  ]
}
