@appzung/react-native-code-push 9.0.2 → 10.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (473) hide show
  1. package/CodePush.podspec +1 -0
  2. package/LICENSE.md +1 -1
  3. package/README.md +169 -329
  4. package/android/app/.gradle/config.properties +2 -0
  5. package/android/app/build.gradle +63 -19
  6. package/android/app/local.properties +8 -0
  7. package/android/app/src/main/AndroidManifest.xml +2 -3
  8. package/android/app/src/main/AndroidManifestNew.xml +3 -0
  9. package/android/app/src/main/java/com/{microsoft → appzung}/codepush/react/CodePush.java +35 -97
  10. package/android/app/src/main/java/com/{microsoft → appzung}/codepush/react/CodePushConstants.java +1 -1
  11. package/android/app/src/main/java/com/{microsoft → appzung}/codepush/react/CodePushInstallMode.java +2 -2
  12. package/android/app/src/main/java/com/{microsoft → appzung}/codepush/react/CodePushInvalidPublicKeyException.java +2 -2
  13. package/android/app/src/main/java/com/{microsoft → appzung}/codepush/react/CodePushInvalidUpdateException.java +1 -1
  14. package/android/app/src/main/java/com/{microsoft → appzung}/codepush/react/CodePushMalformedDataException.java +2 -2
  15. package/android/app/src/main/java/com/{microsoft → appzung}/codepush/react/CodePushNativeModule.java +37 -8
  16. package/android/app/src/main/java/com/{microsoft → appzung}/codepush/react/CodePushNotInitializedException.java +2 -2
  17. package/android/app/src/main/java/com/{microsoft → appzung}/codepush/react/CodePushTelemetryManager.java +14 -14
  18. package/android/app/src/main/java/com/{microsoft → appzung}/codepush/react/CodePushUnknownException.java +2 -2
  19. package/android/app/src/main/java/com/{microsoft → appzung}/codepush/react/CodePushUpdateManager.java +3 -3
  20. package/android/app/src/main/java/com/{microsoft → appzung}/codepush/react/CodePushUpdateState.java +2 -2
  21. package/android/app/src/main/java/com/{microsoft → appzung}/codepush/react/CodePushUpdateUtils.java +1 -1
  22. package/android/app/src/main/java/com/{microsoft → appzung}/codepush/react/CodePushUtils.java +1 -1
  23. package/android/app/src/main/java/com/{microsoft → appzung}/codepush/react/DownloadProgress.java +1 -1
  24. package/android/app/src/main/java/com/{microsoft → appzung}/codepush/react/DownloadProgressCallback.java +1 -1
  25. package/android/app/src/main/java/com/{microsoft → appzung}/codepush/react/FileUtils.java +1 -1
  26. package/android/app/src/main/java/com/{microsoft → appzung}/codepush/react/ReactInstanceHolder.java +1 -1
  27. package/android/app/src/main/java/com/{microsoft → appzung}/codepush/react/SettingsManager.java +1 -1
  28. package/android/app/src/main/java/com/{microsoft → appzung}/codepush/react/TLSSocketFactory.java +1 -1
  29. package/android/build.gradle +1 -11
  30. package/android/codepush.gradle +3 -3
  31. package/android/gradle/wrapper/gradle-wrapper.properties +1 -1
  32. package/android/gradle.properties +4 -20
  33. package/docs/advanced-usage.md +56 -0
  34. package/docs/api-android.md +16 -77
  35. package/docs/api-ios.md +9 -21
  36. package/docs/api-js.md +184 -219
  37. package/docs/code-signing.md +62 -0
  38. package/docs/migrating-to-v10.md +31 -0
  39. package/docs/setup-android.md +54 -463
  40. package/docs/setup-ios.md +37 -208
  41. package/docs/setup-windows.md +8 -74
  42. package/ios/CodePush/CodePush.h +4 -4
  43. package/ios/CodePush/CodePush.m +21 -65
  44. package/ios/CodePush/CodePushConfig.m +14 -11
  45. package/ios/CodePush/CodePushPackage.m +60 -60
  46. package/ios/CodePush/CodePushTelemetryManager.m +13 -13
  47. package/ios/CodePush.xcodeproj/project.pbxproj +1 -562
  48. package/lib/commonjs/CodePush.js +90 -0
  49. package/lib/commonjs/CodePush.js.map +1 -0
  50. package/lib/commonjs/allowRestart.js +12 -0
  51. package/lib/commonjs/allowRestart.js.map +1 -0
  52. package/lib/commonjs/checkForUpdates.js +105 -0
  53. package/lib/commonjs/checkForUpdates.js.map +1 -0
  54. package/lib/commonjs/clearUpdates.js +15 -0
  55. package/lib/commonjs/clearUpdates.js.map +1 -0
  56. package/lib/commonjs/disallowRestart.js +12 -0
  57. package/lib/commonjs/disallowRestart.js.map +1 -0
  58. package/lib/commonjs/enums/CheckFrequency.enum.js +25 -0
  59. package/lib/commonjs/enums/CheckFrequency.enum.js.map +1 -0
  60. package/lib/commonjs/enums/DeploymentStatus.enum.js +21 -0
  61. package/lib/commonjs/enums/DeploymentStatus.enum.js.map +1 -0
  62. package/lib/commonjs/enums/InstallMode.enum.js +35 -0
  63. package/lib/commonjs/enums/InstallMode.enum.js.map +1 -0
  64. package/lib/commonjs/enums/SyncStatus.enum.js +53 -0
  65. package/lib/commonjs/enums/SyncStatus.enum.js.map +1 -0
  66. package/lib/commonjs/enums/UpdateState.enum.js +29 -0
  67. package/lib/commonjs/enums/UpdateState.enum.js.map +1 -0
  68. package/lib/commonjs/getUpdateMetadata.js +25 -0
  69. package/lib/commonjs/getUpdateMetadata.js.map +1 -0
  70. package/lib/commonjs/index.js +195 -0
  71. package/lib/commonjs/index.js.map +1 -0
  72. package/lib/commonjs/internals/AcquisitionSdk.js +9 -0
  73. package/lib/commonjs/internals/AcquisitionSdk.js.map +1 -0
  74. package/lib/commonjs/internals/LocalPackageImplementation.js +29 -0
  75. package/lib/commonjs/internals/LocalPackageImplementation.js.map +1 -0
  76. package/lib/commonjs/internals/NativeRNAppZungCodePushModule.js +8 -0
  77. package/lib/commonjs/internals/NativeRNAppZungCodePushModule.js.map +1 -0
  78. package/lib/commonjs/internals/RNAppZungCodePushModuleSpec.js +6 -0
  79. package/lib/commonjs/internals/RNAppZungCodePushModuleSpec.js.map +1 -0
  80. package/lib/commonjs/internals/RemotePackageImplementation.js +49 -0
  81. package/lib/commonjs/internals/RemotePackageImplementation.js.map +1 -0
  82. package/lib/commonjs/internals/getConfiguration.js +15 -0
  83. package/lib/commonjs/internals/getConfiguration.js.map +1 -0
  84. package/lib/commonjs/internals/getCurrentPackage.js +12 -0
  85. package/lib/commonjs/internals/getCurrentPackage.js.map +1 -0
  86. package/lib/commonjs/internals/getPromisifiedSdk.js +49 -0
  87. package/lib/commonjs/internals/getPromisifiedSdk.js.map +1 -0
  88. package/lib/commonjs/internals/shouldUpdateBeIgnored.js +62 -0
  89. package/lib/commonjs/internals/shouldUpdateBeIgnored.js.map +1 -0
  90. package/lib/commonjs/internals/types.js +6 -0
  91. package/lib/commonjs/internals/types.js.map +1 -0
  92. package/lib/commonjs/internals/utils/log.js +11 -0
  93. package/lib/commonjs/internals/utils/log.js.map +1 -0
  94. package/lib/commonjs/internals/utils/request-fetch-adapter.js +50 -0
  95. package/lib/commonjs/internals/utils/request-fetch-adapter.js.map +1 -0
  96. package/lib/commonjs/internals/version.js +9 -0
  97. package/lib/commonjs/internals/version.js.map +1 -0
  98. package/lib/commonjs/notifyAppReady.js +83 -0
  99. package/lib/commonjs/notifyAppReady.js.map +1 -0
  100. package/lib/commonjs/reactNative.d.js +2 -0
  101. package/lib/commonjs/reactNative.d.js.map +1 -0
  102. package/lib/commonjs/restartApp.js +16 -0
  103. package/lib/commonjs/restartApp.js.map +1 -0
  104. package/lib/commonjs/sync.js +219 -0
  105. package/lib/commonjs/sync.js.map +1 -0
  106. package/lib/commonjs/types.js +6 -0
  107. package/lib/commonjs/types.js.map +1 -0
  108. package/lib/module/CodePush.js +84 -0
  109. package/lib/module/CodePush.js.map +1 -0
  110. package/lib/module/allowRestart.js +9 -0
  111. package/lib/module/allowRestart.js.map +1 -0
  112. package/lib/module/checkForUpdates.js +101 -0
  113. package/lib/module/checkForUpdates.js.map +1 -0
  114. package/lib/module/clearUpdates.js +12 -0
  115. package/lib/module/clearUpdates.js.map +1 -0
  116. package/lib/module/disallowRestart.js +9 -0
  117. package/lib/module/disallowRestart.js.map +1 -0
  118. package/lib/module/enums/CheckFrequency.enum.js +21 -0
  119. package/lib/module/enums/CheckFrequency.enum.js.map +1 -0
  120. package/lib/module/enums/DeploymentStatus.enum.js +17 -0
  121. package/lib/module/enums/DeploymentStatus.enum.js.map +1 -0
  122. package/lib/module/enums/InstallMode.enum.js +32 -0
  123. package/lib/module/enums/InstallMode.enum.js.map +1 -0
  124. package/lib/module/enums/SyncStatus.enum.js +49 -0
  125. package/lib/module/enums/SyncStatus.enum.js.map +1 -0
  126. package/lib/module/enums/UpdateState.enum.js +26 -0
  127. package/lib/module/enums/UpdateState.enum.js.map +1 -0
  128. package/lib/module/getUpdateMetadata.js +21 -0
  129. package/lib/module/getUpdateMetadata.js.map +1 -0
  130. package/lib/module/index.js +19 -0
  131. package/lib/module/index.js.map +1 -0
  132. package/lib/module/internals/AcquisitionSdk.js +5 -0
  133. package/lib/module/internals/AcquisitionSdk.js.map +1 -0
  134. package/lib/module/internals/LocalPackageImplementation.js +24 -0
  135. package/lib/module/internals/LocalPackageImplementation.js.map +1 -0
  136. package/lib/module/internals/NativeRNAppZungCodePushModule.js +4 -0
  137. package/lib/module/internals/NativeRNAppZungCodePushModule.js.map +1 -0
  138. package/lib/module/internals/RNAppZungCodePushModuleSpec.js +4 -0
  139. package/lib/module/internals/RNAppZungCodePushModuleSpec.js.map +1 -0
  140. package/lib/module/internals/RemotePackageImplementation.js +44 -0
  141. package/lib/module/internals/RemotePackageImplementation.js.map +1 -0
  142. package/lib/module/internals/getConfiguration.js +11 -0
  143. package/lib/module/internals/getConfiguration.js.map +1 -0
  144. package/lib/module/internals/getCurrentPackage.js +8 -0
  145. package/lib/module/internals/getCurrentPackage.js.map +1 -0
  146. package/lib/module/internals/getPromisifiedSdk.js +45 -0
  147. package/lib/module/internals/getPromisifiedSdk.js.map +1 -0
  148. package/lib/module/internals/shouldUpdateBeIgnored.js +58 -0
  149. package/lib/module/internals/shouldUpdateBeIgnored.js.map +1 -0
  150. package/lib/module/internals/types.js +4 -0
  151. package/lib/module/internals/types.js.map +1 -0
  152. package/lib/module/internals/utils/log.js +7 -0
  153. package/lib/module/internals/utils/log.js.map +1 -0
  154. package/lib/module/internals/utils/request-fetch-adapter.js +46 -0
  155. package/lib/module/internals/utils/request-fetch-adapter.js.map +1 -0
  156. package/lib/module/internals/version.js +5 -0
  157. package/lib/module/internals/version.js.map +1 -0
  158. package/lib/module/notifyAppReady.js +79 -0
  159. package/lib/module/notifyAppReady.js.map +1 -0
  160. package/lib/module/reactNative.d.js +2 -0
  161. package/lib/module/reactNative.d.js.map +1 -0
  162. package/lib/module/restartApp.js +13 -0
  163. package/lib/module/restartApp.js.map +1 -0
  164. package/lib/module/sync.js +215 -0
  165. package/lib/module/sync.js.map +1 -0
  166. package/lib/module/types.js +4 -0
  167. package/lib/module/types.js.map +1 -0
  168. package/lib/typescript/commonjs/package.json +1 -0
  169. package/lib/typescript/commonjs/src/CodePush.d.ts +24 -0
  170. package/lib/typescript/commonjs/src/CodePush.d.ts.map +1 -0
  171. package/lib/typescript/commonjs/src/allowRestart.d.ts +5 -0
  172. package/lib/typescript/commonjs/src/allowRestart.d.ts.map +1 -0
  173. package/lib/typescript/commonjs/src/checkForUpdates.d.ts +9 -0
  174. package/lib/typescript/commonjs/src/checkForUpdates.d.ts.map +1 -0
  175. package/lib/typescript/commonjs/src/clearUpdates.d.ts +8 -0
  176. package/lib/typescript/commonjs/src/clearUpdates.d.ts.map +1 -0
  177. package/lib/typescript/commonjs/src/disallowRestart.d.ts +5 -0
  178. package/lib/typescript/commonjs/src/disallowRestart.d.ts.map +1 -0
  179. package/lib/typescript/commonjs/src/enums/CheckFrequency.enum.d.ts +18 -0
  180. package/lib/typescript/commonjs/src/enums/CheckFrequency.enum.d.ts.map +1 -0
  181. package/lib/typescript/commonjs/src/enums/DeploymentStatus.enum.d.ts +14 -0
  182. package/lib/typescript/commonjs/src/enums/DeploymentStatus.enum.d.ts.map +1 -0
  183. package/lib/typescript/commonjs/src/enums/InstallMode.enum.d.ts +27 -0
  184. package/lib/typescript/commonjs/src/enums/InstallMode.enum.d.ts.map +1 -0
  185. package/lib/typescript/commonjs/src/enums/SyncStatus.enum.d.ts +46 -0
  186. package/lib/typescript/commonjs/src/enums/SyncStatus.enum.d.ts.map +1 -0
  187. package/lib/typescript/commonjs/src/enums/UpdateState.enum.d.ts +21 -0
  188. package/lib/typescript/commonjs/src/enums/UpdateState.enum.d.ts.map +1 -0
  189. package/lib/typescript/commonjs/src/getUpdateMetadata.d.ts +9 -0
  190. package/lib/typescript/commonjs/src/getUpdateMetadata.d.ts.map +1 -0
  191. package/lib/typescript/commonjs/src/index.d.ts +17 -0
  192. package/lib/typescript/commonjs/src/index.d.ts.map +1 -0
  193. package/lib/typescript/commonjs/src/internals/AcquisitionSdk.d.ts +3 -0
  194. package/lib/typescript/commonjs/src/internals/AcquisitionSdk.d.ts.map +1 -0
  195. package/lib/typescript/commonjs/src/internals/LocalPackageImplementation.d.ts +17 -0
  196. package/lib/typescript/commonjs/src/internals/LocalPackageImplementation.d.ts.map +1 -0
  197. package/lib/typescript/commonjs/src/internals/NativeRNAppZungCodePushModule.d.ts +3 -0
  198. package/lib/typescript/commonjs/src/internals/NativeRNAppZungCodePushModule.d.ts.map +1 -0
  199. package/lib/typescript/commonjs/src/internals/RNAppZungCodePushModuleSpec.d.ts +36 -0
  200. package/lib/typescript/commonjs/src/internals/RNAppZungCodePushModuleSpec.d.ts.map +1 -0
  201. package/lib/typescript/commonjs/src/internals/RemotePackageImplementation.d.ts +18 -0
  202. package/lib/typescript/commonjs/src/internals/RemotePackageImplementation.d.ts.map +1 -0
  203. package/lib/typescript/commonjs/src/internals/getConfiguration.d.ts +3 -0
  204. package/lib/typescript/commonjs/src/internals/getConfiguration.d.ts.map +1 -0
  205. package/lib/typescript/commonjs/src/internals/getCurrentPackage.d.ts +2 -0
  206. package/lib/typescript/commonjs/src/internals/getCurrentPackage.d.ts.map +1 -0
  207. package/lib/typescript/commonjs/src/internals/getPromisifiedSdk.d.ts +13 -0
  208. package/lib/typescript/commonjs/src/internals/getPromisifiedSdk.d.ts.map +1 -0
  209. package/lib/typescript/commonjs/src/internals/shouldUpdateBeIgnored.d.ts +3 -0
  210. package/lib/typescript/commonjs/src/internals/shouldUpdateBeIgnored.d.ts.map +1 -0
  211. package/lib/typescript/commonjs/src/internals/types.d.ts +16 -0
  212. package/lib/typescript/commonjs/src/internals/types.d.ts.map +1 -0
  213. package/lib/typescript/commonjs/src/internals/utils/log.d.ts +2 -0
  214. package/lib/typescript/commonjs/src/internals/utils/log.d.ts.map +1 -0
  215. package/lib/typescript/commonjs/src/internals/utils/request-fetch-adapter.d.ts +3 -0
  216. package/lib/typescript/commonjs/src/internals/utils/request-fetch-adapter.d.ts.map +1 -0
  217. package/lib/typescript/commonjs/src/internals/version.d.ts +2 -0
  218. package/lib/typescript/commonjs/src/internals/version.d.ts.map +1 -0
  219. package/lib/typescript/commonjs/src/notifyAppReady.d.ts +6 -0
  220. package/lib/typescript/commonjs/src/notifyAppReady.d.ts.map +1 -0
  221. package/lib/typescript/commonjs/src/restartApp.d.ts +7 -0
  222. package/lib/typescript/commonjs/src/restartApp.d.ts.map +1 -0
  223. package/lib/typescript/commonjs/src/sync.d.ts +17 -0
  224. package/lib/typescript/commonjs/src/sync.d.ts.map +1 -0
  225. package/lib/typescript/commonjs/src/types.d.ts +196 -0
  226. package/lib/typescript/commonjs/src/types.d.ts.map +1 -0
  227. package/lib/typescript/module/package.json +1 -0
  228. package/lib/typescript/module/src/CodePush.d.ts +24 -0
  229. package/lib/typescript/module/src/CodePush.d.ts.map +1 -0
  230. package/lib/typescript/module/src/allowRestart.d.ts +5 -0
  231. package/lib/typescript/module/src/allowRestart.d.ts.map +1 -0
  232. package/lib/typescript/module/src/checkForUpdates.d.ts +9 -0
  233. package/lib/typescript/module/src/checkForUpdates.d.ts.map +1 -0
  234. package/lib/typescript/module/src/clearUpdates.d.ts +8 -0
  235. package/lib/typescript/module/src/clearUpdates.d.ts.map +1 -0
  236. package/lib/typescript/module/src/disallowRestart.d.ts +5 -0
  237. package/lib/typescript/module/src/disallowRestart.d.ts.map +1 -0
  238. package/lib/typescript/module/src/enums/CheckFrequency.enum.d.ts +18 -0
  239. package/lib/typescript/module/src/enums/CheckFrequency.enum.d.ts.map +1 -0
  240. package/lib/typescript/module/src/enums/DeploymentStatus.enum.d.ts +14 -0
  241. package/lib/typescript/module/src/enums/DeploymentStatus.enum.d.ts.map +1 -0
  242. package/lib/typescript/module/src/enums/InstallMode.enum.d.ts +27 -0
  243. package/lib/typescript/module/src/enums/InstallMode.enum.d.ts.map +1 -0
  244. package/lib/typescript/module/src/enums/SyncStatus.enum.d.ts +46 -0
  245. package/lib/typescript/module/src/enums/SyncStatus.enum.d.ts.map +1 -0
  246. package/lib/typescript/module/src/enums/UpdateState.enum.d.ts +21 -0
  247. package/lib/typescript/module/src/enums/UpdateState.enum.d.ts.map +1 -0
  248. package/lib/typescript/module/src/getUpdateMetadata.d.ts +9 -0
  249. package/lib/typescript/module/src/getUpdateMetadata.d.ts.map +1 -0
  250. package/lib/typescript/module/src/index.d.ts +17 -0
  251. package/lib/typescript/module/src/index.d.ts.map +1 -0
  252. package/lib/typescript/module/src/internals/AcquisitionSdk.d.ts +3 -0
  253. package/lib/typescript/module/src/internals/AcquisitionSdk.d.ts.map +1 -0
  254. package/lib/typescript/module/src/internals/LocalPackageImplementation.d.ts +17 -0
  255. package/lib/typescript/module/src/internals/LocalPackageImplementation.d.ts.map +1 -0
  256. package/lib/typescript/module/src/internals/NativeRNAppZungCodePushModule.d.ts +3 -0
  257. package/lib/typescript/module/src/internals/NativeRNAppZungCodePushModule.d.ts.map +1 -0
  258. package/lib/typescript/module/src/internals/RNAppZungCodePushModuleSpec.d.ts +36 -0
  259. package/lib/typescript/module/src/internals/RNAppZungCodePushModuleSpec.d.ts.map +1 -0
  260. package/lib/typescript/module/src/internals/RemotePackageImplementation.d.ts +18 -0
  261. package/lib/typescript/module/src/internals/RemotePackageImplementation.d.ts.map +1 -0
  262. package/lib/typescript/module/src/internals/getConfiguration.d.ts +3 -0
  263. package/lib/typescript/module/src/internals/getConfiguration.d.ts.map +1 -0
  264. package/lib/typescript/module/src/internals/getCurrentPackage.d.ts +2 -0
  265. package/lib/typescript/module/src/internals/getCurrentPackage.d.ts.map +1 -0
  266. package/lib/typescript/module/src/internals/getPromisifiedSdk.d.ts +13 -0
  267. package/lib/typescript/module/src/internals/getPromisifiedSdk.d.ts.map +1 -0
  268. package/lib/typescript/module/src/internals/shouldUpdateBeIgnored.d.ts +3 -0
  269. package/lib/typescript/module/src/internals/shouldUpdateBeIgnored.d.ts.map +1 -0
  270. package/lib/typescript/module/src/internals/types.d.ts +16 -0
  271. package/lib/typescript/module/src/internals/types.d.ts.map +1 -0
  272. package/lib/typescript/module/src/internals/utils/log.d.ts +2 -0
  273. package/lib/typescript/module/src/internals/utils/log.d.ts.map +1 -0
  274. package/lib/typescript/module/src/internals/utils/request-fetch-adapter.d.ts +3 -0
  275. package/lib/typescript/module/src/internals/utils/request-fetch-adapter.d.ts.map +1 -0
  276. package/lib/typescript/module/src/internals/version.d.ts +2 -0
  277. package/lib/typescript/module/src/internals/version.d.ts.map +1 -0
  278. package/lib/typescript/module/src/notifyAppReady.d.ts +6 -0
  279. package/lib/typescript/module/src/notifyAppReady.d.ts.map +1 -0
  280. package/lib/typescript/module/src/restartApp.d.ts +7 -0
  281. package/lib/typescript/module/src/restartApp.d.ts.map +1 -0
  282. package/lib/typescript/module/src/sync.d.ts +17 -0
  283. package/lib/typescript/module/src/sync.d.ts.map +1 -0
  284. package/lib/typescript/module/src/types.d.ts +196 -0
  285. package/lib/typescript/module/src/types.d.ts.map +1 -0
  286. package/package.json +79 -29
  287. package/react-native.config.js +8 -8
  288. package/scripts/generateBundledResourcesHash.js +1 -1
  289. package/scripts/getFilesInFolder.js +1 -1
  290. package/scripts/recordFilesBeforeBundleCommand.js +1 -1
  291. package/src/CodePush.tsx +108 -0
  292. package/src/allowRestart.ts +6 -0
  293. package/src/checkForUpdates.ts +109 -0
  294. package/src/clearUpdates.ts +9 -0
  295. package/src/disallowRestart.ts +6 -0
  296. package/src/enums/CheckFrequency.enum.ts +19 -0
  297. package/src/enums/DeploymentStatus.enum.ts +14 -0
  298. package/src/enums/InstallMode.enum.ts +31 -0
  299. package/src/enums/SyncStatus.enum.ts +53 -0
  300. package/src/enums/UpdateState.enum.ts +24 -0
  301. package/src/getUpdateMetadata.ts +23 -0
  302. package/src/index.ts +18 -0
  303. package/src/internals/AcquisitionSdk.ts +3 -0
  304. package/src/internals/LocalPackageImplementation.ts +45 -0
  305. package/src/internals/NativeRNAppZungCodePushModule.ts +3 -0
  306. package/src/internals/RNAppZungCodePushModuleSpec.ts +54 -0
  307. package/src/internals/RemotePackageImplementation.ts +69 -0
  308. package/src/internals/getConfiguration.ts +12 -0
  309. package/src/internals/getCurrentPackage.ts +6 -0
  310. package/src/internals/getPromisifiedSdk.ts +72 -0
  311. package/src/internals/shouldUpdateBeIgnored.ts +76 -0
  312. package/src/internals/types.ts +18 -0
  313. package/{logging.js → src/internals/utils/log.ts} +1 -3
  314. package/src/internals/utils/request-fetch-adapter.ts +58 -0
  315. package/src/internals/version.ts +2 -0
  316. package/src/notifyAppReady.ts +94 -0
  317. package/src/reactNative.d.ts +34 -0
  318. package/src/restartApp.ts +10 -0
  319. package/src/sync.ts +272 -0
  320. package/src/types.ts +237 -0
  321. package/tsconfig.build.json +4 -0
  322. package/tsconfig.json +29 -12
  323. package/windows/CodePush/CodePushConfig.cpp +3 -3
  324. package/windows/CodePush/CodePushConfig.h +3 -3
  325. package/windows/CodePush/CodePushNativeModule.cpp +27 -27
  326. package/windows/CodePush/CodePushNativeModule.h +4 -4
  327. package/windows/CodePush/CodePushTelemetryManager.cpp +12 -12
  328. package/windows/CodePush/CodePushTelemetryManager.h +1 -1
  329. package/.azurepipelines/build-rn-code-push-1es.yml +0 -104
  330. package/.azurepipelines/test-rn-code-push.yml +0 -94
  331. package/.config/CredScanSuppressions.json +0 -14
  332. package/AlertAdapter.js +0 -24
  333. package/CONTRIBUTING.md +0 -134
  334. package/CodePush.js +0 -671
  335. package/SECURITY.md +0 -41
  336. package/android/app/src/main/java/com/microsoft/codepush/react/CodePushBuilder.java +0 -37
  337. package/android/app/src/main/java/com/microsoft/codepush/react/CodePushDialog.java +0 -102
  338. package/docs/multi-deployment-testing-android.md +0 -148
  339. package/docs/multi-deployment-testing-ios.md +0 -59
  340. package/ios/CodePush/Base64/Base64/MF_Base64Additions.h +0 -34
  341. package/ios/CodePush/Base64/Base64/MF_Base64Additions.m +0 -252
  342. package/ios/CodePush/Base64/README.md +0 -47
  343. package/ios/CodePush/JWT/Core/Algorithms/Base/JWTAlgorithm.h +0 -69
  344. package/ios/CodePush/JWT/Core/Algorithms/Base/JWTAlgorithmFactory.h +0 -16
  345. package/ios/CodePush/JWT/Core/Algorithms/Base/JWTAlgorithmFactory.m +0 -51
  346. package/ios/CodePush/JWT/Core/Algorithms/Base/JWTAlgorithmNone.h +0 -15
  347. package/ios/CodePush/JWT/Core/Algorithms/Base/JWTAlgorithmNone.m +0 -55
  348. package/ios/CodePush/JWT/Core/Algorithms/ESFamily/JWTAlgorithmESBase.h +0 -24
  349. package/ios/CodePush/JWT/Core/Algorithms/ESFamily/JWTAlgorithmESBase.m +0 -41
  350. package/ios/CodePush/JWT/Core/Algorithms/HSFamily/JWTAlgorithmHSBase.h +0 -28
  351. package/ios/CodePush/JWT/Core/Algorithms/HSFamily/JWTAlgorithmHSBase.m +0 -205
  352. package/ios/CodePush/JWT/Core/Algorithms/Holders/JWTAlgorithmDataHolder.h +0 -103
  353. package/ios/CodePush/JWT/Core/Algorithms/Holders/JWTAlgorithmDataHolder.m +0 -322
  354. package/ios/CodePush/JWT/Core/Algorithms/Holders/JWTAlgorithmDataHolderChain.h +0 -37
  355. package/ios/CodePush/JWT/Core/Algorithms/Holders/JWTAlgorithmDataHolderChain.m +0 -145
  356. package/ios/CodePush/JWT/Core/Algorithms/RSFamily/JWTAlgorithmRSBase.h +0 -35
  357. package/ios/CodePush/JWT/Core/Algorithms/RSFamily/JWTAlgorithmRSBase.m +0 -551
  358. package/ios/CodePush/JWT/Core/Algorithms/RSFamily/JWTRSAlgorithm.h +0 -23
  359. package/ios/CodePush/JWT/Core/Algorithms/RSFamily/RSKeys/JWTCryptoKey.h +0 -43
  360. package/ios/CodePush/JWT/Core/Algorithms/RSFamily/RSKeys/JWTCryptoKey.m +0 -230
  361. package/ios/CodePush/JWT/Core/Algorithms/RSFamily/RSKeys/JWTCryptoKeyExtractor.h +0 -31
  362. package/ios/CodePush/JWT/Core/Algorithms/RSFamily/RSKeys/JWTCryptoKeyExtractor.m +0 -113
  363. package/ios/CodePush/JWT/Core/Algorithms/RSFamily/RSKeys/JWTCryptoSecurity.h +0 -38
  364. package/ios/CodePush/JWT/Core/Algorithms/RSFamily/RSKeys/JWTCryptoSecurity.m +0 -500
  365. package/ios/CodePush/JWT/Core/ClaimSet/JWTClaim.h +0 -18
  366. package/ios/CodePush/JWT/Core/ClaimSet/JWTClaim.m +0 -214
  367. package/ios/CodePush/JWT/Core/ClaimSet/JWTClaimsSet.h +0 -23
  368. package/ios/CodePush/JWT/Core/ClaimSet/JWTClaimsSet.m +0 -29
  369. package/ios/CodePush/JWT/Core/ClaimSet/JWTClaimsSetSerializer.h +0 -19
  370. package/ios/CodePush/JWT/Core/ClaimSet/JWTClaimsSetSerializer.m +0 -68
  371. package/ios/CodePush/JWT/Core/ClaimSet/JWTClaimsSetVerifier.h +0 -18
  372. package/ios/CodePush/JWT/Core/ClaimSet/JWTClaimsSetVerifier.m +0 -72
  373. package/ios/CodePush/JWT/Core/Coding/JWTCoding+ResultTypes.h +0 -67
  374. package/ios/CodePush/JWT/Core/Coding/JWTCoding+ResultTypes.m +0 -111
  375. package/ios/CodePush/JWT/Core/Coding/JWTCoding+VersionOne.h +0 -119
  376. package/ios/CodePush/JWT/Core/Coding/JWTCoding+VersionOne.m +0 -307
  377. package/ios/CodePush/JWT/Core/Coding/JWTCoding+VersionThree.h +0 -94
  378. package/ios/CodePush/JWT/Core/Coding/JWTCoding+VersionThree.m +0 -619
  379. package/ios/CodePush/JWT/Core/Coding/JWTCoding+VersionTwo.h +0 -164
  380. package/ios/CodePush/JWT/Core/Coding/JWTCoding+VersionTwo.m +0 -514
  381. package/ios/CodePush/JWT/Core/Coding/JWTCoding.h +0 -24
  382. package/ios/CodePush/JWT/Core/Coding/JWTCoding.m +0 -11
  383. package/ios/CodePush/JWT/Core/FrameworkSupplement/JWT.h +0 -52
  384. package/ios/CodePush/JWT/Core/FrameworkSupplement/Map.modulemap +0 -5
  385. package/ios/CodePush/JWT/Core/Supplement/JWTBase64Coder.h +0 -28
  386. package/ios/CodePush/JWT/Core/Supplement/JWTBase64Coder.m +0 -70
  387. package/ios/CodePush/JWT/Core/Supplement/JWTDeprecations.h +0 -22
  388. package/ios/CodePush/JWT/Core/Supplement/JWTErrorDescription.h +0 -34
  389. package/ios/CodePush/JWT/Core/Supplement/JWTErrorDescription.m +0 -73
  390. package/ios/CodePush/JWT/LICENSE +0 -19
  391. package/ios/CodePush/JWT/README.md +0 -489
  392. package/ios/CodePush/SSZipArchive/Info.plist +0 -26
  393. package/ios/CodePush/SSZipArchive/README.md +0 -1
  394. package/ios/CodePush/SSZipArchive/SSZipArchive.h +0 -178
  395. package/ios/CodePush/SSZipArchive/SSZipArchive.m +0 -1496
  396. package/ios/CodePush/SSZipArchive/SSZipCommon.h +0 -71
  397. package/ios/CodePush/SSZipArchive/Supporting Files/PrivacyInfo.xcprivacy +0 -23
  398. package/ios/CodePush/SSZipArchive/include/ZipArchive.h +0 -25
  399. package/ios/CodePush/SSZipArchive/minizip/LICENSE +0 -17
  400. package/ios/CodePush/SSZipArchive/minizip/mz.h +0 -273
  401. package/ios/CodePush/SSZipArchive/minizip/mz_compat.c +0 -1306
  402. package/ios/CodePush/SSZipArchive/minizip/mz_compat.h +0 -346
  403. package/ios/CodePush/SSZipArchive/minizip/mz_crypt.c +0 -187
  404. package/ios/CodePush/SSZipArchive/minizip/mz_crypt.h +0 -65
  405. package/ios/CodePush/SSZipArchive/minizip/mz_crypt_apple.c +0 -526
  406. package/ios/CodePush/SSZipArchive/minizip/mz_os.c +0 -348
  407. package/ios/CodePush/SSZipArchive/minizip/mz_os.h +0 -176
  408. package/ios/CodePush/SSZipArchive/minizip/mz_os_posix.c +0 -350
  409. package/ios/CodePush/SSZipArchive/minizip/mz_strm.c +0 -556
  410. package/ios/CodePush/SSZipArchive/minizip/mz_strm.h +0 -132
  411. package/ios/CodePush/SSZipArchive/minizip/mz_strm_buf.c +0 -383
  412. package/ios/CodePush/SSZipArchive/minizip/mz_strm_buf.h +0 -42
  413. package/ios/CodePush/SSZipArchive/minizip/mz_strm_mem.c +0 -269
  414. package/ios/CodePush/SSZipArchive/minizip/mz_strm_mem.h +0 -48
  415. package/ios/CodePush/SSZipArchive/minizip/mz_strm_os.h +0 -40
  416. package/ios/CodePush/SSZipArchive/minizip/mz_strm_os_posix.c +0 -203
  417. package/ios/CodePush/SSZipArchive/minizip/mz_strm_pkcrypt.c +0 -334
  418. package/ios/CodePush/SSZipArchive/minizip/mz_strm_pkcrypt.h +0 -46
  419. package/ios/CodePush/SSZipArchive/minizip/mz_strm_split.c +0 -429
  420. package/ios/CodePush/SSZipArchive/minizip/mz_strm_split.h +0 -43
  421. package/ios/CodePush/SSZipArchive/minizip/mz_strm_wzaes.c +0 -360
  422. package/ios/CodePush/SSZipArchive/minizip/mz_strm_wzaes.h +0 -46
  423. package/ios/CodePush/SSZipArchive/minizip/mz_strm_zlib.c +0 -389
  424. package/ios/CodePush/SSZipArchive/minizip/mz_strm_zlib.h +0 -43
  425. package/ios/CodePush/SSZipArchive/minizip/mz_zip.c +0 -2782
  426. package/ios/CodePush/SSZipArchive/minizip/mz_zip.h +0 -262
  427. package/ios/CodePush/SSZipArchive/minizip/mz_zip_rw.c +0 -1942
  428. package/ios/CodePush/SSZipArchive/minizip/mz_zip_rw.h +0 -285
  429. package/package-mixins.js +0 -68
  430. package/request-fetch-adapter.js +0 -52
  431. package/scripts/postlink/android/postlink.js +0 -87
  432. package/scripts/postlink/ios/postlink.js +0 -116
  433. package/scripts/postlink/run.js +0 -11
  434. package/scripts/postunlink/android/postunlink.js +0 -74
  435. package/scripts/postunlink/ios/postunlink.js +0 -87
  436. package/scripts/postunlink/run.js +0 -11
  437. package/scripts/tools/linkToolsAndroid.js +0 -57
  438. package/scripts/tools/linkToolsIos.js +0 -130
  439. package/tslint.json +0 -32
  440. package/typings/react-native-code-push.d.ts +0 -455
  441. package/windows-legacy/CodePush/CodePush.csproj +0 -128
  442. package/windows-legacy/CodePush/CodePushUtils.cs +0 -47
  443. package/windows-legacy/CodePush/FileUtils.cs +0 -40
  444. package/windows-legacy/CodePush/Properties/AssemblyInfo.cs +0 -29
  445. package/windows-legacy/CodePush/Properties/CodePush.rd.xml +0 -33
  446. package/windows-legacy/CodePush/UpdateManager.cs +0 -305
  447. package/windows-legacy/CodePush/UpdateUtils.cs +0 -46
  448. package/windows-legacy/CodePush.Net46/Adapters/Http/HttpProgress.cs +0 -28
  449. package/windows-legacy/CodePush.Net46/Adapters/Storage/ApplicationDataContainer.cs +0 -106
  450. package/windows-legacy/CodePush.Net46/CodePush.Net46.csproj +0 -103
  451. package/windows-legacy/CodePush.Net46/CodePushUtils.cs +0 -158
  452. package/windows-legacy/CodePush.Net46/FileUtils.cs +0 -55
  453. package/windows-legacy/CodePush.Net46/Properties/AssemblyInfo.cs +0 -36
  454. package/windows-legacy/CodePush.Net46/UpdateManager.cs +0 -330
  455. package/windows-legacy/CodePush.Net46/UpdateUtils.cs +0 -70
  456. package/windows-legacy/CodePush.Net46/packages.config +0 -5
  457. package/windows-legacy/CodePush.Net46.Test/ApplicationDataContainerTest.cs +0 -105
  458. package/windows-legacy/CodePush.Net46.Test/CodePush.Net46.Test.csproj +0 -137
  459. package/windows-legacy/CodePush.Net46.Test/Properties/AssemblyInfo.cs +0 -36
  460. package/windows-legacy/CodePush.Net46.Test/TelemetryManagerTest.cs +0 -117
  461. package/windows-legacy/CodePush.Net46.Test/app.config +0 -11
  462. package/windows-legacy/CodePush.Net46.Test/packages.config +0 -4
  463. package/windows-legacy/CodePush.Shared/CodePush.Shared.projitems +0 -22
  464. package/windows-legacy/CodePush.Shared/CodePush.Shared.shproj +0 -13
  465. package/windows-legacy/CodePush.Shared/CodePushConstants.cs +0 -35
  466. package/windows-legacy/CodePush.Shared/CodePushNativeModule.cs +0 -329
  467. package/windows-legacy/CodePush.Shared/CodePushReactPackage.cs +0 -235
  468. package/windows-legacy/CodePush.Shared/CodePushUtils.cs +0 -70
  469. package/windows-legacy/CodePush.Shared/InstallMode.cs +0 -9
  470. package/windows-legacy/CodePush.Shared/MinimumBackgroundListener.cs +0 -44
  471. package/windows-legacy/CodePush.Shared/SettingsManager.cs +0 -148
  472. package/windows-legacy/CodePush.Shared/TelemetryManager.cs +0 -250
  473. package/windows-legacy/CodePush.Shared/UpdateState.cs +0 -9
