编辑 | blame | 历史 | 原始文档
# Don't warn stuff that we are not "proguarding", warnings would make the build fail.
-dontwarn org.linphone.**

-keepparameternames 
-keepattributes Exceptions,InnerClasses,Signature,Deprecated,SourceFile,LineNumberTable,*Annotation*,EnclosingMethod

-keepclasseswithmembernames,includedescriptorclasses class * {
    native ;
}

-keepclassmembers,allowoptimization enum * {
    public static **[] values();
    public static ** valueOf(java.lang.String);
}

# The following interfaces and classes are referenced from JNI
-keep interface org.linphone.core.PresenceNote {*;}
-keep class org.linphone.core.PresenceNote {*;}
-keep class org.linphone.core.PresenceNoteImpl {*;}
-keep interface org.linphone.core.PresenceActivity {*;}
-keep class org.linphone.core.PresenceActivity {*;}
-keep class org.linphone.core.PresenceActivityImpl {*;}
-keep interface org.linphone.core.Address {*;}
-keep class org.linphone.core.Address {*;}
-keep class org.linphone.core.AddressImpl {*;}
-keep interface org.linphone.core.LoggingService {*;}
-keep class org.linphone.core.LoggingService {*;}
-keep class org.linphone.core.LoggingServiceImpl {*;}
-keep interface org.linphone.core.PresenceModel {*;}
-keep class org.linphone.core.PresenceModel {*;}
-keep class org.linphone.core.PresenceModelImpl {*;}
-keep interface org.linphone.core.Player {*;}
-keep class org.linphone.core.Player {*;}
-keep class org.linphone.core.PlayerImpl {*;}
-keep interface org.linphone.core.NatPolicy {*;}
-keep class org.linphone.core.NatPolicy {*;}
-keep class org.linphone.core.NatPolicyImpl {*;}
-keep interface org.linphone.core.ChatRoom {*;}
-keep class org.linphone.core.ChatRoom {*;}
-keep class org.linphone.core.ChatRoomImpl {*;}
-keep interface org.linphone.core.MagicSearch {*;}
-keep class org.linphone.core.MagicSearch {*;}
-keep class org.linphone.core.MagicSearchImpl {*;}
-keep interface org.linphone.core.CallLog {*;}
-keep class org.linphone.core.CallLog {*;}
-keep class org.linphone.core.CallLogImpl {*;}
-keep interface org.linphone.core.ImNotifPolicy {*;}
-keep class org.linphone.core.ImNotifPolicy {*;}
-keep class org.linphone.core.ImNotifPolicyImpl {*;}
-keep interface org.linphone.core.VideoDefinition {*;}
-keep class org.linphone.core.VideoDefinition {*;}
-keep class org.linphone.core.VideoDefinitionImpl {*;}
-keep interface org.linphone.core.Call {*;}
-keep class org.linphone.core.Call {*;}
-keep class org.linphone.core.CallImpl {*;}
-keep interface org.linphone.core.CallStats {*;}
-keep class org.linphone.core.CallStats {*;}
-keep class org.linphone.core.CallStatsImpl {*;}
-keep interface org.linphone.core.Config {*;}
-keep class org.linphone.core.Config {*;}
-keep class org.linphone.core.ConfigImpl {*;}
-keep interface org.linphone.core.Headers {*;}
-keep class org.linphone.core.Headers {*;}
-keep class org.linphone.core.HeadersImpl {*;}
-keep interface org.linphone.core.ErrorInfo {*;}
-keep class org.linphone.core.ErrorInfo {*;}
-keep class org.linphone.core.ErrorInfoImpl {*;}
-keep interface org.linphone.core.TunnelConfig {*;}
-keep class org.linphone.core.TunnelConfig {*;}
-keep class org.linphone.core.TunnelConfigImpl {*;}
-keep interface org.linphone.core.Participant {*;}
-keep class org.linphone.core.Participant {*;}
-keep class org.linphone.core.ParticipantImpl {*;}
-keep interface org.linphone.core.PresenceService {*;}
-keep class org.linphone.core.PresenceService {*;}
-keep class org.linphone.core.PresenceServiceImpl {*;}
-keep interface org.linphone.core.PresencePerson {*;}
-keep class org.linphone.core.PresencePerson {*;}
-keep class org.linphone.core.PresencePersonImpl {*;}
-keep interface org.linphone.core.Content {*;}
-keep class org.linphone.core.Content {*;}
-keep class org.linphone.core.ContentImpl {*;}
-keep interface org.linphone.core.XmlRpcSession {*;}
-keep class org.linphone.core.XmlRpcSession {*;}
-keep class org.linphone.core.XmlRpcSessionImpl {*;}
-keep interface org.linphone.core.InfoMessage {*;}
-keep class org.linphone.core.InfoMessage {*;}
-keep class org.linphone.core.InfoMessageImpl {*;}
-keep interface org.linphone.core.ChatMessage {*;}
-keep class org.linphone.core.ChatMessage {*;}
-keep class org.linphone.core.ChatMessageImpl {*;}
-keep interface org.linphone.core.ConferenceParams {*;}
-keep class org.linphone.core.ConferenceParams {*;}
-keep class org.linphone.core.ConferenceParamsImpl {*;}
-keep interface org.linphone.core.ProxyConfig {*;}
-keep class org.linphone.core.ProxyConfig {*;}
-keep class org.linphone.core.ProxyConfigImpl {*;}
-keep interface org.linphone.core.Buffer {*;}
-keep class org.linphone.core.Buffer {*;}
-keep class org.linphone.core.BufferImpl {*;}
-keep interface org.linphone.core.AuthInfo {*;}
-keep class org.linphone.core.AuthInfo {*;}
-keep class org.linphone.core.AuthInfoImpl {*;}
-keep interface org.linphone.core.XmlRpcRequest {*;}
-keep class org.linphone.core.XmlRpcRequest {*;}
-keep class org.linphone.core.XmlRpcRequestImpl {*;}
-keep interface org.linphone.core.Range {*;}
-keep class org.linphone.core.Range {*;}
-keep class org.linphone.core.RangeImpl {*;}
-keep interface org.linphone.core.Factory {*;}
-keep class org.linphone.core.Factory {*;}
-keep class org.linphone.core.FactoryImpl {*;}
-keep interface org.linphone.core.Transports {*;}
-keep class org.linphone.core.Transports {*;}
-keep class org.linphone.core.TransportsImpl {*;}
-keep interface org.linphone.core.ParticipantImdnState {*;}
-keep class org.linphone.core.ParticipantImdnState {*;}
-keep class org.linphone.core.ParticipantImdnStateImpl {*;}
-keep interface org.linphone.core.PushNotificationMessage {*;}
-keep class org.linphone.core.PushNotificationMessage {*;}
-keep class org.linphone.core.PushNotificationMessageImpl {*;}
-keep interface org.linphone.core.DialPlan {*;}
-keep class org.linphone.core.DialPlan {*;}
-keep class org.linphone.core.DialPlanImpl {*;}
-keep interface org.linphone.core.Vcard {*;}
-keep class org.linphone.core.Vcard {*;}
-keep class org.linphone.core.VcardImpl {*;}
-keep interface org.linphone.core.SearchResult {*;}
-keep class org.linphone.core.SearchResult {*;}
-keep class org.linphone.core.SearchResultImpl {*;}
-keep interface org.linphone.core.Friend {*;}
-keep class org.linphone.core.Friend {*;}
-keep class org.linphone.core.FriendImpl {*;}
-keep interface org.linphone.core.CallParams {*;}
-keep class org.linphone.core.CallParams {*;}
-keep class org.linphone.core.CallParamsImpl {*;}
-keep interface org.linphone.core.VideoActivationPolicy {*;}
-keep class org.linphone.core.VideoActivationPolicy {*;}
-keep class org.linphone.core.VideoActivationPolicyImpl {*;}
-keep interface org.linphone.core.Core {*;}
-keep class org.linphone.core.Core {*;}
-keep class org.linphone.core.CoreImpl {*;}
-keep interface org.linphone.core.ChatRoomParams {*;}
-keep class org.linphone.core.ChatRoomParams {*;}
-keep class org.linphone.core.ChatRoomParamsImpl {*;}
-keep interface org.linphone.core.Event {*;}
-keep class org.linphone.core.Event {*;}
-keep class org.linphone.core.EventImpl {*;}
-keep interface org.linphone.core.AccountCreator {*;}
-keep class org.linphone.core.AccountCreator {*;}
-keep class org.linphone.core.AccountCreatorImpl {*;}
-keep interface org.linphone.core.PayloadType {*;}
-keep class org.linphone.core.PayloadType {*;}
-keep class org.linphone.core.PayloadTypeImpl {*;}
-keep interface org.linphone.core.EventLog {*;}
-keep class org.linphone.core.EventLog {*;}
-keep class org.linphone.core.EventLogImpl {*;}
-keep interface org.linphone.core.AudioDevice {*;}
-keep class org.linphone.core.AudioDevice {*;}
-keep class org.linphone.core.AudioDeviceImpl {*;}
-keep interface org.linphone.core.ParticipantDeviceIdentity {*;}
-keep class org.linphone.core.ParticipantDeviceIdentity {*;}
-keep class org.linphone.core.ParticipantDeviceIdentityImpl {*;}
-keep interface org.linphone.core.FriendList {*;}
-keep class org.linphone.core.FriendList {*;}
-keep class org.linphone.core.FriendListImpl {*;}
-keep interface org.linphone.core.ParticipantDevice {*;}
-keep class org.linphone.core.ParticipantDevice {*;}
-keep class org.linphone.core.ParticipantDeviceImpl {*;}
-keep interface org.linphone.core.Tunnel {*;}
-keep class org.linphone.core.Tunnel {*;}
-keep class org.linphone.core.TunnelImpl {*;}
-keep interface org.linphone.core.Conference {*;}
-keep class org.linphone.core.Conference {*;}
-keep class org.linphone.core.ConferenceImpl {*;}

