mirror of
https://gitcode.com/gh_mirrors/re/react-native-pushy.git
synced 2025-10-23 09:38:52 +08:00
update version to 10.30.0, enhance version and build time tracking in UpdateContext and RCTPushy, and add new entry to .gitignore
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -51,3 +51,4 @@ android/bin
|
||||
Example/testHotUpdate/harmony
|
||||
Example/testHotUpdate/android/app/.cxx
|
||||
Example/harmony_use_pushy/libs
|
||||
.cursor/mcp.json
|
||||
|
@@ -36,10 +36,18 @@ public class UpdateContext {
|
||||
this.sp = context.getSharedPreferences("update", Context.MODE_PRIVATE);
|
||||
|
||||
String packageVersion = getPackageVersion();
|
||||
if (!packageVersion.equals(this.sp.getString("packageVersion", null))) {
|
||||
String buildTime = getBuildTime();
|
||||
String storedPackageVersion = this.sp.getString("packageVersion", null);
|
||||
String storedBuildTime = this.sp.getString("buildTime", null);
|
||||
|
||||
boolean packageVersionChanged = !packageVersion.equals(storedPackageVersion);
|
||||
boolean buildTimeChanged = !buildTime.equals(storedBuildTime);
|
||||
|
||||
if (packageVersionChanged || buildTimeChanged) {
|
||||
SharedPreferences.Editor editor = sp.edit();
|
||||
editor.clear();
|
||||
editor.putString("packageVersion", packageVersion);
|
||||
editor.putString("buildTime", buildTime);
|
||||
editor.apply();
|
||||
|
||||
this.cleanUp();
|
||||
|
@@ -16,6 +16,7 @@
|
||||
|
||||
static NSString *const keyPushyInfo = @"REACTNATIVECN_PUSHY_INFO_KEY";
|
||||
static NSString *const paramPackageVersion = @"packageVersion";
|
||||
static NSString *const paramBuildTime = @"buildTime";
|
||||
static NSString *const paramLastVersion = @"lastVersion";
|
||||
static NSString *const paramCurrentVersion = @"currentVersion";
|
||||
static NSString *const paramIsFirstTime = @"isFirstTime";
|
||||
@@ -70,20 +71,28 @@ RCT_EXPORT_MODULE(RCTPushy);
|
||||
{
|
||||
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
|
||||
|
||||
// Check for version changes first
|
||||
NSString *curPackageVersion = [RCTPushy packageVersion];
|
||||
NSString *curBuildTime = [RCTPushy buildTime];
|
||||
NSString *storedPackageVersion = [defaults stringForKey:paramPackageVersion];
|
||||
NSString *storedBuildTime = [defaults stringForKey:paramBuildTime];
|
||||
|
||||
BOOL packageVersionChanged = ![curPackageVersion isEqualToString:storedPackageVersion];
|
||||
BOOL buildTimeChanged = ![curBuildTime isEqualToString:storedBuildTime];
|
||||
|
||||
if (packageVersionChanged || buildTimeChanged) {
|
||||
// Clear all update data and store new versions
|
||||
[defaults setObject:nil forKey:keyPushyInfo];
|
||||
[defaults setObject:nil forKey:keyHashInfo];
|
||||
[defaults setObject:@(YES) forKey:KeyPackageUpdatedMarked];
|
||||
[defaults setObject:curPackageVersion forKey:paramPackageVersion];
|
||||
[defaults setObject:curBuildTime forKey:paramBuildTime];
|
||||
|
||||
// ...need clear files later
|
||||
}
|
||||
|
||||
NSDictionary *pushyInfo = [defaults dictionaryForKey:keyPushyInfo];
|
||||
if (pushyInfo) {
|
||||
NSString *curPackageVersion = [RCTPushy packageVersion];
|
||||
NSString *packageVersion = [pushyInfo objectForKey:paramPackageVersion];
|
||||
|
||||
BOOL needClearPushyInfo = ![curPackageVersion isEqualToString:packageVersion];
|
||||
if (needClearPushyInfo) {
|
||||
[defaults setObject:nil forKey:keyPushyInfo];
|
||||
[defaults setObject:nil forKey:keyHashInfo];
|
||||
[defaults setObject:@(YES) forKey:KeyPackageUpdatedMarked];
|
||||
|
||||
// ...need clear files later
|
||||
}
|
||||
else {
|
||||
NSString *curVersion = pushyInfo[paramCurrentVersion];
|
||||
|
||||
BOOL isFirstTime = [pushyInfo[paramIsFirstTime] boolValue];
|
||||
@@ -127,13 +136,11 @@ RCT_EXPORT_MODULE(RCTPushy);
|
||||
NSDictionary *pushyInfo = [defaults dictionaryForKey:keyPushyInfo];
|
||||
NSString *lastVersion = pushyInfo[paramLastVersion];
|
||||
NSString *curVersion = pushyInfo[paramCurrentVersion];
|
||||
NSString *curPackageVersion = [RCTPushy packageVersion];
|
||||
if (lastVersion.length) {
|
||||
// roll back to last version
|
||||
[defaults setObject:@{paramCurrentVersion:lastVersion,
|
||||
paramIsFirstTime:@(NO),
|
||||
paramIsFirstLoadOk:@(YES),
|
||||
paramPackageVersion:curPackageVersion}
|
||||
paramIsFirstLoadOk:@(YES)}
|
||||
forKey:keyPushyInfo];
|
||||
}
|
||||
else {
|
||||
@@ -296,7 +303,6 @@ RCT_EXPORT_METHOD(setNeedUpdate:(NSDictionary *)options
|
||||
newInfo[paramLastVersion] = lastVersion;
|
||||
newInfo[paramIsFirstTime] = @(YES);
|
||||
newInfo[paramIsFirstLoadOk] = @(NO);
|
||||
newInfo[paramPackageVersion] = [RCTPushy packageVersion];
|
||||
[defaults setObject:newInfo forKey:keyPushyInfo];
|
||||
|
||||
|
||||
|
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "react-native-update",
|
||||
"version": "10.29.9",
|
||||
"version": "10.30.0",
|
||||
"description": "react-native hot update",
|
||||
"main": "src/index",
|
||||
"scripts": {
|
||||
|
Reference in New Issue
Block a user