diff --git a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/Dialogs.java b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/Dialogs.java index 1df58d14a..31a778205 100644 --- a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/Dialogs.java +++ b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/Dialogs.java @@ -191,7 +191,7 @@ public final class Dialogs { AlertDialog.Builder db = new AlertDialog.Builder(mainActivity) .setTitle(title) .setMessage(msg) - .setIcon(new BitmapDrawable(world.tileManager.preloadedTiles.getBitmap(TileManager.iconID_groundbag))) + .setIcon(new BitmapDrawable(mainActivity.getResources(), world.tileManager.preloadedTiles.getBitmap(TileManager.iconID_groundbag))) .setNegativeButton(R.string.dialog_close, null) .setView(itemList); diff --git a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/activity/ActorConditionInfoActivity.java b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/activity/ActorConditionInfoActivity.java index 4790413f7..7bbd7c50e 100644 --- a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/activity/ActorConditionInfoActivity.java +++ b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/activity/ActorConditionInfoActivity.java @@ -35,7 +35,7 @@ public final class ActorConditionInfoActivity extends Activity { TextView tv = (TextView) findViewById(R.id.actorconditioninfo_title); tv.setText(conditionType.name); - world.tileManager.setImageViewTile(tv, conditionType); + world.tileManager.setImageViewTile(getResources(), tv, conditionType); Button b = (Button) findViewById(R.id.actorconditioninfo_close); b.setOnClickListener(new OnClickListener() { diff --git a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/activity/BulkSelectionInterface.java b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/activity/BulkSelectionInterface.java index 11d593c29..7e7c21286 100644 --- a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/activity/BulkSelectionInterface.java +++ b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/activity/BulkSelectionInterface.java @@ -105,7 +105,7 @@ public final class BulkSelectionInterface extends Activity implements TextWatche // change image and name of the item final TextView itemName = (TextView)findViewById(R.id.bulkselection_itemname); itemName.setText(itemType.getName(world.model.player)); - world.tileManager.setImageViewTileForSingleItemType(itemName, itemType, getResources()); + world.tileManager.setImageViewTileForSingleItemType(res, itemName, itemType); int actionTextResourceID = 0; if (interfaceType == BULK_INTERFACE_BUY) { diff --git a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/activity/ConversationActivity.java b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/activity/ConversationActivity.java index 2521bd34a..eae615b5d 100644 --- a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/activity/ConversationActivity.java +++ b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/activity/ConversationActivity.java @@ -5,6 +5,7 @@ import java.util.ArrayList; import android.app.Activity; import android.content.Context; import android.content.Intent; +import android.content.res.Resources; import android.graphics.Color; import android.net.Uri; import android.os.Bundle; @@ -431,7 +432,6 @@ public final class ConversationActivity extends Activity implements OnKeyListene @Override public View getView(final int position, View convertView, ViewGroup parent) { final ConversationStatement statement = getItem(position); - View result = convertView; if (result == null) { result = View.inflate(getContext(), R.layout.conversation_statement, null); @@ -439,8 +439,9 @@ public final class ConversationActivity extends Activity implements OnKeyListene final TextView tv = (TextView) result.findViewById(R.id.conversation_text); if (statement.hasActor()) { - if (statement.isPlayerActor) tileManager.setImageViewTileForPlayer(tv, statement.iconID); - else tileManager.setImageViewTileForMonster(tv, statement.iconID); + final Resources res = getContext().getResources(); + if (statement.isPlayerActor) tileManager.setImageViewTileForPlayer(res, tv, statement.iconID); + else tileManager.setImageViewTileForMonster(res, tv, statement.iconID); tv.setText(statement.actorName + ": " + statement.text, BufferType.SPANNABLE); Spannable sp = (Spannable) tv.getText(); diff --git a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/activity/HeroinfoActivity_Inventory.java b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/activity/HeroinfoActivity_Inventory.java index a71d2331a..f1d511564 100644 --- a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/activity/HeroinfoActivity_Inventory.java +++ b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/activity/HeroinfoActivity_Inventory.java @@ -184,7 +184,7 @@ public final class HeroinfoActivity_Inventory extends Activity { private void updateWornImage(ImageView imageView, int resourceIDEmptyImage, ItemType type) { if (type != null) { - world.tileManager.setImageViewTile(imageView, type, wornTiles); + world.tileManager.setImageViewTile(getResources(), imageView, type, wornTiles); } else { imageView.setImageResource(resourceIDEmptyImage); } diff --git a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/activity/HeroinfoActivity_Stats.java b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/activity/HeroinfoActivity_Stats.java index 5367999b5..8b28dde6e 100644 --- a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/activity/HeroinfoActivity_Stats.java +++ b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/activity/HeroinfoActivity_Stats.java @@ -56,7 +56,7 @@ public final class HeroinfoActivity_Stats extends Activity { TextView tv = (TextView) findViewById(R.id.heroinfo_title); tv.setText(player.getName()); - world.tileManager.setImageViewTile(tv, player); + world.tileManager.setImageViewTile(getResources(), tv, player); heroinfo_container = (ViewGroup) findViewById(R.id.heroinfo_container); heroinfo_ap = (TextView) findViewById(R.id.heroinfo_ap); diff --git a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/activity/ItemInfoActivity.java b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/activity/ItemInfoActivity.java index 2ce793945..6be9b005f 100644 --- a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/activity/ItemInfoActivity.java +++ b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/activity/ItemInfoActivity.java @@ -46,7 +46,7 @@ public final class ItemInfoActivity extends Activity { TextView tv = (TextView) findViewById(R.id.iteminfo_title); tv.setText(itemType.getName(world.model.player)); - world.tileManager.setImageViewTileForSingleItemType(tv, itemType, getResources()); + world.tileManager.setImageViewTileForSingleItemType(getResources(), tv, itemType); tv = (TextView) findViewById(R.id.iteminfo_description); String description = itemType.getDescription(); diff --git a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/activity/LevelUpActivity.java b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/activity/LevelUpActivity.java index b70bbf608..87ddbeb5c 100644 --- a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/activity/LevelUpActivity.java +++ b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/activity/LevelUpActivity.java @@ -91,7 +91,7 @@ public final class LevelUpActivity extends Activity { return; } - world.tileManager.setImageViewTile(levelup_title, player); + world.tileManager.setImageViewTile(res, levelup_title, player); levelup_description.setText(res.getString(R.string.levelup_description, player.getLevel() + 1)); if (player.nextLevelAddsNewSkillpoint()) { levelup_adds_new_skillpoint.setVisibility(View.VISIBLE); diff --git a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/activity/MonsterEncounterActivity.java b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/activity/MonsterEncounterActivity.java index b0e898659..75c5c4048 100644 --- a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/activity/MonsterEncounterActivity.java +++ b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/activity/MonsterEncounterActivity.java @@ -39,7 +39,7 @@ public final class MonsterEncounterActivity extends Activity { TextView tv = (TextView) findViewById(R.id.monsterencounter_title); tv.setText(monster.getName()); - world.tileManager.setImageViewTile(tv, monster); + world.tileManager.setImageViewTile(getResources(), tv, monster); tv = (TextView) findViewById(R.id.monsterencounter_description); tv.setText(getString(R.string.dialog_monsterencounter_message, difficulty)); diff --git a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/activity/MonsterInfoActivity.java b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/activity/MonsterInfoActivity.java index a82d74a7f..3a93098e8 100644 --- a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/activity/MonsterInfoActivity.java +++ b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/activity/MonsterInfoActivity.java @@ -76,7 +76,7 @@ public final class MonsterInfoActivity extends Activity { private void updateTitle(Monster monster) { monsterinfo_title.setText(monster.getName()); - world.tileManager.setImageViewTile(monsterinfo_title, monster); + world.tileManager.setImageViewTile(getResources(), monsterinfo_title, monster); monsterinfo_difficulty.setText(getMonsterDifficultyResource(view, monster)); } diff --git a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/resource/tiles/TileManager.java b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/resource/tiles/TileManager.java index 529c87099..82f74d97c 100644 --- a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/resource/tiles/TileManager.java +++ b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/resource/tiles/TileManager.java @@ -125,33 +125,33 @@ public final class TileManager { - public void setImageViewTile(TextView textView, Monster monster) { setImageViewTileForMonster(textView, monster.iconID); } - public void setImageViewTile(TextView textView, Player player) { setImageViewTileForPlayer(textView, player.iconID); } - public void setImageViewTileForMonster(TextView textView, int iconID) { setImageViewTile(textView, currentMapTiles.getBitmap(iconID)); } - public void setImageViewTileForPlayer(TextView textView, int iconID) { setImageViewTile(textView, preloadedTiles.getBitmap(iconID)); } - public void setImageViewTile(TextView textView, ActorConditionType conditionType) { setImageViewTile(textView, preloadedTiles.getBitmap(conditionType.iconID)); } - public void setImageViewTileForUIIcon(TextView textView, int iconID) { setImageViewTile(textView, preloadedTiles.getBitmap(iconID)); } - private void setImageViewTile(TextView textView, Bitmap b) { textView.setCompoundDrawablesWithIntrinsicBounds(new BitmapDrawable(b), null, null, null); } + public void setImageViewTile(Resources res, TextView textView, Monster monster) { setImageViewTileForMonster(res, textView, monster.iconID); } + public void setImageViewTile(Resources res, TextView textView, Player player) { setImageViewTileForPlayer(res, textView, player.iconID); } + public void setImageViewTileForMonster(Resources res, TextView textView, int iconID) { setImageViewTile(res, textView, currentMapTiles.getBitmap(iconID)); } + public void setImageViewTileForPlayer(Resources res, TextView textView, int iconID) { setImageViewTile(res, textView, preloadedTiles.getBitmap(iconID)); } + public void setImageViewTile(Resources res, TextView textView, ActorConditionType conditionType) { setImageViewTile(res, textView, preloadedTiles.getBitmap(conditionType.iconID)); } + public void setImageViewTileForUIIcon(Resources res, TextView textView, int iconID) { setImageViewTile(res, textView, preloadedTiles.getBitmap(iconID)); } + private void setImageViewTile(Resources res, TextView textView, Bitmap b) { textView.setCompoundDrawablesWithIntrinsicBounds(new BitmapDrawable(res, b), null, null, null); } - public void setImageViewTileForSingleItemType(TextView textView, ItemType itemType, Resources r) { - final Bitmap icon = tileCache.loadSingleTile(itemType.iconID, r); - setImageViewTile(textView, itemType, icon); + public void setImageViewTileForSingleItemType(Resources res, TextView textView, ItemType itemType) { + final Bitmap icon = tileCache.loadSingleTile(itemType.iconID, res); + setImageViewTile(res, textView, itemType, icon); } - public void setImageViewTile(TextView textView, ItemType itemType, TileCollection itemTileCollection) { + public void setImageViewTile(Resources res, TextView textView, ItemType itemType, TileCollection itemTileCollection) { final Bitmap icon = itemTileCollection.getBitmap(itemType.iconID); - setImageViewTile(textView, itemType, icon); + setImageViewTile(res, textView, itemType, icon); } - private void setImageViewTile(TextView textView, ItemType itemType, Bitmap icon) { + private void setImageViewTile(Resources res, TextView textView, ItemType itemType, Bitmap icon) { final int overlayIconID = itemType.getOverlayTileID(); if (overlayIconID != -1) { textView.setCompoundDrawablesWithIntrinsicBounds( new LayerDrawable(new Drawable[] { - new BitmapDrawable(preloadedTiles.getBitmap(overlayIconID)) - ,new BitmapDrawable(icon) + new BitmapDrawable(res, preloadedTiles.getBitmap(overlayIconID)) + ,new BitmapDrawable(res, icon) }), null, null, null ); } else { - setImageViewTile(textView, icon); + setImageViewTile(res, textView, icon); } } @@ -162,21 +162,21 @@ public final class TileManager { public void setImageViewTile(ImageView imageView, ActorConditionType conditionType) { imageView.setImageBitmap(preloadedTiles.getBitmap(conditionType.iconID)); } public void setImageViewTileForUIIcon(ImageView imageView, int iconID) { imageView.setImageBitmap(preloadedTiles.getBitmap(iconID)); } - public void setImageViewTileForSingleItemType(ImageView imageView, ItemType itemType, Resources r) { - final Bitmap icon = tileCache.loadSingleTile(itemType.iconID, r); - setImageViewTile(imageView, itemType, icon); + public void setImageViewTileForSingleItemType(Resources res, ImageView imageView, ItemType itemType) { + final Bitmap icon = tileCache.loadSingleTile(itemType.iconID, res); + setImageViewTile(res, imageView, itemType, icon); } - public void setImageViewTile(ImageView imageView, ItemType itemType, TileCollection itemTileCollection) { + public void setImageViewTile(Resources res, ImageView imageView, ItemType itemType, TileCollection itemTileCollection) { final Bitmap icon = itemTileCollection.getBitmap(itemType.iconID); - setImageViewTile(imageView, itemType, icon); + setImageViewTile(res, imageView, itemType, icon); } - private void setImageViewTile(ImageView imageView, ItemType itemType, Bitmap icon) { + private void setImageViewTile(Resources res, ImageView imageView, ItemType itemType, Bitmap icon) { final int overlayIconID = itemType.getOverlayTileID(); if (overlayIconID != -1) { imageView.setImageDrawable( new LayerDrawable(new Drawable[] { - new BitmapDrawable(preloadedTiles.getBitmap(overlayIconID)) - ,new BitmapDrawable(icon) + new BitmapDrawable(res, preloadedTiles.getBitmap(overlayIconID)) + ,new BitmapDrawable(res, icon) }) ); } else { diff --git a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/view/ItemContainerAdapter.java b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/view/ItemContainerAdapter.java index 646f16b7d..1ffe7d5d4 100644 --- a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/view/ItemContainerAdapter.java +++ b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/view/ItemContainerAdapter.java @@ -39,7 +39,7 @@ public final class ItemContainerAdapter extends ArrayAdapter { result = View.inflate(getContext(), R.layout.inventoryitemview, null); } - tileManager.setImageViewTile((ImageView) result.findViewById(R.id.inv_image), item.itemType, tileCollection); + tileManager.setImageViewTile(getContext().getResources(), (ImageView) result.findViewById(R.id.inv_image), item.itemType, tileCollection); ((TextView) result.findViewById(R.id.inv_text)).setText(ItemController.describeItemForListView(item, player)); return result; } diff --git a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/view/QuickButton.java b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/view/QuickButton.java index 3606f7981..956d3affd 100644 --- a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/view/QuickButton.java +++ b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/view/QuickButton.java @@ -1,5 +1,6 @@ package com.gpl.rpg.AndorsTrail.view; +import android.content.res.Resources; import com.gpl.rpg.AndorsTrail.R; import com.gpl.rpg.AndorsTrail.context.WorldContext; import com.gpl.rpg.AndorsTrail.model.item.ItemType; @@ -45,10 +46,12 @@ public final class QuickButton extends Button { private String currentItemID = "unassigned"; public void setItemType(ItemType type, WorldContext world, TileCollection tiles) { + final Resources res = getContext().getResources(); + if (type == null) { if (currentItemID == null) return; empty = true; - world.tileManager.setImageViewTileForUIIcon(this, TileManager.iconID_unassigned_quickslot); + world.tileManager.setImageViewTileForUIIcon(res, this, TileManager.iconID_unassigned_quickslot); currentItemID = null; setGrayScale(true); setText(""); @@ -57,7 +60,7 @@ public final class QuickButton extends Button { int quantity = world.model.player.inventory.getItemQuantity(type.id); empty = quantity == 0; if (!type.id.equals(currentItemID)) { - world.tileManager.setImageViewTile(this, type, tiles); + world.tileManager.setImageViewTile(res, this, type, tiles); setCompoundDrawablePadding(textPadding); currentItemID = type.id; } diff --git a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/view/ShopItemContainerAdapter.java b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/view/ShopItemContainerAdapter.java index b2228227c..2187af38d 100644 --- a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/view/ShopItemContainerAdapter.java +++ b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/view/ShopItemContainerAdapter.java @@ -47,7 +47,7 @@ public final class ShopItemContainerAdapter extends ArrayAdapter { result = View.inflate(getContext(), R.layout.shopitemview, null); } - tileManager.setImageViewTile((ImageView) result.findViewById(R.id.shopitem_image), itemType, tileCollection); + tileManager.setImageViewTile(r, (ImageView) result.findViewById(R.id.shopitem_image), itemType, tileCollection); ((TextView) result.findViewById(R.id.shopitem_text)).setText(ItemController.describeItemForListView(item, player)); Button b = (Button) result.findViewById(R.id.shopitem_shopbutton); if (isSelling) { diff --git a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/view/StatusView.java b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/view/StatusView.java index 3a95a8c52..569163788 100644 --- a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/view/StatusView.java +++ b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/view/StatusView.java @@ -1,5 +1,6 @@ package com.gpl.rpg.AndorsTrail.view; +import android.content.res.Resources; import com.gpl.rpg.AndorsTrail.AndorsTrailApplication; import com.gpl.rpg.AndorsTrail.R; import com.gpl.rpg.AndorsTrail.activity.HeroinfoActivity; @@ -60,10 +61,11 @@ public final class StatusView extends RelativeLayout implements PlayerStatsListe expBar = (RangeBar) findViewById(R.id.statusview_exp); expBar.init(R.drawable.ui_progress_exp, R.string.status_exp); - - levelupDrawable = new LayerDrawable(new Drawable[] { - new BitmapDrawable(world.tileManager.preloadedTiles.getBitmap(player.iconID)) - ,new BitmapDrawable(world.tileManager.preloadedTiles.getBitmap(TileManager.iconID_moveselect)) + + Resources res = getResources(); + levelupDrawable = new LayerDrawable(new Drawable[] { + new BitmapDrawable(res, world.tileManager.preloadedTiles.getBitmap(player.iconID)) + ,new BitmapDrawable(res, world.tileManager.preloadedTiles.getBitmap(TileManager.iconID_moveselect)) }); toggleToolbox = (ImageButton) findViewById(R.id.toolbox_toggle);