package com.gettingmobile.goodnews.settings;
import android.database.sqlite.SQLiteDatabase;
import com.gettingmobile.android.app.actions.ActionContext;
import com.gettingmobile.goodnews.Application;
import com.gettingmobile.goodnews.R;
import com.gettingmobile.goodnews.sync.CleanupService;
import com.gettingmobile.google.reader.db.ItemDatabaseAdapter;
public class DeleteUnreferencedItemsAction extends PreferenceAction {
public DeleteUnreferencedItemsAction() {
super(R.string.pref_delete_unreferenced, R.string.pref_delete_unreferenced_confirm);
}
@Override
protected void asyncPerform(ActionContext<? extends Application> context) {
final SQLiteDatabase db = context.getApp().getDbHelper().getDatabase();
db.beginTransaction();
try {
final ItemDatabaseAdapter itemAdapter = new ItemDatabaseAdapter();
itemAdapter.deleteReadUnreferencedItems(db);
db.setTransactionSuccessful();
} finally {
db.endTransaction();
}
context.getApp().getDbHelper().tryVacuum();
CleanupService.start(context.getApp());
}
}