This commit is contained in:
2020-09-11 22:59:19 +08:00
parent 22fd760d55
commit 8c5c97c549
15 changed files with 607 additions and 50 deletions

View File

@@ -13,12 +13,24 @@ import android.os.PowerManager;
import android.os.PowerManager.WakeLock;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.ImageButton;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.viewpager.widget.PagerAdapter;
import androidx.viewpager.widget.ViewPager;
import com.qmuiteam.qmui.util.QMUIDisplayHelper;
import com.qmuiteam.qmui.widget.tab.QMUITabBuilder;
import com.qmuiteam.qmui.widget.tab.QMUITabIndicator;
import com.qmuiteam.qmui.widget.tab.QMUITabSegment;
import com.tianrun.sipcall.R;
import com.tianrun.sipcall.SipEngine;
import com.tianrun.sipcall.db.DBGroup;
import com.tianrun.sipcall.db.DBUser;
import com.tianrun.sipcall.net.Net;
import com.tianrun.sipcall.ui.TrBaseActivity;
import com.tianrun.sipcall.utils.CONS;
import com.tianrun.sipcall.utils.logmy;
@@ -31,7 +43,6 @@ import blue.view.SMSurfaceViewRenderer;
public class InCallActivity extends TrBaseActivity implements OnClickListener {
public static Handler handler_CallActivity;
public static String TAG = "CallActivity";
private Handler handler = new Handler(this);
private PowerManager powerManager = null;
private WakeLock wakeLock = null;
private SMSurfaceViewRenderer localRender;
@@ -40,7 +51,8 @@ public class InCallActivity extends TrBaseActivity implements OnClickListener {
private SMPercentFrameLayout remoteRenderLayout;
private ImageButton incall_answer, incall_hangup;
private TextView show;
// private Button meetingbutton;
QMUITabSegment mTabSegment;
ViewPager mContentViewPager;
private EngineServer engineServer;
@@ -51,6 +63,42 @@ public class InCallActivity extends TrBaseActivity implements OnClickListener {
private boolean VIDEOSTATE = false;
public static Intent incallIntent;
public String[] screenTyps = {"经典模式", "均分模式", "远程全屏", "本地全屏"};
private PagerAdapter mPagerAdapter = new PagerAdapter() {
@Override
public boolean isViewFromObject(View view, Object object) {
return view == object;
}
@Override
public int getCount() {
return screenTyps.length;
}
@Override
public Object instantiateItem(final ViewGroup container, int position) {
// ContentPage page = ContentPage.getPage(position);
View view = remoteRender;
// view.setTag(page);
// ViewGroup.LayoutParams params = new ViewGroup.LayoutParams(
// ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
// container.addView(view, params);
return view;
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
container.removeView((View) object);
}
@Override
public int getItemPosition(@NonNull Object object) {
View view = (View) object;
return 0;
}
};
@SuppressLint("InvalidWakeLockTag")
@Override
protected void onCreate(Bundle savedInstanceState) {
@@ -70,6 +118,7 @@ public class InCallActivity extends TrBaseActivity implements OnClickListener {
initview();
incallIntent = getIntent();
setDate(this.getIntent());
initTabAndPager();
}
private void initview() {
@@ -85,6 +134,42 @@ public class InCallActivity extends TrBaseActivity implements OnClickListener {
remoteRenderLayout = (SMPercentFrameLayout) findViewById(R.id.remote_video_layout);
engineServer = new EngineServer(localRender, remoteRender, localRenderLayout, remoteRenderLayout, true);
mTabSegment = findViewById(R.id.ScreenType);
mContentViewPager = findViewById(R.id.contentViewPager);
}
private void initTabAndPager() {
mContentViewPager.setAdapter(mPagerAdapter);
mContentViewPager.setCurrentItem(0, false);
QMUITabBuilder tabBuilder = mTabSegment.tabBuilder();
for (int i = 0; i < screenTyps.length; i++) {
mTabSegment.addTab(tabBuilder.setText(screenTyps[i]).build(this));
}
int space = QMUIDisplayHelper.dp2px(this, 16);
mTabSegment.setIndicator(new QMUITabIndicator(
QMUIDisplayHelper.dp2px(this, 2), false, true));
mTabSegment.setMode(QMUITabSegment.MODE_SCROLLABLE);
mTabSegment.setItemSpaceInScrollMode(space);
mTabSegment.setupWithViewPager(mContentViewPager, false);
mTabSegment.setPadding(space, 0, space, 0);
mTabSegment.addOnTabSelectedListener(new QMUITabSegment.OnTabSelectedListener() {
@Override
public void onTabSelected(int index) {
engineServer.adjustVideoView(index);
}
@Override
public void onTabUnselected(int index) {
}
@Override
public void onTabReselected(int index) {
}
@Override
public void onDoubleTap(int index) {
}
});
}
@Override