fix hutool crash

This commit is contained in:
luvletter2333 2021-05-09 23:51:55 +08:00
parent 651c396410
commit 02395f334e
No known key found for this signature in database
GPG Key ID: BFD68B892BECC1D8
3 changed files with 15 additions and 12 deletions

View File

@ -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;

View File

@ -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) {

View File

@ -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();
}
}