Offset 1, 231 lines modifiedOffset 1, 262 lines modified
1 .class·public·final·Lcom/android/textclassifier/ModelFileManager;1 .class·public·final·Lcom/android/textclassifier/common/ModelFileManager;
2 .super·Ljava/lang/Object;2 .super·Ljava/lang/Object;
3 .source·"ModelFileManager.java"3 .source·"ModelFileManager.java"
  
  
4 #·static·fields4 #·static·fields
5 .field·public·static·final·synthetic·$r8$clinit:I5 .field·public·static·final·synthetic·$r8$clinit:I
  
6 .field·private·static·final·CONFIG_UPDATER_DIR:Ljava/io/File;6 .field·private·static·final·CONFIG_UPDATER_DIR:Ljava/io/File;
  
  
7 #·instance·fields7 #·instance·fields
8 .field·private·modelFileListers:Lcom/google/common/collect/ImmutableList;8 .field·private·final·modelFileListers:Ljava/util/List;
  
  
9 #·direct·methods9 #·direct·methods
10 .method·static·constructor·<clinit>()V10 .method·static·constructor·<clinit>()V
11 ····.locals·211 ····.locals·2
  
12 ····.line·112 ····.line·1
13 ····new-instance·v0,·Ljava/io/File;13 ····new-instance·v0,·Ljava/io/File;
  
14 ····const-string·v1,·"/data/misc/textclassifier/"14 ····const-string·v1,·"/data/misc/textclassifier/"
  
15 ····invoke-direct·{v0,·v1},·Ljava/io/File;-><init>(Ljava/lang/String;)V15 ····invoke-direct·{v0,·v1},·Ljava/io/File;-><init>(Ljava/lang/String;)V
  
16 ····sput-object·v0,·Lcom/android/textclassifier/ModelFileManager;->CONFIG_UPDATER_DIR:Ljava/io/File;16 ····sput-object·v0,·Lcom/android/textclassifier/common/ModelFileManager;->CONFIG_UPDATER_DIR:Ljava/io/File;
  
17 ····return-void17 ····return-void
18 .end·method18 .end·method
  
19 .method·public·constructor·<init>(Landroid/content/Context;Lcom/android/textclassifier/common/TextClassifierSettings;)V19 .method·public·constructor·<init>(Landroid/content/Context;Lcom/android/textclassifier/common/TextClassifierSettings;)V
20 ····.locals·1120 ····.locals·18
  
 21 ····move-object/from16·v0,·p2
  
21 ····.line·122 ····.line·1
22 ····invoke-direct·{p0},·Ljava/lang/Object;-><init>()V23 ····invoke-direct/range·{p0·..·p0},·Ljava/lang/Object;-><init>()V
  
23 ····.line·224 ····.line·2
24 ····invoke-static·{p1},·Ljava/util/Objects;->requireNonNull(Ljava/lang/Object;)Ljava/lang/Object;25 ····invoke-static/range·{p1·..·p1},·Ljava/util/Objects;->requireNonNull(Ljava/lang/Object;)Ljava/lang/Object;
  
25 ····.line·326 ····.line·3
26 ····invoke-static·{p2},·Ljava/util/Objects;->requireNonNull(Ljava/lang/Object;)Ljava/lang/Object;27 ····invoke-static/range·{p2·..·p2},·Ljava/util/Objects;->requireNonNull(Ljava/lang/Object;)Ljava/lang/Object;
  
27 ····.line·428 ····.line·4
28 ····invoke-virtual·{p1},·Landroid/content/Context;->getAssets()Landroid/content/res/AssetManager;29 ····invoke-virtual/range·{p1·..·p1},·Landroid/content/Context;->getAssets()Landroid/content/res/AssetManager;
  
29 ····move-result-object·p130 ····move-result-object·v7
  
30 ····.line·531 ····.line·5
31 ····new-instance·p2,·Lcom/android/textclassifier/ModelFileManager$RegularFileFullMatchLister;32 ····new-instance·v8,·Ljava/io/File;
  
32 ····new-instance·v0,·Ljava/io/File;33 ····invoke-virtual/range·{p1·..·p1},·Landroid/content/Context;->getFilesDir()Ljava/io/File;
  
33 ····sget-object·v6,·Lcom/android/textclassifier/ModelFileManager;->CONFIG_UPDATER_DIR:Ljava/io/File;34 ····move-result-object·v1
  
 35 ····const-string·v2,·"textclassifier/downloads/models/"
  
 36 ····invoke-direct·{v8,·v1,·v2},·Ljava/io/File;-><init>(Ljava/io/File;Ljava/lang/String;)V
  
 37 ····.line·6
 38 ····new-instance·v9,·Lcom/android/textclassifier/common/ModelFileManager$RegularFilePatternMatchLister;
  
34 ····const-string·v1,·"textclassifier.model"39 ····.line·7
 40 ····new-instance·v1,·Lcom/android/textclassifier/common/ModelFileManager$$ExternalSyntheticLambda0;
  
35 ····invoke-direct·{v0,·v6,·v1},·Ljava/io/File;-><init>(Ljava/io/File;Ljava/lang/String;)V41 ····const/4·v2,·0x0
  
36 ····sget-object·v1,·Lcom/android/textclassifier/ModelFileManager$$ExternalSyntheticLambda1;->INSTANCE:Lcom/android/textclassifier/ModelFileManager$$ExternalSyntheticLambda1;42 ····invoke-direct·{v1,·v0,·v2},·Lcom/android/textclassifier/common/ModelFileManager$$ExternalSyntheticLambda0;-><init>(Lcom/android/textclassifier/common/TextClassifierSettings;I)V
  
37 ····const-string·v2,·"annotator"43 ····const-string·v2,·"annotator"
  
38 ····invoke-direct·{p2,·v2,·v0,·v1},·Lcom/android/textclassifier/ModelFileManager$RegularFileFullMatchLister;-><init>(Ljava/lang/String;Ljava/io/File;Lcom/google/common/base/Supplier;)V44 ····const-string·v3,·"annotator\\.(.*)\\.model"
  
