summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas <tschneider.ac@gmail.com>2022-11-10 18:55:41 +0100
committerThomas <tschneider.ac@gmail.com>2022-11-10 18:55:41 +0100
commitf7c7ea98ad3abbeb5b318fd3488e4daea556c64a (patch)
tree67840f62863deb4bcda5b4a162ec4ed6101f1813
parent9ed4964793c68c58341b8dc228593f213984e240 (diff)
Fix issue #430 - Filter down instances from helper.3.6.3
-rw-r--r--app/src/main/java/app/fedilab/android/interfaces/InstancesSocialService.java2
-rw-r--r--app/src/main/java/app/fedilab/android/viewmodel/mastodon/InstanceSocialVM.java13
2 files changed, 13 insertions, 2 deletions
diff --git a/app/src/main/java/app/fedilab/android/interfaces/InstancesSocialService.java b/app/src/main/java/app/fedilab/android/interfaces/InstancesSocialService.java
index eed29bf86..aba3888a1 100644
--- a/app/src/main/java/app/fedilab/android/interfaces/InstancesSocialService.java
+++ b/app/src/main/java/app/fedilab/android/interfaces/InstancesSocialService.java
@@ -23,7 +23,7 @@ import retrofit2.http.Query;
public interface InstancesSocialService {
- @GET("instances/search?name=true")
+ @GET("instances/search?name=true&count=50")
Call<InstanceSocial> getInstances(@Header("Authorization") String token, @Query("q") String search);
}
diff --git a/app/src/main/java/app/fedilab/android/viewmodel/mastodon/InstanceSocialVM.java b/app/src/main/java/app/fedilab/android/viewmodel/mastodon/InstanceSocialVM.java
index ecbffc630..1fac3f555 100644
--- a/app/src/main/java/app/fedilab/android/viewmodel/mastodon/InstanceSocialVM.java
+++ b/app/src/main/java/app/fedilab/android/viewmodel/mastodon/InstanceSocialVM.java
@@ -22,6 +22,7 @@ import androidx.annotation.NonNull;
import androidx.lifecycle.AndroidViewModel;
import androidx.lifecycle.MutableLiveData;
+import java.util.ArrayList;
import java.util.concurrent.TimeUnit;
import app.fedilab.android.client.entities.app.InstanceSocial;
@@ -73,7 +74,17 @@ public class InstanceSocialVM extends AndroidViewModel {
Response<InstanceSocial> response = instanceSocialCall.execute();
if (response.isSuccessful() && response.body() != null) {
Handler mainHandler = new Handler(Looper.getMainLooper());
- Runnable myRunnable = () -> instanceSocialMutableLiveData.setValue(response.body());
+ InstanceSocial instanceSocial = response.body();
+ InstanceSocial filtered = new InstanceSocial();
+ filtered.instances = new ArrayList<>();
+ if (instanceSocial != null && instanceSocial.instances != null) {
+ for (InstanceSocial.Instance instance : instanceSocial.instances) {
+ if (instance.up) {
+ filtered.instances.add(instance);
+ }
+ }
+ }
+ Runnable myRunnable = () -> instanceSocialMutableLiveData.setValue(filtered);
mainHandler.post(myRunnable);
}
} catch (Exception e) {