diff --git a/android-project/src/org/libsdl/app/SDLActivity.java b/android-project/src/org/libsdl/app/SDLActivity.java index 0662e60f5..f2a42dd9d 100644 --- a/android-project/src/org/libsdl/app/SDLActivity.java +++ b/android-project/src/org/libsdl/app/SDLActivity.java @@ -703,8 +703,15 @@ public class SDLActivity extends Activity { return null; // no expansion use if no patch version was set } - Integer mainVersion = Integer.valueOf(mainHint); - Integer patchVersion = Integer.valueOf(patchHint); + Integer mainVersion; + Integer patchVersion; + try { + mainVersion = Integer.valueOf(mainHint); + patchVersion = Integer.valueOf(patchHint); + } catch (NumberFormatException ex) { + ex.printStackTrace(); + throw new IOException("No valid file versions set for APK expansion files", ex); + } try { // To avoid direct dependency on Google APK expansion library that is @@ -719,6 +726,7 @@ public class SDLActivity extends Activity { ex.printStackTrace(); expansionFile = null; expansionFileMethod = null; + throw new IOException("Could not access APK expansion support library", ex); } } @@ -727,12 +735,14 @@ public class SDLActivity extends Activity { try { fileStream = (InputStream)expansionFileMethod.invoke(expansionFile, fileName); } catch (Exception ex) { + // calling "getInputStream" failed ex.printStackTrace(); - fileStream = null; + throw new IOException("Could not open stream from APK expansion file", ex); } if (fileStream == null) { - throw new IOException(); + // calling "getInputStream" was successful but null was returned + throw new IOException("Could not open stream from APK expansion file"); } return fileStream;