)]}'
{
  "commit": "85bc534d87812efd4f1848f35e98fea4155abc62",
  "tree": "6ab96942c3a2d953226d693dc546114e286a5078",
  "parents": [
    "1c716268870024ce3be7983a0c44ce9daecfec2b"
  ],
  "author": {
    "name": "Xiaowen Lei",
    "email": "xilei@google.com",
    "time": "Tue Sep 26 16:09:52 2023 -0700"
  },
  "committer": {
    "name": "Xiaowen Lei",
    "email": "xilei@google.com",
    "time": "Mon Oct 09 10:55:38 2023 -0700"
  },
  "message": "Use ViewHierarchyAnimator to animate media container layout.\n\nInstead of LayoutTransition.\n  - The main advantage over LayoutTransition: no need for the second\n    OnLayoutChangeListener. With LayoutTransition, the second\n    OnLayoutChangeListener is necessary in order to disable the\n    LayoutTransition.CHANGING.\n  - The main disadvantage is testing. It\u0027s tricky to verify the usage of\n    ViewHierarchyAnimator.Companion methods. But it\u0027s still achievable,\n    via java reflect. (ViewHierarchyAnimator.Companion is essentially\n    a singleton.)\n\nThe transition basially looks the same as with LayoutTransition. It does\nuse a different interpolator: Interpolators.STANDARD vs DECELERATE.\n\nOther transitions tested include:\n  - Same transition not in split shade\n  - AOD \u003c-\u003e Lockscreen \u003c-\u003e Launcher\n  - Fold / unfold, and rotate\n  - Pick a different wallpaper/clock\n\nBug: 296907535\nTest: On split shade with media, turn on/off flashlight via shortcut.\nTest: With CHANGING duration \u003d 10000, test other transitions with media.\nTest: KeyguardStatusViewControllerTest\nChange-Id: I9f41d75edd54196706e9f6009c9089148ffe7707\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "f9cc03eea288f5a5c239a64014794ebae472d501",
      "old_mode": 33188,
      "old_path": "packages/SystemUI/src/com/android/keyguard/KeyguardStatusView.java",
      "new_id": "d8486029a9030dfe3a1eb5c5532d9717a46f3a13",
      "new_mode": 33188,
      "new_path": "packages/SystemUI/src/com/android/keyguard/KeyguardStatusView.java"
    },
    {
      "type": "modify",
      "old_id": "67b705222977efbc89c0ff346cbd91c5865ac88e",
      "old_mode": 33188,
      "old_path": "packages/SystemUI/src/com/android/keyguard/KeyguardStatusViewController.java",
      "new_id": "79642bdae1ce4057c5c8c41b8d2b55ed06ea4e36",
      "new_mode": 33188,
      "new_path": "packages/SystemUI/src/com/android/keyguard/KeyguardStatusViewController.java"
    },
    {
      "type": "modify",
      "old_id": "989164ebf174016b3d1ff8ee508c8bee71150794",
      "old_mode": 33188,
      "old_path": "packages/SystemUI/tests/src/com/android/keyguard/KeyguardStatusViewControllerBaseTest.java",
      "new_id": "3b8e02f7455a8e4288b90fad664fdb6fe1f386fc",
      "new_mode": 33188,
      "new_path": "packages/SystemUI/tests/src/com/android/keyguard/KeyguardStatusViewControllerBaseTest.java"
    },
    {
      "type": "modify",
      "old_id": "9a908d778943fb1b57ad31060996696c79ee82e3",
      "old_mode": 33188,
      "old_path": "packages/SystemUI/tests/src/com/android/keyguard/KeyguardStatusViewControllerTest.java",
      "new_id": "948942fbce3ad6b4210a96ad354a85c3977f2ce6",
      "new_mode": 33188,
      "new_path": "packages/SystemUI/tests/src/com/android/keyguard/KeyguardStatusViewControllerTest.java"
    },
    {
      "type": "modify",
      "old_id": "58d372c68c55440c6092029bd8936575ba768a5b",
      "old_mode": 33188,
      "old_path": "packages/SystemUI/tests/src/com/android/keyguard/KeyguardStatusViewTest.kt",
      "new_id": "86439e557f8b4da0a1c48375599461aaf5b95a52",
      "new_mode": 33188,
      "new_path": "packages/SystemUI/tests/src/com/android/keyguard/KeyguardStatusViewTest.kt"
    }
  ]
}
