add websocket
This commit is contained in:
@@ -12,6 +12,7 @@ import com.mogo.service.analytics.IMogoAnalytics;
|
||||
import com.mogo.service.auth.IMogoAuthManager;
|
||||
import com.mogo.service.cardmanager.IMogoCardManager;
|
||||
import com.mogo.service.connection.IMogoSocketManager;
|
||||
import com.mogo.service.connection.IMogoWebSocketManager;
|
||||
import com.mogo.service.datamanager.IMogoDataManager;
|
||||
import com.mogo.service.entrance.IMogoEntranceButtonController;
|
||||
import com.mogo.service.eventpanel.IEventPanelProvider;
|
||||
@@ -72,6 +73,11 @@ public class MogoServiceApis implements IMogoServiceApis {
|
||||
return getApiInstance( IMogoSocketManager.class, MogoServicePaths.PATH_SOCKET_MANAGER );
|
||||
}
|
||||
|
||||
@Override
|
||||
public IMogoWebSocketManager getWebSocketManagerApi(Context context) {
|
||||
return getApiInstance( IMogoWebSocketManager.class, MogoServicePaths.PATH_WEB_SOCKET_MANAGER );
|
||||
}
|
||||
|
||||
@Override
|
||||
public IMogoFragmentManager getFragmentManagerApi() {
|
||||
return SingletonsHolder.get( IMogoFragmentManager.class );
|
||||
|
||||
@@ -0,0 +1,63 @@
|
||||
package com.mogo.service.impl.connection;
|
||||
|
||||
import android.content.Context;
|
||||
|
||||
import com.alibaba.android.arouter.facade.annotation.Route;
|
||||
import com.mogo.service.connection.IMogoOnWebSocketMessageListener;
|
||||
import com.mogo.service.connection.IMogoWebSocketManager;
|
||||
import com.mogo.utils.logger.Logger;
|
||||
|
||||
import java.lang.reflect.Method;
|
||||
|
||||
import static com.mogo.service.MogoServicePaths.PATH_WEB_SOCKET_MANAGER;
|
||||
|
||||
@Route(path = PATH_WEB_SOCKET_MANAGER)
|
||||
public class MogoWebSocketManager implements IMogoWebSocketManager {
|
||||
|
||||
private static final String TAG = "MogoWebSocketManager";
|
||||
private IMogoWebSocketManager mDelegate;
|
||||
|
||||
@Override
|
||||
public void init(Context context, String appId) {
|
||||
if (mDelegate != null) {
|
||||
mDelegate.init(context, appId);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void registerOnWebSocketMessageListener(int msgType, IMogoOnWebSocketMessageListener listener) {
|
||||
if (mDelegate != null) {
|
||||
mDelegate.registerOnWebSocketMessageListener(msgType, listener);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void unregisterOnWebSocketMessageListener(int msgType, IMogoOnWebSocketMessageListener listener) {
|
||||
if (mDelegate != null) {
|
||||
mDelegate.unregisterOnWebSocketMessageListener(msgType, listener);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void sendMsg(Object body, IMogoOnWebSocketMessageListener listener) {
|
||||
if (mDelegate != null) {
|
||||
mDelegate.sendMsg(body, listener);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void init(Context context) {
|
||||
try {
|
||||
Class<?> clazz = Class.forName("com.mogo.base.websocket.WebSocketManager");
|
||||
Method getInstanceMethod = clazz.getMethod("getInstance", Context.class);
|
||||
getInstanceMethod.setAccessible(true);
|
||||
mDelegate = (IMogoWebSocketManager) getInstanceMethod.invoke(null, context);
|
||||
} catch (Exception e) {
|
||||
Logger.e(TAG, e, "error.");
|
||||
}
|
||||
|
||||
if (mDelegate != null) {
|
||||
mDelegate.init(context);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user