Skip to content
Permalink
Browse files

Android: Renamed SDLActivity's Java method used for APK expansion files.

The name was not correct.
  • Loading branch information
philippwiesemann committed Sep 17, 2015
1 parent 5e59368 commit 92ca42d940b61be160c6f24f5b233579b2803640
Showing with 14 additions and 5 deletions.
  1. +12 −3 android-project/src/org/libsdl/app/SDLActivity.java
  2. +2 −2 src/core/android/SDL_android.c
@@ -669,7 +669,7 @@ public static void pollInputDevices() {
}
}

// APK extension files support
// APK expansion files support

/** com.android.vending.expansion.zipfile.ZipResourceFile object or null. */
private Object expansionFile;
@@ -678,16 +678,25 @@ public static void pollInputDevices() {
private Method expansionFileMethod;

/**
* This method is called by SDL using JNI.
* This method was called by SDL using JNI.
* @deprecated because of an incorrect name
*/
@Deprecated
public InputStream openAPKExtensionInputStream(String fileName) throws IOException {
return openAPKExpansionInputStream(fileName);
}

/**
* This method is called by SDL using JNI.
*/
public InputStream openAPKExpansionInputStream(String fileName) throws IOException {
// Get a ZipResourceFile representing a merger of both the main and patch files
if (expansionFile == null) {
Integer mainVersion = Integer.valueOf(nativeGetHint("SDL_ANDROID_APK_EXPANSION_MAIN_FILE_VERSION"));
Integer patchVersion = Integer.valueOf(nativeGetHint("SDL_ANDROID_APK_EXPANSION_PATCH_FILE_VERSION"));

try {
// To avoid direct dependency on Google APK extension library that is
// To avoid direct dependency on Google APK expansion library that is
// not a part of Android SDK we access it using reflection
expansionFile = Class.forName("com.android.vending.expansion.zipfile.APKExpansionSupport")
.getMethod("getAPKExpansionZipFile", Context.class, int.class, int.class)
@@ -785,9 +785,9 @@ static int Internal_Android_JNI_FileOpen(SDL_RWops* ctx)
"open", "(Ljava/lang/String;I)Ljava/io/InputStream;");
inputStream = (*mEnv)->CallObjectMethod(mEnv, assetManager, mid, fileNameJString, 1 /* ACCESS_RANDOM */);
if (Android_JNI_ExceptionOccurred(SDL_FALSE)) {
// Try fallback to APK Extension files
/* Try fallback to APK expansion files */
mid = (*mEnv)->GetMethodID(mEnv, (*mEnv)->GetObjectClass(mEnv, context),
"openAPKExtensionInputStream", "(Ljava/lang/String;)Ljava/io/InputStream;");
"openAPKExpansionInputStream", "(Ljava/lang/String;)Ljava/io/InputStream;");
inputStream = (*mEnv)->CallObjectMethod(mEnv, context, mid, fileNameJString);

if (Android_JNI_ExceptionOccurred(SDL_FALSE)) {

0 comments on commit 92ca42d

Please sign in to comment.