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 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 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) {