)]}'
{
  "commit": "ecbed81c3a331f2f0458923cc7e744c85ece96da",
  "tree": "71da35e9536bb48781dfb217eca27f0277c063f0",
  "parents": [
    "71bbded95946c792bef8c12ce383080dd262017a"
  ],
  "author": {
    "name": "Matt Pietal",
    "email": "mpietal@google.com",
    "time": "Thu Aug 04 13:00:39 2022 +0000"
  },
  "committer": {
    "name": "Android Build Coastguard Worker",
    "email": "android-build-coastguard-worker@google.com",
    "time": "Mon Sep 19 18:20:37 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(cherry picked from commit 37aeb26b0ae28a48c1ed40f008d5808d8a84be23)\n(cherry picked from commit 3d89cc5df6729cab8d98c967d73e03e23048d52b)\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": "12fa401d7fea9edd40f2b87bb4e4019e3add86ad",
      "old_mode": 33188,
      "old_path": "packages/SystemUI/src/com/android/keyguard/KeyguardHostViewController.java",
      "new_id": "befd59be061d472ab95aac65c4a8d8681821a713",
      "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": "39c3949811937e517905628e1a235a31803ddedb",
      "old_mode": 33188,
      "old_path": "packages/SystemUI/src/com/android/keyguard/KeyguardPatternViewController.java",
      "new_id": "1a59b820c1bdb29f86ecda83ae1bcb9122217413",
      "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": "cce516d981a51850ae6b68b4f2722c12a793aaa8",
      "old_mode": 33188,
      "old_path": "packages/SystemUI/src/com/android/keyguard/KeyguardSecurityContainer.java",
      "new_id": "12bb47b81d7fc888ebb4ebdb8e62884dcd51cc21",
      "new_mode": 33188,
      "new_path": "packages/SystemUI/src/com/android/keyguard/KeyguardSecurityContainer.java"
    },
    {
      "type": "modify",
      "old_id": "19a2d9ed5b7b34da464d967416f4d50064794d1c",
      "old_mode": 33188,
      "old_path": "packages/SystemUI/src/com/android/keyguard/KeyguardSecurityContainerController.java",
      "new_id": "2b9553d3eda26437d6af7697dcb718599e4e8689",
      "new_mode": 33188,
      "new_path": "packages/SystemUI/src/com/android/keyguard/KeyguardSecurityContainerController.java"
    },
    {
      "type": "modify",
      "old_id": "47df70b522f7313ae50e7d0a81d6c5b5eea58af3",
      "old_mode": 33188,
      "old_path": "packages/SystemUI/src/com/android/keyguard/KeyguardSimPinViewController.java",
      "new_id": "b3f25c289b466d652471a088dabcd851512ff039",
      "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": "4d33430597183aee8c76693d60a1d83804969dcc",
      "old_mode": 33188,
      "old_path": "packages/SystemUI/tests/src/com/android/keyguard/KeyguardSecurityContainerControllerTest.java",
      "new_id": "efc9921fe8b9136108406df8894f9a86fcff6e75",
      "new_mode": 33188,
      "new_path": "packages/SystemUI/tests/src/com/android/keyguard/KeyguardSecurityContainerControllerTest.java"
    }
  ]
}
