2019-06-03 23:25:05 +02:00
|
|
|
package org.mian.gitnex.helpers;
|
|
|
|
|
2021-09-14 16:18:28 +02:00
|
|
|
import android.app.Dialog;
|
2019-06-03 23:25:05 +02:00
|
|
|
import android.content.Context;
|
|
|
|
import android.content.Intent;
|
2021-09-14 16:18:28 +02:00
|
|
|
import android.graphics.Color;
|
|
|
|
import android.graphics.drawable.ColorDrawable;
|
|
|
|
import android.widget.Button;
|
2022-02-12 14:41:11 +01:00
|
|
|
import androidx.annotation.NonNull;
|
2020-07-07 19:15:01 +02:00
|
|
|
import androidx.appcompat.app.AlertDialog;
|
2019-06-03 23:25:05 +02:00
|
|
|
import org.mian.gitnex.R;
|
2020-07-07 19:15:01 +02:00
|
|
|
import org.mian.gitnex.actions.CollaboratorActions;
|
2021-09-14 16:18:28 +02:00
|
|
|
import org.mian.gitnex.actions.PullRequestActions;
|
2020-05-20 20:21:09 +02:00
|
|
|
import org.mian.gitnex.actions.TeamActions;
|
2019-06-03 23:25:05 +02:00
|
|
|
import org.mian.gitnex.activities.CreateLabelActivity;
|
|
|
|
import org.mian.gitnex.activities.LoginActivity;
|
2022-02-12 14:41:11 +01:00
|
|
|
import org.mian.gitnex.clients.RetrofitClient;
|
|
|
|
import retrofit2.Call;
|
|
|
|
import retrofit2.Callback;
|
|
|
|
import retrofit2.Response;
|
2019-06-03 23:25:05 +02:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Author M M Arif
|
|
|
|
*/
|
|
|
|
|
|
|
|
public class AlertDialogs {
|
|
|
|
|
|
|
|
public static void authorizationTokenRevokedDialog(final Context context, String title, String message, String copyNegativeButton, String copyPositiveButton) {
|
|
|
|
|
2020-06-28 17:11:59 +02:00
|
|
|
AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(context)
|
|
|
|
.setTitle(title)
|
|
|
|
.setMessage(message)
|
|
|
|
.setCancelable(true)
|
|
|
|
.setIcon(R.drawable.ic_warning)
|
2020-08-06 17:16:51 +02:00
|
|
|
.setNeutralButton(copyNegativeButton, (dialog, which) -> dialog.dismiss())
|
2020-06-28 17:11:59 +02:00
|
|
|
.setPositiveButton(copyPositiveButton, (dialog, which) -> {
|
|
|
|
|
2020-11-02 16:17:00 +01:00
|
|
|
final TinyDB tinyDb = TinyDB.getInstance(context);
|
2020-06-28 17:11:59 +02:00
|
|
|
tinyDb.putBoolean("loggedInMode", false);
|
|
|
|
tinyDb.remove("basicAuthPassword");
|
|
|
|
tinyDb.putBoolean("basicAuthFlag", false);
|
|
|
|
Intent intent = new Intent(context, LoginActivity.class);
|
|
|
|
context.startActivity(intent);
|
|
|
|
dialog.dismiss();
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
alertDialogBuilder.create().show();
|
|
|
|
|
2019-06-03 23:25:05 +02:00
|
|
|
}
|
|
|
|
|
Implement drafts, introduce Room persistence library for db (#139)
Fix no draft message
translation updates
format improvements
typo update
some renaming refactors
Use better naming convention
remove duplicate source
arrange draft titles
enhance click listener area
Launch drafts from reply screen and clean up
Add message draft saved
update repositories tasks
Update user accounts repository with thread, remove async tasks
remove async task in drafts
update layout, change async to thread in drafts
Merge branch 'master' into pull_139
# Conflicts:
# app/build.gradle
# app/src/main/java/org/mian/gitnex/activities/LoginActivity.java
Merge branch 'master' into pull_139
# Conflicts:
# app/src/main/java/org/mian/gitnex/activities/ReplyToIssueActivity.java
Merge branch 'pull_139' of codeberg.org:gitnex/GitNex into pull_139
# Conflicts:
# app/src/main/java/org/mian/gitnex/adapters/MyReposListAdapter.java
Merge branch 'master' into pull_139
# Conflicts:
# app/src/main/java/org/mian/gitnex/activities/LoginActivity.java
# app/src/main/java/org/mian/gitnex/activities/ReplyToIssueActivity.java
# app/src/main/java/org/mian/gitnex/adapters/MyReposListAdapter.java
Merge branch 'master' into pull_139
Merge branch 'master' into pull_139
Merge branch 'master' into pull_139 and fix conflicts
# Conflicts:
# app/build.gradle
# app/src/main/java/org/mian/gitnex/activities/LoginActivity.java
# app/src/main/java/org/mian/gitnex/activities/MainActivity.java
# app/src/main/java/org/mian/gitnex/activities/ReplyToIssueActivity.java
# app/src/main/java/org/mian/gitnex/adapters/MyReposListAdapter.java
# app/src/main/java/org/mian/gitnex/helpers/StaticGlobalVariables.java
# app/src/main/res/values/strings.xml
Code Format
Merge branch 'master' into 15-comments-draft
Merge branch 'master' into 15-comments-draft
Merge branch 'master' into 15-comments-draft
# Conflicts:
# app/src/main/java/org/mian/gitnex/activities/MainActivity.java
# app/src/main/res/values/strings.xml
Go to draft, save on type and other fixes
delete all drafts, added messages where needed
delete draft
Force logout
Merge branch 'master' into 15-comments-draft
Merge branch 'master' into 15-comments-draft
# Conflicts:
# app/src/main/java/org/mian/gitnex/activities/MainActivity.java
# app/src/main/java/org/mian/gitnex/helpers/StaticGlobalVariables.java
check if account data is null, we need to log the user out for the 1st time.
Merge branch 'master' into 15-comments-draft
fix repo owner, name sequence
Add comments for test, show drafts list
Add repos to db
Add account to db and other refactors to the code
Merge branch 'master' into 15-comments-draft
Merge branch 'master' into 15-comments-draft
Merge branch 'master' into 15-comments-draft
Merge branch 'master' into 15-comments-draft
# Conflicts:
# app/build.gradle
# app/src/main/AndroidManifest.xml
Merge branch 'master' into 15-comments-draft
merge
more queries, added dao repositories, layout update
Added queries in dao
some refactor. added models, dao, entities (accounts, repositories, drafts)
WIP on implementing drafts, introduced Room persistence library for db.
Co-authored-by: M M Arif <mmarif@swatian.com>
Co-authored-by: 6543 <6543@obermui.de>
Reviewed-on: https://codeberg.org/gitnex/GitNex/pulls/139
Reviewed-by: opyale <opyale@noreply.codeberg.org>
2020-07-04 22:51:55 +02:00
|
|
|
public static void forceLogoutDialog(final Context context, String title, String message, String copyPositiveButton) {
|
|
|
|
|
|
|
|
AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(context)
|
|
|
|
.setTitle(title)
|
|
|
|
.setMessage(message)
|
|
|
|
.setCancelable(false)
|
2020-07-12 19:18:50 +02:00
|
|
|
.setIcon(R.drawable.ic_info)
|
Implement drafts, introduce Room persistence library for db (#139)
Fix no draft message
translation updates
format improvements
typo update
some renaming refactors
Use better naming convention
remove duplicate source
arrange draft titles
enhance click listener area
Launch drafts from reply screen and clean up
Add message draft saved
update repositories tasks
Update user accounts repository with thread, remove async tasks
remove async task in drafts
update layout, change async to thread in drafts
Merge branch 'master' into pull_139
# Conflicts:
# app/build.gradle
# app/src/main/java/org/mian/gitnex/activities/LoginActivity.java
Merge branch 'master' into pull_139
# Conflicts:
# app/src/main/java/org/mian/gitnex/activities/ReplyToIssueActivity.java
Merge branch 'pull_139' of codeberg.org:gitnex/GitNex into pull_139
# Conflicts:
# app/src/main/java/org/mian/gitnex/adapters/MyReposListAdapter.java
Merge branch 'master' into pull_139
# Conflicts:
# app/src/main/java/org/mian/gitnex/activities/LoginActivity.java
# app/src/main/java/org/mian/gitnex/activities/ReplyToIssueActivity.java
# app/src/main/java/org/mian/gitnex/adapters/MyReposListAdapter.java
Merge branch 'master' into pull_139
Merge branch 'master' into pull_139
Merge branch 'master' into pull_139 and fix conflicts
# Conflicts:
# app/build.gradle
# app/src/main/java/org/mian/gitnex/activities/LoginActivity.java
# app/src/main/java/org/mian/gitnex/activities/MainActivity.java
# app/src/main/java/org/mian/gitnex/activities/ReplyToIssueActivity.java
# app/src/main/java/org/mian/gitnex/adapters/MyReposListAdapter.java
# app/src/main/java/org/mian/gitnex/helpers/StaticGlobalVariables.java
# app/src/main/res/values/strings.xml
Code Format
Merge branch 'master' into 15-comments-draft
Merge branch 'master' into 15-comments-draft
Merge branch 'master' into 15-comments-draft
# Conflicts:
# app/src/main/java/org/mian/gitnex/activities/MainActivity.java
# app/src/main/res/values/strings.xml
Go to draft, save on type and other fixes
delete all drafts, added messages where needed
delete draft
Force logout
Merge branch 'master' into 15-comments-draft
Merge branch 'master' into 15-comments-draft
# Conflicts:
# app/src/main/java/org/mian/gitnex/activities/MainActivity.java
# app/src/main/java/org/mian/gitnex/helpers/StaticGlobalVariables.java
check if account data is null, we need to log the user out for the 1st time.
Merge branch 'master' into 15-comments-draft
fix repo owner, name sequence
Add comments for test, show drafts list
Add repos to db
Add account to db and other refactors to the code
Merge branch 'master' into 15-comments-draft
Merge branch 'master' into 15-comments-draft
Merge branch 'master' into 15-comments-draft
Merge branch 'master' into 15-comments-draft
# Conflicts:
# app/build.gradle
# app/src/main/AndroidManifest.xml
Merge branch 'master' into 15-comments-draft
merge
more queries, added dao repositories, layout update
Added queries in dao
some refactor. added models, dao, entities (accounts, repositories, drafts)
WIP on implementing drafts, introduced Room persistence library for db.
Co-authored-by: M M Arif <mmarif@swatian.com>
Co-authored-by: 6543 <6543@obermui.de>
Reviewed-on: https://codeberg.org/gitnex/GitNex/pulls/139
Reviewed-by: opyale <opyale@noreply.codeberg.org>
2020-07-04 22:51:55 +02:00
|
|
|
.setPositiveButton(copyPositiveButton, (dialog, which) -> {
|
|
|
|
|
2020-11-02 16:17:00 +01:00
|
|
|
final TinyDB tinyDb = TinyDB.getInstance(context);
|
Implement drafts, introduce Room persistence library for db (#139)
Fix no draft message
translation updates
format improvements
typo update
some renaming refactors
Use better naming convention
remove duplicate source
arrange draft titles
enhance click listener area
Launch drafts from reply screen and clean up
Add message draft saved
update repositories tasks
Update user accounts repository with thread, remove async tasks
remove async task in drafts
update layout, change async to thread in drafts
Merge branch 'master' into pull_139
# Conflicts:
# app/build.gradle
# app/src/main/java/org/mian/gitnex/activities/LoginActivity.java
Merge branch 'master' into pull_139
# Conflicts:
# app/src/main/java/org/mian/gitnex/activities/ReplyToIssueActivity.java
Merge branch 'pull_139' of codeberg.org:gitnex/GitNex into pull_139
# Conflicts:
# app/src/main/java/org/mian/gitnex/adapters/MyReposListAdapter.java
Merge branch 'master' into pull_139
# Conflicts:
# app/src/main/java/org/mian/gitnex/activities/LoginActivity.java
# app/src/main/java/org/mian/gitnex/activities/ReplyToIssueActivity.java
# app/src/main/java/org/mian/gitnex/adapters/MyReposListAdapter.java
Merge branch 'master' into pull_139
Merge branch 'master' into pull_139
Merge branch 'master' into pull_139 and fix conflicts
# Conflicts:
# app/build.gradle
# app/src/main/java/org/mian/gitnex/activities/LoginActivity.java
# app/src/main/java/org/mian/gitnex/activities/MainActivity.java
# app/src/main/java/org/mian/gitnex/activities/ReplyToIssueActivity.java
# app/src/main/java/org/mian/gitnex/adapters/MyReposListAdapter.java
# app/src/main/java/org/mian/gitnex/helpers/StaticGlobalVariables.java
# app/src/main/res/values/strings.xml
Code Format
Merge branch 'master' into 15-comments-draft
Merge branch 'master' into 15-comments-draft
Merge branch 'master' into 15-comments-draft
# Conflicts:
# app/src/main/java/org/mian/gitnex/activities/MainActivity.java
# app/src/main/res/values/strings.xml
Go to draft, save on type and other fixes
delete all drafts, added messages where needed
delete draft
Force logout
Merge branch 'master' into 15-comments-draft
Merge branch 'master' into 15-comments-draft
# Conflicts:
# app/src/main/java/org/mian/gitnex/activities/MainActivity.java
# app/src/main/java/org/mian/gitnex/helpers/StaticGlobalVariables.java
check if account data is null, we need to log the user out for the 1st time.
Merge branch 'master' into 15-comments-draft
fix repo owner, name sequence
Add comments for test, show drafts list
Add repos to db
Add account to db and other refactors to the code
Merge branch 'master' into 15-comments-draft
Merge branch 'master' into 15-comments-draft
Merge branch 'master' into 15-comments-draft
Merge branch 'master' into 15-comments-draft
# Conflicts:
# app/build.gradle
# app/src/main/AndroidManifest.xml
Merge branch 'master' into 15-comments-draft
merge
more queries, added dao repositories, layout update
Added queries in dao
some refactor. added models, dao, entities (accounts, repositories, drafts)
WIP on implementing drafts, introduced Room persistence library for db.
Co-authored-by: M M Arif <mmarif@swatian.com>
Co-authored-by: 6543 <6543@obermui.de>
Reviewed-on: https://codeberg.org/gitnex/GitNex/pulls/139
Reviewed-by: opyale <opyale@noreply.codeberg.org>
2020-07-04 22:51:55 +02:00
|
|
|
tinyDb.putBoolean("loggedInMode", false);
|
|
|
|
tinyDb.remove("basicAuthPassword");
|
|
|
|
tinyDb.putBoolean("basicAuthFlag", false);
|
|
|
|
|
|
|
|
Intent intent = new Intent(context, LoginActivity.class);
|
|
|
|
context.startActivity(intent);
|
|
|
|
dialog.dismiss();
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
alertDialogBuilder.create().show();
|
|
|
|
}
|
|
|
|
|
2020-11-30 23:20:14 +01:00
|
|
|
public static void labelDeleteDialog(final Context context, final String labelTitle, final String labelId, String title, String message, String positiveButton, String negativeButton, String type, String orgName) {
|
2019-06-03 23:25:05 +02:00
|
|
|
|
2020-02-20 06:19:52 +01:00
|
|
|
new AlertDialog.Builder(context)
|
2021-12-15 20:37:53 +01:00
|
|
|
.setTitle(String.format(title, labelTitle))
|
2019-06-03 23:25:05 +02:00
|
|
|
.setMessage(message)
|
|
|
|
.setIcon(R.drawable.ic_delete)
|
2020-05-20 20:21:09 +02:00
|
|
|
.setPositiveButton(positiveButton, (dialog, whichButton) -> {
|
2019-06-03 23:25:05 +02:00
|
|
|
|
2020-05-20 20:21:09 +02:00
|
|
|
Intent intent = new Intent(context, CreateLabelActivity.class);
|
|
|
|
intent.putExtra("labelId", labelId);
|
|
|
|
intent.putExtra("labelAction", "delete");
|
2020-11-30 23:20:14 +01:00
|
|
|
intent.putExtra("type", type);
|
|
|
|
intent.putExtra("orgName", orgName);
|
2020-05-20 20:21:09 +02:00
|
|
|
context.startActivity(intent);
|
2019-06-03 23:25:05 +02:00
|
|
|
|
2020-05-20 20:21:09 +02:00
|
|
|
})
|
2020-08-06 17:16:51 +02:00
|
|
|
.setNeutralButton(negativeButton, null).show();
|
2019-06-03 23:25:05 +02:00
|
|
|
|
|
|
|
}
|
|
|
|
|
2022-02-12 14:41:11 +01:00
|
|
|
public static void tagDeleteDialog(final Context context, final String tagName, final String owner, final String repo) {
|
|
|
|
new AlertDialog.Builder(context)
|
|
|
|
.setTitle(String.format(context.getString(R.string.deleteTagTitle), tagName))
|
|
|
|
.setMessage(R.string.deleteTagConfirmation)
|
|
|
|
.setIcon(R.drawable.ic_delete)
|
|
|
|
.setPositiveButton(R.string.menuDeleteText, (dialog, whichButton) -> RetrofitClient.getApiInterface(context).deleteTag(Authorization.get(context), owner, repo, tagName).enqueue(new Callback<Void>() {
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public void onResponse(@NonNull Call<Void> call, @NonNull Response<Void> response) {
|
|
|
|
if(response.isSuccessful()) {
|
|
|
|
Toasty.success(context, context.getString(R.string.tagDeleted));
|
|
|
|
}
|
|
|
|
else if(response.code() == 403) {
|
|
|
|
Toasty.error(context, context.getString(R.string.authorizeError));
|
|
|
|
}
|
|
|
|
else {
|
|
|
|
Toasty.error(context, context.getString(R.string.genericError));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public void onFailure(@NonNull Call<Void> call, @NonNull Throwable t) {
|
|
|
|
Toasty.error(context, context.getString(R.string.genericError));
|
|
|
|
}
|
|
|
|
}))
|
|
|
|
.setNeutralButton(R.string.cancelButton, null).show();
|
|
|
|
}
|
|
|
|
|
2019-06-03 23:25:05 +02:00
|
|
|
public static void collaboratorRemoveDialog(final Context context, final String userNameMain, String title, String message, String positiveButton, String negativeButton, final String searchKeyword) {
|
|
|
|
|
2020-02-20 06:19:52 +01:00
|
|
|
new AlertDialog.Builder(context)
|
2019-06-03 23:25:05 +02:00
|
|
|
.setTitle(title + userNameMain)
|
|
|
|
.setMessage(message)
|
2020-05-20 20:21:09 +02:00
|
|
|
.setPositiveButton(positiveButton, (dialog, whichButton) -> CollaboratorActions.deleteCollaborator(context, searchKeyword, userNameMain))
|
2020-08-06 17:16:51 +02:00
|
|
|
.setNeutralButton(negativeButton, null).show();
|
2020-05-20 20:21:09 +02:00
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
public static void addMemberDialog(final Context context, final String userNameMain, String title, String message, String positiveButton, String negativeButton, int teamId) {
|
|
|
|
|
|
|
|
new AlertDialog.Builder(context)
|
|
|
|
.setTitle(title + userNameMain)
|
|
|
|
.setMessage(message)
|
|
|
|
.setPositiveButton(positiveButton, (dialog, whichButton) -> TeamActions.addTeamMember(context, userNameMain, teamId))
|
2020-08-06 17:16:51 +02:00
|
|
|
.setNeutralButton(negativeButton, null).show();
|
2019-06-03 23:25:05 +02:00
|
|
|
|
2020-05-20 20:21:09 +02:00
|
|
|
}
|
2019-06-03 23:25:05 +02:00
|
|
|
|
2020-05-20 20:21:09 +02:00
|
|
|
public static void removeMemberDialog(final Context context, final String userNameMain, String title, String message, String positiveButton, String negativeButton, int teamId) {
|
|
|
|
|
|
|
|
new AlertDialog.Builder(context)
|
|
|
|
.setTitle(title + userNameMain)
|
|
|
|
.setMessage(message)
|
|
|
|
.setPositiveButton(positiveButton, (dialog, whichButton) -> TeamActions.removeTeamMember(context, userNameMain, teamId))
|
2020-08-06 17:16:51 +02:00
|
|
|
.setNeutralButton(negativeButton, null).show();
|
2019-06-03 23:25:05 +02:00
|
|
|
|
|
|
|
}
|
|
|
|
|
2021-09-14 16:18:28 +02:00
|
|
|
public static void selectPullUpdateStrategy(Context context, String repoOwner, String repo, String issueNumber) {
|
|
|
|
Dialog dialog = new Dialog(context, R.style.ThemeOverlay_MaterialComponents_Dialog_Alert);
|
|
|
|
|
|
|
|
if (dialog.getWindow() != null) {
|
|
|
|
dialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
|
|
|
|
}
|
|
|
|
|
|
|
|
dialog.setContentView(R.layout.custom_pr_update_strategy_dialog);
|
|
|
|
Button mergeBtn = dialog.findViewById(R.id.updatePullMerge);
|
|
|
|
Button rebaseBtn = dialog.findViewById(R.id.updatePullRebase);
|
|
|
|
Button cancelBtn = dialog.findViewById(R.id.cancelPullUpdate);
|
|
|
|
mergeBtn.setOnClickListener((v) -> {
|
|
|
|
PullRequestActions.updatePr(context, repoOwner, repo, issueNumber, false);
|
|
|
|
dialog.dismiss();
|
|
|
|
});
|
|
|
|
rebaseBtn.setOnClickListener((v) -> {
|
|
|
|
PullRequestActions.updatePr(context, repoOwner, repo, issueNumber, true);
|
|
|
|
dialog.dismiss();
|
|
|
|
});
|
|
|
|
cancelBtn.setOnClickListener((v) -> dialog.dismiss());
|
|
|
|
dialog.show();
|
|
|
|
}
|
|
|
|
|
2019-06-03 23:25:05 +02:00
|
|
|
}
|