Compare commits

...

12 Commits

Author SHA1 Message Date
LucasGGamerM
9a0851cb06 Fixing some padding issues with the changelog 2022-12-29 14:00:53 -03:00
LucasGGamerM
ea43070e6d More polishes over the Changelog feature 2022-12-25 16:01:22 -03:00
LucasGGamerM
14cd23c28b Its working. Still needs some polish though! 2022-12-25 15:39:45 -03:00
LucasGGamerM
793668021e Rolling back version graddle for testing the changelog thing. Will bump it later 2022-12-25 15:03:02 -03:00
LucasGGamerM
f0ea6ef43e Revert "Getting changelogs commit number 1"
This reverts commit e8a31cf867.
2022-12-25 14:21:09 -03:00
LucasGGamerM
2b2e4845a1 Revert "Its some steps done"
This reverts commit d66a4c0920.
2022-12-25 14:21:09 -03:00
LucasGGamerM
2dccec99cc Revert "Just no"
This reverts commit c5fcf49eda.
2022-12-25 14:21:09 -03:00
LucasGGamerM
b060894a6c Merge remote-tracking branch 'origin/feature/show_changelog_button' into feature/show_changelog_button 2022-12-25 14:18:59 -03:00
LucasGGamerM
92872edb58 Something is gonna come out of it this time. I am sure of it 2022-12-25 14:16:50 -03:00
LucasGGamerM
c5fcf49eda Just no 2022-12-25 11:58:23 -03:00
LucasGGamerM
d66a4c0920 Its some steps done 2022-12-25 11:11:30 -03:00
LucasGGamerM
e8a31cf867 Getting changelogs commit number 1 2022-12-24 23:41:41 -03:00
6 changed files with 97 additions and 61 deletions

View File

@@ -9,8 +9,8 @@ android {
applicationId "org.joinmastodon.android.moshinda" applicationId "org.joinmastodon.android.moshinda"
minSdk 23 minSdk 23
targetSdk 33 targetSdk 33
versionCode 76 versionCode 75
versionName "1.1.4+fork.76.moshinda" versionName "1.1.4+fork.75.moshinda"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
resConfigs "ar-rSA", "be-rBY", "bn-rBD", "bs-rBA", "ca-rES", "cs-rCZ", "de-rDE", "el-rGR", "es-rES", "eu-rES", "fi-rFI", "fil-rPH", "fr-rFR", "ga-rIE", "gd-rGB", "gl-rES", "hi-rIN", "hr-rHR", "hu-rHU", "hy-rAM", "in-rID", "is-rIS", "it-rIT", "iw-rIL", "ja-rJP", "kab", "ko-rKR", "nl-rNL", "oc-rFR", "pl-rPL", "pt-rBR", "pt-rPT", "ro-rRO", "ru-rRU", "si-rLK", "sl-rSI", "sv-rSE", "th-rTH", "tr-rTR", "uk-rUA", "vi-rVN", "zh-rCN", "zh-rTW" resConfigs "ar-rSA", "be-rBY", "bn-rBD", "bs-rBA", "ca-rES", "cs-rCZ", "de-rDE", "el-rGR", "es-rES", "eu-rES", "fi-rFI", "fil-rPH", "fr-rFR", "ga-rIE", "gd-rGB", "gl-rES", "hi-rIN", "hr-rHR", "hu-rHU", "hy-rAM", "in-rID", "is-rIS", "it-rIT", "iw-rIL", "ja-rJP", "kab", "ko-rKR", "nl-rNL", "oc-rFR", "pl-rPL", "pt-rBR", "pt-rPT", "ro-rRO", "ru-rRU", "si-rLK", "sl-rSI", "sv-rSE", "th-rTH", "tr-rTR", "uk-rUA", "vi-rVN", "zh-rCN", "zh-rTW"
} }

View File

