package co.infinum.pokemon.activities;
import android.os.Bundle;
import android.widget.TextView;
import javax.inject.Inject;
import butterknife.ButterKnife;
import butterknife.InjectView;
import co.infinum.pokemon.R;
import co.infinum.pokemon.dagger.components.AppComponent;
import co.infinum.pokemon.dagger.modules.PokemonDetailsModule;
import co.infinum.pokemon.models.Pokemon;
import co.infinum.pokemon.mvp.presenters.PokemonDetailsPresenter;
import co.infinum.pokemon.mvp.views.PokemonDetailsView;
public class PokemonDetailsActivity extends BaseActivity implements PokemonDetailsView {
public static final String EXTRA_POKEMON = "pokemon";
@InjectView(R.id.name)
protected TextView nameText;
@InjectView(R.id.hp)
protected TextView hpText;
@InjectView(R.id.weight)
protected TextView weightText;
@InjectView(R.id.height)
protected TextView heightText;
@InjectView(R.id.attack)
protected TextView attackText;
@InjectView(R.id.defense)
protected TextView defenseText;
@Inject
protected PokemonDetailsPresenter pokemonDetailsPresenter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_pokemon_details);
ButterKnife.inject(this);
Pokemon pokemon = (Pokemon) getIntent().getSerializableExtra(EXTRA_POKEMON);
pokemonDetailsPresenter.loadDetails(pokemon);
}
@Override
protected void injectDependencies(AppComponent appComponent) {
appComponent.plus(new PokemonDetailsModule(this)).inject(this);
}
@Override
protected void onDestroy() {
pokemonDetailsPresenter.cancel();
super.onDestroy();
}
@Override
public void showName(String name) {
nameText.setText(name);
}
@Override
public void showHp(String hp) {
hpText.setText(hp);
}
@Override
public void showWeight(String weight) {
weightText.setText(weight);
}
@Override
public void showHeight(String height) {
heightText.setText(height);
}
@Override
public void showAttack(String attack) {
attackText.setText(attack);
}
@Override
public void showDefense(String defense) {
defenseText.setText(defense);
}
}