package com.mehtank.androminion.ui; import java.io.File; import android.content.Context; import android.graphics.Color; import android.net.Uri; import android.os.Environment; import android.view.ViewGroup; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.TextView; import com.mehtank.androminion.R; public class TurnView extends LinearLayout { @SuppressWarnings("unused") private static final String TAG = "TurnView"; static final int MAXICONS = 5; Context top; static boolean graphical = false; LinearLayout.LayoutParams lp; TextView tv; Uri trURI, actionURI, buyURI, bridgeURI; TextView coins; @SuppressWarnings("deprecation") public TurnView(Context context) { super(context); this.top = context; final String BASEDIR = Environment.getExternalStorageDirectory().getAbsolutePath(); String str = BASEDIR + "/Dominion/images/icons/throneroom.png"; File f = new File(str); if (f.exists()) trURI = Uri.parse(str); str = BASEDIR + "/Dominion/images/icons/action.png"; f = new File(str); if (f.exists()) actionURI = Uri.parse(str); str = BASEDIR + "/Dominion/images/icons/buy.png"; f = new File(str); if (f.exists()) buyURI = Uri.parse(str); str = BASEDIR + "/Dominion/images/icons/bridge.png"; f = new File(str); if (f.exists()) bridgeURI = Uri.parse(str); if ((trURI != null) && (actionURI != null) && (buyURI != null) && (bridgeURI != null)) { graphical = true; } setOrientation(HORIZONTAL); lp = new LinearLayout.LayoutParams( ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.FILL_PARENT); tv = new TextView(top); tv.setLayoutParams(lp); addView(tv); coins = new TextView(top); coins.setTextSize((float) (coins.getTextSize() * 0.75)); coins.setTextColor(Color.BLACK); coins.setBackgroundResource(R.drawable.coin); setLayoutParams(lp); } public double getTextSize() { return tv.getTextSize(); } public void setTextSize(float f) { tv.setTextSize(f); } public void addIcons(Uri icon, int count, int maxCount) { if (count > maxCount) { ImageView im = new ImageView(top); im.setImageURI(icon); im.setScaleType(ImageView.ScaleType.FIT_CENTER); im.setLayoutParams(lp); addView(im); TextView textView = new TextView(top); textView.setText("(" + count + ")"); textView.setTextSize((float) (textView.getTextSize() * 0.75)); textView.setLayoutParams(lp); addView(textView); return; } for (int i = 0; i < count; i++) { ImageView im = new ImageView(top); im.setImageURI(icon); im.setScaleType(ImageView.ScaleType.FIT_CENTER); im.setLayoutParams(lp); addView(im); } } public void setStatus(int[] is, int potions, boolean myTurn) { removeAllViews(); if (graphical) { addIcons(trURI, is[3], 3); addIcons(actionURI, is[0], 5); addIcons(buyURI, is[1], 5); coins.setText(" " + is[2] + " "); addView(coins); // addIcons(bridgeURI, -cardCostModifier, 2); int d = coins.getHeight(); LinearLayout.LayoutParams p = new LinearLayout.LayoutParams((int) (d*1.5), d); for (int i = 0; i < getChildCount(); i++) if (getChildAt(i) instanceof ImageView) getChildAt(i).setLayoutParams(p); } else { String actions; if(is[0] == 1) actions = top.getString(R.string.action_single, "" + is[0]); else actions = top.getString(R.string.action_multiple, "" + is[0]); String buys; if(is[1] == 1) buys = top.getString(R.string.buy_single, "" + is[1]); else buys = top.getString(R.string.buy_multiple, "" + is[1]); // String coinStr = "" + is[2] + ((potions > 0)?"p":""); String coinStr = "" + is[2]; if (potions == 1) { coinStr += "p"; } else if (potions > 1) { coinStr += "p" + potions; } // for(int i=0; i < potions; i++) { // coinStr += "p"; // } String coinsStr = top.getString(R.string.coins, coinStr); String baseStr = top.getString(R.string.actions_buys_coins, actions, buys, coinsStr); String str = baseStr; // String str = ((is[3] <= 0) ? "" : // "" + is[3] + " TR: "); // // str += baseStr + "."; // // if (cardCostModifier != 0) // str += "\nCost modifier: " + cardCostModifier; tv.setText(str); tv.setLayoutParams(lp); addView(tv); } } }