/** Metoda sprawdzajaca stan klawiszy i aktualizujaca zmienne odpowiedzialne za stan gry */ public void updateState() { int keys = getKeyStates(); if (bluetoothPlayer.getIsConnectedToServer() == true) { if (displayedScreen == PLAYER_SCREEN) { // jesli wyswietlany jest ekran odtwarzacza // jesli przycisk 'Play / Pause' jest wcisniety, a pozostale nie sa wcisniete if (((keys & FIRE_PRESSED) != 0) && (nextPressed == false) && (previousPressed == false)) { if (playPauseSprite.getFrame() == PLAY_ICON) { playPauseSprite.setFrame(PLAY_ICON_PRESSED); } else if (playPauseSprite.getFrame() == PAUSE_ICON) { playPauseSprite.setFrame(PAUSE_ICON_PRESSED); } if (firePressed == false) soundPlayer.play(SoundPlayer.CLICK_SOUND); firePressed = true; } // przycisk zostal zwolniony else if (((keys & FIRE_PRESSED) == 0) && (firePressed == true)) { if (playPauseSprite.getFrame() == PLAY_ICON_PRESSED) { // zmiana stanu przycisku bluetoothPlayer.play(); playPauseSprite.setFrame(PAUSE_ICON); } else if (playPauseSprite.getFrame() == PAUSE_ICON_PRESSED) { bluetoothPlayer.pause(); playPauseSprite.setFrame(PLAY_ICON); } firePressed = false; } // jesli przycisk 'Next' jest wcisniety, a pozostale nie sa wcisniete if (((keys & RIGHT_PRESSED) != 0) && (firePressed == false) && (previousPressed == false)) { if (nextSprite.getFrame() == NEXT_ICON) nextSprite.setFrame(NEXT_ICON_PRESSED); if (nextPressed == false) { soundPlayer.play(SoundPlayer.CLICK_SOUND); } nextPressed = true; } // przycisk zostal zwolniony else if (((keys & RIGHT_PRESSED) == 0) && (nextPressed == true)) { if (nextSprite.getFrame() == NEXT_ICON_PRESSED) nextSprite.setFrame(NEXT_ICON); bluetoothPlayer.addCommandToProcess(BluetoothPlayer.COMMAND_NEXT); nextPressed = false; if (bluetoothPlayer.getTotalTime() != 0) // jesli utwor jest odtwarzany lub zapauzowany playPauseSprite.setFrame(PAUSE_ICON); } // jesli przycisk 'Previous' jest wcisniety, a pozostale nie sa wcisniete if (((keys & LEFT_PRESSED) != 0) && (nextPressed == false) && (firePressed == false)) { if (previousSprite.getFrame() == PREVIOUS_ICON) previousSprite.setFrame(PREVIOUS_ICON_PRESSED); if (previousPressed == false) { soundPlayer.play(SoundPlayer.CLICK_SOUND); } previousPressed = true; } // przycisk zostal zwolniony else if (((keys & LEFT_PRESSED) == 0) && (previousPressed == true)) { if (previousSprite.getFrame() == PREVIOUS_ICON_PRESSED) previousSprite.setFrame(PREVIOUS_ICON); bluetoothPlayer.addCommandToProcess(BluetoothPlayer.COMMAND_PREV); previousPressed = false; if (bluetoothPlayer.getTotalTime() != 0) // jesli utwor jest odtwarzany lub zapauzowany playPauseSprite.setFrame(PAUSE_ICON); } // jesli przycisk 'Up' jest wcisniety, a pozostale nie sa wcisniete if (((keys & UP_PRESSED) != 0) && (previousPressed == false) && (nextPressed == false) && (firePressed == false)) { if (previousPressed == false) { soundPlayer.play(SoundPlayer.CLICK_SOUND); } bluetoothPlayer.volumeUp(); } // jesli przycisk 'Down' jest wcisniety, a pozostale nie sa wcisniete if (((keys & DOWN_PRESSED) != 0) && (previousPressed == false) && (nextPressed == false) && (firePressed == false)) { if (previousPressed == false) { soundPlayer.play(SoundPlayer.CLICK_SOUND); } bluetoothPlayer.volumeDown(); } } } // jesli wyswietlany jest ekran biblioteki muzycznej if (displayedScreen == MEDIA_LIBRARY_SCREEN) { // jesli przycisk akcji jest wcisniety, a pozostale nie sa wcisniete if (((keys & FIRE_PRESSED) != 0) && (nextPressed == false) && (previousPressed == false)) { buttonPressedInARowCount = 0; if (firePressed == false) soundPlayer.play(SoundPlayer.CLICK_SOUND); firePressed = true; } // przycisk zostal zwolniony else if (((keys & FIRE_PRESSED) == 0) && (firePressed == true)) { buttonPressedInARowCount = 0; firePressed = false; } // jesli przycisk 'Down' jest wcisniety, a pozostale nie sa wcisniete if (((keys & DOWN_PRESSED) != 0) && (firePressed == false) && (previousPressed == false)) { if (nextPressed == true) buttonPressedInARowCount++; else buttonPressedInARowCount = 0; nextPressed = true; } // button was released or hold down for more than MAX_BUTTON_PRESSED_IN_A_ROW_COUNT clicks if ((((keys & DOWN_PRESSED) == 0) && (nextPressed == true)) || (((keys & DOWN_PRESSED) != 0) && (buttonPressedInARowCount >= MAX_BUTTON_PRESSED_IN_A_ROW_COUNT))) { // jesli wybrany utwor nie byl ostatni na liscie if (bluetoothPlayer.getMediaLibrary().selectItemInMediaLibrary(NEXT_ITEM) == true) { if (mediaLibrarySelectedItemOnScreen < mediaLibraryItemsNumberOnScreen - 1) mediaLibrarySelectedItemOnScreen++; } // nextPressed is set to false only if button was released if ((((keys & DOWN_PRESSED) != 0) && (buttonPressedInARowCount >= MAX_BUTTON_PRESSED_IN_A_ROW_COUNT)) == false) nextPressed = false; } // jesli przycisk 'Previous' jest wcisniety, a pozostale nie sa wcisniete if (((keys & UP_PRESSED) != 0) && (nextPressed == false) && (firePressed == false)) { if (previousPressed == true) buttonPressedInARowCount++; else buttonPressedInARowCount = 0; previousPressed = true; } // button was released or hold down for more than MAX_BUTTON_PRESSED_IN_A_ROW_COUNT clicks if ((((keys & UP_PRESSED) == 0) && (previousPressed == true)) || (((keys & UP_PRESSED) != 0) && (buttonPressedInARowCount >= MAX_BUTTON_PRESSED_IN_A_ROW_COUNT))) { // jesli wybrany utwor nie byl pierwszy na liscie if (bluetoothPlayer.getMediaLibrary().selectItemInMediaLibrary(PREVIOUS_ITEM) == true) { if (mediaLibrarySelectedItemOnScreen > 0) mediaLibrarySelectedItemOnScreen--; } // previousPressed is set to false only if button was released if ((((keys & UP_PRESSED) != 0) && (buttonPressedInARowCount >= MAX_BUTTON_PRESSED_IN_A_ROW_COUNT)) == false) previousPressed = false; } } // if volume level has changed if (volumeLevel != bluetoothPlayer.getVolumeLevel()) { showVolume = 15; volumeLevel = bluetoothPlayer.getVolumeLevel(); } if (bluetoothPlayer.getIsConnectedToServer() == false) { if (buttonsLocation < 70) buttonsLocation += 5; } if ((bluetoothPlayer.getIsConnectedToServer() == true) && (buttonsLocation > 0)) { buttonsLocation -= 5; } if (bluetoothPlayer.getStateChanged()) { String state = bluetoothPlayer.getPlayingState(); if (state != null) { if (state.equals("PLAY") || state.equals("OTHER")) { playPauseSprite.setFrame(PAUSE_ICON); } else if (state.equals("PAUSE") || state.equals("STOP")) playPauseSprite.setFrame(PLAY_ICON); } soundPlayer.play(SoundPlayer.POPUP_SOUND); } }