package jp.gr.procon.proconapp.ui.activity; import android.content.Context; import android.content.Intent; import android.os.Bundle; import android.view.View; import jp.gr.procon.proconapp.R; import jp.gr.procon.proconapp.model.NoticeDetail; import jp.gr.procon.proconapp.ui.fragment.ObtainNoticeDetailFragment; import jp.gr.procon.proconapp.ui.fragment.WebFragment; import jp.gr.procon.proconapp.util.ToastUtil; public class NoticeDetailActivity extends BaseActivity implements ObtainNoticeDetailFragment.OnObtainNewsDetailListener { private static final String TAG_GET_NEWS_DETAIL = "tag_get_news_detail"; private static final String TAG_SHOW_NEWS_DETAIL = "tag_show_news_detail"; private static final String ARG_NEWS_ID = "arg_news_id"; private long mNewsId; private View mLoadingView; public static Intent createIntent(Context context, long newsId) { Intent intent = new Intent(context, NoticeDetailActivity.class); Bundle args = new Bundle(); args.putLong(ARG_NEWS_ID, newsId); intent.putExtras(args); return intent; } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_frame_layout); if (getIntent() != null) { mNewsId = getIntent().getExtras().getLong(ARG_NEWS_ID); } mLoadingView = findViewById(R.id.progress); if (savedInstanceState == null) { getSupportFragmentManager() .beginTransaction() .add(R.id.container, ObtainNoticeDetailFragment.newInstance(mNewsId), TAG_GET_NEWS_DETAIL) .commit(); } if (getSupportFragmentManager().findFragmentByTag(TAG_SHOW_NEWS_DETAIL) == null) { mLoadingView.setVisibility(View.VISIBLE); } } @Override public void onObtainNewsDetail(NoticeDetail noticeDetail) { mLoadingView.setVisibility(View.GONE); getSupportFragmentManager() .beginTransaction() .replace(R.id.container, WebFragment.newInstanceWithData(noticeDetail.getBody()), TAG_SHOW_NEWS_DETAIL) .commit(); } @Override public void onFailedObtainNewsDetail() { ToastUtil.show(this, R.string.error_network); mLoadingView.setVisibility(View.GONE); } }