Skip to content

Commit a644496

Browse files
add cancel button (#6078)
Signed-off-by: parneet-guraya <[email protected]>
1 parent dec56a3 commit a644496

16 files changed

+67
-24
lines changed

app/src/main/java/fr/free/nrw/commons/customselector/helper/FolderDeletionHelper.kt

+1
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ object FolderDeletionHelper {
4242

4343
AlertDialog.Builder(context)
4444
.setTitle(context.getString(R.string.custom_selector_confirm_deletion_title))
45+
.setCancelable(false)
4546
.setMessage(
4647
context.getString(
4748
R.string.custom_selector_confirm_deletion_message,

app/src/main/java/fr/free/nrw/commons/customselector/ui/selector/CustomSelectorActivity.kt

+2
Original file line numberDiff line numberDiff line change
@@ -268,6 +268,7 @@ class CustomSelectorActivity :
268268
*/
269269
private fun showWelcomeDialog() {
270270
val dialog = Dialog(this)
271+
dialog.setCancelable(false)
271272
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE)
272273
dialog.setContentView(R.layout.custom_selector_info_dialog)
273274
(dialog.findViewById(R.id.btn_ok) as Button).setOnClickListener { dialog.dismiss() }
@@ -683,6 +684,7 @@ class CustomSelectorActivity :
683684
*/
684685
private fun displayUploadLimitWarning() {
685686
val dialog = Dialog(this)
687+
dialog.setCancelable(false)
686688
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE)
687689
dialog.setContentView(R.layout.custom_selector_limit_dialog)
688690
(dialog.findViewById(R.id.btn_dismiss_limit_warning) as Button).setOnClickListener { dialog.dismiss() }

app/src/main/java/fr/free/nrw/commons/explore/recentsearches/RecentSearchesFragment.java

+2
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,7 @@ private void showDeleteRecentAlertDialog(@NonNull final Context context) {
6767
.setPositiveButton(android.R.string.yes,
6868
(dialog, which) -> setDeleteRecentPositiveButton(context, dialog))
6969
.setNegativeButton(android.R.string.no, null)
70+
.setCancelable(false)
7071
.create()
7172
.show();
7273
}
@@ -94,6 +95,7 @@ private void showDeleteAlertDialog(@NonNull final Context context, final int pos
9495
.setPositiveButton(getString(R.string.delete).toUpperCase(Locale.ROOT),
9596
((dialog, which) -> setDeletePositiveButton(context, dialog, position)))
9697
.setNegativeButton(android.R.string.cancel, null)
98+
.setCancelable(false)
9799
.create()
98100
.show();
99101
}

app/src/main/java/fr/free/nrw/commons/feedback/FeedbackDialog.kt

+1
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ class FeedbackDialog(
4646
// 'SOFT_INPUT_ADJUST_RESIZE: Int' is deprecated. Deprecated in Java
4747
@Suppress("DEPRECATION")
4848
window?.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE)
49+
binding.btnCancel.setOnClickListener { dismiss() }
4950
binding.btnSubmitFeedback.setOnClickListener {
5051
try {
5152
submitFeedback()

app/src/main/java/fr/free/nrw/commons/media/MediaDetailPagerFragment.java

+1
Original file line numberDiff line numberDiff line change
@@ -291,6 +291,7 @@ private void showReportDialog(final Media media) {
291291
builder.setItems(R.array.report_violation_options, (dialog, which) -> {
292292
sendReportEmail(media, values[which]);
293293
});
294+
builder.setNegativeButton(R.string.cancel, (dialog, which) -> {});
294295
builder.setCancelable(false);
295296
builder.show();
296297
}

app/src/main/java/fr/free/nrw/commons/navtab/MoreBottomSheetFragment.kt

+4-1
Original file line numberDiff line numberDiff line change
@@ -161,7 +161,10 @@ class MoreBottomSheetFragment : BottomSheetDialogFragment() {
161161
override fun onFeedbackSubmit(feedback: Feedback) {
162162
uploadFeedback(feedback)
163163
}
164-
}).show()
164+
}).apply {
165+
setCancelable(false)
166+
show()
167+
}
165168
}
166169

167170
/**

app/src/main/java/fr/free/nrw/commons/navtab/MoreBottomSheetLoggedOutFragment.kt

+1
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,7 @@ class MoreBottomSheetLoggedOutFragment : BottomSheetDialogFragment() {
9494
.setMessage(R.string.feedback_sharing_data_alert)
9595
.setCancelable(false)
9696
.setPositiveButton(R.string.ok) { _, _ -> sendFeedback() }
97+
.setNegativeButton(R.string.cancel){_,_ -> }
9798
.show()
9899
}
99100

app/src/main/java/fr/free/nrw/commons/nearby/fragments/CommonPlaceClickActions.kt

+2
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,8 @@ class CommonPlaceClickActions
128128
AlertDialog
129129
.Builder(activity)
130130
.setMessage(R.string.login_alert_message)
131+
.setCancelable(false)
132+
.setNegativeButton(R.string.cancel){_,_ -> }
131133
.setPositiveButton(R.string.login) { dialog, which ->
132134
setPositiveButton()
133135
}.show()

app/src/main/java/fr/free/nrw/commons/nearby/fragments/NearbyParentFragment.java

+2
Original file line numberDiff line numberDiff line change
@@ -1627,6 +1627,8 @@ public void displayLoginSkippedWarning() {
16271627
// prompt the user to login
16281628
new Builder(getContext())
16291629
.setMessage(R.string.login_alert_message)
1630+
.setCancelable(false)
1631+
.setNegativeButton(R.string.cancel, (dialog, which) -> {})
16301632
.setPositiveButton(R.string.login, (dialog, which) -> {
16311633
// logout of the app
16321634
BaseLogoutListener logoutListener = new BaseLogoutListener(getActivity());

app/src/main/java/fr/free/nrw/commons/quiz/QuizActivity.kt

+1
Original file line numberDiff line numberDiff line change
@@ -139,6 +139,7 @@ class QuizActivity : AppCompatActivity() {
139139
.setTitle(title)
140140
.setMessage(message)
141141
.setCancelable(false)
142+
.setNegativeButton(R.string.cancel){_,_ -> }
142143
.setPositiveButton(R.string.continue_message) { dialog, _ ->
143144
questionIndex++
144145
if (questionIndex == quiz.size) {

app/src/main/java/fr/free/nrw/commons/settings/SettingsFragment.kt

+5-10
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import android.text.TextWatcher
1414
import android.view.KeyEvent
1515
import android.view.View
1616
import android.widget.AdapterView
17+
import android.widget.Button
1718
import android.widget.EditText
1819
import android.widget.ListView
1920
import android.widget.TextView
@@ -333,24 +334,16 @@ class SettingsFragment : PreferenceFragmentCompat() {
333334

334335
val dialog = Dialog(requireActivity())
335336
dialog.setContentView(R.layout.dialog_select_language)
336-
dialog.setCancelable(true)// Allow dialog to close with the back button
337+
dialog.setCancelable(false)
337338
dialog.window?.setLayout(
338339
(resources.displayMetrics.widthPixels * 0.90).toInt(),
339340
(resources.displayMetrics.heightPixels * 0.90).toInt()
340341
)
341-
// Handle back button explicitly to dismiss the dialog
342-
dialog.setOnKeyListener { _, keyCode, event ->
343-
if (keyCode == KeyEvent.KEYCODE_BACK && event.action == KeyEvent.ACTION_UP) {
344-
dialog.dismiss() // Close the dialog when the back button is pressed
345-
true
346-
} else {
347-
false
348-
}
349-
}
350342
dialog.show()
351343

352344
val editText: EditText = dialog.findViewById(R.id.search_language)
353345
val listView: ListView = dialog.findViewById(R.id.language_list)
346+
val cancelButton = dialog.findViewById<Button>(R.id.cancel_button)
354347
languageHistoryListView = dialog.findViewById(R.id.language_history_list)
355348
recentLanguagesTextView = dialog.findViewById(R.id.recent_searches)
356349
separator = dialog.findViewById(R.id.separator)
@@ -359,6 +352,8 @@ class SettingsFragment : PreferenceFragmentCompat() {
359352

360353
listView.adapter = languagesAdapter
361354

355+
cancelButton.setOnClickListener { dialog.dismiss() }
356+
362357
editText.addTextChangedListener(object : TextWatcher {
363358
override fun beforeTextChanged(charSequence: CharSequence, start: Int, count: Int, after: Int) {
364359
hideRecentLanguagesSection()

app/src/main/java/fr/free/nrw/commons/upload/UploadActivity.java

+1
Original file line numberDiff line numberDiff line change
@@ -898,6 +898,7 @@ private void showAlertDialogForCategories() {
898898
.setView(view)
899899
.setTitle(getString(R.string.multiple_files_depiction_header))
900900
.setMessage(getString(R.string.multiple_files_depiction))
901+
.setCancelable(false)
901902
.setPositiveButton("OK", (dialog, which) -> {
902903
if (checkBox.isChecked()) {
903904
// Save the user's choice to not show the dialog again

app/src/main/java/fr/free/nrw/commons/upload/UploadMediaDetailAdapter.java

+4
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
import android.view.ViewGroup;
1515
import android.widget.AdapterView;
1616
import android.widget.AdapterView.OnItemClickListener;
17+
import android.widget.Button;
1718
import android.widget.EditText;
1819
import android.widget.FrameLayout;
1920
import android.widget.ImageView;
@@ -357,13 +358,16 @@ public void onClick(View view) {
357358

358359
EditText editText = dialog.findViewById(R.id.search_language);
359360
ListView listView = dialog.findViewById(R.id.language_list);
361+
final Button cancelButton = dialog.findViewById(R.id.cancel_button);
360362
languageHistoryListView = dialog.findViewById(R.id.language_history_list);
361363
recentLanguagesTextView = dialog.findViewById(R.id.recent_searches);
362364
separator = dialog.findViewById(R.id.separator);
363365
setUpRecentLanguagesSection(recentLanguages);
364366

365367
listView.setAdapter(languagesAdapter);
366368

369+
cancelButton.setOnClickListener(v -> dialog.dismiss());
370+
367371
editText.addTextChangedListener(new TextWatcher() {
368372
@Override
369373
public void beforeTextChanged(CharSequence charSequence, int i, int i1,

app/src/main/java/fr/free/nrw/commons/upload/depicts/DepictsFragment.kt

+1
Original file line numberDiff line numberDiff line change
@@ -285,6 +285,7 @@ class DepictsFragment : UploadBaseFragment(), DepictsContract.View {
285285
override fun showProgressDialog() {
286286
progressDialog = ProgressDialog(requireContext())
287287
progressDialog!!.setMessage(getString(R.string.please_wait))
288+
progressDialog!!.setCancelable(false)
288289
progressDialog!!.show()
289290
}
290291

app/src/main/res/layout/dialog_feedback.xml

+26-9
Original file line numberDiff line numberDiff line change
@@ -132,15 +132,32 @@
132132
android:layout_width="wrap_content"
133133
android:layout_height="wrap_content" />
134134

135-
<Button
136-
android:id="@+id/btn_submit_feedback"
137-
android:textColor="@color/white"
138-
android:layout_marginBottom="@dimen/dimen_10"
135+
<LinearLayout
136+
android:layout_width="match_parent"
137+
android:layout_height="wrap_content"
138+
android:layout_margin="@dimen/dimen_10"
139139
android:gravity="center"
140-
android:layout_gravity="center"
141-
android:text="@string/submit"
142-
android:layout_width="wrap_content"
143-
android:layout_height="wrap_content" />
140+
android:orientation="horizontal">
141+
142+
<Button
143+
android:id="@+id/btn_cancel"
144+
android:textColor="@color/white"
145+
android:layout_gravity="center"
146+
android:layout_weight="1"
147+
android:text="@string/cancel"
148+
android:layout_width="wrap_content"
149+
android:layout_height="wrap_content" />
150+
151+
<Button
152+
android:id="@+id/btn_submit_feedback"
153+
android:textColor="@color/white"
154+
android:layout_weight="1"
155+
android:layout_gravity="center"
156+
android:text="@string/submit"
157+
android:layout_width="wrap_content"
158+
android:layout_height="wrap_content" />
159+
160+
</LinearLayout>
144161

145162
</LinearLayout>
146-
</ScrollView>
163+
</ScrollView>

app/src/main/res/layout/dialog_select_language.xml

+13-4
Original file line numberDiff line numberDiff line change
@@ -66,9 +66,18 @@
6666
android:layout_height="0dp"
6767
android:layout_marginTop="8dp"
6868
android:id="@+id/language_list"
69-
app:layout_constraintBottom_toBottomOf="parent"
70-
app:layout_constraintEnd_toEndOf="parent"
71-
app:layout_constraintStart_toStartOf="parent"
69+
app:layout_constraintBottom_toTopOf="@id/cancel_button"
7270
app:layout_constraintTop_toBottomOf="@+id/all_languages" />
7371

74-
</androidx.constraintlayout.widget.ConstraintLayout>
72+
73+
<Button
74+
android:id="@+id/cancel_button"
75+
android:layout_width="wrap_content"
76+
android:layout_height="wrap_content"
77+
android:text="@string/cancel"
78+
android:textColor="@color/primaryColor"
79+
android:background="@android:color/transparent"
80+
app:layout_constraintBottom_toBottomOf="parent"
81+
app:layout_constraintEnd_toEndOf="parent" />
82+
83+
</androidx.constraintlayout.widget.ConstraintLayout>

0 commit comments

Comments
 (0)