@Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { Juice juice = (Juice) buttonView.getTag(); if (juice != null) { juice.available = !juice.available; setJuiceAvailability(juice); } }
/** * 購入可能レポートを取得する。 * * @return 購入可能情報 */ public PurchasableReport getPurchasable() { PurchasableReport list = new PurchasableReport(); for (Juice juice : juiceStock.getJuices()) { if (juiceStock.isInStock(juice) && juice.isEnough(getCreditAmount())) { list.add(juice); } } return list; }
/** * ジュースを購入する。 * * @param juice 購入したいジュース */ public void purchase(Juice juice) { if (!juice.isEnough(getCreditAmount())) { return; } if (juiceStock.isInStock(juice)) { juiceStock.remove(juice); moneyFlow.purchase(juice.getPrice()); } }
private void setJuiceAvailability(final Juice juice) { Log.d(TAG, "setJuiceAvailability: " + juice.asJson()); getServer() .updateJuice( new TypedJsonString(juice.asJson()), new Callback<Response>() { @Override public void success(Response response, Response response2) { Log.d(TAG, "Updated juice availibility"); } @Override public void failure(RetrofitError error) { Log.d(TAG, "failed to update juice availibility"); juice.available = !juice.available; } }); }