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