39 ····new-instance·v7,·Lcom/android/textclassifier/ModelFileManager$AssetFilePatternMatchLister;45 ····invoke-direct·{v9,·v2,·v8,·v3,·v1},·Lcom/android/textclassifier/common/ModelFileManager$RegularFilePatternMatchLister;-><init>(Ljava/lang/String;Ljava/io/File;Ljava/lang/String;Lcom/google/common/base/Supplier;)V
  
40 ····sget-object·v5,·Lcom/android/textclassifier/ModelFileManager$$ExternalSyntheticLambda1;->INSTANCE$com$android$textclassifier$ModelFileManager$$InternalSyntheticLambda$0$e4c34939fcd29e34f05d4d76a3a7f6e0e1f6e6772b8219f6e11ffc0de333b42d$1:Lcom/android/textclassifier/ModelFileManager$$ExternalSyntheticLambda1;46 ····new-instance·v10,·Lcom/android/textclassifier/common/ModelFileManager$RegularFileFullMatchLister;
  
41 ····const-string·v2,·"annotator"47 ····new-instance·v1,·Ljava/io/File;
  
42 ····const-string·v3,·"textclassifier"48 ····sget-object·v11,·Lcom/android/textclassifier/common/ModelFileManager;->CONFIG_UPDATER_DIR:Ljava/io/File;
  
43 ····const-string·v4,·"annotator\\.(.*)\\.model"49 ····const-string·v3,·"textclassifier.model"
  
44 ····move-object·v0,·v750 ····invoke-direct·{v1,·v11,·v3},·Ljava/io/File;-><init>(Ljava/io/File;Ljava/lang/String;)V
  
45 ····move-object·v1,·p151 ····sget-object·v3,·Lcom/android/textclassifier/common/ModelFileManager$$ExternalSyntheticLambda1;->INSTANCE:Lcom/android/textclassifier/common/ModelFileManager$$ExternalSyntheticLambda1;
  
46 ····invoke-direct/range·{v0·..·v5},·Lcom/android/textclassifier/ModelFileManager$AssetFilePatternMatchLister;-><init>(Landroid/content/res/AssetManager;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/google/common/base/Supplier;)V52 ····invoke-direct·{v10,·v2,·v1,·v3},·Lcom/android/textclassifier/common/ModelFileManager$RegularFileFullMatchLister;-><init>(Ljava/lang/String;Ljava/io/File;Lcom/google/common/base/Supplier;)V
  
47 ····new-instance·v8,·Lcom/android/textclassifier/ModelFileManager$RegularFileFullMatchLister;53 ····new-instance·v12,·Lcom/android/textclassifier/common/ModelFileManager$AssetFilePatternMatchLister;
  
48 ····new-instance·v0,·Ljava/io/File;54 ····sget-object·v6,·Lcom/android/textclassifier/common/ModelFileManager$$ExternalSyntheticLambda1;->INSTANCE$com$android$textclassifier$common$ModelFileManager$$InternalSyntheticLambda$0$1c7e7c3032d1ec6edd7b6fdf660f74197c48510ed1a7487232b5b7130d777c16$2:Lcom/android/textclassifier/common/ModelFileManager$$ExternalSyntheticLambda1;
  
49 ····const-string·v1,·"actions_suggestions.model"55 ····const-string·v3,·"annotator"
  
50 ····invoke-direct·{v0,·v6,·v1},·Ljava/io/File;-><init>(Ljava/io/File;Ljava/lang/String;)V56 ····const-string·v4,·"textclassifier"
  
51 ····sget-object·v1,·Lcom/android/textclassifier/ModelFileManager$$ExternalSyntheticLambda1;->INSTANCE$com$android$textclassifier$ModelFileManager$$InternalSyntheticLambda$0$e4c34939fcd29e34f05d4d76a3a7f6e0e1f6e6772b8219f6e11ffc0de333b42d$2:Lcom/android/textclassifier/ModelFileManager$$ExternalSyntheticLambda1;57 ····const-string·v5,·"annotator\\.(.*)\\.model"
  
52 ····const-string·v2,·"actions_suggestions"58 ····move-object·v1,·v12
  
53 ····invoke-direct·{v8,·v2,·v0,·v1},·Lcom/android/textclassifier/ModelFileManager$RegularFileFullMatchLister;-><init>(Ljava/lang/String;Ljava/io/File;Lcom/google/common/base/Supplier;)V59 ····move-object·v2,·v7
  
54 ····new-instance·v9,·Lcom/android/textclassifier/ModelFileManager$AssetFilePatternMatchLister;60 ····invoke-direct/range·{v1·..·v6},·Lcom/android/textclassifier/common/ModelFileManager$AssetFilePatternMatchLister;-><init>(Landroid/content/res/AssetManager;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/google/common/base/Supplier;)V
  
55 ····sget-object·v5,·Lcom/android/textclassifier/ModelFileManager$$ExternalSyntheticLambda1;->INSTANCE$com$android$textclassifier$ModelFileManager$$InternalSyntheticLambda$0$e4c34939fcd29e34f05d4d76a3a7f6e0e1f6e6772b8219f6e11ffc0de333b42d$3:Lcom/android/textclassifier/ModelFileManager$$ExternalSyntheticLambda1;61 ····new-instance·v13,·Lcom/android/textclassifier/common/ModelFileManager$RegularFilePatternMatchLister;
  
 62 ····.line·8
 63 ····new-instance·v1,·Lcom/android/textclassifier/common/ModelFileManager$$ExternalSyntheticLambda0;
  
 64 ····const/4·v2,·0x2
  
 65 ····invoke-direct·{v1,·v0,·v2},·Lcom/android/textclassifier/common/ModelFileManager$$ExternalSyntheticLambda0;-><init>(Lcom/android/textclassifier/common/TextClassifierSettings;I)V
  
56 ····const-string·v2,·"actions_suggestions"66 ····const-string·v2,·"actions_suggestions"
  
57 ····const-string·v3,·"textclassifier"67 ····const-string·v3,·"actions_suggestions\\.(.*)\\.model"
  
