Offset 1, 32 lines modifiedOffset 1, 32 lines modified
1 .class·final·Lcom/android/textclassifier/TextClassifierImpl;1 .class·final·Lcom/android/textclassifier/TextClassifierImpl;
2 .super·Ljava/lang/Object;2 .super·Ljava/lang/Object;
3 .source·"TextClassifierImpl.java"3 .source·"TextClassifierImpl.java"
  
  
4 #·instance·fields4 #·instance·fields
5 .field·private·actionModelInUse:Lcom/android/textclassifier/ModelFileManager$ModelFile;5 .field·private·actionModelInUse:Lcom/android/textclassifier/common/ModelFileManager$ModelFile;
  
6 .field·private·actionsImpl:Lcom/google/android/textclassifier/ActionsSuggestionsModel;6 .field·private·actionsImpl:Lcom/google/android/textclassifier/ActionsSuggestionsModel;
  
7 .field·private·annotatorImpl:Lcom/google/android/textclassifier/AnnotatorModel;7 .field·private·annotatorImpl:Lcom/google/android/textclassifier/AnnotatorModel;
  
8 .field·private·annotatorModelInUse:Lcom/android/textclassifier/ModelFileManager$ModelFile;8 .field·private·annotatorModelInUse:Lcom/android/textclassifier/common/ModelFileManager$ModelFile;
  
9 .field·private·final·context:Landroid/content/Context;9 .field·private·final·context:Landroid/content/Context;
  
10 .field·private·final·generateLinksLogger:Lcom/android/textclassifier/common/statsd/GenerateLinksLogger;10 .field·private·final·generateLinksLogger:Lcom/android/textclassifier/common/statsd/GenerateLinksLogger;
  
11 .field·private·langIdImpl:Lcom/google/android/textclassifier/LangIdModel;11 .field·private·langIdImpl:Lcom/google/android/textclassifier/LangIdModel;
  
12 .field·private·langIdModelInUse:Lcom/android/textclassifier/ModelFileManager$ModelFile;12 .field·private·langIdModelInUse:Lcom/android/textclassifier/common/ModelFileManager$ModelFile;
  
13 .field·private·final·lock:Ljava/lang/Object;13 .field·private·final·lock:Ljava/lang/Object;
  
14 .field·private·final·modelFileManager:Lcom/android/textclassifier/ModelFileManager;14 .field·private·final·modelFileManager:Lcom/android/textclassifier/common/ModelFileManager;
  
15 .field·private·final·settings:Lcom/android/textclassifier/common/TextClassifierSettings;15 .field·private·final·settings:Lcom/android/textclassifier/common/TextClassifierSettings;
  
16 .field·private·final·templateIntentFactory:Lcom/android/textclassifier/common/intent/TemplateIntentFactory;16 .field·private·final·templateIntentFactory:Lcom/android/textclassifier/common/intent/TemplateIntentFactory;
  
17 .field·private·final·textClassifierEventLogger:Lcom/android/textclassifier/common/statsd/TextClassifierEventLogger;17 .field·private·final·textClassifierEventLogger:Lcom/android/textclassifier/common/statsd/TextClassifierEventLogger;
  
Offset 39, 15 lines modifiedOffset 39, 15 lines modified
39 ····invoke-direct·{p0,·p1,·p2},·Lcom/android/textclassifier/TextClassifierImpl;->detectLanguageTags(Lcom/google/android/textclassifier/LangIdModel;Ljava/lang/CharSequence;)Lcom/google/common/collect/ImmutableList;39 ····invoke-direct·{p0,·p1,·p2},·Lcom/android/textclassifier/TextClassifierImpl;->detectLanguageTags(Lcom/google/android/textclassifier/LangIdModel;Ljava/lang/CharSequence;)Lcom/google/common/collect/ImmutableList;
  
40 ····move-result-object·p040 ····move-result-object·p0
  
41 ····return-object·p041 ····return-object·p0
42 .end·method42 .end·method
  
43 .method·constructor·<init>(Landroid/content/Context;Lcom/android/textclassifier/common/TextClassifierSettings;Lcom/android/textclassifier/ModelFileManager;)V43 .method·constructor·<init>(Landroid/content/Context;Lcom/android/textclassifier/common/TextClassifierSettings;Lcom/android/textclassifier/common/ModelFileManager;)V
44 ····.locals·144 ····.locals·1
  
45 ····.line·145 ····.line·1
46 ····invoke-direct·{p0},·Ljava/lang/Object;-><init>()V46 ····invoke-direct·{p0},·Ljava/lang/Object;-><init>()V
  
47 ····.line·247 ····.line·2
48 ····new-instance·v0,·Ljava/lang/Object;48 ····new-instance·v0,·Ljava/lang/Object;
Offset 75, 15 lines modifiedOffset 75, 15 lines modified
75 ····.line·775 ····.line·7
76 ····iput-object·p2,·p0,·Lcom/android/textclassifier/TextClassifierImpl;->settings:Lcom/android/textclassifier/common/TextClassifierSettings;76 ····iput-object·p2,·p0,·Lcom/android/textclassifier/TextClassifierImpl;->settings:Lcom/android/textclassifier/common/TextClassifierSettings;
  
77 ····.line·877 ····.line·8
78 ····invoke-static·{p3},·Ljava/util/Objects;->requireNonNull(Ljava/lang/Object;)Ljava/lang/Object;78 ····invoke-static·{p3},·Ljava/util/Objects;->requireNonNull(Ljava/lang/Object;)Ljava/lang/Object;
  
79 ····.line·979 ····.line·9
80 ····iput-object·p3,·p0,·Lcom/android/textclassifier/TextClassifierImpl;->modelFileManager:Lcom/android/textclassifier/ModelFileManager;80 ····iput-object·p3,·p0,·Lcom/android/textclassifier/TextClassifierImpl;->modelFileManager:Lcom/android/textclassifier/common/ModelFileManager;
  
81 ····.line·1081 ····.line·10
82 ····new-instance·p1,·Lcom/android/textclassifier/common/statsd/GenerateLinksLogger;82 ····new-instance·p1,·Lcom/android/textclassifier/common/statsd/GenerateLinksLogger;
  
83 ····invoke-virtual·{p2},·Lcom/android/textclassifier/common/TextClassifierSettings;->getGenerateLinksLogSampleRate()I83 ····invoke-virtual·{p2},·Lcom/android/textclassifier/common/TextClassifierSettings;->getGenerateLinksLogSampleRate()I
  
84 ····move-result·p284 ····move-result·p2
Offset 165, 37 lines modifiedOffset 165, 37 lines modified
165 ····:try_start_0165 ····:try_start_0
166 ····iget-object·v1,·p0,·Lcom/android/textclassifier/TextClassifierImpl;->context:Landroid/content/Context;166 ····iget-object·v1,·p0,·Lcom/android/textclassifier/TextClassifierImpl;->context:Landroid/content/Context;
  
167 ····const/4·v2,·0x2167 ····const/4·v2,·0x2
  
