Skip to content

Commit 3f195cf

Browse files
author
Royce Whetstine
authored
Merge pull request #119 from ModdingFox/Issue_118
Issue 118
2 parents 5a97742 + fa5c1ea commit 3f195cf

15 files changed

Lines changed: 297 additions & 132 deletions

File tree

.idea/misc.xml

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

app/build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ android {
88
applicationId "open.furaffinity.client"
99
minSdkVersion 26
1010
targetSdkVersion 29
11-
versionCode 30
12-
versionName "0.3.0"
11+
versionCode 31
12+
versionName "2021.08.22"
1313

1414
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
1515
}
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
package open.furaffinity.client.dialogs;
2+
3+
import android.app.AlertDialog;
4+
import android.app.Dialog;
5+
import android.os.Bundle;
6+
import android.text.InputType;
7+
import android.view.LayoutInflater;
8+
import android.view.View;
9+
import android.widget.EditText;
10+
import android.widget.TextView;
11+
12+
import androidx.annotation.NonNull;
13+
import androidx.annotation.Nullable;
14+
import androidx.fragment.app.DialogFragment;
15+
16+
import open.furaffinity.client.R;
17+
18+
public class confirmDialog extends DialogFragment {
19+
@SuppressWarnings("FieldCanBeLocal")
20+
private TextView dialogText;
21+
22+
private String text = null;
23+
private dialogListener listener;
24+
25+
public void setListener(dialogListener dialogListener) {
26+
listener = dialogListener;
27+
}
28+
29+
@NonNull
30+
@Override
31+
public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
32+
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
33+
LayoutInflater inflater = requireActivity().getLayoutInflater();
34+
35+
View rootView = inflater.inflate(R.layout.dialog_confirm, null);
36+
37+
dialogText = rootView.findViewById(R.id.dialogText);
38+
dialogText.setText(text);
39+
40+
builder.setView(rootView);
41+
builder.setPositiveButton(R.string.acceptButton, (dialog, which) -> listener.onDialogPositiveClick(confirmDialog.this));
42+
builder.setNegativeButton(R.string.cancelButton, (dialog, which) -> listener.onDialogNegativeClick(confirmDialog.this));
43+
44+
return builder.create();
45+
}
46+
47+
public void setTitleText(String text) {
48+
this.text = text;
49+
}
50+
51+
public interface dialogListener {
52+
void onDialogPositiveClick(DialogFragment dialog);
53+
54+
void onDialogNegativeClick(DialogFragment dialog);
55+
}
56+
}

app/src/main/java/open/furaffinity/client/fragmentDrawers/msgPms.java

