Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit bab9e04c authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Remove deprecated, hidden versions of changed public APIs." into sc-dev am: c630f879

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/15259893

Change-Id: I1af8eb959558a50f1bb293fd40f9b4ca42234d71
parents e808512e c630f879
Loading
Loading
Loading
Loading
+0 −4
Original line number Diff line number Diff line
@@ -57,12 +57,8 @@ java_sdk_library {
        // This list must be kept in sync with jarjar.txt
        "modules-utils-preconditions",
    ],
    libs: ["unsupportedappusage"], // TODO(b/181887768) should be removed
    defaults: ["framework-module-defaults"],
    permitted_packages: ["android.app.appsearch"],
    aidl: {
        include_dirs: ["frameworks/base/core/java"], // TODO(b/146218515) should be removed
    },
    jarjar_rules: "jarjar-rules.txt",
    apex_available: ["com.android.appsearch"],
    impl_library_visibility: [
+0 −27
Original line number Diff line number Diff line
@@ -25,7 +25,6 @@ import android.app.appsearch.aidl.IAppSearchManager;
import android.app.appsearch.aidl.IAppSearchResultCallback;
import android.app.appsearch.exceptions.AppSearchException;
import android.app.appsearch.util.SchemaMigrationUtil;
import android.compat.annotation.UnsupportedAppUsage;
import android.os.Bundle;
import android.os.RemoteException;
import android.os.SystemClock;
@@ -308,19 +307,6 @@ public final class AppSearchSession implements Closeable {
        }
    }

    /**
     * @deprecated TODO(b/181887768): Exists for dogfood transition; must be removed.
     * @hide
     */
    @Deprecated
    @UnsupportedAppUsage
    public void getByUri(
            @NonNull GetByUriRequest request,
            @NonNull @CallbackExecutor Executor executor,
            @NonNull BatchResultCallback<String, GenericDocument> callback) {
        getByDocumentId(request.toGetByDocumentIdRequest(), executor, callback);
    }

    /**
     * Gets {@link GenericDocument} objects by document IDs in a namespace from the {@link
     * AppSearchSession} database.
@@ -520,19 +506,6 @@ public final class AppSearchSession implements Closeable {
        }
    }

    /**
     * @deprecated TODO(b/181887768): Exists for dogfood transition; must be removed.
     * @hide
     */
    @Deprecated
    @UnsupportedAppUsage
    public void remove(
            @NonNull RemoveByUriRequest request,
            @NonNull @CallbackExecutor Executor executor,
            @NonNull BatchResultCallback<String, Void> callback) {
        remove(request.toRemoveByDocumentIdRequest(), executor, callback);
    }

    /**
     * Removes {@link GenericDocument} objects by document IDs in a namespace from the {@link
     * AppSearchSession} database.
+3 −94
Original line number Diff line number Diff line
@@ -22,7 +22,6 @@ import android.annotation.Nullable;
import android.app.appsearch.exceptions.IllegalSchemaException;
import android.app.appsearch.util.BundleUtil;
import android.app.appsearch.util.IndentingStringBuilder;
import android.compat.annotation.UnsupportedAppUsage;
import android.os.Bundle;
import android.util.ArraySet;

@@ -643,60 +642,8 @@ public final class AppSearchSchema {
        }
    }

    /**
     * @deprecated TODO(b/181887768): Exists for dogfood transition; must be removed.
     * @hide
     */
    @Deprecated
    public static class Int64PropertyConfig extends PropertyConfig {
        @UnsupportedAppUsage
        Int64PropertyConfig(@NonNull Bundle bundle) {
            super(bundle);
        }

        /** Builder for {@link Int64PropertyConfig}. */
        public static final class Builder {
            private final String mPropertyName;
            private @Cardinality int mCardinality = CARDINALITY_OPTIONAL;

            /** Creates a new {@link Int64PropertyConfig.Builder}. */
            @UnsupportedAppUsage
            public Builder(@NonNull String propertyName) {
                mPropertyName = Objects.requireNonNull(propertyName);
            }

            /**
             * The cardinality of the property (whether it is optional, required or repeated).
             *
             * <p>If this method is not called, the default cardinality is {@link
             * PropertyConfig#CARDINALITY_OPTIONAL}.
             */
            @SuppressWarnings("MissingGetterMatchingBuilder") // getter defined in superclass
            @NonNull
            @UnsupportedAppUsage
            public Int64PropertyConfig.Builder setCardinality(@Cardinality int cardinality) {
                Preconditions.checkArgumentInRange(
                        cardinality, CARDINALITY_REPEATED, CARDINALITY_REQUIRED, "cardinality");
                mCardinality = cardinality;
                return this;
            }

            /** Constructs a new {@link Int64PropertyConfig} from the contents of this builder. */
            @NonNull
            @UnsupportedAppUsage
            public Int64PropertyConfig build() {
                Bundle bundle = new Bundle();
                bundle.putString(NAME_FIELD, mPropertyName);
                bundle.putInt(DATA_TYPE_FIELD, DATA_TYPE_LONG);
                bundle.putInt(CARDINALITY_FIELD, mCardinality);
                return new Int64PropertyConfig(bundle);
            }
        }
    }

    /** Configuration for a property containing a 64-bit integer. */
    // TODO(b/181887768): This should extend directly from PropertyConfig
    public static final class LongPropertyConfig extends Int64PropertyConfig {
    public static final class LongPropertyConfig extends PropertyConfig {
        LongPropertyConfig(@NonNull Bundle bundle) {
            super(bundle);
        }
@@ -896,8 +843,7 @@ public final class AppSearchSchema {
        /** Builder for {@link DocumentPropertyConfig}. */
        public static final class Builder {
            private final String mPropertyName;
            // TODO(b/181887768): This should be final
            private String mSchemaType;
            private final String mSchemaType;
            private @Cardinality int mCardinality = CARDINALITY_OPTIONAL;
            private boolean mShouldIndexNestedProperties = false;

@@ -915,29 +861,6 @@ public final class AppSearchSchema {
                mSchemaType = Objects.requireNonNull(schemaType);
            }

            /**
             * @deprecated TODO(b/181887768): Exists for dogfood transition; must be removed.
             * @hide
             */
            @Deprecated
            @UnsupportedAppUsage
            public Builder(@NonNull String propertyName) {
                mPropertyName = Objects.requireNonNull(propertyName);
                mSchemaType = null;
            }

            /**
             * @deprecated TODO(b/181887768): Exists for dogfood transition; must be removed.
             * @hide
             */
            @Deprecated
            @UnsupportedAppUsage
            @NonNull
            public Builder setSchemaType(@NonNull String schemaType) {
                mSchemaType = Objects.requireNonNull(schemaType);
                return this;
            }

            /**
             * The cardinality of the property (whether it is optional, required or repeated).
             *
@@ -967,18 +890,6 @@ public final class AppSearchSchema {
                return this;
            }

            /**
             * @deprecated TODO(b/181887768): Exists for dogfood transition; must be removed.
             * @hide
             */
            @Deprecated
            @UnsupportedAppUsage
            @NonNull
            public DocumentPropertyConfig.Builder setIndexNestedProperties(
                    boolean indexNestedProperties) {
                return setShouldIndexNestedProperties(indexNestedProperties);
            }

            /** Constructs a new {@link PropertyConfig} from the contents of this builder. */
            @NonNull
            public DocumentPropertyConfig build() {
@@ -987,9 +898,7 @@ public final class AppSearchSchema {
                bundle.putInt(DATA_TYPE_FIELD, DATA_TYPE_DOCUMENT);
                bundle.putInt(CARDINALITY_FIELD, mCardinality);
                bundle.putBoolean(INDEX_NESTED_PROPERTIES_FIELD, mShouldIndexNestedProperties);
                // TODO(b/181887768): Remove checkNotNull after the deprecated constructor (which
                //  is the only way to get null here) is removed
                bundle.putString(SCHEMA_TYPE_FIELD, Objects.requireNonNull(mSchemaType));
                bundle.putString(SCHEMA_TYPE_FIELD, mSchemaType);
                return new DocumentPropertyConfig(bundle);
            }
        }
+0 −12
Original line number Diff line number Diff line
@@ -23,7 +23,6 @@ import android.annotation.Nullable;
import android.annotation.SuppressLint;
import android.app.appsearch.util.BundleUtil;
import android.app.appsearch.util.IndentingStringBuilder;
import android.compat.annotation.UnsupportedAppUsage;
import android.os.Bundle;
import android.os.Parcelable;
import android.util.Log;
@@ -131,17 +130,6 @@ public class GenericDocument {
        return mBundle;
    }

    /**
     * @deprecated TODO(b/181887768): Exists for dogfood transition; must be removed.
     * @hide
     */
    @Deprecated
    @UnsupportedAppUsage
    @NonNull
    public String getUri() {
        return getId();
    }

    /** Returns the unique identifier of the {@link GenericDocument}. */
    @NonNull
    public String getId() {
+0 −200
Original line number Diff line number Diff line
/*
 * Copyright 2020 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package android.app.appsearch;

import android.annotation.NonNull;
import android.compat.annotation.UnsupportedAppUsage;
import android.util.ArrayMap;
import android.util.ArraySet;

import com.android.internal.util.Preconditions;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Set;

/**
 * @deprecated TODO(b/181887768): Exists for dogfood transition; must be removed.
 * @hide
 */
@Deprecated
public final class GetByUriRequest {
    /**
     * Schema type to be used in {@link GetByUriRequest.Builder#addProjection} to apply property
     * paths to all results, excepting any types that have had their own, specific property paths
     * set.
     */
    public static final String PROJECTION_SCHEMA_TYPE_WILDCARD = "*";

    private final String mNamespace;
    private final Set<String> mIds;
    private final Map<String, List<String>> mTypePropertyPathsMap;

    GetByUriRequest(
            @NonNull String namespace,
            @NonNull Set<String> ids,
            @NonNull Map<String, List<String>> typePropertyPathsMap) {
        mNamespace = Objects.requireNonNull(namespace);
        mIds = Objects.requireNonNull(ids);
        mTypePropertyPathsMap = Objects.requireNonNull(typePropertyPathsMap);
    }

    /** Returns the namespace attached to the request. */
    @NonNull
    public String getNamespace() {
        return mNamespace;
    }

    /** Returns the set of document IDs attached to the request. */
    @NonNull
    public Set<String> getUris() {
        return Collections.unmodifiableSet(mIds);
    }

    /**
     * Returns a map from schema type to property paths to be used for projection.
     *
     * <p>If the map is empty, then all properties will be retrieved for all results.
     *
     * <p>Calling this function repeatedly is inefficient. Prefer to retain the Map returned by this
     * function, rather than calling it multiple times.
     */
    @NonNull
    public Map<String, List<String>> getProjections() {
        Map<String, List<String>> copy = new ArrayMap<>();
        for (Map.Entry<String, List<String>> entry : mTypePropertyPathsMap.entrySet()) {
            copy.put(entry.getKey(), new ArrayList<>(entry.getValue()));
        }
        return copy;
    }

    /**
     * Returns a map from schema type to property paths to be used for projection.
     *
     * <p>If the map is empty, then all properties will be retrieved for all results.
     *
     * <p>A more efficient version of {@link #getProjections}, but it returns a modifiable map. This
     * is not meant to be unhidden and should only be used by internal classes.
     *
     * @hide
     */
    @NonNull
    public Map<String, List<String>> getProjectionsInternal() {
        return mTypePropertyPathsMap;
    }

    /**
     * @deprecated TODO(b/181887768): Exists for dogfood transition; must be removed.
     * @hide
     */
    @Deprecated
    @NonNull
    public GetByDocumentIdRequest toGetByDocumentIdRequest() {
        GetByDocumentIdRequest.Builder builder =
                new GetByDocumentIdRequest.Builder(mNamespace).addIds(mIds);
        for (Map.Entry<String, List<String>> projection : mTypePropertyPathsMap.entrySet()) {
            builder.addProjection(projection.getKey(), projection.getValue());
        }
        return builder.build();
    }

    /**
     * Builder for {@link GetByUriRequest} objects.
     *
     * <p>Once {@link #build} is called, the instance can no longer be used.
     */
    public static final class Builder {
        private final String mNamespace;
        private final Set<String> mIds = new ArraySet<>();
        private final Map<String, List<String>> mProjectionTypePropertyPaths = new ArrayMap<>();
        private boolean mBuilt = false;

        /**
         * @deprecated TODO(b/181887768): Exists for dogfood transition; must be removed.
         * @hide
         */
        @Deprecated
        @UnsupportedAppUsage
        public Builder(@NonNull String namespace) {
            mNamespace = Objects.requireNonNull(namespace);
        }

        /**
         * Adds one or more document IDs to the request.
         *
         * @throws IllegalStateException if the builder has already been used.
         */
        @NonNull
        public Builder addUris(@NonNull String... ids) {
            Objects.requireNonNull(ids);
            return addUris(Arrays.asList(ids));
        }

        /**
         * @deprecated TODO(b/181887768): Exists for dogfood transition; must be removed.
         * @hide
         */
        @Deprecated
        @UnsupportedAppUsage
        @NonNull
        public Builder addUris(@NonNull Collection<String> ids) {
            Preconditions.checkState(!mBuilt, "Builder has already been used");
            Objects.requireNonNull(ids);
            mIds.addAll(ids);
            return this;
        }

        /**
         * @deprecated TODO(b/181887768): Exists for dogfood transition; must be removed.
         * @hide
         */
        @Deprecated
        @UnsupportedAppUsage
        @NonNull
        public Builder addProjection(
                @NonNull String schemaType, @NonNull Collection<String> propertyPaths) {
            Preconditions.checkState(!mBuilt, "Builder has already been used");
            Objects.requireNonNull(schemaType);
            Objects.requireNonNull(propertyPaths);
            List<String> propertyPathsList = new ArrayList<>(propertyPaths.size());
            for (String propertyPath : propertyPaths) {
                Objects.requireNonNull(propertyPath);
                propertyPathsList.add(propertyPath);
            }
            mProjectionTypePropertyPaths.put(schemaType, propertyPathsList);
            return this;
        }

        /**
         * @deprecated TODO(b/181887768): Exists for dogfood transition; must be removed.
         * @hide
         */
        @Deprecated
        @UnsupportedAppUsage
        @NonNull
        public GetByUriRequest build() {
            Preconditions.checkState(!mBuilt, "Builder has already been used");
            mBuilt = true;
            return new GetByUriRequest(mNamespace, mIds, mProjectionTypePropertyPaths);
        }
    }
}
Loading