xref: /aosp_15_r20/prebuilts/sdk/33/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  }
103
104  public static final class AppSearchSchema.LongPropertyConfig.Builder {
105    ctor public AppSearchSchema.LongPropertyConfig.Builder(@NonNull String);
106    method @NonNull public android.app.appsearch.AppSearchSchema.LongPropertyConfig build();
107    method @NonNull public android.app.appsearch.AppSearchSchema.LongPropertyConfig.Builder setCardinality(int);
108  }
109
110  public abstract static class AppSearchSchema.PropertyConfig {
111    method public int getCardinality();
112    method @NonNull public String getName();
113    field public static final int CARDINALITY_OPTIONAL = 2; // 0x2
114    field public static final int CARDINALITY_REPEATED = 1; // 0x1
115    field public static final int CARDINALITY_REQUIRED = 3; // 0x3
116  }
117
118  public static final class AppSearchSchema.StringPropertyConfig extends android.app.appsearch.AppSearchSchema.PropertyConfig {
119    method public int getIndexingType();
120    method public int getTokenizerType();
121    field public static final int INDEXING_TYPE_EXACT_TERMS = 1; // 0x1
122    field public static final int INDEXING_TYPE_NONE = 0; // 0x0
123    field public static final int INDEXING_TYPE_PREFIXES = 2; // 0x2
124    field public static final int TOKENIZER_TYPE_NONE = 0; // 0x0
125    field public static final int TOKENIZER_TYPE_PLAIN = 1; // 0x1
126  }
127
128  public static final class AppSearchSchema.StringPropertyConfig.Builder {
129    ctor public AppSearchSchema.StringPropertyConfig.Builder(@NonNull String);
130    method @NonNull public android.app.appsearch.AppSearchSchema.StringPropertyConfig build();
131    method @NonNull public android.app.appsearch.AppSearchSchema.StringPropertyConfig.Builder setCardinality(int);
132    method @NonNull public android.app.appsearch.AppSearchSchema.StringPropertyConfig.Builder setIndexingType(int);
133    method @NonNull public android.app.appsearch.AppSearchSchema.StringPropertyConfig.Builder setTokenizerType(int);
134  }
135
136  public final class AppSearchSession implements java.io.Closeable {
137    method public void close();
138    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>);
139    method public void getNamespaces(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<android.app.appsearch.AppSearchResult<java.util.Set<java.lang.String>>>);
140    method public void getSchema(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<android.app.appsearch.AppSearchResult<android.app.appsearch.GetSchemaResponse>>);
141    method public void getStorageInfo(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<android.app.appsearch.AppSearchResult<android.app.appsearch.StorageInfo>>);
142    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>);
143    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>);
144    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>>);
145    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>>);
146    method @NonNull public android.app.appsearch.SearchResults search(@NonNull String, @NonNull android.app.appsearch.SearchSpec);
147    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>>);
148  }
149
150  public interface BatchResultCallback<KeyType, ValueType> {
151    method public void onResult(@NonNull android.app.appsearch.AppSearchBatchResult<KeyType,ValueType>);
152    method public default void onSystemError(@Nullable Throwable);
153  }
154
155  public class GenericDocument {
156    ctor protected GenericDocument(@NonNull android.app.appsearch.GenericDocument);
157    method public long getCreationTimestampMillis();
158    method @NonNull public String getId();
159    method public static int getMaxIndexedProperties();
160    method @NonNull public String getNamespace();
161    method @Nullable public Object getProperty(@NonNull String);
162    method public boolean getPropertyBoolean(@NonNull String);
163    method @Nullable public boolean[] getPropertyBooleanArray(@NonNull String);
164    method @Nullable public byte[] getPropertyBytes(@NonNull String);
165    method @Nullable public byte[][] getPropertyBytesArray(@NonNull String);
166    method @Nullable public android.app.appsearch.GenericDocument getPropertyDocument(@NonNull String);
167    method @Nullable public android.app.appsearch.GenericDocument[] getPropertyDocumentArray(@NonNull String);
168    method public double getPropertyDouble(@NonNull String);
169    method @Nullable public double[] getPropertyDoubleArray(@NonNull String);
170    method public long getPropertyLong(@NonNull String);
171    method @Nullable public long[] getPropertyLongArray(@NonNull String);
172    method @NonNull public java.util.Set<java.lang.String> getPropertyNames();
173    method @Nullable public String getPropertyString(@NonNull String);
174    method @Nullable public String[] getPropertyStringArray(@NonNull String);
175    method @NonNull public String getSchemaType();
176    method public int getScore();
177    method public long getTtlMillis();
178  }
179
180  public static class GenericDocument.Builder<BuilderType extends android.app.appsearch.GenericDocument.Builder> {
181    ctor public GenericDocument.Builder(@NonNull String, @NonNull String, @NonNull String);
182    method @NonNull public android.app.appsearch.GenericDocument build();
183    method @NonNull public BuilderType setCreationTimestampMillis(long);
184    method @NonNull public BuilderType setPropertyBoolean(@NonNull String, @NonNull boolean...);
185    method @NonNull public BuilderType setPropertyBytes(@NonNull String, @NonNull byte[]...);
186    method @NonNull public BuilderType setPropertyDocument(@NonNull String, @NonNull android.app.appsearch.GenericDocument...);
187    method @NonNull public BuilderType setPropertyDouble(@NonNull String, @NonNull double...);
188    method @NonNull public BuilderType setPropertyLong(@NonNull String, @NonNull long...);
189    method @NonNull public BuilderType setPropertyString(@NonNull String, @NonNull java.lang.String...);
190    method @NonNull public BuilderType setScore(@IntRange(from=0, to=java.lang.Integer.MAX_VALUE) int);
191    method @NonNull public BuilderType setTtlMillis(long);
192  }
193
194  public final class GetByDocumentIdRequest {
195    method @NonNull public java.util.Set<java.lang.String> getIds();
196    method @NonNull public String getNamespace();
197    method @NonNull public java.util.Map<java.lang.String,java.util.List<java.lang.String>> getProjections();
198    field public static final String PROJECTION_SCHEMA_TYPE_WILDCARD = "*";
199  }
200
201  public static final class GetByDocumentIdRequest.Builder {
202    ctor public GetByDocumentIdRequest.Builder(@NonNull String);
203    method @NonNull public android.app.appsearch.GetByDocumentIdRequest.Builder addIds(@NonNull java.lang.String...);
204    method @NonNull public android.app.appsearch.GetByDocumentIdRequest.Builder addIds(@NonNull java.util.Collection<java.lang.String>);
205    method @NonNull public android.app.appsearch.GetByDocumentIdRequest.Builder addProjection(@NonNull String, @NonNull java.util.Collection<java.lang.String>);
206    method @NonNull public android.app.appsearch.GetByDocumentIdRequest build();
207  }
208
209  public final class GetSchemaResponse {
210    method @NonNull public java.util.Map<java.lang.String,java.util.Set<java.util.Set<java.lang.Integer>>> getRequiredPermissionsForSchemaTypeVisibility();
211    method @NonNull public java.util.Set<java.lang.String> getSchemaTypesNotDisplayedBySystem();
212    method @NonNull public java.util.Map<java.lang.String,java.util.Set<android.app.appsearch.PackageIdentifier>> getSchemaTypesVisibleToPackages();
213    method @NonNull public java.util.Set<android.app.appsearch.AppSearchSchema> getSchemas();
214    method @IntRange(from=0) public int getVersion();
215  }
216
217  public static final class GetSchemaResponse.Builder {
218    ctor public GetSchemaResponse.Builder();
219    method @NonNull public android.app.appsearch.GetSchemaResponse.Builder addSchema(@NonNull android.app.appsearch.AppSearchSchema);
220    method @NonNull public android.app.appsearch.GetSchemaResponse.Builder addSchemaTypeNotDisplayedBySystem(@NonNull String);
221    method @NonNull public android.app.appsearch.GetSchemaResponse build();
222    method @NonNull public android.app.appsearch.GetSchemaResponse.Builder setRequiredPermissionsForSchemaTypeVisibility(@NonNull String, @NonNull java.util.Set<java.util.Set<java.lang.Integer>>);
223    method @NonNull public android.app.appsearch.GetSchemaResponse.Builder setSchemaTypeVisibleToPackages(@NonNull String, @NonNull java.util.Set<android.app.appsearch.PackageIdentifier>);
224    method @NonNull public android.app.appsearch.GetSchemaResponse.Builder setVersion(@IntRange(from=0) int);
225  }
226
227  public class GlobalSearchSession implements java.io.Closeable {
228    method public void close();
229    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>);
230    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>>);
231    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;
232    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>>);
233    method @NonNull public android.app.appsearch.SearchResults search(@NonNull String, @NonNull android.app.appsearch.SearchSpec);
234    method public void unregisterObserverCallback(@NonNull String, @NonNull android.app.appsearch.observer.ObserverCallback) throws android.app.appsearch.exceptions.AppSearchException;
235  }
236
237  public abstract class Migrator {
238    ctor public Migrator();
239    method @NonNull @WorkerThread public abstract android.app.appsearch.GenericDocument onDowngrade(int, int, @NonNull android.app.appsearch.GenericDocument);
240    method @NonNull @WorkerThread public abstract android.app.appsearch.GenericDocument onUpgrade(int, int, @NonNull android.app.appsearch.GenericDocument);
241    method public abstract boolean shouldMigrate(int, int);
242  }
243
244  public class PackageIdentifier {
245    ctor public PackageIdentifier(@NonNull String, @NonNull byte[]);
246    method @NonNull public String getPackageName();
247    method @NonNull public byte[] getSha256Certificate();
248  }
249
250  public final class PutDocumentsRequest {
251    method @NonNull public java.util.List<android.app.appsearch.GenericDocument> getGenericDocuments();
252  }
253
254  public static final class PutDocumentsRequest.Builder {
255    ctor public PutDocumentsRequest.Builder();
256    method @NonNull public android.app.appsearch.PutDocumentsRequest.Builder addGenericDocuments(@NonNull android.app.appsearch.GenericDocument...);
257    method @NonNull public android.app.appsearch.PutDocumentsRequest.Builder addGenericDocuments(@NonNull java.util.Collection<? extends android.app.appsearch.GenericDocument>);
258    method @NonNull public android.app.appsearch.PutDocumentsRequest build();
259  }
260
261  public final class RemoveByDocumentIdRequest {
262    method @NonNull public java.util.Set<java.lang.String> getIds();
263    method @NonNull public String getNamespace();
264  }
265
266  public static final class RemoveByDocumentIdRequest.Builder {
267    ctor public RemoveByDocumentIdRequest.Builder(@NonNull String);
268    method @NonNull public android.app.appsearch.RemoveByDocumentIdRequest.Builder addIds(@NonNull java.lang.String...);
269    method @NonNull public android.app.appsearch.RemoveByDocumentIdRequest.Builder addIds(@NonNull java.util.Collection<java.lang.String>);
270    method @NonNull public android.app.appsearch.RemoveByDocumentIdRequest build();
271  }
272
273  public final class ReportSystemUsageRequest {
274    method @NonNull public String getDatabaseName();
275    method @NonNull public String getDocumentId();
276    method @NonNull public String getNamespace();
277    method @NonNull public String getPackageName();
278    method public long getUsageTimestampMillis();
279  }
280
281  public static final class ReportSystemUsageRequest.Builder {
282    ctor public ReportSystemUsageRequest.Builder(@NonNull String, @NonNull String, @NonNull String, @NonNull String);
283    method @NonNull public android.app.appsearch.ReportSystemUsageRequest build();
284    method @NonNull public android.app.appsearch.ReportSystemUsageRequest.Builder setUsageTimestampMillis(long);
285  }
286
287  public final class ReportUsageRequest {
288    method @NonNull public String getDocumentId();
289    method @NonNull public String getNamespace();
290    method public long getUsageTimestampMillis();
291  }
292
293  public static final class ReportUsageRequest.Builder {
294    ctor public ReportUsageRequest.Builder(@NonNull String, @NonNull String);
295    method @NonNull public android.app.appsearch.ReportUsageRequest build();
296    method @NonNull public android.app.appsearch.ReportUsageRequest.Builder setUsageTimestampMillis(long);
297  }
298
299  public final class SearchResult {
300    method @NonNull public String getDatabaseName();
301    method @NonNull public android.app.appsearch.GenericDocument getGenericDocument();
302    method @NonNull public java.util.List<android.app.appsearch.SearchResult.MatchInfo> getMatchInfos();
303    method @NonNull public String getPackageName();
304    method public double getRankingSignal();
305  }
306
307  public static final class SearchResult.Builder {
308    ctor public SearchResult.Builder(@NonNull String, @NonNull String);
309    method @NonNull public android.app.appsearch.SearchResult.Builder addMatchInfo(@NonNull android.app.appsearch.SearchResult.MatchInfo);
310    method @NonNull public android.app.appsearch.SearchResult build();
311    method @NonNull public android.app.appsearch.SearchResult.Builder setGenericDocument(@NonNull android.app.appsearch.GenericDocument);
312    method @NonNull public android.app.appsearch.SearchResult.Builder setRankingSignal(double);
313  }
314
315  public static final class SearchResult.MatchInfo {
316    method @NonNull public CharSequence getExactMatch();
317    method @NonNull public android.app.appsearch.SearchResult.MatchRange getExactMatchRange();
318    method @NonNull public String getFullText();
319    method @NonNull public String getPropertyPath();
320    method @NonNull public CharSequence getSnippet();
321    method @NonNull public android.app.appsearch.SearchResult.MatchRange getSnippetRange();
322    method @NonNull public CharSequence getSubmatch();
323    method @NonNull public android.app.appsearch.SearchResult.MatchRange getSubmatchRange();
324  }
325
326  public static final class SearchResult.MatchInfo.Builder {
327    ctor public SearchResult.MatchInfo.Builder(@NonNull String);
328    method @NonNull public android.app.appsearch.SearchResult.MatchInfo build();
329    method @NonNull public android.app.appsearch.SearchResult.MatchInfo.Builder setExactMatchRange(@NonNull android.app.appsearch.SearchResult.MatchRange);
330    method @NonNull public android.app.appsearch.SearchResult.MatchInfo.Builder setSnippetRange(@NonNull android.app.appsearch.SearchResult.MatchRange);
331    method @NonNull public android.app.appsearch.SearchResult.MatchInfo.Builder setSubmatchRange(@NonNull android.app.appsearch.SearchResult.MatchRange);
332  }
333
334  public static final class SearchResult.MatchRange {
335    ctor public SearchResult.MatchRange(int, int);
336    method public int getEnd();
337    method public int getStart();
338  }
339
340  public class SearchResults implements java.io.Closeable {
341    method public void close();
342    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>>>);
343  }
344
345  public final class SearchSpec {
346    method @NonNull public java.util.List<java.lang.String> getFilterNamespaces();
347    method @NonNull public java.util.List<java.lang.String> getFilterPackageNames();
348    method @NonNull public java.util.List<java.lang.String> getFilterSchemas();
349    method public int getMaxSnippetSize();
350    method public int getOrder();
351    method @NonNull public java.util.Map<java.lang.String,java.util.List<java.lang.String>> getProjections();
352    method public int getRankingStrategy();
353    method public int getResultCountPerPage();
354    method public int getResultGroupingLimit();
355    method public int getResultGroupingTypeFlags();
356    method public int getSnippetCount();
357    method public int getSnippetCountPerProperty();
358    method public int getTermMatch();
359    field public static final int GROUPING_TYPE_PER_NAMESPACE = 2; // 0x2
360    field public static final int GROUPING_TYPE_PER_PACKAGE = 1; // 0x1
361    field public static final int ORDER_ASCENDING = 1; // 0x1
362    field public static final int ORDER_DESCENDING = 0; // 0x0
363    field public static final String PROJECTION_SCHEMA_TYPE_WILDCARD = "*";
364    field public static final int RANKING_STRATEGY_CREATION_TIMESTAMP = 2; // 0x2
365    field public static final int RANKING_STRATEGY_DOCUMENT_SCORE = 1; // 0x1
366    field public static final int RANKING_STRATEGY_NONE = 0; // 0x0
367    field public static final int RANKING_STRATEGY_RELEVANCE_SCORE = 3; // 0x3
368    field public static final int RANKING_STRATEGY_SYSTEM_USAGE_COUNT = 6; // 0x6
369    field public static final int RANKING_STRATEGY_SYSTEM_USAGE_LAST_USED_TIMESTAMP = 7; // 0x7
370    field public static final int RANKING_STRATEGY_USAGE_COUNT = 4; // 0x4
371    field public static final int RANKING_STRATEGY_USAGE_LAST_USED_TIMESTAMP = 5; // 0x5
372    field public static final int TERM_MATCH_EXACT_ONLY = 1; // 0x1
373    field public static final int TERM_MATCH_PREFIX = 2; // 0x2
374  }
375
376  public static final class SearchSpec.Builder {
377    ctor public SearchSpec.Builder();
378    method @NonNull public android.app.appsearch.SearchSpec.Builder addFilterNamespaces(@NonNull java.lang.String...);
379    method @NonNull public android.app.appsearch.SearchSpec.Builder addFilterNamespaces(@NonNull java.util.Collection<java.lang.String>);
380    method @NonNull public android.app.appsearch.SearchSpec.Builder addFilterPackageNames(@NonNull java.lang.String...);
381    method @NonNull public android.app.appsearch.SearchSpec.Builder addFilterPackageNames(@NonNull java.util.Collection<java.lang.String>);
382    method @NonNull public android.app.appsearch.SearchSpec.Builder addFilterSchemas(@NonNull java.lang.String...);
383    method @NonNull public android.app.appsearch.SearchSpec.Builder addFilterSchemas(@NonNull java.util.Collection<java.lang.String>);
384    method @NonNull public android.app.appsearch.SearchSpec.Builder addProjection(@NonNull String, @NonNull java.util.Collection<java.lang.String>);
385    method @NonNull public android.app.appsearch.SearchSpec build();
386    method @NonNull public android.app.appsearch.SearchSpec.Builder setMaxSnippetSize(@IntRange(from=0, to=0x2710) int);
387    method @NonNull public android.app.appsearch.SearchSpec.Builder setOrder(int);
388    method @NonNull public android.app.appsearch.SearchSpec.Builder setRankingStrategy(int);
389    method @NonNull public android.app.appsearch.SearchSpec.Builder setResultCountPerPage(@IntRange(from=0, to=0x2710) int);
390    method @NonNull public android.app.appsearch.SearchSpec.Builder setResultGrouping(int, int);
391    method @NonNull public android.app.appsearch.SearchSpec.Builder setSnippetCount(@IntRange(from=0, to=0x2710) int);
392    method @NonNull public android.app.appsearch.SearchSpec.Builder setSnippetCountPerProperty(@IntRange(from=0, to=0x2710) int);
393    method @NonNull public android.app.appsearch.SearchSpec.Builder setTermMatch(int);
394  }
395
396  public final class SetSchemaRequest {
397    method @NonNull public java.util.Map<java.lang.String,android.app.appsearch.Migrator> getMigrators();
398    method @NonNull public java.util.Map<java.lang.String,java.util.Set<java.util.Set<java.lang.Integer>>> getRequiredPermissionsForSchemaTypeVisibility();
399    method @NonNull public java.util.Set<android.app.appsearch.AppSearchSchema> getSchemas();
400    method @NonNull public java.util.Set<java.lang.String> getSchemasNotDisplayedBySystem();
401    method @NonNull public java.util.Map<java.lang.String,java.util.Set<android.app.appsearch.PackageIdentifier>> getSchemasVisibleToPackages();
402    method @IntRange(from=1) public int getVersion();
403    method public boolean isForceOverride();
404    field public static final int READ_ASSISTANT_APP_SEARCH_DATA = 6; // 0x6
405    field public static final int READ_CALENDAR = 2; // 0x2
406    field public static final int READ_CONTACTS = 3; // 0x3
407    field public static final int READ_EXTERNAL_STORAGE = 4; // 0x4
408    field public static final int READ_HOME_APP_SEARCH_DATA = 5; // 0x5
409    field public static final int READ_SMS = 1; // 0x1
410  }
411
412  public static final class SetSchemaRequest.Builder {
413    ctor public SetSchemaRequest.Builder();
414    method @NonNull public android.app.appsearch.SetSchemaRequest.Builder addRequiredPermissionsForSchemaTypeVisibility(@NonNull String, @NonNull java.util.Set<java.lang.Integer>);
415    method @NonNull public android.app.appsearch.SetSchemaRequest.Builder addSchemas(@NonNull android.app.appsearch.AppSearchSchema...);
416    method @NonNull public android.app.appsearch.SetSchemaRequest.Builder addSchemas(@NonNull java.util.Collection<android.app.appsearch.AppSearchSchema>);
417    method @NonNull public android.app.appsearch.SetSchemaRequest build();
418    method @NonNull public android.app.appsearch.SetSchemaRequest.Builder clearRequiredPermissionsForSchemaTypeVisibility(@NonNull String);
419    method @NonNull public android.app.appsearch.SetSchemaRequest.Builder setForceOverride(boolean);
420    method @NonNull public android.app.appsearch.SetSchemaRequest.Builder setMigrator(@NonNull String, @NonNull android.app.appsearch.Migrator);
421    method @NonNull public android.app.appsearch.SetSchemaRequest.Builder setMigrators(@NonNull java.util.Map<java.lang.String,android.app.appsearch.Migrator>);
422    method @NonNull public android.app.appsearch.SetSchemaRequest.Builder setSchemaTypeDisplayedBySystem(@NonNull String, boolean);
423    method @NonNull public android.app.appsearch.SetSchemaRequest.Builder setSchemaTypeVisibilityForPackage(@NonNull String, boolean, @NonNull android.app.appsearch.PackageIdentifier);
424    method @NonNull public android.app.appsearch.SetSchemaRequest.Builder setVersion(@IntRange(from=1) int);
425  }
426
427  public class SetSchemaResponse {
428    method @NonNull public java.util.Set<java.lang.String> getDeletedTypes();
429    method @NonNull public java.util.Set<java.lang.String> getIncompatibleTypes();
430    method @NonNull public java.util.Set<java.lang.String> getMigratedTypes();
431    method @NonNull public java.util.List<android.app.appsearch.SetSchemaResponse.MigrationFailure> getMigrationFailures();
432  }
433
434  public static final class SetSchemaResponse.Builder {
435    ctor public SetSchemaResponse.Builder();
436    method @NonNull public android.app.appsearch.SetSchemaResponse.Builder addDeletedType(@NonNull String);
437    method @NonNull public android.app.appsearch.SetSchemaResponse.Builder addDeletedTypes(@NonNull java.util.Collection<java.lang.String>);
438    method @NonNull public android.app.appsearch.SetSchemaResponse.Builder addIncompatibleType(@NonNull String);
439    method @NonNull public android.app.appsearch.SetSchemaResponse.Builder addIncompatibleTypes(@NonNull java.util.Collection<java.lang.String>);
440    method @NonNull public android.app.appsearch.SetSchemaResponse.Builder addMigratedType(@NonNull String);
441    method @NonNull public android.app.appsearch.SetSchemaResponse.Builder addMigratedTypes(@NonNull java.util.Collection<java.lang.String>);
442    method @NonNull public android.app.appsearch.SetSchemaResponse.Builder addMigrationFailure(@NonNull android.app.appsearch.SetSchemaResponse.MigrationFailure);
443    method @NonNull public android.app.appsearch.SetSchemaResponse.Builder addMigrationFailures(@NonNull java.util.Collection<android.app.appsearch.SetSchemaResponse.MigrationFailure>);
444    method @NonNull public android.app.appsearch.SetSchemaResponse build();
445  }
446
447  public static class SetSchemaResponse.MigrationFailure {
448    ctor public SetSchemaResponse.MigrationFailure(@NonNull String, @NonNull String, @NonNull String, @NonNull android.app.appsearch.AppSearchResult<?>);
449    method @NonNull public android.app.appsearch.AppSearchResult<java.lang.Void> getAppSearchResult();
450    method @NonNull public String getDocumentId();
451    method @NonNull public String getNamespace();
452    method @NonNull public String getSchemaType();
453  }
454
455  public class StorageInfo {
456    method public int getAliveDocumentsCount();
457    method public int getAliveNamespacesCount();
458    method public long getSizeBytes();
459  }
460
461  public static final class StorageInfo.Builder {
462    ctor public StorageInfo.Builder();
463    method @NonNull public android.app.appsearch.StorageInfo build();
464    method @NonNull public android.app.appsearch.StorageInfo.Builder setAliveDocumentsCount(int);
465    method @NonNull public android.app.appsearch.StorageInfo.Builder setAliveNamespacesCount(int);
466    method @NonNull public android.app.appsearch.StorageInfo.Builder setSizeBytes(long);
467  }
468
469}
470
471package android.app.appsearch.exceptions {
472
473  public class AppSearchException extends java.lang.Exception {
474    ctor public AppSearchException(int);
475    ctor public AppSearchException(int, @Nullable String);
476    ctor public AppSearchException(int, @Nullable String, @Nullable Throwable);
477    method public int getResultCode();
478    method @NonNull public <T> android.app.appsearch.AppSearchResult<T> toAppSearchResult();
479  }
480
481}
482
483package android.app.appsearch.observer {
484
485  public final class DocumentChangeInfo {
486    ctor public DocumentChangeInfo(@NonNull String, @NonNull String, @NonNull String, @NonNull String, @NonNull java.util.Set<java.lang.String>);
487    method @NonNull public java.util.Set<java.lang.String> getChangedDocumentIds();
488    method @NonNull public String getDatabaseName();
489    method @NonNull public String getNamespace();
490    method @NonNull public String getPackageName();
491    method @NonNull public String getSchemaName();
492  }
493
494  public interface ObserverCallback {
495    method public void onDocumentChanged(@NonNull android.app.appsearch.observer.DocumentChangeInfo);
496    method public void onSchemaChanged(@NonNull android.app.appsearch.observer.SchemaChangeInfo);
497  }
498
499  public final class ObserverSpec {
500    method @NonNull public java.util.Set<java.lang.String> getFilterSchemas();
501  }
502
503  public static final class ObserverSpec.Builder {
504    ctor public ObserverSpec.Builder();
505    method @NonNull public android.app.appsearch.observer.ObserverSpec.Builder addFilterSchemas(@NonNull java.lang.String...);
506    method @NonNull public android.app.appsearch.observer.ObserverSpec.Builder addFilterSchemas(@NonNull java.util.Collection<java.lang.String>);
507    method @NonNull public android.app.appsearch.observer.ObserverSpec build();
508  }
509
510  public final class SchemaChangeInfo {
511    ctor public SchemaChangeInfo(@NonNull String, @NonNull String, @NonNull java.util.Set<java.lang.String>);
512    method @NonNull public java.util.Set<java.lang.String> getChangedSchemaNames();
513    method @NonNull public String getDatabaseName();
514    method @NonNull public String getPackageName();
515  }
516
517}
518
519