blob: 0cd07a347ba8d3877dcd5f17f2007b0c7397a5b2 [file] [log] [blame]
# Copyright 2016 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
# Fragments loaded by name via Fragment.instantiate(Context,String)
# Not all fragments in this package are PreferenceFragments. E.g. HomepageEditor
# is a normal Fragment.
-keep public class org.chromium.chrome.browser.preferences.** extends android.support.v4.app.Fragment {
public <init>();
}
# These classes aren't themselves referenced, but __ProcessService[0,1,2...] are
# referenced, and we look up these services by appending a number onto the name
# of the base class. Thus, we need to keep the base class name around so that
# the child classes can be looked up.
-keep class org.chromium.content.app.SandboxedProcessService {
public <init>();
}
-keep class org.chromium.content.app.PrivilegedProcessService {
public <init>();
}
# SearchView is used in website_preferences_menu.xml and is constructed by
# Android using reflection.
-keep class android.support.v7.widget.SearchView {
public <init>(...);
}
# This class member is referenced in BottomSheetBottomNav as a temporary
# measure until the support library contains a solution for disabling shifting
# mode. TODO(twellington): remove once support library has a fix and is rolled.
-keepclassmembers class android.support.design.internal.BottomNavigationMenuView {
boolean mShiftingMode;
}
# Trichrome builds don't include a native library list in the main APK; it's
# picked up from the library APK at runtime.
-dontwarn org.chromium.base.library_loader.NativeLibraries
# Let proguard know CastMediaOptions in CastOptions is always null, so it can
# trim unused MediaNotificationService methods. This saves about 170 methods in
# the dex file. https://crbug.com/855081
-assumevalues class com.google.android.gms.cast.framework.CastOptions {
*** getCastMediaOptions() return null;
}
# Also, because CastOptions creates a default CastMediaOptions object upon
# construction, we need to trim out the its builder as well, so we are truly
# assuming there's no CastMediaOptions instances anywhere. This is to avoid
# CastMediaOptions to reference resources upon construction.
-assumevalues class com.google.android.gms.cast.framework.media.CastMediaOptions$Builder {
*** build() return null;
}
-assumenosideeffects class com.google.android.gms.cast.framework.media.CastMediaOptions$Builder {
public <init>();
public <clinit>();
*** build();
}