# Prevent proguard from stripping out any service-bluetooth.
# TODO: This could be optimized in the future to only keep the critical
# entry points and then let proguard strip out any unused code within
# the service.
-keep class com.android.bluetooth.** { *; }
-keep class com.android.server.bluetooth.** { *; }
