Offset 1, 402 lines modifiedOffset 1, 1993 lines modified
1 .class·public·Lcom/android/car/ui/FocusArea;1 .class·public·Lcom/android/car/ui/FocusArea;
2 .super·Landroid/widget/LinearLayout;2 .super·Landroid/widget/LinearLayout;
3 .source·"FocusArea.java"3 .source·"FocusArea.java"
  
  
 4 #·static·fields
 5 .field·private·static·final·INVALID_DIMEN:I·=·-0x1
  
 6 .field·private·static·final·INVALID_DIRECTION:I·=·-0x1
  
 7 .field·private·static·final·NUDGE_DIRECTIONS:Ljava/util/List;
 8 ····.annotation·system·Ldalvik/annotation/Signature;
 9 ········value·=·{
 10 ············"Ljava/util/List<",
 11 ············"Ljava/lang/Integer;",
 12 ············">;"
 13 ········}
 14 ····.end·annotation
 15 .end·field
  
 16 .field·private·static·final·TAG:Ljava/lang/String;·=·"FocusArea"
  
  
4 #·instance·fields17 #·instance·fields
5 .field·private·mBackgroundHighlight:Landroid/graphics/drawable/Drawable;18 .field·private·mBackgroundHighlight:Landroid/graphics/drawable/Drawable;
  
 19 .field·private·mBottomOffset:I
  
 20 .field·private·mClearFocusAreaHistoryWhenRotating:Z
  
 21 .field·private·mDefaultFocusId:I
  
 22 .field·private·mDefaultFocusOverridesHistory:Z
  
 23 .field·private·mDefaultFocusView:Landroid/view/View;
  
6 .field·private·mEnableBackgroundHighlight:Z24 .field·private·mEnableBackgroundHighlight:Z
  
7 .field·private·mEnableForegroundHighlight:Z25 .field·private·mEnableForegroundHighlight:Z
  
 26 .field·private·mFocusedView:Landroid/view/View;
  
8 .field·private·mForegroundHighlight:Landroid/graphics/drawable/Drawable;27 .field·private·mForegroundHighlight:Landroid/graphics/drawable/Drawable;
  
9 .field·private·mHasFocus:Z28 .field·private·mHasFocus:Z
  
 29 .field·private·mLeftOffset:I
  
 30 .field·private·mNudgeShortcutDirection:I
  
 31 .field·private·mNudgeShortcutId:I
  
 32 .field·private·mNudgeShortcutView:Landroid/view/View;
  
10 .field·private·mPaddingBottom:I33 .field·private·mPaddingBottom:I
  
11 .field·private·mPaddingLeft:I34 .field·private·mPaddingLeft:I
  
12 .field·private·mPaddingRight:I35 .field·private·mPaddingRight:I
  
13 .field·private·mPaddingTop:I36 .field·private·mPaddingTop:I
  
 37 .field·private·mPreviousFocusArea:Lcom/android/car/ui/FocusArea;
  
 38 .field·private·mRightOffset:I
  
 39 .field·private·mRotaryCache:Lcom/android/car/ui/RotaryCache;
  
 40 .field·private·mRtl:Z
  
 41 .field·private·mSpecifiedNudgeFocusAreaMap:Ljava/util/Map;
 42 ····.annotation·system·Ldalvik/annotation/Signature;
 43 ········value·=·{
 44 ············"Ljava/util/Map<",
 45 ············"Ljava/lang/Integer;",
 46 ············"Lcom/android/car/ui/FocusArea;",
 47 ············">;"
 48 ········}
 49 ····.end·annotation
 50 .end·field
  
 51 .field·private·mSpecifiedNudgeIdMap:Ljava/util/Map;
 52 ····.annotation·system·Ldalvik/annotation/Signature;
 53 ········value·=·{
 54 ············"Ljava/util/Map<",
 55 ············"Ljava/lang/Integer;",
 56 ············"Ljava/lang/Integer;",
 57 ············">;"
 58 ········}
 59 ····.end·annotation
 60 .end·field
  
 61 .field·private·mTopOffset:I
  
  
