Add an example for sysui_oem_diff.sh am: a98a264d46 am: f7a84695ba am: f7035f2301 am: fa4d5bd6cc

Original change: https://android-review.googlesource.com/c/platform/tools/aadevtools/+/1642383

Change-Id: I41993a566bf82c5cde183daabdff340e606df81f
diff --git a/README.md b/README.md
index e020eb5..fb30ecf 100644
--- a/README.md
+++ b/README.md
@@ -2,27 +2,40 @@
 
 AADevT contains tools for AA device developers to improve their productivity.
 
-* Fully unbundle from Android versions, and use the AOSP trunk based development model.
+* Fully unbundle from Android versions, and use the AOSP trunk based
+development model.
 
 * Bridge the app ecosystem for [Android Automotive OS](https://developer.android.com/training/cars)
 because device developers are the key producers for the core apps.
 
-* Leverage [Android app developer tools](https://developer.android.com/studio/intro) that a few
-million developers use.
+* Leverage [Android app developer tools](https://developer.android.com/studio/intro)
+that a few million developers use.
 
 [TOC]
 
-## Dev
-This contains tools designed specifically to simplify the AA device development workflows.
+## Dev Tools
+This contains tools designed specifically to simplify the AA device development
+workflows.
 
-* clone_proj.sh to clone a git project for the unbundled development workflows in instead of the
-whole Android repo.
+* clone_proj.sh to clone a git project for the unbundled development workflows
+in instead of the whole Android repo.
 
-* sysui_oem_diff.sh to generate a summary of code changes between 2 revisions. The output will be
-useful to discuss the pain points w.r.t. sysui/notif customization.
+## Chnage Reports
+
+### sysui_oem_diff.sh
+sysui_oem_diff.sh generates a summary of code changes between 2 revisions.
+Which gives you a rough idea of changes on files and Lines of Code.
+
+* The report is especailly useful to discuss the pain points on sysui/notif
+customization with AAOS team.
+* For example, to generate the change report for Android 11 to 10 QPR3: [sysui_gcar_android10-qpr3-release_android11-release.txt](resources/sysui_gcar_android10-qpr3-release_android11-release.txt)
+
+```
+$ ./sysui_oem_diff.sh ~/Android/android11-release remotes/aosp/android10-qpr3-release remotes/aosp/android11-release > sysui_gcar_android10-qpr3-release_android11-release.txt
+```
 
 ## System Performance Tuning
-AAOS system performance turning is hard. Here are the tools to make it a bit easier for the device
-developers.
+AAOS system performance turning is hard. Here are the tools to make it a bit
+easier for the device developers.
 
 * time_to_init_disp.sh to measure an app's [Time the Initial Display](https://developer.android.com/topic/performance/vitals/launch-time#time-initial)
diff --git a/dev/resource/sysui_gcar_android10-qpr3-release_android11-release.txt b/dev/resource/sysui_gcar_android10-qpr3-release_android11-release.txt
new file mode 100644
index 0000000..cf315d6
--- /dev/null
+++ b/dev/resource/sysui_gcar_android10-qpr3-release_android11-release.txt
@@ -0,0 +1,239 @@
+Android Checkout: /sdb/android/aosp-master
+SysUI Base Pattern: packages/CarSystemUI
+SysUI Base Project: frameworks/base
+SysUI Ext Pattern: AAECarSystemUI
+SysUI Ext Project: vendor/auto/embedded
+Notif Pattern: car/notification
+Notif Project: packages/apps/Car/Notification
+Overlay Pattern: res/values
+RRO Pattern: /rro/
+Overlay Project: packages/services/Car
+SysUI Raw Pattern: SystemUI
+
+
+----------------------------------------------------------
+Customized Code
+----------------------------------------------------------
+*****************************
+Base SysUI
+*****************************
+Working directory: /sdb/android/aosp-master/frameworks/base
+Running:
+git diff --stat remotes/aosp/android10-qpr3-release remotes/aosp/android11-release -- `find . -name '*.java' | egrep -v 'test' | egrep 'packages/CarSystemUI'`
+ .../com/android/systemui/CarComponentBinder.java   |  33 ++
+ .../com/android/systemui/CarSystemUIBinder.java    | 202 +++++++
+ .../com/android/systemui/CarSystemUIFactory.java   |  57 +-
+ .../com/android/systemui/CarSystemUIModule.java    | 131 +++-
+ .../android/systemui/CarSystemUIRootComponent.java |  16 +-
+ .../car/CarDeviceProvisionedController.java        |  44 ++
+ .../car/CarDeviceProvisionedControllerImpl.java    | 117 ++++
+ .../systemui/car/CarDeviceProvisionedListener.java |  36 ++
+ .../android/systemui/car/CarServiceProvider.java   |  42 +-
+ .../car/bluetooth/CarBatteryController.java        | 292 +++++++++
+ .../bluetooth/ConnectedDeviceSignalController.java | 272 +++++++++
+ .../systemui/car/hvac/AnimatedTemperatureView.java | 277 +++++++++
+ .../android/systemui/car/hvac/HvacController.java  | 228 +++++++
+ .../car/hvac/TemperatureBackgroundAnimator.java    | 340 +++++++++++
+ .../systemui/car/hvac/TemperatureColorStore.java   | 202 +++++++
+ .../systemui/car/hvac/TemperatureTextAnimator.java | 164 +++++
+ .../systemui/car/hvac/TemperatureTextView.java     |  88 +++
+ .../android/systemui/car/hvac/TemperatureView.java |  56 ++
+ .../car/keyguard/CarKeyguardViewController.java    | 423 +++++++++++++
+ .../car/keyguard/CarKeyguardViewMediator.java      |  54 ++
+ .../systemui/car/navigationbar/AssitantButton.java |  71 +++
+ .../navigationbar/ButtonRoleHolderController.java  | 142 +++++
+ .../ButtonSelectionStateController.java            | 232 ++++++++
+ .../ButtonSelectionStateListener.java              |  62 ++
+ .../car/navigationbar/CarNavigationBar.java        | 604 +++++++++++++++++++
+ .../navigationbar/CarNavigationBarController.java  | 345 +++++++++++
+ .../car/navigationbar/CarNavigationBarView.java    | 174 ++++++
+ .../car/navigationbar/CarNavigationButton.java     | 319 ++++++++++
+ .../navigationbar/NavigationBarViewFactory.java    | 159 +++++
+ .../BottomNotificationPanelViewMediator.java       |  62 ++
+ .../CarHeadsUpNotificationSystemContainer.java     | 110 ++++
+ .../car/notification/CarNotificationModule.java    |  84 +++
+ .../NotificationPanelViewController.java           | 541 +++++++++++++++++
+ .../NotificationPanelViewMediator.java             | 174 ++++++
+ .../notification/NotificationVisibilityLogger.java | 150 +++++
+ .../car/notification/PowerManagerHelper.java       |  71 +++
+ .../TopNotificationPanelViewMediator.java          |  62 ++
+ .../car/sideloaded/SideLoadedAppController.java    |  73 +++
+ .../car/sideloaded/SideLoadedAppDetector.java      | 136 +++++
+ .../car/sideloaded/SideLoadedAppListener.java      | 130 ++++
+ .../sideloaded/SideLoadedAppStateController.java   |  51 ++
+ .../systemui/car/statusbar/CarStatusBar.java       | 519 ++++++++++++++++
+ .../statusbar/CarStatusBarKeyguardViewManager.java | 137 +++++
+ .../systemui/car/statusbar/CarStatusBarModule.java | 283 +++++++++
+ .../systemui/car/statusbar/DozeServiceHost.java    | 130 ++++
+ .../DummyNotificationShadeWindowController.java    |  74 +++
+ .../car/userswitcher/CarStatusBarHeader.java       |  60 ++
+ .../FullScreenUserSwitcherViewController.java      | 124 ++++
+ .../FullscreenUserSwitcherViewMediator.java        |  97 +++
+ .../car/userswitcher/UserGridRecyclerView.java     | 565 ++++++++++++++++++
+ .../car/userswitcher/UserIconProvider.java         | 116 ++++
+ .../UserSwitchTransitionViewController.java        | 161 +++++
+ .../UserSwitchTransitionViewMediator.java          |  85 +++
+ .../ConnectedDeviceVoiceRecognitionNotifier.java   |  95 +++
+ .../car/volume/CarVolumeDialogComponent.java       |  52 ++
+ .../systemui/car/volume/CarVolumeDialogImpl.java   | 658 +++++++++++++++++++++
+ .../android/systemui/car/volume/CarVolumeItem.java | 135 +++++
+ .../systemui/car/volume/CarVolumeItemAdapter.java  |  59 ++
+ .../com/android/systemui/car/volume/VolumeUI.java  | 129 ++++
+ .../car/window/OverlayPanelViewController.java     | 648 ++++++++++++++++++++
+ .../systemui/car/window/OverlayViewController.java | 148 +++++
+ .../window/OverlayViewGlobalStateController.java   | 310 ++++++++++
+ .../systemui/car/window/OverlayViewMediator.java   |  37 ++
+ .../systemui/car/window/OverlayWindowModule.java   |  78 +++
+ .../window/SystemUIOverlayWindowController.java    | 161 +++++
+ .../car/window/SystemUIOverlayWindowManager.java   | 100 ++++
+ 66 files changed, 11712 insertions(+), 75 deletions(-)
+
+*****************************
+Ext SysUI
+*****************************
+sysui is not overwritten as no project at: vendor/auto/embedded
+If there is, change SYSUI_EXT_PROJECT in the script.
+
+*****************************
+Notification
+*****************************
+Working directory: /sdb/android/aosp-master/packages/apps/Car/Notification
+Running:
+git diff --stat remotes/aosp/android10-qpr3-release remotes/aosp/android11-release -- `find . -name '*.java' | egrep -v 'test' | egrep 'car/notification'`
+ src/com/android/car/notification/AlertEntry.java   |  95 ++++
+ src/com/android/car/notification/Beeper.java       |  12 +-
+ .../CarHeadsUpNotificationManager.java             | 590 +++++++--------------
+ .../CarNotificationCenterActivity.java             |   4 +-
+ .../car/notification/CarNotificationDiff.java      |  69 +--
+ .../CarNotificationItemController.java             |  27 +
+ .../CarNotificationItemTouchListener.java          |  97 ++--
+ .../car/notification/CarNotificationListener.java  | 138 +++--
+ .../car/notification/CarNotificationTypeItem.java  | 177 +++++++
+ .../car/notification/CarNotificationView.java      | 204 ++++++-
+ .../notification/CarNotificationViewAdapter.java   | 275 +++-------
+ .../CarUxRestrictionManagerWrapper.java            |  14 +-
+ src/com/android/car/notification/HeadsUpEntry.java |  68 +--
+ .../car/notification/NotificationApplication.java  |  17 +-
+ .../NotificationClickHandlerFactory.java           | 221 +++++---
+ .../car/notification/NotificationDataManager.java  | 102 ++--
+ .../car/notification/NotificationGroup.java        |  41 +-
+ .../car/notification/NotificationUtils.java        | 225 ++++++--
+ .../notification/NotificationViewController.java   |  29 +-
+ .../car/notification/NotificationViewType.java     |  46 +-
+ .../car/notification/PreprocessingManager.java     | 140 ++---
+ .../CarHeadsUpNotificationAppContainer.java        |  92 ++++
+ .../headsup/CarHeadsUpNotificationContainer.java   |  39 ++
+ ...arHeadsUpNotificationBottomAnimationHelper.java |  61 +++
+ ...CarHeadsUpNotificationRightAnimationHelper.java |  87 +++
+ .../CarHeadsUpNotificationTopAnimationHelper.java  |  59 +++
+ .../HeadsUpNotificationAnimationHelper.java        |  34 ++
+ .../template/BasicNotificationViewHolder.java      |  18 +-
+ .../template/CallNotificationViewHolder.java       |  18 +-
+ .../template/CarNotificationActionsView.java       | 118 +++--
+ .../template/CarNotificationBaseViewHolder.java    |  70 +--
+ .../template/CarNotificationBodyView.java          |   6 +-
+ .../template/CarNotificationFooterViewHolder.java  |  26 +-
+ .../template/CarNotificationHeaderView.java        |  87 +--
+ .../template/CarNotificationHeaderViewHolder.java  |  33 +-
+ .../template/EmergencyNotificationViewHolder.java  |  14 +-
+ .../template/GroupNotificationViewHolder.java      |  24 +-
+ .../GroupSummaryNotificationViewHolder.java        |  12 +-
+ .../template/InboxNotificationViewHolder.java      |  18 +-
+ .../template/MessageNotificationViewHolder.java    |  32 +-
+ .../template/NavigationNotificationViewHolder.java |  18 +-
+ .../template/ProgressNotificationViewHolder.java   |  24 +-
+ 42 files changed, 2152 insertions(+), 1329 deletions(-)
+
+
+
+----------------------------------------------------------
+Customized Configs
+----------------------------------------------------------
+*****************************
+Resource Overlays SysUI
+*****************************
+Working directory: /sdb/android/aosp-master/packages/services/Car
+Running:
+git diff --stat remotes/aosp/android10-qpr3-release remotes/aosp/android11-release -- `find . -name '*.xml' | egrep -v '/rro/' | egrep 'res/values' | egrep 'SystemUI'`
+ .../packages/CarSystemUI/res/values/config.xml     | 38 ----------------------
+ 1 file changed, 38 deletions(-)
+
+*****************************
+RROs SysUI
+*****************************
+Working directory: /sdb/android/aosp-master/packages/services/Car
+Query does not return any files: "find . -name '*.xml' | egrep '/rro/' | egrep 'SystemUI'"
+
+*****************************
+Resource Overlays Notification
+*****************************
+Working directory: /sdb/android/aosp-master/packages/services/Car
+Query does not return any files: "find . -name '*.xml' | egrep -v '/rro/' | egrep 'res/values' | egrep 'car/notification'"
+
+*****************************
+RROs Notification
+*****************************
+Working directory: /sdb/android/aosp-master/packages/services/Car
+Query does not return any files: "find . -name '*.xml' | egrep '/rro/' | egrep 'car/notification'"
+
+
+
+----------------------------------------------------------
+Customized Tests
+----------------------------------------------------------
+*****************************
+Base SysUI
+*****************************
+Working directory: /sdb/android/aosp-master/frameworks/base
+Running:
+git diff --stat remotes/aosp/android10-qpr3-release remotes/aosp/android11-release -- `find . -name '*.java' | egrep '*test*' | egrep 'packages/CarSystemUI'`
+ ...sPlusVerifySysuiRequiredTestPropertiesTest.java | 214 +++++++
+ .../systemui/car/hvac/HvacControllerTest.java      | 135 +++++
+ .../keyguard/CarKeyguardViewControllerTest.java    | 232 ++++++++
+ .../ButtonRoleHolderControllerTest.java            | 187 +++++++
+ .../ButtonSelectionStateControllerTest.java        | 136 +++++
+ .../CarNavigationBarControllerTest.java            | 437 +++++++++++++++
+ .../car/navigationbar/CarNavigationBarTest.java    | 371 ++++++++++++
+ .../navigationbar/CarNavigationBarViewTest.java    | 100 ++++
+ .../car/navigationbar/CarNavigationButtonTest.java | 289 ++++++++++
+ .../CarHeadsUpNotificationSystemContainerTest.java | 119 ++++
+ .../NotificationVisibilityLoggerTest.java          | 139 +++++
+ .../car/sideloaded/SideLoadedAppDetectorTest.java  | 164 ++++++
+ .../car/sideloaded/SideLoadedAppListenerTest.java  | 241 ++++++++
+ .../UserSwitchTransitionViewControllerTest.java    | 176 ++++++
+ .../UserSwitchTransitionViewMediatorTest.java      |  76 +++
+ ...onnectedDeviceVoiceRecognitionNotifierTest.java |  97 ++++
+ .../car/window/OverlayPanelViewControllerTest.java | 526 +++++++++++++++++
+ .../car/window/OverlayViewControllerTest.java      | 158 ++++++
+ .../OverlayViewGlobalStateControllerTest.java      | 619 +++++++++++++++++++++
+ 19 files changed, 4416 insertions(+)
+
+*****************************
+Ext SysUI
+*****************************
+sysui is not overwritten as no project at: vendor/auto/embedded
+If there is, change SYSUI_EXT_PROJECT in the script.
+
+*****************************
+Notification
+*****************************
+Working directory: /sdb/android/aosp-master/packages/apps/Car/Notification
+Running:
+git diff --stat remotes/aosp/android10-qpr3-release remotes/aosp/android11-release -- `find . -name '*.java' | egrep '*test*' | egrep 'car/notification'`
+ .../com/android/car/notification/BeeperTest.java   | 225 +++++++
+ .../CarHeadsUpNotificationManagerTest.java         |  62 +-
+ .../car/notification/CarNotificationDiffTest.java  | 122 ++--
+ .../notification/CarNotificationListenerTest.java  | 316 ++++++++++
+ .../notification/CarNotificationTypeItemTest.java  | 248 ++++++++
+ .../CarNotificationViewAdapterTest.java            | 129 ++--
+ .../car/notification/CarNotificationViewTest.java  | 117 ++++
+ .../NotificationClickHandlerFactoryTest.java       | 511 +++++++++++++++
+ .../notification/NotificationDataManagerTest.java  |  50 +-
+ .../car/notification/NotificationGroupTest.java    |  94 ++-
+ .../car/notification/NotificationUtilsTest.java    | 239 +++++++
+ .../car/notification/PreprocessingManagerTest.java | 702 ++++++++++++++++++++-
+ .../template/CarNotificationActionsViewTest.java   | 354 +++++++++++
+ .../testutils/ShadowActivityManager.java           |  43 ++
+ .../testutils/ShadowCarAssistUtils.java            |  22 +-
+ .../testutils/ShadowRingtoneManager.java           |  48 ++
+ 16 files changed, 3098 insertions(+), 184 deletions(-)