@UiThread private void updatePlayPauseIcon(@PlayerState.PlayState String playStatus) { playPauseButton.setImageResource( (PlayerState.PLAY_STATE_PLAY.equals(playStatus)) ? mActivity.getAttributeValue(R.attr.ic_action_av_pause) : mActivity.getAttributeValue(R.attr.ic_action_av_play)); }
@MainThread public void onEventMainThread(HandshakeComplete event) { // Event might arrive before this fragment has connected to the service (e.g., // the activity connected before this fragment did). // XXX: Verify that this is possible, since the fragment can't register for events // until it's connected to the service. if (mService == null) { return; } Log.d(TAG, "Handshake complete"); dismissConnectingDialog(); if (mFullHeightLayout) { nextButton.setEnabled(true); prevButton.setEnabled(true); shuffleButton.setEnabled(true); repeatButton.setEnabled(true); nextButton.setImageResource(mActivity.getAttributeValue(R.attr.ic_action_av_next)); prevButton.setImageResource(mActivity.getAttributeValue(R.attr.ic_action_av_previous)); seekBar.setEnabled(true); } else { mProgressBar.setEnabled(true); } PlayerState playerState = getPlayerState(); // May be no players connected. // TODO: These views should be cleared if there's no player connected. if (playerState == null) return; updateUiFromPlayerState(playerState); }
@MainThread public void onEventMainThread(ConnectionChanged event) { Log.d(TAG, "ConnectionChanged: " + event); // The fragment may no longer be attached to the parent activity. If so, do nothing. if (!isAdded()) { return; } // Handle any of the reasons for disconnection, clear the dialog and show the // DisconnectedActivity. if (event.connectionState == ConnectionState.DISCONNECTED) { dismissConnectingDialog(); DisconnectedActivity.show(mActivity); return; } if (event.connectionState == ConnectionState.CONNECTION_FAILED) { dismissConnectingDialog(); DisconnectedActivity.showConnectionFailed(mActivity); return; } if (event.connectionState == ConnectionState.LOGIN_FAILED) { dismissConnectingDialog(); DisconnectedActivity.showLoginFailed(mActivity); return; } // Any other event means that a connection is in progress, make sure the dialog is showing. showConnectingDialog(); // Ensure that option menu item state is adjusted as appropriate. getActivity().supportInvalidateOptionsMenu(); playPauseButton.setImageResource(mActivity.getAttributeValue(R.attr.ic_action_av_connect)); if (mFullHeightLayout) { nextButton.setEnabled(false); prevButton.setEnabled(false); shuffleButton.setEnabled(false); repeatButton.setEnabled(false); albumArt.setImageResource(R.drawable.icon_album_noart_fullscreen); nextButton.setImageResource(0); prevButton.setImageResource(0); shuffleButton.setImageResource(0); repeatButton.setImageResource(0); updatePlayerDropDown(Collections.<Player>emptyList(), null); artistText.setText(getText(R.string.disconnected_text)); currentTime.setText("--:--"); totalTime.setText("--:--"); seekBar.setEnabled(false); seekBar.setProgress(0); } else { albumArt.setImageResource(R.drawable.icon_album_noart); mProgressBar.setEnabled(false); mProgressBar.setProgress(0); } }
@UiThread private void updateRepeatStatus(RepeatStatus repeatStatus) { if (mFullHeightLayout && repeatStatus != null) { repeatButton.setImageResource(mActivity.getAttributeValue(repeatStatus.getIcon())); } }
@UiThread private void updateShuffleStatus(ShuffleStatus shuffleStatus) { if (mFullHeightLayout && shuffleStatus != null) { shuffleButton.setImageResource(mActivity.getAttributeValue(shuffleStatus.getIcon())); } }