58 ····const-string·v4,·"actions_suggestions\\.(.*)\\.model"68 ····invoke-direct·{v13,·v2,·v8,·v3,·v1},·Lcom/android/textclassifier/common/ModelFileManager$RegularFilePatternMatchLister;-><init>(Ljava/lang/String;Ljava/io/File;Ljava/lang/String;Lcom/google/common/base/Supplier;)V
  
59 ····move-object·v0,·v969 ····new-instance·v14,·Lcom/android/textclassifier/common/ModelFileManager$RegularFileFullMatchLister;
  
60 ····move-object·v1,·p170 ····new-instance·v1,·Ljava/io/File;
  
61 ····invoke-direct/range·{v0·..·v5},·Lcom/android/textclassifier/ModelFileManager$AssetFilePatternMatchLister;-><init>(Landroid/content/res/AssetManager;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/google/common/base/Supplier;)V71 ····const-string·v3,·"actions_suggestions.model"
  
62 ····new-instance·v10,·Lcom/android/textclassifier/ModelFileManager$RegularFileFullMatchLister;72 ····invoke-direct·{v1,·v11,·v3},·Ljava/io/File;-><init>(Ljava/io/File;Ljava/lang/String;)V
  
63 ····new-instance·v0,·Ljava/io/File;73 ····sget-object·v3,·Lcom/android/textclassifier/common/ModelFileManager$$ExternalSyntheticLambda1;->INSTANCE$com$android$textclassifier$common$ModelFileManager$$InternalSyntheticLambda$0$1c7e7c3032d1ec6edd7b6fdf660f74197c48510ed1a7487232b5b7130d777c16$4:Lcom/android/textclassifier/common/ModelFileManager$$ExternalSyntheticLambda1;
  
64 ····const-string·v1,·"lang_id.model"74 ····invoke-direct·{v14,·v2,·v1,·v3},·Lcom/android/textclassifier/common/ModelFileManager$RegularFileFullMatchLister;-><init>(Ljava/lang/String;Ljava/io/File;Lcom/google/common/base/Supplier;)V
  
65 ····invoke-direct·{v0,·v6,·v1},·Ljava/io/File;-><init>(Ljava/io/File;Ljava/lang/String;)V75 ····new-instance·v15,·Lcom/android/textclassifier/common/ModelFileManager$AssetFilePatternMatchLister;
  
66 ····sget-object·v1,·Lcom/android/textclassifier/ModelFileManager$$ExternalSyntheticLambda1;->INSTANCE$com$android$textclassifier$ModelFileManager$$InternalSyntheticLambda$0$e4c34939fcd29e34f05d4d76a3a7f6e0e1f6e6772b8219f6e11ffc0de333b42d$4:Lcom/android/textclassifier/ModelFileManager$$ExternalSyntheticLambda1;76 ····sget-object·v6,·Lcom/android/textclassifier/common/ModelFileManager$$ExternalSyntheticLambda1;->INSTANCE$com$android$textclassifier$common$ModelFileManager$$InternalSyntheticLambda$0$1c7e7c3032d1ec6edd7b6fdf660f74197c48510ed1a7487232b5b7130d777c16$5:Lcom/android/textclassifier/common/ModelFileManager$$ExternalSyntheticLambda1;
  
67 ····const-string·v2,·"lang_id"77 ····const-string·v3,·"actions_suggestions"
  
 78 ····const-string·v4,·"textclassifier"
  
 79 ····const-string·v5,·"actions_suggestions\\.(.*)\\.model"
  
 80 ····move-object·v1,·v15
  
 81 ····move-object·v2,·v7
  
 82 ····invoke-direct/range·{v1·..·v6},·Lcom/android/textclassifier/common/ModelFileManager$AssetFilePatternMatchLister;-><init>(Landroid/content/res/AssetManager;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/google/common/base/Supplier;)V
  
 83 ····new-instance·v6,·Lcom/android/textclassifier/common/ModelFileManager$RegularFilePatternMatchLister;
  
 84 ····.line·9
 85 ····new-instance·v1,·Lcom/android/textclassifier/common/ModelFileManager$$ExternalSyntheticLambda0;
  
 86 ····const/4·v2,·0x3
  
 87 ····invoke-direct·{v1,·v0,·v2},·Lcom/android/textclassifier/common/ModelFileManager$$ExternalSyntheticLambda0;-><init>(Lcom/android/textclassifier/common/TextClassifierSettings;I)V
  
68 ····invoke-direct·{v10,·v2,·v0,·v1},·Lcom/android/textclassifier/ModelFileManager$RegularFileFullMatchLister;-><init>(Ljava/lang/String;Ljava/io/File;Lcom/google/common/base/Supplier;)V88 ····const-string·v0,·"lang_id"
  
69 ····new-instance·v6,·Lcom/android/textclassifier/ModelFileManager$AssetFilePatternMatchLister;89 ····const-string·v2,·"lang_id\\.(.*)\\.model"
  
 90 ····invoke-direct·{v6,·v0,·v8,·v2,·v1},·Lcom/android/textclassifier/common/ModelFileManager$RegularFilePatternMatchLister;-><init>(Ljava/lang/String;Ljava/io/File;Ljava/lang/String;Lcom/google/common/base/Supplier;)V
  
 91 ····new-instance·v8,·Lcom/android/textclassifier/common/ModelFileManager$RegularFileFullMatchLister;
  
 92 ····new-instance·v1,·Ljava/io/File;
  
 93 ····const-string·v2,·"lang_id.model"
  
 94 ····invoke-direct·{v1,·v11,·v2},·Ljava/io/File;-><init>(Ljava/io/File;Ljava/lang/String;)V
  
 95 ····sget-object·v2,·Lcom/android/textclassifier/common/ModelFileManager$$ExternalSyntheticLambda1;->INSTANCE$com$android$textclassifier$common$ModelFileManager$$InternalSyntheticLambda$0$1c7e7c3032d1ec6edd7b6fdf660f74197c48510ed1a7487232b5b7130d777c16$7:Lcom/android/textclassifier/common/ModelFileManager$$ExternalSyntheticLambda1;
  
 96 ····invoke-direct·{v8,·v0,·v1,·v2},·Lcom/android/textclassifier/common/ModelFileManager$RegularFileFullMatchLister;-><init>(Ljava/lang/String;Ljava/io/File;Lcom/google/common/base/Supplier;)V
  
 97 ····new-instance·v17,·Lcom/android/textclassifier/common/ModelFileManager$AssetFilePatternMatchLister;
  