-keep enum org.linphone.core.VersionUpdateCheckResult {*;}
-keep enum org.linphone.core.XmlRpcStatus {*;}
-keep enum org.linphone.core.ConfiguringState {*;}
-keep enum org.linphone.core.SubscribePolicy {*;}
-keep enum org.linphone.core.AddressFamily {*;}
-keep enum org.linphone.core.ChatRoomSecurityLevel {*;}
-keep enum org.linphone.core.ChatRoomCapabilities {*;}
-keep enum org.linphone.core.IceState {*;}
-keep enum org.linphone.core.PresenceBasicStatus {*;}
-keep enum org.linphone.core.Privacy {*;}
-keep enum org.linphone.core.TransportType {*;}
-keep enum org.linphone.core.UpnpState {*;}
-keep enum org.linphone.core.AuthMethod {*;}
-keep enum org.linphone.core.LimeState {*;}
-keep enum org.linphone.core.SubscriptionDir {*;}
-keep enum org.linphone.core.XmlRpcArgType {*;}
-keep enum org.linphone.core.ConsolidatedPresence {*;}
-keep enum org.linphone.core.MediaDirection {*;}
-keep enum org.linphone.core.AccountCreatorAlgoStatus {*;}
-keep enum org.linphone.core.MediaResourceMode {*;}
-keep enum org.linphone.core.ChatRoomEncryptionBackend {*;}
-keep enum org.linphone.core.PublishState {*;}
-keep enum org.linphone.core.RegistrationState {*;}
-keep enum org.linphone.core.AVPFMode {*;}
-keep enum org.linphone.core.ZrtpPeerStatus {*;}
-keep enum org.linphone.core.EcCalibratorStatus {*;}
-keep enum org.linphone.core.SubscriptionState {*;}
-keep enum org.linphone.core.Reason {*;}
-keep enum org.linphone.core.ToneID {*;}
-keep enum org.linphone.core.GlobalState {*;}
-keep enum org.linphone.core.ChatRoomBackend {*;}
-keep enum org.linphone.core.LogCollectionState {*;}
-keep enum org.linphone.core.FriendCapability {*;}
-keep enum org.linphone.core.LogLevel {*;}
-keep enum org.linphone.core.StreamType {*;}
-keep enum org.linphone.core.MediaEncryption {*;}
-keep enum org.linphone.core.SessionExpiresRefresher {*;}
-keep enum org.linphone.core.PresenceActivity$Type {*;}
-keep enum org.linphone.core.Player$State {*;}
-keep enum org.linphone.core.ChatRoom$State {*;}
-keep enum org.linphone.core.Call$State {*;}
-keep enum org.linphone.core.Call$Status {*;}
-keep enum org.linphone.core.Call$Dir {*;}
-keep enum org.linphone.core.ChatMessage$Direction {*;}
-keep enum org.linphone.core.ChatMessage$State {*;}
-keep enum org.linphone.core.Core$LogCollectionUploadState {*;}
-keep enum org.linphone.core.AccountCreator$Status {*;}
-keep enum org.linphone.core.AccountCreator$TransportStatus {*;}
-keep enum org.linphone.core.AccountCreator$DomainStatus {*;}
-keep enum org.linphone.core.AccountCreator$ActivationCodeStatus {*;}
-keep enum org.linphone.core.AccountCreator$LanguageStatus {*;}
-keep enum org.linphone.core.AccountCreator$PasswordStatus {*;}
-keep enum org.linphone.core.AccountCreator$EmailStatus {*;}
-keep enum org.linphone.core.AccountCreator$UsernameStatus {*;}
-keep enum org.linphone.core.AccountCreator$PhoneNumberStatus {*;}
-keep enum org.linphone.core.EventLog$SecurityEventType {*;}
-keep enum org.linphone.core.EventLog$Type {*;}
-keep enum org.linphone.core.AudioDevice$Capabilities {*;}
-keep enum org.linphone.core.AudioDevice$Type {*;}
-keep enum org.linphone.core.FriendList$SyncStatus {*;}
-keep enum org.linphone.core.FriendList$Status {*;}
-keep enum org.linphone.core.Tunnel$Mode {*;}
-keep enum org.linphone.core.Conference$State {*;}

