Exemplo n.º 1
0
  /** Metoda odpowiedzialna za przerysowanie ekranu */
  public void updateScreen() {
    Graphics g = getGraphics();
    if (displayedScreen == PLAYER_SCREEN) {
      if (backgroundLayer != null) {
        backgroundLayer.paint(g);
      }

      if ((bluetoothPlayer.getIsConnectedToServer() == false)
          && (bluetoothPlayer.getBluetoothError() == false)) drawText(g, "Connecting...", 0);
      else if (bluetoothPlayer.getBluetoothError() == true) drawText(g, "Disconnected", 0);
      else {
        if (bluetoothPlayer.getTitle() != null) {
          drawText(g, bluetoothPlayer.getTitle(), 0);
        }
        if (bluetoothPlayer.getArtist() != null) {
          drawText(g, bluetoothPlayer.getArtist(), 1);
        }

        if (showVolume > 0) {
          showVolume--;

          drawText(g, "      Volume: " + volumeLevel + "%", 2);
        }
      }

      if (bluetoothPlayer.isBluetoothOn()) {
        if (bluetoothPlayer.getInquiryStarted()) {
          showInquiryProgress(g, inquiryProgress += 20);
          if (inquiryProgress >= 360) inquiryProgress = 0;
        } else {
          inquiryProgress = 0;
          showInquiryProgress(g, 0);
        }

      } else {
        drawText(g, "Please turn your Bluetooth device on", 1);
      }

      playPauseSprite.setPosition(screenWidth / 2 - 16, screenHeight - 66 + buttonsLocation);
      previousSprite.setPosition(screenWidth / 2 - 55, screenHeight - 66 + buttonsLocation);
      nextSprite.setPosition(screenWidth / 2 + 23, screenHeight - 66 + buttonsLocation);
      playPauseSprite.paint(g);
      previousSprite.paint(g);
      nextSprite.paint(g);

      if (bluetoothPlayer.getTotalTime() != 0)
        showProgressBar(g, bluetoothPlayer.getCurrentTime(), bluetoothPlayer.getTotalTime());
      else showProgressBar(g, 0, 100);
    } else if (displayedScreen == MEDIA_LIBRARY_LOADING) {
      if (backgroundLayer != null) {
        backgroundLayer.paint(g);
      }

      if (bluetoothPlayer.getIsConnectedToServer() == true) {
        drawText(g, "Loading media library", 0);
        drawText(g, "Please wait...", 1);

        // display size of the media library
        if (bluetoothPlayer.getMediaLibrarySize() >= 1024) {
          drawText(
              g,
              "Total size: "
                  + bluetoothPlayer.getMediaLibrarySize() / 1024
                  + "."
                  + (bluetoothPlayer.getMediaLibrarySize() % 1024) * 100 / 1024
                  + " kB",
              3);
        } else drawText(g, "Total size: " + bluetoothPlayer.getMediaLibrarySize() + " B", 3);

        int size = bluetoothPlayer.getMediaLibrarySize();

        if (size == 0) // to avoid dividing by zero
        size = 1;

        showProgressBar(g, bluetoothPlayer.getMediaLibraryDownloadedBytes(), size);

        // if the playlist file was downloaded and parsed
        if (bluetoothPlayer.getMediaLibrary().getLibraryDownloadedAndParsed() == true)
          setDisplayedScreen(MainCanvas.MEDIA_LIBRARY_SCREEN);
      } else drawText(g, "You're not connected", 0);
    } else if (displayedScreen == MEDIA_LIBRARY_SCREEN) {
      if (backgroundLayer != null) {
        backgroundLayer.paint(g);
      }
      showMediaLibrary(
          g, bluetoothPlayer, mediaLibrarySelectedItemOnScreen, mediaLibraryItemsNumberOnScreen);
    }

    flushGraphics();
  }