)]}'
{
  "commit": "37aeb26b0ae28a48c1ed40f008d5808d8a84be23",
  "tree": "e73220fd3f03abbf18ff82f828c165b66f6d884e",
  "parents": [
    "1e8d8026470c23bd3123a1e9360a6ec61a89f038"
  ],
  "author": {
    "name": "Matt Pietal",
    "email": "mpietal@google.com",
    "time": "Thu Aug 04 13:00:39 2022 +0000"
  },
  "committer": {
    "name": "Matt Pietal",
    "email": "mpietal@google.com",
    "time": "Thu Aug 04 14:42:07 2022 +0000"
  },
  "message": "Do not dismiss keyguard after SIM PUK unlock\n\nAfter PUK unlock, multiple calls to\nKeyguardSecurityContainerController#dismiss() were being called from\nthe KeyguardSimPukViewController, which begins the transition to the\nnext security screen, if any. At the same time, other parts of the\nsystem, also listening to SIM events, recognize the PUK unlock and\ncall KeyguardSecurityContainer#showSecurityScreen, which updates which\nsecurity method comes next. After boot, this should be one of PIN,\nPassword, Pattern, assuming they have a security method. If one of the\nfirst dismiss() calls comes AFTER the security method changes, this is\nincorrectly recognized by the code as a successful\nPIN/pattern/password unlock. This causes the keyguard to be marked as\ndone, causing screen flickers and incorrect system state.\n\nThe solution: every call to dismiss() should include a new parameter\nfor the security method used. If there is a difference between this\nparameter and the current value in KeyguardSecurityContainerCallback,\nignore the request, as the system state has changed.\n\nFixes: 238804980\nBug: 218500036\nTest: atest KeyguardSecurityContainerTest\nAdminSecondaryLockScreenControllerTest KeyguardHostViewControllerTest\nKeyguardSecurityContainerControllerTest\n\nChange-Id: I7c8714a177bc85fbce92f6e8fe911f74ca2ac243\nMerged-In: I7c8714a177bc85fbce92f6e8fe911f74ca2ac243\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "23195af8bdea24a28b5a15c1a0a7814689e19c16",
      "old_mode": 33188,
      "old_path": "packages/SystemUI/src/com/android/keyguard/AdminSecondaryLockScreenController.java",
      "new_id": "00f1c0108d0b5229955dcfa05d75ffbe38506074",
      "new_mode": 33188,
      "new_path": "packages/SystemUI/src/com/android/keyguard/AdminSecondaryLockScreenController.java"
    },
    {
      "type": "modify",
      "old_id": "eb418ff3b142ad4192a3311a38167cf4b4372997",
      "old_mode": 33188,
      "old_path": "packages/SystemUI/src/com/android/keyguard/KeyguardAbsKeyInputViewController.java",
      "new_id": "b8fcb103402d63b4628cb6f5df1ce44ef3872b10",
      "new_mode": 33188,
      "new_path": "packages/SystemUI/src/com/android/keyguard/KeyguardAbsKeyInputViewController.java"
    },
    {
      "type": "modify",
      "old_id": "d32219a9817f8419e5c7136fe7e23098222f81fa",
      "old_mode": 33188,
      "old_path": "packages/SystemUI/src/com/android/keyguard/KeyguardHostViewController.java",
      "new_id": "db64f05ccbea7beb58106dcf56c21a05f7c3f19c",
      "new_mode": 33188,
      "new_path": "packages/SystemUI/src/com/android/keyguard/KeyguardHostViewController.java"
    },
    {
      "type": "modify",
      "old_id": "98ac640bf7037e4c2773fc13bb4036d41c8a31bd",
      "old_mode": 33188,
      "old_path": "packages/SystemUI/src/com/android/keyguard/KeyguardInputViewController.java",
      "new_id": "87300c3f05049ddf77e559cdb468311567dcde88",
      "new_mode": 33188,
      "new_path": "packages/SystemUI/src/com/android/keyguard/KeyguardInputViewController.java"
    },
    {
      "type": "modify",
      "old_id": "b97d9671eb25f3aa19f7ea68515ed017acccdf19",
      "old_mode": 33188,
      "old_path": "packages/SystemUI/src/com/android/keyguard/KeyguardPatternViewController.java",
      "new_id": "9aa6f0320f5000b6edd11bdcb3aa8053e13a146a",
      "new_mode": 33188,
      "new_path": "packages/SystemUI/src/com/android/keyguard/KeyguardPatternViewController.java"
    },
    {
      "type": "modify",
      "old_id": "e3847274523494a1859d3e90f5989eb8cea5a7e7",
      "old_mode": 33188,
      "old_path": "packages/SystemUI/src/com/android/keyguard/KeyguardSecurityCallback.java",
      "new_id": "bc72f7979a746ba676514c8442340ce7a9c90396",
      "new_mode": 33188,
      "new_path": "packages/SystemUI/src/com/android/keyguard/KeyguardSecurityCallback.java"
    },
    {
      "type": "modify",
      "old_id": "8fb622a8c55e8152dbc3c9c9932608701a8e087d",
      "old_mode": 33188,
      "old_path": "packages/SystemUI/src/com/android/keyguard/KeyguardSecurityContainer.java",
      "new_id": "f697e256dfb0ce39bf84b9c702f53396c5ba6cda",
      "new_mode": 33188,
      "new_path": "packages/SystemUI/src/com/android/keyguard/KeyguardSecurityContainer.java"
    },
    {
      "type": "modify",
      "old_id": "0b3fe46007e5852ba7aef7e35299a4f430d5827a",
      "old_mode": 33188,
      "old_path": "packages/SystemUI/src/com/android/keyguard/KeyguardSecurityContainerController.java",
      "new_id": "e1957c09fef50431f909de6d8180b3e880a59e90",
      "new_mode": 33188,
      "new_path": "packages/SystemUI/src/com/android/keyguard/KeyguardSecurityContainerController.java"
    },
    {
      "type": "modify",
      "old_id": "2f6fa145664ef8b8867fdeeefa619648109420d9",
      "old_mode": 33188,
      "old_path": "packages/SystemUI/src/com/android/keyguard/KeyguardSimPinViewController.java",
      "new_id": "ecd88e6fe90c795d40e2d0d524bf4a6c4526fbfb",
      "new_mode": 33188,
      "new_path": "packages/SystemUI/src/com/android/keyguard/KeyguardSimPinViewController.java"
    },
    {
      "type": "modify",
      "old_id": "47aa43b86599e93c9fbe64bd39cccfec3d97e063",
      "old_mode": 33188,
      "old_path": "packages/SystemUI/src/com/android/keyguard/KeyguardSimPukViewController.java",
      "new_id": "203f9b660536efab9b2af450c662b36eee216615",
      "new_mode": 33188,
      "new_path": "packages/SystemUI/src/com/android/keyguard/KeyguardSimPukViewController.java"
    },
    {
      "type": "modify",
      "old_id": "dffad6ccbea5502214d495b1d0fff5b3514b2270",
      "old_mode": 33188,
      "old_path": "packages/SystemUI/tests/src/com/android/keyguard/AdminSecondaryLockScreenControllerTest.java",
      "new_id": "80385e69cfa4c4fb73e649e7ffbe3eaf90236a9f",
      "new_mode": 33188,
      "new_path": "packages/SystemUI/tests/src/com/android/keyguard/AdminSecondaryLockScreenControllerTest.java"
    },
    {
      "type": "modify",
      "old_id": "dc87a6a4513158946e52a7f521473c5aa2e8d59f",
      "old_mode": 33188,
      "old_path": "packages/SystemUI/tests/src/com/android/keyguard/KeyguardSecurityContainerControllerTest.java",
      "new_id": "aecec9d100ccfbf36d3a59050abcf55cbb42d326",
      "new_mode": 33188,
      "new_path": "packages/SystemUI/tests/src/com/android/keyguard/KeyguardSecurityContainerControllerTest.java"
    }
  ]
}
