Blame |
Last modification |
View Log
| RSS feed
package com.gebauz.framework.util;
import java.util.Iterator;
import java.util.List;
import java.util.ArrayList;
import android.content.Context;
import android.content.res.Resources;
public class ResourceManager
{
private static ResourceManager mInstance =
new ResourceManager
();
/** Stores the current context for access from anywhere. */
private Context mCurrentContext =
null;
private List<Resource
> mResources =
new ArrayList<Resource
>();
private ResourceManager
()
{
}
public void registerResource
(Resource resource
)
{
mResources.
add(resource
);
}
public void unregisterResource
(Resource resource
)
{
while (mResources.
remove(resource
))
{
// do nothing
}
}
/** Recreate resources that are lost when the context is recreated.
* Context renewal can happen when task-switching, for instance.
*/
public void recreateResources
() {
Iterator<Resource
> it = mResources.
iterator();
while(it.
hasNext())
{
Resource res = it.
next();
res.
recreate();
}
}
public static ResourceManager getInstance
() { return mInstance
; }
public static Resources getResources
() { return mInstance.
mCurrentContext.
getResources(); }
public void setCurrentContext
(Context context
) { mCurrentContext = context
; }
public Context getCurrentContext
() { return mCurrentContext
; }
}