package com.weikou.beibeivideo.ui.main; import android.content.Context; import android.os.Bundle; import android.util.Log; import android.view.View; import com.bytedance.sdk.dp.DPSdk; import com.bytedance.sdk.dp.DPWidgetDrawParams; import com.bytedance.sdk.dp.DPWidgetNewsParams; import com.bytedance.sdk.dp.IDPNewsListener; import com.bytedance.sdk.dp.IDPWidget; import com.kwad.sdk.api.KsAdSDK; import com.kwad.sdk.api.KsContentPage; import com.kwad.sdk.api.KsScene; import com.weikou.beibeivideo.R; import com.weikou.beibeivideo.ui.MyRetainViewFragment; import com.weikou.beibeivideo.util.ad.KSConstant; import com.weikou.beibeivideo.util.video.DPEventCollectUtil; import com.weikou.beibeivideo.util.video.DPHolder; import com.weikou.beibeivideo.widget.MySwipeRefreshLayout; import java.util.Map; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.fragment.app.Fragment; import androidx.fragment.app.FragmentManager; import androidx.swiperefreshlayout.widget.SwipeRefreshLayout; /** * 主页面--抖音沉浸式视频流 */ public class DYVideoFragment extends MyRetainViewFragment { private static final String TAG = "DYVideoFragment"; private IDPWidget mIDPWidget; private MySwipeRefreshLayout swipeRefreshLayout; private FragmentManager fragmentManager; public DYVideoFragment() { super(); setName(DYNewsFragment.class.getName()); } public DYVideoFragment(FragmentManager fragmentManager) { super(); setName(DYNewsFragment.class.getName()); this.fragmentManager = fragmentManager; } @Override public void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); Log.i(TAG, "onCreate"); } @Override public int getContentResource() { return R.layout.fragment_ks_video; } @Override public void onResume() { super.onResume(); Log.i(TAG, "onResume"); if (mIDPWidget != null && mIDPWidget.getFragment() != null) { mIDPWidget.getFragment().onResume(); } } @Override public void onPause() { Log.i(TAG, "onPause"); super.onPause(); if (mIDPWidget != null && mIDPWidget.getFragment() != null) { mIDPWidget.getFragment().onPause(); } } @Override public void setUserVisibleHint(boolean isVisibleToUser) { Log.i(TAG, "setUserVisibleHint:" + isVisibleToUser); super.setUserVisibleHint(isVisibleToUser); if (mIDPWidget != null && mIDPWidget.getFragment() != null) { mIDPWidget.getFragment().setUserVisibleHint(isVisibleToUser); } } @Override public void onHiddenChanged(boolean hidden) { Log.i(TAG, "onHiddenChanged:" + hidden); super.onHiddenChanged(hidden); if (mIDPWidget != null && mIDPWidget.getFragment() != null) { mIDPWidget.getFragment().onHiddenChanged(hidden); } } @Override public void onCreateView(View contentView, Bundle savedInstanceState) { Log.i(TAG, "onCreateView"); swipeRefreshLayout = contentView.findViewById(R.id.srl_ks); swipeRefreshLayout.setEnabled(false); init(); } private void init() { try { mIDPWidget = DPHolder.getInstance().buildDrawWidget(DPWidgetDrawParams.obtain().hideClose(true, null) .drawContentType(DPWidgetDrawParams.DRAW_CHANNEL_TYPE_RECOMMEND) .listener(new IDPNewsListener() { @Override public void onDPRefreshFinish() { log("onDPRefreshFinish"); } @Override public void onDPNewsItemClick(Map map) { log("onDPNewsItemClick"); } @Override public void onDPVideoPlay(Map map) { log("onDPVideoPlay"); } @Override public void onDPVideoPause(Map map) { log("onDPVideoPause"); } @Override public void onDPVideoContinue(Map map) { log("onDPVideoContinue"); } @Override public void onDPVideoOver(Map map) { log("onDPVideoOver"); DPEventCollectUtil.playDrawVideo(getContext(), null, "dy", "home", false); } @Override public void onDPVideoCompletion(Map map) { log("onDPVideoCompletion"); super.onDPVideoCompletion(map); // DPEventCollectUtil.playDrawVideo(getContext(), null, "dy", "home", true); } @Override public void onDPNewsDetailEnter(Map map) { log("onDPNewsDetailEnter"); } @Override public void onDPNewsDetailExit(Map map) { log("onDPNewsDetailExit"); } })); Fragment fragment = mIDPWidget.getFragment(); if (fragment != null) { if (fragmentManager != null) { fragmentManager.beginTransaction().add(R.id.fl_content, fragment).commitAllowingStateLoss(); } else { getChildFragmentManager().beginTransaction().add(R.id.fl_content, fragment).commitAllowingStateLoss(); } } }catch(Exception e){ } } private static void log(String msg) { Log.d(TAG, String.valueOf(msg)); } @Override public void onDetach() { super.onDetach(); Log.i(TAG, "onDetach"); } @Override public void onAttach(@NonNull Context context) { super.onAttach(context); Log.i(TAG, "onAttach"); } @Override public void onDestroy() { super.onDestroy(); if (mIDPWidget != null) { mIDPWidget.destroy(); } } }