diff --git a/app/src/main/java/fr/free/nrw/commons/category/CategorizationFragment.java b/app/src/main/java/fr/free/nrw/commons/category/CategorizationFragment.java index c826013f0..fd3d02c31 100644 --- a/app/src/main/java/fr/free/nrw/commons/category/CategorizationFragment.java +++ b/app/src/main/java/fr/free/nrw/commons/category/CategorizationFragment.java @@ -1,5 +1,6 @@ package fr.free.nrw.commons.category; + import android.app.Activity; import android.content.SharedPreferences; import android.os.Bundle; diff --git a/app/src/main/java/fr/free/nrw/commons/upload/SingleUploadFragment.java b/app/src/main/java/fr/free/nrw/commons/upload/SingleUploadFragment.java index 099790495..50e22396a 100644 --- a/app/src/main/java/fr/free/nrw/commons/upload/SingleUploadFragment.java +++ b/app/src/main/java/fr/free/nrw/commons/upload/SingleUploadFragment.java @@ -9,6 +9,7 @@ import android.net.Uri; import android.os.Bundle; import android.preference.PreferenceManager; import android.support.annotation.NonNull; +import android.support.v4.view.ViewCompat; import android.support.v7.app.AlertDialog; import android.text.Editable; import android.text.TextWatcher; @@ -228,35 +229,40 @@ public class SingleUploadFragment extends CommonsDaggerSupportFragment { */ @OnTouch(R.id.titleEdit) boolean titleInfo(View view, MotionEvent motionEvent) { - //Should replace right with end to support different right-to-left languages as well - final int value = titleEdit.getRight() - titleEdit.getCompoundDrawables()[2].getBounds().width(); - - if (motionEvent.getAction() == ACTION_UP && motionEvent.getRawX() >= value) { - new AlertDialog.Builder(getContext()) - .setTitle(R.string.media_detail_title) - .setMessage(R.string.title_info) - .setCancelable(true) - .setNeutralButton(android.R.string.ok, (dialog, id) -> dialog.cancel()) - .create() - .show(); - return true; + final int value; + if (ViewCompat.getLayoutDirection(getView()) == ViewCompat.LAYOUT_DIRECTION_LTR) { + value = titleEdit.getRight() - titleEdit.getCompoundDrawables()[2].getBounds().width(); + if (motionEvent.getAction() == ACTION_UP && motionEvent.getRawX() >= value) { + showInfoAlert(R.string.media_detail_title, R.string.title_info); + return true; + } + } + else { + value = titleEdit.getLeft() + titleEdit.getCompoundDrawables()[0].getBounds().width(); + if (motionEvent.getAction() == ACTION_UP && motionEvent.getRawX() <= value) { + showInfoAlert(R.string.media_detail_title, R.string.title_info); + return true; + } } return false; } @OnTouch(R.id.descEdit) boolean descriptionInfo(View view, MotionEvent motionEvent) { - final int value = descEdit.getRight() - descEdit.getCompoundDrawables()[2].getBounds().width(); - - if (motionEvent.getAction() == ACTION_UP && motionEvent.getRawX() >= value) { - new AlertDialog.Builder(getContext()) - .setTitle(R.string.media_detail_description) - .setMessage(R.string.description_info) - .setCancelable(true) - .setNeutralButton(android.R.string.ok, (dialog, id) -> dialog.cancel()) - .create() - .show(); - return true; + final int value; + if (ViewCompat.getLayoutDirection(getView()) == ViewCompat.LAYOUT_DIRECTION_LTR) { + value = descEdit.getRight() - descEdit.getCompoundDrawables()[2].getBounds().width(); + if (motionEvent.getAction() == ACTION_UP && motionEvent.getRawX() >= value) { + showInfoAlert(R.string.media_detail_description,R.string.description_info); + return true; + } + } + else{ + value = descEdit.getLeft() + descEdit.getCompoundDrawables()[0].getBounds().width(); + if (motionEvent.getAction() == ACTION_UP && motionEvent.getRawX() <= value) { + showInfoAlert(R.string.media_detail_description,R.string.description_info); + return true; + } } return false; } @@ -321,4 +327,14 @@ public class SingleUploadFragment extends CommonsDaggerSupportFragment { } } } + + private void showInfoAlert (int titleStringID, int messageStringID){ + new AlertDialog.Builder(getContext()) + .setTitle(titleStringID) + .setMessage(messageStringID) + .setCancelable(true) + .setNeutralButton(android.R.string.ok, (dialog, id) -> dialog.cancel()) + .create() + .show(); + } }