| package org.wordpress.android.ui.comments; |
| |
| import android.content.Intent; |
| import android.os.Bundle; |
| import android.support.v7.app.AppCompatActivity; |
| import android.view.MenuItem; |
| |
| import com.simperium.client.BucketObjectMissingException; |
| |
| import org.wordpress.android.R; |
| import org.wordpress.android.models.Note; |
| import org.wordpress.android.ui.ActivityId; |
| import org.wordpress.android.ui.notifications.utils.SimperiumUtils; |
| import org.wordpress.android.util.AppLog; |
| import org.wordpress.android.util.ToastUtils; |
| |
| // simple wrapper activity for CommentDetailFragment |
| public class CommentDetailActivity extends AppCompatActivity { |
| |
| private static final String KEY_COMMENT_DETAIL_LOCAL_TABLE_BLOG_ID = "local_table_blog_id"; |
| private static final String KEY_COMMENT_DETAIL_COMMENT_ID = "comment_detail_comment_id"; |
| private static final String KEY_COMMENT_DETAIL_NOTE_ID = "comment_detail_note_id"; |
| private static final String KEY_COMMENT_DETAIL_IS_REMOTE = "comment_detail_is_remote"; |
| |
| private static final String TAG_COMMENT_DETAIL_FRAGMENT = "tag_comment_detail_fragment"; |
| |
| @Override |
| protected void onCreate(Bundle savedInstanceState) { |
| |
| super.onCreate(savedInstanceState); |
| |
| setContentView(R.layout.comment_activity_detail); |
| |
| setTitle(R.string.comment); |
| |
| if (getSupportActionBar() != null) { |
| getSupportActionBar().setDisplayHomeAsUpEnabled(true); |
| } |
| |
| if (savedInstanceState == null) { |
| Intent intent = getIntent(); |
| CommentDetailFragment commentDetailFragment = null; |
| if (intent.getStringExtra(KEY_COMMENT_DETAIL_NOTE_ID) != null && SimperiumUtils.getNotesBucket() != null) { |
| try { |
| Note note = SimperiumUtils.getNotesBucket().get( |
| intent.getStringExtra(KEY_COMMENT_DETAIL_NOTE_ID) |
| ); |
| |
| if (intent.hasExtra(KEY_COMMENT_DETAIL_IS_REMOTE)) { |
| commentDetailFragment = CommentDetailFragment.newInstanceForRemoteNoteComment(note.getId()); |
| } else { |
| commentDetailFragment = CommentDetailFragment.newInstance(note.getId()); |
| } |
| } catch (BucketObjectMissingException e) { |
| AppLog.e(AppLog.T.NOTIFS, "CommentDetailActivity was passed an invalid note id."); |
| } |
| } else if (intent.getIntExtra(KEY_COMMENT_DETAIL_LOCAL_TABLE_BLOG_ID, 0) > 0 |
| && intent.getLongExtra(KEY_COMMENT_DETAIL_COMMENT_ID, 0) > 0) { |
| commentDetailFragment = CommentDetailFragment.newInstance( |
| intent.getIntExtra(KEY_COMMENT_DETAIL_LOCAL_TABLE_BLOG_ID, 0), |
| intent.getLongExtra(KEY_COMMENT_DETAIL_COMMENT_ID, 0) |
| ); |
| } |
| |
| if (commentDetailFragment != null) { |
| commentDetailFragment.setRetainInstance(true); |
| getFragmentManager().beginTransaction() |
| .add(R.id.comment_detail_container, commentDetailFragment, TAG_COMMENT_DETAIL_FRAGMENT) |
| .commit(); |
| } else { |
| ToastUtils.showToast(this, R.string.error_load_comment); |
| finish(); |
| } |
| } |
| } |
| |
| @Override |
| public void onResume() { |
| super.onResume(); |
| ActivityId.trackLastActivity(ActivityId.COMMENT_DETAIL); |
| } |
| |
| @Override |
| public boolean onOptionsItemSelected(MenuItem item) { |
| if (item.getItemId() == android.R.id.home) { |
| finish(); |
| return true; |
| } |
| |
| return super.onOptionsItemSelected(item); |
| } |
| } |