@@ -24,6 +24,7 @@ public class PropUtils {
2424 private static final HashMap <String , String > moduleSupportsFallbacks = new HashMap <>();
2525 private static final HashMap <String , String > moduleConfigsFallbacks = new HashMap <>();
2626 private static final HashMap <String , Integer > moduleMinApiFallbacks = new HashMap <>();
27+ private static final HashMap <String , String > moduleUpdateJsonFallbacks = new HashMap <>();
2728 private static final HashSet <String > moduleImportantProp = new HashSet <>(Arrays .asList (
2829 "id" , "name" , "version" , "versionCode"
2930 ));
@@ -51,13 +52,30 @@ public class PropUtils {
5152 moduleConfigsFallbacks .put ("substratum" , "projekt.substratum" );
5253 // minApi is the minimum android version required to use the module
5354 moduleMinApiFallbacks .put ("riru_ifw_enhance" , Build .VERSION_CODES .O );
55+ moduleMinApiFallbacks .put ("zygisk_ifw_enhance" , Build .VERSION_CODES .O );
5456 moduleMinApiFallbacks .put ("riru_edxposed" , Build .VERSION_CODES .O );
57+ moduleMinApiFallbacks .put ("zygisk_edxposed" , Build .VERSION_CODES .O );
5558 moduleMinApiFallbacks .put ("riru_lsposed" , Build .VERSION_CODES .O_MR1 );
59+ moduleMinApiFallbacks .put ("zygisk_lsposed" , Build .VERSION_CODES .O_MR1 );
5660 moduleMinApiFallbacks .put ("noneDisplayCutout" , Build .VERSION_CODES .P );
5761 moduleMinApiFallbacks .put ("quickstepswitcher" , Build .VERSION_CODES .P );
5862 moduleMinApiFallbacks .put ("riru_clipboard_whitelist" , Build .VERSION_CODES .Q );
5963 // minApi for riru core include submodules
6064 moduleMinApiFallbacks .put ("riru-core" , RIRU_MIN_API = Build .VERSION_CODES .M );
65+ // Fallbacks in case updateJson is missing
66+ final String GH_UC = "https://raw.githubusercontent.com/" ;
67+ moduleUpdateJsonFallbacks .put ("BluetoothLibraryPatcher" ,
68+ GH_UC + "3arthur6/BluetoothLibraryPatcher/master/update.json" );
69+ moduleUpdateJsonFallbacks .put ("Detach" ,
70+ GH_UC + "xerta555/Detach-Files/blob/master/Updater.json" );
71+ moduleUpdateJsonFallbacks .put ("riru_ifw_enhance" , "https://github.com/" +
72+ "Kr328/Riru-IFWEnhance/releases/latest/download/riru-ifw-enhance.json" );
73+ moduleUpdateJsonFallbacks .put ("zygisk_ifw_enhance" , "https://github.com/" +
74+ "Kr328/Riru-IFWEnhance/releases/latest/download/zygisk-ifw-enhance.json" );
75+ moduleUpdateJsonFallbacks .put ("riru_lsposed" ,
76+ "https://lsposed.github.io/LSPosed/release/riru.json" );
77+ moduleUpdateJsonFallbacks .put ("zygisk_lsposed" ,
78+ "https://lsposed.github.io/LSPosed/release/zygisk.json" );
6179 }
6280
6381 public static void readProperties (ModuleInfo moduleInfo , String file ,
@@ -196,6 +214,7 @@ public static void readProperties(ModuleInfo moduleInfo, InputStream inputStream
196214 moduleInfo .minMagisk = 0 ;
197215 }
198216 break ;
217+ case "minSdkVersion" : // Improve compatibility
199218 case "minApi" :
200219 // Special case for Riru EdXposed because
201220 // minApi don't mean the same thing for them
@@ -209,6 +228,7 @@ public static void readProperties(ModuleInfo moduleInfo, InputStream inputStream
209228 moduleInfo .minApi = 0 ;
210229 }
211230 break ;
231+ case "maxSdkVersion" : // Improve compatibility
212232 case "maxApi" :
213233 try {
214234 moduleInfo .maxApi = Integer .parseInt (value );
@@ -250,7 +270,7 @@ public static void readProperties(ModuleInfo moduleInfo, InputStream inputStream
250270 moduleInfo .description = "" ;
251271 }
252272 if (!readUpdateJson ) {
253- moduleInfo .updateJson = null ;
273+ moduleInfo .updateJson = moduleUpdateJsonFallbacks . get ( moduleInfo . id ) ;
254274 }
255275 if (moduleInfo .minApi == 0 ) {
256276 Integer minApiFallback = moduleMinApiFallbacks .get (moduleInfo .id );
0 commit comments