package com.bitshares.bitshareswallet.viewmodel; import android.arch.lifecycle.LiveData; import android.arch.lifecycle.MediatorLiveData; import android.arch.lifecycle.MutableLiveData; import android.arch.lifecycle.Transformations; import android.arch.lifecycle.ViewModel; import com.bitshares.bitshareswallet.BitsharesApplication; import com.bitshares.bitshareswallet.livedata.StatusChangeLiveData; import com.bitshares.bitshareswallet.repository.AvailableBalanceRepository; import com.bitshares.bitshareswallet.repository.BalanceRepository; import com.bitshares.bitshareswallet.room.BitsharesAsset; import com.bitshares.bitshareswallet.room.BitsharesBalanceAsset; import com.bitshares.bitshareswallet.room.BitsharesDao; import com.bituniverse.network.Resource; import java.util.List; /** * Created by lorne on 02/11/2017. */ public class SellBuyViewModel extends ViewModel { private MutableLiveData<String> currencyData = new MutableLiveData<>(); private StatusChangeLiveData statusChangeLiveData = new StatusChangeLiveData(); public SellBuyViewModel() { } public void changeBalanceAsset(String currency) { currencyData.setValue(currency); } public LiveData<Resource<BitsharesAsset>> getAvaliableBalance() { LiveData<Resource<BitsharesAsset>> balanceData = Transformations.switchMap( Transformations.switchMap(currencyData, input -> { return statusChangeLiveData; }), statusChange -> { return new AvailableBalanceRepository().getTargetAvaliableBlance(currencyData.getValue()); }); return balanceData; } }