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