package com.boardgamegeek.ui; import android.content.Intent; import android.os.Bundle; import android.support.v4.app.Fragment; import android.support.v7.app.ActionBar; import android.text.TextUtils; import android.view.MenuItem; import com.boardgamegeek.R; import com.boardgamegeek.provider.BggContract; import com.boardgamegeek.provider.BggContract.Games; import com.boardgamegeek.util.ActivityUtils; import com.crashlytics.android.answers.Answers; import com.crashlytics.android.answers.ContentViewEvent; public class ForumActivity extends SimpleSinglePaneActivity { private int gameId; private String gameName; private int forumId; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); final Intent intent = getIntent(); String forumTitle = intent.getStringExtra(ActivityUtils.KEY_FORUM_TITLE); gameName = intent.getStringExtra(ActivityUtils.KEY_GAME_NAME); gameId = intent.getIntExtra(ActivityUtils.KEY_GAME_ID, BggContract.INVALID_ID); forumId = intent.getIntExtra(ActivityUtils.KEY_FORUM_ID, BggContract.INVALID_ID); if (!TextUtils.isEmpty(forumTitle)) { final ActionBar actionBar = getSupportActionBar(); if (actionBar != null) { if (TextUtils.isEmpty(gameName)) { actionBar.setSubtitle(forumTitle); } else { actionBar.setTitle(forumTitle); actionBar.setSubtitle(gameName); } } } if (savedInstanceState == null) { Answers.getInstance().logContentView(new ContentViewEvent() .putContentType("Forum") .putContentId(String.valueOf(forumId)) .putContentName(forumTitle)); } } @Override protected Fragment onCreatePane(Intent intent) { return new ForumFragment(); } @Override protected int getOptionsMenuId() { return R.menu.view; } @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case android.R.id.home: Intent intent; if (gameId == BggContract.INVALID_ID) { intent = new Intent(this, ForumsActivity.class); } else { intent = new Intent(this, GameForumsActivity.class); intent.setData(Games.buildGameUri(gameId)); intent.putExtra(ActivityUtils.KEY_GAME_NAME, gameName); } intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivity(intent); finish(); return true; case R.id.menu_view: ActivityUtils.linkToBgg(this, "forum/" + forumId); return true; } return super.onOptionsItemSelected(item); } }