mirror of
https://github.com/nextcloud/talk-android
synced 2025-06-19 19:49:33 +01:00
Some progress
Signed-off-by: Mario Danic <mario@lovelyhq.com>
This commit is contained in:
parent
f7febd355b
commit
4671575418
@ -68,6 +68,8 @@ dependencies {
|
|||||||
implementation fileTree(dir: 'libs', include: ['*.jar'])
|
implementation fileTree(dir: 'libs', include: ['*.jar'])
|
||||||
implementation "com.android.support:appcompat-v7:${supportLibraryVersion}"
|
implementation "com.android.support:appcompat-v7:${supportLibraryVersion}"
|
||||||
implementation "com.android.support:design:${supportLibraryVersion}"
|
implementation "com.android.support:design:${supportLibraryVersion}"
|
||||||
|
implementation "com.android.support:percent:${supportLibraryVersion}"
|
||||||
|
|
||||||
implementation 'com.android.support:multidex:1.0.2'
|
implementation 'com.android.support:multidex:1.0.2'
|
||||||
|
|
||||||
implementation 'io.reactivex.rxjava2:rxandroid:2.0.1'
|
implementation 'io.reactivex.rxjava2:rxandroid:2.0.1'
|
||||||
|
@ -34,8 +34,7 @@ import android.util.TypedValue;
|
|||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.Window;
|
import android.view.Window;
|
||||||
import android.view.WindowManager;
|
import android.view.WindowManager;
|
||||||
import android.widget.GridLayout;
|
import android.widget.LinearLayout;
|
||||||
import android.widget.RelativeLayout;
|
|
||||||
|
|
||||||
import com.bluelinelabs.logansquare.LoganSquare;
|
import com.bluelinelabs.logansquare.LoganSquare;
|
||||||
import com.nextcloud.talk.R;
|
import com.nextcloud.talk.R;
|
||||||
@ -106,8 +105,8 @@ public class CallActivity extends AppCompatActivity {
|
|||||||
@BindView(R.id.pip_video_view)
|
@BindView(R.id.pip_video_view)
|
||||||
SurfaceViewRenderer pipVideoView;
|
SurfaceViewRenderer pipVideoView;
|
||||||
|
|
||||||
@BindView(R.id.videos_grid_view)
|
@BindView(R.id.remote_renderers_layout)
|
||||||
GridLayout videosGrid;
|
LinearLayout remoteRenderersLayout;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
NcApi ncApi;
|
NcApi ncApi;
|
||||||
@ -449,9 +448,14 @@ public class CallActivity extends AppCompatActivity {
|
|||||||
case "offer":
|
case "offer":
|
||||||
case "answer":
|
case "answer":
|
||||||
magicPeerConnectionWrapper.setNick(ncSignalingMessage.getPayload().getNick());
|
magicPeerConnectionWrapper.setNick(ncSignalingMessage.getPayload().getNick());
|
||||||
magicPeerConnectionWrapper.getPeerConnection().setRemoteDescription(magicPeerConnectionWrapper
|
if (!magicPeerConnectionWrapper.getPeerConnection().signalingState().equals
|
||||||
.getMagicSdpObserver(), new SessionDescription(SessionDescription.Type.fromCanonicalForm(type),
|
(PeerConnection.SignalingState.STABLE) &&
|
||||||
ncSignalingMessage.getPayload().getSdp()));
|
magicPeerConnectionWrapper.getPeerConnection().getRemoteDescription() == null ||
|
||||||
|
magicPeerConnectionWrapper.getPeerConnection().getLocalDescription() == null) {
|
||||||
|
magicPeerConnectionWrapper.getPeerConnection().setRemoteDescription(magicPeerConnectionWrapper
|
||||||
|
.getMagicSdpObserver(), new SessionDescription(SessionDescription.Type.fromCanonicalForm(type),
|
||||||
|
ncSignalingMessage.getPayload().getSdp()));
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case "candidate":
|
case "candidate":
|
||||||
NCIceCandidate ncIceCandidate = ncSignalingMessage.getPayload().getIceCandidate();
|
NCIceCandidate ncIceCandidate = ncSignalingMessage.getPayload().getIceCandidate();
|
||||||
@ -617,11 +621,11 @@ public class CallActivity extends AppCompatActivity {
|
|||||||
public void run() {
|
public void run() {
|
||||||
if (stream.videoTracks.size() == 1) {
|
if (stream.videoTracks.size() == 1) {
|
||||||
try {
|
try {
|
||||||
RelativeLayout relativeLayout = (RelativeLayout)
|
LinearLayout linearLayout = (LinearLayout)
|
||||||
getLayoutInflater().inflate(R.layout.surface_renderer, videosGrid,
|
getLayoutInflater().inflate(R.layout.surface_renderer, remoteRenderersLayout,
|
||||||
false);
|
false);
|
||||||
relativeLayout.setTag(session);
|
linearLayout.setTag(session);
|
||||||
SurfaceViewRenderer surfaceViewRenderer = relativeLayout.findViewById(R.id
|
SurfaceViewRenderer surfaceViewRenderer = linearLayout.findViewById(R.id
|
||||||
.surface_view);
|
.surface_view);
|
||||||
surfaceViewRenderer.setMirror(false);
|
surfaceViewRenderer.setMirror(false);
|
||||||
surfaceViewRenderer.init(rootEglBase.getEglBaseContext(), null);
|
surfaceViewRenderer.init(rootEglBase.getEglBaseContext(), null);
|
||||||
@ -631,7 +635,8 @@ public class CallActivity extends AppCompatActivity {
|
|||||||
VideoRenderer remoteRenderer = new VideoRenderer(surfaceViewRenderer);
|
VideoRenderer remoteRenderer = new VideoRenderer(surfaceViewRenderer);
|
||||||
videoRendererHashMap.put(session, remoteRenderer);
|
videoRendererHashMap.put(session, remoteRenderer);
|
||||||
videoTrack.addRenderer(remoteRenderer);
|
videoTrack.addRenderer(remoteRenderer);
|
||||||
videosGrid.addView(relativeLayout);
|
remoteRenderersLayout.addView(linearLayout);
|
||||||
|
linearLayout.invalidate();
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
|
@ -24,16 +24,15 @@
|
|||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:fitsSystemWindows="true"
|
android:fitsSystemWindows="true"
|
||||||
|
android:id="@+id/relative_layout"
|
||||||
tools:context=".activities.CallActivity">
|
tools:context=".activities.CallActivity">
|
||||||
|
|
||||||
<GridLayout
|
<LinearLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="match_parent"
|
||||||
android:id="@+id/videos_grid_view"
|
android:id="@+id/remote_renderers_layout"
|
||||||
android:columnCount="4"
|
android:orientation="vertical">
|
||||||
android:rowCount="2">
|
</LinearLayout>
|
||||||
|
|
||||||
</GridLayout>
|
|
||||||
|
|
||||||
<org.webrtc.SurfaceViewRenderer
|
<org.webrtc.SurfaceViewRenderer
|
||||||
android:id="@+id/pip_video_view"
|
android:id="@+id/pip_video_view"
|
||||||
|
@ -19,12 +19,11 @@
|
|||||||
~ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
~ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
android:id="@+id/relative_layout"
|
android:id="@+id/relative_layout"
|
||||||
android:layout_width="0dp"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="0dp"
|
android:layout_height="match_parent"
|
||||||
android:layout_columnWeight="1"
|
android:layout_weight="1"
|
||||||
android:layout_rowWeight="1"
|
|
||||||
android:orientation="vertical">
|
android:orientation="vertical">
|
||||||
|
|
||||||
<org.webrtc.SurfaceViewRenderer
|
<org.webrtc.SurfaceViewRenderer
|
||||||
@ -32,4 +31,4 @@
|
|||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:id="@+id/surface_view"/>
|
android:id="@+id/surface_view"/>
|
||||||
|
|
||||||
</RelativeLayout>
|
</LinearLayout>
|
Loading…
Reference in New Issue
Block a user