Lines changed: 32 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
import open.furaffinity.client.abstractClasses.appFragment;
2323
import open.furaffinity.client.activity.mainActivity;
2424
import open.furaffinity.client.adapter.msgPmsListAdapter;
25+
import open.furaffinity.client.dialogs.confirmDialog;
2526
import open.furaffinity.client.dialogs.spinnerDialog;
2627
import open.furaffinity.client.listener.EndlessRecyclerViewScrollListener;
2728
import open.furaffinity.client.utilities.fabCircular;
@@ -168,33 +169,45 @@ public void onLoadMore(int pageNumber, int totalItemsCount, RecyclerView view) {
168169

169170
newMessage.setOnClickListener(view -> sendPM(getActivity(), getChildFragmentManager(), null));
170171

171-
deleteSelectedMessages.setOnClickListener(view ->
172-
{
173-
String action = "trash";
172+
deleteSelectedMessages.setOnClickListener(view -> {
173+
confirmDialog confirmDialog = new confirmDialog();
174+
confirmDialog.setTitleText("Delete Selected Messages?");
175+
confirmDialog.setListener(new confirmDialog.dialogListener() {
176+
@Override
177+
public void onDialogPositiveClick(DialogFragment dialog) {
178+
String action = "trash";
174179

175-
if(page.getSelectedFolder().equals(open.furaffinity.client.pages.msgPms.mailFolders.trash)) {
176-
action = "delete";
177-
}
180+
if(page.getSelectedFolder().equals(open.furaffinity.client.pages.msgPms.mailFolders.trash)) {
181+
action = "delete";
182+
}
178183

179-
List<String> itemIds = ((msgPmsListAdapter) mAdapter).getCheckedItems();
184+
List<String> itemIds = ((msgPmsListAdapter) mAdapter).getCheckedItems();
180185

181-
HashMap<String, String> params = new HashMap<>();
182-
for (int i = 0; i < itemIds.size(); i++) {
183-
params.put("items[" + i + "]", itemIds.get(i));
184-
}
186+
HashMap<String, String> params = new HashMap<>();
187+
for (int i = 0; i < itemIds.size(); i++) {
188+
params.put("items[" + i + "]", itemIds.get(i));
189+
}
185190

186-
new open.furaffinity.client.submitPages.submitMsgPmsMoveItem(getActivity(), new abstractPage.pageListener() {
187-
@Override
188-
public void requestSucceeded(abstractPage abstractPage) {
189-
resetRecycler();
190-
Toast.makeText(getActivity(), "Successfully deleted selected notes", Toast.LENGTH_SHORT).show();
191+
new open.furaffinity.client.submitPages.submitMsgPmsMoveItem(getActivity(), new abstractPage.pageListener() {
192+
@Override
193+
public void requestSucceeded(abstractPage abstractPage) {
194+
resetRecycler();
195+
Toast.makeText(getActivity(), "Successfully deleted selected notes", Toast.LENGTH_SHORT).show();
196+
}
197+
198+
@Override
199+
public void requestFailed(abstractPage abstractPage) {
200+
Toast.makeText(getActivity(), "Failed to delete selected notes", Toast.LENGTH_SHORT).show();
201+
}
202+
}, page.getPagePath(), "move_to", action, params).execute();
191203
}
192204

193205
@Override
194-
public void requestFailed(abstractPage abstractPage) {
195-
Toast.makeText(getActivity(), "Failed to delete selected notes", Toast.LENGTH_SHORT).show();
206+
public void onDialogNegativeClick(DialogFragment dialog) {
207+
196208
}
197-
}, page.getPagePath(), "move_to", action, params).execute();
209+
});
210+
confirmDialog.show(getChildFragmentManager(), "getDeleteConfirm");
198211
});
199212

200213
setSelectedMessagesPriority.setOnClickListener(view ->

app/src/main/java/open/furaffinity/client/fragmentDrawers/msgSubmission.java

Lines changed: 55 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
import android.widget.Toast;
1111

1212
import androidx.constraintlayout.widget.ConstraintLayout;
13+
import androidx.fragment.app.DialogFragment;
1314
import androidx.recyclerview.widget.RecyclerView;
1415
import androidx.recyclerview.widget.StaggeredGridLayoutManager;
1516
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
@@ -26,6 +27,8 @@
2627
import open.furaffinity.client.abstractClasses.appFragment;
2728
import open.furaffinity.client.activity.mainActivity;
2829
import open.furaffinity.client.adapter.manageImageListAdapter;
30+
import open.furaffinity.client.dialogs.confirmDialog;
31+
import open.furaffinity.client.dialogs.textDialog;
2932
import open.furaffinity.client.listener.EndlessRecyclerViewScrollListener;
3033
import open.furaffinity.client.utilities.fabCircular;
3134
import open.furaffinity.client.utilities.kvPair;
@@ -245,39 +248,67 @@ public void requestFailed(abstractPage abstractPage) {
245248
});
246249

247250
deleteSelected.setOnClickListener(v -> {
248-
List<String> elements = ((manageImageListAdapter) mAdapter).getCheckedItems();
251+
confirmDialog confirmDialog = new confirmDialog();
252+
confirmDialog.setTitleText("Delete Selected Submission Notifications?");
253+
confirmDialog.setListener(new confirmDialog.dialogListener() {
254+
@Override
255+
public void onDialogPositiveClick(DialogFragment dialog) {
256+
List<String> elements = ((manageImageListAdapter) mAdapter).getCheckedItems();
249257

250-
HashMap<String, String> params = new HashMap<>();
258+
HashMap<String, String> params = new HashMap<>();
251259

252-
for (int i = 0; i < elements.size(); i++) {
253-
params.put("submissions[" + i + "]", elements.get(i));
254-
}
260+
for (int i = 0; i < elements.size(); i++) {
261+
params.put("submissions[" + i + "]", elements.get(i));
262+
}
255263

256-
new open.furaffinity.client.submitPages.submitMsgSubmissionsDeleteSelected(getActivity(), new abstractPage.pageListener() {
257-
@Override
258-
public void requestSucceeded(abstractPage abstractPage) {
259-
resetRecycler();
260-
Toast.makeText(getActivity(), "Successfully deleted selected submission notifications", Toast.LENGTH_SHORT).show();
264+
new open.furaffinity.client.submitPages.submitMsgSubmissionsDeleteSelected(getActivity(), new abstractPage.pageListener() {
265+
@Override
266+
public void requestSucceeded(abstractPage abstractPage) {
267+
resetRecycler();
268+
Toast.makeText(getActivity(), "Successfully deleted selected submission notifications", Toast.LENGTH_SHORT).show();
269+
}
270+
271+
@Override
272+
public void requestFailed(abstractPage abstractPage) {
273+
Toast.makeText(getActivity(), "Failed to delete selected submission notifications", Toast.LENGTH_SHORT).show();
274+
}
275+
}, page.getPagePath(), params).execute();
261276
}
262277

263278
@Override
264-
public void requestFailed(abstractPage abstractPage) {
265-
Toast.makeText(getActivity(), "Failed to delete selected submission notifications", Toast.LENGTH_SHORT).show();
279+
public void onDialogNegativeClick(DialogFragment dialog) {
280+
266281
}
267-
}, page.getPagePath(), params).execute();
282+
});
283+
confirmDialog.show(getChildFragmentManager(), "getDeleteConfirm");
268284
});
269285

270-
deleteAll.setOnClickListener(v -> new open.furaffinity.client.submitPages.submitMsgSubmissionsDeleteAll(getActivity(), new abstractPage.pageListener() {
271-
@Override
272-
public void requestSucceeded(abstractPage abstractPage) {
273-
resetRecycler();
274-
Toast.makeText(getActivity(), "Successfully deleted submission notifications", Toast.LENGTH_SHORT).show();
275-
}
286+
deleteAll.setOnClickListener(v -> {
287+
confirmDialog confirmDialog = new confirmDialog();
288+
confirmDialog.setTitleText("Delete All Submission Notifications?");
289+
confirmDialog.setListener(new confirmDialog.dialogListener() {
290+
@Override
291+
public void onDialogPositiveClick(DialogFragment dialog) {
292+
new open.furaffinity.client.submitPages.submitMsgSubmissionsDeleteAll(getActivity(), new abstractPage.pageListener() {
293+
@Override
294+
public void requestSucceeded(abstractPage abstractPage) {
295+
resetRecycler();
296+
Toast.makeText(getActivity(), "Successfully deleted submission notifications", Toast.LENGTH_SHORT).show();
297+
}
298+
299+
@Override
300+
public void requestFailed(abstractPage abstractPage) {
301+
Toast.makeText(getActivity(), "Failed to delete submission notifications", Toast.LENGTH_SHORT).show();
302+
}
303+
}, page.getPagePath()).execute();
304+
}
276305

277-
@Override
278-
public void requestFailed(abstractPage abstractPage) {
279-
Toast.makeText(getActivity(), "Failed to delete submission notifications", Toast.LENGTH_SHORT).show();
280-
}
281-
}, page.getPagePath()).execute());
306+
@Override
307+
public void onDialogNegativeClick(DialogFragment dialog) {
308+
309+
}
310+
});
311+
confirmDialog.show(getChildFragmentManager(), "getDeleteConfirm");
312+
});
282313
}
283314
}

app/src/main/java/open/furaffinity/client/fragmentDrawers/view.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,7 @@ protected void getElements(View rootView) {
151151
submissionDownload.setImageResource(R.drawable.ic_menu_download);
152152
sendNote.setImageResource(R.drawable.ic_menu_newmessage);
153153
shareLink.setImageResource(R.drawable.ic_menu_send);
154-
imageInfoSwitch.setImageResource(R.drawable.ic_button_info);
154+
imageInfoSwitch.setImageResource(R.drawable.ic_menu_about);
155155

156156
//noinspection deprecation
157157
submissionFavorite.setBackgroundTintList(ColorStateList.valueOf(getResources().getColor(androidx.cardview.R.color.cardview_dark_background)));

app/src/main/java/open/furaffinity/client/fragmentTabs/manageFavorites.java

Lines changed: 30 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import android.widget.Toast;
66

77
import androidx.constraintlayout.widget.ConstraintLayout;
8+
import androidx.fragment.app.DialogFragment;
89
import androidx.recyclerview.widget.RecyclerView;
910
import androidx.recyclerview.widget.StaggeredGridLayoutManager;
1011
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
@@ -20,6 +21,7 @@
2021
import open.furaffinity.client.abstractClasses.abstractPage;
2122
import open.furaffinity.client.abstractClasses.appFragment;
2223
import open.furaffinity.client.adapter.manageImageListAdapter;
24+
import open.furaffinity.client.dialogs.confirmDialog;
2325
import open.furaffinity.client.listener.EndlessRecyclerViewScrollListener;
2426
import open.furaffinity.client.pages.gallery;
2527
import open.furaffinity.client.utilities.fabCircular;
@@ -149,26 +151,39 @@ public void onLoadMore(int pageNumber, int totalItemsCount, RecyclerView view) {
149151
recyclerView.setOnScrollListener(endlessRecyclerViewScrollListener);
150152

151153
removeSelected.setOnClickListener(v -> {
152-
List<String> elements = ((manageImageListAdapter) mAdapter).getCheckedItems();
153-
154-
HashMap<String, String> params = new HashMap<>();
155-
156-
for (int i = 0; i < elements.size(); i++) {
157-
params.put("favorites[" + i + "]", elements.get(i));
158-
}
159-
160-
new open.furaffinity.client.submitPages.submitControlsFavorites(getActivity(), new abstractPage.pageListener() {
154+
confirmDialog confirmDialog = new confirmDialog();
155+
confirmDialog.setTitleText("Delete Selected Favorites?");
156+
confirmDialog.setListener(new confirmDialog.dialogListener() {
161157
@Override
162-
public void requestSucceeded(abstractPage abstractPage) {
163-
resetRecycler();
164-
Toast.makeText(getActivity(), "Successfully updated favorites", Toast.LENGTH_SHORT).show();
158+
public void onDialogPositiveClick(DialogFragment dialog) {
159+
List<String> elements = ((manageImageListAdapter) mAdapter).getCheckedItems();
160+
161+
HashMap<String, String> params = new HashMap<>();
162+
163+
for (int i = 0; i < elements.size(); i++) {
164+
params.put("favorites[" + i + "]", elements.get(i));
165+
}
166+
167+
new open.furaffinity.client.submitPages.submitControlsFavorites(getActivity(), new abstractPage.pageListener() {
168+
@Override
169+
public void requestSucceeded(abstractPage abstractPage) {
170+
resetRecycler();
171+
Toast.makeText(getActivity(), "Successfully updated favorites", Toast.LENGTH_SHORT).show();
172+
}
173+
174+
@Override
175+
public void requestFailed(abstractPage abstractPage) {
176+
Toast.makeText(getActivity(), "Failed to update favorites", Toast.LENGTH_SHORT).show();
177+
}
178+
}, pagePath, params).execute();
165179
}
166180

167181
@Override
168-
public void requestFailed(abstractPage abstractPage) {
169-
Toast.makeText(getActivity(), "Failed to update favorites", Toast.LENGTH_SHORT).show();
182+
public void onDialogNegativeClick(DialogFragment dialog) {
183+
170184
}
171-
}, pagePath, params).execute();
185+
});
186+
confirmDialog.show(getChildFragmentManager(), "getDeleteConfirm");
172187
});
173188
}
174189
}

0 commit comments

Comments
 (0)