-keep class org.linphone.core.EventListener {*;}
-keep class org.linphone.core.EventListenerStub {*;}
-keep class org.linphone.core.FriendListListener {*;}
-keep class org.linphone.core.FriendListListenerStub {*;}
-keep class org.linphone.core.ConferenceListener {*;}
-keep class org.linphone.core.ConferenceListenerStub {*;}
-keep class org.linphone.core.ChatMessageListener {*;}
-keep class org.linphone.core.ChatMessageListenerStub {*;}
-keep class org.linphone.core.LoggingServiceListener {*;}
-keep class org.linphone.core.LoggingServiceListenerStub {*;}
-keep class org.linphone.core.AccountCreatorListener {*;}
-keep class org.linphone.core.AccountCreatorListenerStub {*;}
-keep class org.linphone.core.PlayerListener {*;}
-keep class org.linphone.core.PlayerListenerStub {*;}
-keep class org.linphone.core.FriendListListener {*;}
-keep class org.linphone.core.FriendListListenerStub {*;}
-keep class org.linphone.core.PlayerListener {*;}
-keep class org.linphone.core.PlayerListenerStub {*;}
-keep class org.linphone.core.XmlRpcRequestListener {*;}
-keep class org.linphone.core.XmlRpcRequestListenerStub {*;}
-keep class org.linphone.core.CoreListener {*;}
-keep class org.linphone.core.CoreListenerStub {*;}
-keep class org.linphone.core.ConferenceListener {*;}
-keep class org.linphone.core.ConferenceListenerStub {*;}
-keep class org.linphone.core.ChatRoomListener {*;}
-keep class org.linphone.core.ChatRoomListenerStub {*;}
-keep class org.linphone.core.CallListener {*;}
-keep class org.linphone.core.CallListenerStub {*;}
-keep class org.linphone.core.ChatRoomListener {*;}
-keep class org.linphone.core.ChatRoomListenerStub {*;}
-keep class org.linphone.core.EventListener {*;}
-keep class org.linphone.core.EventListenerStub {*;}
-keep class org.linphone.core.ChatMessageListener {*;}
-keep class org.linphone.core.ChatMessageListenerStub {*;}
-keep class org.linphone.core.CallListener {*;}
-keep class org.linphone.core.CallListenerStub {*;}
-keep class org.linphone.core.CoreListener {*;}
-keep class org.linphone.core.CoreListenerStub {*;}
-keep class org.linphone.core.XmlRpcRequestListener {*;}
-keep class org.linphone.core.XmlRpcRequestListenerStub {*;}
-keep class org.linphone.core.AccountCreatorListener {*;}
-keep class org.linphone.core.AccountCreatorListenerStub {*;}
-keep class org.linphone.core.LoggingServiceListener {*;}
-keep class org.linphone.core.LoggingServiceListenerStub {*;}

