Check Issue Subscription and display button based on that (#445)

update string names

Update strings

Merge branch 'master' into imprufe-issue-subscription-checking

switch icon as per @mmarif

Migrate to new Version Check & disable IssueSubscription function for gitea < 1.12.0

Merge branch 'master' into imprufe-issue-subscription-checking

Merge branch 'master' into imprufe-issue-subscription-checking

Merge branch 'master' into imprufe-issue-subscription-checking

refactor  & use dismiss()

realy check If issue is subscribed

add 200 http Status check and handle it

Rename WatchRepository to WatchInfo & add checkIssueWatchStatus

Co-authored-by: M M Arif <mmarif@swatian.com>
Co-authored-by: 6543 <6543@obermui.de>
Reviewed-on: https://gitea.com/gitnex/GitNex/pulls/445
Reviewed-by: M M Arif <mmarif@swatian.com>
This commit is contained in:
6543
2020-05-21 18:58:00 +00:00
committed by M M Arif
parent ad7c3696d5
commit e83b9eb736
14 changed files with 170 additions and 119 deletions

View File

@@ -20,6 +20,7 @@ import org.mian.gitnex.activities.EditIssueActivity;
import org.mian.gitnex.activities.FileDiffActivity;
import org.mian.gitnex.activities.MergePullRequestActivity;
import org.mian.gitnex.helpers.Toasty;
import org.mian.gitnex.helpers.Version;
import org.mian.gitnex.util.TinyDB;
import java.util.Objects;
@@ -222,24 +223,30 @@ public class BottomSheetSingleIssueFragment extends BottomSheetDialogFragment {
subscribeIssue.setOnClickListener(subscribeToIssue -> {
IssueActions.subscribe(ctx, subscribeIssue, unsubscribeIssue);
//dismiss();
IssueActions.subscribe(ctx);
dismiss();
});
unsubscribeIssue.setOnClickListener(unsubscribeToIssue -> {
IssueActions.unsubscribe(ctx, subscribeIssue, unsubscribeIssue);
//dismiss();
IssueActions.unsubscribe(ctx);
dismiss();
});
//if RepoWatch True Provide Unsubscribe first
// ToDo: API to check if user is subscribed to an issue (do not exist can be guessed by many api endpoints :/)
if(tinyDB.getBoolean("repoWatch")) {
if(new Version(tinyDB.getString("giteaVersion")).less("1.12.0")) {
subscribeIssue.setVisibility(View.GONE);
unsubscribeIssue.setVisibility(View.GONE);
}
else if(tinyDB.getBoolean("issueSubscribed")) {
subscribeIssue.setVisibility(View.GONE);
unsubscribeIssue.setVisibility(View.VISIBLE);
}
else {
subscribeIssue.setVisibility(View.VISIBLE);
unsubscribeIssue.setVisibility(View.GONE);
}
return v;
}