70 ····sget-object·v5,·Lcom/android/textclassifier/ModelFileManager$$ExternalSyntheticLambda1;->INSTANCE$com$android$textclassifier$ModelFileManager$$InternalSyntheticLambda$0$e4c34939fcd29e34f05d4d76a3a7f6e0e1f6e6772b8219f6e11ffc0de333b42d$5:Lcom/android/textclassifier/ModelFileManager$$ExternalSyntheticLambda1;98 ····sget-object·v5,·Lcom/android/textclassifier/common/ModelFileManager$$ExternalSyntheticLambda1;->INSTANCE$com$android$textclassifier$common$ModelFileManager$$InternalSyntheticLambda$0$1c7e7c3032d1ec6edd7b6fdf660f74197c48510ed1a7487232b5b7130d777c16$8:Lcom/android/textclassifier/common/ModelFileManager$$ExternalSyntheticLambda1;
  
71 ····const-string·v2,·"lang_id"99 ····const-string·v2,·"lang_id"
  
72 ····const-string·v3,·"textclassifier"100 ····const-string·v3,·"textclassifier"
  
73 ····const-string·v4,·"lang_id.model"101 ····const-string·v4,·"lang_id.model"
  
74 ····move-object·v0,·v6102 ····move-object/from16·v0,·v17
  
75 ····move-object·v1,·p1103 ····move-object·v1,·v7
  
76 ····invoke-direct/range·{v0·..·v5},·Lcom/android/textclassifier/ModelFileManager$AssetFilePatternMatchLister;-><init>(Landroid/content/res/AssetManager;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/google/common/base/Supplier;)V104 ····invoke-direct/range·{v0·..·v5},·Lcom/android/textclassifier/common/ModelFileManager$AssetFilePatternMatchLister;-><init>(Landroid/content/res/AssetManager;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/google/common/base/Supplier;)V
  
77 ····move-object·v0,·p2105 ····move-object·v11,·v12
  
78 ····move-object·v1,·v7106 ····move-object·v12,·v13
  
79 ····move-object·v2,·v8107 ····move-object·v13,·v14
  
80 ····move-object·v3,·v9108 ····move-object·v14,·v15
  
81 ····move-object·v4,·v10109 ····move-object·v15,·v6
  
82 ····move-object·v5,·v6110 ····move-object/from16·v16,·v8
  
