mirror of
https://codeberg.org/tom79/Fedilab.git
synced 2025-07-15 16:10:32 +03:00
Fix #1163 - Posting messages does not work on some Friendica instances
This commit is contained in:
parent
59c05e35fd
commit
c2683995a1
2 changed files with 17 additions and 12 deletions
|
@ -2139,6 +2139,22 @@ public class Helper {
|
|||
.build();
|
||||
}
|
||||
|
||||
public static OkHttpClient myPostOkHttpClient(Context context) {
|
||||
return new OkHttpClient.Builder()
|
||||
.addInterceptor(chain -> {
|
||||
Request originalRequest = chain.request();
|
||||
Request requestWithUserAgent = originalRequest.newBuilder()
|
||||
.header("User-Agent", context.getString(R.string.app_name) + "/" + BuildConfig.VERSION_NAME + "/" + BuildConfig.VERSION_CODE)
|
||||
.build();
|
||||
return chain.proceed(requestWithUserAgent);
|
||||
})
|
||||
.readTimeout(120, TimeUnit.SECONDS)
|
||||
.connectTimeout(120, TimeUnit.SECONDS)
|
||||
.callTimeout(120, TimeUnit.SECONDS)
|
||||
.proxy(Helper.getProxy(context))
|
||||
.build();
|
||||
}
|
||||
|
||||
public static String parseHtml(String html) {
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
|
||||
return Html.fromHtml(html, Html.FROM_HTML_MODE_LEGACY).toString();
|
||||
|
|
|
@ -47,9 +47,7 @@ import com.google.gson.Gson;
|
|||
import java.io.IOException;
|
||||
import java.net.IDN;
|
||||
import java.util.ArrayList;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
import java.util.regex.Matcher;
|
||||
|
||||
import app.fedilab.android.BaseMainActivity;
|
||||
|
@ -72,7 +70,6 @@ import app.fedilab.android.mastodon.helper.Helper;
|
|||
import app.fedilab.android.mastodon.ui.drawer.StatusAdapter;
|
||||
import okhttp3.MediaType;
|
||||
import okhttp3.MultipartBody;
|
||||
import okhttp3.OkHttpClient;
|
||||
import okhttp3.RequestBody;
|
||||
import retrofit2.Call;
|
||||
import retrofit2.Response;
|
||||
|
@ -94,19 +91,11 @@ public class ComposeWorker extends Worker {
|
|||
context.getSystemService(NOTIFICATION_SERVICE);
|
||||
}
|
||||
|
||||
private static OkHttpClient getOkHttpClient(Context context) {
|
||||
return new OkHttpClient.Builder()
|
||||
.readTimeout(120, TimeUnit.SECONDS)
|
||||
.connectTimeout(120, TimeUnit.SECONDS)
|
||||
.proxy(Helper.getProxy(context.getApplicationContext()))
|
||||
.build();
|
||||
}
|
||||
|
||||
private static MastodonStatusesService init(Context context, String instance) {
|
||||
Retrofit retrofit = new Retrofit.Builder()
|
||||
.baseUrl("https://" + (instance != null ? IDN.toASCII(instance, IDN.ALLOW_UNASSIGNED) : null) + "/api/v1/")
|
||||
.addConverterFactory(GsonConverterFactory.create(Helper.getDateBuilder()))
|
||||
.client(getOkHttpClient(context))
|
||||
.client(Helper.myPostOkHttpClient(context))
|
||||
.build();
|
||||
return retrofit.create(MastodonStatusesService.class);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue