From efffc05a8910ed926453654392d2fecab9d0afdc Mon Sep 17 00:00:00 2001 From: M M Arif Date: Sat, 14 Sep 2019 13:20:00 +0500 Subject: [PATCH 1/3] fix crash on tabs, other ui fixes --- .../gitnex/activities/RepoDetailActivity.java | 2 +- .../gitnex/fragments/RepoInfoFragment.java | 180 +++++++++--------- app/src/main/res/layout/branches_list.xml | 6 +- app/src/main/res/layout/labels_list.xml | 2 +- app/src/main/res/layout/milestones_list.xml | 2 +- app/src/main/res/layout/releases_list.xml | 2 +- .../res/layout/repo_detail_issues_list.xml | 2 +- 7 files changed, 98 insertions(+), 98 deletions(-) diff --git a/app/src/main/java/org/mian/gitnex/activities/RepoDetailActivity.java b/app/src/main/java/org/mian/gitnex/activities/RepoDetailActivity.java index c0003bc8..02a227d3 100644 --- a/app/src/main/java/org/mian/gitnex/activities/RepoDetailActivity.java +++ b/app/src/main/java/org/mian/gitnex/activities/RepoDetailActivity.java @@ -172,7 +172,7 @@ public class RepoDetailActivity extends AppCompatActivity implements RepoBottomS public class SectionsPagerAdapter extends FragmentStatePagerAdapter { SectionsPagerAdapter(FragmentManager fm) { - super(fm); + super(fm, BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT); } @NonNull diff --git a/app/src/main/java/org/mian/gitnex/fragments/RepoInfoFragment.java b/app/src/main/java/org/mian/gitnex/fragments/RepoInfoFragment.java index eb2388a1..7bbac01e 100644 --- a/app/src/main/java/org/mian/gitnex/fragments/RepoInfoFragment.java +++ b/app/src/main/java/org/mian/gitnex/fragments/RepoInfoFragment.java @@ -1,7 +1,6 @@ package org.mian.gitnex.fragments; import android.content.Context; -import android.graphics.Color; import android.net.Uri; import android.os.Bundle; import androidx.annotation.NonNull; @@ -15,7 +14,6 @@ import ru.noties.markwon.core.CorePlugin; import ru.noties.markwon.core.MarkwonTheme; import ru.noties.markwon.ext.strikethrough.StrikethroughPlugin; import ru.noties.markwon.ext.tables.TablePlugin; -import ru.noties.markwon.ext.tables.TableTheme; import ru.noties.markwon.ext.tasklist.TaskListPlugin; import ru.noties.markwon.html.HtmlPlugin; import ru.noties.markwon.image.ImagesPlugin; @@ -220,53 +218,57 @@ public class RepoInfoFragment extends Fragment { UserRepositories repoInfo = response.body(); - if (response.isSuccessful()) { + if (isAdded()) { - if (response.code() == 200) { + if (response.isSuccessful()) { - assert repoInfo != null; - repoNameInfo.setText(repoInfo.getName()); - repoOwnerInfo.setText(owner); - repoDescriptionInfo.setText(repoInfo.getDescription()); - repoWebsiteInfo.setText(repoInfo.getWebsite()); - repoSizeInfo.setText(AppUtil.formatFileSize(repoInfo.getSize())); - repoDefaultBranchInfo.setText(repoInfo.getDefault_branch()); - repoSshUrlInfo.setText(repoInfo.getSsh_url()); - repoCloneUrlInfo.setText(repoInfo.getClone_url()); - repoRepoUrlInfo.setText(repoInfo.getHtml_url()); - repoForksCountInfo.setText(repoInfo.getForks_count()); + if (response.code() == 200) { - switch (timeFormat) { - case "pretty": { - PrettyTime prettyTime = new PrettyTime(new Locale(locale)); - String createdTime = prettyTime.format(repoInfo.getCreated_at()); - repoCreatedAtInfo.setText(createdTime); - repoCreatedAtInfo.setOnClickListener(new ClickListener(TimeHelper.customDateFormatForToastDateFormat(repoInfo.getCreated_at()), getContext())); - break; - } - case "normal": { - DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd '" + getResources().getString(R.string.timeAtText) + "' HH:mm", new Locale(locale)); - String createdTime = formatter.format(repoInfo.getCreated_at()); - repoCreatedAtInfo.setText(createdTime); - break; - } - case "normal1": { - DateFormat formatter = new SimpleDateFormat("dd-MM-yyyy '" + getResources().getString(R.string.timeAtText) + "' HH:mm", new Locale(locale)); - String createdTime = formatter.format(repoInfo.getCreated_at()); - repoCreatedAtInfo.setText(createdTime); - break; + assert repoInfo != null; + repoNameInfo.setText(repoInfo.getName()); + repoOwnerInfo.setText(owner); + repoDescriptionInfo.setText(repoInfo.getDescription()); + repoWebsiteInfo.setText(repoInfo.getWebsite()); + repoSizeInfo.setText(AppUtil.formatFileSize(repoInfo.getSize())); + repoDefaultBranchInfo.setText(repoInfo.getDefault_branch()); + repoSshUrlInfo.setText(repoInfo.getSsh_url()); + repoCloneUrlInfo.setText(repoInfo.getClone_url()); + repoRepoUrlInfo.setText(repoInfo.getHtml_url()); + repoForksCountInfo.setText(repoInfo.getForks_count()); + + switch (timeFormat) { + case "pretty": { + PrettyTime prettyTime = new PrettyTime(new Locale(locale)); + String createdTime = prettyTime.format(repoInfo.getCreated_at()); + repoCreatedAtInfo.setText(createdTime); + repoCreatedAtInfo.setOnClickListener(new ClickListener(TimeHelper.customDateFormatForToastDateFormat(repoInfo.getCreated_at()), getContext())); + break; + } + case "normal": { + DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd '" + getResources().getString(R.string.timeAtText) + "' HH:mm", new Locale(locale)); + String createdTime = formatter.format(repoInfo.getCreated_at()); + repoCreatedAtInfo.setText(createdTime); + break; + } + case "normal1": { + DateFormat formatter = new SimpleDateFormat("dd-MM-yyyy '" + getResources().getString(R.string.timeAtText) + "' HH:mm", new Locale(locale)); + String createdTime = formatter.format(repoInfo.getCreated_at()); + repoCreatedAtInfo.setText(createdTime); + break; + } } + + mProgressBar.setVisibility(View.GONE); + pageContent.setVisibility(View.VISIBLE); + } - mProgressBar.setVisibility(View.GONE); - pageContent.setVisibility(View.VISIBLE); - + } + else { + Log.e("onFailure", String.valueOf(response.code())); } } - else { - Log.e("onFailure", String.valueOf(response.code())); - } } @@ -292,58 +294,58 @@ public class RepoInfoFragment extends Fragment { @Override public void onResponse(@NonNull Call call, @NonNull retrofit2.Response response) { - if (response.code() == 200) { + if (isAdded()) { - final Markwon markwon = Markwon.builder(Objects.requireNonNull(getContext())) - .usePlugin(CorePlugin.create()) - .usePlugin(OkHttpImagesPlugin.create(new OkHttpClient())) - .usePlugin(ImagesPlugin.createWithAssets(getContext())) - .usePlugin(new AbstractMarkwonPlugin() { - @Override - public void configureTheme(@NonNull MarkwonTheme.Builder builder) { - builder - .codeTextColor(tinyDb.getInt("codeBlockColor")) - .codeBackgroundColor(tinyDb.getInt("codeBlockBackground")) - .linkColor(getResources().getColor(R.color.lightBlue)); - } - }) - .usePlugin(TablePlugin.create(getContext())) - .usePlugin(TaskListPlugin.create(getContext())) - .usePlugin(HtmlPlugin.create()) - .usePlugin(GifPlugin.create()) - .usePlugin(StrikethroughPlugin.create()) - .build(); + if (response.code() == 200) { + + final Markwon markwon = Markwon.builder(Objects.requireNonNull(getContext())) + .usePlugin(CorePlugin.create()) + .usePlugin(OkHttpImagesPlugin.create(new OkHttpClient())) + .usePlugin(ImagesPlugin.createWithAssets(getContext())) + .usePlugin(new AbstractMarkwonPlugin() { + @Override + public void configureTheme(@NonNull MarkwonTheme.Builder builder) { + builder + .codeTextColor(tinyDb.getInt("codeBlockColor")) + .codeBackgroundColor(tinyDb.getInt("codeBlockBackground")) + .linkColor(getResources().getColor(R.color.lightBlue)); + } + }) + .usePlugin(TablePlugin.create(getContext())) + .usePlugin(TaskListPlugin.create(getContext())) + .usePlugin(HtmlPlugin.create()) + .usePlugin(GifPlugin.create()) + .usePlugin(StrikethroughPlugin.create()) + .build(); + + CharSequence bodyWithMD = null; + if (response.body() != null) { + bodyWithMD = markwon.toMarkdown(response.body()); + } + repoFileContents.setText(bodyWithMD); + + + } else if (response.code() == 401) { + + AlertDialogs.authorizationTokenRevokedDialog(ctx, getResources().getString(R.string.alertDialogTokenRevokedTitle), + getResources().getString(R.string.alertDialogTokenRevokedMessage), + getResources().getString(R.string.alertDialogTokenRevokedCopyNegativeButton), + getResources().getString(R.string.alertDialogTokenRevokedCopyPositiveButton)); + + } else if (response.code() == 403) { + + Toasty.info(ctx, ctx.getString(R.string.authorizeError)); + + } else if (response.code() == 404) { + + fileContentsFrameHeader.setVisibility(View.GONE); + fileContentsFrame.setVisibility(View.GONE); + + } else { + + Toasty.info(getContext(), getString(R.string.genericError)); - CharSequence bodyWithMD = null; - if (response.body() != null) { - bodyWithMD = markwon.toMarkdown(response.body()); } - repoFileContents.setText(bodyWithMD); - - } - else if(response.code() == 401) { - - AlertDialogs.authorizationTokenRevokedDialog(ctx, getResources().getString(R.string.alertDialogTokenRevokedTitle), - getResources().getString(R.string.alertDialogTokenRevokedMessage), - getResources().getString(R.string.alertDialogTokenRevokedCopyNegativeButton), - getResources().getString(R.string.alertDialogTokenRevokedCopyPositiveButton)); - - } - else if(response.code() == 403) { - - Toasty.info(ctx, ctx.getString(R.string.authorizeError)); - - } - else if(response.code() == 404) { - - fileContentsFrameHeader.setVisibility(View.GONE); - fileContentsFrame.setVisibility(View.GONE); - - } - else { - - Toasty.info(getContext(), getString(R.string.genericError)); - } } diff --git a/app/src/main/res/layout/branches_list.xml b/app/src/main/res/layout/branches_list.xml index f13d3e9e..df1db7f5 100644 --- a/app/src/main/res/layout/branches_list.xml +++ b/app/src/main/res/layout/branches_list.xml @@ -9,11 +9,9 @@ diff --git a/app/src/main/res/layout/milestones_list.xml b/app/src/main/res/layout/milestones_list.xml index 62123805..d38de6c9 100644 --- a/app/src/main/res/layout/milestones_list.xml +++ b/app/src/main/res/layout/milestones_list.xml @@ -9,7 +9,7 @@ diff --git a/app/src/main/res/layout/releases_list.xml b/app/src/main/res/layout/releases_list.xml index fe785a0d..08e26bfd 100644 --- a/app/src/main/res/layout/releases_list.xml +++ b/app/src/main/res/layout/releases_list.xml @@ -11,7 +11,7 @@ android:layout_alignParentTop="true" android:fitsSystemWindows="true" android:orientation="vertical" - android:padding="15dp" + android:layout_margin="15dp" android:theme="@style/AppTheme"> From d4a5d5ee8c675b38cd121e0113d31379271885c6 Mon Sep 17 00:00:00 2001 From: M M Arif Date: Sat, 14 Sep 2019 13:22:01 +0500 Subject: [PATCH 2/3] fix url linking for repo website --- app/src/main/res/layout/fragment_repo_info.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/app/src/main/res/layout/fragment_repo_info.xml b/app/src/main/res/layout/fragment_repo_info.xml index b7f5f944..9c282ffb 100644 --- a/app/src/main/res/layout/fragment_repo_info.xml +++ b/app/src/main/res/layout/fragment_repo_info.xml @@ -107,6 +107,7 @@ android:textIsSelectable="true" android:textSize="16sp" android:paddingTop="5dp" + android:autoLink="web" android:textColor="@color/colorWhite"/> Date: Sat, 14 Sep 2019 14:40:47 +0500 Subject: [PATCH 3/3] fix branches hash url --- app/src/main/java/org/mian/gitnex/adapters/BranchesAdapter.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/java/org/mian/gitnex/adapters/BranchesAdapter.java b/app/src/main/java/org/mian/gitnex/adapters/BranchesAdapter.java index 1eb7f482..2534aa65 100644 --- a/app/src/main/java/org/mian/gitnex/adapters/BranchesAdapter.java +++ b/app/src/main/java/org/mian/gitnex/adapters/BranchesAdapter.java @@ -66,7 +66,7 @@ public class BranchesAdapter extends RecyclerView.Adapter