Merge branch 'dev_FaceUnity'
# Conflicts: # live/src/main/java/com/yunbao/live/views/LiveRoomViewHolder.java # live/src/main/res/layout/view_live_room.xml
This commit is contained in:
@@ -47,6 +47,7 @@ import com.yunbao.live.bean.LiveKsyConfigBean;
|
||||
import com.yunbao.live.bean.LiveReceiveGiftBean;
|
||||
import com.yunbao.live.bean.WishlistModel;
|
||||
import com.yunbao.live.dialog.LiveBeautyDialogFragment;
|
||||
import com.yunbao.live.dialog.LiveFaceUnityDialogFragment;
|
||||
import com.yunbao.live.dialog.LiveFunctionDialogFragment;
|
||||
import com.yunbao.live.dialog.LiveLinkMicListDialogFragment;
|
||||
import com.yunbao.live.dialog.LiveMicUserDialogFragment;
|
||||
@@ -121,7 +122,7 @@ public class LiveRyAnchorActivity extends LiveActivity implements LiveFunctionCl
|
||||
|
||||
private ViewGroup mRoot;
|
||||
private ViewGroup mContainerWrap;
|
||||
public static AbsRyLivePushViewHolder mLivePushViewHolder;
|
||||
public static LivePushRyViewHolder mLivePushViewHolder;
|
||||
public static LiveNewReadyRyViewHolder mLiveReadyViewHolder;
|
||||
public static LiveRyAnchorViewHolder mLiveAnchorViewHolder;
|
||||
private LiveMusicViewHolder mLiveMusicViewHolder;
|
||||
@@ -473,9 +474,12 @@ public class LiveRyAnchorActivity extends LiveActivity implements LiveFunctionCl
|
||||
if (mLiveReadyViewHolder != null) {
|
||||
mLiveReadyViewHolder.hide();
|
||||
}
|
||||
LiveBeautyDialogFragment fragment = new LiveBeautyDialogFragment();
|
||||
if(mLiveRoomViewHolder!=null){
|
||||
mLiveRoomViewHolder.changeFaceUnityView();
|
||||
}
|
||||
/* LiveBeautyDialogFragment fragment = new LiveBeautyDialogFragment();
|
||||
fragment.setiBeautyModule(BeautyManager.iBeautyModule, BeautyManager.iLookupModule, BeautyManager.iBeautyBodyModule);
|
||||
fragment.show(getSupportFragmentManager(), "LiveBeautyDialogFragment");
|
||||
fragment.show(getSupportFragmentManager(), "LiveBeautyDialogFragment");*/
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -610,6 +614,7 @@ public class LiveRyAnchorActivity extends LiveActivity implements LiveFunctionCl
|
||||
mLiveRoomViewHolder.setLiveInfo(mLiveUid, mStream, obj.getIntValue("userlist_time") * 1000);
|
||||
mLiveRoomViewHolder.setVotes(obj.getString("votestotal"));
|
||||
mLiveRoomViewHolder.setMedaRankNum(obj.getString("medalRankNum"));
|
||||
mLiveRoomViewHolder.startFace();
|
||||
UserBean u = CommonAppConfig.getInstance().getUserBean();
|
||||
if (u != null) {
|
||||
mLiveRoomViewHolder.setRoomNum(u.getLiangNameTip());
|
||||
|
||||
@@ -0,0 +1,70 @@
|
||||
package com.yunbao.live.dialog;
|
||||
|
||||
import android.app.ActionBar;
|
||||
import android.content.Context;
|
||||
import android.content.DialogInterface;
|
||||
import android.os.Bundle;
|
||||
import android.view.Gravity;
|
||||
import android.view.View;
|
||||
import android.view.Window;
|
||||
import android.view.WindowManager;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import com.yunbao.common.dialog.AbsDialogFragment;
|
||||
import com.yunbao.faceunity.FaceManager;
|
||||
import com.yunbao.faceunity.ui.FaceUnityView;
|
||||
import com.yunbao.live.R;
|
||||
|
||||
public class LiveFaceUnityDialogFragment extends AbsDialogFragment {
|
||||
private Context mContext;
|
||||
private FaceUnityView faceView;
|
||||
private FaceManager manager;
|
||||
|
||||
public LiveFaceUnityDialogFragment(Context mContext) {
|
||||
this.mContext = mContext;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected int getLayoutId() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected View getLayoutView() {
|
||||
faceView = new FaceUnityView(mContext);
|
||||
return faceView;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected int getDialogStyle() {
|
||||
return R.style.dialog4;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean canCancel() {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void setWindowAttributes(Window window) {
|
||||
|
||||
WindowManager.LayoutParams params = window.getAttributes();
|
||||
params.width = ActionBar.LayoutParams.MATCH_PARENT;
|
||||
params.height = ActionBar.LayoutParams.WRAP_CONTENT;
|
||||
params.gravity = Gravity.BOTTOM;
|
||||
window.setAttributes(params);
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
|
||||
super.onActivityCreated(savedInstanceState);
|
||||
}
|
||||
|
||||
public void setManager(FaceManager manager) {
|
||||
this.manager = manager;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -5,23 +5,18 @@ import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.os.Bundle;
|
||||
import android.os.Handler;
|
||||
import android.os.Looper;
|
||||
import android.text.TextUtils;
|
||||
import android.util.Log;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.view.inputmethod.InputMethodManager;
|
||||
import android.widget.EditText;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.RelativeLayout;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.constraintlayout.widget.ConstraintLayout;
|
||||
import androidx.core.content.ContextCompat;
|
||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.tencent.imsdk.v2.V2TIMManager;
|
||||
import com.tencent.imsdk.v2.V2TIMSendCallback;
|
||||
import com.yunbao.common.CommonAppConfig;
|
||||
import com.yunbao.common.Constants;
|
||||
import com.yunbao.common.bean.LiveClassBean;
|
||||
@@ -38,19 +33,16 @@ import com.yunbao.common.utils.StringUtil;
|
||||
import com.yunbao.common.utils.ToastUtil;
|
||||
import com.yunbao.common.utils.WordUtil;
|
||||
import com.yunbao.common.views.AbsViewHolder;
|
||||
import com.yunbao.faceunity.FaceManager;
|
||||
import com.yunbao.live.R;
|
||||
import com.yunbao.live.activity.LiveActivity;
|
||||
import com.yunbao.live.activity.LiveAnchorActivity;
|
||||
import com.yunbao.live.activity.LiveChooseClassActivity;
|
||||
import com.yunbao.live.activity.LiveRyAnchorActivity;
|
||||
import com.yunbao.live.adapter.LiveReadyShareAdapter;
|
||||
import com.yunbao.live.bean.LiveRoomTypeBean;
|
||||
import com.yunbao.live.dialog.LiveFaceUnityDialogFragment;
|
||||
import com.yunbao.live.dialog.LiveNewRoomClassDialogFragment;
|
||||
import com.yunbao.live.dialog.LiveNewRoomTypeDialogFragment;
|
||||
import com.yunbao.live.dialog.LiveNewWishListDialogFragment;
|
||||
import com.yunbao.live.dialog.LiveRoomTypeDialogFragment;
|
||||
import com.yunbao.live.dialog.LiveTimeDialogFragment;
|
||||
import com.yunbao.live.dialog.LiveWishListDialogFragment;
|
||||
import com.yunbao.live.http.LiveHttpConsts;
|
||||
import com.yunbao.live.http.LiveHttpUtil;
|
||||
|
||||
@@ -78,6 +70,8 @@ public class LiveNewReadyRyViewHolder extends AbsViewHolder implements View.OnCl
|
||||
private boolean mOpenLocation = true;
|
||||
private int mLiveSdk;
|
||||
private LiveClassBean classBean;
|
||||
private FaceManager manager;
|
||||
private TextView faceTextView;//提示人脸未检测到的TextView
|
||||
|
||||
public LiveNewReadyRyViewHolder(Context context, ViewGroup parentView, int liveSdk) {
|
||||
super(context, parentView, liveSdk);
|
||||
@@ -97,7 +91,7 @@ public class LiveNewReadyRyViewHolder extends AbsViewHolder implements View.OnCl
|
||||
|
||||
@Override
|
||||
public void init() {
|
||||
ConstraintLayout traceroute_rootview = (ConstraintLayout)findViewById(R.id.traceroute_rootview);
|
||||
ConstraintLayout traceroute_rootview = (ConstraintLayout) findViewById(R.id.traceroute_rootview);
|
||||
traceroute_rootview.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View view) {
|
||||
@@ -126,7 +120,9 @@ public class LiveNewReadyRyViewHolder extends AbsViewHolder implements View.OnCl
|
||||
mOpenLocation = true;
|
||||
mLiveClass = (TextView) findViewById(R.id.live_class);
|
||||
mLiveTypeTextView = (TextView) findViewById(R.id.text_room_type);
|
||||
mLiveWishListTextView= (TextView) findViewById(R.id.text_wishlist);
|
||||
mLiveWishListTextView = (TextView) findViewById(R.id.text_wishlist);
|
||||
faceTextView=(TextView)findViewById(R.id.faceTextView);
|
||||
|
||||
mImageUtil = ((LiveActivity) mContext).getProcessImageUtil();
|
||||
mImageUtil.setImageResultCallback(new ImageResultCallback() {
|
||||
|
||||
@@ -194,9 +190,26 @@ public class LiveNewReadyRyViewHolder extends AbsViewHolder implements View.OnCl
|
||||
}
|
||||
}
|
||||
};
|
||||
manager = new FaceManager();
|
||||
manager.setFaceStatusChanged(new FaceManager.FaceStatusChanged() {
|
||||
final Handler handler = new Handler(Looper.getMainLooper());
|
||||
|
||||
@Override
|
||||
public void onFaceChanged(int num) {
|
||||
handler.post(() -> {
|
||||
if (num == 0) {
|
||||
faceTextView.setVisibility(View.VISIBLE);
|
||||
} else {
|
||||
faceTextView.setVisibility(View.GONE);
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
manager.initFURender(mContext);
|
||||
manager.drawRongFrame(mContext);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
if (!canClick()) {
|
||||
@@ -213,8 +226,8 @@ public class LiveNewReadyRyViewHolder extends AbsViewHolder implements View.OnCl
|
||||
} else if (i == R.id.btn_live_class) {
|
||||
chooseLiveClass();
|
||||
} else if (i == R.id.btn_beauty) {
|
||||
beauty();
|
||||
}else if (i == R.id.btn_wishlist) {
|
||||
setFaceUnity();
|
||||
} else if (i == R.id.btn_wishlist) {
|
||||
//点击心愿单
|
||||
openWishListWindow();
|
||||
} else if (i == R.id.btn_room_type) {
|
||||
@@ -224,12 +237,20 @@ public class LiveNewReadyRyViewHolder extends AbsViewHolder implements View.OnCl
|
||||
|
||||
} else if (i == R.id.btn_locaiton) {
|
||||
switchLocation();
|
||||
}else if(i == R.id.btn_horizontally){
|
||||
RCRTCCameraOutputStream cameraStream = RCRTCEngine.getInstance().getDefaultVideoStream();
|
||||
} else if (i == R.id.btn_horizontally) {
|
||||
RCRTCCameraOutputStream cameraStream = RCRTCEngine.getInstance().getDefaultVideoStream();
|
||||
cameraStream.setPreviewMirror(!cameraStream.isPreviewMirror());
|
||||
}
|
||||
}
|
||||
|
||||
public void setFaceUnity() {
|
||||
LiveFaceUnityDialogFragment fragment = new LiveFaceUnityDialogFragment(mContext);
|
||||
fragment.setManager(manager);
|
||||
|
||||
if (mContext instanceof LiveRyAnchorActivity) {
|
||||
fragment.show(((LiveRyAnchorActivity) mContext).getSupportFragmentManager(), "FaceUnity");
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 打开心愿单窗口
|
||||
@@ -237,7 +258,7 @@ public class LiveNewReadyRyViewHolder extends AbsViewHolder implements View.OnCl
|
||||
public void openWishListWindow() {
|
||||
LiveNewWishListDialogFragment fragment = new LiveNewWishListDialogFragment();
|
||||
|
||||
if (mContext instanceof LiveRyAnchorActivity){
|
||||
if (mContext instanceof LiveRyAnchorActivity) {
|
||||
fragment.show(((LiveRyAnchorActivity) mContext).getSupportFragmentManager(), "RY");
|
||||
}
|
||||
}
|
||||
@@ -319,12 +340,12 @@ public class LiveNewReadyRyViewHolder extends AbsViewHolder implements View.OnCl
|
||||
Bundle bundle = new Bundle();
|
||||
bundle.putInt(Constants.CLASS_ID, mLiveClassID);
|
||||
LiveNewRoomClassDialogFragment fragment = new LiveNewRoomClassDialogFragment();
|
||||
fragment.setArguments(bundle);;
|
||||
fragment.setArguments(bundle);
|
||||
fragment.setCallback(new CommonCallback<LiveClassBean>() {
|
||||
@Override
|
||||
public void callback(LiveClassBean bean) {
|
||||
classBean=bean;
|
||||
mLiveClassID=classBean.getId();
|
||||
classBean = bean;
|
||||
mLiveClassID = classBean.getId();
|
||||
mLiveClass.setText(bean.getName());
|
||||
}
|
||||
});
|
||||
@@ -461,8 +482,9 @@ public class LiveNewReadyRyViewHolder extends AbsViewHolder implements View.OnCl
|
||||
* 请求创建直播间接口,开始直播
|
||||
*/
|
||||
boolean isHttpBack = false;
|
||||
|
||||
private void createRoom() {
|
||||
if(!isHttpBack) {
|
||||
if (!isHttpBack) {
|
||||
isHttpBack = true;
|
||||
if (mLiveClassID == 0) {
|
||||
ToastUtil.show(R.string.live_choose_live_class);
|
||||
@@ -489,7 +511,7 @@ public class LiveNewReadyRyViewHolder extends AbsViewHolder implements View.OnCl
|
||||
isHttpBack = false;
|
||||
}
|
||||
});
|
||||
}else {
|
||||
} else {
|
||||
ToastUtil.show("請求中,請勿重複點擊");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -532,6 +532,7 @@ public class LivePushRyViewHolder extends AbsRyLivePushViewHolder implements ITX
|
||||
//美颜
|
||||
new Handler(Looper.getMainLooper()).post(new Runnable() {
|
||||
public void run() {
|
||||
/* //旧美颜不需要了
|
||||
RCRTCEngine.getInstance().getDefaultVideoStream().setVideoFrameListener(new IRCRTCVideoOutputFrameListener() {
|
||||
@Override
|
||||
public RCRTCVideoFrame processVideoFrame(RCRTCVideoFrame rtcVideoFrame) {
|
||||
@@ -540,6 +541,7 @@ public class LivePushRyViewHolder extends AbsRyLivePushViewHolder implements ITX
|
||||
return rtcVideoFrame;
|
||||
}
|
||||
});
|
||||
*/
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@@ -83,6 +83,8 @@ import com.yunbao.common.views.AbsViewHolder;
|
||||
import com.yunbao.common.views.weight.FullServiceNotificationView;
|
||||
import com.yunbao.common.views.weight.NobleNoticeView;
|
||||
import com.yunbao.common.views.weight.ViewClicksAntiShake;
|
||||
import com.yunbao.faceunity.FaceManager;
|
||||
import com.yunbao.faceunity.ui.FaceUnityView;
|
||||
import com.yunbao.live.R;
|
||||
import com.yunbao.live.activity.LiveActivity;
|
||||
import com.yunbao.live.activity.LiveAnchorActivity;
|
||||
@@ -108,6 +110,7 @@ import com.yunbao.live.bean.WishlistItemModel;
|
||||
import com.yunbao.live.custom.LiveLightView;
|
||||
import com.yunbao.live.custom.RightGradual;
|
||||
import com.yunbao.live.custom.TopGradual;
|
||||
import com.yunbao.live.dialog.LiveFaceUnityDialogFragment;
|
||||
import com.yunbao.live.dialog.LiveFansMedalDialogFragment;
|
||||
import com.yunbao.live.dialog.LiveHDDialogFragment;
|
||||
import com.yunbao.live.dialog.LiveUserDialogFragment;
|
||||
@@ -291,6 +294,8 @@ public class LiveRoomViewHolder extends AbsViewHolder implements View.OnClickLis
|
||||
private RoundedImageView msgUserIcon; //悬浮窗icon
|
||||
private FullServiceNotificationView fullScreen;//全副喇叭
|
||||
private NobleNoticeView noble;//全副喇叭
|
||||
private FaceUnityView faceUnityView;
|
||||
private FaceManager manager;
|
||||
|
||||
public LiveRoomViewHolder(boolean isRys, int forActivity, Context context, ViewGroup parentView, GifImageView gifImageView, SVGAImageView svgaImageView, ViewGroup liveGiftPrizePoolContainer, WindowManager windowManager) {
|
||||
super(context, parentView);
|
||||
@@ -683,6 +688,8 @@ public class LiveRoomViewHolder extends AbsViewHolder implements View.OnClickLis
|
||||
lt_trickery.setOnClickListener(this);
|
||||
dialog = new Dialog(mContext, R.style.dialog);
|
||||
|
||||
faceUnityView = (FaceUnityView) findViewById(R.id.faceunity_control);
|
||||
|
||||
if (!SpUtil.getInstance().getBooleanValue("private_chat_message_switch")) {
|
||||
msgLayout.setVisibility(View.GONE);
|
||||
}
|
||||
@@ -961,8 +968,8 @@ public class LiveRoomViewHolder extends AbsViewHolder implements View.OnClickLis
|
||||
reloadIM();
|
||||
}
|
||||
|
||||
public void hideFloatMsg() {
|
||||
msg.setVisibility(View.GONE);
|
||||
public void hideFloatMsg(){
|
||||
msgLayout.setVisibility(View.GONE);
|
||||
}
|
||||
|
||||
private void showBanner2() {
|
||||
@@ -2596,6 +2603,31 @@ public class LiveRoomViewHolder extends AbsViewHolder implements View.OnClickLis
|
||||
mChatRecyclerView.setLayoutParams(params1);
|
||||
}
|
||||
|
||||
/**
|
||||
* 启动美颜SDK
|
||||
*/
|
||||
public void startFace() {
|
||||
manager=new FaceManager();
|
||||
manager.setFaceStatusChanged(new FaceManager.FaceStatusChanged() {
|
||||
@Override
|
||||
public void onFaceChanged(int num) {
|
||||
|
||||
}
|
||||
});
|
||||
manager.initFURender(mContext);
|
||||
manager.drawRongFrame(mContext);
|
||||
}
|
||||
|
||||
/**
|
||||
* 切换美颜UI
|
||||
*/
|
||||
public void changeFaceUnityView(){
|
||||
// faceUnityView.setVisibility(faceUnityView.getVisibility() == View.GONE ? View.VISIBLE : View.GONE);
|
||||
LiveFaceUnityDialogFragment fragment=new LiveFaceUnityDialogFragment(mContext);
|
||||
fragment.setManager(manager);
|
||||
fragment.show(((LiveActivity)mContext).getSupportFragmentManager(),"faceUi");
|
||||
}
|
||||
|
||||
private static class LiveRoomHandler extends Handler {
|
||||
|
||||
private LiveRoomViewHolder mLiveRoomViewHolder;
|
||||
|
||||
@@ -250,5 +250,17 @@
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/faceTextView"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textColor="#FFFFFF"
|
||||
android:visibility="gone"
|
||||
android:textSize="16sp"
|
||||
android:text="@string/fu_base_is_tracking_text"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
@@ -149,7 +149,7 @@ PK"
|
||||
android:layout_height="40dp"
|
||||
android:layout_marginRight="5dp"
|
||||
android:layout_toLeftOf="@id/btn_close"
|
||||
android:padding="5dp"/>
|
||||
android:padding="5dp" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/btn_pk"
|
||||
|
||||
Reference in New Issue
Block a user