@Override public void loginFailed() { mController.openLoginDialog(); }
@Override public void sessionTimedOut() { mController.performLogin(this); }
@Override public void onInitializationSuccess( Provider provider, YouTubePlayer player, boolean wasRestored) { if (mModel.getVideoDesc(videoID) != null) { TextView discussionView = (TextView) findViewById(R.id.edx_sr_discussion); // discussionView.append(Html.fromHtml(msg.getTextBody())); // TextView vidDesc = (TextView) findViewById(R.id.edx_sr_video_desc); discussionView.append(Html.fromHtml("<p>" + mModel.getVideoDesc(videoID) + "</p>")); } player.setPlaybackEventListener( new PlaybackEventListener() { public void onStopped() {} public void onSeekTo(int arg0) { if (roomNbr != null) mController.pushMessage2(EdXStudyRoomView.this, videoID + roomNbr, "SEEK", "" + arg0); } public void onPlaying() { if (roomNbr != null) mController.pushMessage2(EdXStudyRoomView.this, videoID + roomNbr, "PLAY", ""); } public void onPaused() { if (roomNbr != null) mController.pushMessage2(EdXStudyRoomView.this, videoID + roomNbr, "PAUSE", ""); } public void onBuffering(boolean arg0) {} }); player.setPlayerStateChangeListener( new PlayerStateChangeListener() { public void onVideoStarted() {} public void onVideoEnded() {} public void onLoading() {} public void onLoaded(String arg0) {} public void onError(ErrorReason arg0) {} public void onAdStarted() {} }); ytPlayer = player; // player.addFullscreenControlFlag(YouTubePlayer.FULLSCREEN_FLAG_CUSTOM_LAYOUT); // player.addFullscreenControlFlag(YouTubePlayer.FULLSCREEN_FLAG_ALWAYS_FULLSCREEN_IN_LANDSCAPE); // setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR); if (!wasRestored) { // player.cueVideo("nCgQDjiotG0"); // System.out.println("roomName=" + roomName); /*String vidId = roomName.split("[!]", 2)[0]; if (vidId.startsWith("+")) vidId = vidId.substring(1);*/ player.cueVideo(videoID); } if (roomNbr != null) { poller = mController.startPolling2( this, videoID + roomNbr, new Callback<List<MsgPsgMessage>>() { public void callback(List<MsgPsgMessage> s) { String selfRef = mModel.getSession(); for (MsgPsgMessage msg : s) { if (msg.getMessageType() == MsgPsgMessageType.MESSAGE) { if ("PLAY".equals(msg.getMessageHeader())) { if (selfRef.equals(msg.getSenderRef())) continue; // playClicked(); mController.setSkipMessage(msg.getMessageHeader(), msg.getTextBody()); ytPlayer.play(); } else if ("PAUSE".equals(msg.getMessageHeader())) { if (selfRef.equals(msg.getSenderRef())) continue; // pauseClicked(); mController.setSkipMessage(msg.getMessageHeader(), msg.getTextBody()); ytPlayer.pause(); } else if ("SEEK".equals(msg.getMessageHeader())) { if (selfRef.equals(msg.getSenderRef())) continue; // mediaPlayer.seekTo(Integer.parseInt(msg.getTextBody())); mController.setSkipMessage(msg.getMessageHeader(), msg.getTextBody()); ytPlayer.seekToMillis(Integer.parseInt(msg.getTextBody())); } else if ("TEXT".equals(msg.getMessageHeader())) { // String sender = msg.getSenderRef(); // if(EdXController.ANDROID_ID.equals(msg.getSenderRef())) // sender = "me"; TextView discussionView = (TextView) findViewById(R.id.edx_sr_discussion); discussionView.append(Html.fromHtml(msg.getTextBody())); // discussionView.scrollTo(0, discussionView.getHeight()); Layout layout = discussionView.getLayout(); int scrollDelta = layout.getLineBottom(discussionView.getLineCount() - 1) - discussionView.getScrollY() - discussionView.getHeight(); if (scrollDelta > 0) discussionView.scrollBy(0, scrollDelta); // discussionView.setText(discussionView.getText().toString() + // "\n" + ); } } else if (msg.getMessageType() == MsgPsgMessageType.AUDIO) { // new Utils.AudioOut(msg.getBinaryBody()); if (pb != null) pb.queue(msg.getBinaryBody()); } } } }); } }