diff --git a/.idea/caches/build_file_checksums.ser b/.idea/caches/build_file_checksums.ser index e7ae847..850ea02 100644 Binary files a/.idea/caches/build_file_checksums.ser and b/.idea/caches/build_file_checksums.ser differ diff --git a/app/src/main/java/ch/pizzaleu/android/fragment/createOrder/ShippingAddressFragment.java b/app/src/main/java/ch/pizzaleu/android/fragment/createOrder/ShippingAddressFragment.java index 5db1f56..2dbb01a 100644 --- a/app/src/main/java/ch/pizzaleu/android/fragment/createOrder/ShippingAddressFragment.java +++ b/app/src/main/java/ch/pizzaleu/android/fragment/createOrder/ShippingAddressFragment.java @@ -10,6 +10,8 @@ import android.view.ViewGroup; import android.widget.Button; import java.util.ArrayList; +import java.util.Collections; +import java.util.Comparator; import butterknife.BindString; import butterknife.BindView; @@ -155,13 +157,21 @@ public class ShippingAddressFragment extends CreateOrderBaseFragment { if(addressList.size() != 0){ - if(!newAddressId.isEmpty()){ - sortAddresses(); - } + sortAddresses(); CreateOrderActivity createOrderActivity = (CreateOrderActivity) BaseActivity.currentActivity; - if(createOrderActivity.getSelectedShippingAddress() == null){ + if(!newAddressId.isEmpty()){ + for(AddressModel addressModel : addressModels){ + if(addressModel.getId().equals(newAddressId)){ + addressModel.setSelected(true); + selectedAddress = addressModel; + createOrderActivity.setSelectedShippingAddress(addressModel); + break; + } + } + } + else if(createOrderActivity.getSelectedShippingAddress() == null){ addressList.get(0).setSelected(true); selectedAddress = addressList.get(0); } @@ -197,23 +207,20 @@ public class ShippingAddressFragment extends CreateOrderBaseFragment { } private void sortAddresses(){ - - ArrayList tempAddressList = new ArrayList<>(); - - for(AddressModel addressModel : addressList){ - if(addressModel.getId().equals(newAddressId)){ - tempAddressList.add(addressModel); - break; - } - } - - for(AddressModel addressModel : addressList){ - if(!addressModel.getId().equals(newAddressId)){ - tempAddressList.add(addressModel); - } - } - - addressList.clear(); - addressList.addAll(tempAddressList); + Collections.sort( + addressList, + new Comparator() { + @Override + public int compare(AddressModel a1, AddressModel a2) { + try { + int id1 = Integer.parseInt(a1.getId()); + int id2 = Integer.parseInt(a2.getId()); + return id2 - id1; + }catch (Exception e){ + return a2.getId().compareTo(a1.getId()); + } + } + } + ); } } \ No newline at end of file