extract URL creation and shift paramters to retrofit API

Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
This commit is contained in:
Andy Scherzinger 2023-05-17 18:59:04 +02:00
parent 325be4b9f6
commit b779a01c27
No known key found for this signature in database
GPG Key ID: 6CADC7E3523C308B
3 changed files with 16 additions and 11 deletions

View File

@ -659,5 +659,8 @@ public interface NcApi {
@POST
Observable<TranslationsOverall> translateMessage(@Header("Authorization") String authorization,
@Url String url);
@Url String url,
@Query("text") String text,
@Query("toLanguage") String toLanguage,
@Nullable @Query("fromLanguage") String fromLanguage);
}

View File

@ -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"
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<TranslationsOverall> {

View File

@ -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";
}
}