package com.pluscubed.plustimer.ui.historysolvelist;
import android.app.Fragment;
import android.app.FragmentManager;
import android.os.Bundle;
import android.support.v7.widget.Toolbar;
import android.view.Menu;
import android.view.MenuItem;
import com.pluscubed.plustimer.R;
import com.pluscubed.plustimer.model.PuzzleType;
import com.pluscubed.plustimer.ui.basedrawer.ThemableActivity;
import com.pluscubed.plustimer.ui.solvelist.SolveListPresenter;
import rx.android.schedulers.AndroidSchedulers;
/**
* History SolveList (started onListItemClick HistorySessionListFragment)
* activity
*/
public class HistorySolveListActivity extends ThemableActivity {
public static final String EXTRA_HISTORY_SESSION_ID
= "com.pluscubed.plustimer.history_session";
public static final String EXTRA_HISTORY_PUZZLETYPE_ID
= "com.pluscubed.plustimer.history_puzzletype";
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_history_solvelist, menu);
return super.onCreateOptionsMenu(menu);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_with_toolbar);
String sessionId = getIntent().getStringExtra(EXTRA_HISTORY_SESSION_ID);
String puzzleTypeId = getIntent().getStringExtra(EXTRA_HISTORY_PUZZLETYPE_ID);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar_actionbar);
setSupportActionBar(toolbar);
FragmentManager fm = getFragmentManager();
Fragment f = fm.findFragmentById(R.id
.activity_with_toolbar_content_framelayout);
if (f == null) {
f = SolveListPresenter.newInstance(false, puzzleTypeId, sessionId);
fm.beginTransaction()
.replace(R.id.activity_with_toolbar_content_framelayout, f)
.commit();
}
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
PuzzleType.get(this,puzzleTypeId)
.flatMap(puzzleType -> puzzleType.getSessionDeferred(this, sessionId))
.flatMap(session -> session.getTimestampString(this))
.observeOn(AndroidSchedulers.mainThread())
.subscribe(this::setTitle);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
// Respond to the action bar's Up/Home button
case android.R.id.home:
finish();
return true;
default:
return super.onOptionsItemSelected(item);
}
}
}