package droidkit.sqlite;
import android.app.Activity;
import android.content.Loader;
import android.os.Bundle;
import java.util.concurrent.BlockingQueue;
import java.util.concurrent.LinkedBlockingQueue;
import java.util.concurrent.atomic.AtomicInteger;
import droidkit.annotation.OnCreateLoader;
import droidkit.annotation.OnLoadFinished;
import droidkit.content.Loaders;
import droidkit.sqlite.mock.User;
/**
* @author Daniel Serdyukov
*/
public class LoaderCallbacksActivity extends Activity {
final BlockingQueue<SQLiteResult<User>> mLoadedData = new LinkedBlockingQueue<>();
final AtomicInteger mOnLoadFinishedCalls = new AtomicInteger();
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Loaders.init(getLoaderManager(), droidkit.test.R.id.fake_loader, Bundle.EMPTY, this);
}
@OnCreateLoader(droidkit.test.R.id.fake_loader)
Loader<SQLiteResult<User>> onCreateLoader() {
return new SQLiteLoader<>(getApplicationContext(), User.class);
}
@OnLoadFinished(droidkit.test.R.id.fake_loader)
void onLoadFinished(SQLiteResult<User> data) {
mLoadedData.add(data);
mOnLoadFinishedCalls.incrementAndGet();
}
}