@@ -61,6 +61,7 @@ public class GithubSelfUpdaterImpl extends GithubSelfUpdater{
info=new UpdateInfo(); info=new UpdateInfo();
info.version=prefs.getString("version", null); info.version=prefs.getString("version", null);
info.size=prefs.getLong("apkSize", 0); info.size=prefs.getLong("apkSize", 0);
info.changelog=prefs.getString("changelog", null);
downloadID=prefs.getLong("downloadID", 0); downloadID=prefs.getLong("downloadID", 0);
if(downloadID==0 || !getUpdateApkFile().exists()){ if(downloadID==0 || !getUpdateApkFile().exists()){
state=UpdateState.UPDATE_AVAILABLE; state=UpdateState.UPDATE_AVAILABLE;
@@ -84,6 +85,7 @@ public class GithubSelfUpdaterImpl extends GithubSelfUpdater{
.remove("apkURL") .remove("apkURL")
.remove("checkedByBuild") .remove("checkedByBuild")
.remove("downloadID") .remove("downloadID")
.remove("changelog")
.apply(); .apply();
} }
} }
@@ -116,6 +118,7 @@ public class GithubSelfUpdaterImpl extends GithubSelfUpdater{
Call call=MastodonAPIController.getHttpClient().newCall(req); Call call=MastodonAPIController.getHttpClient().newCall(req);
try(Response resp=call.execute()){ try(Response resp=call.execute()){
JsonObject obj=JsonParser.parseReader(resp.body().charStream()).getAsJsonObject(); JsonObject obj=JsonParser.parseReader(resp.body().charStream()).getAsJsonObject();
String changelog=obj.get("body").getAsString();
String tag=obj.get("tag_name").getAsString(); String tag=obj.get("tag_name").getAsString();
Pattern pattern=Pattern.compile("v?(\\d+)\\.(\\d+)\\.(\\d+)\\+fork\\.(\\d+)"); Pattern pattern=Pattern.compile("v?(\\d+)\\.(\\d+)\\.(\\d+)\\+fork\\.(\\d+)");
Matcher matcher=pattern.matcher(tag); Matcher matcher=pattern.matcher(tag);
@@ -151,6 +154,7 @@ public class GithubSelfUpdaterImpl extends GithubSelfUpdater{
UpdateInfo info=new UpdateInfo(); UpdateInfo info=new UpdateInfo();
info.size=size; info.size=size;
info.version=version; info.version=version;
info.changelog=changelog;
this.info=info; this.info=info;
getPrefs().edit() getPrefs().edit()
@@ -158,6 +162,7 @@ public class GithubSelfUpdaterImpl extends GithubSelfUpdater{
.putString("version", version) .putString("version", version)
.putString("apkURL", url) .putString("apkURL", url)
.putInt("checkedByBuild", BuildConfig.VERSION_CODE) .putInt("checkedByBuild", BuildConfig.VERSION_CODE)
.putString("changelog", changelog)
.remove("downloadID") .remove("downloadID")
.apply(); .apply();

View File

@@ -839,7 +839,7 @@ public class SettingsFragment extends MastodonToolbarFragment{
private class UpdateViewHolder extends BindableViewHolder<UpdateItem>{ private class UpdateViewHolder extends BindableViewHolder<UpdateItem>{
private final TextView text; private final TextView text, changelog;
private final Button button; private final Button button;
private final ImageButton cancelBtn; private final ImageButton cancelBtn;
private final ProgressBar progress; private final ProgressBar progress;
@@ -850,6 +850,7 @@ public class SettingsFragment extends MastodonToolbarFragment{
public UpdateViewHolder(){ public UpdateViewHolder(){
super(getActivity(), R.layout.item_settings_update, list); super(getActivity(), R.layout.item_settings_update, list);
text=findViewById(R.id.text); text=findViewById(R.id.text);
changelog=findViewById(R.id.changelog);
button=findViewById(R.id.button); button=findViewById(R.id.button);
cancelBtn=findViewById(R.id.cancel_btn); cancelBtn=findViewById(R.id.cancel_btn);
progress=findViewById(R.id.progress); progress=findViewById(R.id.progress);
@@ -893,6 +894,8 @@ public class SettingsFragment extends MastodonToolbarFragment{
progress.setVisibility(View.GONE); progress.setVisibility(View.GONE);
progress.removeCallbacks(progressUpdater); progress.removeCallbacks(progressUpdater);
} }
changelog.setText(info.changelog);
// changelog.setText(getString(R.string.sk_changelog, info.changelog));
} }
private void updateProgress(){ private void updateProgress(){

View File

@@ -50,6 +50,7 @@ public abstract class GithubSelfUpdater{
} }
public static class UpdateInfo{ public static class UpdateInfo{
public String changelog;
public String version; public String version;
public long size; public long size;
} }

View File

@@ -7,69 +7,95 @@
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="match_parent"
android:minHeight="64dp"
android:gravity="center_vertical"
android:paddingStart="16dp"
android:background="@drawable/bg_settings_update" android:background="@drawable/bg_settings_update"
android:orientation="horizontal"> android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/bg_settings_update"
android:gravity="center_vertical"
android:minHeight="64dp"
android:orientation="horizontal"
android:paddingStart="16dp">
<TextView
android:id="@+id/text"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:layout_marginEnd="4dp"
android:layout_marginBottom="16dp"
android:layout_weight="1"
android:textAppearance="@style/m3_body_medium"
tools:text="@string/sk_update_available" />
<FrameLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical|end"
android:background="?android:selectableItemBackground"
android:paddingLeft="16dp"
android:paddingRight="16dp"
android:stateListAnimator="@null"
android:textAllCaps="true"
android:textColor="?android:textColorPrimary"
android:textSize="14dp"
tools:text="@string/install_update" />
<ImageButton
android:id="@+id/cancel_btn"
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_gravity="end|center_vertical"
android:layout_marginEnd="16dp"
android:background="@drawable/bg_update_download_progress"
android:contentDescription="@string/cancel"
android:src="@drawable/ic_fluent_dismiss_16_filled"
android:tint="?colorSearchHint"
android:visibility="gone" />
<ProgressBar
android:id="@+id/progress"
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_gravity="end|center_vertical"
android:layout_marginEnd="16dp"
android:indeterminate="false"
android:indeterminateOnly="false"
android:max="1000"
android:padding="0dp"
android:progressDrawable="@drawable/update_progress"
android:visibility="gone" />
</FrameLayout>
</LinearLayout>
<TextView <TextView
android:id="@+id/text" android:id="@+id/changelog_header"
android:layout_width="0dp" android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColor="?android:textColorPrimary"
android:textStyle="bold"
android:textSize="16dp"
android:paddingStart="16dp"
android:text="@string/sk_changelog" />
<TextView
android:id="@+id/changelog"
android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_marginEnd="4dp"
android:layout_marginTop="16dp"
android:layout_marginBottom="16dp"
android:textAppearance="@style/m3_body_medium" android:textAppearance="@style/m3_body_medium"
tools:text="@string/sk_update_available"/> android:padding="16dp"
android:text="Changelog" />
<FrameLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical|end"
android:background="?android:selectableItemBackground"
android:textColor="?android:textColorPrimary"
android:textAllCaps="true"
android:textSize="14dp"
android:paddingLeft="16dp"
android:paddingRight="16dp"
android:stateListAnimator="@null"
tools:text="@string/install_update"/>
<ImageButton
android:id="@+id/cancel_btn"
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_gravity="end|center_vertical"
android:layout_marginEnd="16dp"
android:background="@drawable/bg_update_download_progress"
android:tint="?colorSearchHint"
android:contentDescription="@string/cancel"
android:visibility="gone"
android:src="@drawable/ic_fluent_dismiss_16_filled"/>
<ProgressBar
android:id="@+id/progress"
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_gravity="end|center_vertical"
android:layout_marginEnd="16dp"
android:progressDrawable="@drawable/update_progress"
android:max="1000"
android:padding="0dp"
android:visibility="gone"
android:indeterminateOnly="false"
android:indeterminate="false"/>
</FrameLayout>
</LinearLayout> </LinearLayout>
</FrameLayout> </FrameLayout>

View File

@@ -27,6 +27,7 @@
<string name="sk_federated_timeline_info_banner">These are the most recent posts by the people in your federation.</string> <string name="sk_federated_timeline_info_banner">These are the most recent posts by the people in your federation.</string>
<string name="sk_update_available">Moshidon %s is ready to download.</string> <string name="sk_update_available">Moshidon %s is ready to download.</string>
<string name="sk_update_ready">Moshidon %s is downloaded and ready to install.</string> <string name="sk_update_ready">Moshidon %s is downloaded and ready to install.</string>
<string name="sk_changelog">Changelog:</string>
<string name="sk_check_for_update">Check for update</string> <string name="sk_check_for_update">Check for update</string>
<string name="sk_no_update_available">No update available</string> <string name="sk_no_update_available">No update available</string>
<string name="sk_list_timelines">Lists</string> <string name="sk_list_timelines">Lists</string>