mirror of
https://framagit.org/tom79/nitterizeme
synced 2025-02-10 16:50:49 +01:00
Remove asynctask
This commit is contained in:
parent
4cc1ca67e2
commit
1bdf69d569
@ -36,7 +36,7 @@ import app.fedilab.nitterizeme.BuildConfig;
|
||||
import app.fedilab.nitterizeme.R;
|
||||
import app.fedilab.nitterizeme.entities.AppInfo;
|
||||
|
||||
public class AppInfoAdapter extends RecyclerView.Adapter {
|
||||
public class AppInfoAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
|
||||
|
||||
private static final int LAYOUT_TITLE = 0;
|
||||
private static final int LAYOUT_INFO = 1;
|
||||
|
@ -37,7 +37,7 @@ import app.fedilab.nitterizeme.entities.DefaultApp;
|
||||
import app.fedilab.nitterizeme.sqlite.DefaultAppDAO;
|
||||
import app.fedilab.nitterizeme.sqlite.Sqlite;
|
||||
|
||||
public class DefaultAppAdapter extends RecyclerView.Adapter {
|
||||
public class DefaultAppAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
|
||||
|
||||
private List<DefaultApp> defaultApps;
|
||||
|
||||
|
@ -42,7 +42,7 @@ import static app.fedilab.nitterizeme.activities.MainActivity.SET_BIBLIOGRAM_HOS
|
||||
import static app.fedilab.nitterizeme.activities.MainActivity.SET_INVIDIOUS_HOST;
|
||||
import static app.fedilab.nitterizeme.activities.MainActivity.SET_NITTER_HOST;
|
||||
|
||||
public class InstanceAdapter extends RecyclerView.Adapter {
|
||||
public class InstanceAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
|
||||
|
||||
private List<Instance> instances;
|
||||
private InstanceAdapter instanceAdapter;
|
||||
|
@ -16,6 +16,8 @@ package app.fedilab.nitterizeme.viewmodels;
|
||||
import android.app.Activity;
|
||||
import android.content.Context;
|
||||
import android.content.SharedPreferences;
|
||||
import android.os.Handler;
|
||||
import android.os.Looper;
|
||||
|
||||
import androidx.lifecycle.LiveData;
|
||||
import androidx.lifecycle.MutableLiveData;
|
||||
@ -57,86 +59,94 @@ public class SearchInstanceVM extends ViewModel {
|
||||
}
|
||||
|
||||
private void loadInstances() {
|
||||
HttpsURLConnection httpsURLConnection;
|
||||
try {
|
||||
String instances_url = "https://fedilab.app/untrackme_instances/payload_2.json";
|
||||
URL url = new URL(instances_url);
|
||||
httpsURLConnection = (HttpsURLConnection) url.openConnection();
|
||||
httpsURLConnection.setConnectTimeout(10 * 1000);
|
||||
httpsURLConnection.setRequestProperty("http.keepAlive", "false");
|
||||
httpsURLConnection.setRequestProperty("Content-Type", "application/json");
|
||||
httpsURLConnection.setRequestProperty("Accept", "application/json");
|
||||
httpsURLConnection.setRequestMethod("GET");
|
||||
httpsURLConnection.setDefaultUseCaches(true);
|
||||
httpsURLConnection.setUseCaches(true);
|
||||
String response = null;
|
||||
if (httpsURLConnection.getResponseCode() >= 200 && httpsURLConnection.getResponseCode() < 400) {
|
||||
java.util.Scanner s = new java.util.Scanner(httpsURLConnection.getInputStream()).useDelimiter("\\A");
|
||||
response = s.hasNext() ? s.next() : "";
|
||||
}
|
||||
httpsURLConnection.getInputStream().close();
|
||||
SharedPreferences sharedpreferences = activityWeakReference.get().getSharedPreferences(APP_PREFS, Context.MODE_PRIVATE);
|
||||
String defaultInvidious = sharedpreferences.getString(SET_INVIDIOUS_HOST, DEFAULT_INVIDIOUS_HOST);
|
||||
String defaultNitter = sharedpreferences.getString(SET_NITTER_HOST, DEFAULT_NITTER_HOST);
|
||||
String defaultBibliogram = sharedpreferences.getString(SET_BIBLIOGRAM_HOST, DEFAULT_BIBLIOGRAM_HOST);
|
||||
ArrayList<Instance> instances = new ArrayList<>();
|
||||
if( response != null) {
|
||||
Thread thread = new Thread() {
|
||||
@Override
|
||||
public void run() {
|
||||
HttpsURLConnection httpsURLConnection;
|
||||
try {
|
||||
JSONObject jsonObject = new JSONObject(response);
|
||||
JSONArray jsonArrayInvidious = jsonObject.getJSONArray("invidious");
|
||||
JSONArray jsonArrayNitter = jsonObject.getJSONArray("nitter");
|
||||
JSONArray jsonArrayBibliogram = jsonObject.getJSONArray("bibliogram");
|
||||
String instances_url = "https://fedilab.app/untrackme_instances/payload_2.json";
|
||||
URL url = new URL(instances_url);
|
||||
httpsURLConnection = (HttpsURLConnection) url.openConnection();
|
||||
httpsURLConnection.setConnectTimeout(10 * 1000);
|
||||
httpsURLConnection.setRequestProperty("http.keepAlive", "false");
|
||||
httpsURLConnection.setRequestProperty("Content-Type", "application/json");
|
||||
httpsURLConnection.setRequestProperty("Accept", "application/json");
|
||||
httpsURLConnection.setRequestMethod("GET");
|
||||
httpsURLConnection.setDefaultUseCaches(true);
|
||||
httpsURLConnection.setUseCaches(true);
|
||||
String response = null;
|
||||
if (httpsURLConnection.getResponseCode() >= 200 && httpsURLConnection.getResponseCode() < 400) {
|
||||
java.util.Scanner s = new java.util.Scanner(httpsURLConnection.getInputStream()).useDelimiter("\\A");
|
||||
response = s.hasNext() ? s.next() : "";
|
||||
}
|
||||
httpsURLConnection.getInputStream().close();
|
||||
SharedPreferences sharedpreferences = activityWeakReference.get().getSharedPreferences(APP_PREFS, Context.MODE_PRIVATE);
|
||||
String defaultInvidious = sharedpreferences.getString(SET_INVIDIOUS_HOST, DEFAULT_INVIDIOUS_HOST);
|
||||
String defaultNitter = sharedpreferences.getString(SET_NITTER_HOST, DEFAULT_NITTER_HOST);
|
||||
String defaultBibliogram = sharedpreferences.getString(SET_BIBLIOGRAM_HOST, DEFAULT_BIBLIOGRAM_HOST);
|
||||
ArrayList<Instance> instances = new ArrayList<>();
|
||||
if( response != null) {
|
||||
try {
|
||||
JSONObject jsonObject = new JSONObject(response);
|
||||
JSONArray jsonArrayInvidious = jsonObject.getJSONArray("invidious");
|
||||
JSONArray jsonArrayNitter = jsonObject.getJSONArray("nitter");
|
||||
JSONArray jsonArrayBibliogram = jsonObject.getJSONArray("bibliogram");
|
||||
|
||||
for (int i = 0; i < jsonArrayInvidious.length(); i++) {
|
||||
Instance instance = new Instance();
|
||||
String domain = jsonArrayInvidious.getJSONObject(i).getString("domain");
|
||||
boolean cloudFlare = jsonArrayInvidious.getJSONObject(i).getBoolean("cloudflare");
|
||||
String locale = jsonArrayInvidious.getJSONObject(i).getString("locale");
|
||||
instance.setDomain(domain);
|
||||
instance.setCloudflare(cloudFlare);
|
||||
instance.setLocale(locale);
|
||||
instance.setType(Instance.instanceType.INVIDIOUS);
|
||||
if (defaultInvidious != null && domain.compareTo(defaultInvidious) == 0) {
|
||||
instance.setChecked(true);
|
||||
for (int i = 0; i < jsonArrayInvidious.length(); i++) {
|
||||
Instance instance = new Instance();
|
||||
String domain = jsonArrayInvidious.getJSONObject(i).getString("domain");
|
||||
boolean cloudFlare = jsonArrayInvidious.getJSONObject(i).getBoolean("cloudflare");
|
||||
String locale = jsonArrayInvidious.getJSONObject(i).getString("locale");
|
||||
instance.setDomain(domain);
|
||||
instance.setCloudflare(cloudFlare);
|
||||
instance.setLocale(locale);
|
||||
instance.setType(Instance.instanceType.INVIDIOUS);
|
||||
if (defaultInvidious != null && domain.compareTo(defaultInvidious) == 0) {
|
||||
instance.setChecked(true);
|
||||
}
|
||||
instances.add(instance);
|
||||
}
|
||||
for (int i = 0; i < jsonArrayNitter.length(); i++) {
|
||||
Instance instance = new Instance();
|
||||
String domain = jsonArrayNitter.getJSONObject(i).getString("domain");
|
||||
boolean cloudFlare = jsonArrayNitter.getJSONObject(i).getBoolean("cloudflare");
|
||||
String locale = jsonArrayNitter.getJSONObject(i).getString("locale");
|
||||
instance.setDomain(domain);
|
||||
instance.setCloudflare(cloudFlare);
|
||||
instance.setLocale(locale);
|
||||
instance.setType(Instance.instanceType.NITTER);
|
||||
if (defaultNitter != null && domain.compareTo(defaultNitter) == 0) {
|
||||
instance.setChecked(true);
|
||||
}
|
||||
instances.add(instance);
|
||||
}
|
||||
for (int i = 0; i < jsonArrayBibliogram.length(); i++) {
|
||||
Instance instance = new Instance();
|
||||
String domain = jsonArrayBibliogram.getJSONObject(i).getString("domain");
|
||||
boolean cloudFlare = jsonArrayBibliogram.getJSONObject(i).getBoolean("cloudflare");
|
||||
String locale = jsonArrayBibliogram.getJSONObject(i).getString("locale");
|
||||
instance.setDomain(domain);
|
||||
instance.setCloudflare(cloudFlare);
|
||||
instance.setLocale(locale);
|
||||
instance.setType(Instance.instanceType.BIBLIOGRAM);
|
||||
if (defaultBibliogram != null && domain.compareTo(defaultBibliogram) == 0) {
|
||||
instance.setChecked(true);
|
||||
}
|
||||
instances.add(instance);
|
||||
}
|
||||
Handler mainHandler = new Handler(Looper.getMainLooper());
|
||||
Runnable myRunnable = () -> instancesMLD.setValue(instances);
|
||||
mainHandler.post(myRunnable);
|
||||
} catch (JSONException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
instances.add(instance);
|
||||
}
|
||||
for (int i = 0; i < jsonArrayNitter.length(); i++) {
|
||||
Instance instance = new Instance();
|
||||
String domain = jsonArrayNitter.getJSONObject(i).getString("domain");
|
||||
boolean cloudFlare = jsonArrayNitter.getJSONObject(i).getBoolean("cloudflare");
|
||||
String locale = jsonArrayNitter.getJSONObject(i).getString("locale");
|
||||
instance.setDomain(domain);
|
||||
instance.setCloudflare(cloudFlare);
|
||||
instance.setLocale(locale);
|
||||
instance.setType(Instance.instanceType.NITTER);
|
||||
if (defaultNitter != null && domain.compareTo(defaultNitter) == 0) {
|
||||
instance.setChecked(true);
|
||||
}
|
||||
instances.add(instance);
|
||||
}
|
||||
for (int i = 0; i < jsonArrayBibliogram.length(); i++) {
|
||||
Instance instance = new Instance();
|
||||
String domain = jsonArrayBibliogram.getJSONObject(i).getString("domain");
|
||||
boolean cloudFlare = jsonArrayBibliogram.getJSONObject(i).getBoolean("cloudflare");
|
||||
String locale = jsonArrayBibliogram.getJSONObject(i).getString("locale");
|
||||
instance.setDomain(domain);
|
||||
instance.setCloudflare(cloudFlare);
|
||||
instance.setLocale(locale);
|
||||
instance.setType(Instance.instanceType.BIBLIOGRAM);
|
||||
if (defaultBibliogram != null && domain.compareTo(defaultBibliogram) == 0) {
|
||||
instance.setChecked(true);
|
||||
}
|
||||
instances.add(instance);
|
||||
}
|
||||
instancesMLD.setValue(instances);
|
||||
} catch (JSONException e) {
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
};
|
||||
thread.start();
|
||||
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user