package murex.dojo.hellobooks.app;
import static murex.dojo.hellobooks.app.Constants.BOOKS_FETCHED_RESULT_CODE;
import static murex.dojo.hellobooks.app.Constants.DEFAULT_RESULT_CODE;
import static murex.dojo.hellobooks.app.Constants.RECEIVER_TAG;
import static murex.dojo.hellobooks.app.Constants.SERVICE_TAG;
import static murex.dojo.hellobooks.providers.BooksProvider.booksProvider;
import java.util.List;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.support.v7.widget.RecyclerView.Adapter;
import android.widget.ProgressBar;
public class MainActivity extends Activity implements MyResultReceiver.Receiver {
public static boolean PROXY_ENABLED = true;
private RecyclerView mRecyclerView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
startTimerService();
setupRecyclerView();
}
private void startTimerService() {
MyResultReceiver mReceiver = new MyResultReceiver(new Handler());
mReceiver.setReceiver(this);
Intent timerIntent = new Intent(this, TimerService.class);
timerIntent.putExtra(RECEIVER_TAG, mReceiver);
startService(timerIntent);
}
private void setupRecyclerView() {
mRecyclerView = (RecyclerView) findViewById(R.id.my_recycler_view);
mRecyclerView.setLayoutManager(new LinearLayoutManager(this));
booksProvider().fetchBooks(this,this);
}
@Override
public void onReceiveResult(int resultCode, Object resultData) {
switch (resultCode) {
case BOOKS_FETCHED_RESULT_CODE:
final Adapter mAdapter = new BooksAdapter((List<Book>) resultData, this, mRecyclerView);
mRecyclerView.setAdapter(mAdapter);
break;
case DEFAULT_RESULT_CODE:
final ProgressBar bar = (ProgressBar) findViewById(R.id.progressBar);
bar.setProgress(Integer.valueOf(((Bundle) resultData).getString(SERVICE_TAG)));
break;
}
}
}