package com.daviancorp.android.ui.detail; import java.io.IOException; import java.io.InputStream; import android.content.res.AssetManager; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import android.widget.TextView; import com.daviancorp.android.mh3udatabase.R; public class WeaponBladeDetailFragment extends WeaponDetailFragment { private TextView mWeaponSpecialTypeTextView, mWeaponSpecialTextView; private ImageView mWeaponSharpnessImageView, mWeaponNote1ImageView, mWeaponNote2ImageView, mWeaponNote3ImageView; public static WeaponBladeDetailFragment newInstance(long weaponId) { Bundle args = new Bundle(); args.putLong(WeaponDetailFragment.ARG_WEAPON_ID, weaponId); WeaponBladeDetailFragment f = new WeaponBladeDetailFragment(); f.setArguments(args); return f; } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fragment_weapon_blade_detail, container, false); mWeaponLabelTextView = (TextView) view .findViewById(R.id.detail_weapon_name); mWeaponTypeTextView = (TextView) view .findViewById(R.id.detail_weapon_type); mWeaponAttackTextView = (TextView) view .findViewById(R.id.detail_weapon_attack); mWeaponElementTextView = (TextView) view .findViewById(R.id.detail_weapon_element); mWeaponSharpnessImageView = (ImageView) view .findViewById(R.id.detail_weapon_blade_sharpness); mWeaponRarityTextView = (TextView) view .findViewById(R.id.detail_weapon_rarity); mWeaponSlotTextView = (TextView) view .findViewById(R.id.detail_weapon_slot); mWeaponAffinityTextView = (TextView) view .findViewById(R.id.detail_weapon_affinity); mWeaponDefenseTextView = (TextView) view .findViewById(R.id.detail_weapon_defense); mWeaponCreationTextView = (TextView) view .findViewById(R.id.detail_weapon_creation); mWeaponUpgradeTextView = (TextView) view .findViewById(R.id.detail_weapon_upgrade); mWeaponSpecialTypeTextView = (TextView) view .findViewById(R.id.detail_weapon_blade_special); mWeaponSpecialTextView = (TextView) view .findViewById(R.id.detail_weapon_blade_special_value); mWeaponNote1ImageView = (ImageView) view .findViewById(R.id.detail_weapon_blade_note1); mWeaponNote2ImageView = (ImageView) view .findViewById(R.id.detail_weapon_blade_note2); mWeaponNote3ImageView = (ImageView) view .findViewById(R.id.detail_weapon_blade_note3); return view; } @Override protected void updateUI() throws IOException { super.updateUI(); /* Sharpness */ String cellImage = "icons_sharpness/" + mWeapon.getSharpnessFile(); // Read a Bitmap from Assets AssetManager manager = getActivity().getAssets(); InputStream open = null; Bitmap bitmap = null; try { open = manager.open(cellImage); bitmap = BitmapFactory.decodeStream(open); // Assign the bitmap to an ImageView in this layout mWeaponSharpnessImageView.setImageBitmap(Bitmap.createScaledBitmap( bitmap, 380, 50, false)); } catch (IOException e) { e.printStackTrace(); } finally { if (open != null) { open.close(); } } /* Hunting Horn notes */ if (mWeapon.getWtype().equals("Hunting Horn")) { mWeaponSpecialTypeTextView.setText("Horn Notes:"); String notes = mWeapon.getHornNotes(); try { open = manager.open(getNoteImage(notes.charAt(0))); bitmap = BitmapFactory.decodeStream(open); mWeaponNote1ImageView.setImageBitmap(Bitmap.createScaledBitmap( bitmap, 50, 50, false)); open = manager.open(getNoteImage(notes.charAt(1))); bitmap = BitmapFactory.decodeStream(open); mWeaponNote2ImageView.setImageBitmap(Bitmap.createScaledBitmap( bitmap, 50, 50, false)); open = manager.open(getNoteImage(notes.charAt(2))); bitmap = BitmapFactory.decodeStream(open); mWeaponNote3ImageView.setImageBitmap(Bitmap.createScaledBitmap( bitmap, 50, 50, false)); } catch (IOException e) { e.printStackTrace(); } finally { if (open != null) { open.close(); } } } /* Gunlance */ else if (mWeapon.getWtype().equals("Gunlance")) { mWeaponSpecialTypeTextView.setText("Shelling:"); mWeaponSpecialTextView.setText(mWeapon.getShellingType()); } else if (mWeapon.getWtype().equals("Switch Axe")) { mWeaponSpecialTypeTextView.setText("Phial:"); mWeaponSpecialTextView.setText(mWeapon.getPhial()); } } private String getNoteImage(char note) { String file = "icons_monster_info/"; switch (note) { case 'B': return file + "Note.blue.png"; case 'C': return file + "Note.aqua.png"; case 'G': return file + "Note.green.png"; case 'O': return file + "Note.orange.png"; case 'P': return file + "Note.purple.png"; case 'R': return file + "Note.red.png"; case 'W': return file + "Note.white.png"; case 'Y': return file + "Note.yellow.png"; } return ""; } }