SimplyPebble.onPacket = function(buffer, offset) { Packet._view = buffer; Packet._offset = offset; var packet = CommandPackets[Packet.type()]; if (!packet) { console.log('Received unknown packet: ' + JSON.stringify(buffer)); return; } packet._view = Packet._view; packet._offset = offset; switch (packet) { case LaunchReasonPacket: SimplyPebble.onLaunchReason(packet); break; case WakeupSetResultPacket: SimplyPebble.onWakeupSetResult(packet); break; case WakeupEventPacket: Wakeup.emitWakeup(packet.id(), packet.cookie()); break; case WindowHideEventPacket: ImageService.markAllUnloaded(); WindowStack.emitHide(packet.id()); break; case ClickPacket: Window.emitClick('click', ButtonTypes[packet.button()]); break; case LongClickPacket: Window.emitClick('longClick', ButtonTypes[packet.button()]); break; case AccelDataPacket: SimplyPebble.onAccelData(packet); break; case AccelTapPacket: Accel.emitAccelTap(accelAxes[packet.axis()], packet.direction()); break; case MenuGetSectionPacket: Menu.emitSection(packet.section()); break; case MenuGetItemPacket: Menu.emitItem(packet.section(), packet.item()); break; case MenuSelectPacket: Menu.emitSelect('menuSelect', packet.section(), packet.item()); break; case MenuLongSelectPacket: Menu.emitSelect('menuLongSelect', packet.section(), packet.item()); break; case MenuSelectionEventPacket: Menu.emitSelect('menuSelection', packet.section(), packet.item()); break; case ElementAnimateDonePacket: StageElement.emitAnimateDone(packet.id()); break; } };
SimplyPebble.onPacket = function(buffer, offset) { Packet._view = buffer; Packet._offset = offset; var packet = CommandPackets[Packet.type()]; if (!packet) { console.log('Received unknown packet: ' + JSON.stringify(buffer)); return; } packet._view = Packet._view; packet._offset = offset; switch (packet) { case WindowHideEventPacket: WindowStack.emitHide(packet.id()); break; case ClickPacket: Window.emitClick('click', buttonTypes[packet.button()]); break; case LongClickPacket: Window.emitClick('longClick', buttonTypes[packet.button()]); break; case AccelDataPacket: var samples = packet.samples(); var accels = []; AccelData._view = packet._view; AccelData._offset = packet._size; for (var i = 0; i < samples; ++i) { accels.push(AccelData.prop()); AccelData._offset += AccelData._size; } if (!packet.peek()) { Accel.emitAccelData(accels); } else { var handlers = accelListeners; accelListeners = []; for (var j = 0, jj = handlers.length; j < jj; ++j) { Accel.emitAccelData(accels, handlers[j]); } } break; case AccelTapPacket: Accel.emitAccelTap(accelAxes[packet.axis()], packet.direction()); break; case MenuGetSectionPacket: Menu.emitSection(packet.section()); break; case MenuGetItemPacket: Menu.emitItem(packet.section(), packet.item()); break; case MenuSelectPacket: Menu.emitSelect('menuSelect', packet.section(), packet.item()); break; case MenuLongSelectPacket: Menu.emitSelect('menuLongSelect', packet.section(), packet.item()); break; case MenuSelectionEventPacket: Menu.emitSelect('menuSelection', packet.section(), packet.item()); break; case ElementAnimateDonePacket: StageElement.emitAnimateDone(packet.id()); break; } };