Skip to content

Instantly share code, notes, and snippets.

private void handleStartIntent(Intent intent) {
Log.d(TAG, "*** start intent");
final String outcome = intent.getStringExtra(SessionManager.START);
final Integer contentId = intent.getIntExtra(SessionManager.CONTENT_ID, -1);
final Integer patronId = intent.getIntExtra(SessionManager.PATRON_ID, -1);
final Integer seconds = intent.getIntExtra(SessionManager.SECONDS, 0);
final Integer milliseconds = seconds * 1000; // milliseconds needed for VideoView/MediaPlayer
Log.d(TAG, " - status: " + outcome);
protected Bitmap doInBackground(String... urls) {
final String imageUrl = urls[0];
Log.d(TAG, "looking for " + imageUrl);
try {
final String localUrl = imageCache.getLocalImage(imageUrl);
final InputStream inputStream = new URL(localUrl).openStream();
return BitmapFactory.decodeStream(inputStream);
if (KindName.isAudiobook(kindName) && mediaPlayer.getCurrentPosition() < 1) {
Log.d(TAG, "moving playback to position " + milliseconds + "(currentPosition = " + mediaPlayer.getCurrentPosition() + ")");
mediaPlayer.setVolume(0,0);
mediaPlayer.start();
mediaPlayer.pause();
while (mediaPlayer.getDuration() < 1) {
try {
Thread.sleep(1000);
if (KindName.isAudiobook(kindName) && mediaPlayer.getCurrentPosition() < 1) {
Log.d(TAG, "moving playback to position " + milliseconds + "(currentPosition = " + mediaPlayer.getCurrentPosition() + ")");
mediaPlayer.setVolume(0,0);
mediaPlayer.start();
mediaPlayer.pause();
while (mediaPlayer.getDuration() < 1) {
try {
Thread.sleep(1000);
if (KindName.isAudiobook(kindName) && mediaPlayer.getCurrentPosition() < 1) {
final Handler handler = new Handler();
handler.post(new Runnable() {
@Override
public void run() {
Log.d(TAG, "moving playback to position " + milliseconds + "(currentPosition = " + mediaPlayer.getCurrentPosition() + ")");
mediaPlayer.setVolume(0,0);
mediaPlayer.start();
private BorrowedListMessage getResponse(boolean forceRefresh) {
final BorrowedListMessage response;
if (forceRefresh) {
// force is true - try the service
final BorrowedListMessage serviceResponse = borrowedService.getBorrowed(patron);
if (serviceResponse.getResponseStatus().equals(ResponseStatus.OK)) {
// service response is good - use it
response = serviceResponse;
@Override
protected Void doInBackground(Boolean... force) {
final boolean forceRefresh;
if (force != null && force.length > 0) {
forceRefresh = force[0];
} else {
forceRefresh = false;
}
@Override
public BorrowedListMessage getBorrowed(Context context) {
final BorrowedListMessage message;
final App app = App.getInstance();
if(null == app.getBorrowed()){
message = serializableCache.loadCachedData(BorrowedListMessage.class, context.getCacheDir());
app.setBorrowed(message);
@Override
public void setBorrowed(final BorrowedListMessage message, final Context context) {
App.getInstance().setBorrowed(message);
new AsyncTask<Void, Void, Void>(){
@Override
protected Void doInBackground(final Void... params) {
serializableCache.saveCachedData(message, context.getCacheDir());
return null;
public void deleteTitlesFromCloudSearch(List<AmazonSearchDataFormat> amazonSearchRecords) {
logger.debug("Deleting {} titles from CloudSearch", amazonSearchRecords.size());
if (amazonSearchRecords.isEmpty()) return;
try {
postBatchToCloudSearch(cloudSearchTitlesEndpoint, amazonSearchRecords);