liuzhenxing1118 преди 8 месеца
родител
ревизия
362a475f0d

+ 27 - 0
app/src/main/java/com/xplora/xpvideo/activity/MainActivity.java

@@ -51,6 +51,7 @@ public class MainActivity extends Activity implements Listener.VideoListener {
     private JCMediaDeviceVideoCanvas mRemoteCanvas = null;
 
     private RelativeLayout mVideoLayout = null;
+    private RelativeLayout mLoadingLayout = null;
     private RelativeLayout mInfoLayout = null;
     private ImageView mIconView = null;
     private TextView mNameText = null;
@@ -62,6 +63,9 @@ public class MainActivity extends Activity implements Listener.VideoListener {
     private Timer mTalkingTimer = null;
     private int mTimeCount = 0;
 
+    private int mHideCountMax = 5;
+    private int mHideCount = mHideCountMax;
+
     //0:呼入 1:呼出
     private int mVideoType = 0;
     private String mVideoId = "";
@@ -82,12 +86,19 @@ public class MainActivity extends Activity implements Listener.VideoListener {
     private void initView() {
         Log.d(TAG, "initView: ");
         mVideoLayout = findViewById(R.id.layout_video);
+        mLoadingLayout = findViewById(R.id.layout_loading);
         mInfoLayout = findViewById(R.id.layout_info);
         mIconView = findViewById(R.id.iconIv);
         mNameText = findViewById(R.id.nameTv);
         mHintText = findViewById(R.id.hintTv);
         mCancelBtn = findViewById(R.id.cancelBtn);
         mAnswerBtn = findViewById(R.id.answerBtn);
+        mVideoLayout.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                refreshInfoLayout(0);
+            }
+        });
         mCancelBtn.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
@@ -136,6 +147,9 @@ public class MainActivity extends Activity implements Listener.VideoListener {
 
     @Override
     public void onCallItemAdd(JCCallItem item) {
+        mLoadingLayout.setVisibility(View.GONE);
+        mInfoLayout.setVisibility(View.VISIBLE);
+
         // 2. 做出相应的处理,如在界面上显示“振铃中”
         if (mMediaPlayerUtils != null) {
             mMediaPlayerUtils.playSound(this, R.raw.video_call, true);
@@ -323,6 +337,19 @@ public class MainActivity extends Activity implements Listener.VideoListener {
         String text = hours > 0 ? String.format("%02d:%02d:%02d", hours, minutes, second) : String.format("%02d:%02d", minutes, second);
         Log.d(TAG, "onTalkingTiemrCallback: text:" + text);
         mHintText.setText(text);
+        refreshInfoLayout(1);
+    }
+
+    private void refreshInfoLayout(int type) {
+        //0:用户点击 1:倒计时刷新
+        if (type == 0) {
+            boolean isV = mInfoLayout.getVisibility() == View.VISIBLE;
+            mHideCount = isV ? 0 : mHideCountMax;
+            mInfoLayout.setVisibility(isV ? View.INVISIBLE : View.VISIBLE);
+        } else {
+            mHideCount = Math.max(0, mHideCount-=1);
+            mInfoLayout.setVisibility(mHideCount <= 0 ? View.INVISIBLE : View.VISIBLE);
+        }
     }
 
     private void showToast(String content) {

+ 2 - 0
app/src/main/java/com/xplora/xpvideo/manager/VideoManager.java

@@ -80,6 +80,8 @@ public class VideoManager implements JCClientCallback, JCCallCallback, JCMediaDe
     }
 
     public JCCallItem getActiveCall() {
+        if (mCall == null)
+            return null;
         for (JCCallItem item: mCall.getCallItems()) {
             if (item.getActive())
                 return item;

+ 18 - 1
app/src/main/res/layout/activity_main.xml

@@ -13,11 +13,28 @@
     </RelativeLayout>
 
     <RelativeLayout
+        android:id="@+id/layout_loading"
         android:layout_width="match_parent"
         android:layout_height="match_parent"
+        android:gravity="center"
+        >
+        <TextView
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:textColor="@color/white"
+            android:textSize="13sp"
+            android:textStyle="bold"
+            android:text="@string/loading"
+            />
+    </RelativeLayout>
+
+    <RelativeLayout
+        android:id="@+id/layout_info"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:visibility="gone"
         >
         <RelativeLayout
-            android:id="@+id/layout_info"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:layout_marginTop="30dp"

+ 1 - 0
app/src/main/res/values/strings.xml

@@ -3,6 +3,7 @@
     <string name="invite">邀请你视频通话</string>
     <string name="calling">正在呼叫中</string>
     <string name="connecting">连接中…</string>
+    <string name="loading">Loading…</string>
     <string name="timeout">超时</string>
     <string name="network_error">网络错误</string>
 </resources>