168 ····new-array·v3,·v2,·[Lcom/google/common/base/Optional;168 ····new-array·v3,·v2,·[Lcom/google/common/base/Optional;
  
169 ····iget-object·v4,·p0,·Lcom/android/textclassifier/TextClassifierImpl;->annotatorModelInUse:Lcom/android/textclassifier/ModelFileManager$ModelFile;169 ····iget-object·v4,·p0,·Lcom/android/textclassifier/TextClassifierImpl;->annotatorModelInUse:Lcom/android/textclassifier/common/ModelFileManager$ModelFile;
  
170 ····.line·3170 ····.line·3
171 ····invoke-static·{v4},·Lcom/google/common/base/Optional;->fromNullable(Ljava/lang/Object;)Lcom/google/common/base/Optional;171 ····invoke-static·{v4},·Lcom/google/common/base/Optional;->fromNullable(Ljava/lang/Object;)Lcom/google/common/base/Optional;
  
172 ····move-result-object·v4172 ····move-result-object·v4
  
173 ····const/4·v5,·0x0173 ····const/4·v5,·0x0
  
174 ····aput-object·v4,·v3,·v5174 ····aput-object·v4,·v3,·v5
  
175 ····iget-object·p0,·p0,·Lcom/android/textclassifier/TextClassifierImpl;->langIdModelInUse:Lcom/android/textclassifier/ModelFileManager$ModelFile;175 ····iget-object·p0,·p0,·Lcom/android/textclassifier/TextClassifierImpl;->langIdModelInUse:Lcom/android/textclassifier/common/ModelFileManager$ModelFile;
  
176 ····invoke-static·{p0},·Lcom/google/common/base/Optional;->fromNullable(Ljava/lang/Object;)Lcom/google/common/base/Optional;176 ····invoke-static·{p0},·Lcom/google/common/base/Optional;->fromNullable(Ljava/lang/Object;)Lcom/google/common/base/Optional;
  
177 ····move-result-object·p0177 ····move-result-object·p0
  
178 ····const/4·v4,·0x1178 ····const/4·v4,·0x1
  
179 ····aput-object·p0,·v3,·v4179 ····aput-object·p0,·v3,·v4
  
180 ····.line·4180 ····.line·4
181 ····invoke-static·{v3},·Lcom/android/textclassifier/ModelFileManager$ModelFile;->toModelInfos([Lcom/google/common/base/Optional;)Lcom/google/common/collect/ImmutableList;181 ····invoke-static·{v3},·Lcom/android/textclassifier/common/ModelFileManager$ModelFile;->toModelInfos([Lcom/google/common/base/Optional;)Lcom/google/common/collect/ImmutableList;
  
182 ····move-result-object·p0182 ····move-result-object·p0
  
183 ····.line·5183 ····.line·5
184 ····sget·v3,·Lcom/android/textclassifier/common/logging/ResultIdUtils;->$r8$clinit:I184 ····sget·v3,·Lcom/android/textclassifier/common/logging/ResultIdUtils;->$r8$clinit:I
  
185 ····.line·6185 ····.line·6
Offset 253, 551 lines modifiedOffset 253, 14 lines modified
253 ····monitor-exit·v0253 ····monitor-exit·v0
254 ····:try_end_0254 ····:try_end_0
255 ····.catchall·{:try_start_0·..·:try_end_0}·:catchall_0255 ····.catchall·{:try_start_0·..·:try_end_0}·:catchall_0
  
256 ····throw·p0256 ····throw·p0
257 .end·method257 .end·method
  
258 .method·private·createClassificationResult([Lcom/google/android/textclassifier/AnnotatorModel$ClassificationResult;Ljava/lang/String;IILcom/google/android/textclassifier/LangIdModel;)Landroid/view/textclassifier/TextClassification; 
259 ····.locals·14 
  
260 ····move-object·v0,·p0 
  
261 ····move-object·v1,·p1 
  
262 ····.line·1 
263 ····invoke-virtual/range·{p2·..·p4},·Ljava/lang/String;->substring(II)Ljava/lang/String; 
  
264 ····move-result-object·v2 
  
265 ····.line·2 
266 ····new-instance·v3,·Landroid/view/textclassifier/TextClassification$Builder; 
  
267 ····invoke-direct·{v3},·Landroid/view/textclassifier/TextClassification$Builder;-><init>()V 
  
268 ····.line·3 
269 ····invoke-virtual·{v3,·v2},·Landroid/view/textclassifier/TextClassification$Builder;->setText(Ljava/lang/String;)Landroid/view/textclassifier/TextClassification$Builder; 
  
270 ····move-result-object·v2 
  
271 ····.line·4 
272 ····array-length·v3,·v1 
  
273 ····const/4·v4,·0x0 
  
274 ····const/4·v5,·0x0 
  
275 ····if-lez·v3,·:cond_0 
  
276 ····.line·5 
277 ····aget-object·v6,·v1,·v5 
  
278 ····goto·:goto_0 
  
279 ····:cond_0 
280 ····move-object·v6,·v4 
  
281 ····:goto_0 
282 ····move·v7,·v5 
  
283 ····:goto_1 
284 ····if-ge·v7,·v3,·:cond_2 
  
285 ····.line·6 
286 ····aget-object·v8,·v1,·v7 
  
287 ····invoke-virtual·{v8},·Lcom/google/android/textclassifier/AnnotatorModel$ClassificationResult;->getCollection()Ljava/lang/String; 
  
288 ····move-result-object·v8 
  
289 ····aget-object·v9,·v1,·v7 
  
290 ····invoke-virtual·{v9},·Lcom/google/android/textclassifier/AnnotatorModel$ClassificationResult;->getScore()F 
  
291 ····move-result·v9 
  
292 ····invoke-virtual·{v2,·v8,·v9},·Landroid/view/textclassifier/TextClassification$Builder;->setEntityType(Ljava/lang/String;F)Landroid/view/textclassifier/TextClassification$Builder; 
  
293 ····.line·7 
294 ····aget-object·v8,·v1,·v7 
  
295 ····invoke-virtual·{v8},·Lcom/google/android/textclassifier/AnnotatorModel$ClassificationResult;->getScore()F 
  
296 ····move-result·v8 
  
297 ····invoke-virtual·{v6},·Lcom/google/android/textclassifier/AnnotatorModel$ClassificationResult;->getScore()F 
  
298 ····move-result·v9 
  
299 ····cmpl-float·v8,·v8,·v9 
  
300 ····if-lez·v8,·:cond_1 
  
301 ····.line·8 
302 ····aget-object·v6,·v1,·v7 
  
303 ····:cond_1 
304 ····add-int/lit8·v7,·v7,·0x1 
  
305 ····goto·:goto_1 
  
306 ····:cond_2 
307 ····if-nez·v6,·:cond_3 
  
308 ····.line·9 
309 ····invoke-static·{},·Lcom/google/common/collect/ImmutableList;->of()Lcom/google/common/collect/ImmutableList; 
  
310 ····move-result-object·v3 
  
311 ····goto·:goto_2 
  
312 ····.line·10 
313 ····:cond_3 
314 ····iget-object·v3,·v0,·Lcom/android/textclassifier/TextClassifierImpl;->templateIntentFactory:Lcom/android/textclassifier/common/intent/TemplateIntentFactory; 
  
315 ····invoke-virtual·{v6},·Lcom/google/android/textclassifier/AnnotatorModel$ClassificationResult;->getRemoteActionTemplates()[Lcom/google/android/textclassifier/RemoteActionTemplate; 
  
316 ····move-result-object·v6 
  
317 ····invoke-virtual·{v3,·v6},·Lcom/android/textclassifier/common/intent/TemplateIntentFactory;->create([Lcom/google/android/textclassifier/RemoteActionTemplate;)Lcom/google/common/collect/ImmutableList; 
  
318 ····move-result-object·v3 
  
319 ····.line·11 
320 ····:goto_2 
321 ····sget-object·v6,·Lcom/android/textclassifier/TextClassifierImpl$$ExternalSyntheticLambda1;->INSTANCE:Lcom/android/textclassifier/TextClassifierImpl$$ExternalSyntheticLambda1; 
  
322 ····.line·12 
323 ····new-instance·v7,·Ljava/util/ArrayList; 
  
324 ····invoke-direct·{v7},·Ljava/util/ArrayList;-><init>()V 
  
325 ····.line·13 
326 ····invoke-virtual·{v3},·Lcom/google/common/collect/ImmutableList;->iterator()Lcom/google/common/collect/UnmodifiableIterator; 
  
327 ····move-result-object·v3 
  
328 ····const/4·v8,·0x1 
  
329 ····move·v9,·v8 
  
330 ····:goto_3 
331 ····invoke-interface·{v3},·Ljava/util/Iterator;->hasNext()Z 
  
332 ····move-result·v10 
  
333 ····if-eqz·v10,·:cond_6 
  
334 ····invoke-interface·{v3},·Ljava/util/Iterator;->next()Ljava/lang/Object; 
  
335 ····move-result-object·v10 
  
336 ····check-cast·v10,·Lcom/android/textclassifier/common/intent/LabeledIntent; 
  
337 ····.line·14 
338 ····iget-object·v11,·v0,·Lcom/android/textclassifier/TextClassifierImpl;->context:Landroid/content/Context; 
  
339 ····invoke-virtual·{v10,·v11,·v6},·Lcom/android/textclassifier/common/intent/LabeledIntent;->resolve(Landroid/content/Context;Lcom/android/textclassifier/common/intent/LabeledIntent$TitleChooser;)Lcom/android/textclassifier/common/intent/LabeledIntent$Result; 
  
340 ····move-result-object·v11 
  
341 ····if-nez·v11,·:cond_4 
  
342 ····goto·:goto_3 
  
343 ····.line·15 
344 ····:cond_4 
345 ····iget-object·v12,·v11,·Lcom/android/textclassifier/common/intent/LabeledIntent$Result;->resolvedIntent:Landroid/content/Intent; 
  
346 ····.line·16 
347 ····iget-object·v11,·v11,·Lcom/android/textclassifier/common/intent/LabeledIntent$Result;->remoteAction:Landroidx/core/app/RemoteActionCompat; 
  
348 ····invoke-virtual·{v11},·Landroidx/core/app/RemoteActionCompat;->toRemoteAction()Landroid/app/RemoteAction; 
  
349 ····move-result-object·v11 
  
350 ····if-eqz·v9,·:cond_5 
  
351 ····.line·17 
352 ····invoke-virtual·{v11},·Landroid/app/RemoteAction;->getIcon()Landroid/graphics/drawable/Icon; 
  
353 ····move-result-object·v9 
  
354 ····iget-object·v13,·v0,·Lcom/android/textclassifier/TextClassifierImpl;->context:Landroid/content/Context; 
  
355 ····invoke-virtual·{v9,·v13},·Landroid/graphics/drawable/Icon;->loadDrawable(Landroid/content/Context;)Landroid/graphics/drawable/Drawable; 
  
356 ····move-result-object·v9 
  
357 ····invoke-virtual·{v2,·v9},·Landroid/view/textclassifier/TextClassification$Builder;->setIcon(Landroid/graphics/drawable/Drawable;)Landroid/view/textclassifier/TextClassification$Builder; 
  
358 ····.line·18 
359 ····invoke-virtual·{v11},·Landroid/app/RemoteAction;->getTitle()Ljava/lang/CharSequence; 
  
360 ····move-result-object·v9 
  
361 ····invoke-interface·{v9},·Ljava/lang/CharSequence;->toString()Ljava/lang/String; 
  
362 ····move-result-object·v9 
  
363 ····invoke-virtual·{v2,·v9},·Landroid/view/textclassifier/TextClassification$Builder;->setLabel(Ljava/lang/String;)Landroid/view/textclassifier/TextClassification$Builder; 
  
364 ····.line·19 
365 ····invoke-virtual·{v2,·v12},·Landroid/view/textclassifier/TextClassification$Builder;->setIntent(Landroid/content/Intent;)Landroid/view/textclassifier/TextClassification$Builder; 
  
366 ····.line·20 
367 ····iget-object·v9,·v0,·Lcom/android/textclassifier/TextClassifierImpl;->context:Landroid/content/Context; 
  
368 ····iget·v10,·v10,·Lcom/android/textclassifier/common/intent/LabeledIntent;->requestCode:I 
  
369 ····const/high16·v13,·0xc000000 
  
370 ····.line·21 
371 ····invoke-static·{v9,·v10,·v12,·v13},·Landroid/app/PendingIntent;->getActivity(Landroid/content/Context;ILandroid/content/Intent;I)Landroid/app/PendingIntent; 
  
372 ····move-result-object·v9 
  
373 ····.line·22 
374 ····invoke-static·{v9},·Ljava/util/Objects;->requireNonNull(Ljava/lang/Object;)Ljava/lang/Object; 
  
375 ····.line·23 
376 ····new-instance·v10,·Lcom/android/textclassifier/TextClassifierImpl$$ExternalSyntheticLambda0; 
  
377 ····invoke-direct·{v10,·v9},·Lcom/android/textclassifier/TextClassifierImpl$$ExternalSyntheticLambda0;-><init>(Landroid/app/PendingIntent;)V 
  
378 ····.line·24 
379 ····invoke-virtual·{v2,·v10},·Landroid/view/textclassifier/TextClassification$Builder;->setOnClickListener(Landroid/view/View$OnClickListener;)Landroid/view/textclassifier/TextClassification$Builder; 
  
380 ····move·v9,·v5 
  
381 ····.line·25 
382 ····:cond_5 
383 ····invoke-virtual·{v2,·v11},·Landroid/view/textclassifier/TextClassification$Builder;->addAction(Landroid/app/RemoteAction;)Landroid/view/textclassifier/TextClassification$Builder; 
  
384 ····.line·26 
385 ····invoke-virtual·{v7,·v12},·Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z 
  
386 ····goto·:goto_3 
  
387 ····.line·27 
388 ····:cond_6 
389 ····new-instance·v3,·Landroid/os/Bundle; 
  
390 ····invoke-direct·{v3},·Landroid/os/Bundle;-><init>()V 
  
391 ····.line·28 
392 ····invoke-static·{v7},·Lcom/google/common/collect/FluentIterable;->from(Ljava/lang/Iterable;)Lcom/google/common/collect/FluentIterable; 
  
393 ····move-result-object·v6 
  
394 ····sget-object·v9,·Lcom/android/textclassifier/TextClassifierImpl$$ExternalSyntheticLambda1;->INSTANCE$com$android$textclassifier$TextClassifierImpl$$InternalSyntheticLambda$2$cbe24e877c18f91c029b12f91f666bc7e47577e6366c322c83a04e370d956cd7$0:Lcom/android/textclassifier/TextClassifierImpl$$ExternalSyntheticLambda1; 
  
395 ····.line·29 
396 ····invoke-virtual·{v6,·v9},·Lcom/google/common/collect/FluentIterable;->filter(Lcom/google/common/base/Predicate;)Lcom/google/common/collect/FluentIterable; 
  
397 ····move-result-object·v6 
  
398 ····sget-object·v9,·Lcom/android/textclassifier/TextClassifierImpl$$ExternalSyntheticLambda1;->INSTANCE$com$android$textclassifier$TextClassifierImpl$$InternalSyntheticLambda$2$cbe24e877c18f91c029b12f91f666bc7e47577e6366c322c83a04e370d956cd7$1:Lcom/android/textclassifier/TextClassifierImpl$$ExternalSyntheticLambda1; 
  
399 ····.line·30 
400 ····invoke-virtual·{v6,·v9},·Lcom/google/common/collect/FluentIterable;->filter(Lcom/google/common/base/Predicate;)Lcom/google/common/collect/FluentIterable; 
  
401 ····move-result-object·v6 
  
402 ····.line·31 
403 ····invoke-virtual·{v6},·Lcom/google/common/collect/FluentIterable;->first()Lcom/google/common/base/Optional; 
  
404 ····move-result-object·v6 
  
405 ····.line·32 
406 ····invoke-virtual·{v6},·Lcom/google/common/base/Optional;->isPresent()Z 
  
407 ····move-result·v9 
  
408 ····if-nez·v9,·:cond_7 
  
409 ····.line·33 
410 ····invoke-static·{},·Lcom/google/common/base/Optional;->absent()Lcom/google/common/base/Optional; 
  
411 ····move-result-object·v4 
  
412 ····goto/16·:goto_6 
  
413 ····.line·34 
414 ····:cond_7 
415 ····invoke-virtual·{v6},·Lcom/google/common/base/Optional;->get()Ljava/lang/Object; 
  
416 ····move-result-object·v6 
  
417 ····check-cast·v6,·Landroid/content/Intent; 
  
418 ····const-string·v9,·"score" 
  
419 ····const-string·v10,·"entity-type" 
  
420 ····if-nez·v6,·:cond_8 
  
421 ····goto·:goto_5 
  
422 ····:cond_8 
423 ····const-string·v11,·"android.view.textclassifier.extra.FROM_TEXT_CLASSIFIER" 
  
424 ····.line·35 
425 ····invoke-virtual·{v6,·v11},·Landroid/content/Intent;->getBundleExtra(Ljava/lang/String;)Landroid/os/Bundle; 
  
426 ····move-result-object·v6 
  
427 ····if-nez·v6,·:cond_9 
  
428 ····goto·:goto_5 
  
429 ····:cond_9 
430 ····const-string·v11,·"text-languages" 
  
431 ····.line·36 
432 ····invoke-virtual·{v6,·v11},·Landroid/os/Bundle;->getBundle(Ljava/lang/String;)Landroid/os/Bundle; 
  
433 ····move-result-object·v6 
  
434 ····if-nez·v6,·:cond_a 
  
435 ····goto·:goto_5 
  
436 ····.line·37 
437 ····:cond_a 
438 ····invoke-virtual·{v6,·v10},·Landroid/os/Bundle;->getStringArray(Ljava/lang/String;)[Ljava/lang/String; 
  
439 ····move-result-object·v11 
  
440 ····.line·38 
441 ····invoke-virtual·{v6,·v9},·Landroid/os/Bundle;->getFloatArray(Ljava/lang/String;)[F 
  
442 ····move-result-object·v6 
  
443 ····if-eqz·v11,·:cond_e 
  
444 ····if-eqz·v6,·:cond_e 
  
445 ····.line·39 
446 ····array-length·v12,·v11 
  
447 ····if-eqz·v12,·:cond_e 
  
448 ····array-length·v12,·v11 
  
449 ····array-length·v13,·v6 
  
450 ····if-eq·v12,·v13,·:cond_b 
  
451 ····goto·:goto_5 
  
452 ····.line·40 
453 ····:cond_b 
454 ····:goto_4 
455 ····array-length·v4,·v11 
  
456 ····if-ge·v8,·v4,·:cond_d 
  
457 ····.line·41 
458 ····aget·v4,·v6,·v5 
  
459 ····aget·v12,·v6,·v8 
  
460 ····cmpg-float·v4,·v4,·v12 
  
461 ····if-gez·v4,·:cond_c 
  
462 ····move·v5,·v8 
  
463 ····:cond_c 
464 ····add-int/lit8·v8,·v8,·0x1 
  
465 ····goto·:goto_4 
  
466 ····.line·42 
467 ····:cond_d 
468 ····aget-object·v4,·v11,·v5 
  
469 ····aget·v5,·v6,·v5 
  
470 ····invoke-static·{v5},·Ljava/lang/Float;->valueOf(F)Ljava/lang/Float; 
  
471 ····move-result-object·v5 
  
472 ····.line·43 
473 ····new-instance·v6,·Landroidx/core/util/Pair; 
  
474 ····invoke-direct·{v6,·v4,·v5},·Landroidx/core/util/Pair;-><init>(Ljava/lang/Object;Ljava/lang/Object;)V 
  
475 ····move-object·v4,·v6 
  
476 ····:cond_e 
477 ····:goto_5 
478 ····if-nez·v4,·:cond_f 
  
479 ····.line·44 
480 ····invoke-static·{},·Lcom/google/common/base/Optional;->absent()Lcom/google/common/base/Optional; 
  
481 ····move-result-object·v4 
  
482 ····goto·:goto_6 
  
483 ····.line·45 
484 ····:cond_f 
485 ····iget-object·v5,·v4,·Landroidx/core/util/Pair;->first:Ljava/lang/Object; 
  
486 ····check-cast·v5,·Ljava/lang/String; 
  
487 ····iget-object·v4,·v4,·Landroidx/core/util/Pair;->second:Ljava/lang/Object; 
  
488 ····check-cast·v4,·Ljava/lang/Float; 
  
489 ····.line·46 
490 ····invoke-virtual·{v4},·Ljava/lang/Float;->floatValue()F 
  
491 ····move-result·v4 
  
492 ····invoke-virtual/range·{p5·..·p5},·Lcom/google/android/textclassifier/LangIdModel;->getVersion()I 
  
493 ····move-result·v6 
  
494 ····.line·47 
495 ····new-instance·v8,·Landroid/os/Bundle; 
  
496 ····invoke-direct·{v8},·Landroid/os/Bundle;-><init>()V 
  
497 ····.line·48 
498 ····invoke-virtual·{v8,·v10,·v5},·Landroid/os/Bundle;->putString(Ljava/lang/String;Ljava/lang/String;)V 
  
499 ····.line·49 
500 ····invoke-virtual·{v8,·v9,·v4},·Landroid/os/Bundle;->putFloat(Ljava/lang/String;F)V 
  
501 ····const-string·v4,·"model-version" 
  
502 ····.line·50 
503 ····invoke-virtual·{v8,·v4,·v6},·Landroid/os/Bundle;->putInt(Ljava/lang/String;I)V 
  
504 ····.line·51 
505 ····new-instance·v4,·Ljava/lang/StringBuilder; 
  
506 ····invoke-direct·{v4},·Ljava/lang/StringBuilder;-><init>()V 
  
507 ····const-string·v5,·"langId_v" 
  
508 ····invoke-virtual·{v4,·v5},·Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; 
  
509 ····invoke-virtual·{v4,·v6},·Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; 
  
510 ····invoke-virtual·{v4},·Ljava/lang/StringBuilder;->toString()Ljava/lang/String; 
  
511 ····move-result-object·v4 
  
512 ····const-string·v5,·"model-name" 
  
513 ····invoke-virtual·{v8,·v5,·v4},·Landroid/os/Bundle;->putString(Ljava/lang/String;Ljava/lang/String;)V 
  
514 ····.line·52 
515 ····invoke-static·{v8},·Lcom/google/common/base/Optional;->of(Ljava/lang/Object;)Lcom/google/common/base/Optional; 
  
516 ····move-result-object·v4 
  
517 ····.line·53 
518 ····:goto_6 
519 ····invoke-virtual·{v4},·Lcom/google/common/base/Optional;->isPresent()Z 
  
520 ····move-result·v5 
  
521 ····if-eqz·v5,·:cond_10 
  
522 ····.line·54 
523 ····invoke-virtual·{v4},·Lcom/google/common/base/Optional;->get()Ljava/lang/Object; 
  
524 ····move-result-object·v4 
  
525 ····check-cast·v4,·Landroid/os/Bundle; 
  
526 ····const-string·v5,·"foreign-language" 
  
527 ····.line·55 
528 ····invoke-virtual·{v3,·v5,·v4},·Landroid/os/Bundle;->putParcelable(Ljava/lang/String;Landroid/os/Parcelable;)V 
  
529 ····.line·56 
530 ····:cond_10 
531 ····invoke-virtual·{v7},·Ljava/util/ArrayList;->stream()Ljava/util/stream/Stream; 
  
532 ····move-result-object·v4 
  
533 ····sget-object·v5,·Lcom/android/textclassifier/TextClassifierImpl$$ExternalSyntheticLambda4;->INSTANCE:Lcom/android/textclassifier/TextClassifierImpl$$ExternalSyntheticLambda4; 
  
534 ····invoke-interface·{v4,·v5},·Ljava/util/stream/Stream;->anyMatch(Ljava/util/function/Predicate;)Z 
  
535 ····move-result·v4 
  
536 ····if-eqz·v4,·:cond_11 
  
537 ····.line·57 
538 ····invoke-virtual·{v7},·Ljava/util/ArrayList;->stream()Ljava/util/stream/Stream; 
  
539 ····move-result-object·v4 
  
540 ····sget-object·v5,·Lcom/android/textclassifier/TextClassifierImpl$$ExternalSyntheticLambda3;->INSTANCE:Lcom/android/textclassifier/TextClassifierImpl$$ExternalSyntheticLambda3; 
  
541 ····.line·58 
542 ····invoke-interface·{v4,·v5},·Ljava/util/stream/Stream;->map(Ljava/util/function/Function;)Ljava/util/stream/Stream; 
  
543 ····move-result-object·v4 
  
544 ····sget-object·v5,·Lcom/android/textclassifier/TextClassifierImpl$$ExternalSyntheticLambda5;->INSTANCE:Lcom/android/textclassifier/TextClassifierImpl$$ExternalSyntheticLambda5; 
  
545 ····.line·59 
546 ····invoke-static·{v5},·Ljava/util/stream/Collectors;->toCollection(Ljava/util/function/Supplier;)Ljava/util/stream/Collector; 
  
547 ····move-result-object·v5 
  
548 ····invoke-interface·{v4,·v5},·Ljava/util/stream/Stream;->collect(Ljava/util/stream/Collector;)Ljava/lang/Object; 
  
549 ····move-result-object·v4 
  
550 ····check-cast·v4,·Ljava/util/ArrayList; 
  
551 ····const-string·v5,·"actions-intents" 
  
552 ····.line·60 
553 ····invoke-virtual·{v3,·v5,·v4},·Landroid/os/Bundle;->putParcelableArrayList(Ljava/lang/String;Ljava/util/ArrayList;)V 
  
554 ····.line·61 
555 ····:cond_11 
556 ····invoke-static·{v3,·p1},·Lcom/android/textclassifier/ExtrasUtils;->putEntities(Landroid/os/Bundle;[Lcom/google/android/textclassifier/AnnotatorModel$ClassificationResult;)V 
  
557 ····.line·62 
558 ····invoke-virtual·{v2,·v3},·Landroid/view/textclassifier/TextClassification$Builder;->setExtras(Landroid/os/Bundle;)Landroid/view/textclassifier/TextClassification$Builder; 
  
559 ····move-object/from16·v1,·p2 
  
560 ····move/from16·v3,·p3 
  
561 ····move/from16·v4,·p4 
  
562 ····.line·63 
563 ····invoke-direct·{p0,·v1,·v3,·v4},·Lcom/android/textclassifier/TextClassifierImpl;->createAnnotatorId(Ljava/lang/String;II)Ljava/lang/String; 
  
564 ····move-result-object·v0 
  
565 ····.line·64 
566 ····invoke-virtual·{v2,·v0},·Landroid/view/textclassifier/TextClassification$Builder;->setId(Ljava/lang/String;)Landroid/view/textclassifier/TextClassification$Builder; 
  
567 ····move-result-object·v0 
  
568 ····invoke-virtual·{v0},·Landroid/view/textclassifier/TextClassification$Builder;->build()Landroid/view/textclassifier/TextClassification; 
  
569 ····move-result-object·v0 
  
570 ····return-object·v0 
571 .end·method 
  
572 .method·private·detectLanguageTags(Lcom/google/android/textclassifier/LangIdModel;Ljava/lang/CharSequence;)Lcom/google/common/collect/ImmutableList;258 .method·private·detectLanguageTags(Lcom/google/android/textclassifier/LangIdModel;Ljava/lang/CharSequence;)Lcom/google/common/collect/ImmutableList;
573 ····.locals·4259 ····.locals·4
  
574 ····.line·1260 ····.line·1
575 ····iget-object·v0,·p0,·Lcom/android/textclassifier/TextClassifierImpl;->settings:Lcom/android/textclassifier/common/TextClassifierSettings;261 ····iget-object·v0,·p0,·Lcom/android/textclassifier/TextClassifierImpl;->settings:Lcom/android/textclassifier/common/TextClassifierSettings;
  
576 ····invoke-virtual·{v0},·Lcom/android/textclassifier/common/TextClassifierSettings;->getLangIdThresholdOverride()F262 ····invoke-virtual·{v0},·Lcom/android/textclassifier/common/TextClassifierSettings;->getLangIdThresholdOverride()F
Offset 924, 31 lines modifiedOffset 387, 31 lines modified
924 ····move-exception·p0387 ····move-exception·p0
  
925 ····goto·:goto_2388 ····goto·:goto_2
  
926 ····.line·3389 ····.line·3
927 ····:cond_0390 ····:cond_0
928 ····:goto_0391 ····:goto_0
929 ····iget-object·v1,·p0,·Lcom/android/textclassifier/TextClassifierImpl;->modelFileManager:Lcom/android/textclassifier/ModelFileManager;392 ····iget-object·v1,·p0,·Lcom/android/textclassifier/TextClassifierImpl;->modelFileManager:Lcom/android/textclassifier/common/ModelFileManager;
  
930 ····const-string·v2,·"annotator"393 ····const-string·v2,·"annotator"
  
931 ····.line·4394 ····.line·4
932 ····invoke-virtual·{v1,·v2,·p1},·Lcom/android/textclassifier/ModelFileManager;->findBestModelFile(Ljava/lang/String;Landroid/os/LocaleList;)Lcom/android/textclassifier/ModelFileManager$ModelFile;395 ····invoke-virtual·{v1,·v2,·p1},·Lcom/android/textclassifier/common/ModelFileManager;->findBestModelFile(Ljava/lang/String;Landroid/os/LocaleList;)Lcom/android/textclassifier/common/ModelFileManager$ModelFile;
  
933 ····move-result-object·p1396 ····move-result-object·p1
  
934 ····if-eqz·p1,·:cond_4397 ····if-eqz·p1,·:cond_4
  
935 ····.line·5398 ····.line·5
936 ····iget-object·v1,·p0,·Lcom/android/textclassifier/TextClassifierImpl;->annotatorImpl:Lcom/google/android/textclassifier/AnnotatorModel;399 ····iget-object·v1,·p0,·Lcom/android/textclassifier/TextClassifierImpl;->annotatorImpl:Lcom/google/android/textclassifier/AnnotatorModel;
  
937 ····if-eqz·v1,·:cond_1400 ····if-eqz·v1,·:cond_1
  
938 ····iget-object·v1,·p0,·Lcom/android/textclassifier/TextClassifierImpl;->annotatorModelInUse:Lcom/android/textclassifier/ModelFileManager$ModelFile;401 ····iget-object·v1,·p0,·Lcom/android/textclassifier/TextClassifierImpl;->annotatorModelInUse:Lcom/android/textclassifier/common/ModelFileManager$ModelFile;
  
939 ····invoke-static·{v1,·p1},·Ljava/util/Objects;->equals(Ljava/lang/Object;Ljava/lang/Object;)Z402 ····invoke-static·{v1,·p1},·Ljava/util/Objects;->equals(Ljava/lang/Object;Ljava/lang/Object;)Z
  
940 ····move-result·v1403 ····move-result·v1
  
941 ····if-nez·v1,·:cond_2404 ····if-nez·v1,·:cond_2
  
Offset 978, 15 lines modifiedOffset 441, 15 lines modified
978 ····.line·8441 ····.line·8
979 ····iget-object·v1,·p0,·Lcom/android/textclassifier/TextClassifierImpl;->context:Landroid/content/Context;442 ····iget-object·v1,·p0,·Lcom/android/textclassifier/TextClassifierImpl;->context:Landroid/content/Context;
  
980 ····invoke-virtual·{v1},·Landroid/content/Context;->getAssets()Landroid/content/res/AssetManager;443 ····invoke-virtual·{v1},·Landroid/content/Context;->getAssets()Landroid/content/res/AssetManager;
  
981 ····move-result-object·v1444 ····move-result-object·v1
  
982 ····invoke-virtual·{p1,·v1},·Lcom/android/textclassifier/ModelFileManager$ModelFile;->open(Landroid/content/res/AssetManager;)Landroid/content/res/AssetFileDescriptor;445 ····invoke-virtual·{p1,·v1},·Lcom/android/textclassifier/common/ModelFileManager$ModelFile;->open(Landroid/content/res/AssetManager;)Landroid/content/res/AssetFileDescriptor;
  
983 ····move-result-object·v1446 ····move-result-object·v1
984 ····:try_end_0447 ····:try_end_0
985 ····.catchall·{:try_start_0·..·:try_end_0}·:catchall_0448 ····.catchall·{:try_start_0·..·:try_end_0}·:catchall_0
  
986 ····.line·9449 ····.line·9
987 ····:try_start_1450 ····:try_start_1
Offset 1000, 15 lines modifiedOffset 463, 15 lines modified
1000 ····invoke-direct·{p0},·Lcom/android/textclassifier/TextClassifierImpl;->getLangIdImpl()Lcom/google/android/textclassifier/LangIdModel;463 ····invoke-direct·{p0},·Lcom/android/textclassifier/TextClassifierImpl;->getLangIdImpl()Lcom/google/android/textclassifier/LangIdModel;
  
1001 ····move-result-object·v3464 ····move-result-object·v3
  
1002 ····invoke-virtual·{v2,·v3},·Lcom/google/android/textclassifier/AnnotatorModel;->setLangIdModel(Lcom/google/android/textclassifier/LangIdModel;)V465 ····invoke-virtual·{v2,·v3},·Lcom/google/android/textclassifier/AnnotatorModel;->setLangIdModel(Lcom/google/android/textclassifier/LangIdModel;)V
  
1003 ····.line·11466 ····.line·11
1004 ····iput-object·p1,·p0,·Lcom/android/textclassifier/TextClassifierImpl;->annotatorModelInUse:Lcom/android/textclassifier/ModelFileManager$ModelFile;467 ····iput-object·p1,·p0,·Lcom/android/textclassifier/TextClassifierImpl;->annotatorModelInUse:Lcom/android/textclassifier/common/ModelFileManager$ModelFile;
1005 ····:try_end_1468 ····:try_end_1
1006 ····.catchall·{:try_start_1·..·:try_end_1}·:catchall_1469 ····.catchall·{:try_start_1·..·:try_end_1}·:catchall_1
  
1007 ····if-eqz·v1,·:cond_2470 ····if-eqz·v1,·:cond_2
  
1008 ····.line·12471 ····.line·12
1009 ····:try_start_2472 ····:try_start_2
Offset 1077, 33 lines modifiedOffset 540, 33 lines modified
1077 ····.line·1540 ····.line·1
1078 ····iget-object·v0,·p0,·Lcom/android/textclassifier/TextClassifierImpl;->lock:Ljava/lang/Object;541 ····iget-object·v0,·p0,·Lcom/android/textclassifier/TextClassifierImpl;->lock:Ljava/lang/Object;
  
1079 ····monitor-enter·v0542 ····monitor-enter·v0
  
1080 ····.line·2543 ····.line·2
1081 ····:try_start_0544 ····:try_start_0
1082 ····iget-object·v1,·p0,·Lcom/android/textclassifier/TextClassifierImpl;->modelFileManager:Lcom/android/textclassifier/ModelFileManager;545 ····iget-object·v1,·p0,·Lcom/android/textclassifier/TextClassifierImpl;->modelFileManager:Lcom/android/textclassifier/common/ModelFileManager;
  
1083 ····const-string·v2,·"lang_id"546 ····const-string·v2,·"lang_id"
  
1084 ····const/4·v3,·0x0547 ····const/4·v3,·0x0
  
1085 ····.line·3548 ····.line·3
1086 ····invoke-virtual·{v1,·v2,·v3},·Lcom/android/textclassifier/ModelFileManager;->findBestModelFile(Ljava/lang/String;Landroid/os/LocaleList;)Lcom/android/textclassifier/ModelFileManager$ModelFile;549 ····invoke-virtual·{v1,·v2,·v3},·Lcom/android/textclassifier/common/ModelFileManager;->findBestModelFile(Ljava/lang/String;Landroid/os/LocaleList;)Lcom/android/textclassifier/common/ModelFileManager$ModelFile;
  
1087 ····move-result-object·v1550 ····move-result-object·v1
  
1088 ····if-eqz·v1,·:cond_3551 ····if-eqz·v1,·:cond_3
  
1089 ····.line·4552 ····.line·4
1090 ····iget-object·v2,·p0,·Lcom/android/textclassifier/TextClassifierImpl;->langIdImpl:Lcom/google/android/textclassifier/LangIdModel;553 ····iget-object·v2,·p0,·Lcom/android/textclassifier/TextClassifierImpl;->langIdImpl:Lcom/google/android/textclassifier/LangIdModel;
  
1091 ····if-eqz·v2,·:cond_0554 ····if-eqz·v2,·:cond_0
  
1092 ····iget-object·v2,·p0,·Lcom/android/textclassifier/TextClassifierImpl;->langIdModelInUse:Lcom/android/textclassifier/ModelFileManager$ModelFile;555 ····iget-object·v2,·p0,·Lcom/android/textclassifier/TextClassifierImpl;->langIdModelInUse:Lcom/android/textclassifier/common/ModelFileManager$ModelFile;
  
1093 ····invoke-static·{v2,·v1},·Ljava/util/Objects;->equals(Ljava/lang/Object;Ljava/lang/Object;)Z556 ····invoke-static·{v2,·v1},·Ljava/util/Objects;->equals(Ljava/lang/Object;Ljava/lang/Object;)Z
  
1094 ····move-result·v2557 ····move-result·v2
  
1095 ····if-nez·v2,·:cond_1558 ····if-nez·v2,·:cond_1
  
Offset 1133, 30 lines modifiedOffset 596, 30 lines modified
1133 ····.line·7596 ····.line·7
1134 ····iget-object·v2,·p0,·Lcom/android/textclassifier/TextClassifierImpl;->context:Landroid/content/Context;597 ····iget-object·v2,·p0,·Lcom/android/textclassifier/TextClassifierImpl;->context:Landroid/content/Context;
  
1135 ····invoke-virtual·{v2},·Landroid/content/Context;->getAssets()Landroid/content/res/AssetManager;598 ····invoke-virtual·{v2},·Landroid/content/Context;->getAssets()Landroid/content/res/AssetManager;
  
1136 ····move-result-object·v2599 ····move-result-object·v2
  
1137 ····invoke-virtual·{v1,·v2},·Lcom/android/textclassifier/ModelFileManager$ModelFile;->open(Landroid/content/res/AssetManager;)Landroid/content/res/AssetFileDescriptor;600 ····invoke-virtual·{v1,·v2},·Lcom/android/textclassifier/common/ModelFileManager$ModelFile;->open(Landroid/content/res/AssetManager;)Landroid/content/res/AssetFileDescriptor;
  
1138 ····move-result-object·v2601 ····move-result-object·v2
1139 ····:try_end_0602 ····:try_end_0
1140 ····.catchall·{:try_start_0·..·:try_end_0}·:catchall_2603 ····.catchall·{:try_start_0·..·:try_end_0}·:catchall_2
  
1141 ····.line·8604 ····.line·8
1142 ····:try_start_1605 ····:try_start_1
1143 ····new-instance·v3,·Lcom/google/android/textclassifier/LangIdModel;606 ····new-instance·v3,·Lcom/google/android/textclassifier/LangIdModel;
  
1144 ····invoke-direct·{v3,·v2},·Lcom/google/android/textclassifier/LangIdModel;-><init>(Landroid/content/res/AssetFileDescriptor;)V607 ····invoke-direct·{v3,·v2},·Lcom/google/android/textclassifier/LangIdModel;-><init>(Landroid/content/res/AssetFileDescriptor;)V
  
1145 ····iput-object·v3,·p0,·Lcom/android/textclassifier/TextClassifierImpl;->langIdImpl:Lcom/google/android/textclassifier/LangIdModel;608 ····iput-object·v3,·p0,·Lcom/android/textclassifier/TextClassifierImpl;->langIdImpl:Lcom/google/android/textclassifier/LangIdModel;
  
1146 ····.line·9609 ····.line·9
1147 ····iput-object·v1,·p0,·Lcom/android/textclassifier/TextClassifierImpl;->langIdModelInUse:Lcom/android/textclassifier/ModelFileManager$ModelFile;610 ····iput-object·v1,·p0,·Lcom/android/textclassifier/TextClassifierImpl;->langIdModelInUse:Lcom/android/textclassifier/common/ModelFileManager$ModelFile;
1148 ····:try_end_1611 ····:try_end_1
1149 ····.catchall·{:try_start_1·..·:try_end_1}·:catchall_0612 ····.catchall·{:try_start_1·..·:try_end_1}·:catchall_0
  
1150 ····if-eqz·v2,·:cond_1613 ····if-eqz·v2,·:cond_1
  
1151 ····.line·10614 ····.line·10
1152 ····:try_start_2615 ····:try_start_2
Offset 1255, 270 lines modifiedOffset 718, 797 lines modified
  
1255 ····return-object·p0718 ····return-object·p0
1256 .end·method719 .end·method
  
  
1257 #·virtual·methods720 #·virtual·methods
1258 .method·classifyText(Landroid/view/textclassifier/TextClassification$Request;)Landroid/view/textclassifier/TextClassification;721 .method·classifyText(Landroid/view/textclassifier/TextClassification$Request;)Landroid/view/textclassifier/TextClassification;
1259 ····.locals·13722 ····.locals·17
1260 ····.annotation·system·Ldalvik/annotation/Throws;723 ····.annotation·system·Ldalvik/annotation/Throws;
1261 ········value·=·{724 ········value·=·{
1262 ············Ljava/io/IOException;725 ············Ljava/io/IOException;
1263 ········}726 ········}
1264 ····.end·annotation727 ····.end·annotation
  
 728 ····move-object/from16·v0,·p0
  
1265 ····.line·1729 ····.line·1
1266 ····invoke-static·{p1},·Ljava/util/Objects;->requireNonNull(Ljava/lang/Object;)Ljava/lang/Object;730 ····invoke-static/range·{p1·..·p1},·Ljava/util/Objects;->requireNonNull(Ljava/lang/Object;)Ljava/lang/Object;
  
1267 ····.line·2731 ····.line·2
1268 ····invoke-static·{},·Lcom/android/textclassifier/TextClassifierImpl;->checkMainThread()V732 ····invoke-static·{},·Lcom/android/textclassifier/TextClassifierImpl;->checkMainThread()V
  
1269 ····.line·3733 ····.line·3
1270 ····invoke-direct·{p0},·Lcom/android/textclassifier/TextClassifierImpl;->getLangIdImpl()Lcom/google/android/textclassifier/LangIdModel;734 ····invoke-direct/range·{p0·..·p0},·Lcom/android/textclassifier/TextClassifierImpl;->getLangIdImpl()Lcom/google/android/textclassifier/LangIdModel;
  
1271 ····move-result-object·v5735 ····move-result-object·v1
  
1272 ····.line·4736 ····.line·4
1273 ····invoke-virtual·{p1},·Landroid/view/textclassifier/TextClassification$Request;->getText()Ljava/lang/CharSequence;737 ····invoke-virtual/range·{p1·..·p1},·Landroid/view/textclassifier/TextClassification$Request;->getText()Ljava/lang/CharSequence;
  
1274 ····move-result-object·v0738 ····move-result-object·v2
  
1275 ····invoke-direct·{p0,·v5,·v0},·Lcom/android/textclassifier/TextClassifierImpl;->detectLanguageTags(Lcom/google/android/textclassifier/LangIdModel;Ljava/lang/CharSequence;)Lcom/google/common/collect/ImmutableList;739 ····invoke-direct·{v0,·v1,·v2},·Lcom/android/textclassifier/TextClassifierImpl;->detectLanguageTags(Lcom/google/android/textclassifier/LangIdModel;Ljava/lang/CharSequence;)Lcom/google/common/collect/ImmutableList;
  
1276 ····move-result-object·v0740 ····move-result-object·v2
  
1277 ····.line·5741 ····.line·5
1278 ····invoke-virtual·{p1},·Landroid/view/textclassifier/TextClassification$Request;->getEndIndex()I742 ····invoke-virtual/range·{p1·..·p1},·Landroid/view/textclassifier/TextClassification$Request;->getEndIndex()I
  
1279 ····move-result·v1743 ····move-result·v3
  
1280 ····invoke-virtual·{p1},·Landroid/view/textclassifier/TextClassification$Request;->getStartIndex()I744 ····invoke-virtual/range·{p1·..·p1},·Landroid/view/textclassifier/TextClassification$Request;->getStartIndex()I
  
1281 ····move-result·v2745 ····move-result·v4
  
1282 ····sub-int/2addr·v1,·v2746 ····sub-int/2addr·v3,·v4
  
1283 ····.line·6747 ····.line·6
1284 ····invoke-virtual·{p1},·Landroid/view/textclassifier/TextClassification$Request;->getText()Ljava/lang/CharSequence;748 ····invoke-virtual/range·{p1·..·p1},·Landroid/view/textclassifier/TextClassification$Request;->getText()Ljava/lang/CharSequence;
  
1285 ····move-result-object·v2749 ····move-result-object·v4
  
1286 ····invoke-interface·{v2},·Ljava/lang/CharSequence;->toString()Ljava/lang/String;750 ····invoke-interface·{v4},·Ljava/lang/CharSequence;->toString()Ljava/lang/String;
  
1287 ····move-result-object·v2751 ····move-result-object·v4
  
1288 ····.line·7752 ····.line·7
1289 ····invoke-virtual·{v2},·Ljava/lang/String;->isEmpty()Z753 ····invoke-virtual·{v4},·Ljava/lang/String;->isEmpty()Z
  
1290 ····move-result·v3754 ····move-result·v5
  
1291 ····const/4·v4,·0x1755 ····const/4·v12,·0x1
  
1292 ····xor-int/2addr·v3,·v4756 ····xor-int/2addr·v5,·v12
  
1293 ····const-string·v6,·"input·string·should·not·be·empty"757 ····const-string·v6,·"input·string·should·not·be·empty"
  
1294 ····invoke-static·{v3,·v6},·Lcom/google/common/base/Ascii;->checkArgument(ZLjava/lang/Object;)V758 ····invoke-static·{v5,·v6},·Lcom/google/common/base/Ascii;->checkArgument(ZLjava/lang/Object;)V
  
1295 ····.line·8759 ····.line·8
1296 ····iget-object·v3,·p0,·Lcom/android/textclassifier/TextClassifierImpl;->settings:Lcom/android/textclassifier/common/TextClassifierSettings;760 ····iget-object·v5,·v0,·Lcom/android/textclassifier/TextClassifierImpl;->settings:Lcom/android/textclassifier/common/TextClassifierSettings;
  
1297 ····.line·9761 ····.line·9
1298 ····invoke-virtual·{v3},·Lcom/android/textclassifier/common/TextClassifierSettings;->getClassifyTextMaxRangeLength()I762 ····invoke-virtual·{v5},·Lcom/android/textclassifier/common/TextClassifierSettings;->getClassifyTextMaxRangeLength()I
  
1299 ····move-result·v3763 ····move-result·v5
  
 764 ····const/4·v13,·0x0
  
1300 ····if-gt·v1,·v3,·:cond_0765 ····if-gt·v3,·v5,·:cond_0
  
 766 ····move·v3,·v12
  
1301 ····goto·:goto_0767 ····goto·:goto_0
  
1302 ····:cond_0768 ····:cond_0
1303 ····const/4·v4,·0x0769 ····move·v3,·v13
  
1304 ····:goto_0770 ····:goto_0
1305 ····const-string·v1,·"range·is·too·large"771 ····const-string·v5,·"range·is·too·large"
  
1306 ····.line·10772 ····.line·10
1307 ····invoke-static·{v4,·v1},·Lcom/google/common/base/Ascii;->checkArgument(ZLjava/lang/Object;)V773 ····invoke-static·{v3,·v5},·Lcom/google/common/base/Ascii;->checkArgument(ZLjava/lang/Object;)V
  
1308 ····.line·11774 ····.line·11
1309 ····invoke-virtual·{p1},·Landroid/view/textclassifier/TextClassification$Request;->getDefaultLocales()Landroid/os/LocaleList;775 ····invoke-virtual/range·{p1·..·p1},·Landroid/view/textclassifier/TextClassification$Request;->getDefaultLocales()Landroid/os/LocaleList;
  
1310 ····move-result-object·v1776 ····move-result-object·v3
  
1311 ····invoke-static·{v1},·Lcom/android/textclassifier/TextClassifierImpl;->concatenateLocales(Landroid/os/LocaleList;)Ljava/lang/String;777 ····invoke-static·{v3},·Lcom/android/textclassifier/TextClassifierImpl;->concatenateLocales(Landroid/os/LocaleList;)Ljava/lang/String;
  
1312 ····move-result-object·v1778 ····move-result-object·v3
  
1313 ····.line·12779 ····.line·12
1314 ····invoke-virtual·{p1},·Landroid/view/textclassifier/TextClassification$Request;->getReferenceTime()Ljava/time/ZonedDateTime;780 ····invoke-virtual/range·{p1·..·p1},·Landroid/view/textclassifier/TextClassification$Request;->getReferenceTime()Ljava/time/ZonedDateTime;
  
1315 ····move-result-object·v3781 ····move-result-object·v5
  
1316 ····if-eqz·v3,·:cond_1782 ····if-eqz·v5,·:cond_1
  
1317 ····.line·13783 ····.line·13
1318 ····invoke-virtual·{p1},·Landroid/view/textclassifier/TextClassification$Request;->getReferenceTime()Ljava/time/ZonedDateTime;784 ····invoke-virtual/range·{p1·..·p1},·Landroid/view/textclassifier/TextClassification$Request;->getReferenceTime()Ljava/time/ZonedDateTime;
  
1319 ····move-result-object·v3785 ····move-result-object·v5
  
1320 ····goto·:goto_1786 ····goto·:goto_1
  
1321 ····.line·14787 ····.line·14
1322 ····:cond_1788 ····:cond_1
1323 ····invoke-static·{},·Ljava/time/ZoneId;->systemDefault()Ljava/time/ZoneId;789 ····invoke-static·{},·Ljava/time/ZoneId;->systemDefault()Ljava/time/ZoneId;
  
1324 ····move-result-object·v3790 ····move-result-object·v5
  
1325 ····invoke-static·{v3},·Ljava/time/ZonedDateTime;->now(Ljava/time/ZoneId;)Ljava/time/ZonedDateTime;791 ····invoke-static·{v5},·Ljava/time/ZonedDateTime;->now(Ljava/time/ZoneId;)Ljava/time/ZonedDateTime;
  
1326 ····move-result-object·v3792 ····move-result-object·v5
  
1327 ····.line·15793 ····.line·15
1328 ····:goto_1794 ····:goto_1
1329 ····invoke-virtual·{p1},·Landroid/view/textclassifier/TextClassification$Request;->getDefaultLocales()Landroid/os/LocaleList;795 ····invoke-virtual/range·{p1·..·p1},·Landroid/view/textclassifier/TextClassification$Request;->getDefaultLocales()Landroid/os/LocaleList;
  
1330 ····move-result-object·v4796 ····move-result-object·v6
  
1331 ····invoke-direct·{p0,·v4},·Lcom/android/textclassifier/TextClassifierImpl;->getAnnotatorImpl(Landroid/os/LocaleList;)Lcom/google/android/textclassifier/AnnotatorModel;797 ····invoke-direct·{v0,·v6},·Lcom/android/textclassifier/TextClassifierImpl;->getAnnotatorImpl(Landroid/os/LocaleList;)Lcom/google/android/textclassifier/AnnotatorModel;
  
1332 ····move-result-object·v6798 ····move-result-object·v6
  
1333 ····.line·16799 ····.line·16
1334 ····invoke-virtual·{p1},·Landroid/view/textclassifier/TextClassification$Request;->getStartIndex()I800 ····invoke-virtual/range·{p1·..·p1},·Landroid/view/textclassifier/TextClassification$Request;->getStartIndex()I
  
1335 ····move-result·v8801 ····move-result·v7
  
1336 ····.line·17802 ····.line·17
1337 ····invoke-virtual·{p1},·Landroid/view/textclassifier/TextClassification$Request;->getEndIndex()I803 ····invoke-virtual/range·{p1·..·p1},·Landroid/view/textclassifier/TextClassification$Request;->getEndIndex()I
  
1338 ····move-result·v9804 ····move-result·v8
  
1339 ····.line·18805 ····.line·18
1340 ····invoke-static·{},·Lcom/google/android/textclassifier/AnnotatorModel$ClassificationOptions;->builder()Lcom/google/android/textclassifier/AnnotatorModel$ClassificationOptions$Builder;806 ····invoke-static·{},·Lcom/google/android/textclassifier/AnnotatorModel$ClassificationOptions;->builder()Lcom/google/android/textclassifier/AnnotatorModel$ClassificationOptions$Builder;
  
1341 ····move-result-object·v4807 ····move-result-object·v9
  
1342 ····.line·19808 ····.line·19
1343 ····invoke-virtual·{v3},·Ljava/time/ZonedDateTime;->toInstant()Ljava/time/Instant;809 ····invoke-virtual·{v5},·Ljava/time/ZonedDateTime;->toInstant()Ljava/time/Instant;
  
1344 ····move-result-object·v7810 ····move-result-object·v10
  
1345 ····invoke-virtual·{v7},·Ljava/time/Instant;->toEpochMilli()J811 ····invoke-virtual·{v10},·Ljava/time/Instant;->toEpochMilli()J
  
1346 ····move-result-wide·v10812 ····move-result-wide·v10
  
1347 ····invoke-virtual·{v4,·v10,·v11},·Lcom/google/android/textclassifier/AnnotatorModel$ClassificationOptions$Builder;->setReferenceTimeMsUtc(J)Lcom/google/android/textclassifier/AnnotatorModel$ClassificationOptions$Builder;813 ····invoke-virtual·{v9,·v10,·v11},·Lcom/google/android/textclassifier/AnnotatorModel$ClassificationOptions$Builder;->setReferenceTimeMsUtc(J)Lcom/google/android/textclassifier/AnnotatorModel$ClassificationOptions$Builder;
  
1348 ····move-result-object·v4814 ····move-result-object·v9
  
1349 ····.line·20815 ····.line·20
1350 ····invoke-virtual·{v3},·Ljava/time/ZonedDateTime;->getZone()Ljava/time/ZoneId;816 ····invoke-virtual·{v5},·Ljava/time/ZonedDateTime;->getZone()Ljava/time/ZoneId;
  
1351 ····move-result-object·v3817 ····move-result-object·v5
  
1352 ····invoke-virtual·{v3},·Ljava/time/ZoneId;->getId()Ljava/lang/String;818 ····invoke-virtual·{v5},·Ljava/time/ZoneId;->getId()Ljava/lang/String;
  
1353 ····move-result-object·v3819 ····move-result-object·v5
  
1354 ····invoke-virtual·{v4,·v3},·Lcom/google/android/textclassifier/AnnotatorModel$ClassificationOptions$Builder;->setReferenceTimezone(Ljava/lang/String;)Lcom/google/android/textclassifier/AnnotatorModel$ClassificationOptions$Builder;820 ····invoke-virtual·{v9,·v5},·Lcom/google/android/textclassifier/AnnotatorModel$ClassificationOptions$Builder;->setReferenceTimezone(Ljava/lang/String;)Lcom/google/android/textclassifier/AnnotatorModel$ClassificationOptions$Builder;
  
1355 ····move-result-object·v3821 ····move-result-object·v5
  
1356 ····.line·21822 ····.line·21
1357 ····invoke-virtual·{v3,·v1},·Lcom/google/android/textclassifier/AnnotatorModel$ClassificationOptions$Builder;->setLocales(Ljava/lang/String;)Lcom/google/android/textclassifier/AnnotatorModel$ClassificationOptions$Builder;823 ····invoke-virtual·{v5,·v3},·Lcom/google/android/textclassifier/AnnotatorModel$ClassificationOptions$Builder;->setLocales(Ljava/lang/String;)Lcom/google/android/textclassifier/AnnotatorModel$ClassificationOptions$Builder;
  
1358 ····move-result-object·v1824 ····move-result-object·v3
  
1359 ····const-string·v3,·","825 ····const-string·v5,·","
  
1360 ····.line·22826 ····.line·22
1361 ····invoke-static·{v3,·v0},·Ljava/lang/String;->join(Ljava/lang/CharSequence;Ljava/lang/Iterable;)Ljava/lang/String;827 ····invoke-static·{v5,·v2},·Ljava/lang/String;->join(Ljava/lang/CharSequence;Ljava/lang/Iterable;)Ljava/lang/String;
  
1362 ····move-result-object·v0828 ····move-result-object·v2
  
1363 ····invoke-virtual·{v1,·v0},·Lcom/google/android/textclassifier/AnnotatorModel$ClassificationOptions$Builder;->setDetectedTextLanguageTags(Ljava/lang/String;)Lcom/google/android/textclassifier/AnnotatorModel$ClassificationOptions$Builder;829 ····invoke-virtual·{v3,·v2},·Lcom/google/android/textclassifier/AnnotatorModel$ClassificationOptions$Builder;->setDetectedTextLanguageTags(Ljava/lang/String;)Lcom/google/android/textclassifier/AnnotatorModel$ClassificationOptions$Builder;
  
1364 ····move-result-object·v0830 ····move-result-object·v2
  
1365 ····sget-object·v1,·Lcom/google/android/textclassifier/AnnotatorModel$AnnotationUsecase;->SMART:Lcom/google/android/textclassifier/AnnotatorModel$AnnotationUsecase;831 ····sget-object·v3,·Lcom/google/android/textclassifier/AnnotatorModel$AnnotationUsecase;->SMART:Lcom/google/android/textclassifier/AnnotatorModel$AnnotationUsecase;
  
1366 ····.line·23832 ····.line·23
1367 ····invoke-virtual·{v1},·Lcom/google/android/textclassifier/AnnotatorModel$AnnotationUsecase;->getValue()I833 ····invoke-virtual·{v3},·Lcom/google/android/textclassifier/AnnotatorModel$AnnotationUsecase;->getValue()I
  
1368 ····move-result·v1834 ····move-result·v3
  
1369 ····invoke-virtual·{v0,·v1},·Lcom/google/android/textclassifier/AnnotatorModel$ClassificationOptions$Builder;->setAnnotationUsecase(I)Lcom/google/android/textclassifier/AnnotatorModel$ClassificationOptions$Builder;835 ····invoke-virtual·{v2,·v3},·Lcom/google/android/textclassifier/AnnotatorModel$ClassificationOptions$Builder;->setAnnotationUsecase(I)Lcom/google/android/textclassifier/AnnotatorModel$ClassificationOptions$Builder;
  
1370 ····move-result-object·v0836 ····move-result-object·v2
  
1371 ····.line·24837 ····.line·24
1372 ····invoke-static·{},·Landroid/os/LocaleList;->getDefault()Landroid/os/LocaleList;838 ····invoke-static·{},·Landroid/os/LocaleList;->getDefault()Landroid/os/LocaleList;
  
1373 ····move-result-object·v1839 ····move-result-object·v3
  
1374 ····invoke-virtual·{v1},·Landroid/os/LocaleList;->toLanguageTags()Ljava/lang/String;840 ····invoke-virtual·{v3},·Landroid/os/LocaleList;->toLanguageTags()Ljava/lang/String;
  
1375 ····move-result-object·v1841 ····move-result-object·v3
  
1376 ····invoke-virtual·{v0,·v1},·Lcom/google/android/textclassifier/AnnotatorModel$ClassificationOptions$Builder;->setUserFamiliarLanguageTags(Ljava/lang/String;)Lcom/google/android/textclassifier/AnnotatorModel$ClassificationOptions$Builder;842 ····invoke-virtual·{v2,·v3},·Lcom/google/android/textclassifier/AnnotatorModel$ClassificationOptions$Builder;->setUserFamiliarLanguageTags(Ljava/lang/String;)Lcom/google/android/textclassifier/AnnotatorModel$ClassificationOptions$Builder;
  
1377 ····move-result-object·v0843 ····move-result-object·v2
  
1378 ····.line·25844 ····.line·25
1379 ····invoke-virtual·{v0},·Lcom/google/android/textclassifier/AnnotatorModel$ClassificationOptions$Builder;->build()Lcom/google/android/textclassifier/AnnotatorModel$ClassificationOptions;845 ····invoke-virtual·{v2},·Lcom/google/android/textclassifier/AnnotatorModel$ClassificationOptions$Builder;->build()Lcom/google/android/textclassifier/AnnotatorModel$ClassificationOptions;
  
1380 ····move-result-object·v10846 ····move-result-object·v9
  
1381 ····iget-object·v11,·p0,·Lcom/android/textclassifier/TextClassifierImpl;->context:Landroid/content/Context;847 ····iget-object·v10,·v0,·Lcom/android/textclassifier/TextClassifierImpl;->context:Landroid/content/Context;
  
1382 ····.line·26848 ····.line·26
1383 ····invoke-direct·{p0},·Lcom/android/textclassifier/TextClassifierImpl;->getResourceLocalesString()Ljava/lang/String;849 ····invoke-direct/range·{p0·..·p0},·Lcom/android/textclassifier/TextClassifierImpl;->getResourceLocalesString()Ljava/lang/String;
  
1384 ····move-result-object·v12850 ····move-result-object·v11
  
 851 ····move-object·v5,·v6
  
1385 ····move-object·v7,·v2852 ····move-object·v6,·v4
  
1386 ····.line·27853 ····.line·27
1387 ····invoke-virtual/range·{v6·..·v12},·Lcom/google/android/textclassifier/AnnotatorModel;->classifyText(Ljava/lang/String;IILcom/google/android/textclassifier/AnnotatorModel$ClassificationOptions;Ljava/lang/Object;Ljava/lang/String;)[Lcom/google/android/textclassifier/AnnotatorModel$ClassificationResult;854 ····invoke-virtual/range·{v5·..·v11},·Lcom/google/android/textclassifier/AnnotatorModel;->classifyText(Ljava/lang/String;IILcom/google/android/textclassifier/AnnotatorModel$ClassificationOptions;Ljava/lang/Object;Ljava/lang/String;)[Lcom/google/android/textclassifier/AnnotatorModel$ClassificationResult;
  
1388 ····move-result-object·v1855 ····move-result-object·v2
  
Max diff block lines reached; 48767/92332 bytes (52.82%) of diff not shown.