package com.socialize; import android.content.Context; import com.socialize.android.ioc.IOCContainer; import com.socialize.android.ioc.ProxyObject; import com.socialize.api.SocializeSession; import com.socialize.api.action.activity.ActionUtilsProxy; import com.socialize.api.action.comment.CommentUtilsProxy; import com.socialize.api.action.entity.EntityUtilsProxy; import com.socialize.api.action.like.LikeUtilsProxy; import com.socialize.api.action.share.ShareUtilsProxy; import com.socialize.api.action.user.UserUtilsProxy; import com.socialize.api.action.view.ViewUtilsProxy; import com.socialize.auth.AuthProviders; import com.socialize.config.ConfigUtilsProxy; import com.socialize.listener.SocializeInitListener; import com.socialize.test.util.TestUtils; public class SocializeAccess { public static final CommentUtilsProxy originalCommentUtilsProxy = CommentUtils.proxy; public static final LikeUtilsProxy originalLikeUtilsProxy = LikeUtils.proxy; public static final ShareUtilsProxy originalShareUtilsProxy = ShareUtils.proxy; public static final ViewUtilsProxy originalViewUtilsProxy = ViewUtils.proxy; public static final UserUtilsProxy originalUserUtilsProxy = UserUtils.proxy; public static final ConfigUtilsProxy originalConfigUtilsProxy = ConfigUtils.proxy; public static final EntityUtilsProxy originalEntityUtilsProxy = EntityUtils.proxy; public static final ActionUtilsProxy originalActionUtilsProxy = ActionUtils.proxy; public static <T> T getBean(String beanName, Object...args) { return getBean(Socialize.getSocialize(), beanName, args); } public static <T> T getBean(SocializeService socialize, String beanName, Object...args) { if(socialize instanceof SocializeServiceImpl) { SocializeServiceImpl impl = (SocializeServiceImpl) socialize; return impl.getContainer().getBean(beanName, args); } return null; } public static <T> ProxyObject<T> getProxy(String beanName) { return getProxy(Socialize.getSocialize(), beanName); } public static <T> ProxyObject<T> getProxy(SocializeService socialize, String beanName) { if(socialize instanceof SocializeServiceImpl) { SocializeServiceImpl impl = (SocializeServiceImpl) socialize; return impl.getContainer().getProxy(beanName); } return null; } public static IOCContainer getContainer() { return getContainer(Socialize.getSocialize()); } public static IOCContainer getContainer(SocializeService socialize) { if(socialize instanceof SocializeServiceImpl) { SocializeServiceImpl impl = (SocializeServiceImpl) socialize; return impl.getContainer(); } return null; } public static void setSocialize(SocializeServiceImpl socialize) { TestUtils.setStaticProperty(Socialize.class, "instance", socialize); } public static void clearBeanOverrides() { Socialize.getSocialize().getSystem().setBeanOverrides(); } public static void setBeanOverrides(String...override) { Socialize.getSocialize().getSystem().setBeanOverrides(override); } public static void setInitListener(SocializeInitListener listener) { Socialize.getSocialize().getSystem().setSystemInitListener(listener); } public static void init(Context context, String...paths) { Socialize.instance.init(context, paths); } public static void setAuthProviders(AuthProviders authProviders) { Socialize.instance.setAuthProviders(authProviders); } public static void setSession(SocializeSession session) { Socialize.instance.setSession(session); } public static void setActionUtilsProxy(ActionUtilsProxy proxy) { ActionUtils.proxy = proxy; } public static void setCommentUtilsProxy(CommentUtilsProxy proxy) { CommentUtils.proxy = proxy; } public static void setLikeUtilsProxy(LikeUtilsProxy proxy) { LikeUtils.proxy = proxy; } public static void setEntityUtilsProxy(EntityUtilsProxy proxy) { EntityUtils.proxy = proxy; } public static void setShareUtilsProxy(ShareUtilsProxy proxy) { ShareUtils.proxy = proxy; } public static void setViewUtilsProxy(ViewUtilsProxy proxy) { ViewUtils.proxy = proxy; } public static void setUserUtilsProxy(UserUtilsProxy proxy) { UserUtils.proxy = proxy; } public static void revertUserUtilsProxy() { UserUtils.proxy = originalUserUtilsProxy; } public static void revertCommentUtilsProxy() { CommentUtils.proxy = originalCommentUtilsProxy; } public static void revertLikeUtilsProxy() { LikeUtils.proxy = originalLikeUtilsProxy; } public static void revertShareUtilsProxy() { ShareUtils.proxy = originalShareUtilsProxy; } public static void revertViewUtilsProxy() { ViewUtils.proxy = originalViewUtilsProxy; } public static void revertActionUtilsProxy() { ActionUtils.proxy = originalActionUtilsProxy; } public static void setConfigUtilsProxy(ConfigUtilsProxy proxy) { ConfigUtils.proxy = proxy; } public static void revertConfigUtilsProxy() { ConfigUtils.proxy = originalConfigUtilsProxy; } public static void revertEntityUtilsProxy() { EntityUtils.proxy = originalEntityUtilsProxy; } public static void revertProxies() { revertCommentUtilsProxy(); revertLikeUtilsProxy(); revertShareUtilsProxy(); revertViewUtilsProxy(); revertUserUtilsProxy(); revertConfigUtilsProxy(); revertEntityUtilsProxy(); revertActionUtilsProxy(); } }