diff --git a/src/main/java/com/nutomic/syncthingandroid/fragments/DeviceListFragment.java b/src/main/java/com/nutomic/syncthingandroid/fragments/DeviceListFragment.java index b9b454ad..eaa6e738 100644 --- a/src/main/java/com/nutomic/syncthingandroid/fragments/DeviceListFragment.java +++ b/src/main/java/com/nutomic/syncthingandroid/fragments/DeviceListFragment.java @@ -13,9 +13,13 @@ import android.widget.ListView; import com.nutomic.syncthingandroid.R; import com.nutomic.syncthingandroid.activities.SettingsActivity; import com.nutomic.syncthingandroid.activities.SyncthingActivity; +import com.nutomic.syncthingandroid.syncthing.RestApi; import com.nutomic.syncthingandroid.syncthing.SyncthingService; import com.nutomic.syncthingandroid.util.DevicesAdapter; +import java.util.Collections; +import java.util.Comparator; +import java.util.List; import java.util.Timer; import java.util.TimerTask; @@ -25,6 +29,13 @@ import java.util.TimerTask; public class DeviceListFragment extends ListFragment implements SyncthingService.OnApiChangeListener, ListView.OnItemClickListener { + private final static Comparator DEVICES_COMPARATOR = new Comparator() { + @Override + public int compare(RestApi.Device lhs, RestApi.Device rhs) { + return lhs.name.compareTo(rhs.name); + } + }; + private DevicesAdapter mAdapter; private Timer mTimer; @@ -94,7 +105,9 @@ public class DeviceListFragment extends ListFragment implements SyncthingService } mAdapter.clear(); - mAdapter.add(activity.getApi().getDevices(false)); + List devices = activity.getApi().getDevices(false); + Collections.sort(devices, DEVICES_COMPARATOR); + mAdapter.addAll(devices); mAdapter.updateConnections(activity.getApi()); setListShown(true); } diff --git a/src/main/java/com/nutomic/syncthingandroid/fragments/FolderListFragment.java b/src/main/java/com/nutomic/syncthingandroid/fragments/FolderListFragment.java index d157d790..0d9802b9 100644 --- a/src/main/java/com/nutomic/syncthingandroid/fragments/FolderListFragment.java +++ b/src/main/java/com/nutomic/syncthingandroid/fragments/FolderListFragment.java @@ -13,9 +13,13 @@ import android.widget.AdapterView; import com.nutomic.syncthingandroid.R; import com.nutomic.syncthingandroid.activities.SettingsActivity; import com.nutomic.syncthingandroid.activities.SyncthingActivity; +import com.nutomic.syncthingandroid.syncthing.RestApi; import com.nutomic.syncthingandroid.syncthing.SyncthingService; import com.nutomic.syncthingandroid.util.FoldersAdapter; +import java.util.Collections; +import java.util.Comparator; +import java.util.List; import java.util.Timer; import java.util.TimerTask; @@ -25,6 +29,13 @@ import java.util.TimerTask; public class FolderListFragment extends ListFragment implements SyncthingService.OnApiChangeListener, AdapterView.OnItemClickListener, AdapterView.OnItemLongClickListener { + private final static Comparator FOLDERS_COMPARATOR = new Comparator() { + @Override + public int compare(RestApi.Folder lhs, RestApi.Folder rhs) { + return lhs.id.compareTo(rhs.id); + } + }; + private FoldersAdapter mAdapter; private Timer mTimer; @@ -95,7 +106,9 @@ public class FolderListFragment extends ListFragment implements SyncthingService } mAdapter.clear(); - mAdapter.add(activity.getApi().getFolders()); + List folders = activity.getApi().getFolders(); + Collections.sort(folders, FOLDERS_COMPARATOR); + mAdapter.addAll(folders); mAdapter.updateModel(activity.getApi()); setListShown(true); } diff --git a/src/main/java/com/nutomic/syncthingandroid/util/DevicesAdapter.java b/src/main/java/com/nutomic/syncthingandroid/util/DevicesAdapter.java index 68b4c1b6..93ce5f8b 100644 --- a/src/main/java/com/nutomic/syncthingandroid/util/DevicesAdapter.java +++ b/src/main/java/com/nutomic/syncthingandroid/util/DevicesAdapter.java @@ -6,15 +6,12 @@ import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ArrayAdapter; -import android.widget.ListView; import android.widget.TextView; import com.nutomic.syncthingandroid.R; import com.nutomic.syncthingandroid.syncthing.RestApi; -import java.util.Comparator; import java.util.HashMap; -import java.util.List; import java.util.Map; /** @@ -26,13 +23,6 @@ public class DevicesAdapter extends ArrayAdapter private Map mConnections = new HashMap<>(); - private final static Comparator COMPARATOR = new Comparator() { - @Override - public int compare(RestApi.Device lhs, RestApi.Device rhs) { - return lhs.name.compareTo(rhs.name); - } - }; - public DevicesAdapter(Context context) { super(context, R.layout.item_device_list); } @@ -77,24 +67,6 @@ public class DevicesAdapter extends ArrayAdapter return convertView; } - /** - * Replacement for addAll, which is not implemented on lower API levels. - */ - public void add(List devices) { - for (RestApi.Device n : devices) { - add(n); - } - } - - /** - * Sorts adapter after insert. - */ - @Override - public void add(RestApi.Device device) { - super.add(device); - sort(COMPARATOR); - } - /** * Requests new connection info for all devices visible in listView. */ diff --git a/src/main/java/com/nutomic/syncthingandroid/util/FoldersAdapter.java b/src/main/java/com/nutomic/syncthingandroid/util/FoldersAdapter.java index 157f6fd3..39805fc3 100644 --- a/src/main/java/com/nutomic/syncthingandroid/util/FoldersAdapter.java +++ b/src/main/java/com/nutomic/syncthingandroid/util/FoldersAdapter.java @@ -2,21 +2,17 @@ package com.nutomic.syncthingandroid.util; import android.content.Context; import android.text.TextUtils; -import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ArrayAdapter; -import android.widget.ListView; import android.widget.TextView; import com.nutomic.syncthingandroid.BuildConfig; import com.nutomic.syncthingandroid.R; import com.nutomic.syncthingandroid.syncthing.RestApi; -import java.util.Comparator; import java.util.HashMap; -import java.util.List; import static android.view.View.GONE; import static android.view.View.VISIBLE; @@ -31,13 +27,6 @@ public class FoldersAdapter extends ArrayAdapter private HashMap mModels = new HashMap<>(); private LayoutInflater mInflater; - private final static Comparator COMPARATOR = new Comparator() { - @Override - public int compare(RestApi.Folder lhs, RestApi.Folder rhs) { - return lhs.id.compareTo(rhs.id); - } - }; - public FoldersAdapter(Context context) { super(context, R.layout.item_folder_list); mInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); @@ -101,24 +90,6 @@ public class FoldersAdapter extends ArrayAdapter return ""; } - /** - * Replacement for addAll, which is not implemented on lower API levels. - */ - public void add(List devices) { - for (RestApi.Folder r : devices) { - add(r); - } - } - - /** - * Sorts adapter after insert. - */ - @Override - public void add(RestApi.Folder object) { - super.add(object); - sort(COMPARATOR); - } - /** * Requests updated model info from the api for all visible items. */