Copying (and modifying) some files from packages/experimental
Change-Id: I00ba3c5b05df4320db51cc659fd84f6b37486d6d
diff --git a/src/android/app/patterns/LoaderActivity.java b/src/android/app/patterns/LoaderActivity.java
index 664a8bc..bcb3692 100644
--- a/src/android/app/patterns/LoaderActivity.java
+++ b/src/android/app/patterns/LoaderActivity.java
@@ -30,12 +30,12 @@
Loader.OnLoadCompleteListener<D> {
private boolean mStarted = false;
- static final class LoaderInfo {
+ static final class LoaderInfo<D> {
public Bundle args;
- public Loader loader;
+ public Loader<D> loader;
}
- private HashMap<Integer, LoaderInfo> mLoaders;
- private HashMap<Integer, LoaderInfo> mInactiveLoaders;
+ private HashMap<Integer, LoaderInfo<D>> mLoaders;
+ private HashMap<Integer, LoaderInfo<D>> mInactiveLoaders;
/**
* Registers a loader with this activity, registers the callbacks on it, and starts it loading.
@@ -44,16 +44,16 @@
* is destroyed.
*/
protected void startLoading(int id, Bundle args) {
- LoaderInfo info = mLoaders.get(id);
+ LoaderInfo<D> info = mLoaders.get(id);
if (info != null) {
// Keep track of the previous instance of this loader so we can destroy
// it when the new one completes.
mInactiveLoaders.put(id, info);
}
- info = new LoaderInfo();
+ info = new LoaderInfo<D>();
info.args = args;
mLoaders.put(id, info);
- Loader loader = onCreateLoader(id, args);
+ Loader<D> loader = onCreateLoader(id, args);
info.loader = loader;
if (mStarted) {
// The activity will start all existing loaders in it's onStart(), so only start them
@@ -63,20 +63,20 @@
}
}
- protected abstract Loader onCreateLoader(int id, Bundle args);
+ protected abstract Loader<D> onCreateLoader(int id, Bundle args);
protected abstract void onInitializeLoaders();
- protected abstract void onLoadFinished(Loader loader, D data);
+ protected abstract void onLoadFinished(Loader<D> loader, D data);
- public final void onLoadComplete(Loader loader, D data) {
+ public final void onLoadComplete(Loader<D> loader, D data) {
// Notify of the new data so the app can switch out the old data before
// we try to destroy it.
onLoadFinished(loader, data);
// Look for an inactive loader and destroy it if found
int id = loader.getId();
- LoaderInfo info = mInactiveLoaders.get(id);
+ LoaderInfo<D> info = mInactiveLoaders.get(id);
if (info != null) {
- Loader oldLoader = info.loader;
+ Loader<D> oldLoader = info.loader;
if (oldLoader != null) {
oldLoader.destroy();
}
@@ -90,14 +90,14 @@
if (mLoaders == null) {
// Look for a passed along loader and create a new one if it's not there
- mLoaders = (HashMap<Integer, LoaderInfo>) getLastNonConfigurationInstance();
+ mLoaders = (HashMap<Integer, LoaderInfo<D>>) getLastNonConfigurationInstance();
if (mLoaders == null) {
- mLoaders = new HashMap<Integer, LoaderInfo>();
+ mLoaders = new HashMap<Integer, LoaderInfo<D>>();
onInitializeLoaders();
}
}
if (mInactiveLoaders == null) {
- mInactiveLoaders = new HashMap<Integer, LoaderInfo>();
+ mInactiveLoaders = new HashMap<Integer, LoaderInfo<D>>();
}
}
@@ -107,9 +107,9 @@
// Call out to sub classes so they can start their loaders
// Let the existing loaders know that we want to be notified when a load is complete
- for (HashMap.Entry<Integer, LoaderInfo> entry : mLoaders.entrySet()) {
- LoaderInfo info = entry.getValue();
- Loader loader = info.loader;
+ for (HashMap.Entry<Integer, LoaderInfo<D>> entry : mLoaders.entrySet()) {
+ LoaderInfo<D> info = entry.getValue();
+ Loader<D> loader = info.loader;
int id = entry.getKey();
if (loader == null) {
loader = onCreateLoader(id, info.args);
@@ -126,9 +126,9 @@
public void onStop() {
super.onStop();
- for (HashMap.Entry<Integer, LoaderInfo> entry : mLoaders.entrySet()) {
- LoaderInfo info = entry.getValue();
- Loader loader = info.loader;
+ for (HashMap.Entry<Integer, LoaderInfo<D>> entry : mLoaders.entrySet()) {
+ LoaderInfo<D> info = entry.getValue();
+ Loader<D> loader = info.loader;
if (loader == null) {
continue;
}
@@ -158,9 +158,9 @@
super.onDestroy();
if (mLoaders != null) {
- for (HashMap.Entry<Integer, LoaderInfo> entry : mLoaders.entrySet()) {
- LoaderInfo info = entry.getValue();
- Loader loader = info.loader;
+ for (HashMap.Entry<Integer, LoaderInfo<D>> entry : mLoaders.entrySet()) {
+ LoaderInfo<D> info = entry.getValue();
+ Loader<D> loader = info.loader;
if (loader == null) {
continue;
}