83 ····.line·6111 ····.line·10
84 ····invoke-static/range·{v0·..·v5},·Lcom/google/common/collect/ImmutableList;->of(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Lcom/google/common/collect/ImmutableList;112 ····invoke-static/range·{v9·..·v17},·Lcom/google/common/collect/ImmutableList;->of(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Lcom/google/common/collect/ImmutableList;
  
85 ····move-result-object·p1113 ····move-result-object·v0
  
 114 ····move-object/from16·v1,·p0
  
86 ····iput-object·p1,·p0,·Lcom/android/textclassifier/ModelFileManager;->modelFileListers:Lcom/google/common/collect/ImmutableList;115 ····iput-object·v0,·v1,·Lcom/android/textclassifier/common/ModelFileManager;->modelFileListers:Ljava/util/List;
  
87 ····return-void116 ····return-void
88 .end·method117 .end·method
  
89 .method·public·constructor·<init>(Landroid/content/Context;Ljava/util/List;)V118 .method·public·constructor·<init>(Landroid/content/Context;Ljava/util/List;)V
90 ····.locals·0119 ····.locals·2
91 ····.annotation·system·Ldalvik/annotation/Signature;120 ····.annotation·system·Ldalvik/annotation/Signature;
92 ········value·=·{121 ········value·=·{
93 ············"(",122 ············"(",
94 ············"Landroid/content/Context;",123 ············"Landroid/content/Context;",
95 ············"Ljava/util/List<",124 ············"Ljava/util/List<",
96 ············"Lcom/android/textclassifier/ModelFileManager$ModelFileLister;",125 ············"Lcom/android/textclassifier/common/ModelFileManager$ModelFileLister;",
97 ············">;)V"126 ············">;)V"
98 ········}127 ········}
99 ····.end·annotation128 ····.end·annotation
  
100 ····.line·7129 ····.line·11
101 ····invoke-direct·{p0},·Ljava/lang/Object;-><init>()V130 ····invoke-direct·{p0},·Ljava/lang/Object;-><init>()V
  
102 ····.line·8 
103 ····invoke-static·{p2},·Lcom/google/common/collect/ImmutableList;->copyOf(Ljava/util/Collection;)Lcom/google/common/collect/ImmutableList; 
  
104 ····move-result-object·p1 
  
105 ····iput-object·p1,·p0,·Lcom/android/textclassifier/ModelFileManager;->modelFileListers:Lcom/google/common/collect/ImmutableList; 
  
106 ····return-void 
107 .end·method 
  
  
108 #·virtual·methods 
109 .method·public·addModelDownloaderModels(Lcom/android/textclassifier/downloader/ModelDownloadManager;Lcom/android/textclassifier/common/TextClassifierSettings;)V 
110 ····.locals·2 
  
111 ····.line·1131 ····.line·12
 132 ····new-instance·v0,·Ljava/io/File;
112 ····sget·v0,·Lcom/google/common/collect/ImmutableList;->$r8$clinit:I 
  
113 ····.line·2 
114 ····new-instance·v0,·Lcom/google/common/collect/ImmutableList$Builder; 
  
115 ····invoke-direct·{v0},·Lcom/google/common/collect/ImmutableList$Builder;-><init>()V 
  
 133 ····invoke-virtual·{p1},·Landroid/content/Context;->getFilesDir()Ljava/io/File;
116 ····.line·3 
117 ····iget-object·v1,·p0,·Lcom/android/textclassifier/ModelFileManager;->modelFileListers:Lcom/google/common/collect/ImmutableList; 
  
 134 ····move-result-object·p1
118 ····.line·4 
119 ····invoke-virtual·{v0,·v1},·Lcom/google/common/collect/ImmutableList$Builder;->addAll(Ljava/lang/Iterable;)Lcom/google/common/collect/ImmutableList$Builder; 
  
120 ····new-instance·v1,·Lcom/android/textclassifier/ModelFileManager$$ExternalSyntheticLambda0; 
  
121 ····invoke-direct·{v1,·p2,·p1},·Lcom/android/textclassifier/ModelFileManager$$ExternalSyntheticLambda0;-><init>(Lcom/android/textclassifier/common/TextClassifierSettings;Lcom/android/textclassifier/downloader/ModelDownloadManager;)V135 ····const-string·v1,·"textclassifier/downloads/models/"
  
 136 ····invoke-direct·{v0,·p1,·v1},·Ljava/io/File;-><init>(Ljava/io/File;Ljava/lang/String;)V
122 ····.line·5 
123 ····invoke-virtual·{v0,·v1},·Lcom/google/common/collect/ImmutableList$Builder;->add(Ljava/lang/Object;)Lcom/google/common/collect/ImmutableList$Builder; 
  
124 ····.line·6137 ····.line·13
125 ····invoke-virtual·{v0},·Lcom/google/common/collect/ImmutableList$Builder;->build()Lcom/google/common/collect/ImmutableList;138 ····invoke-static·{p2},·Lcom/google/common/collect/ImmutableList;->copyOf(Ljava/util/Collection;)Lcom/google/common/collect/ImmutableList;
  
126 ····move-result-object·p1139 ····move-result-object·p1
  
127 ····iput-object·p1,·p0,·Lcom/android/textclassifier/ModelFileManager;->modelFileListers:Lcom/google/common/collect/ImmutableList;140 ····iput-object·p1,·p0,·Lcom/android/textclassifier/common/ModelFileManager;->modelFileListers:Ljava/util/List;
  
128 ····return-void141 ····return-void
129 .end·method142 .end·method
  
  
 143 #·virtual·methods
130 .method·public·dump(Lcom/android/textclassifier/utils/IndentingPrintWriter;)V144 .method·public·dump(Lcom/android/textclassifier/utils/IndentingPrintWriter;)V
131 ····.locals·4145 ····.locals·4
  
132 ····const-string·v0,·"ModelFileManager:"146 ····const-string·v0,·"ModelFileManager:"
  
133 ····.line·1147 ····.line·1
134 ····invoke-virtual·{p1,·v0},·Lcom/android/textclassifier/utils/IndentingPrintWriter;->println(Ljava/lang/String;)Lcom/android/textclassifier/utils/IndentingPrintWriter;148 ····invoke-virtual·{p1,·v0},·Lcom/android/textclassifier/utils/IndentingPrintWriter;->println(Ljava/lang/String;)Lcom/android/textclassifier/utils/IndentingPrintWriter;
Offset 271, 15 lines modifiedOffset 302, 15 lines modified
  
271 ····invoke-virtual·{p1,·v2},·Lcom/android/textclassifier/utils/IndentingPrintWriter;->println(Ljava/lang/String;)Lcom/android/textclassifier/utils/IndentingPrintWriter;302 ····invoke-virtual·{p1,·v2},·Lcom/android/textclassifier/utils/IndentingPrintWriter;->println(Ljava/lang/String;)Lcom/android/textclassifier/utils/IndentingPrintWriter;
  
272 ····.line·6303 ····.line·6
273 ····invoke-virtual·{p1},·Lcom/android/textclassifier/utils/IndentingPrintWriter;->increaseIndent()Lcom/android/textclassifier/utils/IndentingPrintWriter;304 ····invoke-virtual·{p1},·Lcom/android/textclassifier/utils/IndentingPrintWriter;->increaseIndent()Lcom/android/textclassifier/utils/IndentingPrintWriter;
  
274 ····.line·7305 ····.line·7
275 ····invoke-virtual·{p0,·v1},·Lcom/android/textclassifier/ModelFileManager;->listModelFiles(Ljava/lang/String;)Lcom/google/common/collect/ImmutableList;306 ····invoke-virtual·{p0,·v1},·Lcom/android/textclassifier/common/ModelFileManager;->listModelFiles(Ljava/lang/String;)Lcom/google/common/collect/ImmutableList;
  
276 ····move-result-object·v1307 ····move-result-object·v1
  
277 ····invoke-virtual·{v1},·Lcom/google/common/collect/ImmutableList;->iterator()Lcom/google/common/collect/UnmodifiableIterator;308 ····invoke-virtual·{v1},·Lcom/google/common/collect/ImmutableList;->iterator()Lcom/google/common/collect/UnmodifiableIterator;
  
278 ····move-result-object·v1309 ····move-result-object·v1
  
Offset 290, 18 lines modifiedOffset 321, 18 lines modified
  
290 ····if-eqz·v2,·:cond_0321 ····if-eqz·v2,·:cond_0
  
291 ····invoke-interface·{v1},·Ljava/util/Iterator;->next()Ljava/lang/Object;322 ····invoke-interface·{v1},·Ljava/util/Iterator;->next()Ljava/lang/Object;
  
292 ····move-result-object·v2323 ····move-result-object·v2
  
293 ····check-cast·v2,·Lcom/android/textclassifier/ModelFileManager$ModelFile;324 ····check-cast·v2,·Lcom/android/textclassifier/common/ModelFileManager$ModelFile;
  
294 ····.line·8325 ····.line·8
295 ····invoke-virtual·{v2},·Lcom/android/textclassifier/ModelFileManager$ModelFile;->toString()Ljava/lang/String;326 ····invoke-virtual·{v2},·Lcom/android/textclassifier/common/ModelFileManager$ModelFile;->toString()Ljava/lang/String;
  
296 ····move-result-object·v2327 ····move-result-object·v2
  
297 ····invoke-virtual·{p1,·v2},·Lcom/android/textclassifier/utils/IndentingPrintWriter;->println(Ljava/lang/String;)Lcom/android/textclassifier/utils/IndentingPrintWriter;328 ····invoke-virtual·{p1,·v2},·Lcom/android/textclassifier/utils/IndentingPrintWriter;->println(Ljava/lang/String;)Lcom/android/textclassifier/utils/IndentingPrintWriter;
  
298 ····goto·:goto_1329 ····goto·:goto_1
  
Offset 314, 253 lines modifiedOffset 345, 214 lines modified
314 ····.line·10345 ····.line·10
315 ····:cond_1346 ····:cond_1
316 ····invoke-virtual·{p1},·Lcom/android/textclassifier/utils/IndentingPrintWriter;->decreaseIndent()Lcom/android/textclassifier/utils/IndentingPrintWriter;347 ····invoke-virtual·{p1},·Lcom/android/textclassifier/utils/IndentingPrintWriter;->decreaseIndent()Lcom/android/textclassifier/utils/IndentingPrintWriter;
  
317 ····return-void348 ····return-void
318 .end·method349 .end·method
  
319 .method·public·findBestModelFile(Ljava/lang/String;Landroid/os/LocaleList;)Lcom/android/textclassifier/ModelFileManager$ModelFile;350 .method·public·findBestModelFile(Ljava/lang/String;Landroid/os/LocaleList;)Lcom/android/textclassifier/common/ModelFileManager$ModelFile;
320 ····.locals·6351 ····.locals·5
  
321 ····const/4·v0,·0x0 
  
322 ····if-eqz·p2,·:cond_0352 ····if-eqz·p2,·:cond_1
  
323 ····.line·1353 ····.line·1
324 ····invoke-virtual·{p2,·v0},·Landroid/os/LocaleList;->get(I)Ljava/util/Locale;354 ····invoke-virtual·{p2},·Landroid/os/LocaleList;->isEmpty()Z
  
325 ····move-result-object·p2355 ····move-result·v0
  
 356 ····if-eqz·v0,·:cond_0
  
326 ····goto·:goto_0357 ····goto·:goto_0
  
 358 ····.line·2
327 ····:cond_0359 ····:cond_0
328 ····invoke-static·{},·Ljava/util/Locale;->getDefault()Ljava/util/Locale;360 ····invoke-virtual·{p2},·Landroid/os/LocaleList;->toLanguageTags()Ljava/lang/String;
  
329 ····move-result-object·p2361 ····move-result-object·p2
  
 362 ····goto·:goto_1
330 ····.line·2 
331 ····:goto_0 
332 ····invoke-static·{},·Landroid/os/LocaleList;->getDefault()Landroid/os/LocaleList; 
  
333 ····move-result-object·v1 
  
334 ····invoke-virtual·{v1},·Landroid/os/LocaleList;->toLanguageTags()Ljava/lang/String; 
  
335 ····move-result-object·v1 
  
336 ····invoke-static·{v1},·Ljava/util/Locale$LanguageRange;->parse(Ljava/lang/String;)Ljava/util/List; 
  
337 ····move-result-object·v1 
  
338 ····.line·3363 ····.line·3
 364 ····:cond_1
 365 ····:goto_0
 366 ····invoke-static·{},·Landroid/os/LocaleList;->getDefault()Landroid/os/LocaleList;
339 ····invoke-virtual·{p2},·Ljava/util/Locale;->getLanguage()Ljava/lang/String; 
  
340 ····move-result-object·v2 
  
341 ····invoke-static·{v2},·Lcom/google/common/collect/ImmutableList;->of(Ljava/lang/Object;)Lcom/google/common/collect/ImmutableList; 
  
342 ····move-result-object·v2 
  
343 ····invoke-static·{v1,·v2},·Ljava/util/Locale;->lookupTag(Ljava/util/List;Ljava/util/Collection;)Ljava/lang/String; 
  
344 ····move-result-object·v1 
  
345 ····const/4·v2,·0x1 
  
346 ····if-nez·v1,·:cond_1 
  
347 ····move·v1,·v2367 ····move-result-object·p2
  
348 ····goto·:goto_1368 ····invoke-virtual·{p2},·Landroid/os/LocaleList;->toLanguageTags()Ljava/lang/String;
  
 369 ····move-result-object·p2
349 ····:cond_1 
350 ····move·v1,·v0 
  
351 ····.line·4370 ····.line·4
352 ····:goto_1371 ····:goto_1
353 ····invoke-virtual·{p2},·Ljava/util/Locale;->toLanguageTag()Ljava/lang/String; 
  
354 ····move-result-object·p2 
  
355 ····invoke-static·{p2},·Ljava/util/Locale$LanguageRange;->parse(Ljava/lang/String;)Ljava/util/List;372 ····invoke-static·{p2},·Ljava/util/Locale$LanguageRange;->parse(Ljava/lang/String;)Ljava/util/List;
  
356 ····move-result-object·p2373 ····move-result-object·p2
  
357 ····const/4·v3,·0x0374 ····const/4·v0,·0x0
  
358 ····.line·5375 ····.line·5
359 ····invoke-virtual·{p0,·p1},·Lcom/android/textclassifier/ModelFileManager;->listModelFiles(Ljava/lang/String;)Lcom/google/common/collect/ImmutableList;376 ····invoke-virtual·{p0,·p1},·Lcom/android/textclassifier/common/ModelFileManager;->listModelFiles(Ljava/lang/String;)Lcom/google/common/collect/ImmutableList;
  
360 ····move-result-object·p0377 ····move-result-object·p0
  
361 ····invoke-virtual·{p0},·Lcom/google/common/collect/ImmutableList;->iterator()Lcom/google/common/collect/UnmodifiableIterator;378 ····invoke-virtual·{p0},·Lcom/google/common/collect/ImmutableList;->iterator()Lcom/google/common/collect/UnmodifiableIterator;
  
362 ····move-result-object·p0379 ····move-result-object·p0
  
363 ····:cond_2380 ····:cond_2
364 ····:goto_2381 ····:goto_2
365 ····invoke-interface·{p0},·Ljava/util/Iterator;->hasNext()Z382 ····invoke-interface·{p0},·Ljava/util/Iterator;->hasNext()Z
  
366 ····move-result·p1383 ····move-result·p1
  
367 ····if-eqz·p1,·:cond_a384 ····if-eqz·p1,·:cond_9
  
368 ····invoke-interface·{p0},·Ljava/util/Iterator;->next()Ljava/lang/Object;385 ····invoke-interface·{p0},·Ljava/util/Iterator;->next()Ljava/lang/Object;
  
369 ····move-result-object·p1386 ····move-result-object·p1
  
370 ····check-cast·p1,·Lcom/android/textclassifier/ModelFileManager$ModelFile;387 ····check-cast·p1,·Lcom/android/textclassifier/common/ModelFileManager$ModelFile;
  
371 ····if-eqz·v1,·:cond_3 
  
372 ····.line·6388 ····.line·6
 389 ····invoke-static·{p1},·Ljava/util/Objects;->requireNonNull(Ljava/lang/Object;)Ljava/lang/Object;
373 ····iget-boolean·v4,·p1,·Lcom/android/textclassifier/ModelFileManager$ModelFile;->languageIndependent:Z 
  
374 ····if-nez·v4,·:cond_3 
  
375 ····goto·:goto_2 
  
376 ····.line·7390 ····.line·7
377 ····:cond_3 
378 ····invoke-static·{p1},·Ljava/util/Objects;->requireNonNull(Ljava/lang/Object;)Ljava/lang/Object;391 ····invoke-static·{p2},·Ljava/util/Objects;->requireNonNull(Ljava/lang/Object;)Ljava/lang/Object;
  
379 ····.line·8392 ····.line·8
380 ····invoke-static·{p2},·Ljava/util/Objects;->requireNonNull(Ljava/lang/Object;)Ljava/lang/Object;393 ····iget-boolean·v1,·p1,·Lcom/android/textclassifier/common/ModelFileManager$ModelFile;->languageIndependent:Z
  
381 ····.line·9 
382 ····iget-boolean·v4,·p1,·Lcom/android/textclassifier/ModelFileManager$ModelFile;->languageIndependent:Z394 ····const/4·v2,·0x0
  
 395 ····const/4·v3,·0x1
  
383 ····if-eqz·v4,·:cond_4396 ····if-eqz·v1,·:cond_3
  
384 ····goto·:goto_3397 ····goto·:goto_3
  
385 ····.line·10398 ····.line·9
386 ····:cond_4399 ····:cond_3
387 ····iget-object·v4,·p1,·Lcom/android/textclassifier/ModelFileManager$ModelFile;->supportedLocales:Landroid/os/LocaleList;400 ····iget-object·v1,·p1,·Lcom/android/textclassifier/common/ModelFileManager$ModelFile;->supportedLocales:Landroid/os/LocaleList;
  
388 ····.line·11401 ····.line·10
389 ····invoke-virtual·{v4},·Landroid/os/LocaleList;->toLanguageTags()Ljava/lang/String;402 ····invoke-virtual·{v1},·Landroid/os/LocaleList;->toLanguageTags()Ljava/lang/String;
  
390 ····move-result-object·v4403 ····move-result-object·v1
  
391 ····const-string·v5,·","404 ····const-string·v4,·","
  
392 ····invoke-virtual·{v4,·v5},·Ljava/lang/String;->split(Ljava/lang/String;)[Ljava/lang/String;405 ····invoke-virtual·{v1,·v4},·Ljava/lang/String;->split(Ljava/lang/String;)[Ljava/lang/String;
  
393 ····move-result-object·v4406 ····move-result-object·v1
  
394 ····invoke-static·{v4},·Ljava/util/Arrays;->asList([Ljava/lang/Object;)Ljava/util/List;407 ····invoke-static·{v1},·Ljava/util/Arrays;->asList([Ljava/lang/Object;)Ljava/util/List;
  
395 ····move-result-object·v4408 ····move-result-object·v1
  
396 ····.line·12409 ····.line·11
397 ····invoke-static·{p2,·v4},·Ljava/util/Locale;->lookupTag(Ljava/util/List;Ljava/util/Collection;)Ljava/lang/String;410 ····invoke-static·{p2,·v1},·Ljava/util/Locale;->lookupTag(Ljava/util/List;Ljava/util/Collection;)Ljava/lang/String;
  
398 ····move-result-object·v4411 ····move-result-object·v1
  
399 ····if-eqz·v4,·:cond_5412 ····if-eqz·v1,·:cond_4
  
400 ····:goto_3413 ····:goto_3
401 ····move·v4,·v2414 ····move·v1,·v3
  
402 ····goto·:goto_4415 ····goto·:goto_4
  
403 ····:cond_5416 ····:cond_4
404 ····move·v4,·v0417 ····move·v1,·v2
  
405 ····:goto_4418 ····:goto_4
406 ····if-eqz·v4,·:cond_2419 ····if-eqz·v1,·:cond_2
  
407 ····if-nez·v3,·:cond_6420 ····if-nez·v0,·:cond_5
  
408 ····goto·:goto_5421 ····goto·:goto_5
  
409 ····.line·13422 ····.line·12
410 ····:cond_6423 ····:cond_5
411 ····iget-boolean·v4,·p1,·Lcom/android/textclassifier/ModelFileManager$ModelFile;->languageIndependent:Z424 ····iget-boolean·v1,·p1,·Lcom/android/textclassifier/common/ModelFileManager$ModelFile;->languageIndependent:Z
  
412 ····if-nez·v4,·:cond_7425 ····if-nez·v1,·:cond_6
  
413 ····iget-boolean·v5,·v3,·Lcom/android/textclassifier/ModelFileManager$ModelFile;->languageIndependent:Z426 ····iget-boolean·v4,·v0,·Lcom/android/textclassifier/common/ModelFileManager$ModelFile;->languageIndependent:Z
  
414 ····if-eqz·v5,·:cond_7427 ····if-eqz·v4,·:cond_6
  
415 ····goto·:goto_5428 ····goto·:goto_5
  
416 ····:cond_7429 ····:cond_6
417 ····if-eqz·v4,·:cond_8430 ····if-eqz·v1,·:cond_7
  
418 ····.line·14431 ····.line·13
419 ····iget-boolean·v4,·v3,·Lcom/android/textclassifier/ModelFileManager$ModelFile;->languageIndependent:Z432 ····iget-boolean·v1,·v0,·Lcom/android/textclassifier/common/ModelFileManager$ModelFile;->languageIndependent:Z
  
420 ····if-nez·v4,·:cond_8433 ····if-nez·v1,·:cond_7
  
421 ····goto·:goto_6434 ····goto·:goto_6
  
422 ····.line·15435 ····.line·14
423 ····:cond_8436 ····:cond_7
424 ····iget·v4,·p1,·Lcom/android/textclassifier/ModelFileManager$ModelFile;->version:I437 ····iget·v1,·p1,·Lcom/android/textclassifier/common/ModelFileManager$ModelFile;->version:I
  
425 ····iget·v5,·v3,·Lcom/android/textclassifier/ModelFileManager$ModelFile;->version:I438 ····iget·v4,·v0,·Lcom/android/textclassifier/common/ModelFileManager$ModelFile;->version:I
  
426 ····if-le·v4,·v5,·:cond_9439 ····if-le·v1,·v4,·:cond_8
  
427 ····:goto_5440 ····:goto_5
428 ····move·v4,·v2441 ····move·v2,·v3
  
429 ····goto·:goto_7 
  
430 ····:cond_9442 ····:cond_8
431 ····:goto_6443 ····:goto_6
432 ····move·v4,·v0 
  
433 ····:goto_7 
434 ····if-eqz·v4,·:cond_2444 ····if-eqz·v2,·:cond_2
  
435 ····move-object·v3,·p1445 ····move-object·v0,·p1
  
436 ····goto·:goto_2446 ····goto·:goto_2
  
437 ····:cond_a447 ····:cond_9
438 ····return-object·v3448 ····return-object·v0
439 .end·method449 .end·method
  
440 .method·public·listModelFiles(Ljava/lang/String;)Lcom/google/common/collect/ImmutableList;450 .method·public·listModelFiles(Ljava/lang/String;)Lcom/google/common/collect/ImmutableList;
441 ····.locals·2451 ····.locals·2
  
442 ····.line·1452 ····.line·1
443 ····invoke-static·{p1},·Ljava/util/Objects;->requireNonNull(Ljava/lang/Object;)Ljava/lang/Object;453 ····invoke-static·{p1},·Ljava/util/Objects;->requireNonNull(Ljava/lang/Object;)Ljava/lang/Object;
  
444 ····.line·2454 ····.line·2
445 ····new-instance·v0,·Lcom/google/common/collect/ImmutableList$Builder;455 ····new-instance·v0,·Lcom/google/common/collect/ImmutableList$Builder;
  
446 ····invoke-direct·{v0},·Lcom/google/common/collect/ImmutableList$Builder;-><init>()V456 ····invoke-direct·{v0},·Lcom/google/common/collect/ImmutableList$Builder;-><init>()V
  
447 ····.line·3457 ····.line·3
448 ····iget-object·p0,·p0,·Lcom/android/textclassifier/ModelFileManager;->modelFileListers:Lcom/google/common/collect/ImmutableList;458 ····iget-object·p0,·p0,·Lcom/android/textclassifier/common/ModelFileManager;->modelFileListers:Ljava/util/List;
  
449 ····invoke-virtual·{p0},·Lcom/google/common/collect/ImmutableList;->iterator()Lcom/google/common/collect/UnmodifiableIterator;459 ····invoke-interface·{p0},·Ljava/util/List;->iterator()Ljava/util/Iterator;
  
450 ····move-result-object·p0460 ····move-result-object·p0
  
451 ····:goto_0461 ····:goto_0
452 ····invoke-interface·{p0},·Ljava/util/Iterator;->hasNext()Z462 ····invoke-interface·{p0},·Ljava/util/Iterator;->hasNext()Z
  
453 ····move-result·v1463 ····move-result·v1
  
454 ····if-eqz·v1,·:cond_0464 ····if-eqz·v1,·:cond_0
  
455 ····invoke-interface·{p0},·Ljava/util/Iterator;->next()Ljava/lang/Object;465 ····invoke-interface·{p0},·Ljava/util/Iterator;->next()Ljava/lang/Object;
  
456 ····move-result-object·v1466 ····move-result-object·v1
  
457 ····check-cast·v1,·Lcom/android/textclassifier/ModelFileManager$ModelFileLister;467 ····check-cast·v1,·Lcom/android/textclassifier/common/ModelFileManager$ModelFileLister;
  
458 ····.line·4468 ····.line·4
459 ····invoke-interface·{v1,·p1},·Lcom/android/textclassifier/ModelFileManager$ModelFileLister;->list(Ljava/lang/String;)Ljava/util/List;469 ····invoke-interface·{v1,·p1},·Lcom/android/textclassifier/common/ModelFileManager$ModelFileLister;->list(Ljava/lang/String;)Ljava/util/List;
  
460 ····move-result-object·v1470 ····move-result-object·v1
  
461 ····invoke-virtual·{v0,·v1},·Lcom/google/common/collect/ImmutableList$Builder;->addAll(Ljava/lang/Iterable;)Lcom/google/common/collect/ImmutableList$Builder;471 ····invoke-virtual·{v0,·v1},·Lcom/google/common/collect/ImmutableList$Builder;->addAll(Ljava/lang/Iterable;)Lcom/google/common/collect/ImmutableList$Builder;
  
462 ····goto·:goto_0472 ····goto·:goto_0