From 87ebf0f83c2742a2bca3cab31790604c50054aa1 Mon Sep 17 00:00:00 2001 From: VaiTon Date: Sun, 20 Jun 2021 12:08:33 +0200 Subject: [PATCH] fix: replace custom OK with android default resource Closes https://github.com/openfoodfacts/openfoodfacts-androidapp/issues/4061 --- .../scrachx/openfood/features/HomeFragment.kt | 14 +++--- .../scrachx/openfood/features/MainActivity.kt | 6 +-- .../allergensalert/AllergensAlertFragment.kt | 9 ++-- .../compare/ProductCompareActivity.kt | 6 +-- .../listeners/CommonBottomListener.kt | 8 ++-- .../productlist/ProductListActivity.kt | 8 ++-- .../scanhistory/ScanHistoryActivity.kt | 8 ++-- .../features/search/ProductSearchActivity.kt | 2 +- .../github/scrachx/openfood/utils/Utils.kt | 46 +++++++++++-------- 9 files changed, 56 insertions(+), 51 deletions(-) diff --git a/app/src/main/java/openfoodfacts/github/scrachx/openfood/features/HomeFragment.kt b/app/src/main/java/openfoodfacts/github/scrachx/openfood/features/HomeFragment.kt index c135f69d9ae8..b7fa22e95d5c 100644 --- a/app/src/main/java/openfoodfacts/github/scrachx/openfood/features/HomeFragment.kt +++ b/app/src/main/java/openfoodfacts/github/scrachx/openfood/features/HomeFragment.kt @@ -25,7 +25,7 @@ import android.view.ViewGroup import androidx.appcompat.app.AppCompatActivity import androidx.core.content.edit import androidx.lifecycle.lifecycleScope -import com.afollestad.materialdialogs.MaterialDialog +import com.google.android.material.dialog.MaterialAlertDialogBuilder import dagger.hilt.android.AndroidEntryPoint import io.reactivex.android.schedulers.AndroidSchedulers import io.reactivex.rxkotlin.addTo @@ -145,13 +145,11 @@ class HomeFragment : NavigationBaseFragment() { putString("pass", "") } withContext(Dispatchers.Main) { - MaterialDialog.Builder(requireActivity()).let { - it.title(R.string.alert_dialog_warning_title) - it.content(R.string.alert_dialog_warning_msg_user) - it.positiveText(R.string.txtOk) - it.onPositive { _, _ -> loginLauncher.launch(Unit) } - it.show() - } + MaterialAlertDialogBuilder(requireActivity()) + .setTitle(R.string.alert_dialog_warning_title) + .setMessage(R.string.alert_dialog_warning_msg_user) + .setPositiveButton(android.R.string.ok) { _, _ -> loginLauncher.launch(Unit) } + .show() } } } diff --git a/app/src/main/java/openfoodfacts/github/scrachx/openfood/features/MainActivity.kt b/app/src/main/java/openfoodfacts/github/scrachx/openfood/features/MainActivity.kt index 7d8958b43340..125a13a3434c 100644 --- a/app/src/main/java/openfoodfacts/github/scrachx/openfood/features/MainActivity.kt +++ b/app/src/main/java/openfoodfacts/github/scrachx/openfood/features/MainActivity.kt @@ -354,7 +354,7 @@ class MainActivity : BaseActivity(), NavigationDrawerListener { ITEM_LOGOUT -> MaterialDialog.Builder(this@MainActivity).run { title(R.string.confirm_logout) content(R.string.logout_dialog_content) - positiveText(R.string.txtOk) + positiveText(android.R.string.ok) negativeText(R.string.dialog_cancel) onPositive { _, _ -> logout() } onNegative { dialog, _ -> @@ -477,7 +477,7 @@ class MainActivity : BaseActivity(), NavigationDrawerListener { MaterialDialog.Builder(this@MainActivity).run { title(R.string.action_about) content(R.string.permission_camera) - neutralText(R.string.txtOk) + neutralText(android.R.string.ok) show().setOnDismissListener { ActivityCompat.requestPermissions( this@MainActivity, @@ -674,7 +674,7 @@ class MainActivity : BaseActivity(), NavigationDrawerListener { val feedbackDialog = MaterialDialog.Builder(this).apply { title(R.string.app_name) content(R.string.user_ask_show_feedback_form) - positiveText(R.string.txtOk) + positiveText(android.R.string.ok) negativeText(R.string.txtNo) onPositive { dialog, _ -> //show feedback form diff --git a/app/src/main/java/openfoodfacts/github/scrachx/openfood/features/allergensalert/AllergensAlertFragment.kt b/app/src/main/java/openfoodfacts/github/scrachx/openfood/features/allergensalert/AllergensAlertFragment.kt index c70e61cc52de..353179bbeabd 100644 --- a/app/src/main/java/openfoodfacts/github/scrachx/openfood/features/allergensalert/AllergensAlertFragment.kt +++ b/app/src/main/java/openfoodfacts/github/scrachx/openfood/features/allergensalert/AllergensAlertFragment.kt @@ -26,6 +26,7 @@ import androidx.lifecycle.lifecycleScope import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView.AdapterDataObserver import com.afollestad.materialdialogs.MaterialDialog +import com.google.android.material.dialog.MaterialAlertDialogBuilder import dagger.hilt.android.AndroidEntryPoint import io.reactivex.android.schedulers.AndroidSchedulers import io.reactivex.rxkotlin.addTo @@ -180,10 +181,10 @@ class AllergensAlertFragment : NavigationBaseFragment() { } .addTo(disp) } else { - MaterialDialog.Builder(requireContext()) - .title(R.string.title_dialog_alert) - .content(R.string.info_download_data_connection) - .neutralText(R.string.txtOk) + MaterialAlertDialogBuilder(requireContext()) + .setTitle(R.string.title_dialog_alert) + .setMessage(R.string.info_download_data_connection) + .setNeutralButton(android.R.string.ok) { d, _ -> d.dismiss() } .show() } } diff --git a/app/src/main/java/openfoodfacts/github/scrachx/openfood/features/compare/ProductCompareActivity.kt b/app/src/main/java/openfoodfacts/github/scrachx/openfood/features/compare/ProductCompareActivity.kt index 7726dddb28d8..7fc5941802cf 100644 --- a/app/src/main/java/openfoodfacts/github/scrachx/openfood/features/compare/ProductCompareActivity.kt +++ b/app/src/main/java/openfoodfacts/github/scrachx/openfood/features/compare/ProductCompareActivity.kt @@ -90,9 +90,9 @@ class ProductCompareActivity : BaseActivity() { if (ContextCompat.checkSelfPermission(this@ProductCompareActivity, Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED) { if (ActivityCompat.shouldShowRequestPermissionRationale(this@ProductCompareActivity, Manifest.permission.CAMERA)) { MaterialDialog.Builder(this@ProductCompareActivity) - .title(R.string.action_about) - .content(R.string.permission_camera) - .neutralText(R.string.txtOk) + .title(R.string.action_about) + .content(R.string.permission_camera) + .neutralText(android.R.string.ok) .onNeutral { _, _ -> ActivityCompat.requestPermissions(this@ProductCompareActivity, arrayOf(Manifest.permission.CAMERA), MY_PERMISSIONS_REQUEST_CAMERA) } diff --git a/app/src/main/java/openfoodfacts/github/scrachx/openfood/features/listeners/CommonBottomListener.kt b/app/src/main/java/openfoodfacts/github/scrachx/openfood/features/listeners/CommonBottomListener.kt index 9c229b5430dc..c79ae0aefc66 100644 --- a/app/src/main/java/openfoodfacts/github/scrachx/openfood/features/listeners/CommonBottomListener.kt +++ b/app/src/main/java/openfoodfacts/github/scrachx/openfood/features/listeners/CommonBottomListener.kt @@ -79,7 +79,7 @@ class CommonBottomListener internal constructor(private val currentActivity: Act MaterialDialog.Builder(currentActivity).run { title(R.string.no_camera_dialog_title) content(R.string.no_camera_dialog_content) - neutralText(R.string.txtOk) + neutralText(android.R.string.ok) show() } @@ -89,9 +89,9 @@ class CommonBottomListener internal constructor(private val currentActivity: Act if (ContextCompat.checkSelfPermission(currentActivity, Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED) { if (currentActivity.hasWindowFocus() && ActivityCompat.shouldShowRequestPermissionRationale(currentActivity, Manifest.permission.CAMERA)) { MaterialDialog.Builder(currentActivity) - .title(R.string.action_about) - .content(R.string.permission_camera) - .neutralText(R.string.txtOk) + .title(R.string.action_about) + .content(R.string.permission_camera) + .neutralText(android.R.string.ok) .onNeutral { _, _ -> ActivityCompat.requestPermissions( currentActivity, diff --git a/app/src/main/java/openfoodfacts/github/scrachx/openfood/features/productlist/ProductListActivity.kt b/app/src/main/java/openfoodfacts/github/scrachx/openfood/features/productlist/ProductListActivity.kt index e604d9a76423..0d99f60bfd98 100644 --- a/app/src/main/java/openfoodfacts/github/scrachx/openfood/features/productlist/ProductListActivity.kt +++ b/app/src/main/java/openfoodfacts/github/scrachx/openfood/features/productlist/ProductListActivity.kt @@ -243,9 +243,9 @@ class ProductListActivity : BaseActivity(), SwipeController.Actions { } shouldShowRequestPermissionRationale(this, perm) -> { MaterialDialog.Builder(this) - .title(R.string.action_about) - .content(R.string.permision_write_external_storage) - .neutralText(R.string.txtOk) + .title(R.string.action_about) + .content(R.string.permision_write_external_storage) + .neutralText(android.R.string.ok) .onNeutral { _, _ -> requestWriteLauncher.launch(perm) } @@ -327,7 +327,7 @@ class ProductListActivity : BaseActivity(), SwipeController.Actions { MaterialDialog.Builder(this).run { title(R.string.action_about) content(R.string.permission_camera) - neutralText(R.string.txtOk) + neutralText(android.R.string.ok) onNeutral { _, _ -> requestCameraLauncher.launch(Manifest.permission.CAMERA) } diff --git a/app/src/main/java/openfoodfacts/github/scrachx/openfood/features/scanhistory/ScanHistoryActivity.kt b/app/src/main/java/openfoodfacts/github/scrachx/openfood/features/scanhistory/ScanHistoryActivity.kt index f4f6fe779029..9cdfd45b63c9 100644 --- a/app/src/main/java/openfoodfacts/github/scrachx/openfood/features/scanhistory/ScanHistoryActivity.kt +++ b/app/src/main/java/openfoodfacts/github/scrachx/openfood/features/scanhistory/ScanHistoryActivity.kt @@ -190,7 +190,7 @@ class ScanHistoryActivity : BaseActivity() { MaterialDialog.Builder(this).run { title(R.string.action_about) content(R.string.permision_write_external_storage) - positiveText(R.string.txtOk) + positiveText(android.R.string.ok) onPositive { _, _ -> storagePermLauncher.launch(Manifest.permission.WRITE_EXTERNAL_STORAGE) } @@ -255,9 +255,9 @@ class ScanHistoryActivity : BaseActivity() { if (ContextCompat.checkSelfPermission(baseContext, perm) != PackageManager.PERMISSION_GRANTED) { if (ActivityCompat.shouldShowRequestPermissionRationale(this, perm)) { MaterialDialog.Builder(this) - .title(R.string.action_about) - .content(R.string.permission_camera) - .positiveText(R.string.txtOk) + .title(R.string.action_about) + .content(R.string.permission_camera) + .positiveText(android.R.string.ok) .onPositive { _, _ -> cameraPermLauncher.launch(perm) } .show() } else { diff --git a/app/src/main/java/openfoodfacts/github/scrachx/openfood/features/search/ProductSearchActivity.kt b/app/src/main/java/openfoodfacts/github/scrachx/openfood/features/search/ProductSearchActivity.kt index 40c7462e97d3..73399d97f94d 100644 --- a/app/src/main/java/openfoodfacts/github/scrachx/openfood/features/search/ProductSearchActivity.kt +++ b/app/src/main/java/openfoodfacts/github/scrachx/openfood/features/search/ProductSearchActivity.kt @@ -284,7 +284,7 @@ class ProductSearchActivity : BaseActivity() { MaterialDialog.Builder(this) .title(R.string.action_about) .content(R.string.permission_camera) - .neutralText(R.string.txtOk) + .neutralText(android.R.string.ok) .onNeutral { _, _ -> ActivityCompat.requestPermissions(this, arrayOf(Manifest.permission.CAMERA), MY_PERMISSIONS_REQUEST_CAMERA) } .show() } else { diff --git a/app/src/main/java/openfoodfacts/github/scrachx/openfood/utils/Utils.kt b/app/src/main/java/openfoodfacts/github/scrachx/openfood/utils/Utils.kt index a5a6be5d76c9..d06b9d834143 100644 --- a/app/src/main/java/openfoodfacts/github/scrachx/openfood/utils/Utils.kt +++ b/app/src/main/java/openfoodfacts/github/scrachx/openfood/utils/Utils.kt @@ -47,6 +47,7 @@ import androidx.core.text.inSpans import androidx.core.view.children import androidx.work.* import com.afollestad.materialdialogs.MaterialDialog +import com.google.android.material.dialog.MaterialAlertDialogBuilder import openfoodfacts.github.scrachx.openfood.BuildConfig import openfoodfacts.github.scrachx.openfood.R import openfoodfacts.github.scrachx.openfood.features.scan.ContinuousScanActivity @@ -73,7 +74,7 @@ object Utils { fun hideKeyboard(activity: Activity) { val view = activity.currentFocus ?: return (activity.getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager) - .hideSoftInputFromWindow(view.windowToken, 0) + .hideSoftInputFromWindow(view.windowToken, 0) } @JvmStatic @@ -140,8 +141,8 @@ object Utils { value.isEmpty() -> "?" value == "0" -> value else -> value.toString().toDoubleOrNull() - ?.let { DecimalFormat("##.##", DecimalFormatSymbols(locale)).format(it) } - ?: "?" + ?.let { DecimalFormat("##.##", DecimalFormatSymbols(locale)).format(it) } + ?: "?" } /** @@ -204,7 +205,7 @@ object Utils { fun isExternalStorageWritable() = Environment.MEDIA_MOUNTED == Environment.getExternalStorageState() fun getOutputPicUri(context: Context): Uri = - File(makeOrGetPictureDirectory(context), "${System.currentTimeMillis()}.jpg").toUri() + File(makeOrGetPictureDirectory(context), "${System.currentTimeMillis()}.jpg").toUri() /** * Function to open ContinuousScanActivity to facilitate scanning @@ -214,14 +215,18 @@ object Utils { fun scan(activity: Activity) { if (ContextCompat.checkSelfPermission(activity, Manifest.permission.CAMERA) != PERMISSION_GRANTED) { if (ActivityCompat.shouldShowRequestPermissionRationale(activity, Manifest.permission.CAMERA)) { - MaterialDialog.Builder(activity) - .title(R.string.action_about) - .content(R.string.permission_camera) - .neutralText(R.string.txtOk) - .show().setOnDismissListener { - ActivityCompat.requestPermissions(activity, arrayOf(Manifest.permission.CAMERA), - MY_PERMISSIONS_REQUEST_CAMERA) - } + MaterialAlertDialogBuilder(activity) + .setTitle(R.string.action_about) + .setMessage(R.string.permission_camera) + .setPositiveButton(android.R.string.ok) { d, _ -> + ActivityCompat.requestPermissions( + activity, arrayOf(Manifest.permission.CAMERA), + MY_PERMISSIONS_REQUEST_CAMERA + ) + d.dismiss() + } + .setNegativeButton(android.R.string.cancel) { d, _ -> d.dismiss() } + .show() } else { ActivityCompat.requestPermissions(activity, arrayOf(Manifest.permission.CAMERA), MY_PERMISSIONS_REQUEST_CAMERA) } @@ -235,12 +240,12 @@ object Utils { } fun isAllGranted(grantResults: IntArray) = - grantResults.isNotEmpty() && grantResults.none { it != PERMISSION_GRANTED } + grantResults.isNotEmpty() && grantResults.none { it != PERMISSION_GRANTED } fun buildSignInDialog(activity: Activity): MaterialDialog.Builder = MaterialDialog.Builder(activity) - .title(R.string.sign_in_to_edit) - .positiveText(R.string.txtSignIn) - .negativeText(R.string.dialog_cancel) + .title(R.string.sign_in_to_edit) + .positiveText(R.string.txtSignIn) + .negativeText(R.string.dialog_cancel) /** @@ -264,7 +269,8 @@ private fun decodeFile(f: File): Bitmap? { // Find the correct scale value. It should be the power of 2. var scale = 1 while (o.outWidth / scale / 2 >= REQUIRED_SIZE && - o.outHeight / scale / 2 >= REQUIRED_SIZE) { + o.outHeight / scale / 2 >= REQUIRED_SIZE + ) { scale *= 2 } @@ -363,9 +369,9 @@ fun isBarcodeValid(barcode: String?): Boolean { */ fun isHardwareCameraInstalled(context: Context) = context.packageManager.hasSystemFeature(PackageManager.FEATURE_CAMERA) fun getSearchLinkText( - text: String, - type: SearchType, - activityToStart: Activity + text: String, + type: SearchType, + activityToStart: Activity ): CharSequence = SpannableStringBuilder().inSpans(object : ClickableSpan() { override fun onClick(view: View) = start(activityToStart, type, text) }) { append(text) } \ No newline at end of file