package tech.zafrani.companionforpubg.activities; import android.content.Context; import android.content.Intent; import android.os.Bundle; import android.support.annotation.IdRes; import android.support.annotation.LayoutRes; import android.support.annotation.NonNull; import android.support.annotation.Nullable; import android.support.v7.app.ActionBar; import android.support.v7.widget.Toolbar; import android.view.MenuItem; import android.widget.Toast; import butterknife.BindView; import tech.zafrani.companionforpubg.R; import tech.zafrani.companionforpubg.fragments.AmmoDetailFragment; import tech.zafrani.companionforpubg.fragments.WeaponDetailFragment; import tech.zafrani.companionforpubg.models.items.Item; import tech.zafrani.companionforpubg.models.items.ammo.Ammo; import tech.zafrani.companionforpubg.models.items.weapons.Weapon; public class ItemDetailActivity extends BaseActivity { private static final String EXTRA_ITEM = ItemDetailActivity.class.getSimpleName() + ".EXTRA_ITEM"; public static void startActivity(@NonNull final Context context, @NonNull final Item item) { final Intent intent = new Intent(context, ItemDetailActivity.class); intent.putExtra(EXTRA_ITEM, item); context.startActivity(intent); } @Nullable @BindView(R.id.activity_itemdetails_toolbar) Toolbar toolbar; @Override public void onCreate(@Nullable final Bundle savedInstanceState) { super.onCreate(savedInstanceState); setSupportActionBar(toolbar); final ActionBar actionBar = getSupportActionBar(); if (actionBar != null) { actionBar.setDisplayHomeAsUpEnabled(true); actionBar.setDisplayShowHomeEnabled(true); } final Intent intent = getIntent(); if (intent == null) { throw new IllegalStateException("Missing intent"); } final Item item = (Item) intent.getSerializableExtra(EXTRA_ITEM); if (item instanceof Weapon) { showFragment(WeaponDetailFragment.newInstance((Weapon) item), WeaponDetailFragment.TAG); } else if (item instanceof Ammo) { showFragment(AmmoDetailFragment.newInstance((Ammo) item), WeaponDetailFragment.TAG); } else { Toast.makeText(this, "We're still working on this feature!", Toast.LENGTH_SHORT).show(); finish(); } } @Override public boolean onOptionsItemSelected(final MenuItem item) { if (item.getItemId() == android.R.id.home) { finish(); return true; } return super.onOptionsItemSelected(item); } @LayoutRes @Override protected int getLayoutRes() { return R.layout.activity_itemdetails; } @IdRes @Override protected int getContentView() { return R.id.activity_itemdetails_content; } }