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