22
33import android .app .Activity ;
44import android .content .Intent ;
5- import android .content .pm .ActivityInfo ;
6- import android .content .res .Configuration ;
75import android .graphics .Point ;
86import android .opengl .GLSurfaceView ;
97import android .os .Bundle ;
10- import android .util .Log ;
118import android .view .Window ;
9+ import android .view .WindowManager .LayoutParams ;
1210import android .widget .Toast ;
1311import org .json .JSONException ;
1412import org .webrtc .MediaStream ;
@@ -49,6 +47,12 @@ public class RTCActivity extends Activity implements WebRtcClient.RTCListener {
4947 public void onCreate (Bundle savedInstanceState ) {
5048 super .onCreate (savedInstanceState );
5149 requestWindowFeature (Window .FEATURE_NO_TITLE );
50+ getWindow ().addFlags (
51+ LayoutParams .FLAG_FULLSCREEN
52+ | LayoutParams .FLAG_KEEP_SCREEN_ON
53+ | LayoutParams .FLAG_DISMISS_KEYGUARD
54+ | LayoutParams .FLAG_SHOW_WHEN_LOCKED
55+ | LayoutParams .FLAG_TURN_SCREEN_ON );
5256 setContentView (R .layout .main );
5357 mSocketAddress = "http://" + getResources ().getString (R .string .host );
5458 mSocketAddress += (":" + getResources ().getString (R .string .port ) + "/" );
@@ -63,7 +67,7 @@ public void run() {
6367 }
6468 });
6569
66- // Camera display view
70+ // local and remote render
6771 remoteRender = VideoRendererGui .create (
6872 REMOTE_X , REMOTE_Y ,
6973 REMOTE_WIDTH , REMOTE_HEIGHT , scalingType , false );
@@ -87,12 +91,7 @@ private void init() {
8791 true , false , displaySize .x , displaySize .y , 30 , 1 , VIDEO_CODEC_VP9 , true , 1 , AUDIO_CODEC_OPUS , true );
8892 PeerConnectionFactory .initializeAndroidGlobals (this , true , true ,
8993 params .videoCodecHwAcceleration , VideoRendererGui .getEGLContext ());
90- client = new WebRtcClient (this , mSocketAddress );
91- }
92-
93- public void onConfigurationChanged (Configuration newConfig ) {
94- super .onConfigurationChanged (newConfig );
95- setRequestedOrientation (ActivityInfo .SCREEN_ORIENTATION_LANDSCAPE );
94+ client = new WebRtcClient (this , mSocketAddress , params );
9695 }
9796
9897 @ Override
@@ -113,6 +112,14 @@ public void onResume() {
113112 }
114113 }
115114
115+ @ Override
116+ public void onDestroy () {
117+ if (client != null ) {
118+ client .disconnect ();
119+ }
120+ super .onDestroy ();
121+ }
122+
116123 @ Override
117124 public void onCallReady (String callId ) {
118125 if (callerId != null ) {
@@ -147,7 +154,7 @@ protected void onActivityResult(int requestCode, int resultCode, Intent data) {
147154
148155 public void startCam () {
149156 // Camera settings
150- client .setCamera ("640" , "480" );
157+ client .setCamera ();
151158 client .start ("android_test" );
152159 }
153160
@@ -165,8 +172,8 @@ public void run() {
165172 public void onLocalStream (MediaStream localStream ) {
166173 localStream .videoTracks .get (0 ).addRenderer (new VideoRenderer (localRender ));
167174 VideoRendererGui .update (localRender ,
168- LOCAL_X_CONNECTED , LOCAL_Y_CONNECTED ,
169- LOCAL_WIDTH_CONNECTED , LOCAL_HEIGHT_CONNECTED ,
175+ LOCAL_X_CONNECTING , LOCAL_Y_CONNECTING ,
176+ LOCAL_WIDTH_CONNECTING , LOCAL_HEIGHT_CONNECTING ,
170177 VideoRendererGui .ScalingType .SCALE_ASPECT_FIT );
171178 }
172179
@@ -176,10 +183,18 @@ public void onAddRemoteStream(MediaStream remoteStream, int endPoint) {
176183 VideoRendererGui .update (remoteRender ,
177184 REMOTE_X , REMOTE_Y ,
178185 REMOTE_WIDTH , REMOTE_HEIGHT , scalingType );
186+ VideoRendererGui .update (localRender ,
187+ LOCAL_X_CONNECTED , LOCAL_Y_CONNECTED ,
188+ LOCAL_WIDTH_CONNECTED , LOCAL_HEIGHT_CONNECTED ,
189+ VideoRendererGui .ScalingType .SCALE_ASPECT_FIT );
179190 }
180191
181192 @ Override
182193 public void onRemoveRemoteStream (MediaStream remoteStream , int endPoint ) {
183194 VideoRendererGui .remove (remoteRender );
195+ VideoRendererGui .update (localRender ,
196+ LOCAL_X_CONNECTING , LOCAL_Y_CONNECTING ,
197+ LOCAL_WIDTH_CONNECTING , LOCAL_HEIGHT_CONNECTING ,
198+ VideoRendererGui .ScalingType .SCALE_ASPECT_FIT );
184199 }
185200}
0 commit comments