# BuildConfig generated class for AAR
-keep class org.linphone.core.BuildConfig { *; }

# Wrapper classes
-keep class org.linphone.core.CoreException {*;}
-keep class org.linphone.core.Utils {*;}

# Liblinphone tools
-keep class org.linphone.core.tools.** {*;}

# Mediastreamer classes
-keep class org.linphone.mediastream.** {*;}

# Don't warn stuff that we are not "proguarding", warnings would make the build fail.
-dontwarn org.linphone.**

-keepparameternames 
-keepattributes Exceptions,InnerClasses,Signature,Deprecated,SourceFile,LineNumberTable,*Annotation*,EnclosingMethod

-keepclasseswithmembernames,includedescriptorclasses class * {
    native ;
}

-keepclassmembers,allowoptimization enum * {
    public static **[] values();
    public static ** valueOf(java.lang.String);
}

# The following interfaces and classes are referenced from JNI
-keep interface org.linphone.core.PresenceNote {*;}
-keep class org.linphone.core.PresenceNote {*;}
-keep class org.linphone.core.PresenceNoteImpl {*;}
-keep interface org.linphone.core.PresenceActivity {*;}
-keep class org.linphone.core.PresenceActivity {*;}
-keep class org.linphone.core.PresenceActivityImpl {*;}
-keep interface org.linphone.core.Address {*;}
-keep class org.linphone.core.Address {*;}
-keep class org.linphone.core.AddressImpl {*;}
-keep interface org.linphone.core.LoggingService {*;}
-keep class org.linphone.core.LoggingService {*;}
-keep class org.linphone.core.LoggingServiceImpl {*;}
-keep interface org.linphone.core.PresenceModel {*;}
-keep class org.linphone.core.PresenceModel {*;}
-keep class org.linphone.core.PresenceModelImpl {*;}
-keep interface org.linphone.core.Player {*;}
-keep class org.linphone.core.Player {*;}
-keep class org.linphone.core.PlayerImpl {*;}
-keep interface org.linphone.core.NatPolicy {*;}
-keep class org.linphone.core.NatPolicy {*;}
-keep class org.linphone.core.NatPolicyImpl {*;}
-keep interface org.linphone.core.ChatRoom {*;}
-keep class org.linphone.core.ChatRoom {*;}
-keep class org.linphone.core.ChatRoomImpl {*;}
-keep interface org.linphone.core.MagicSearch {*;}
-keep class org.linphone.core.MagicSearch {*;}
-keep class org.linphone.core.MagicSearchImpl {*;}
-keep interface org.linphone.core.CallLog {*;}
-keep class org.linphone.core.CallLog {*;}
-keep class org.linphone.core.CallLogImpl {*;}
-keep interface org.linphone.core.ImNotifPolicy {*;}
-keep class org.linphone.core.ImNotifPolicy {*;}
-keep class org.linphone.core.ImNotifPolicyImpl {*;}
-keep interface org.linphone.core.VideoDefinition {*;}
-keep class org.linphone.core.VideoDefinition {*;}
-keep class org.linphone.core.VideoDefinitionImpl {*;}
-keep interface org.linphone.core.Call {*;}
-keep class org.linphone.core.Call {*;}
-keep class org.linphone.core.CallImpl {*;}
-keep interface org.linphone.core.CallStats {*;}
-keep class org.linphone.core.CallStats {*;}
-keep class org.linphone.core.CallStatsImpl {*;}
-keep interface org.linphone.core.Config {*;}
-keep class org.linphone.core.Config {*;}
-keep class org.linphone.core.ConfigImpl {*;}
-keep interface org.linphone.core.Headers {*;}
-keep class org.linphone.core.Headers {*;}
-keep class org.linphone.core.HeadersImpl {*;}
-keep interface org.linphone.core.ErrorInfo {*;}
-keep class org.linphone.core.ErrorInfo {*;}
-keep class org.linphone.core.ErrorInfoImpl {*;}
-keep interface org.linphone.core.TunnelConfig {*;}
-keep class org.linphone.core.TunnelConfig {*;}
-keep class org.linphone.core.TunnelConfigImpl {*;}
-keep interface org.linphone.core.Participant {*;}
-keep class org.linphone.core.Participant {*;}
-keep class org.linphone.core.ParticipantImpl {*;}
-keep interface org.linphone.core.PresenceService {*;}
-keep class org.linphone.core.PresenceService {*;}
-keep class org.linphone.core.PresenceServiceImpl {*;}
-keep interface org.linphone.core.PresencePerson {*;}
-keep class org.linphone.core.PresencePerson {*;}
-keep class org.linphone.core.PresencePersonImpl {*;}
-keep interface org.linphone.core.Content {*;}
-keep class org.linphone.core.Content {*;}
-keep class org.linphone.core.ContentImpl {*;}
-keep interface org.linphone.core.XmlRpcSession {*;}
-keep class org.linphone.core.XmlRpcSession {*;}
-keep class org.linphone.core.XmlRpcSessionImpl {*;}
-keep interface org.linphone.core.InfoMessage {*;}
-keep class org.linphone.core.InfoMessage {*;}
-keep class org.linphone.core.InfoMessageImpl {*;}
-keep interface org.linphone.core.ChatMessage {*;}
-keep class org.linphone.core.ChatMessage {*;}
-keep class org.linphone.core.ChatMessageImpl {*;}
-keep interface org.linphone.core.ConferenceParams {*;}
-keep class org.linphone.core.ConferenceParams {*;}
-keep class org.linphone.core.ConferenceParamsImpl {*;}
-keep interface org.linphone.core.ProxyConfig {*;}
-keep class org.linphone.core.ProxyConfig {*;}
-keep class org.linphone.core.ProxyConfigImpl {*;}
-keep interface org.linphone.core.Buffer {*;}
-keep class org.linphone.core.Buffer {*;}
-keep class org.linphone.core.BufferImpl {*;}
-keep interface org.linphone.core.AuthInfo {*;}
-keep class org.linphone.core.AuthInfo {*;}
-keep class org.linphone.core.AuthInfoImpl {*;}
-keep interface org.linphone.core.XmlRpcRequest {*;}
-keep class org.linphone.core.XmlRpcRequest {*;}
-keep class org.linphone.core.XmlRpcRequestImpl {*;}
-keep interface org.linphone.core.Range {*;}
-keep class org.linphone.core.Range {*;}
-keep class org.linphone.core.RangeImpl {*;}
-keep interface org.linphone.core.Factory {*;}
-keep class org.linphone.core.Factory {*;}
-keep class org.linphone.core.FactoryImpl {*;}
-keep interface org.linphone.core.Transports {*;}
-keep class org.linphone.core.Transports {*;}
-keep class org.linphone.core.TransportsImpl {*;}
-keep interface org.linphone.core.ParticipantImdnState {*;}
-keep class org.linphone.core.ParticipantImdnState {*;}
-keep class org.linphone.core.ParticipantImdnStateImpl {*;}
-keep interface org.linphone.core.PushNotificationMessage {*;}
-keep class org.linphone.core.PushNotificationMessage {*;}
-keep class org.linphone.core.PushNotificationMessageImpl {*;}
-keep interface org.linphone.core.DialPlan {*;}
-keep class org.linphone.core.DialPlan {*;}
-keep class org.linphone.core.DialPlanImpl {*;}
-keep interface org.linphone.core.Vcard {*;}
-keep class org.linphone.core.Vcard {*;}
-keep class org.linphone.core.VcardImpl {*;}
-keep interface org.linphone.core.SearchResult {*;}
-keep class org.linphone.core.SearchResult {*;}
-keep class org.linphone.core.SearchResultImpl {*;}
-keep interface org.linphone.core.Friend {*;}
-keep class org.linphone.core.Friend {*;}
-keep class org.linphone.core.FriendImpl {*;}
-keep interface org.linphone.core.CallParams {*;}
-keep class org.linphone.core.CallParams {*;}
-keep class org.linphone.core.CallParamsImpl {*;}
-keep interface org.linphone.core.VideoActivationPolicy {*;}
-keep class org.linphone.core.VideoActivationPolicy {*;}
-keep class org.linphone.core.VideoActivationPolicyImpl {*;}
-keep interface org.linphone.core.Core {*;}
-keep class org.linphone.core.Core {*;}
-keep class org.linphone.core.CoreImpl {*;}
-keep interface org.linphone.core.ChatRoomParams {*;}
-keep class org.linphone.core.ChatRoomParams {*;}
-keep class org.linphone.core.ChatRoomParamsImpl {*;}
-keep interface org.linphone.core.Event {*;}
-keep class org.linphone.core.Event {*;}
-keep class org.linphone.core.EventImpl {*;}
-keep interface org.linphone.core.AccountCreator {*;}
-keep class org.linphone.core.AccountCreator {*;}
-keep class org.linphone.core.AccountCreatorImpl {*;}
-keep interface org.linphone.core.PayloadType {*;}
-keep class org.linphone.core.PayloadType {*;}
-keep class org.linphone.core.PayloadTypeImpl {*;}
-keep interface org.linphone.core.EventLog {*;}
-keep class org.linphone.core.EventLog {*;}
-keep class org.linphone.core.EventLogImpl {*;}
-keep interface org.linphone.core.AudioDevice {*;}
-keep class org.linphone.core.AudioDevice {*;}
-keep class org.linphone.core.AudioDeviceImpl {*;}
-keep interface org.linphone.core.ParticipantDeviceIdentity {*;}
-keep class org.linphone.core.ParticipantDeviceIdentity {*;}
-keep class org.linphone.core.ParticipantDeviceIdentityImpl {*;}
-keep interface org.linphone.core.FriendList {*;}
-keep class org.linphone.core.FriendList {*;}
-keep class org.linphone.core.FriendListImpl {*;}
-keep interface org.linphone.core.ParticipantDevice {*;}
-keep class org.linphone.core.ParticipantDevice {*;}
-keep class org.linphone.core.ParticipantDeviceImpl {*;}
-keep interface org.linphone.core.Tunnel {*;}
-keep class org.linphone.core.Tunnel {*;}
-keep class org.linphone.core.TunnelImpl {*;}
-keep interface org.linphone.core.Conference {*;}
-keep class org.linphone.core.Conference {*;}
-keep class org.linphone.core.ConferenceImpl {*;}

