mirror of
				https://gitcode.com/gh_mirrors/re/react-native-pushy.git
				synced 2025-10-31 13:23:12 +08:00 
			
		
		
		
	Detect android bundle url
This commit is contained in:
		| @@ -123,7 +123,7 @@ class DownloadTask extends AsyncTask<DownloadTaskParams, long[], Void> { | ||||
|         WritableMap params = Arguments.createMap(); | ||||
|         params.putDouble("received", (values[0][0])); | ||||
|         params.putDouble("total", (values[0][1])); | ||||
|         params.putDouble("hashname", this.hash); | ||||
|         params.putString("hashname", this.hash); | ||||
|         sendEvent("RCTPushyDownloadProgress", params); | ||||
|  | ||||
|     } | ||||
|   | ||||
| @@ -23,6 +23,7 @@ public class UpdateContext { | ||||
|  | ||||
|     public static boolean DEBUG = false; | ||||
|     private static ReactInstanceManager mReactInstanceManager; | ||||
|     private static boolean isUsingBundleUrl = false; | ||||
|  | ||||
|     public UpdateContext(Context context) { | ||||
|         this.context = context; | ||||
| @@ -67,6 +68,10 @@ public class UpdateContext { | ||||
|         return context.getString(R.string.pushy_build_time); | ||||
|     } | ||||
|  | ||||
|     public boolean getIsUsingBundleUrl() { | ||||
|         return isUsingBundleUrl; | ||||
|     } | ||||
|  | ||||
|     public interface DownloadFileListener { | ||||
|         void onDownloadCompleted(); | ||||
|         void onDownloadFailed(Throwable error); | ||||
| @@ -184,6 +189,7 @@ public class UpdateContext { | ||||
|     } | ||||
|  | ||||
|     public String getBundleUrl(String defaultAssetsUrl) { | ||||
|         isUsingBundleUrl = true; | ||||
|         String currentVersion = getCurrentVersion(); | ||||
|         if (currentVersion == null) { | ||||
|             return defaultAssetsUrl; | ||||
|   | ||||
| @@ -46,6 +46,7 @@ public class UpdateModule extends ReactContextBaseJavaModule{ | ||||
|         constants.put("packageVersion", updateContext.getPackageVersion()); | ||||
|         constants.put("currentVersion", updateContext.getCurrentVersion()); | ||||
|         constants.put("buildTime", updateContext.getBuildTime()); | ||||
|         constants.put("isUsingBundleUrl", updateContext.getIsUsingBundleUrl()); | ||||
|         boolean isFirstTime = updateContext.isFirstTime(); | ||||
|         constants.put("isFirstTime", isFirstTime); | ||||
|         if (isFirstTime) { | ||||
| @@ -134,14 +135,14 @@ public class UpdateModule extends ReactContextBaseJavaModule{ | ||||
|                     } | ||||
|  | ||||
|                     try { | ||||
|                         Field jsBundleField = instanceManager.getClass().getDeclaredField("mJSBundleFile"); | ||||
|                         jsBundleField.setAccessible(true); | ||||
|                         jsBundleField.set(instanceManager, UpdateContext.getBundleUrl(application)); | ||||
|                     } catch (Throwable err) { | ||||
|                         JSBundleLoader loader = JSBundleLoader.createFileLoader(UpdateContext.getBundleUrl(application)); | ||||
|                         Field loadField = instanceManager.getClass().getDeclaredField("mBundleLoader"); | ||||
|                         loadField.setAccessible(true); | ||||
|                         loadField.set(instanceManager, loader); | ||||
|                     } catch (Throwable err) { | ||||
|                         Field jsBundleField = instanceManager.getClass().getDeclaredField("mJSBundleFile"); | ||||
|                         jsBundleField.setAccessible(true); | ||||
|                         jsBundleField.set(instanceManager, UpdateContext.getBundleUrl(application)); | ||||
|                     } | ||||
|  | ||||
|                     try { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 sunnylqm
					sunnylqm