@@ -0,0 +1,2 @@
1
+ #Wed Jan 22 01:48:35 CET 2025
2
+ java.home=/Users/louislagrange/Applications/Android Studio.app/Contents/jbr/Contents/Home
@@ -1,33 +1,77 @@
1
1
  apply plugin: "com.android.library"
2
2
 
3
- def DEFAULT_COMPILE_SDK_VERSION = 26
4
- def DEFAULT_BUILD_TOOLS_VERSION = "26.0.3"
5
- def DEFAULT_TARGET_SDK_VERSION = 26
6
- def DEFAULT_MIN_SDK_VERSION = 16
3
+ def getExtOrDefault(name) {
4
+ return rootProject.ext.has(name) ? rootProject.ext.get(name) : project.properties["CodePush_" + name]
5
+ }
7
6
 
8
- android {
9
- namespace "com.microsoft.codepush.react"
7
+ def getExtOrIntegerDefault(name) {
8
+ return rootProject.ext.has(name) ? rootProject.ext.get(name) : (project.properties["CodePush_" + name]).toInteger()
9
+ }
10
10
 
11
- compileSdkVersion rootProject.hasProperty('compileSdkVersion') ? rootProject.compileSdkVersion : DEFAULT_COMPILE_SDK_VERSION
12
- buildToolsVersion rootProject.hasProperty('buildToolsVersion') ? rootProject.buildToolsVersion : DEFAULT_BUILD_TOOLS_VERSION
11
+ def supportsNamespace() {
12
+ def parsed = com.android.Version.ANDROID_GRADLE_PLUGIN_VERSION.tokenize('.')
13
+ def major = parsed[0].toInteger()
14
+ def minor = parsed[1].toInteger()
13
15
 
14
- defaultConfig {
15
- minSdkVersion rootProject.hasProperty('minSdkVersion') ? rootProject.minSdkVersion : DEFAULT_MIN_SDK_VERSION
16
- targetSdkVersion rootProject.hasProperty('targetSdkVersion') ? rootProject.targetSdkVersion : DEFAULT_TARGET_SDK_VERSION
17
- versionCode 1
18
- versionName "1.0"
19
- }
16
+ // Namespace support was added in 7.3.0
17
+ return (major == 7 && minor >= 3) || major >= 8
18
+ }
19
+
20
+ android {
21
+ if (supportsNamespace()) {
22
+ namespace "com.appzung.codepush.react"
20
23
 
21
- lintOptions {
22
- abortOnError false
24
+ sourceSets {
25
+ main {
26
+ manifest.srcFile "src/main/AndroidManifestNew.xml"
27
+ }
23
28
  }
29
+ }
30
+
31
+ compileSdkVersion getExtOrIntegerDefault("compileSdkVersion")
24
32
 
25
- defaultConfig {
26
- consumerProguardFiles 'proguard-rules.pro'
33
+ defaultConfig {
34
+ minSdkVersion getExtOrIntegerDefault("minSdkVersion")
35
+ targetSdkVersion getExtOrIntegerDefault("targetSdkVersion")
36
+
37
+ consumerProguardFiles 'proguard-rules.pro'
38
+ }
39
+
40
+ buildFeatures {
41
+ buildConfig true
42
+ }
43
+
44
+ buildTypes {
45
+ release {
46
+ minifyEnabled false
27
47
  }
48
+ }
49
+
50
+ lintOptions {
51
+ disable "GradleCompatible"
52
+ }
53
+
54
+ compileOptions {
55
+ sourceCompatibility JavaVersion.VERSION_1_8
56
+ targetCompatibility JavaVersion.VERSION_1_8
57
+ }
58
+ }
59
+
60
+ repositories {
61
+ mavenCentral()
62
+ google()
28
63
  }
29
64
 
65
+ def isInDevelopment = project.hasProperty('CodePush_development') && project.property('CodePush_development') == "true"
66
+
30
67
  dependencies {
68
+ if (isInDevelopment) {
69
+ implementation("com.facebook.react:react-android:0.71.+")
70
+ } else {
71
+ // For < 0.71, this will be from the local maven repo
72
+ // For > 0.71, this will be replaced by `com.facebook.react:react-android:$version` by react gradle plugin
73
+ //noinspection GradleDynamicVersion
31
74
  implementation "com.facebook.react:react-native:+"
32
- implementation 'com.nimbusds:nimbus-jose-jwt:9.37.3'
75
+ }
76
+ implementation "com.nimbusds:nimbus-jose-jwt:9.37.3"
33
77
  }
@@ -0,0 +1,8 @@
1
+ ## This file must *NOT* be checked into Version Control Systems,
2
+ # as it contains information specific to your local configuration.
3
+ #
4
+ # Location of the SDK. This is only used by Gradle.
5
+ # For customization when using a Version Control System, please read the
6
+ # header note.
7
+ #Wed Jan 22 01:48:35 CET 2025
8
+ sdk.dir=/Users/louislagrange/Library/Android/sdk
@@ -1,5 +1,4 @@
1
- <manifest xmlns:android="http://schemas.android.com/apk/res/android">
2
-
1
+ <manifest xmlns:android="http://schemas.android.com/apk/res/android"
2
+ package="com.appzung.codepush.react">
3
3
  <uses-permission android:name="android.permission.INTERNET" />
4
-
5
4
  </manifest>
@@ -0,0 +1,3 @@
1
+ <manifest xmlns:android="http://schemas.android.com/apk/res/android">
2
+ <uses-permission android:name="android.permission.INTERNET" />
3
+ </manifest>
@@ -1,17 +1,13 @@
1
- package com.microsoft.codepush.react;
1
+ package com.appzung.codepush.react;
2
2
 
3
3
  import android.content.Context;
4
4
  import android.content.pm.PackageInfo;
5
5
  import android.content.pm.PackageManager;
6
- import android.content.res.Resources;
7
6
 
8
7
  import com.facebook.react.ReactInstanceManager;
9
8
  import com.facebook.react.ReactPackage;
10
- import com.facebook.react.bridge.JavaScriptModule;
11
9
  import com.facebook.react.bridge.NativeModule;
12
10
  import com.facebook.react.bridge.ReactApplicationContext;
13
- import com.facebook.react.devsupport.interfaces.DevSupportManager;
14
- import com.facebook.react.modules.debug.interfaces.DeveloperSettings;
15
11
  import com.facebook.react.uimanager.ViewManager;
16
12
 
17
13
  import org.json.JSONException;
@@ -20,7 +16,6 @@ import org.json.JSONObject;
20
16
  import java.io.File;
21
17
  import java.util.ArrayList;
22
18
  import java.util.List;
23
- import java.lang.reflect.Method;
24
19
 
25
20
  public class CodePush implements ReactPackage {
26
21
 
@@ -39,34 +34,39 @@ public class CodePush implements ReactPackage {
39
34
  private SettingsManager mSettingsManager;
40
35
 
41
36
  // Config properties.
42
- private String mDeploymentKey;
37
+ private String mReleaseChannelPublicId;
43
38
  private static String mServerUrl = "https://codepush.appzung.com/";
44
39
 
45
40
  private Context mContext;
46
- private final boolean mIsDebugMode;
41
+ private final boolean mIsDebugMode = BuildConfig.DEBUG;
47
42
 
48
43
  private static String mPublicKey;
49
44
 
50
45
  private static ReactInstanceHolder mReactInstanceHolder;
51
46
  private static CodePush mCurrentInstance;
52
47
 
53
- public CodePush(String deploymentKey, Context context) {
54
- this(deploymentKey, context, false);
55
- }
56
-
57
48
  public static String getServiceUrl() {
58
49
  return mServerUrl;
59
50
  }
60
51
 
61
- public CodePush(String deploymentKey, Context context, boolean isDebugMode) {
52
+ public CodePush(Context context) {
62
53
  mContext = context.getApplicationContext();
63
54
 
55
+ String releaseChannelPublicIdFromStrings = getCustomPropertyFromStringsIfExist("ReleaseChannelPublicId");
56
+ if (releaseChannelPublicIdFromStrings == null) {
57
+ throw new CodePushUnknownException("Missing release channel public ID in strings resource");
58
+ }
59
+
60
+ mReleaseChannelPublicId = releaseChannelPublicIdFromStrings;
61
+
64
62
  mUpdateManager = new CodePushUpdateManager(context.getFilesDir().getAbsolutePath());
65
63
  mTelemetryManager = new CodePushTelemetryManager(mContext);
66
- mDeploymentKey = deploymentKey;
67
- mIsDebugMode = isDebugMode;
68
64
  mSettingsManager = new SettingsManager(mContext);
69
65
 
66
+ if (mIsDebugMode) {
67
+ CodePushUtils.log("Running in DEBUG mode");
68
+ }
69
+
70
70
  if (sAppVersion == null) {
71
71
  try {
72
72
  PackageInfo pInfo = mContext.getPackageManager().getPackageInfo(mContext.getPackageName(), 0);
@@ -78,61 +78,28 @@ public class CodePush implements ReactPackage {
78
78
 
79
79
  mCurrentInstance = this;
80
80
 
81
- String publicKeyFromStrings = getCustomPropertyFromStringsIfExist("PublicKey");
82
- if (publicKeyFromStrings != null) mPublicKey = publicKeyFromStrings;
83
-
84
- String serverUrlFromStrings = getCustomPropertyFromStringsIfExist("ServerUrl");
85
- if (serverUrlFromStrings != null) mServerUrl = serverUrlFromStrings;
86
-
87
- clearDebugCacheIfNeeded(null);
88
- initializeUpdateAfterRestart();
89
- }
90
-
91
- public CodePush(String deploymentKey, Context context, boolean isDebugMode, String serverUrl) {
92
- this(deploymentKey, context, isDebugMode);
93
- mServerUrl = serverUrl;
94
- }
95
-
96
- public CodePush(String deploymentKey, Context context, boolean isDebugMode, int publicKeyResourceDescriptor) {
97
- this(deploymentKey, context, isDebugMode);
98
-
99
- mPublicKey = getPublicKeyByResourceDescriptor(publicKeyResourceDescriptor);
100
- }
101
-
102
- public CodePush(String deploymentKey, Context context, boolean isDebugMode, String serverUrl, Integer publicKeyResourceDescriptor) {
103
- this(deploymentKey, context, isDebugMode);
104
-
105
- if (publicKeyResourceDescriptor != null) {
106
- mPublicKey = getPublicKeyByResourceDescriptor(publicKeyResourceDescriptor);
81
+ String publicKeyFromStrings = getCustomPropertyFromStringsIfExist("SigningPublicKey");
82
+ if (publicKeyFromStrings != null) {
83
+ CodePushUtils.log("Executing CodePush with a signing public key.");
84
+ mPublicKey = publicKeyFromStrings;
107
85
  }
108
86
 
109
- mServerUrl = serverUrl;
110
- }
111
-
112
- private String getPublicKeyByResourceDescriptor(int publicKeyResourceDescriptor){
113
- String publicKey;
114
- try {
115
- publicKey = mContext.getString(publicKeyResourceDescriptor);
116
- } catch (Resources.NotFoundException e) {
117
- throw new CodePushInvalidPublicKeyException(
118
- "Unable to get public key, related resource descriptor " +
119
- publicKeyResourceDescriptor +
120
- " can not be found", e
121
- );
87
+ String serverUrlFromStrings = getCustomPropertyFromStringsIfExist("ServerUrl");
88
+ if (serverUrlFromStrings != null) {
89
+ CodePushUtils.log("Executing CodePush with a custom server URL.");
90
+ mServerUrl = serverUrlFromStrings;
122
91
  }
123
92
 
124
- if (publicKey.isEmpty()) {
125
- throw new CodePushInvalidPublicKeyException("Specified public key is empty");
126
- }
127
- return publicKey;
93
+ clearDebugCacheIfNeeded(false);
94
+ initializeUpdateAfterRestart();
128
95
  }
129
96
 
130
97
  private String getCustomPropertyFromStringsIfExist(String propertyName) {
131
98
  String property;
132
-
99
+
133
100
  String packageName = mContext.getPackageName();
134
101
  int resId = mContext.getResources().getIdentifier("CodePush" + propertyName, "string", packageName);
135
-
102
+
136
103
  if (resId != 0) {
137
104
  property = mContext.getString(resId);
138
105
 
@@ -140,37 +107,15 @@ public class CodePush implements ReactPackage {
140
107
  return property;
141
108
  } else {
142
109
  CodePushUtils.log("Specified " + propertyName + " is empty");
143
- }
144
- }
145
-
146
- return null;
147
- }
148
-
149
- private boolean isLiveReloadEnabled(ReactInstanceManager instanceManager) {
150
- // Use instanceManager for checking if we use LiveReload mode. In this case we should not remove ReactNativeDevBundle.js file
151
- // because we get error with trying to get this after reloading. Issue: https://github.com/microsoft/react-native-code-push/issues/1272
152
- if (instanceManager != null) {
153
- DevSupportManager devSupportManager = instanceManager.getDevSupportManager();
154
- if (devSupportManager != null) {
155
- DeveloperSettings devSettings = devSupportManager.getDevSettings();
156
- Method[] methods = devSettings.getClass().getMethods();
157
- for (Method m : methods) {
158
- if (m.getName().equals("isReloadOnJSChangeEnabled")) {
159
- try {
160
- return (boolean) m.invoke(devSettings);
161
- } catch (Exception x) {
162
- return false;
163
- }
164
- }
165
- }
166
110
  }
167
111
  }
168
112
 
169
- return false;
113
+ return null;
170
114
  }
171
115
 
172
- public void clearDebugCacheIfNeeded(ReactInstanceManager instanceManager) {
173
- if (mIsDebugMode && mSettingsManager.isPendingUpdate(null) && !isLiveReloadEnabled(instanceManager)) {
116
+ public void clearDebugCacheIfNeeded(boolean isLiveReloadEnabled) {
117
+ // Issue: https://github.com/microsoft/react-native-code-push/issues/1272
118
+ if (mIsDebugMode && mSettingsManager.isPendingUpdate(null) && !isLiveReloadEnabled) {
174
119
  // This needs to be kept in sync with https://github.com/facebook/react-native/blob/master/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManager.java#L78
175
120
  File cachedDevBundle = new File(mContext.getFilesDir(), "ReactNativeDevBundle.js");
176
121
  if (cachedDevBundle.exists()) {
@@ -230,8 +175,8 @@ public class CodePush implements ReactPackage {
230
175
  return mContext;
231
176
  }
232
177
 
233
- public String getDeploymentKey() {
234
- return mDeploymentKey;
178
+ public String getReleaseChannelPublicId() {
179
+ return mReleaseChannelPublicId;
235
180
  }
236
181
 
237
182
  public static String getJSBundleFile() {
@@ -393,8 +338,8 @@ public class CodePush implements ReactPackage {
393
338
  return sTestConfigurationFlag;
394
339
  }
395
340
 
396
- public void setDeploymentKey(String deploymentKey) {
397
- mDeploymentKey = deploymentKey;
341
+ public void setReleaseChannelPublicId(String releaseChannelPublicId) {
342
+ mReleaseChannelPublicId = releaseChannelPublicId;
398
343
  }
399
344
 
400
345
  public static void setUsingTestConfiguration(boolean shouldUseTestConfiguration) {
@@ -421,19 +366,12 @@ public class CodePush implements ReactPackage {
421
366
  @Override
422
367
  public List<NativeModule> createNativeModules(ReactApplicationContext reactApplicationContext) {
423
368
  CodePushNativeModule codePushModule = new CodePushNativeModule(reactApplicationContext, this, mUpdateManager, mTelemetryManager, mSettingsManager);
424
- CodePushDialog dialogModule = new CodePushDialog(reactApplicationContext);
425
369
 
426
370
  List<NativeModule> nativeModules = new ArrayList<>();
427
371
  nativeModules.add(codePushModule);
428
- nativeModules.add(dialogModule);
429
372
  return nativeModules;
430
373
  }
431
374
 
432
- // Deprecated in RN v0.47.
433
- public List<Class<? extends JavaScriptModule>> createJSModules() {
434
- return new ArrayList<>();
435
- }
436
-
437
375
  @Override
438
376
  public List<ViewManager> createViewManagers(ReactApplicationContext reactApplicationContext) {
439
377
  return new ArrayList<>();
@@ -1,4 +1,4 @@
1
- package com.microsoft.codepush.react;
1
+ package com.appzung.codepush.react;
2
2
 
3
3
  public class CodePushConstants {
4
4
  public static final String ASSETS_BUNDLE_PREFIX = "assets://";
@@ -1,4 +1,4 @@
1
- package com.microsoft.codepush.react;
1
+ package com.appzung.codepush.react;
2
2
 
3
3
  public enum CodePushInstallMode {
4
4
  IMMEDIATE(0),
@@ -13,4 +13,4 @@ public enum CodePushInstallMode {
13
13
  public int getValue() {
14
14
  return this.value;
15
15
  }
16
- }
16
+ }
@@ -1,4 +1,4 @@
1
- package com.microsoft.codepush.react;
1
+ package com.appzung.codepush.react;
2
2
 
3
3
  class CodePushInvalidPublicKeyException extends RuntimeException {
4
4
 
@@ -9,4 +9,4 @@ class CodePushInvalidPublicKeyException extends RuntimeException {
9
9
  public CodePushInvalidPublicKeyException(String message) {
10
10
  super(message);
11
11
  }
12
- }
12
+ }
@@ -1,4 +1,4 @@
1
- package com.microsoft.codepush.react;
1
+ package com.appzung.codepush.react;
2
2
 
3
3
  public class CodePushInvalidUpdateException extends RuntimeException {
4
4
  public CodePushInvalidUpdateException(String message) {
@@ -1,4 +1,4 @@
1
- package com.microsoft.codepush.react;
1
+ package com.appzung.codepush.react;
2
2
 
3
3
  import java.net.MalformedURLException;
4
4
 
@@ -9,4 +9,4 @@ public class CodePushMalformedDataException extends RuntimeException {
9
9
  public CodePushMalformedDataException(String url, MalformedURLException cause) {
10
10
  super("The package has an invalid downloadUrl: " + url, cause);
11
11
  }
12
- }
12
+ }
@@ -1,11 +1,10 @@
1
- package com.microsoft.codepush.react;
1
+ package com.appzung.codepush.react;
2
2
 
3
3
  import android.app.Activity;
4
4
  import android.content.SharedPreferences;
5
5
  import android.os.AsyncTask;
6
6
  import android.os.Handler;
7
7
  import android.os.Looper;
8
- import android.provider.Settings;
9
8
  import android.view.View;
10
9
 
11
10
  import com.facebook.react.ReactApplication;
@@ -20,9 +19,11 @@ import com.facebook.react.bridge.ReactContextBaseJavaModule;
20
19
  import com.facebook.react.bridge.ReactMethod;
21
20
  import com.facebook.react.bridge.ReadableMap;
22
21
  import com.facebook.react.bridge.WritableMap;
22
+ import com.facebook.react.devsupport.interfaces.DevSupportManager;
23
23
  import com.facebook.react.modules.core.ChoreographerCompat;
24
24
  import com.facebook.react.modules.core.DeviceEventManagerModule;
25
25
  import com.facebook.react.modules.core.ReactChoreographer;
26
+ import com.facebook.react.modules.debug.interfaces.DeveloperSettings;
26
27
 
27
28
  import org.json.JSONArray;
28
29
  import org.json.JSONException;
@@ -30,6 +31,7 @@ import org.json.JSONObject;
30
31
 
31
32
  import java.io.IOException;
32
33
  import java.lang.reflect.Field;
34
+ import java.lang.reflect.Method;
33
35
  import java.util.ArrayList;
34
36
  import java.util.Date;
35
37
  import java.util.HashMap;
@@ -132,10 +134,17 @@ public class CodePushNativeModule extends ReactContextBaseJavaModule {
132
134
  private void loadBundle() {
133
135
  clearLifecycleEventListener();
134
136
  try {
135
- mCodePush.clearDebugCacheIfNeeded(resolveInstanceManager());
137
+ DevSupportManager devSupportManager = null;
138
+ ReactInstanceManager reactInstanceManager = resolveInstanceManager();
139
+ if (reactInstanceManager != null) {
140
+ devSupportManager = reactInstanceManager.getDevSupportManager();
141
+ }
142
+ boolean isLiveReloadEnabled = isLiveReloadEnabled(devSupportManager);
143
+
144
+ mCodePush.clearDebugCacheIfNeeded(isLiveReloadEnabled);
136
145
  } catch(Exception e) {
137
146
  // If we got error in out reflection we should clear debug cache anyway.
138
- mCodePush.clearDebugCacheIfNeeded(null);
147
+ mCodePush.clearDebugCacheIfNeeded(false);
139
148
  }
140
149
 
141
150
  try {
@@ -156,7 +165,7 @@ public class CodePushNativeModule extends ReactContextBaseJavaModule {
156
165
  @Override
157
166
  public void run() {
158
167
  try {
159
- // We don't need to resetReactRootViews anymore
168
+ // We don't need to resetReactRootViews anymore
160
169
  // due the issue https://github.com/facebook/react-native/issues/14533
161
170
  // has been fixed in RN 0.46.0
162
171
  //resetReactRootViews(instanceManager);
@@ -179,6 +188,26 @@ public class CodePushNativeModule extends ReactContextBaseJavaModule {
179
188
  }
180
189
  }
181
190
 
191
+ private boolean isLiveReloadEnabled(DevSupportManager devSupportManager) {
192
+ if (devSupportManager == null) {
193
+ return false;
194
+ }
195
+
196
+ DeveloperSettings devSettings = devSupportManager.getDevSettings();
197
+ Method[] methods = devSettings.getClass().getMethods();
198
+ for (Method m : methods) {
199
+ if (m.getName().equals("isReloadOnJSChangeEnabled")) {
200
+ try {
201
+ return (boolean) m.invoke(devSettings);
202
+ } catch (Exception x) {
203
+ return false;
204
+ }
205
+ }
206
+ }
207
+
208
+ return false;
209
+ }
210
+
182
211
  // This workaround has been implemented in order to fix https://github.com/facebook/react-native/issues/14533
183
212
  // resetReactRootViews allows to call recreateReactContextInBackground without any exceptions
184
213
  // This fix also relates to https://github.com/microsoft/react-native-code-push/issues/878
@@ -365,7 +394,7 @@ public class CodePushNativeModule extends ReactContextBaseJavaModule {
365
394
  WritableMap configMap = Arguments.createMap();
366
395
  configMap.putString("appVersion", mCodePush.getAppVersion());
367
396
  configMap.putString("clientUniqueId", mClientUniqueId);
368
- configMap.putString("deploymentKey", mCodePush.getDeploymentKey());
397
+ configMap.putString("releaseChannelPublicId", mCodePush.getReleaseChannelPublicId());
369
398
  configMap.putString("serverUrl", mCodePush.getServerUrl());
370
399
 
371
400
  // The binary hash may be null in debug builds
@@ -492,7 +521,7 @@ public class CodePushNativeModule extends ReactContextBaseJavaModule {
492
521
  return null;
493
522
  }
494
523
  }
495
-
524
+
496
525
  promise.resolve("");
497
526
  } catch(CodePushUnknownException e) {
498
527
  CodePushUtils.log(e);
@@ -691,7 +720,7 @@ public class CodePushNativeModule extends ReactContextBaseJavaModule {
691
720
 
692
721
  /**
693
722
  * This method clears CodePush's downloaded updates.
694
- * It is needed to switch to a different deployment if the current deployment is more recent.
723
+ * It is needed to switch to a different release channel if the current release channel is more recent.
695
724
  * Note: we don’t recommend to use this method in scenarios other than that (CodePush will call
696
725
  * this method automatically when needed in other cases) as it could lead to unpredictable
697
726
  * behavior.
@@ -1,4 +1,4 @@
1
- package com.microsoft.codepush.react;
1
+ package com.appzung.codepush.react;
2
2
 
3
3
  public final class CodePushNotInitializedException extends RuntimeException {
4
4
 
@@ -9,4 +9,4 @@ public final class CodePushNotInitializedException extends RuntimeException {
9
9
  public CodePushNotInitializedException(String message) {
10
10
  super(message);
11
11
  }
12
- }
12
+ }
@@ -1,4 +1,4 @@
1
- package com.microsoft.codepush.react;
1
+ package com.appzung.codepush.react;
2
2
 
3
3
  import android.content.Context;
4
4
  import android.content.SharedPreferences;
@@ -14,12 +14,12 @@ public class CodePushTelemetryManager {
14
14
  private SharedPreferences mSettings;
15
15
  private final String APP_VERSION_KEY = "appVersion";
16
16
  private final String DEPLOYMENT_FAILED_STATUS = "DeploymentFailed";
17
- private final String DEPLOYMENT_KEY_KEY = "deploymentKey";
17
+ private final String RELEASE_CHANNEL_PUBLIC_ID_KEY = "releaseChannelPublicId";
18
18
  private final String DEPLOYMENT_SUCCEEDED_STATUS = "DeploymentSucceeded";
19
19
  private final String LABEL_KEY = "label";
20
20
  private final String LAST_DEPLOYMENT_REPORT_KEY = "CODE_PUSH_LAST_DEPLOYMENT_REPORT";
21
21
  private final String PACKAGE_KEY = "package";
22
- private final String PREVIOUS_DEPLOYMENT_KEY_KEY = "previousDeploymentKey";
22
+ private final String PREVIOUS_RELEASE_CHANNEL_PUBLIC_ID_KEY = "previousReleaseChannelPublicId";
23
23
  private final String PREVIOUS_LABEL_OR_APP_VERSION_KEY = "previousLabelOrAppVersion";
24
24
  private final String RETRY_DEPLOYMENT_REPORT_KEY = "CODE_PUSH_RETRY_DEPLOYMENT_REPORT";
25
25
  private final String STATUS_KEY = "status";
@@ -39,10 +39,10 @@ public class CodePushTelemetryManager {
39
39
  this.clearRetryStatusReport();
40
40
  reportMap = Arguments.createMap();
41
41
  if (this.isStatusReportIdentifierCodePushLabel(previousStatusReportIdentifier)) {
42
- String previousDeploymentKey = this.getDeploymentKeyFromStatusReportIdentifier(previousStatusReportIdentifier);
42
+ String previousReleaseChannelPublicId = this.getReleaseChannelPublicIdFromStatusReportIdentifier(previousStatusReportIdentifier);
43
43
  String previousLabel = this.getVersionLabelFromStatusReportIdentifier(previousStatusReportIdentifier);
44
44
  reportMap.putString(APP_VERSION_KEY, appVersion);
45
- reportMap.putString(PREVIOUS_DEPLOYMENT_KEY_KEY, previousDeploymentKey);
45
+ reportMap.putString(PREVIOUS_RELEASE_CHANNEL_PUBLIC_ID_KEY, previousReleaseChannelPublicId);
46
46
  reportMap.putString(PREVIOUS_LABEL_OR_APP_VERSION_KEY, previousLabel);
47
47
  } else {
48
48
  // Previous status report was with a binary app version.
@@ -90,11 +90,11 @@ public class CodePushTelemetryManager {
90
90
  this.clearRetryStatusReport();
91
91
  reportMap = Arguments.createMap();
92
92
  if (this.isStatusReportIdentifierCodePushLabel(previousStatusReportIdentifier)) {
93
- String previousDeploymentKey = this.getDeploymentKeyFromStatusReportIdentifier(previousStatusReportIdentifier);
93
+ String previousReleaseChannelPublicId = this.getReleaseChannelPublicIdFromStatusReportIdentifier(previousStatusReportIdentifier);
94
94
  String previousLabel = this.getVersionLabelFromStatusReportIdentifier(previousStatusReportIdentifier);
95
95
  reportMap.putMap(PACKAGE_KEY, currentPackage);
96
96
  reportMap.putString(STATUS_KEY, DEPLOYMENT_SUCCEEDED_STATUS);
97
- reportMap.putString(PREVIOUS_DEPLOYMENT_KEY_KEY, previousDeploymentKey);
97
+ reportMap.putString(PREVIOUS_RELEASE_CHANNEL_PUBLIC_ID_KEY, previousReleaseChannelPublicId);
98
98
  reportMap.putString(PREVIOUS_LABEL_OR_APP_VERSION_KEY, previousLabel);
99
99
  } else {
100
100
  // Previous status report was with a binary app version.
@@ -113,7 +113,7 @@ public class CodePushTelemetryManager {
113
113
  if (statusReport.hasKey(STATUS_KEY) && DEPLOYMENT_FAILED_STATUS.equals(statusReport.getString(STATUS_KEY))) {
114
114
  return;
115
115
  }
116
-
116
+
117
117
  if (statusReport.hasKey(APP_VERSION_KEY)) {
118
118
  saveStatusReportedForIdentifier(statusReport.getString(APP_VERSION_KEY));
119
119
  } else if (statusReport.hasKey(PACKAGE_KEY)) {
@@ -131,7 +131,7 @@ public class CodePushTelemetryManager {
131
131
  mSettings.edit().remove(RETRY_DEPLOYMENT_REPORT_KEY).commit();
132
132
  }
133
133
 
134
- private String getDeploymentKeyFromStatusReportIdentifier(String statusReportIdentifier) {
134
+ private String getReleaseChannelPublicIdFromStatusReportIdentifier(String statusReportIdentifier) {
135
135
  String[] parsedIdentifier = statusReportIdentifier.split(":");
136
136
  if (parsedIdentifier.length > 0) {
137
137
  return parsedIdentifier[0];
@@ -141,12 +141,12 @@ public class CodePushTelemetryManager {
141
141
  }
142
142
 
143
143
  private String getPackageStatusReportIdentifier(ReadableMap updatePackage) {
144
- // Because deploymentKeys can be dynamically switched, we use a
145
- // combination of the deploymentKey and label as the packageIdentifier.
146
- String deploymentKey = CodePushUtils.tryGetString(updatePackage, DEPLOYMENT_KEY_KEY);
144
+ // Because release channels can be dynamically switched, we use a
145
+ // combination of the releaseChannelPublicId and label as the packageIdentifier.
146
+ String releaseChannelPublicId = CodePushUtils.tryGetString(updatePackage, RELEASE_CHANNEL_PUBLIC_ID_KEY);
147
147
  String label = CodePushUtils.tryGetString(updatePackage, LABEL_KEY);
148
- if (deploymentKey != null && label != null) {
149
- return deploymentKey + ":" + label;
148
+ if (releaseChannelPublicId != null && label != null) {
149
+ return releaseChannelPublicId + ":" + label;
150
150
  } else {
151
151
  return null;
152
152
  }
@@ -1,4 +1,4 @@
1
- package com.microsoft.codepush.react;
1
+ package com.appzung.codepush.react;
2
2
 
3
3
  class CodePushUnknownException extends RuntimeException {
4
4
 
@@ -9,4 +9,4 @@ class CodePushUnknownException extends RuntimeException {
9
9
  public CodePushUnknownException(String message) {
10
10
  super(message);
11
11
  }
12
- }
12
+ }
@@ -1,4 +1,4 @@
1
- package com.microsoft.codepush.react;
1
+ package com.appzung.codepush.react;
2
2
 
3
3
  import android.os.Build;
4
4
 
@@ -278,8 +278,8 @@ public class CodePushUpdateManager {
278
278
  throw new CodePushInvalidUpdateException(
279
279
  "Error! Public key was provided but there is no JWT signature within app bundle to verify. " +
280
280
  "Possible reasons, why that might happen: \n" +
281
- "1. You've been released CodePush bundle update using version of CodePush CLI that is not support code signing.\n" +
282
- "2. You've been released CodePush bundle update without providing --privateKeyPath option."
281
+ "1. You released a CodePush bundle update using version of CodePush CLI that does not support code signing.\n" +
282
+ "2. You released a CodePush bundle update without providing --privateKeyPath option."
283
283
  );
284
284
  }
285
285
  } else {
@@ -1,4 +1,4 @@
1
- package com.microsoft.codepush.react;
1
+ package com.appzung.codepush.react;
2
2
 
3
3
  public enum CodePushUpdateState {
4
4
  RUNNING(0),
@@ -12,4 +12,4 @@ public enum CodePushUpdateState {
12
12
  public int getValue() {
13
13
  return this.value;
14
14
  }
15
- }
15
+ }