14 #·direct·methods62 #·direct·methods
 63 .method·static·constructor·<clinit>()V
 64 ····.locals·3
  
 65 ····const/4·v0,·0x4
  
 66 ····new-array·v0,·v0,·[Ljava/lang/Integer;
  
 67 ····const/16·v1,·0x11
  
 68 ····.line·87
 69 ····invoke-static·{v1},·Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
  
 70 ····move-result-object·v1
  
 71 ····const/4·v2,·0x0
  
 72 ····aput-object·v1,·v0,·v2
  
 73 ····const/16·v1,·0x42
  
 74 ····invoke-static·{v1},·Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
  
 75 ····move-result-object·v1
  
 76 ····const/4·v2,·0x1
  
 77 ····aput-object·v1,·v0,·v2
  
 78 ····const/16·v1,·0x21
  
 79 ····invoke-static·{v1},·Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
  
 80 ····move-result-object·v1
  
 81 ····const/4·v2,·0x2
  
 82 ····aput-object·v1,·v0,·v2
  
 83 ····const/16·v1,·0x82
  
 84 ····invoke-static·{v1},·Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
  
 85 ····move-result-object·v1
  
 86 ····const/4·v2,·0x3
  
 87 ····aput-object·v1,·v0,·v2
  
 88 ····invoke-static·{v0},·Ljava/util/Arrays;->asList([Ljava/lang/Object;)Ljava/util/List;
  
 89 ····move-result-object·v0
  
 90 ····sput-object·v0,·Lcom/android/car/ui/FocusArea;->NUDGE_DIRECTIONS:Ljava/util/List;
  
 91 ····return-void
 92 .end·method
  
15 .method·public·constructor·<init>(Landroid/content/Context;)V93 .method·public·constructor·<init>(Landroid/content/Context;)V
16 ····.locals·094 ····.locals·1
  
17 ····.line·8595 ····.line·195
18 ····invoke-direct·{p0,·p1},·Landroid/widget/LinearLayout;-><init>(Landroid/content/Context;)V96 ····invoke-direct·{p0,·p1},·Landroid/widget/LinearLayout;-><init>(Landroid/content/Context;)V
  
19 ····.line·8697 ····const/4·v0,·0x0
20 ····invoke-direct·{p0},·Lcom/android/car/ui/FocusArea;->init()V 
 98 ····.line·196
 99 ····invoke-direct·{p0,·p1,·v0},·Lcom/android/car/ui/FocusArea;->init(Landroid/content/Context;Landroid/util/AttributeSet;)V
  
21 ····return-void100 ····return-void
22 .end·method101 .end·method
  
23 .method·public·constructor·<init>(Landroid/content/Context;Landroid/util/AttributeSet;)V102 .method·public·constructor·<init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
24 ····.locals·0103 ····.locals·0
  
25 ····.line·90104 ····.line·200
26 ····invoke-direct·{p0,·p1,·p2},·Landroid/widget/LinearLayout;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V105 ····invoke-direct·{p0,·p1,·p2},·Landroid/widget/LinearLayout;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
  
27 ····.line·91106 ····.line·201
28 ····invoke-direct·{p0},·Lcom/android/car/ui/FocusArea;->init()V107 ····invoke-direct·{p0,·p1,·p2},·Lcom/android/car/ui/FocusArea;->init(Landroid/content/Context;Landroid/util/AttributeSet;)V
  
29 ····return-void108 ····return-void
30 .end·method109 .end·method
  
31 .method·public·constructor·<init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V110 .method·public·constructor·<init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
32 ····.locals·0111 ····.locals·0
  
33 ····.line·95112 ····.line·205
34 ····invoke-direct·{p0,·p1,·p2,·p3},·Landroid/widget/LinearLayout;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V113 ····invoke-direct·{p0,·p1,·p2,·p3},·Landroid/widget/LinearLayout;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
  
35 ····.line·96114 ····.line·206
36 ····invoke-direct·{p0},·Lcom/android/car/ui/FocusArea;->init()V115 ····invoke-direct·{p0,·p1,·p2},·Lcom/android/car/ui/FocusArea;->init(Landroid/content/Context;Landroid/util/AttributeSet;)V
  
37 ····return-void116 ····return-void
38 .end·method117 .end·method
  
39 .method·public·constructor·<init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V118 .method·public·constructor·<init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
40 ····.locals·0119 ····.locals·0
  
41 ····.line·101120 ····.line·211
42 ····invoke-direct·{p0,·p1,·p2,·p3,·p4},·Landroid/widget/LinearLayout;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V121 ····invoke-direct·{p0,·p1,·p2,·p3,·p4},·Landroid/widget/LinearLayout;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
  
43 ····.line·102122 ····.line·212
44 ····invoke-direct·{p0},·Lcom/android/car/ui/FocusArea;->init()V123 ····invoke-direct·{p0,·p1,·p2},·Lcom/android/car/ui/FocusArea;->init(Landroid/content/Context;Landroid/util/AttributeSet;)V
  
45 ····return-void124 ····return-void
46 .end·method125 .end·method
  
47 .method·private·init()V126 .method·private·focusDefaultFocusView()Z
48 ····.locals·3127 ····.locals·1
  
49 ····.line·106128 ····.line·514
50 ····invoke-virtual·{p0},·Landroid/widget/LinearLayout;->getContext()Landroid/content/Context;129 ····iget-object·v0,·p0,·Lcom/android/car/ui/FocusArea;->mDefaultFocusView:Landroid/view/View;
  
51 ····move-result-object·v0130 ····invoke-direct·{p0,·v0},·Lcom/android/car/ui/FocusArea;->requestFocus(Landroid/view/View;)Z
  
52 ····invoke-virtual·{v0},·Landroid/content/Context;->getResources()Landroid/content/res/Resources;131 ····move-result·v0
  
 132 ····return·v0
 133 .end·method
  
 134 .method·private·focusOnDescendant()Z
 135 ····.locals·2
  
 136 ····.line·483
 137 ····invoke-direct·{p0},·Lcom/android/car/ui/FocusArea;->focusOnFocusedByDefaultView()Z
  
 138 ····move-result·v0
  
 139 ····const/4·v1,·0x1
  
 140 ····if-eqz·v0,·:cond_0
  
 141 ····return·v1
  
 142 ····.line·486
 143 ····:cond_0
 144 ····invoke-direct·{p0},·Lcom/android/car/ui/FocusArea;->focusOnPrimaryFocusView()Z
  
 145 ····move-result·v0
  
 146 ····if-eqz·v0,·:cond_1
  
 147 ····return·v1
  
 148 ····.line·489
 149 ····:cond_1
 150 ····iget-boolean·v0,·p0,·Lcom/android/car/ui/FocusArea;->mDefaultFocusOverridesHistory:Z
  
 151 ····if-eqz·v0,·:cond_3
  
 152 ····.line·491
 153 ····invoke-direct·{p0},·Lcom/android/car/ui/FocusArea;->focusDefaultFocusView()Z
  
 154 ····move-result·v0
  
 155 ····if-nez·v0,·:cond_2
  
 156 ····invoke-direct·{p0},·Lcom/android/car/ui/FocusArea;->focusOnLastFocusedView()Z
  
 157 ····move-result·v0
  
 158 ····if-eqz·v0,·:cond_4
  
 159 ····:cond_2
 160 ····return·v1
  
 161 ····.line·496
 162 ····:cond_3
 163 ····invoke-direct·{p0},·Lcom/android/car/ui/FocusArea;->focusOnLastFocusedView()Z
  
 164 ····move-result·v0
  
 165 ····if-nez·v0,·:cond_5
  
 166 ····invoke-direct·{p0},·Lcom/android/car/ui/FocusArea;->focusDefaultFocusView()Z
  
 167 ····move-result·v0
  
 168 ····if-eqz·v0,·:cond_4
  
 169 ····goto·:goto_0
  
 170 ····.line·500
 171 ····:cond_4
 172 ····invoke-direct·{p0},·Lcom/android/car/ui/FocusArea;->focusOnFirstFocusableView()Z
  
 173 ····move-result·v0
  
 174 ····return·v0
  
 175 ····:cond_5
 176 ····:goto_0
 177 ····return·v1
 178 .end·method
  
 179 .method·private·focusOnFirstFocusableView()Z
 180 ····.locals·1
  
 181 ····.line·523
 182 ····invoke-static·{p0},·Lcom/android/car/ui/utils/ViewUtils;->findFocusableDescendant(Landroid/view/View;)Landroid/view/View;
  
53 ····move-result-object·v0183 ····move-result-object·v0
  
54 ····sget·v1,·Lcom/android/car/ui/R$bool;->car_ui_enable_focus_area_foreground_highlight:I184 ····.line·524
 185 ····invoke-direct·{p0,·v0},·Lcom/android/car/ui/FocusArea;->requestFocus(Landroid/view/View;)Z
  
55 ····invoke-virtual·{v0,·v1},·Landroid/content/res/Resources;->getBoolean(I)Z186 ····move-result·v0
  
 187 ····return·v0
 188 .end·method
  
 189 .method·private·focusOnFocusedByDefaultView()Z
 190 ····.locals·1
  
 191 ····.line·504
 192 ····invoke-static·{p0},·Lcom/android/car/ui/utils/ViewUtils;->findFocusedByDefaultView(Landroid/view/View;)Landroid/view/View;
  
 193 ····move-result-object·v0
  
 194 ····.line·505
 195 ····invoke-direct·{p0,·v0},·Lcom/android/car/ui/FocusArea;->requestFocus(Landroid/view/View;)Z
  
56 ····move-result·v0196 ····move-result·v0
  
57 ····iput-boolean·v0,·p0,·Lcom/android/car/ui/FocusArea;->mEnableForegroundHighlight:Z197 ····return·v0
 198 .end·method
  
58 ····.line·108199 .method·private·focusOnLastFocusedView()Z
59 ····invoke-virtual·{p0},·Landroid/widget/LinearLayout;->getContext()Landroid/content/Context;200 ····.locals·3
  
 201 ····.line·518
 202 ····iget-object·v0,·p0,·Lcom/android/car/ui/FocusArea;->mRotaryCache:Lcom/android/car/ui/RotaryCache;
  
 203 ····invoke-static·{},·Landroid/os/SystemClock;->uptimeMillis()J
  
 204 ····move-result-wide·v1
  
 205 ····invoke-virtual·{v0,·v1,·v2},·Lcom/android/car/ui/RotaryCache;->getFocusedView(J)Landroid/view/View;
  
60 ····move-result-object·v0206 ····move-result-object·v0
  
61 ····invoke-virtual·{v0},·Landroid/content/Context;->getResources()Landroid/content/res/Resources;207 ····.line·519
 208 ····invoke-direct·{p0,·v0},·Lcom/android/car/ui/FocusArea;->requestFocus(Landroid/view/View;)Z
  
 209 ····move-result·v0
  
 210 ····return·v0
 211 .end·method
  
 212 .method·private·focusOnPrimaryFocusView()Z
 213 ····.locals·1
  
 214 ····.line·509
 215 ····invoke-static·{p0},·Lcom/android/car/ui/utils/ViewUtils;->findPrimaryFocusView(Landroid/view/View;)Landroid/view/View;
  
62 ····move-result-object·v0216 ····move-result-object·v0
  
63 ····sget·v1,·Lcom/android/car/ui/R$bool;->car_ui_enable_focus_area_background_highlight:I217 ····.line·510
 218 ····invoke-direct·{p0,·v0},·Lcom/android/car/ui/FocusArea;->requestFocus(Landroid/view/View;)Z
  
64 ····invoke-virtual·{v0,·v1},·Landroid/content/res/Resources;->getBoolean(I)Z219 ····move-result·v0
  
 220 ····return·v0
 221 .end·method
  
 222 .method·private·static·getAncestorFocusArea(Landroid/view/View;)Lcom/android/car/ui/FocusArea;
 223 ····.locals·1
  
 224 ····.line·600
 225 ····invoke-virtual·{p0},·Landroid/view/View;->getParent()Landroid/view/ViewParent;
  
 226 ····move-result-object·p0
  
 227 ····:goto_0
 228 ····if-eqz·p0,·:cond_1
  
 229 ····.line·602
 230 ····instance-of·v0,·p0,·Lcom/android/car/ui/FocusArea;
  
 231 ····if-eqz·v0,·:cond_0
  
 232 ····.line·603
 233 ····check-cast·p0,·Lcom/android/car/ui/FocusArea;
  
 234 ····return-object·p0
  
 235 ····.line·605
 236 ····:cond_0
 237 ····invoke-interface·{p0},·Landroid/view/ViewParent;->getParent()Landroid/view/ViewParent;
  
 238 ····move-result-object·p0
  
 239 ····goto·:goto_0
  
 240 ····:cond_1
 241 ····const/4·p0,·0x0
  
 242 ····return-object·p0
 243 .end·method
  
 244 .method·private·static·getNudgeDirection(Landroid/os/Bundle;)I
 245 ····.locals·2
  
 246 ····const/4·v0,·-0x1
  
 247 ····if-nez·p0,·:cond_0
  
 248 ····goto·:goto_0
  
 249 ····:cond_0
 250 ····const-string·v1,·"com.android.car.ui.utils.NUDGE_DIRECTION"
  
 251 ····.line·569
 252 ····invoke-virtual·{p0,·v1,·v0},·Landroid/os/Bundle;->getInt(Ljava/lang/String;I)I
  
65 ····move-result·v0253 ····move-result·v0
  
66 ····iput-boolean·v0,·p0,·Lcom/android/car/ui/FocusArea;->mEnableBackgroundHighlight:Z254 ····:goto_0
 255 ····return·v0
 256 .end·method
  
 257 .method·private·static·getOppositeDirection(I)I
 258 ····.locals·4
  
 259 ····const/16·v0,·0x42
  
 260 ····const/16·v1,·0x11
  
 261 ····if-eq·p0,·v1,·:cond_3
  
 262 ····const/16·v2,·0x82
  
 263 ····const/16·v3,·0x21
  
 264 ····if-eq·p0,·v3,·:cond_2
  
 265 ····if-eq·p0,·v0,·:cond_1
  
 266 ····if-ne·p0,·v2,·:cond_0
  
 267 ····return·v3
  
 268 ····.line·595
 269 ····:cond_0
 270 ····new-instance·p0,·Ljava/lang/IllegalArgumentException;
  
 271 ····const-string·v0,·"direction·must·be·FOCUS_UP,·FOCUS_DOWN,·FOCUS_LEFT,·or·FOCUS_RIGHT."
  
 272 ····invoke-direct·{p0,·v0},·Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
  
 273 ····throw·p0
  
 274 ····:cond_1
 275 ····return·v1
  
67 ····.line·110276 ····:cond_2
 277 ····return·v2
  
 278 ····:cond_3
 279 ····return·v0
 280 .end·method
  
 281 .method·private·getSpecifiedFocusArea(I)Lcom/android/car/ui/FocusArea;
 282 ····.locals·1
  
 283 ····.line·612
 284 ····invoke-direct·{p0},·Lcom/android/car/ui/FocusArea;->maybeInitializeSpecifiedFocusAreas()V
  
 285 ····.line·613
 286 ····iget-object·v0,·p0,·Lcom/android/car/ui/FocusArea;->mSpecifiedNudgeFocusAreaMap:Ljava/util/Map;
  
 287 ····invoke-static·{p1},·Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
  
 288 ····move-result-object·p1
  
 289 ····invoke-interface·{v0,·p1},·Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
  
 290 ····move-result-object·p1
  
 291 ····check-cast·p1,·Lcom/android/car/ui/FocusArea;
  
 292 ····return-object·p1
 293 .end·method
  
 294 .method·private·init(Landroid/content/Context;Landroid/util/AttributeSet;)V
 295 ····.locals·5
  
 296 ····.line·216
68 ····invoke-virtual·{p0},·Landroid/widget/LinearLayout;->getContext()Landroid/content/Context;297 ····invoke-virtual·{p0},·Landroid/widget/LinearLayout;->getContext()Landroid/content/Context;
  
69 ····move-result-object·v0298 ····move-result-object·v0
  
70 ····invoke-virtual·{v0},·Landroid/content/Context;->getResources()Landroid/content/res/Resources;299 ····invoke-virtual·{v0},·Landroid/content/Context;->getResources()Landroid/content/res/Resources;
  
71 ····move-result-object·v0300 ····move-result-object·v0
  
 301 ····.line·217
 302 ····sget·v1,·Lcom/android/car/ui/R$bool;->car_ui_enable_focus_area_foreground_highlight:I
  
 303 ····invoke-virtual·{v0,·v1},·Landroid/content/res/Resources;->getBoolean(I)Z
  
 304 ····move-result·v1
  
 305 ····iput-boolean·v1,·p0,·Lcom/android/car/ui/FocusArea;->mEnableForegroundHighlight:Z
  
 306 ····.line·219
 307 ····sget·v1,·Lcom/android/car/ui/R$bool;->car_ui_enable_focus_area_background_highlight:I
  
 308 ····invoke-virtual·{v0,·v1},·Landroid/content/res/Resources;->getBoolean(I)Z
  
 309 ····move-result·v1
  
 310 ····iput-boolean·v1,·p0,·Lcom/android/car/ui/FocusArea;->mEnableBackgroundHighlight:Z
  
 311 ····.line·221
72 ····sget·v1,·Lcom/android/car/ui/R$drawable;->car_ui_focus_area_foreground_highlight:I312 ····sget·v1,·Lcom/android/car/ui/R$drawable;->car_ui_focus_area_foreground_highlight:I
  
73 ····.line·111313 ····.line·222
74 ····invoke-virtual·{p0},·Landroid/widget/LinearLayout;->getContext()Landroid/content/Context;314 ····invoke-virtual·{p0},·Landroid/widget/LinearLayout;->getContext()Landroid/content/Context;
  
75 ····move-result-object·v2315 ····move-result-object·v2
  
76 ····invoke-virtual·{v2},·Landroid/content/Context;->getTheme()Landroid/content/res/Resources$Theme;316 ····invoke-virtual·{v2},·Landroid/content/Context;->getTheme()Landroid/content/res/Resources$Theme;
  
77 ····move-result-object·v2317 ····move-result-object·v2
  
78 ····.line·110318 ····.line·221
79 ····invoke-virtual·{v0,·v1,·v2},·Landroid/content/res/Resources;->getDrawable(ILandroid/content/res/Resources$Theme;)Landroid/graphics/drawable/Drawable;319 ····invoke-virtual·{v0,·v1,·v2},·Landroid/content/res/Resources;->getDrawable(ILandroid/content/res/Resources$Theme;)Landroid/graphics/drawable/Drawable;
  
80 ····move-result-object·v0320 ····move-result-object·v1
  
81 ····iput-object·v0,·p0,·Lcom/android/car/ui/FocusArea;->mForegroundHighlight:Landroid/graphics/drawable/Drawable; 
  
82 ····.line·112321 ····iput-object·v1,·p0,·Lcom/android/car/ui/FocusArea;->mForegroundHighlight:Landroid/graphics/drawable/Drawable;
83 ····invoke-virtual·{p0},·Landroid/widget/LinearLayout;->getContext()Landroid/content/Context; 
  
84 ····move-result-object·v0 
  
85 ····invoke-virtual·{v0},·Landroid/content/Context;->getResources()Landroid/content/res/Resources; 
  
86 ····move-result-object·v0 
  
 322 ····.line·223
87 ····sget·v1,·Lcom/android/car/ui/R$drawable;->car_ui_focus_area_background_highlight:I323 ····sget·v1,·Lcom/android/car/ui/R$drawable;->car_ui_focus_area_background_highlight:I
  
88 ····.line·113324 ····.line·224
89 ····invoke-virtual·{p0},·Landroid/widget/LinearLayout;->getContext()Landroid/content/Context;325 ····invoke-virtual·{p0},·Landroid/widget/LinearLayout;->getContext()Landroid/content/Context;
  
90 ····move-result-object·v2326 ····move-result-object·v2
  
91 ····invoke-virtual·{v2},·Landroid/content/Context;->getTheme()Landroid/content/res/Resources$Theme;327 ····invoke-virtual·{v2},·Landroid/content/Context;->getTheme()Landroid/content/res/Resources$Theme;
  
92 ····move-result-object·v2328 ····move-result-object·v2
  
93 ····.line·112329 ····.line·223
94 ····invoke-virtual·{v0,·v1,·v2},·Landroid/content/res/Resources;->getDrawable(ILandroid/content/res/Resources$Theme;)Landroid/graphics/drawable/Drawable;330 ····invoke-virtual·{v0,·v1,·v2},·Landroid/content/res/Resources;->getDrawable(ILandroid/content/res/Resources$Theme;)Landroid/graphics/drawable/Drawable;
  
95 ····move-result-object·v0331 ····move-result-object·v1
  
 332 ····iput-object·v1,·p0,·Lcom/android/car/ui/FocusArea;->mBackgroundHighlight:Landroid/graphics/drawable/Drawable;
  
 333 ····.line·226
 334 ····sget·v1,·Lcom/android/car/ui/R$bool;->car_ui_focus_area_default_focus_overrides_history:I
  
 335 ····invoke-virtual·{v0,·v1},·Landroid/content/res/Resources;->getBoolean(I)Z
  
 336 ····move-result·v1
  
 337 ····iput-boolean·v1,·p0,·Lcom/android/car/ui/FocusArea;->mDefaultFocusOverridesHistory:Z
  
 338 ····.line·228
 339 ····sget·v1,·Lcom/android/car/ui/R$bool;->car_ui_clear_focus_area_history_when_rotating:I
  
 340 ····invoke-virtual·{v0,·v1},·Landroid/content/res/Resources;->getBoolean(I)Z
  
 341 ····move-result·v1
  
 342 ····iput-boolean·v1,·p0,·Lcom/android/car/ui/FocusArea;->mClearFocusAreaHistoryWhenRotating:Z
  
 343 ····.line·232
 344 ····sget·v1,·Lcom/android/car/ui/R$integer;->car_ui_focus_history_cache_type:I
  
 345 ····invoke-virtual·{v0,·v1},·Landroid/content/res/Resources;->getInteger(I)I
  
 346 ····move-result·v1
  
96 ····iput-object·v0,·p0,·Lcom/android/car/ui/FocusArea;->mBackgroundHighlight:Landroid/graphics/drawable/Drawable;347 ····.line·233
 348 ····sget·v2,·Lcom/android/car/ui/R$integer;->car_ui_focus_history_expiration_period_ms:I
  
 349 ····.line·234
 350 ····invoke-virtual·{v0,·v2},·Landroid/content/res/Resources;->getInteger(I)I
  
 351 ····move-result·v2
  
 352 ····.line·236
 353 ····sget·v3,·Lcom/android/car/ui/R$integer;->car_ui_focus_area_history_cache_type:I
  
 354 ····invoke-virtual·{v0,·v3},·Landroid/content/res/Resources;->getInteger(I)I
  
 355 ····move-result·v3
  
 356 ····.line·238
 357 ····sget·v4,·Lcom/android/car/ui/R$integer;->car_ui_focus_area_history_expiration_period_ms:I
  
 358 ····.line·239
 359 ····invoke-virtual·{v0,·v4},·Landroid/content/res/Resources;->getInteger(I)I
  
 360 ····move-result·v0
  
 361 ····.line·240
 362 ····new-instance·v4,·Lcom/android/car/ui/RotaryCache;
  
 363 ····invoke-direct·{v4,·v1,·v2,·v3,·v0},·Lcom/android/car/ui/RotaryCache;-><init>(IIII)V
  
 364 ····iput-object·v4,·p0,·Lcom/android/car/ui/FocusArea;->mRotaryCache:Lcom/android/car/ui/RotaryCache;
  
97 ····const/4·v0,·0x1365 ····const/4·v0,·0x1
  
98 ····.line·116366 ····.line·244
99 ····invoke-virtual·{p0,·v0},·Landroid/widget/LinearLayout;->setImportantForAccessibility(I)V367 ····invoke-virtual·{p0,·v0},·Landroid/widget/LinearLayout;->setImportantForAccessibility(I)V
  
100 ····const/4·v0,·0x0368 ····const/4·v0,·0x0
  
101 ····.line·120369 ····.line·248
102 ····invoke-virtual·{p0,·v0},·Landroid/widget/LinearLayout;->setWillNotDraw(Z)V370 ····invoke-virtual·{p0,·v0},·Landroid/widget/LinearLayout;->setWillNotDraw(Z)V
  
103 ····.line·123371 ····.line·250
 372 ····invoke-direct·{p0},·Lcom/android/car/ui/FocusArea;->registerFocusChangeListener()V
  
 373 ····.line·252
 374 ····invoke-direct·{p0,·p1,·p2},·Lcom/android/car/ui/FocusArea;->initAttrs(Landroid/content/Context;Landroid/util/AttributeSet;)V
  
 375 ····return-void
 376 .end·method
  
 377 .method·private·initAttrs(Landroid/content/Context;Landroid/util/AttributeSet;)V
 378 ····.locals·5
  
 379 ····if-nez·p2,·:cond_0
  
 380 ····return-void
  
 381 ····.line·329
 382 ····:cond_0
 383 ····sget-object·v0,·Lcom/android/car/ui/R$styleable;->FocusArea:[I
  
 384 ····invoke-virtual·{p1,·p2,·v0},·Landroid/content/Context;->obtainStyledAttributes(Landroid/util/AttributeSet;[I)Landroid/content/res/TypedArray;
  
 385 ····move-result-object·p1
  
 386 ····.line·331
 387 ····:try_start_0
 388 ····sget·p2,·Lcom/android/car/ui/R$styleable;->FocusArea_defaultFocus:I
  
 389 ····const/4·v0,·-0x1
  
 390 ····invoke-virtual·{p1,·p2,·v0},·Landroid/content/res/TypedArray;->getResourceId(II)I
  
 391 ····move-result·p2
  
 392 ····iput·p2,·p0,·Lcom/android/car/ui/FocusArea;->mDefaultFocusId:I
  
 393 ····.line·339
 394 ····sget·p2,·Lcom/android/car/ui/R$styleable;->FocusArea_highlightPaddingStart:I
  
 395 ····invoke-virtual·{p1,·p2,·v0},·Landroid/content/res/TypedArray;->getDimensionPixelSize(II)I
  
 396 ····move-result·p2
  
 397 ····const/4·v1,·0x0
  
 398 ····if-ne·p2,·v0,·:cond_1
  
 399 ····.line·342
 400 ····sget·p2,·Lcom/android/car/ui/R$styleable;->FocusArea_highlightPaddingHorizontal:I
  
 401 ····invoke-virtual·{p1,·p2,·v1},·Landroid/content/res/TypedArray;->getDimensionPixelSize(II)I
  
 402 ····move-result·p2
  
 403 ····.line·346
 404 ····:cond_1
 405 ····sget·v2,·Lcom/android/car/ui/R$styleable;->FocusArea_highlightPaddingEnd:I
  
 406 ····invoke-virtual·{p1,·v2,·v0},·Landroid/content/res/TypedArray;->getDimensionPixelSize(II)I
  
 407 ····move-result·v2
  
 408 ····if-ne·v2,·v0,·:cond_2
  
 409 ····.line·349
 410 ····sget·v2,·Lcom/android/car/ui/R$styleable;->FocusArea_highlightPaddingHorizontal:I
  
 411 ····invoke-virtual·{p1,·v2,·v1},·Landroid/content/res/TypedArray;->getDimensionPixelSize(II)I
  
 412 ····move-result·v2
  
 413 ····.line·353
 414 ····:cond_2
 415 ····invoke-virtual·{p0},·Landroid/widget/LinearLayout;->getLayoutDirection()I
  
 416 ····move-result·v3
  
 417 ····const/4·v4,·0x1
  
 418 ····if-ne·v3,·v4,·:cond_3
  
 419 ····move·v3,·v4
  
 420 ····goto·:goto_0
  
 421 ····:cond_3
 422 ····move·v3,·v1
  
 423 ····:goto_0
 424 ····iput-boolean·v3,·p0,·Lcom/android/car/ui/FocusArea;->mRtl:Z
  
 425 ····if-eqz·v3,·:cond_4
  
 426 ····move·v3,·v2
  
 427 ····goto·:goto_1
  
 428 ····:cond_4
 429 ····move·v3,·p2
  
 430 ····.line·354
 431 ····:goto_1
 432 ····iput·v3,·p0,·Lcom/android/car/ui/FocusArea;->mPaddingLeft:I
  
 433 ····.line·355
 434 ····iget-boolean·v3,·p0,·Lcom/android/car/ui/FocusArea;->mRtl:Z
  
 435 ····if-eqz·v3,·:cond_5
  
 436 ····move·v3,·p2
  
 437 ····goto·:goto_2
  
 438 ····:cond_5
 439 ····move·v3,·v2
  
 440 ····:goto_2
 441 ····iput·v3,·p0,·Lcom/android/car/ui/FocusArea;->mPaddingRight:I
  
 442 ····.line·357
 443 ····sget·v3,·Lcom/android/car/ui/R$styleable;->FocusArea_highlightPaddingTop:I
  
 444 ····invoke-virtual·{p1,·v3,·v0},·Landroid/content/res/TypedArray;->getDimensionPixelSize(II)I
  
 445 ····move-result·v3
  
 446 ····iput·v3,·p0,·Lcom/android/car/ui/FocusArea;->mPaddingTop:I
  
 447 ····if-ne·v3,·v0,·:cond_6
  
 448 ····.line·360
 449 ····sget·v3,·Lcom/android/car/ui/R$styleable;->FocusArea_highlightPaddingVertical:I
  
 450 ····invoke-virtual·{p1,·v3,·v1},·Landroid/content/res/TypedArray;->getDimensionPixelSize(II)I
  
 451 ····move-result·v3
  
 452 ····iput·v3,·p0,·Lcom/android/car/ui/FocusArea;->mPaddingTop:I
  
 453 ····.line·364
 454 ····:cond_6
 455 ····sget·v3,·Lcom/android/car/ui/R$styleable;->FocusArea_highlightPaddingBottom:I
  
 456 ····invoke-virtual·{p1,·v3,·v0},·Landroid/content/res/TypedArray;->getDimensionPixelSize(II)I
  
 457 ····move-result·v3
  
 458 ····iput·v3,·p0,·Lcom/android/car/ui/FocusArea;->mPaddingBottom:I
  
 459 ····if-ne·v3,·v0,·:cond_7
  
 460 ····.line·367
 461 ····sget·v3,·Lcom/android/car/ui/R$styleable;->FocusArea_highlightPaddingVertical:I
  
 462 ····invoke-virtual·{p1,·v3,·v1},·Landroid/content/res/TypedArray;->getDimensionPixelSize(II)I
  
 463 ····move-result·v3
  
 464 ····iput·v3,·p0,·Lcom/android/car/ui/FocusArea;->mPaddingBottom:I
  
 465 ····.line·377
 466 ····:cond_7
 467 ····sget·v3,·Lcom/android/car/ui/R$styleable;->FocusArea_startBoundOffset:I
  
 468 ····invoke-virtual·{p1,·v3,·v0},·Landroid/content/res/TypedArray;->getDimensionPixelSize(II)I
  
 469 ····move-result·v3
  
 470 ····if-ne·v3,·v0,·:cond_8
  
 471 ····.line·380
 472 ····sget·v3,·Lcom/android/car/ui/R$styleable;->FocusArea_horizontalBoundOffset:I
  
 473 ····invoke-virtual·{p1,·v3,·p2},·Landroid/content/res/TypedArray;->getDimensionPixelSize(II)I
  
 474 ····move-result·v3
  
 475 ····.line·384
 476 ····:cond_8
 477 ····sget·p2,·Lcom/android/car/ui/R$styleable;->FocusArea_endBoundOffset:I
  
 478 ····invoke-virtual·{p1,·p2,·v0},·Landroid/content/res/TypedArray;->getDimensionPixelSize(II)I
  
 479 ····move-result·p2
  
 480 ····if-ne·p2,·v0,·:cond_9
  
 481 ····.line·387
 482 ····sget·p2,·Lcom/android/car/ui/R$styleable;->FocusArea_horizontalBoundOffset:I
  
 483 ····invoke-virtual·{p1,·p2,·v2},·Landroid/content/res/TypedArray;->getDimensionPixelSize(II)I
  
 484 ····move-result·p2
  
 485 ····.line·391
 486 ····:cond_9
 487 ····iget-boolean·v2,·p0,·Lcom/android/car/ui/FocusArea;->mRtl:Z
  
 488 ····if-eqz·v2,·:cond_a
  
 489 ····move·v2,·p2
  
 490 ····goto·:goto_3
  
 491 ····:cond_a
 492 ····move·v2,·v3
  
 493 ····:goto_3
 494 ····iput·v2,·p0,·Lcom/android/car/ui/FocusArea;->mLeftOffset:I
  
 495 ····.line·392
 496 ····iget-boolean·v2,·p0,·Lcom/android/car/ui/FocusArea;->mRtl:Z
  
 497 ····if-eqz·v2,·:cond_b
  
 498 ····goto·:goto_4
  
 499 ····:cond_b
 500 ····move·v3,·p2
  
 501 ····:goto_4
 502 ····iput·v3,·p0,·Lcom/android/car/ui/FocusArea;->mRightOffset:I
  
 503 ····.line·394
 504 ····sget·p2,·Lcom/android/car/ui/R$styleable;->FocusArea_topBoundOffset:I
  
 505 ····invoke-virtual·{p1,·p2,·v0},·Landroid/content/res/TypedArray;->getDimensionPixelSize(II)I
  
 506 ····move-result·p2
  
 507 ····iput·p2,·p0,·Lcom/android/car/ui/FocusArea;->mTopOffset:I
  
 508 ····if-ne·p2,·v0,·:cond_c
  
 509 ····.line·397
 510 ····sget·p2,·Lcom/android/car/ui/R$styleable;->FocusArea_verticalBoundOffset:I
  
 511 ····iget·v2,·p0,·Lcom/android/car/ui/FocusArea;->mPaddingTop:I
  
 512 ····invoke-virtual·{p1,·p2,·v2},·Landroid/content/res/TypedArray;->getDimensionPixelSize(II)I
  
 513 ····move-result·p2
  
 514 ····iput·p2,·p0,·Lcom/android/car/ui/FocusArea;->mTopOffset:I
  
 515 ····.line·401
 516 ····:cond_c
 517 ····sget·p2,·Lcom/android/car/ui/R$styleable;->FocusArea_bottomBoundOffset:I
  
 518 ····invoke-virtual·{p1,·p2,·v0},·Landroid/content/res/TypedArray;->getDimensionPixelSize(II)I
  
 519 ····move-result·p2
  
 520 ····iput·p2,·p0,·Lcom/android/car/ui/FocusArea;->mBottomOffset:I
  
 521 ····if-ne·p2,·v0,·:cond_d
  
 522 ····.line·404
 523 ····sget·p2,·Lcom/android/car/ui/R$styleable;->FocusArea_verticalBoundOffset:I
  
 524 ····iget·v2,·p0,·Lcom/android/car/ui/FocusArea;->mPaddingBottom:I
  
 525 ····invoke-virtual·{p1,·p2,·v2},·Landroid/content/res/TypedArray;->getDimensionPixelSize(II)I
  
 526 ····move-result·p2
  
 527 ····iput·p2,·p0,·Lcom/android/car/ui/FocusArea;->mBottomOffset:I
  
 528 ····.line·408
 529 ····:cond_d
 530 ····sget·p2,·Lcom/android/car/ui/R$styleable;->FocusArea_nudgeShortcut:I
  
 531 ····invoke-virtual·{p1,·p2,·v0},·Landroid/content/res/TypedArray;->getResourceId(II)I
  
 532 ····move-result·p2
  
 533 ····iput·p2,·p0,·Lcom/android/car/ui/FocusArea;->mNudgeShortcutId:I
  
 534 ····.line·409
 535 ····sget·p2,·Lcom/android/car/ui/R$styleable;->FocusArea_nudgeShortcutDirection:I
  
 536 ····invoke-virtual·{p1,·p2,·v0},·Landroid/content/res/TypedArray;->getInt(II)I
  
 537 ····move-result·p2
  
 538 ····iput·p2,·p0,·Lcom/android/car/ui/FocusArea;->mNudgeShortcutDirection:I
  
 539 ····.line·411
 540 ····iget·p2,·p0,·Lcom/android/car/ui/FocusArea;->mNudgeShortcutId:I
  
 541 ····if-ne·p2,·v0,·:cond_e
  
 542 ····move·p2,·v4
  
 543 ····goto·:goto_5
  
 544 ····:cond_e
 545 ····move·p2,·v1
  
 546 ····:goto_5
 547 ····iget·v2,·p0,·Lcom/android/car/ui/FocusArea;->mNudgeShortcutDirection:I
  
 548 ····if-ne·v2,·v0,·:cond_f
  
 549 ····move·v1,·v4
  
 550 ····:cond_f
 551 ····xor-int/2addr·p2,·v1
  
 552 ····if-nez·p2,·:cond_10
  
 553 ····.line·416
 554 ····new-instance·p2,·Ljava/util/HashMap;
  
 555 ····invoke-direct·{p2},·Ljava/util/HashMap;-><init>()V
  
 556 ····iput-object·p2,·p0,·Lcom/android/car/ui/FocusArea;->mSpecifiedNudgeIdMap:Ljava/util/Map;
  
 557 ····const/16·v1,·0x11
  
 558 ····.line·417
 559 ····invoke-static·{v1},·Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
  
 560 ····move-result-object·v1
  
 561 ····sget·v2,·Lcom/android/car/ui/R$styleable;->FocusArea_nudgeLeft:I
  
 562 ····.line·418
 563 ····invoke-virtual·{p1,·v2,·v0},·Landroid/content/res/TypedArray;->getResourceId(II)I
  
 564 ····move-result·v2
  
 565 ····invoke-static·{v2},·Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
  
 566 ····move-result-object·v2
  
 567 ····.line·417
 568 ····invoke-interface·{p2,·v1,·v2},·Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
  
 569 ····.line·419
 570 ····iget-object·p2,·p0,·Lcom/android/car/ui/FocusArea;->mSpecifiedNudgeIdMap:Ljava/util/Map;
  
 571 ····const/16·v1,·0x42
  
 572 ····invoke-static·{v1},·Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
  
 573 ····move-result-object·v1
  
 574 ····sget·v2,·Lcom/android/car/ui/R$styleable;->FocusArea_nudgeRight:I
  
 575 ····.line·420
 576 ····invoke-virtual·{p1,·v2,·v0},·Landroid/content/res/TypedArray;->getResourceId(II)I
  
 577 ····move-result·v2
  
 578 ····invoke-static·{v2},·Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
  
 579 ····move-result-object·v2
  
 580 ····.line·419
 581 ····invoke-interface·{p2,·v1,·v2},·Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
  
 582 ····.line·421
 583 ····iget-object·p2,·p0,·Lcom/android/car/ui/FocusArea;->mSpecifiedNudgeIdMap:Ljava/util/Map;
  
 584 ····const/16·v1,·0x21
  
 585 ····invoke-static·{v1},·Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
  
 586 ····move-result-object·v1
  
 587 ····sget·v2,·Lcom/android/car/ui/R$styleable;->FocusArea_nudgeUp:I
  
 588 ····.line·422
 589 ····invoke-virtual·{p1,·v2,·v0},·Landroid/content/res/TypedArray;->getResourceId(II)I
  
 590 ····move-result·v2
  
 591 ····invoke-static·{v2},·Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
  
 592 ····move-result-object·v2
  
 593 ····.line·421
 594 ····invoke-interface·{p2,·v1,·v2},·Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
  
 595 ····.line·423
 596 ····iget-object·p2,·p0,·Lcom/android/car/ui/FocusArea;->mSpecifiedNudgeIdMap:Ljava/util/Map;
  
 597 ····const/16·v1,·0x82
  
 598 ····invoke-static·{v1},·Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
  
 599 ····move-result-object·v1
  
 600 ····sget·v2,·Lcom/android/car/ui/R$styleable;->FocusArea_nudgeDown:I
  
 601 ····.line·424
 602 ····invoke-virtual·{p1,·v2,·v0},·Landroid/content/res/TypedArray;->getResourceId(II)I
  
 603 ····move-result·v0
  
Max diff block lines reached; 16404/53817 bytes (30.48%) of diff not shown.