Offset 1, 40 lines modifiedOffset 1, 45 lines modified
  
1 package·com.android.car.ui.core;1 package·com.android.car.ui.core;
  
2 import·java.util.Iterator;2 import·java.util.Iterator;
3 import·com.android.car.ui.utils.CarUiUtils; 
4 import·androidx.fragment.app.Fragment;3 import·androidx.fragment.app.Fragment;
5 import·androidx.fragment.app.FragmentActivity;4 import·androidx.fragment.app.FragmentActivity;
6 import·android.view.View$OnLayoutChangeListener;5 import·android.view.View$OnLayoutChangeListener;
 6 import·com.android.car.ui.utils.CarUiUtils;
 7 import·com.android.car.ui.R$id;
7 import·com.android.car.ui.baselayout.InsetsChangedListener;8 import·com.android.car.ui.baselayout.InsetsChangedListener;
8 import·com.android.car.ui.baselayout.Insets;9 import·com.android.car.ui.baselayout.Insets;
9 import·android.view.View;10 import·android.view.View;
10 import·android.app.Activity;11 import·android.app.Activity;
11 import·android.view.ViewTreeObserver$OnGlobalLayoutListener;12 import·android.view.ViewTreeObserver$OnGlobalLayoutListener;
  
12 class·BaseLayoutController$InsetsUpdater·implements·ViewTreeObserver$OnGlobalLayoutListener13 public·final·class·BaseLayoutController$InsetsUpdater·implements·ViewTreeObserver$OnGlobalLayoutListener
13 {14 {
14 ····private·static·final·String·BOTTOM_INSET_TAG·=·"car_ui_bottom_inset";15 ····private·static·final·String·BOTTOM_INSET_TAG·=·"car_ui_bottom_inset";
15 ····private·static·final·String·LEFT_INSET_TAG·=·"car_ui_left_inset";16 ····private·static·final·String·LEFT_INSET_TAG·=·"car_ui_left_inset";
16 ····private·static·final·String·RIGHT_INSET_TAG·=·"car_ui_right_inset";17 ····private·static·final·String·RIGHT_INSET_TAG·=·"car_ui_right_inset";
17 ····private·static·final·String·TOP_INSET_TAG·=·"car_ui_top_inset";18 ····private·static·final·String·TOP_INSET_TAG·=·"car_ui_top_inset";
18 ····private·final·Activity·mActivity;19 ····private·final·Activity·mActivity;
19 ····private·final·View·mBottomInsetView;20 ····private·final·View·mBottomInsetView;
 21 ····private·final·View·mContentView;
 22 ····private·final·View·mContentViewContainer;
20 ····private·Insets·mInsets;23 ····private·Insets·mInsets;
21 ····private·InsetsChangedListener·mInsetsChangedListenerDelegate;24 ····private·InsetsChangedListener·mInsetsChangedListenerDelegate;
22 ····private·boolean·mInsetsDirty;25 ····private·boolean·mInsetsDirty;
23 ····private·final·View·mLeftInsetView;26 ····private·final·View·mLeftInsetView;
24 ····private·final·View·mRightInsetView;27 ····private·final·View·mRightInsetView;
25 ····private·final·View·mTopInsetView;28 ····private·final·View·mTopInsetView;
26 ····29 ····
27 ····BaseLayoutController$InsetsUpdater(final·Activity·mActivity,·View·view,·final·View·view2)·{30 ····public·BaseLayoutController$InsetsUpdater(final·Activity·mActivity,·View·view,·final·View·mContentView)·{
28 ········this.mInsetsDirty·=·true;31 ········this.mInsetsDirty·=·true;
29 ········this.mInsets·=·new·Insets();32 ········this.mInsets·=·new·Insets();
30 ········this.mActivity·=·mActivity;33 ········this.mActivity·=·mActivity;
 34 ········this.mContentView·=·mContentView;
 35 ········this.mContentViewContainer·=·CarUiUtils.requireViewByRefId(view,·R$id.car_ui_base_layout_content_container);
31 ········this.mLeftInsetView·=·view.findViewWithTag((Object)"car_ui_left_inset");36 ········this.mLeftInsetView·=·view.findViewWithTag((Object)"car_ui_left_inset");
32 ········this.mRightInsetView·=·view.findViewWithTag((Object)"car_ui_right_inset");37 ········this.mRightInsetView·=·view.findViewWithTag((Object)"car_ui_right_inset");
33 ········this.mTopInsetView·=·view.findViewWithTag((Object)"car_ui_top_inset");38 ········this.mTopInsetView·=·view.findViewWithTag((Object)"car_ui_top_inset");
34 ········this.mBottomInsetView·=·view.findViewWithTag((Object)"car_ui_bottom_inset");39 ········this.mBottomInsetView·=·view.findViewWithTag((Object)"car_ui_bottom_inset");
35 ········final·-$$Lambda$BaseLayoutController$InsetsUpdater$zzCIB0038f8j1iFmYePHWvmc4w4·-$$Lambda$BaseLayoutController$InsetsUpdater$zzCIB0038f8j1iFmYePHWvmc4w4·=·new·-$$Lambda$BaseLayoutController$InsetsUpdater$zzCIB0038f8j1iFmYePHWvmc4w4(this);40 ········final·-$$Lambda$BaseLayoutController$InsetsUpdater$zzCIB0038f8j1iFmYePHWvmc4w4·-$$Lambda$BaseLayoutController$InsetsUpdater$zzCIB0038f8j1iFmYePHWvmc4w4·=·new·-$$Lambda$BaseLayoutController$InsetsUpdater$zzCIB0038f8j1iFmYePHWvmc4w4(this);
36 ········view·=·this.mLeftInsetView;41 ········view·=·this.mLeftInsetView;
37 ········if·(view·!=·null)·{42 ········if·(view·!=·null)·{
Offset 48, 15 lines modifiedOffset 53, 16 lines modified
48 ········if·(view·!=·null)·{53 ········if·(view·!=·null)·{
49 ············view.addOnLayoutChangeListener((View$OnLayoutChangeListener)-$$Lambda$BaseLayoutController$InsetsUpdater$zzCIB0038f8j1iFmYePHWvmc4w4);54 ············view.addOnLayoutChangeListener((View$OnLayoutChangeListener)-$$Lambda$BaseLayoutController$InsetsUpdater$zzCIB0038f8j1iFmYePHWvmc4w4);
50 ········}55 ········}
51 ········view·=·this.mBottomInsetView;56 ········view·=·this.mBottomInsetView;
52 ········if·(view·!=·null)·{57 ········if·(view·!=·null)·{
53 ············view.addOnLayoutChangeListener((View$OnLayoutChangeListener)-$$Lambda$BaseLayoutController$InsetsUpdater$zzCIB0038f8j1iFmYePHWvmc4w4);58 ············view.addOnLayoutChangeListener((View$OnLayoutChangeListener)-$$Lambda$BaseLayoutController$InsetsUpdater$zzCIB0038f8j1iFmYePHWvmc4w4);
54 ········}59 ········}
55 ········view2.addOnLayoutChangeListener((View$OnLayoutChangeListener)-$$Lambda$BaseLayoutController$InsetsUpdater$zzCIB0038f8j1iFmYePHWvmc4w4);60 ········mContentView.addOnLayoutChangeListener((View$OnLayoutChangeListener)-$$Lambda$BaseLayoutController$InsetsUpdater$zzCIB0038f8j1iFmYePHWvmc4w4);
 61 ········this.mContentViewContainer.addOnLayoutChangeListener((View$OnLayoutChangeListener)-$$Lambda$BaseLayoutController$InsetsUpdater$zzCIB0038f8j1iFmYePHWvmc4w4);
56 ····}62 ····}
57 ····63 ····
58 ····private·static·int·getBottomOfView(final·View·view)·{64 ····private·static·int·getBottomOfView(final·View·view)·{
59 ········final·int[]·array·=·new·int[2];65 ········final·int[]·array·=·new·int[2];
60 ········view.getLocationOnScreen(array);66 ········view.getLocationOnScreen(array);
61 ········return·array[1]·+·view.getHeight();67 ········return·array[1]·+·view.getHeight();
62 ····}68 ····}
Offset 104, 62 lines modifiedOffset 110, 49 lines modified
104 ························n2·=·n;110 ························n2·=·n;
105 ····················}111 ····················}
106 ················}112 ················}
107 ············}113 ············}
108 ············n·=·n2;114 ············n·=·n2;
109 ········}115 ········}
110 ········if·(n·==·0)·{116 ········if·(n·==·0)·{
111 ············CarUiUtils.requireViewByRefId(this.mActivity.getWindow().getDecorView(),·16908290).setPadding(mInsets.getLeft(),·mInsets.getTop(),·mInsets.getRight(),·mInsets.getBottom());117 ············this.mContentView.setPadding(mInsets.getLeft(),·mInsets.getTop(),·mInsets.getRight(),·mInsets.getBottom());
112 ········}118 ········}
113 ····}119 ····}
114 ····120 ····
115 ····Insets·getInsets()·{121 ····Insets·getInsets()·{
116 ········return·this.mInsets;122 ········return·this.mInsets;
117 ····}123 ····}
118 ····124 ····
119 ····void·installListeners()·{125 ····public·void·installListeners()·{
120 ········this.mActivity.getWindow().getDecorView().getViewTreeObserver().addOnGlobalLayoutListener((ViewTreeObserver$OnGlobalLayoutListener)this);126 ········this.mContentView.getRootView().getViewTreeObserver().addOnGlobalLayoutListener((ViewTreeObserver$OnGlobalLayoutListener)this);
121 ····}127 ····}
122 ····128 ····
123 ····public·void·onGlobalLayout()·{129 ····public·void·onGlobalLayout()·{
124 ········if·(!this.mInsetsDirty)·{130 ········if·(!this.mInsetsDirty)·{
125 ············return;131 ············return;
126 ········}132 ········}
127 ········final·View·requireViewByRefId·=·CarUiUtils.requireViewByRefId(this.mActivity.getWindow().getDecorView(),·16908290);133 ········int·max·=·Math.max(0,·getTopOfView(this.mContentViewContainer)·-·getTopOfView(this.mContentView));
 134 ········int·max2·=·Math.max(0,·getLeftOfView(this.mContentViewContainer)·-·getLeftOfView(this.mContentView));
 135 ········int·max3·=·Math.max(0,·getRightOfView(this.mContentView)·-·getRightOfView(this.mContentViewContainer));
 136 ········int·max4·=·Math.max(0,·getBottomOfView(this.mContentView)·-·getBottomOfView(this.mContentViewContainer));
128 ········final·View·mTopInsetView·=·this.mTopInsetView;137 ········final·View·mTopInsetView·=·this.mTopInsetView;
129 ········int·max; 
130 ········if·(mTopInsetView·!=·null)·{138 ········if·(mTopInsetView·!=·null)·{
131 ············max·=·Math.max(0,·getBottomOfView(mTopInsetView)·-·getTopOfView(requireViewByRefId));139 ············max·+=·Math.max(0,·getBottomOfView(mTopInsetView)·-·getTopOfView(this.mContentViewContainer));
132 ········}140 ········}
133 ········else·{ 
134 ············max·=·0; 
135 ········} 
136 ········int·max2; 
137 ········if·(this.mBottomInsetView·!=·null)·{141 ········if·(this.mBottomInsetView·!=·null)·{
138 ············max2·=·Math.max(0,·getBottomOfView(requireViewByRefId)·-·getTopOfView(this.mBottomInsetView));142 ············max4·+=·Math.max(0,·getBottomOfView(this.mContentViewContainer)·-·getTopOfView(this.mBottomInsetView));
139 ········} 
140 ········else·{ 
141 ············max2·=·0; 
142 ········}143 ········}
143 ········final·View·mLeftInsetView·=·this.mLeftInsetView;144 ········final·View·mLeftInsetView·=·this.mLeftInsetView;
144 ········int·max3; 
145 ········if·(mLeftInsetView·!=·null)·{145 ········if·(mLeftInsetView·!=·null)·{
146 ············max3·=·Math.max(0,·getRightOfView(mLeftInsetView)·-·getLeftOfView(requireViewByRefId));146 ············max2·+=·Math.max(0,·getRightOfView(mLeftInsetView)·-·getLeftOfView(this.mContentViewContainer));
147 ········} 
148 ········else·{ 
149 ············max3·=·0; 
150 ········}147 ········}
151 ········int·max4; 
152 ········if·(this.mRightInsetView·!=·null)·{148 ········if·(this.mRightInsetView·!=·null)·{
153 ············max4·=·Math.max(0,·getRightOfView(requireViewByRefId)·-·getLeftOfView(this.mRightInsetView));149 ············max3·+=·Math.max(0,·getRightOfView(this.mContentViewContainer)·-·getLeftOfView(this.mRightInsetView));
154 ········} 
155 ········else·{ 
156 ············max4·=·0; 
157 ········}150 ········}
158 ········final·Insets·mInsets·=·new·Insets(max3,·max,·max4,·max2);151 ········final·Insets·mInsets·=·new·Insets(max2,·max,·max3,·max4);
159 ········this.mInsetsDirty·=·false;152 ········this.mInsetsDirty·=·false;
160 ········if·(!mInsets.equals((Object)this.mInsets))·{153 ········if·(!mInsets.equals((Object)this.mInsets))·{
161 ············this.dispatchNewInsets(this.mInsets·=·mInsets);154 ············this.dispatchNewInsets(this.mInsets·=·mInsets);
162 ········}155 ········}
163 ····}156 ····}
164 ····157 ····
165 ····public·void·replaceInsetsChangedListenerWith(final·InsetsChangedListener·mInsetsChangedListenerDelegate)·{158 ····public·void·replaceInsetsChangedListenerWith(final·InsetsChangedListener·mInsetsChangedListenerDelegate)·{