-keep enum org.linphone.core.VersionUpdateCheckResult {*;}
-keep enum org.linphone.core.XmlRpcStatus {*;}
-keep enum org.linphone.core.ConfiguringState {*;}
-keep enum org.linphone.core.SubscribePolicy {*;}
-keep enum org.linphone.core.AddressFamily {*;}
-keep enum org.linphone.core.ChatRoomSecurityLevel {*;}
-keep enum org.linphone.core.ChatRoomCapabilities {*;}
-keep enum org.linphone.core.IceState {*;}
-keep enum org.linphone.core.PresenceBasicStatus {*;}
-keep enum org.linphone.core.Privacy {*;}
-keep enum org.linphone.core.TransportType {*;}
-keep enum org.linphone.core.UpnpState {*;}
-keep enum org.linphone.core.AuthMethod {*;}
-keep enum org.linphone.core.LimeState {*;}
-keep enum org.linphone.core.SubscriptionDir {*;}
-keep enum org.linphone.core.XmlRpcArgType {*;}
-keep enum org.linphone.core.ConsolidatedPresence {*;}
-keep enum org.linphone.core.MediaDirection {*;}
-keep enum org.linphone.core.AccountCreatorAlgoStatus {*;}
-keep enum org.linphone.core.MediaResourceMode {*;}
-keep enum org.linphone.core.ChatRoomEncryptionBackend {*;}
-keep enum org.linphone.core.PublishState {*;}
-keep enum org.linphone.core.RegistrationState {*;}
-keep enum org.linphone.core.AVPFMode {*;}
-keep enum org.linphone.core.ZrtpPeerStatus {*;}
-keep enum org.linphone.core.EcCalibratorStatus {*;}
-keep enum org.linphone.core.SubscriptionState {*;}
-keep enum org.linphone.core.Reason {*;}
-keep enum org.linphone.core.ToneID {*;}
-keep enum org.linphone.core.GlobalState {*;}
-keep enum org.linphone.core.ChatRoomBackend {*;}
-keep enum org.linphone.core.LogCollectionState {*;}
-keep enum org.linphone.core.FriendCapability {*;}
-keep enum org.linphone.core.LogLevel {*;}
-keep enum org.linphone.core.StreamType {*;}
-keep enum org.linphone.core.MediaEncryption {*;}
-keep enum org.linphone.core.SessionExpiresRefresher {*;}
-keep enum org.linphone.core.PresenceActivity$Type {*;}
-keep enum org.linphone.core.Player$State {*;}
-keep enum org.linphone.core.ChatRoom$State {*;}
-keep enum org.linphone.core.Call$State {*;}
-keep enum org.linphone.core.Call$Status {*;}
-keep enum org.linphone.core.Call$Dir {*;}
-keep enum org.linphone.core.ChatMessage$Direction {*;}
-keep enum org.linphone.core.ChatMessage$State {*;}
-keep enum org.linphone.core.Core$LogCollectionUploadState {*;}
-keep enum org.linphone.core.AccountCreator$Status {*;}
-keep enum org.linphone.core.AccountCreator$TransportStatus {*;}
-keep enum org.linphone.core.AccountCreator$DomainStatus {*;}
-keep enum org.linphone.core.AccountCreator$ActivationCodeStatus {*;}
-keep enum org.linphone.core.AccountCreator$LanguageStatus {*;}
-keep enum org.linphone.core.AccountCreator$PasswordStatus {*;}
-keep enum org.linphone.core.AccountCreator$EmailStatus {*;}
-keep enum org.linphone.core.AccountCreator$UsernameStatus {*;}
-keep enum org.linphone.core.AccountCreator$PhoneNumberStatus {*;}
-keep enum org.linphone.core.EventLog$SecurityEventType {*;}
-keep enum org.linphone.core.EventLog$Type {*;}
-keep enum org.linphone.core.AudioDevice$Capabilities {*;}
-keep enum org.linphone.core.AudioDevice$Type {*;}
-keep enum org.linphone.core.FriendList$SyncStatus {*;}
-keep enum org.linphone.core.FriendList$Status {*;}
-keep enum org.linphone.core.Tunnel$Mode {*;}
-keep enum org.linphone.core.Conference$State {*;}

