blob: d278fb00d508495d002bf0e17ee27fd23f83ba92 [file] [log] [blame]
# Copyright (C) 2021 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.
# Keep DocumentClassFactory classes only when DocumentClassFactoryRegistry is used. Since
# DocumentClassFactoryRegistry loads these classes by name, also do not obfuscate names.
-if class androidx.appsearch.app.DocumentClassFactoryRegistry {}
-keep,allowoptimization class ** implements androidx.appsearch.app.DocumentClassFactory {}
-if class androidx.appsearch.app.DocumentClassFactoryRegistry {}
-keepnames,allowoptimization @androidx.appsearch.annotation.Document class ** {}
# Keep AppSearchDocumentClassMap name for ServiceLoader
-keepnames,allowoptimization class androidx.appsearch.app.AppSearchDocumentClassMap {}
# If AppSearchDocumentClassMap#getGlobalMap() is used, keep any implementing subclasses since
# AppSearchDocumentClassMap#getMap() is used to populate the global map.
-if class androidx.appsearch.app.AppSearchDocumentClassMap {
public static java.util.Map getGlobalMap();
}
-keep,allowoptimization class ** implements androidx.appsearch.app.AppSearchDocumentClassMap {
public java.util.Map getMap();
}