@@ -14,6 +14,8 @@ import static com.yunbao.live.views.LiveRyAnchorViewHolder.btn_start_dr_pk_view;
import android.app.Dialog ;
import android.content.Context ;
import android.content.Intent ;
import android.graphics.Bitmap ;
import android.graphics.drawable.Drawable ;
import android.os.Bundle ;
import android.text.TextUtils ;
import android.util.Log ;
@@ -21,21 +23,22 @@ import android.view.View;
import android.view.ViewGroup ;
import android.widget.LinearLayout ;
import androidx.annotation.NonNull ;
import androidx.annotation.Nullable ;
import androidx.fragment.app.DialogFragment ;
import com.alibaba.fastjson.JSON ;
import com.alibaba.fastjson.JSONObject ;
import com.blankj.utilcode.util.GsonUtils ;
import com.lzy.okgo.callback.Callback ;
import com.lzy.okgo.model.Progress ;
import com.lzy.okgo.model.Response ;
import com.lzy.okgo.request.base.Request ;
import com.bumptech.glide.Glide ;
import com.bumptech.glide.request.target.CustomTarget ;
import com.bumptech.glide.request.transition.Transition ;
import com.opensource.svgaplayer.SVGAImageView ;
import com.tencent.trtc.TRTCCloudDef ;
import com.yunbao.common.CommonAppConfig ;
import com.yunbao.common.CommonAppContext ;
import com.yunbao.common.Constants ;
import com.yunbao.common.bean.IMLoginModel ;
import com.yunbao.common.bean.LiveBean ;
import com.yunbao.common.bean.UserBean ;
import com.yunbao.common.dialog.NotCancelableDialog ;
import com.yunbao.common.event.LoginInvalidEvent ;
@@ -45,6 +48,7 @@ import com.yunbao.common.http.HttpCallback;
import com.yunbao.common.http.HttpClient ;
import com.yunbao.common.http.JsonBean ;
import com.yunbao.common.manager.IMLoginManager ;
import com.yunbao.common.utils.BitmapUtil ;
import com.yunbao.common.utils.Bus ;
import com.yunbao.common.utils.DateFormatUtil ;
import com.yunbao.common.utils.DialogUitl ;
@@ -55,12 +59,9 @@ import com.yunbao.common.utils.ScreenDimenUtil;
import com.yunbao.common.utils.ToastUtil ;
import com.yunbao.common.utils.WordUtil ;
import com.yunbao.live.R ;
import com.yunbao.common.bean.LiveBean ;
import com.yunbao.live.bean.LiveGuardInfo ;
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.LiveLinkMicListDialogFragment ;
import com.yunbao.live.dialog.LiveNewFunctionDialogFragment ;
import com.yunbao.live.dialog.LiveNewWishListDialogFragment ;
@@ -71,7 +72,6 @@ import com.yunbao.live.http.LiveHttpConsts;
import com.yunbao.live.http.LiveHttpUtil ;
import com.yunbao.live.interfaces.LiveFunctionClickListener ;
import com.yunbao.live.interfaces.LivePushListener ;
import com.yunbao.live.momo.BeautyManager ;
import com.yunbao.live.music.LiveMusicDialogFragment ;
import com.yunbao.live.presenter.LiveLinkMicAnchorPresenter ;
import com.yunbao.live.presenter.LiveLinkMicPresenter ;
@@ -94,6 +94,7 @@ import java.util.List;
import cn.rongcloud.rtc.api.RCRTCEngine ;
import cn.rongcloud.rtc.api.callback.IRCRTCResultCallback ;
import cn.rongcloud.rtc.base.RCRTCRect ;
import cn.rongcloud.rtc.base.RTCErrorCode ;
import io.rong.imlib.IRongCallback ;
import io.rong.imlib.RongIMClient ;
@@ -103,7 +104,6 @@ import io.rong.message.TextMessage;
import pl.droidsonroids.gif.GifImageView ;
/**
* Created by cxf on 2018/10/7.
* 主播直播间
@@ -142,7 +142,6 @@ public class LiveRyAnchorActivity extends LiveActivity implements LiveFunctionCl
public static int backIndex = 0 ; //0=未判断, 1=已判断
@Override
protected int getLayoutId ( ) {
return R . layout . activity_live_anchor ;
@@ -230,15 +229,6 @@ public class LiveRyAnchorActivity extends LiveActivity implements LiveFunctionCl
break ;
case Constants . LIVE_FUNC_MIC : //語音
ToastUtil . show ( " 開發中,敬請期待 " ) ;
/* //连麦说是有问题,暂时隐藏
LiveMicUserDialogFragment fragment = new LiveMicUserDialogFragment();
Bundle bundle = new Bundle();
bundle.putString(Constants.LIVE_UID, mLiveUid);
bundle.putString(Constants.STREAM, mStream);
bundle.putString("By", "1");
fragment.setArguments(bundle);
fragment.show(((LiveRyAnchorActivity) mContext).getSupportFragmentManager(), "LiveUserMoreDialogFragment");
LiveMicUserDialogFragment.activity = ((LiveRyAnchorActivity) mContext);*/
break ;
case Constants . LIVE_FUNC_DR : //多人PK
if ( isDRPK ! = 1 ) {
@@ -349,60 +339,7 @@ public class LiveRyAnchorActivity extends LiveActivity implements LiveFunctionCl
openRedPackSendWindow ( ) ;
break ;
case Constants . LIVE_FUNC_ZSLK : //暫時離開
if ( leave = = 0 ) {
leave = 1 ;
mLivePushViewHolder . leave . setVisibility ( View . VISIBLE ) ;
sendSystemMessage ( WordUtil . getString ( R . string . live_anchor_leave ) ) ;
} else {
leave = 0 ;
mLivePushViewHolder . leave . setVisibility ( View . GONE ) ;
sendSystemMessage ( WordUtil . getString ( R . string . live_anchor_come_back ) ) ;
}
HttpClient . getInstance ( ) . get ( " Live.isLeave " , " Live.isLeave " )
. params ( " uid " , CommonAppConfig . getInstance ( ) . getUid ( ) )
. params ( " isleave " , leave )
. params ( " token " , CommonAppConfig . getInstance ( ) . getToken ( ) )
. execute ( new Callback < JsonBean > ( ) {
@Override
public void onStart ( Request < JsonBean , ? extends Request > request ) {
}
@Override
public void onSuccess ( Response < JsonBean > response ) {
}
@Override
public void onCacheSuccess ( Response < JsonBean > response ) {
}
@Override
public void onError ( Response < JsonBean > response ) {
}
@Override
public void onFinish ( ) {
}
@Override
public void uploadProgress ( Progress progress ) {
}
@Override
public void downloadProgress ( Progress progress ) {
}
@Override
public JsonBean convertResponse ( okhttp3 . Response response ) throws Throwable {
return null ;
}
} ) ;
leaveLive ( ) ;
break ;
case Constants . LIVE_FUNC_WKS :
String url = CommonAppConfig . HOST + " /h5/activity/weekStar/index.html?&uid= " + CommonAppConfig . getInstance ( ) . getUid ( ) + " &token= " + CommonAppConfig . getInstance ( ) . getToken ( ) + " &anchorUid= " + mLiveUid ;
@@ -434,6 +371,45 @@ public class LiveRyAnchorActivity extends LiveActivity implements LiveFunctionCl
}
}
/**
* 主播展示离开直播间
*/
private void leaveLive ( ) {
RCRTCRect rect = new RCRTCRect ( 0f , 0f , 1 . 0f ) ;
if ( leave = = 0 ) {
leave = 1 ;
Glide . with ( mContext ) . asBitmap ( ) . load ( R . mipmap . zslk ) . into ( new CustomTarget < Bitmap > ( ) {
@Override
public void onResourceReady ( @NonNull Bitmap resource , @Nullable Transition < ? super Bitmap > transition ) {
boolean ret = RCRTCEngine . getInstance ( ) . getDefaultVideoStream ( ) . setWatermark ( BitmapUtil . getInstance ( ) . convertMirror ( resource ) , rect ) ;
sendSystemMessage ( WordUtil . getString ( R . string . live_anchor_leave ) ) ;
}
@Override
public void onLoadCleared ( @Nullable Drawable placeholder ) {
}
} ) ;
} else if ( leave = = 1 ) {
leave = 0 ;
// 清除水印
boolean ret = RCRTCEngine . getInstance ( ) . getDefaultVideoStream ( ) . setWatermark ( null , rect ) ;
sendSystemMessage ( WordUtil . getString ( R . string . live_anchor_come_back ) ) ;
}
HttpClient . getInstance ( ) . get ( " Live.isLeave " , " Live.isLeave " )
. params ( " uid " , CommonAppConfig . getInstance ( ) . getUid ( ) )
. params ( " isleave " , leave )
. params ( " token " , CommonAppConfig . getInstance ( ) . getToken ( ) )
. execute ( new HttpCallback ( ) {
@Override
public void onSuccess ( int code , String msg , String [ ] info ) {
}
} ) ;
}
/**
* 打开心愿单窗口
@@ -478,12 +454,9 @@ public class LiveRyAnchorActivity extends LiveActivity implements LiveFunctionCl
if ( mLiveReadyViewHolder ! = null ) {
mLiveReadyViewHolder . hide ( ) ;
}
if ( mLiveRoomViewHolder ! = null ) {
if ( mLiveRoomViewHolder ! = null ) {
mLiveRoomViewHolder . changeFaceUnityView ( ) ;
}
/* LiveBeautyDialogFragment fragment = new LiveBeautyDialogFragment();
fragment.setiBeautyModule(BeautyManager.iBeautyModule, BeautyManager.iLookupModule, BeautyManager.iBeautyBodyModule);
fragment.show(getSupportFragmentManager(), "LiveBeautyDialogFragment");*/
}
/**
@@ -491,7 +464,6 @@ public class LiveRyAnchorActivity extends LiveActivity implements LiveFunctionCl
*/
public void light ( ) {
if ( mLiveRoomViewHolder ! = null ) {
// mLiveRoomViewHolder.playLightAnim();
}
}
@@ -548,7 +520,7 @@ public class LiveRyAnchorActivity extends LiveActivity implements LiveFunctionCl
hasGame = mGameList . size ( ) > 0 ;
}
bundle . putBoolean ( Constants . HAS_GAME , hasGame ) ;
bundle . putInt ( " leave " , leave ) ;
bundle . putInt ( " leave " , leave ) ;
bundle . putBoolean ( Constants . OPEN_FLASH , mLivePushViewHolder ! = null & & mLivePushViewHolder . isFlashOpen ( ) ) ;
fragment . setArguments ( bundle ) ;
fragment . setFunctionClickListener ( this ) ;
@@ -869,18 +841,18 @@ public class LiveRyAnchorActivity extends LiveActivity implements LiveFunctionCl
protected void onDestroy ( ) {
LiveHttpUtil . cancel ( LiveHttpConsts . ANCHOR_CHECK_LIVE ) ;
super . onDestroy ( ) ;
if ( mLivePushViewHolder ! = null ) {
if ( mLivePushViewHolder ! = null ) {
mLivePushViewHolder . onDestroy ( ) ;
}
if ( mLiveReadyViewHolder ! = null ) {
if ( mLiveReadyViewHolder ! = null ) {
mLiveReadyViewHolder . onDestroy ( ) ;
}
if ( mLiveAnchorViewHolder ! = null ) {
if ( mLiveAnchorViewHolder ! = null ) {
mLiveAnchorViewHolder . onDestroy ( ) ;
}
mLivePushViewHolder = null ;
mLiveReadyViewHolder = null ;
mLiveAnchorViewHolder = null ;
mLivePushViewHolder = null ;
mLiveReadyViewHolder = null ;
mLiveAnchorViewHolder = null ;
L . e ( " LiveAnchorActivity-------onDestroy-------> " ) ;
Bus . getOff ( this ) ;
}
@@ -1269,6 +1241,7 @@ public class LiveRyAnchorActivity extends LiveActivity implements LiveFunctionCl
L . e ( TAG , content ) ;
LogUtil . print ( mLogFile , content ) ;
}
@Subscribe ( threadMode = ThreadMode . MAIN )
public void onOpenDrawer ( LiveAudienceEvent event ) {
Bundle bundle = new Bundle ( ) ;