diff --git a/app/src/main/java/com/nextcloud/talk/activities/CallActivity.java b/app/src/main/java/com/nextcloud/talk/activities/CallActivity.java
index bfc919109..3a4c47105 100644
--- a/app/src/main/java/com/nextcloud/talk/activities/CallActivity.java
+++ b/app/src/main/java/com/nextcloud/talk/activities/CallActivity.java
@@ -34,6 +34,7 @@ import android.content.IntentFilter;
import android.content.res.Configuration;
import android.os.Build;
import android.os.Bundle;
+import android.os.Handler;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
@@ -201,6 +202,8 @@ public class CallActivity extends AppCompatActivity {
private BroadcastReceiver networkBroadcastReceier;
+ private Handler handler = new Handler();
+
private static int getSystemUiVisibility() {
int flags = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_FULLSCREEN;
flags |= View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY;
@@ -333,9 +336,11 @@ public class CallActivity extends AppCompatActivity {
if (video) {
message = "videoOff";
if (enable) {
+ microphoneControlButton.setAlpha(1.0f);
message = "videoOn";
startVideoCapture();
} else {
+ cameraControlButton.setAlpha(0.7f);
if (videoCapturer != null) {
try {
videoCapturer.stopCapture();
@@ -358,6 +363,9 @@ public class CallActivity extends AppCompatActivity {
message = "audioOff";
if (enable) {
message = "audioOn";
+ microphoneControlButton.setAlpha(1.0f);
+ } else {
+ microphoneControlButton.setAlpha(0.7f);
}
if (localMediaStream != null && localMediaStream.audioTracks.size() > 0) {
@@ -541,14 +549,11 @@ public class CallActivity extends AppCompatActivity {
if (!videoOn) {
onCameraClick();
}
-
} else {
cameraControlButton.setImageResource(R.drawable.ic_videocam_off_white_24px);
if (cameraSwitchButton != null) {
- cameraSwitchButton.setVisibility(View.INVISIBLE);
+ cameraSwitchButton.setVisibility(View.GONE);
}
-
- cameraControlButton.setVisibility(View.GONE);
}
if (EffortlessPermissions.hasPermissions(this, PERMISSIONS_MICROPHONE)) {
@@ -569,7 +574,7 @@ public class CallActivity extends AppCompatActivity {
if (cameraEnumerator.getDeviceNames().length == 0) {
cameraControlButton.setVisibility(View.GONE);
} else if (cameraEnumerator.getDeviceNames().length == 1) {
- cameraSwitchButton.setVisibility(View.INVISIBLE);
+ cameraSwitchButton.setVisibility(View.GONE);
}
if (EffortlessPermissions.hasPermissions(this, PERMISSIONS_CAMERA) ||
@@ -653,16 +658,14 @@ public class CallActivity extends AppCompatActivity {
private void startCall() {
inCall = true;
- animateCallControls(false, 5000);
+ animateCallControls(false, 7500);
startPullingSignalingMessages(false);
//registerNetworkReceiver();
}
@OnClick({R.id.pip_video_view, R.id.remote_renderers_layout})
public void showCallControls() {
- if (callControls.getVisibility() != View.VISIBLE) {
- animateCallControls(true, 0);
- }
+ animateCallControls(true, 0);
}
public void startPullingSignalingMessages(boolean restart) {
@@ -1368,11 +1371,19 @@ public class CallActivity extends AppCompatActivity {
long duration;
if (show) {
+ handler.removeCallbacksAndMessages(null);
alpha = 1.0f;
duration = 1000;
+ if (callControls.getVisibility() != View.VISIBLE) {
+ callControls.setAlpha(0.0f);
+ callControls.setVisibility(View.VISIBLE);
+ } else {
+ handler.postDelayed(() -> animateCallControls(false, 0), 5000);
+ return;
+ }
} else {
alpha = 0.0f;
- duration = 2500;
+ duration = 1000;
}
callControls.animate()
@@ -1388,8 +1399,7 @@ public class CallActivity extends AppCompatActivity {
if (!show) {
callControls.setVisibility(View.INVISIBLE);
} else {
- callControls.setVisibility(View.VISIBLE);
- animateCallControls(false, 10000);
+ handler.postDelayed(() -> animateCallControls(false, 0), 5000);
}
}
}
diff --git a/app/src/main/res/layout/activity_call.xml b/app/src/main/res/layout/activity_call.xml
index 5d62316c2..80777464f 100644
--- a/app/src/main/res/layout/activity_call.xml
+++ b/app/src/main/res/layout/activity_call.xml
@@ -40,8 +40,8 @@
android:id="@+id/pip_video_view"
android:layout_width="120dp"
android:layout_height="120dp"
- android:layout_alignParentBottom="true"
android:layout_alignParentEnd="true"
+ android:layout_alignParentTop="true"
android:layout_margin="16dp"
android:visibility="invisible"/>
@@ -49,42 +49,45 @@
android:id="@+id/call_controls"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:layout_alignParentTop="true"
- android:layout_centerHorizontal="true">
+ android:layout_alignParentBottom="true"
+ android:layout_centerHorizontal="true"
+ android:layout_marginBottom="16dp">
-
-
+
+