mirror of
https://gitlab.linphone.org/BC/public/linphone-iphone.git
synced 2026-05-07 05:53:06 +00:00
Added missing enums & listeners to proguard file generated by JAVA wrapper
This commit is contained in:
parent
7705ada695
commit
9e921fa303
2 changed files with 36 additions and 1 deletions
|
|
@ -654,6 +654,8 @@ class Proguard(object):
|
|||
def __init__(self, package):
|
||||
self.package = package
|
||||
self.classes = []
|
||||
self.enums = []
|
||||
self.listeners = []
|
||||
|
||||
def add_class(self, javaClass):
|
||||
obj = {
|
||||
|
|
@ -663,6 +665,27 @@ class Proguard(object):
|
|||
}
|
||||
self.classes.append(obj)
|
||||
|
||||
for javaEnum in javaClass.enums:
|
||||
enumObj = {
|
||||
'package': self.package,
|
||||
'className': javaClass.className + "$" + javaEnum.className,
|
||||
}
|
||||
self.enums.append(enumObj)
|
||||
|
||||
def add_enum(self, javaEnum):
|
||||
obj = {
|
||||
'package': self.package,
|
||||
'className': javaEnum.className,
|
||||
}
|
||||
self.enums.append(obj)
|
||||
|
||||
def add_interface(self, javaInterface):
|
||||
obj = {
|
||||
'package': self.package,
|
||||
'className': javaInterface.className,
|
||||
}
|
||||
self.listeners.append(obj)
|
||||
|
||||
##########################################################################
|
||||
|
||||
class GenWrapper(object):
|
||||
|
|
@ -710,8 +733,10 @@ class GenWrapper(object):
|
|||
|
||||
for name, value in self.enums.items():
|
||||
self.render(value, self.javadir + '/' + value.filename)
|
||||
self.proguard.add_enum(value)
|
||||
for name, value in self.interfaces.items():
|
||||
self.render(value, self.javadir + '/' + value.filename)
|
||||
self.proguard.add_interface(value)
|
||||
for name, value in self.classes.items():
|
||||
self.render(value, self.javadir + '/' + value.filename)
|
||||
self.jni.add_object(value)
|
||||
|
|
|
|||
|
|
@ -1,12 +1,22 @@
|
|||
# Don't warn stuff that we are not "proguarding", warnings would make the build fail.
|
||||
-dontwarn org.linphone.**
|
||||
|
||||
# The following intefaces are referenced from JNI
|
||||
# The following interfaces and classes are referenced from JNI
|
||||
{{#classes}}
|
||||
-keep interface {{package}}.{{className}} {*;}
|
||||
-keep class {{package}}.{{classImplName}} {*;}
|
||||
{{/classes}}
|
||||
|
||||
# The following enums are referenced from JNI
|
||||
{{#enums}}
|
||||
-keep class {{package}}.{{className}} {*;}
|
||||
{{/enums}}
|
||||
|
||||
# The following listeners are referenced from JNI
|
||||
{{#listeners}}
|
||||
-keep class {{package}}.{{className}} {*;}
|
||||
{{/listeners}}
|
||||
|
||||
# Liblinphone tools
|
||||
-keep class org.linphone.core.tools.* {*;}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue