[aimedb] Correct aime command 0x000d

Special thanks to Treeskin at Discord
This commit is contained in:
Dom Eori 2022-03-11 20:44:41 +09:00
parent 6117a4fc2a
commit 806c68e966
3 changed files with 14 additions and 13 deletions

View File

@ -32,10 +32,10 @@ public class AimeDbRequestHandler extends ChannelInboundHandlerAdapter {
private final Lookup2Handler lookup2Handler; private final Lookup2Handler lookup2Handler;
private final RegisterHandler registerHandler; private final RegisterHandler registerHandler;
private final Unknown19Handler unknown19Handler; private final Unknown19Handler unknown19Handler;
private final Unknown13Handler unknown13Handler; private final TouchHandler touchHandler;
@Autowired @Autowired
public AimeDbRequestHandler(CampaignHandler campaignHandler, FeliCaLookupHandler feliCaLookupHandler, FeliCaLookup2Handler feliCaLookup2Handler, GoodbyeHandler goodbyeHandler, HelloHandler helloHandler, LogHandler logHandler, LookupHandler lookupHandler, Lookup2Handler lookup2Handler, RegisterHandler registerHandler, Unknown19Handler unknown19Handler, Unknown13Handler unknown13Handler) { public AimeDbRequestHandler(CampaignHandler campaignHandler, FeliCaLookupHandler feliCaLookupHandler, FeliCaLookup2Handler feliCaLookup2Handler, GoodbyeHandler goodbyeHandler, HelloHandler helloHandler, LogHandler logHandler, LookupHandler lookupHandler, Lookup2Handler lookup2Handler, RegisterHandler registerHandler, Unknown19Handler unknown19Handler, TouchHandler touchHandler) {
this.campaignHandler = campaignHandler; this.campaignHandler = campaignHandler;
this.feliCaLookupHandler = feliCaLookupHandler; this.feliCaLookupHandler = feliCaLookupHandler;
this.feliCaLookup2Handler = feliCaLookup2Handler; this.feliCaLookup2Handler = feliCaLookup2Handler;
@ -46,7 +46,7 @@ public class AimeDbRequestHandler extends ChannelInboundHandlerAdapter {
this.lookup2Handler = lookup2Handler; this.lookup2Handler = lookup2Handler;
this.registerHandler = registerHandler; this.registerHandler = registerHandler;
this.unknown19Handler = unknown19Handler; this.unknown19Handler = unknown19Handler;
this.unknown13Handler = unknown13Handler; this.touchHandler = touchHandler;
} }
@ -72,7 +72,7 @@ public class AimeDbRequestHandler extends ChannelInboundHandlerAdapter {
campaignHandler.handle(ctx, data); campaignHandler.handle(ctx, data);
break; break;
case 0x000d: case 0x000d:
unknown13Handler.handle(ctx, data); touchHandler.handle(ctx, data);
break; break;
case 0x000f: case 0x000f:
lookup2Handler.handle(ctx, data); lookup2Handler.handle(ctx, data);

View File

@ -26,10 +26,10 @@ public class AimeDbServerInitializer extends ChannelInitializer<SocketChannel> {
private final Lookup2Handler lookup2Handler; private final Lookup2Handler lookup2Handler;
private final RegisterHandler registerHandler; private final RegisterHandler registerHandler;
private final Unknown19Handler unknown19Handler; private final Unknown19Handler unknown19Handler;
private final Unknown13Handler unknown13Handler; private final TouchHandler touchHandler;
@Autowired @Autowired
public AimeDbServerInitializer(CampaignHandler campaignHandler, FeliCaLookupHandler feliCaLookupHandler, FeliCaLookup2Handler feliCaLookup2Handler, GoodbyeHandler goodbyeHandler, HelloHandler helloHandler, LogHandler logHandler, LookupHandler lookupHandler, Lookup2Handler lookup2Handler, RegisterHandler registerHandler, Unknown19Handler unknown19Handler, Unknown13Handler unknown13Handler) { public AimeDbServerInitializer(CampaignHandler campaignHandler, FeliCaLookupHandler feliCaLookupHandler, FeliCaLookup2Handler feliCaLookup2Handler, GoodbyeHandler goodbyeHandler, HelloHandler helloHandler, LogHandler logHandler, LookupHandler lookupHandler, Lookup2Handler lookup2Handler, RegisterHandler registerHandler, Unknown19Handler unknown19Handler, TouchHandler touchHandler) {
this.campaignHandler = campaignHandler; this.campaignHandler = campaignHandler;
this.feliCaLookup2Handler = feliCaLookup2Handler; this.feliCaLookup2Handler = feliCaLookup2Handler;
this.feliCaLookupHandler = feliCaLookupHandler; this.feliCaLookupHandler = feliCaLookupHandler;
@ -40,7 +40,7 @@ public class AimeDbServerInitializer extends ChannelInitializer<SocketChannel> {
this.lookup2Handler = lookup2Handler; this.lookup2Handler = lookup2Handler;
this.registerHandler = registerHandler; this.registerHandler = registerHandler;
this.unknown19Handler = unknown19Handler; this.unknown19Handler = unknown19Handler;
this.unknown13Handler = unknown13Handler; this.touchHandler = touchHandler;
} }
@ -49,7 +49,7 @@ public class AimeDbServerInitializer extends ChannelInitializer<SocketChannel> {
ChannelPipeline pipeline = ch.pipeline(); ChannelPipeline pipeline = ch.pipeline();
pipeline.addLast("encoder", new AimeDbEncoder()); pipeline.addLast("encoder", new AimeDbEncoder());
pipeline.addLast("decoder", new AimeDbDecoder()); pipeline.addLast("decoder", new AimeDbDecoder());
pipeline.addLast("handler", new AimeDbRequestHandler(campaignHandler, feliCaLookupHandler, feliCaLookup2Handler, goodbyeHandler, helloHandler, logHandler, lookupHandler, lookup2Handler, registerHandler, unknown19Handler, unknown13Handler)); pipeline.addLast("handler", new AimeDbRequestHandler(campaignHandler, feliCaLookupHandler, feliCaLookup2Handler, goodbyeHandler, helloHandler, logHandler, lookupHandler, lookup2Handler, registerHandler, unknown19Handler, touchHandler));
} }
} }

View File

@ -19,26 +19,27 @@ import java.util.Map;
* @author samnyan (privateamusement@protonmail.com) * @author samnyan (privateamusement@protonmail.com)
*/ */
@Component @Component
public class Unknown13Handler implements BaseHandler { public class TouchHandler implements BaseHandler {
private static final Logger logger = LoggerFactory.getLogger(Unknown13Handler.class); private static final Logger logger = LoggerFactory.getLogger(TouchHandler.class);
private final LogMapper logMapper; private final LogMapper logMapper;
@Autowired @Autowired
public Unknown13Handler(LogMapper logMapper) { public TouchHandler(LogMapper logMapper) {
this.logMapper = logMapper; this.logMapper = logMapper;
} }
@Override @Override
public void handle(ChannelHandlerContext ctx, ByteBuf msg) throws JsonProcessingException { public void handle(ChannelHandlerContext ctx, ByteBuf msg) throws JsonProcessingException {
Map<String, Object> requestMap = AimeDbUtil.getBaseInfo(msg); Map<String, Object> requestMap = AimeDbUtil.getBaseInfo(msg);
requestMap.put("type", "unknown13"); requestMap.put("type", "touch");
requestMap.put("aimeId", msg.getUnsignedIntLE(0x0020));
logger.info("Request: " + logMapper.write(requestMap)); logger.info("Request: " + logMapper.write(requestMap));
Map<String, Object> resultMap = new HashMap<>(); Map<String, Object> resultMap = new HashMap<>();
resultMap.put("type", "unknown13"); resultMap.put("type", "touch");
resultMap.put("status", 1); resultMap.put("status", 1);
logger.info("Response: " + logMapper.write(resultMap)); logger.info("Response: " + logMapper.write(resultMap));