)]}'
{
  "commit": "69c3ce70c6dcabf57219d338af86e569ea672ef5",
  "tree": "170ab498a9a48aedde9dcee0a2d49d8c217902f5",
  "parents": [
    "ecffe3ecbf4cb01055bd2f852d95396f2475fc01"
  ],
  "author": {
    "name": "Eric Biggers",
    "email": "ebiggers@google.com",
    "time": "Mon Jan 24 20:33:11 2022 +0000"
  },
  "committer": {
    "name": "Eric Biggers",
    "email": "ebiggers@google.com",
    "time": "Tue Mar 29 20:48:41 2022 +0000"
  },
  "message": "[RESTRICT AUTOMERGE] UserDataPreparer: reboot to recovery if preparing user storage fails\n\nStorageManager.prepareUserStorage() can throw an exception if a\ndirectory cannot be encrypted, for example due to already being\nnonempty.  In this case, usage of the directory must not be allowed to\nproceed.  UserDataPreparer currently handles this by deleting the user\u0027s\ndirectories, but the error is still ultimately suppressed and starting\nthe user is still allowed to proceed.\n\nThe correct behavior in this case is to reboot into recovery to ask the\nuser to factory reset the device.  This is already what happens when\n\u0027init\u0027 fails to encrypt a directory with the system DE policy.  However,\nthis was overlooked for the user directories.  Start doing this.\n\nBug: 164488924\nBug: 224585613\nChange-Id: Ib5e91d2510b25780d7a161b91b5cee2f6f7a2e54\n(cherry picked from commit 5256365e65882b81509ec2f6b9dfe2dcf0025254)\nMerged-In: Ib5e91d2510b25780d7a161b91b5cee2f6f7a2e54\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "045a295da965f78c4dd054f7d9d6b5c04be20e35",
      "old_mode": 33188,
      "old_path": "services/core/java/com/android/server/pm/UserDataPreparer.java",
      "new_id": "504769064808c66ad3fa93fdb1a29f85b3df529b",
      "new_mode": 33188,
      "new_path": "services/core/java/com/android/server/pm/UserDataPreparer.java"
    }
  ]
}
