1#
2# Copyright (C) 2015 The Android Open Source Project
3#
4# Licensed under the Apache License, Version 2.0 (the "License");
5# you may not use this file except in compliance with the License.
6# You may obtain a copy of the License at
7#
8#      http://www.apache.org/licenses/LICENSE-2.0
9#
10# Unless required by applicable law or agreed to in writing, software
11# distributed under the License is distributed on an "AS IS" BASIS,
12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13# See the License for the specific language governing permissions and
14# limitations under the License.
15#
16
17# Following libraries contain references to newer platform versions.
18# Don't warn about those in case this app is linking against an older
19# platform version.  We know about them, and they are safe.
20-dontwarn android.support.**
21-dontwarn com.ibm.icu.**
22-dontwarn com.google.android.exoplayer.**
23-dontwarn com.android.tv.tuner.**
24-dontwarn com.android.tv.dvr.**
25
26# This is due to legacy API katniss is referencing. Seems safe.
27-dontwarn com.google.android.volley.**
28-dontwarn com.google.android.common.**
29
30# Keep the methods called from native code.
31-keepclasseswithmembers class com.android.tv.tuner.TunerHal {
32    int openDvbFrontEndFd();
33    int openDvbDemuxFd();
34    int openDvbDvrFd();
35}
36-keepclasseswithmembers class com.android.tv.tuner.*DataSource {
37    int readAt(long, byte[], int, int);
38    long getSize();
39    void close();
40}
41
42# Keep method which is used for reflection.
43-keep @com.android.tv.common.annotation.UsedByReflection class *  {*;}
44-keepclasseswithmembers class * {
45    @com.android.tv.common.annotation.UsedByReflection <methods>;
46}
47
48# For tests
49-keep @android.support.annotation.VisibleForTesting class *  {*;}
50-keepclasseswithmembers class * {
51    @android.support.annotation.VisibleForTesting <methods>;
52}
53
54# Grpc used by epg via reflection
55-keep class io.grpc.internal.DnsNameResolverProvider
56