From 4fbcefdd35b3a5f497c7e2ec823193c734f1bb22 Mon Sep 17 00:00:00 2001 From: Andre Miras Date: Sat, 9 May 2020 14:37:06 +0200 Subject: [PATCH] Reuse common AssetExtract.java Also removes unused `mActivity` member. Note we changed the constructor input parameter to accept a `Context` object which is a parent class of the previous `Activity` one. Changes were tested on both kivy and service_only bootstraps. Also removes the `get_common_dir()` as it's no longer used since #2092 --- pythonforandroid/bootstrap.py | 3 - .../java/org/renpy/android/AssetExtract.java | 8 +- .../java/org/renpy/android/AssetExtract.java | 115 ------------------ tests/test_bootstrap.py | 3 - 4 files changed, 3 insertions(+), 126 deletions(-) delete mode 100644 pythonforandroid/bootstraps/service_library/build/src/main/java/org/renpy/android/AssetExtract.java diff --git a/pythonforandroid/bootstrap.py b/pythonforandroid/bootstrap.py index 1c388eed2a..a9e7f4d911 100755 --- a/pythonforandroid/bootstrap.py +++ b/pythonforandroid/bootstrap.py @@ -132,9 +132,6 @@ def get_build_dir(self): def get_dist_dir(self, name): return join(self.ctx.dist_dir, name) - def get_common_dir(self): - return os.path.abspath(join(self.bootstrap_dir, "..", 'common')) - @property def name(self): modname = self.__class__.__module__ diff --git a/pythonforandroid/bootstraps/common/build/src/main/java/org/renpy/android/AssetExtract.java b/pythonforandroid/bootstraps/common/build/src/main/java/org/renpy/android/AssetExtract.java index 52d6424e09..29aca35234 100644 --- a/pythonforandroid/bootstraps/common/build/src/main/java/org/renpy/android/AssetExtract.java +++ b/pythonforandroid/bootstraps/common/build/src/main/java/org/renpy/android/AssetExtract.java @@ -4,7 +4,7 @@ import java.io.*; -import android.app.Activity; +import android.content.Context; import android.util.Log; import java.io.BufferedInputStream; @@ -24,11 +24,9 @@ public class AssetExtract { private AssetManager mAssetManager = null; - private Activity mActivity = null; - public AssetExtract(Activity act) { - mActivity = act; - mAssetManager = act.getAssets(); + public AssetExtract(Context context) { + mAssetManager = context.getAssets(); } public boolean extractTar(String asset, String target) { diff --git a/pythonforandroid/bootstraps/service_library/build/src/main/java/org/renpy/android/AssetExtract.java b/pythonforandroid/bootstraps/service_library/build/src/main/java/org/renpy/android/AssetExtract.java deleted file mode 100644 index 092730dfe1..0000000000 --- a/pythonforandroid/bootstraps/service_library/build/src/main/java/org/renpy/android/AssetExtract.java +++ /dev/null @@ -1,115 +0,0 @@ -// This string is autogenerated by ChangeAppSettings.sh, do not change -// spaces amount -package org.renpy.android; - -import java.io.*; - -import android.content.Context; -import android.util.Log; - -import java.io.BufferedInputStream; -import java.io.BufferedOutputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.FileInputStream; -import java.io.FileOutputStream; -import java.io.File; - -import java.util.zip.GZIPInputStream; - -import android.content.res.AssetManager; - -import org.kamranzafar.jtar.*; - -public class AssetExtract { - - private AssetManager mAssetManager = null; - private Context ctx = null; - - public AssetExtract(Context context) { - ctx = context; - mAssetManager = ctx.getAssets(); - } - - public boolean extractTar(String asset, String target) { - - byte buf[] = new byte[1024 * 1024]; - - InputStream assetStream = null; - TarInputStream tis = null; - - try { - assetStream = mAssetManager.open(asset, AssetManager.ACCESS_STREAMING); - tis = new TarInputStream(new BufferedInputStream(new GZIPInputStream(new BufferedInputStream(assetStream, 8192)), 8192)); - } catch (IOException e) { - Log.e("python", "opening up extract tar", e); - return false; - } - - while (true) { - TarEntry entry = null; - - try { - entry = tis.getNextEntry(); - } catch ( java.io.IOException e ) { - Log.e("python", "extracting tar", e); - return false; - } - - if ( entry == null ) { - break; - } - - Log.v("python", "extracting " + entry.getName()); - - if (entry.isDirectory()) { - - try { - new File(target +"/" + entry.getName()).mkdirs(); - } catch ( SecurityException e ) { }; - - continue; - } - - OutputStream out = null; - String path = target + "/" + entry.getName(); - - try { - out = new BufferedOutputStream(new FileOutputStream(path), 8192); - } catch ( FileNotFoundException e ) { - } catch ( SecurityException e ) { }; - - if ( out == null ) { - Log.e("python", "could not open " + path); - return false; - } - - try { - while (true) { - int len = tis.read(buf); - - if (len == -1) { - break; - } - - out.write(buf, 0, len); - } - - out.flush(); - out.close(); - } catch ( java.io.IOException e ) { - Log.e("python", "extracting zip", e); - return false; - } - } - - try { - tis.close(); - assetStream.close(); - } catch (IOException e) { - // pass - } - - return true; - } -} diff --git a/tests/test_bootstrap.py b/tests/test_bootstrap.py index 3fa1183bf2..f1cff91437 100644 --- a/tests/test_bootstrap.py +++ b/tests/test_bootstrap.py @@ -104,9 +104,6 @@ def test_build_dist_dirs(self): bs.get_build_dir().endswith("build/bootstrap_builds/sdl2") ) self.assertTrue(bs.get_dist_dir("test_prj").endswith("dists/test_prj")) - self.assertTrue( - bs.get_common_dir().endswith("pythonforandroid/bootstraps/common") - ) def test__cmp_bootstraps_by_priority(self): # Test service_only has higher priority than sdl2: