diff --git a/mastodon/src/github/java/org/joinmastodon/android/updater/GithubSelfUpdaterImpl.java b/mastodon/src/github/java/org/joinmastodon/android/updater/GithubSelfUpdaterImpl.java index 307fd7959..cb42ab67d 100644 --- a/mastodon/src/github/java/org/joinmastodon/android/updater/GithubSelfUpdaterImpl.java +++ b/mastodon/src/github/java/org/joinmastodon/android/updater/GithubSelfUpdaterImpl.java @@ -40,6 +40,7 @@ import okhttp3.Response; public class GithubSelfUpdaterImpl extends GithubSelfUpdater{ private static final long CHECK_PERIOD=6*3600*1000L; private static final String TAG="GithubSelfUpdater"; + private static String changelog; private UpdateState state=UpdateState.NO_UPDATE; private UpdateInfo info; @@ -109,6 +110,11 @@ public class GithubSelfUpdaterImpl extends GithubSelfUpdater{ MastodonAPIController.runInBackground(this::actuallyCheckForUpdates); } + @Override + public void getChangelog(){ + MastodonAPIController.runInBackground(this::actuallyGetChangelog); + } + private void actuallyCheckForUpdates(){ Request req=new Request.Builder() .url("https://api.github.com/repos/LucasGGamerM/moshidon/releases/latest") @@ -173,7 +179,7 @@ public class GithubSelfUpdaterImpl extends GithubSelfUpdater{ } } - public String getChangelog(){ + public void actuallyGetChangelog(){ String changelog = null; Request req=new Request.Builder() .url("https://api.github.com/repos/LucasGGamerM/moshidon/releases/latest") @@ -184,15 +190,23 @@ public class GithubSelfUpdaterImpl extends GithubSelfUpdater{ changelog=obj.get("body").getAsString(); if(changelog == null){ Log.w(TAG, "No changelog available"); - return null; + return; } - return changelog; }catch(Exception x){ Log.w(TAG, "getChangelog: ", x); + }finally{ +// setState(changelog==null ? UpdateState.NO_UPDATE : UpdateState.UPDATE_AVAILABLE); + setChangelog(changelog); } - return changelog; } + private void setChangelog(String changelog){ + this.changelog = changelog; + } + + public String getChangelogText(){ + return changelog; + } private void setState(UpdateState state){ this.state=state; diff --git a/mastodon/src/main/java/org/joinmastodon/android/fragments/SettingsFragment.java b/mastodon/src/main/java/org/joinmastodon/android/fragments/SettingsFragment.java index 6d62d9438..29051c15c 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/fragments/SettingsFragment.java +++ b/mastodon/src/main/java/org/joinmastodon/android/fragments/SettingsFragment.java @@ -3,6 +3,7 @@ package org.joinmastodon.android.fragments; import android.animation.ObjectAnimator; import android.annotation.SuppressLint; import android.app.Activity; +import android.app.AlertDialog; import android.content.Intent; import android.graphics.Bitmap; import android.graphics.Canvas; @@ -267,7 +268,9 @@ public class SettingsFragment extends MastodonToolbarFragment{ } private void onGetChangelogClick(){ - GithubSelfUpdater.getInstance().getChangelog(); + AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(getContext()); + alertDialogBuilder.setTitle("Something TODO remove this"); + alertDialogBuilder.setMessage(GithubSelfUpdater.getInstance().getChangelog()); } private void onThemePreferenceClick(GlobalUserPreferences.ThemePreference theme){