-keep class org.linphone.core.EventListener {*;}
-keep class org.linphone.core.EventListenerStub {*;}
-keep class org.linphone.core.FriendListListener {*;}
-keep class org.linphone.core.FriendListListenerStub {*;}
-keep class org.linphone.core.ConferenceListener {*;}
-keep class org.linphone.core.ConferenceListenerStub {*;}
-keep class org.linphone.core.ChatMessageListener {*;}
-keep class org.linphone.core.ChatMessageListenerStub {*;}
-keep class org.linphone.core.LoggingServiceListener {*;}
-keep class org.linphone.core.LoggingServiceListenerStub {*;}
-keep class org.linphone.core.AccountCreatorListener {*;}
-keep class org.linphone.core.AccountCreatorListenerStub {*;}
-keep class org.linphone.core.PlayerListener {*;}
-keep class org.linphone.core.PlayerListenerStub {*;}
-keep class org.linphone.core.FriendListListener {*;}
-keep class org.linphone.core.FriendListListenerStub {*;}
-keep class org.linphone.core.PlayerListener {*;}
-keep class org.linphone.core.PlayerListenerStub {*;}
-keep class org.linphone.core.XmlRpcRequestListener {*;}
-keep class org.linphone.core.XmlRpcRequestListenerStub {*;}
-keep class org.linphone.core.CoreListener {*;}
-keep class org.linphone.core.CoreListenerStub {*;}
-keep class org.linphone.core.ConferenceListener {*;}
-keep class org.linphone.core.ConferenceListenerStub {*;}
-keep class org.linphone.core.ChatRoomListener {*;}
-keep class org.linphone.core.ChatRoomListenerStub {*;}
-keep class org.linphone.core.CallListener {*;}
-keep class org.linphone.core.CallListenerStub {*;}
-keep class org.linphone.core.ChatRoomListener {*;}
-keep class org.linphone.core.ChatRoomListenerStub {*;}
-keep class org.linphone.core.EventListener {*;}
-keep class org.linphone.core.EventListenerStub {*;}
-keep class org.linphone.core.ChatMessageListener {*;}
-keep class org.linphone.core.ChatMessageListenerStub {*;}
-keep class org.linphone.core.CallListener {*;}
-keep class org.linphone.core.CallListenerStub {*;}
-keep class org.linphone.core.CoreListener {*;}
-keep class org.linphone.core.CoreListenerStub {*;}
-keep class org.linphone.core.XmlRpcRequestListener {*;}
-keep class org.linphone.core.XmlRpcRequestListenerStub {*;}
-keep class org.linphone.core.AccountCreatorListener {*;}
-keep class org.linphone.core.AccountCreatorListenerStub {*;}
-keep class org.linphone.core.LoggingServiceListener {*;}
-keep class org.linphone.core.LoggingServiceListenerStub {*;}

# BuildConfig generated class for AAR
-keep class org.linphone.core.BuildConfig { *; }

# Wrapper classes
-keep class org.linphone.core.CoreException {*;}
-keep class org.linphone.core.Utils {*;}

# Liblinphone tools
-keep class org.linphone.core.tools.** {*;}

# Mediastreamer classes
-keep class org.linphone.mediastream.** {*;}