Skip to content

Commit f9c50e1

Browse files
a1batrossslouken
authored andcommitted
Add proguard rules for SDL2
Based on existing work by @AntTheAlchemist on SDL3 branch.
1 parent e924f12 commit f9c50e1

File tree

1 file changed

+81
-0
lines changed

1 file changed

+81
-0
lines changed

android-project/app/proguard-rules.pro

+81
Original file line numberDiff line numberDiff line change
@@ -15,3 +15,84 @@
1515
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
1616
# public *;
1717
#}
18+
19+
-keep,includedescriptorclasses,allowoptimization class org.libsdl.app.SDLInputConnection {
20+
void nativeCommitText(java.lang.String, int);
21+
void nativeGenerateScancodeForUnichar(char);
22+
}
23+
24+
-keep,includedescriptorclasses class org.libsdl.app.SDLActivity {
25+
# for some reason these aren't compatible with allowoptimization modifier
26+
boolean supportsRelativeMouse();
27+
void setWindowStyle(boolean);
28+
}
29+
30+
-keep,includedescriptorclasses,allowoptimization class org.libsdl.app.SDLActivity {
31+
java.lang.String nativeGetHint(java.lang.String); # Java-side doesn't use this, so it gets minified, but C-side still tries to register it
32+
boolean onNativeSoftReturnKey();
33+
void onNativeKeyboardFocusLost();
34+
boolean isScreenKeyboardShown();
35+
android.util.DisplayMetrics getDisplayDPI();
36+
java.lang.String clipboardGetText();
37+
boolean clipboardHasText();
38+
void clipboardSetText(java.lang.String);
39+
int createCustomCursor(int[], int, int, int, int);
40+
void destroyCustomCursor(int);
41+
android.content.Context getContext();
42+
boolean getManifestEnvironmentVariables();
43+
android.view.Surface getNativeSurface();
44+
void initTouch();
45+
boolean isAndroidTV();
46+
boolean isChromebook();
47+
boolean isDeXMode();
48+
boolean isTablet();
49+
void manualBackButton();
50+
int messageboxShowMessageBox(int, java.lang.String, java.lang.String, int[], int[], java.lang.String[], int[]);
51+
void minimizeWindow();
52+
int openURL(java.lang.String);
53+
void requestPermission(java.lang.String, int);
54+
int showToast(java.lang.String, int, int, int, int);
55+
boolean sendMessage(int, int);
56+
boolean setActivityTitle(java.lang.String);
57+
boolean setCustomCursor(int);
58+
void setOrientation(int, int, boolean, java.lang.String);
59+
boolean setRelativeMouseEnabled(boolean);
60+
boolean setSystemCursor(int);
61+
boolean shouldMinimizeOnFocusLoss();
62+
boolean showTextInput(int, int, int, int);
63+
}
64+
65+
-keep,includedescriptorclasses,allowoptimization class org.libsdl.app.HIDDeviceManager {
66+
boolean initialize(boolean, boolean);
67+
boolean openDevice(int);
68+
int sendOutputReport(int, byte[]);
69+
int sendFeatureReport(int, byte[]);
70+
boolean getFeatureReport(int, byte[]);
71+
void closeDevice(int);
72+
}
73+
74+
-keep,includedescriptorclasses,allowoptimization class org.libsdl.app.SDLAudioManager {
75+
int[] getAudioOutputDevices();
76+
int[] getAudioInputDevices();
77+
int[] audioOpen(int, int, int, int, int);
78+
void audioWriteFloatBuffer(float[]);
79+
void audioWriteShortBuffer(short[]);
80+
void audioWriteByteBuffer(byte[]);
81+
void audioClose();
82+
int[] captureOpen(int, int, int, int, int);
83+
int captureReadFloatBuffer(float[], boolean);
84+
int captureReadShortBuffer(short[], boolean);
85+
int captureReadByteBuffer(byte[], boolean);
86+
void captureClose();
87+
void audioSetThreadPriority(boolean, int);
88+
native int nativeSetupJNI();
89+
native void removeAudioDevice(boolean, int);
90+
native void addAudioDevice(boolean, int);
91+
}
92+
93+
-keep,includedescriptorclasses,allowoptimization class org.libsdl.app.SDLControllerManager {
94+
void pollInputDevices();
95+
void pollHapticDevices();
96+
void hapticRun(int, float, int);
97+
void hapticStop(int);
98+
}

0 commit comments

Comments
 (0)