package shts.jp.android.nogifeed.activities;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.FragmentTransaction;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.KeyEvent;
import android.view.View;
import shts.jp.android.nogifeed.R;
import shts.jp.android.nogifeed.fragments.BlogFragment;
import shts.jp.android.nogifeed.models.Entry;
public class BlogActivity extends AppCompatActivity {
public static Intent getStartIntent(Context context, Entry entry) {
Intent intent = new Intent(context, BlogActivity.class);
intent.putExtra("entry", entry);
return intent;
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_blog);
Entry entry = getIntent().getParcelableExtra("entry");
BlogFragment blogFragment = BlogFragment.newInstance(entry);
setupToolbar(entry);
FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
ft.replace(R.id.container, blogFragment, BlogFragment.class.getSimpleName());
ft.commit();
}
private void setupToolbar(@Nullable Entry entry) {
if (entry == null) return;
final Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
if (toolbar == null) return;
toolbar.setTitle(entry.getTitle());
toolbar.setSubtitle(entry.getMemberName());
toolbar.setNavigationIcon(R.drawable.ic_clear_white_24dp);
toolbar.setNavigationOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
BlogFragment blogFragment =
(BlogFragment) getSupportFragmentManager().findFragmentByTag(
BlogFragment.class.getSimpleName());
if (blogFragment != null) {
if (blogFragment.isVisible()) {
if (blogFragment.goBack()) {
return true;
}
}
}
}
return super.onKeyDown(keyCode, event);
}
@Override
public void onBackPressed() {
BlogFragment blogFragment =
(BlogFragment) getSupportFragmentManager().findFragmentByTag(
BlogFragment.class.getSimpleName());
if (blogFragment != null) {
if (blogFragment.isVisible()) {
if (blogFragment.onBackPressed()) return;
}
}
super.onBackPressed();
}
}