package com.dh.foundation.manager; import android.app.DownloadManager; import android.content.Context; import android.content.SharedPreferences; import com.dh.foundation.manager.managerinterface.IFoundationCacheManager; import com.dh.foundation.manager.managerinterface.IHandlerManager; /** * 框架基础包管理者 * Created By: Seal.Wu * Date: 2015/4/14 * Time: 14:13 */ public class FoundationManager { private final static String sharedPreferencesName = "shared_preferences"; private static SingletonInjectFactory singletonInjectFactory = SingletonInjectFactory.getInstance(); public static void init(Context context) { singletonInjectFactory.registerDependencySingletonObject(Context.class, context); SharedPreferences sharedPreferences = context.getSharedPreferences(sharedPreferencesName, Context.MODE_PRIVATE); singletonInjectFactory.registerDependencySingletonObject(SharedPreferences.class, sharedPreferences); singletonInjectFactory.registerDependencySingletonClass(SharedPreferenceManager.class); singletonInjectFactory.registerDependencySingletonImplementObject(IHandlerManager.class, HandlerManager.getInstance()); singletonInjectFactory.registerDependencySingletonImplementObject(ActivityStackManager.class, new ActivityStackManager()); singletonInjectFactory.registerDependencySingletonObject(DownloadManager.class, (DownloadManager) context.getSystemService(Context.DOWNLOAD_SERVICE)); singletonInjectFactory.registerDependencySingletonImplementObject(IFoundationCacheManager.class, new FoundationCacheManager()); } public static Context getContext() { return singletonInjectFactory.getObjectByClass(Context.class); } public static SharedPreferences getSharedPreferences() { return singletonInjectFactory.getObjectByClass(SharedPreferences.class); } public static SharedPreferenceManager getSharedPreferenceManager() { return singletonInjectFactory.getObjectByClass(SharedPreferenceManager.class); } public static ActivityStackManager getActivityManager() { return singletonInjectFactory.getObjectByClass(ActivityStackManager.class); } public static IHandlerManager getHandleManager() { return singletonInjectFactory.getObjectByClass(IHandlerManager.class); } public static DownloadManager getDownloadManager() { return singletonInjectFactory.getObjectByClass(DownloadManager.class); } /** * 获取缓存管理者 */ public static IFoundationCacheManager getFoundationCacheManager() { return singletonInjectFactory.getObjectByClass(IFoundationCacheManager.class); } }