From b779a01c274919c464a40ec3e71cfc947071bb92 Mon Sep 17 00:00:00 2001 From: Andy Scherzinger Date: Wed, 17 May 2023 18:59:04 +0200 Subject: [PATCH] extract URL creation and shift paramters to retrofit API Signed-off-by: Andy Scherzinger --- .../java/com/nextcloud/talk/api/NcApi.java | 5 ++++- .../talk/translate/TranslateActivity.kt | 18 ++++++++---------- .../com/nextcloud/talk/utils/ApiUtils.java | 4 ++++ 3 files changed, 16 insertions(+), 11 deletions(-) diff --git a/app/src/main/java/com/nextcloud/talk/api/NcApi.java b/app/src/main/java/com/nextcloud/talk/api/NcApi.java index 77e6c3ac7..6bf7f984c 100644 --- a/app/src/main/java/com/nextcloud/talk/api/NcApi.java +++ b/app/src/main/java/com/nextcloud/talk/api/NcApi.java @@ -659,5 +659,8 @@ public interface NcApi { @POST Observable translateMessage(@Header("Authorization") String authorization, - @Url String url); + @Url String url, + @Query("text") String text, + @Query("toLanguage") String toLanguage, + @Nullable @Query("fromLanguage") String fromLanguage); } diff --git a/app/src/main/java/com/nextcloud/talk/translate/TranslateActivity.kt b/app/src/main/java/com/nextcloud/talk/translate/TranslateActivity.kt index b2cbd7458..b9bb17e8e 100644 --- a/app/src/main/java/com/nextcloud/talk/translate/TranslateActivity.kt +++ b/app/src/main/java/com/nextcloud/talk/translate/TranslateActivity.kt @@ -112,12 +112,11 @@ class TranslateActivity : BaseActivity() { private fun getLanguageOptions() { val currentUser: User = userManager.currentUser.blockingGet() val json = JSONArray(CapabilitiesUtilNew.getLanguages(currentUser).toString()) - Log.i(TAG, "json is: $json") val fromLanguagesSet = mutableSetOf(resources.getString(R.string.translation_detect_language)) val toLanguagesSet = mutableSetOf(resources.getString(R.string.translation_device_settings)) - for (i in 0..json.length() - 1) { + for (i in 0 until json.length()) { val current = json.getJSONObject(i) if (current.getString(FROM_ID) != Locale.getDefault().language) { toLanguagesSet.add(current.getString(FROM_LABEL)) @@ -140,16 +139,15 @@ class TranslateActivity : BaseActivity() { private fun translate(fromLanguage: String?, toLanguage: String) { val currentUser: User = userManager.currentUser.blockingGet() val credentials: String = ApiUtils.getCredentials(currentUser.username, currentUser.token) - val translateURL = currentUser.baseUrl + - "/ocs/v2.php/translation/translate?text=$text&toLanguage=$toLanguage" + - if (fromLanguage != null && fromLanguage != "") { - "&fromLanguage=$fromLanguage" - } else { - "" - } + val translateURL = ApiUtils.getUrlForTranslation(currentUser.baseUrl) + val calculatedFromLanguage = if (fromLanguage == null || fromLanguage == "") { + null + } else { + fromLanguage + } Log.i(TAG, "Url is: $translateURL") - ncApi.translateMessage(credentials, translateURL) + ncApi.translateMessage(credentials, translateURL, text, toLanguage, calculatedFromLanguage) ?.subscribeOn(Schedulers.io()) ?.observeOn(AndroidSchedulers.mainThread()) ?.subscribe(object : Observer { diff --git a/app/src/main/java/com/nextcloud/talk/utils/ApiUtils.java b/app/src/main/java/com/nextcloud/talk/utils/ApiUtils.java index bc4b04027..7c209e574 100644 --- a/app/src/main/java/com/nextcloud/talk/utils/ApiUtils.java +++ b/app/src/main/java/com/nextcloud/talk/utils/ApiUtils.java @@ -526,4 +526,8 @@ public class ApiUtils { public static String getUrlForConversationDescription(int version, String baseUrl, String token) { return getUrlForRoom(version, baseUrl, token) + "/description"; } + + public static String getUrlForTranslation(String baseUrl) { + return baseUrl + ocsApiVersion + "/translation/translate"; + } }