xref: /aosp_15_r20/prebuilts/sdk/34/public/api/framework-appsearch.txt (revision 344a7f5ef16c479e7a7f54ee6567a9d112f9e72b)
1// Signature format: 2.0
2package android.app.appsearch {
3
4  public final class AppSearchBatchResult<KeyType, ValueType> {
5    method @NonNull public java.util.Map<KeyType,android.app.appsearch.AppSearchResult<ValueType>> getAll();
6    method @NonNull public java.util.Map<KeyType,android.app.appsearch.AppSearchResult<ValueType>> getFailures();
7    method @NonNull public java.util.Map<KeyType,ValueType> getSuccesses();
8    method public boolean isSuccess();
9  }
10
11  public static final class AppSearchBatchResult.Builder<KeyType, ValueType> {
12    ctor public AppSearchBatchResult.Builder();
13    method @NonNull public android.app.appsearch.AppSearchBatchResult<KeyType,ValueType> build();
14    method @NonNull public android.app.appsearch.AppSearchBatchResult.Builder<KeyType,ValueType> setFailure(@NonNull KeyType, int, @Nullable String);
15    method @NonNull public android.app.appsearch.AppSearchBatchResult.Builder<KeyType,ValueType> setResult(@NonNull KeyType, @NonNull android.app.appsearch.AppSearchResult<ValueType>);
16    method @NonNull public android.app.appsearch.AppSearchBatchResult.Builder<KeyType,ValueType> setSuccess(@NonNull KeyType, @Nullable ValueType);
17  }
18
19  public class AppSearchManager {
20    method public void createGlobalSearchSession(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<android.app.appsearch.AppSearchResult<android.app.appsearch.GlobalSearchSession>>);
21    method public void createSearchSession(@NonNull android.app.appsearch.AppSearchManager.SearchContext, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<android.app.appsearch.AppSearchResult<android.app.appsearch.AppSearchSession>>);
22  }
23
24  public static final class AppSearchManager.SearchContext {
25    method @NonNull public String getDatabaseName();
26  }
27
28  public static final class AppSearchManager.SearchContext.Builder {
29    ctor public AppSearchManager.SearchContext.Builder(@NonNull String);
30    method @NonNull public android.app.appsearch.AppSearchManager.SearchContext build();
31  }
32
33  public final class AppSearchResult<ValueType> {
34    method @Nullable public String getErrorMessage();
35    method public int getResultCode();
36    method @Nullable public ValueType getResultValue();
37    method public boolean isSuccess();
38    method @NonNull public static <ValueType> android.app.appsearch.AppSearchResult<ValueType> newFailedResult(int, @Nullable String);
39    method @NonNull public static <ValueType> android.app.appsearch.AppSearchResult<ValueType> newSuccessfulResult(@Nullable ValueType);
40    field public static final int RESULT_INTERNAL_ERROR = 2; // 0x2
41    field public static final int RESULT_INVALID_ARGUMENT = 3; // 0x3
42    field public static final int RESULT_INVALID_SCHEMA = 7; // 0x7
43    field public static final int RESULT_IO_ERROR = 4; // 0x4
44    field public static final int RESULT_NOT_FOUND = 6; // 0x6
45    field public static final int RESULT_OK = 0; // 0x0
46    field public static final int RESULT_OUT_OF_SPACE = 5; // 0x5
47    field public static final int RESULT_SECURITY_ERROR = 8; // 0x8
48    field public static final int RESULT_UNKNOWN_ERROR = 1; // 0x1
49  }
50
51  public final class AppSearchSchema {
52    method @NonNull public java.util.List<android.app.appsearch.AppSearchSchema.PropertyConfig> getProperties();
53    method @NonNull public String getSchemaType();
54  }
55
56  public static final class AppSearchSchema.BooleanPropertyConfig extends android.app.appsearch.AppSearchSchema.PropertyConfig {
57  }
58
59  public static final class AppSearchSchema.BooleanPropertyConfig.Builder {
60    ctor public AppSearchSchema.BooleanPropertyConfig.Builder(@NonNull String);
61    method @NonNull public android.app.appsearch.AppSearchSchema.BooleanPropertyConfig build();
62    method @NonNull public android.app.appsearch.AppSearchSchema.BooleanPropertyConfig.Builder setCardinality(int);
63  }
64
65  public static final class AppSearchSchema.Builder {
66    ctor public AppSearchSchema.Builder(@NonNull String);
67    method @NonNull public android.app.appsearch.AppSearchSchema.Builder addProperty(@NonNull android.app.appsearch.AppSearchSchema.PropertyConfig);
68    method @NonNull public android.app.appsearch.AppSearchSchema build();
69  }
70
71  public static final class AppSearchSchema.BytesPropertyConfig extends android.app.appsearch.AppSearchSchema.PropertyConfig {
72  }
73
74  public static final class AppSearchSchema.BytesPropertyConfig.Builder {
75    ctor public AppSearchSchema.BytesPropertyConfig.Builder(@NonNull String);
76    method @NonNull public android.app.appsearch.AppSearchSchema.BytesPropertyConfig build();
77    method @NonNull public android.app.appsearch.AppSearchSchema.BytesPropertyConfig.Builder setCardinality(int);
78  }
79
80  public static final class AppSearchSchema.DocumentPropertyConfig extends android.app.appsearch.AppSearchSchema.PropertyConfig {
81    method @NonNull public String getSchemaType();
82    method public boolean shouldIndexNestedProperties();
83  }
84
85  public static final class AppSearchSchema.DocumentPropertyConfig.Builder {
86    ctor public AppSearchSchema.DocumentPropertyConfig.Builder(@NonNull String, @NonNull String);
87    method @NonNull public android.app.appsearch.AppSearchSchema.DocumentPropertyConfig build();
88    method @NonNull public android.app.appsearch.AppSearchSchema.DocumentPropertyConfig.Builder setCardinality(int);
89    method @NonNull public android.app.appsearch.AppSearchSchema.DocumentPropertyConfig.Builder setShouldIndexNestedProperties(boolean);
90  }
91
92  public static final class AppSearchSchema.DoublePropertyConfig extends android.app.appsearch.AppSearchSchema.PropertyConfig {
93  }
94
95  public static final class AppSearchSchema.DoublePropertyConfig.Builder {
96    ctor public AppSearchSchema.DoublePropertyConfig.Builder(@NonNull String);
97    method @NonNull public android.app.appsearch.AppSearchSchema.DoublePropertyConfig build();
98    method @NonNull public android.app.appsearch.AppSearchSchema.DoublePropertyConfig.Builder setCardinality(int);
99  }
100
101  public static final class AppSearchSchema.LongPropertyConfig extends android.app.appsearch.AppSearchSchema.PropertyConfig {
102    method public int getIndexingType();
103    field public static final int INDEXING_TYPE_NONE = 0; // 0x0
104    field public static final int INDEXING_TYPE_RANGE = 1; // 0x1
105  }
106
107  public static final class AppSearchSchema.LongPropertyConfig.Builder {
108    ctor public AppSearchSchema.LongPropertyConfig.Builder(@NonNull String);
109    method @NonNull public android.app.appsearch.AppSearchSchema.LongPropertyConfig build();
110    method @NonNull public android.app.appsearch.AppSearchSchema.LongPropertyConfig.Builder setCardinality(int);
111    method @NonNull public android.app.appsearch.AppSearchSchema.LongPropertyConfig.Builder setIndexingType(int);
112  }
113
114  public abstract static class AppSearchSchema.PropertyConfig {
115    method public int getCardinality();
116    method @NonNull public String getName();
117    field public static final int CARDINALITY_OPTIONAL = 2; // 0x2
118    field public static final int CARDINALITY_REPEATED = 1; // 0x1
119    field public static final int CARDINALITY_REQUIRED = 3; // 0x3
120  }
121
122  public static final class AppSearchSchema.StringPropertyConfig extends android.app.appsearch.AppSearchSchema.PropertyConfig {
123    method public int getIndexingType();
124    method public int getJoinableValueType();
125    method public int getTokenizerType();
126    field public static final int INDEXING_TYPE_EXACT_TERMS = 1; // 0x1
127    field public static final int INDEXING_TYPE_NONE = 0; // 0x0
128    field public static final int INDEXING_TYPE_PREFIXES = 2; // 0x2
129    field public static final int JOINABLE_VALUE_TYPE_NONE = 0; // 0x0
130    field public static final int JOINABLE_VALUE_TYPE_QUALIFIED_ID = 1; // 0x1
131    field public static final int TOKENIZER_TYPE_NONE = 0; // 0x0
132    field public static final int TOKENIZER_TYPE_PLAIN = 1; // 0x1
133    field public static final int TOKENIZER_TYPE_RFC822 = 3; // 0x3
134    field public static final int TOKENIZER_TYPE_VERBATIM = 2; // 0x2
135  }
136
137  public static final class AppSearchSchema.StringPropertyConfig.Builder {
138    ctor public AppSearchSchema.StringPropertyConfig.Builder(@NonNull String);
139    method @NonNull public android.app.appsearch.AppSearchSchema.StringPropertyConfig build();
140    method @NonNull public android.app.appsearch.AppSearchSchema.StringPropertyConfig.Builder setCardinality(int);
141    method @NonNull public android.app.appsearch.AppSearchSchema.StringPropertyConfig.Builder setIndexingType(int);
142    method @NonNull public android.app.appsearch.AppSearchSchema.StringPropertyConfig.Builder setJoinableValueType(int);
143    method @NonNull public android.app.appsearch.AppSearchSchema.StringPropertyConfig.Builder setTokenizerType(int);
144  }
145
146  public final class AppSearchSession implements java.io.Closeable {
147    method public void close();
148    method public void getByDocumentId(@NonNull android.app.appsearch.GetByDocumentIdRequest, @NonNull java.util.concurrent.Executor, @NonNull android.app.appsearch.BatchResultCallback<java.lang.String,android.app.appsearch.GenericDocument>);
149    method public void getNamespaces(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<android.app.appsearch.AppSearchResult<java.util.Set<java.lang.String>>>);
150    method public void getSchema(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<android.app.appsearch.AppSearchResult<android.app.appsearch.GetSchemaResponse>>);
151    method public void getStorageInfo(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<android.app.appsearch.AppSearchResult<android.app.appsearch.StorageInfo>>);
152    method public void put(@NonNull android.app.appsearch.PutDocumentsRequest, @NonNull java.util.concurrent.Executor, @NonNull android.app.appsearch.BatchResultCallback<java.lang.String,java.lang.Void>);
153    method public void remove(@NonNull android.app.appsearch.RemoveByDocumentIdRequest, @NonNull java.util.concurrent.Executor, @NonNull android.app.appsearch.BatchResultCallback<java.lang.String,java.lang.Void>);
154    method public void remove(@NonNull String, @NonNull android.app.appsearch.SearchSpec, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<android.app.appsearch.AppSearchResult<java.lang.Void>>);
155    method public void reportUsage(@NonNull android.app.appsearch.ReportUsageRequest, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<android.app.appsearch.AppSearchResult<java.lang.Void>>);
156    method @NonNull public android.app.appsearch.SearchResults search(@NonNull String, @NonNull android.app.appsearch.SearchSpec);
157    method public void searchSuggestion(@NonNull String, @NonNull android.app.appsearch.SearchSuggestionSpec, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<android.app.appsearch.AppSearchResult<java.util.List<android.app.appsearch.SearchSuggestionResult>>>);
158    method public void setSchema(@NonNull android.app.appsearch.SetSchemaRequest, @NonNull java.util.concurrent.Executor, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<android.app.appsearch.AppSearchResult<android.app.appsearch.SetSchemaResponse>>);
159  }
160
161  public interface BatchResultCallback<KeyType, ValueType> {
162    method public void onResult(@NonNull android.app.appsearch.AppSearchBatchResult<KeyType,ValueType>);
163    method public default void onSystemError(@Nullable Throwable);
164  }
165
166  public class GenericDocument {
167    ctor protected GenericDocument(@NonNull android.app.appsearch.GenericDocument);
168    method public long getCreationTimestampMillis();
169    method @NonNull public String getId();
170    method public static int getMaxIndexedProperties();
171    method @NonNull public String getNamespace();
172    method @Nullable public Object getProperty(@NonNull String);
173    method public boolean getPropertyBoolean(@NonNull String);
174    method @Nullable public boolean[] getPropertyBooleanArray(@NonNull String);
175    method @Nullable public byte[] getPropertyBytes(@NonNull String);
176    method @Nullable public byte[][] getPropertyBytesArray(@NonNull String);
177    method @Nullable public android.app.appsearch.GenericDocument getPropertyDocument(@NonNull String);
178    method @Nullable public android.app.appsearch.GenericDocument[] getPropertyDocumentArray(@NonNull String);
179    method public double getPropertyDouble(@NonNull String);
180    method @Nullable public double[] getPropertyDoubleArray(@NonNull String);
181    method public long getPropertyLong(@NonNull String);
182    method @Nullable public long[] getPropertyLongArray(@NonNull String);
183    method @NonNull public java.util.Set<java.lang.String> getPropertyNames();
184    method @Nullable public String getPropertyString(@NonNull String);
185    method @Nullable public String[] getPropertyStringArray(@NonNull String);
186    method @NonNull public String getSchemaType();
187    method public int getScore();
188    method public long getTtlMillis();
189  }
190
191  public static class GenericDocument.Builder<BuilderType extends android.app.appsearch.GenericDocument.Builder> {
192    ctor public GenericDocument.Builder(@NonNull String, @NonNull String, @NonNull String);
193    method @NonNull public android.app.appsearch.GenericDocument build();
194    method @NonNull public BuilderType setCreationTimestampMillis(long);
195    method @NonNull public BuilderType setPropertyBoolean(@NonNull String, @NonNull boolean...);
196    method @NonNull public BuilderType setPropertyBytes(@NonNull String, @NonNull byte[]...);
197    method @NonNull public BuilderType setPropertyDocument(@NonNull String, @NonNull android.app.appsearch.GenericDocument...);
198    method @NonNull public BuilderType setPropertyDouble(@NonNull String, @NonNull double...);
199    method @NonNull public BuilderType setPropertyLong(@NonNull String, @NonNull long...);
200    method @NonNull public BuilderType setPropertyString(@NonNull String, @NonNull java.lang.String...);
201    method @NonNull public BuilderType setScore(@IntRange(from=0, to=java.lang.Integer.MAX_VALUE) int);
202    method @NonNull public BuilderType setTtlMillis(long);
203  }
204
205  public final class GetByDocumentIdRequest {
206    method @NonNull public java.util.Set<java.lang.String> getIds();
207    method @NonNull public String getNamespace();
208    method @NonNull public java.util.Map<java.lang.String,java.util.List<android.app.appsearch.PropertyPath>> getProjectionPaths();
209    method @NonNull public java.util.Map<java.lang.String,java.util.List<java.lang.String>> getProjections();
210    field public static final String PROJECTION_SCHEMA_TYPE_WILDCARD = "*";
211  }
212
213  public static final class GetByDocumentIdRequest.Builder {
214    ctor public GetByDocumentIdRequest.Builder(@NonNull String);
215    method @NonNull public android.app.appsearch.GetByDocumentIdRequest.Builder addIds(@NonNull java.lang.String...);
216    method @NonNull public android.app.appsearch.GetByDocumentIdRequest.Builder addIds(@NonNull java.util.Collection<java.lang.String>);
217    method @NonNull public android.app.appsearch.GetByDocumentIdRequest.Builder addProjection(@NonNull String, @NonNull java.util.Collection<java.lang.String>);
218    method @NonNull public android.app.appsearch.GetByDocumentIdRequest.Builder addProjectionPaths(@NonNull String, @NonNull java.util.Collection<android.app.appsearch.PropertyPath>);
219    method @NonNull public android.app.appsearch.GetByDocumentIdRequest build();
220  }
221
222  public final class GetSchemaResponse {
223    method @NonNull public java.util.Map<java.lang.String,java.util.Set<java.util.Set<java.lang.Integer>>> getRequiredPermissionsForSchemaTypeVisibility();
224    method @NonNull public java.util.Set<java.lang.String> getSchemaTypesNotDisplayedBySystem();
225    method @NonNull public java.util.Map<java.lang.String,java.util.Set<android.app.appsearch.PackageIdentifier>> getSchemaTypesVisibleToPackages();
226    method @NonNull public java.util.Set<android.app.appsearch.AppSearchSchema> getSchemas();
227    method @IntRange(from=0) public int getVersion();
228  }
229
230  public static final class GetSchemaResponse.Builder {
231    ctor public GetSchemaResponse.Builder();
232    method @NonNull public android.app.appsearch.GetSchemaResponse.Builder addSchema(@NonNull android.app.appsearch.AppSearchSchema);
233    method @NonNull public android.app.appsearch.GetSchemaResponse.Builder addSchemaTypeNotDisplayedBySystem(@NonNull String);
234    method @NonNull public android.app.appsearch.GetSchemaResponse build();
235    method @NonNull public android.app.appsearch.GetSchemaResponse.Builder setRequiredPermissionsForSchemaTypeVisibility(@NonNull String, @NonNull java.util.Set<java.util.Set<java.lang.Integer>>);
236    method @NonNull public android.app.appsearch.GetSchemaResponse.Builder setSchemaTypeVisibleToPackages(@NonNull String, @NonNull java.util.Set<android.app.appsearch.PackageIdentifier>);
237    method @NonNull public android.app.appsearch.GetSchemaResponse.Builder setVersion(@IntRange(from=0) int);
238  }
239
240  public class GlobalSearchSession implements java.io.Closeable {
241    method public void close();
242    method public void getByDocumentId(@NonNull String, @NonNull String, @NonNull android.app.appsearch.GetByDocumentIdRequest, @NonNull java.util.concurrent.Executor, @NonNull android.app.appsearch.BatchResultCallback<java.lang.String,android.app.appsearch.GenericDocument>);
243    method public void getSchema(@NonNull String, @NonNull String, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<android.app.appsearch.AppSearchResult<android.app.appsearch.GetSchemaResponse>>);
244    method public void registerObserverCallback(@NonNull String, @NonNull android.app.appsearch.observer.ObserverSpec, @NonNull java.util.concurrent.Executor, @NonNull android.app.appsearch.observer.ObserverCallback) throws android.app.appsearch.exceptions.AppSearchException;
245    method public void reportSystemUsage(@NonNull android.app.appsearch.ReportSystemUsageRequest, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<android.app.appsearch.AppSearchResult<java.lang.Void>>);
246    method @NonNull public android.app.appsearch.SearchResults search(@NonNull String, @NonNull android.app.appsearch.SearchSpec);
247    method public void unregisterObserverCallback(@NonNull String, @NonNull android.app.appsearch.observer.ObserverCallback) throws android.app.appsearch.exceptions.AppSearchException;
248  }
249
250  public final class JoinSpec {
251    method public int getAggregationScoringStrategy();
252    method @NonNull public String getChildPropertyExpression();
253    method public int getMaxJoinedResultCount();
254    method @NonNull public String getNestedQuery();
255    method @NonNull public android.app.appsearch.SearchSpec getNestedSearchSpec();
256    field public static final int AGGREGATION_SCORING_AVG_RANKING_SIGNAL = 3; // 0x3
257    field public static final int AGGREGATION_SCORING_MAX_RANKING_SIGNAL = 4; // 0x4
258    field public static final int AGGREGATION_SCORING_MIN_RANKING_SIGNAL = 2; // 0x2
259    field public static final int AGGREGATION_SCORING_OUTER_RESULT_RANKING_SIGNAL = 0; // 0x0
260    field public static final int AGGREGATION_SCORING_RESULT_COUNT = 1; // 0x1
261    field public static final int AGGREGATION_SCORING_SUM_RANKING_SIGNAL = 5; // 0x5
262  }
263
264  public static final class JoinSpec.Builder {
265    ctor public JoinSpec.Builder(@NonNull String);
266    method @NonNull public android.app.appsearch.JoinSpec build();
267    method @NonNull public android.app.appsearch.JoinSpec.Builder setAggregationScoringStrategy(int);
268    method @NonNull public android.app.appsearch.JoinSpec.Builder setMaxJoinedResultCount(int);
269    method @NonNull public android.app.appsearch.JoinSpec.Builder setNestedSearch(@NonNull String, @NonNull android.app.appsearch.SearchSpec);
270  }
271
272  public abstract class Migrator {
273    ctor public Migrator();
274    method @NonNull @WorkerThread public abstract android.app.appsearch.GenericDocument onDowngrade(int, int, @NonNull android.app.appsearch.GenericDocument);
275    method @NonNull @WorkerThread public abstract android.app.appsearch.GenericDocument onUpgrade(int, int, @NonNull android.app.appsearch.GenericDocument);
276    method public abstract boolean shouldMigrate(int, int);
277  }
278
279  public class PackageIdentifier {
280    ctor public PackageIdentifier(@NonNull String, @NonNull byte[]);
281    method @NonNull public String getPackageName();
282    method @NonNull public byte[] getSha256Certificate();
283  }
284
285  public class PropertyPath implements java.lang.Iterable<android.app.appsearch.PropertyPath.PathSegment> {
286    ctor public PropertyPath(@NonNull java.util.List<android.app.appsearch.PropertyPath.PathSegment>);
287    ctor public PropertyPath(@NonNull String);
288    method @NonNull public android.app.appsearch.PropertyPath.PathSegment get(int);
289    method @NonNull public java.util.Iterator<android.app.appsearch.PropertyPath.PathSegment> iterator();
290    method public int size();
291  }
292
293  public static class PropertyPath.PathSegment {
294    method @NonNull public static android.app.appsearch.PropertyPath.PathSegment create(@NonNull String, int);
295    method @NonNull public static android.app.appsearch.PropertyPath.PathSegment create(@NonNull String);
296    method public int getPropertyIndex();
297    method @NonNull public String getPropertyName();
298    field public static final int NON_REPEATED_CARDINALITY = -1; // 0xffffffff
299  }
300
301  public final class PutDocumentsRequest {
302    method @NonNull public java.util.List<android.app.appsearch.GenericDocument> getGenericDocuments();
303  }
304
305  public static final class PutDocumentsRequest.Builder {
306    ctor public PutDocumentsRequest.Builder();
307    method @NonNull public android.app.appsearch.PutDocumentsRequest.Builder addGenericDocuments(@NonNull android.app.appsearch.GenericDocument...);
308    method @NonNull public android.app.appsearch.PutDocumentsRequest.Builder addGenericDocuments(@NonNull java.util.Collection<? extends android.app.appsearch.GenericDocument>);
309    method @NonNull public android.app.appsearch.PutDocumentsRequest build();
310  }
311
312  public final class RemoveByDocumentIdRequest {
313    method @NonNull public java.util.Set<java.lang.String> getIds();
314    method @NonNull public String getNamespace();
315  }
316
317  public static final class RemoveByDocumentIdRequest.Builder {
318    ctor public RemoveByDocumentIdRequest.Builder(@NonNull String);
319    method @NonNull public android.app.appsearch.RemoveByDocumentIdRequest.Builder addIds(@NonNull java.lang.String...);
320    method @NonNull public android.app.appsearch.RemoveByDocumentIdRequest.Builder addIds(@NonNull java.util.Collection<java.lang.String>);
321    method @NonNull public android.app.appsearch.RemoveByDocumentIdRequest build();
322  }
323
324  public final class ReportSystemUsageRequest {
325    method @NonNull public String getDatabaseName();
326    method @NonNull public String getDocumentId();
327    method @NonNull public String getNamespace();
328    method @NonNull public String getPackageName();
329    method public long getUsageTimestampMillis();
330  }
331
332  public static final class ReportSystemUsageRequest.Builder {
333    ctor public ReportSystemUsageRequest.Builder(@NonNull String, @NonNull String, @NonNull String, @NonNull String);
334    method @NonNull public android.app.appsearch.ReportSystemUsageRequest build();
335    method @NonNull public android.app.appsearch.ReportSystemUsageRequest.Builder setUsageTimestampMillis(long);
336  }
337
338  public final class ReportUsageRequest {
339    method @NonNull public String getDocumentId();
340    method @NonNull public String getNamespace();
341    method public long getUsageTimestampMillis();
342  }
343
344  public static final class ReportUsageRequest.Builder {
345    ctor public ReportUsageRequest.Builder(@NonNull String, @NonNull String);
346    method @NonNull public android.app.appsearch.ReportUsageRequest build();
347    method @NonNull public android.app.appsearch.ReportUsageRequest.Builder setUsageTimestampMillis(long);
348  }
349
350  public final class SearchResult {
351    method @NonNull public String getDatabaseName();
352    method @NonNull public android.app.appsearch.GenericDocument getGenericDocument();
353    method @NonNull public java.util.List<android.app.appsearch.SearchResult> getJoinedResults();
354    method @NonNull public java.util.List<android.app.appsearch.SearchResult.MatchInfo> getMatchInfos();
355    method @NonNull public String getPackageName();
356    method public double getRankingSignal();
357  }
358
359  public static final class SearchResult.Builder {
360    ctor public SearchResult.Builder(@NonNull String, @NonNull String);
361    method @NonNull public android.app.appsearch.SearchResult.Builder addJoinedResult(@NonNull android.app.appsearch.SearchResult);
362    method @NonNull public android.app.appsearch.SearchResult.Builder addMatchInfo(@NonNull android.app.appsearch.SearchResult.MatchInfo);
363    method @NonNull public android.app.appsearch.SearchResult build();
364    method @NonNull public android.app.appsearch.SearchResult.Builder setGenericDocument(@NonNull android.app.appsearch.GenericDocument);
365    method @NonNull public android.app.appsearch.SearchResult.Builder setRankingSignal(double);
366  }
367
368  public static final class SearchResult.MatchInfo {
369    method @NonNull public CharSequence getExactMatch();
370    method @NonNull public android.app.appsearch.SearchResult.MatchRange getExactMatchRange();
371    method @NonNull public String getFullText();
372    method @NonNull public String getPropertyPath();
373    method @NonNull public android.app.appsearch.PropertyPath getPropertyPathObject();
374    method @NonNull public CharSequence getSnippet();
375    method @NonNull public android.app.appsearch.SearchResult.MatchRange getSnippetRange();
376    method @NonNull public CharSequence getSubmatch();
377    method @NonNull public android.app.appsearch.SearchResult.MatchRange getSubmatchRange();
378  }
379
380  public static final class SearchResult.MatchInfo.Builder {
381    ctor public SearchResult.MatchInfo.Builder(@NonNull String);
382    method @NonNull public android.app.appsearch.SearchResult.MatchInfo build();
383    method @NonNull public android.app.appsearch.SearchResult.MatchInfo.Builder setExactMatchRange(@NonNull android.app.appsearch.SearchResult.MatchRange);
384    method @NonNull public android.app.appsearch.SearchResult.MatchInfo.Builder setSnippetRange(@NonNull android.app.appsearch.SearchResult.MatchRange);
385    method @NonNull public android.app.appsearch.SearchResult.MatchInfo.Builder setSubmatchRange(@NonNull android.app.appsearch.SearchResult.MatchRange);
386  }
387
388  public static final class SearchResult.MatchRange {
389    ctor public SearchResult.MatchRange(int, int);
390    method public int getEnd();
391    method public int getStart();
392  }
393
394  public class SearchResults implements java.io.Closeable {
395    method public void close();
396    method public void getNextPage(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<android.app.appsearch.AppSearchResult<java.util.List<android.app.appsearch.SearchResult>>>);
397  }
398
399  public final class SearchSpec {
400    method @NonNull public String getAdvancedRankingExpression();
401    method @NonNull public java.util.List<java.lang.String> getFilterNamespaces();
402    method @NonNull public java.util.List<java.lang.String> getFilterPackageNames();
403    method @NonNull public java.util.List<java.lang.String> getFilterSchemas();
404    method @Nullable public android.app.appsearch.JoinSpec getJoinSpec();
405    method public int getMaxSnippetSize();
406    method public int getOrder();
407    method @NonNull public java.util.Map<java.lang.String,java.util.List<android.app.appsearch.PropertyPath>> getProjectionPaths();
408    method @NonNull public java.util.Map<java.lang.String,java.util.List<java.lang.String>> getProjections();
409    method @NonNull public java.util.Map<java.lang.String,java.util.Map<android.app.appsearch.PropertyPath,java.lang.Double>> getPropertyWeightPaths();
410    method @NonNull public java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.Double>> getPropertyWeights();
411    method public int getRankingStrategy();
412    method public int getResultCountPerPage();
413    method public int getResultGroupingLimit();
414    method public int getResultGroupingTypeFlags();
415    method public int getSnippetCount();
416    method public int getSnippetCountPerProperty();
417    method public int getTermMatch();
418    method public boolean isListFilterQueryLanguageEnabled();
419    method public boolean isNumericSearchEnabled();
420    method public boolean isVerbatimSearchEnabled();
421    field public static final int GROUPING_TYPE_PER_NAMESPACE = 2; // 0x2
422    field public static final int GROUPING_TYPE_PER_PACKAGE = 1; // 0x1
423    field public static final int ORDER_ASCENDING = 1; // 0x1
424    field public static final int ORDER_DESCENDING = 0; // 0x0
425    field public static final String PROJECTION_SCHEMA_TYPE_WILDCARD = "*";
426    field public static final int RANKING_STRATEGY_ADVANCED_RANKING_EXPRESSION = 9; // 0x9
427    field public static final int RANKING_STRATEGY_CREATION_TIMESTAMP = 2; // 0x2
428    field public static final int RANKING_STRATEGY_DOCUMENT_SCORE = 1; // 0x1
429    field public static final int RANKING_STRATEGY_JOIN_AGGREGATE_SCORE = 8; // 0x8
430    field public static final int RANKING_STRATEGY_NONE = 0; // 0x0
431    field public static final int RANKING_STRATEGY_RELEVANCE_SCORE = 3; // 0x3
432    field public static final int RANKING_STRATEGY_SYSTEM_USAGE_COUNT = 6; // 0x6
433    field public static final int RANKING_STRATEGY_SYSTEM_USAGE_LAST_USED_TIMESTAMP = 7; // 0x7
434    field public static final int RANKING_STRATEGY_USAGE_COUNT = 4; // 0x4
435    field public static final int RANKING_STRATEGY_USAGE_LAST_USED_TIMESTAMP = 5; // 0x5
436    field public static final int TERM_MATCH_EXACT_ONLY = 1; // 0x1
437    field public static final int TERM_MATCH_PREFIX = 2; // 0x2
438  }
439
440  public static final class SearchSpec.Builder {
441    ctor public SearchSpec.Builder();
442    method @NonNull public android.app.appsearch.SearchSpec.Builder addFilterNamespaces(@NonNull java.lang.String...);
443    method @NonNull public android.app.appsearch.SearchSpec.Builder addFilterNamespaces(@NonNull java.util.Collection<java.lang.String>);
444    method @NonNull public android.app.appsearch.SearchSpec.Builder addFilterPackageNames(@NonNull java.lang.String...);
445    method @NonNull public android.app.appsearch.SearchSpec.Builder addFilterPackageNames(@NonNull java.util.Collection<java.lang.String>);
446    method @NonNull public android.app.appsearch.SearchSpec.Builder addFilterSchemas(@NonNull java.lang.String...);
447    method @NonNull public android.app.appsearch.SearchSpec.Builder addFilterSchemas(@NonNull java.util.Collection<java.lang.String>);
448    method @NonNull public android.app.appsearch.SearchSpec.Builder addProjection(@NonNull String, @NonNull java.util.Collection<java.lang.String>);
449    method @NonNull public android.app.appsearch.SearchSpec.Builder addProjectionPaths(@NonNull String, @NonNull java.util.Collection<android.app.appsearch.PropertyPath>);
450    method @NonNull public android.app.appsearch.SearchSpec build();
451    method @NonNull public android.app.appsearch.SearchSpec.Builder setJoinSpec(@NonNull android.app.appsearch.JoinSpec);
452    method @NonNull public android.app.appsearch.SearchSpec.Builder setListFilterQueryLanguageEnabled(boolean);
453    method @NonNull public android.app.appsearch.SearchSpec.Builder setMaxSnippetSize(@IntRange(from=0, to=0x2710) int);
454    method @NonNull public android.app.appsearch.SearchSpec.Builder setNumericSearchEnabled(boolean);
455    method @NonNull public android.app.appsearch.SearchSpec.Builder setOrder(int);
456    method @NonNull public android.app.appsearch.SearchSpec.Builder setPropertyWeightPaths(@NonNull String, @NonNull java.util.Map<android.app.appsearch.PropertyPath,java.lang.Double>);
457    method @NonNull public android.app.appsearch.SearchSpec.Builder setPropertyWeights(@NonNull String, @NonNull java.util.Map<java.lang.String,java.lang.Double>);
458    method @NonNull public android.app.appsearch.SearchSpec.Builder setRankingStrategy(int);
459    method @NonNull public android.app.appsearch.SearchSpec.Builder setRankingStrategy(@NonNull String);
460    method @NonNull public android.app.appsearch.SearchSpec.Builder setResultCountPerPage(@IntRange(from=0, to=0x2710) int);
461    method @NonNull public android.app.appsearch.SearchSpec.Builder setResultGrouping(int, int);
462    method @NonNull public android.app.appsearch.SearchSpec.Builder setSnippetCount(@IntRange(from=0, to=0x2710) int);
463    method @NonNull public android.app.appsearch.SearchSpec.Builder setSnippetCountPerProperty(@IntRange(from=0, to=0x2710) int);
464    method @NonNull public android.app.appsearch.SearchSpec.Builder setTermMatch(int);
465    method @NonNull public android.app.appsearch.SearchSpec.Builder setVerbatimSearchEnabled(boolean);
466  }
467
468  public final class SearchSuggestionResult {
469    method @NonNull public String getSuggestedResult();
470  }
471
472  public static final class SearchSuggestionResult.Builder {
473    ctor public SearchSuggestionResult.Builder();
474    method @NonNull public android.app.appsearch.SearchSuggestionResult build();
475    method @NonNull public android.app.appsearch.SearchSuggestionResult.Builder setSuggestedResult(@NonNull String);
476  }
477
478  public final class SearchSuggestionSpec {
479    method @NonNull public java.util.Map<java.lang.String,java.util.List<java.lang.String>> getFilterDocumentIds();
480    method @NonNull public java.util.List<java.lang.String> getFilterNamespaces();
481    method @NonNull public java.util.List<java.lang.String> getFilterSchemas();
482    method public int getMaximumResultCount();
483    method public int getRankingStrategy();
484    field public static final int SUGGESTION_RANKING_STRATEGY_DOCUMENT_COUNT = 0; // 0x0
485    field public static final int SUGGESTION_RANKING_STRATEGY_NONE = 2; // 0x2
486    field public static final int SUGGESTION_RANKING_STRATEGY_TERM_FREQUENCY = 1; // 0x1
487  }
488
489  public static final class SearchSuggestionSpec.Builder {
490    ctor public SearchSuggestionSpec.Builder(@IntRange(from=1) int);
491    method @NonNull public android.app.appsearch.SearchSuggestionSpec.Builder addFilterDocumentIds(@NonNull String, @NonNull java.lang.String...);
492    method @NonNull public android.app.appsearch.SearchSuggestionSpec.Builder addFilterDocumentIds(@NonNull String, @NonNull java.util.Collection<java.lang.String>);
493    method @NonNull public android.app.appsearch.SearchSuggestionSpec.Builder addFilterNamespaces(@NonNull java.lang.String...);
494    method @NonNull public android.app.appsearch.SearchSuggestionSpec.Builder addFilterNamespaces(@NonNull java.util.Collection<java.lang.String>);
495    method @NonNull public android.app.appsearch.SearchSuggestionSpec.Builder addFilterSchemas(@NonNull java.lang.String...);
496    method @NonNull public android.app.appsearch.SearchSuggestionSpec.Builder addFilterSchemas(@NonNull java.util.Collection<java.lang.String>);
497    method @NonNull public android.app.appsearch.SearchSuggestionSpec build();
498    method @NonNull public android.app.appsearch.SearchSuggestionSpec.Builder setRankingStrategy(int);
499  }
500
501  public final class SetSchemaRequest {
502    method @NonNull public java.util.Map<java.lang.String,android.app.appsearch.Migrator> getMigrators();
503    method @NonNull public java.util.Map<java.lang.String,java.util.Set<java.util.Set<java.lang.Integer>>> getRequiredPermissionsForSchemaTypeVisibility();
504    method @NonNull public java.util.Set<android.app.appsearch.AppSearchSchema> getSchemas();
505    method @NonNull public java.util.Set<java.lang.String> getSchemasNotDisplayedBySystem();
506    method @NonNull public java.util.Map<java.lang.String,java.util.Set<android.app.appsearch.PackageIdentifier>> getSchemasVisibleToPackages();
507    method @IntRange(from=1) public int getVersion();
508    method public boolean isForceOverride();
509    field public static final int READ_ASSISTANT_APP_SEARCH_DATA = 6; // 0x6
510    field public static final int READ_CALENDAR = 2; // 0x2
511    field public static final int READ_CONTACTS = 3; // 0x3
512    field public static final int READ_EXTERNAL_STORAGE = 4; // 0x4
513    field public static final int READ_HOME_APP_SEARCH_DATA = 5; // 0x5
514    field public static final int READ_SMS = 1; // 0x1
515  }
516
517  public static final class SetSchemaRequest.Builder {
518    ctor public SetSchemaRequest.Builder();
519    method @NonNull public android.app.appsearch.SetSchemaRequest.Builder addRequiredPermissionsForSchemaTypeVisibility(@NonNull String, @NonNull java.util.Set<java.lang.Integer>);
520    method @NonNull public android.app.appsearch.SetSchemaRequest.Builder addSchemas(@NonNull android.app.appsearch.AppSearchSchema...);
521    method @NonNull public android.app.appsearch.SetSchemaRequest.Builder addSchemas(@NonNull java.util.Collection<android.app.appsearch.AppSearchSchema>);
522    method @NonNull public android.app.appsearch.SetSchemaRequest build();
523    method @NonNull public android.app.appsearch.SetSchemaRequest.Builder clearRequiredPermissionsForSchemaTypeVisibility(@NonNull String);
524    method @NonNull public android.app.appsearch.SetSchemaRequest.Builder setForceOverride(boolean);
525    method @NonNull public android.app.appsearch.SetSchemaRequest.Builder setMigrator(@NonNull String, @NonNull android.app.appsearch.Migrator);
526    method @NonNull public android.app.appsearch.SetSchemaRequest.Builder setMigrators(@NonNull java.util.Map<java.lang.String,android.app.appsearch.Migrator>);
527    method @NonNull public android.app.appsearch.SetSchemaRequest.Builder setSchemaTypeDisplayedBySystem(@NonNull String, boolean);
528    method @NonNull public android.app.appsearch.SetSchemaRequest.Builder setSchemaTypeVisibilityForPackage(@NonNull String, boolean, @NonNull android.app.appsearch.PackageIdentifier);
529    method @NonNull public android.app.appsearch.SetSchemaRequest.Builder setVersion(@IntRange(from=1) int);
530  }
531
532  public class SetSchemaResponse {
533    method @NonNull public java.util.Set<java.lang.String> getDeletedTypes();
534    method @NonNull public java.util.Set<java.lang.String> getIncompatibleTypes();
535    method @NonNull public java.util.Set<java.lang.String> getMigratedTypes();
536    method @NonNull public java.util.List<android.app.appsearch.SetSchemaResponse.MigrationFailure> getMigrationFailures();
537  }
538
539  public static final class SetSchemaResponse.Builder {
540    ctor public SetSchemaResponse.Builder();
541    method @NonNull public android.app.appsearch.SetSchemaResponse.Builder addDeletedType(@NonNull String);
542    method @NonNull public android.app.appsearch.SetSchemaResponse.Builder addDeletedTypes(@NonNull java.util.Collection<java.lang.String>);
543    method @NonNull public android.app.appsearch.SetSchemaResponse.Builder addIncompatibleType(@NonNull String);
544    method @NonNull public android.app.appsearch.SetSchemaResponse.Builder addIncompatibleTypes(@NonNull java.util.Collection<java.lang.String>);
545    method @NonNull public android.app.appsearch.SetSchemaResponse.Builder addMigratedType(@NonNull String);
546    method @NonNull public android.app.appsearch.SetSchemaResponse.Builder addMigratedTypes(@NonNull java.util.Collection<java.lang.String>);
547    method @NonNull public android.app.appsearch.SetSchemaResponse.Builder addMigrationFailure(@NonNull android.app.appsearch.SetSchemaResponse.MigrationFailure);
548    method @NonNull public android.app.appsearch.SetSchemaResponse.Builder addMigrationFailures(@NonNull java.util.Collection<android.app.appsearch.SetSchemaResponse.MigrationFailure>);
549    method @NonNull public android.app.appsearch.SetSchemaResponse build();
550  }
551
552  public static class SetSchemaResponse.MigrationFailure {
553    ctor public SetSchemaResponse.MigrationFailure(@NonNull String, @NonNull String, @NonNull String, @NonNull android.app.appsearch.AppSearchResult<?>);
554    method @NonNull public android.app.appsearch.AppSearchResult<java.lang.Void> getAppSearchResult();
555    method @NonNull public String getDocumentId();
556    method @NonNull public String getNamespace();
557    method @NonNull public String getSchemaType();
558  }
559
560  public class StorageInfo {
561    method public int getAliveDocumentsCount();
562    method public int getAliveNamespacesCount();
563    method public long getSizeBytes();
564  }
565
566  public static final class StorageInfo.Builder {
567    ctor public StorageInfo.Builder();
568    method @NonNull public android.app.appsearch.StorageInfo build();
569    method @NonNull public android.app.appsearch.StorageInfo.Builder setAliveDocumentsCount(int);
570    method @NonNull public android.app.appsearch.StorageInfo.Builder setAliveNamespacesCount(int);
571    method @NonNull public android.app.appsearch.StorageInfo.Builder setSizeBytes(long);
572  }
573
574}
575
576package android.app.appsearch.exceptions {
577
578  public class AppSearchException extends java.lang.Exception {
579    ctor public AppSearchException(int);
580    ctor public AppSearchException(int, @Nullable String);
581    ctor public AppSearchException(int, @Nullable String, @Nullable Throwable);
582    method public int getResultCode();
583    method @NonNull public <T> android.app.appsearch.AppSearchResult<T> toAppSearchResult();
584  }
585
586}
587
588package android.app.appsearch.observer {
589
590  public final class DocumentChangeInfo {
591    ctor public DocumentChangeInfo(@NonNull String, @NonNull String, @NonNull String, @NonNull String, @NonNull java.util.Set<java.lang.String>);
592    method @NonNull public java.util.Set<java.lang.String> getChangedDocumentIds();
593    method @NonNull public String getDatabaseName();
594    method @NonNull public String getNamespace();
595    method @NonNull public String getPackageName();
596    method @NonNull public String getSchemaName();
597  }
598
599  public interface ObserverCallback {
600    method public void onDocumentChanged(@NonNull android.app.appsearch.observer.DocumentChangeInfo);
601    method public void onSchemaChanged(@NonNull android.app.appsearch.observer.SchemaChangeInfo);
602  }
603
604  public final class ObserverSpec {
605    method @NonNull public java.util.Set<java.lang.String> getFilterSchemas();
606  }
607
608  public static final class ObserverSpec.Builder {
609    ctor public ObserverSpec.Builder();
610    method @NonNull public android.app.appsearch.observer.ObserverSpec.Builder addFilterSchemas(@NonNull java.lang.String...);
611    method @NonNull public android.app.appsearch.observer.ObserverSpec.Builder addFilterSchemas(@NonNull java.util.Collection<java.lang.String>);
612    method @NonNull public android.app.appsearch.observer.ObserverSpec build();
613  }
614
615  public final class SchemaChangeInfo {
616    ctor public SchemaChangeInfo(@NonNull String, @NonNull String, @NonNull java.util.Set<java.lang.String>);
617    method @NonNull public java.util.Set<java.lang.String> getChangedSchemaNames();
618    method @NonNull public String getDatabaseName();
619    method @NonNull public String getPackageName();
620  }
621
622}
623
624package android.app.appsearch.util {
625
626  public class DocumentIdUtil {
627    method @NonNull public static String createQualifiedId(@NonNull String, @NonNull String, @NonNull android.app.appsearch.GenericDocument);
628    method @NonNull public static String createQualifiedId(@NonNull String, @NonNull String, @NonNull String, @NonNull String);
629  }
630
631}
632
633