diff --git a/TMessagesProj/src/main/java/org/telegram/ui/DialogsActivity.java b/TMessagesProj/src/main/java/org/telegram/ui/DialogsActivity.java index 9ac025eb5..2a417d40e 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/DialogsActivity.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/DialogsActivity.java @@ -166,7 +166,6 @@ import org.telegram.ui.Components.ViewPagerFixed; import java.util.ArrayList; -import cn.hutool.core.date.DateTime; import kotlin.Unit; import tw.nekomimi.nekogram.BottomBuilder; import tw.nekomimi.nekogram.InternalUpdater; @@ -3514,7 +3513,7 @@ public class DialogsActivity extends BaseFragment implements NotificationCenter. PrivacyUtil.postCheckAll(getParentActivity(), currentAccount); UpdateUtil.postCheckFollowChannel(getParentActivity(), currentAccount); - if (!BuildVars.isFdroid && NekoXConfig.autoUpdateReleaseChannel != 0 && DateTime.now().compareTo(NekoXConfig.nextUpdateCheck) > 0) + if (!BuildVars.isFdroid && NekoXConfig.autoUpdateReleaseChannel != 0 && System.currentTimeMillis() / 1000 > NekoXConfig.nextUpdateCheck) UIUtil.runOnIoDispatcher(() -> InternalUpdater.checkUpdate(getParentActivity(), true), 6000); return fragmentView; diff --git a/TMessagesProj/src/main/java/tw/nekomimi/nekogram/InternalUpdater.java b/TMessagesProj/src/main/java/tw/nekomimi/nekogram/InternalUpdater.java index 87e48d89f..261e7abda 100644 --- a/TMessagesProj/src/main/java/tw/nekomimi/nekogram/InternalUpdater.java +++ b/TMessagesProj/src/main/java/tw/nekomimi/nekogram/InternalUpdater.java @@ -14,9 +14,9 @@ import org.telegram.messenger.R; import org.telegram.messenger.browser.Browser; import org.telegram.ui.ActionBar.AlertDialog; -import cn.hutool.core.date.DateField; -import cn.hutool.core.date.DatePattern; -import cn.hutool.core.date.DateTime; +import java.text.SimpleDateFormat; +import java.util.Locale; + import cn.hutool.http.HttpRequest; import tw.nekomimi.nekogram.utils.FileUtil; @@ -51,7 +51,7 @@ public class InternalUpdater { if (BuildVars.isFdroid) return; try { - NekoXConfig.setNextUpdateCheck(DateTime.now().offsetNew(DateField.HOUR, 24)); + NekoXConfig.setNextUpdateCheck(System.currentTimeMillis() / 1000 + 24 * 3600); String ret = HttpRequest.get(API_URL_RELEASE).header("accept", "application/vnd.github.v3+json").execute().body(); ReleaseMetadata[] releases = new Gson().fromJson(ret, ReleaseMetadata[].class); @@ -81,7 +81,12 @@ public class InternalUpdater { AlertDialog.Builder builder = new AlertDialog.Builder(ctx); builder.setTitle(LocaleController.getString("VersionUpdateTitle", R.string.VersionUpdateTitle)); - String message = finalRelease.name + " " + LocaleController.formatDateChat(DateTime.of(finalRelease.published_at, DatePattern.UTC_PATTERN).toTimestamp().getTime() / 1000) + "\n\n"; + String message = null; + try { + message = finalRelease.name + " " + LocaleController.formatDateChat(new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'", Locale.US).parse(finalRelease.published_at).getTime() / 1000) + "\n\n"; + } catch (Exception e) { + FileLog.e(e); + } if (apk == null) message += LocaleController.getString("VersionUpdateVariantNotMatch", R.string.VersionUpdateVariantNotMatch); else @@ -95,7 +100,7 @@ public class InternalUpdater { Browser.openUrl(ctx, finalRelease.html_url); }); builder.setNeutralButton(LocaleController.getString("VersionUpdateIgnore", R.string.VersionUpdateIgnore), (dialog, which) -> NekoXConfig.setIgnoredUpdateTag(finalRelease.name)); - builder.setNegativeButton(LocaleController.getString("VersionUpdateNotNow", R.string.VersionUpdateNotNow), (dialog, which) -> NekoXConfig.setNextUpdateCheck(DateTime.now().offsetNew(DateField.HOUR, 24 * 3))); + builder.setNegativeButton(LocaleController.getString("VersionUpdateNotNow", R.string.VersionUpdateNotNow), (dialog, which) -> NekoXConfig.setNextUpdateCheck(System.currentTimeMillis() / 1000 + 3 * 24 * 3600)); builder.show(); }); } catch (Exception e) { diff --git a/TMessagesProj/src/main/java/tw/nekomimi/nekogram/NekoXConfig.java b/TMessagesProj/src/main/java/tw/nekomimi/nekogram/NekoXConfig.java index ef11b6bd4..a781e460e 100644 --- a/TMessagesProj/src/main/java/tw/nekomimi/nekogram/NekoXConfig.java +++ b/TMessagesProj/src/main/java/tw/nekomimi/nekogram/NekoXConfig.java @@ -41,7 +41,7 @@ public class NekoXConfig { public static int autoUpdateReleaseChannel = preferences.getInt("autoUpdateReleaseChannel", 2); public static String ignoredUpdateTag = preferences.getString("ignoredUpdateTag", ""); - public static DateTime nextUpdateCheck = DateTime.of(preferences.getString("nextUpdateCheck", "2021-01-01T00:00:00Z"), DatePattern.UTC_PATTERN); + public static long nextUpdateCheck = preferences.getLong("nextUpdateCheckTimestamp", 0); public static void toggleDeveloperMode() { @@ -172,9 +172,8 @@ public class NekoXConfig { preferences.edit().putString("ignoredUpdateTag", ignoredUpdateTag = ignored).apply(); } - public static void setNextUpdateCheck(DateTime dateTime) { - nextUpdateCheck = dateTime; - preferences.edit().putString("nextUpdateCheck", dateTime.toString(DatePattern.UTC_PATTERN)).apply(); + public static void setNextUpdateCheck(long timestamp) { + preferences.edit().putLong("nextUpdateCheckTimestamp", nextUpdateCheck = timestamp).apply(); } } \ No newline at end of file