package com.asp.radiorake;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.database.Cursor;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.AdapterView;
import android.widget.Button;
import android.widget.ListView;
import com.aspillai.R;
import java.io.IOException;
public class ListScheduledRecordingsActivity extends RecordioBaseActivity implements View.OnClickListener {
private static final String TAG = "com.asp.radiorake.ListScheduledRecordingsActivity";
DatabaseHelper dbHelper;
ScheduledRecordingsCursorAdaptor adapter;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
public void onResume() {
super.onResume();
dbHelper = prepareDatabaseHelper();
setContentView(R.layout.list_recording_schedule);
final Cursor scheduledRecordingsCursor = dbHelper.getScheduledRecordingsList();
adapter = new ScheduledRecordingsCursorAdaptor(this,
R.layout.list_recording_schedule_list,
scheduledRecordingsCursor,
new String[]{DatabaseHelper.STATIONS_NAME,
DatabaseHelper.RECORDING_TYPES_TYPE,
DatabaseHelper.SCHEDULED_RECORDINGS_START_TIME,
DatabaseHelper.SCHEDULED_RECORDINGS_END_TIME},
new int[]{R.id.station_entry,
R.id.type_entry,
R.id.start_time_entry,
R.id.end_time_entry
});
ListView scheduledRecordings = (ListView) findViewById(R.id.list_recording_schedule_list_view);
scheduledRecordings.setAdapter(adapter);
scheduledRecordings.setOnItemClickListener(new AdapterView.OnItemClickListener() {
public void onItemClick(AdapterView<?> adapterView, View view, int pos, final long id) {
CharSequence[] favOptions = {"Edit", "Delete"};
AlertDialog.Builder builder = new AlertDialog.Builder(view.getContext());
builder.setTitle("Scheduled Recording")
.setItems(favOptions, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialogInterface, int item) {
switch (item) {
case 0:
Intent addNewScheduledRecordingActivityIntent = new Intent(ListScheduledRecordingsActivity.this, AddNewScheduledRecordingActivity.class);
addNewScheduledRecordingActivityIntent.putExtra(getString(R.string.edit_scheduled_recording_id), id);
startActivity(addNewScheduledRecordingActivityIntent);
finish();
break;
case 1:
DatabaseHelper databaseHelper = prepareDatabaseHelper();
databaseHelper.deleteScheduledRecording(id);
databaseHelper.close();
scheduledRecordingsCursor.requery();
AlarmHelper.cancelAlarm(getApplicationContext(), id);
break;
}
}
}).show();
}
});
Button addNewButton = (Button) findViewById(R.id.list_recording_schedule_new_button);
addNewButton.setOnClickListener(this);
}
@Override
protected void onDestroy() {
super.onDestroy();
if (dbHelper != null) {
dbHelper.close();
}
}
@Override
public void onBackPressed() {
Intent RadioActivityIntent = new Intent(ListScheduledRecordingsActivity.this, RadioActivity.class);
startActivity(RadioActivityIntent);
finish();
}
public void onClick(View view) {
Intent addNewScheduledRecordingActivityIntent = new Intent(ListScheduledRecordingsActivity.this, AddNewScheduledRecordingActivity.class);
startActivity(addNewScheduledRecordingActivityIntent);
finish();
}
private DatabaseHelper prepareDatabaseHelper() {
DatabaseHelper dbHelper = new DatabaseHelper(this);
try {
dbHelper.openDataBase();
} catch (IOException e) {
Log.e(TAG, "IOException thrown when trying to access DB", e);
}
return dbHelper;
}
}