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.DPDrama; import com.bytedance.sdk.dp.DPDramaDetailConfig; import com.bytedance.sdk.dp.DPWidgetDramaHomeParams; import com.bytedance.sdk.dp.DPWidgetDrawParams; import com.bytedance.sdk.dp.IDPDramaListener; import com.bytedance.sdk.dp.IDPWidget; import com.weikou.beibeivideo.R; import com.weikou.beibeivideo.ui.MyRetainViewFragment; import com.weikou.beibeivideo.util.video.DPHolder; import com.weikou.beibeivideo.widget.MySwipeRefreshLayout; import java.util.List; import java.util.Map; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.fragment.app.Fragment; import androidx.fragment.app.FragmentManager; /** * 主页面--抖音短剧 */ public class DYDramaVideoFragment extends MyRetainViewFragment { private static final String TAG = "DYDramaVideoFragment"; private IDPWidget mIDPWidget; private MySwipeRefreshLayout swipeRefreshLayout; private FragmentManager fragmentManager; public DYDramaVideoFragment() { super(); setName(DYDramaVideoFragment.class.getName()); } public DYDramaVideoFragment(FragmentManager fragmentManager) { super(); setName(DYDramaVideoFragment.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, new View.OnClickListener() { @Override public void onClick(View v) { } }) .drawChannelType(DPWidgetDrawParams.DRAW_CHANNEL_TYPE_RECOMMEND_FOLLOW_THEATER) .dramaDetailConfig(DPDramaDetailConfig.obtain(DPDramaDetailConfig.COMMON_DETAIL)) .drawContentType(DPWidgetDrawParams.DRAW_CONTENT_TYPE_ONLY_DRAMA) .dramaListener(new IDPDramaListener() { @Override public void onDPClose() { super.onDPClose(); } @Override public void onDPRequestStart(@Nullable Map map) { super.onDPRequestStart(map); } @Override public void onDPRequestFail(int i, String s, @Nullable Map map) { super.onDPRequestFail(i, s, map); } @Override public void onDPRequestSuccess(List> list) { super.onDPRequestSuccess(list); } @Override public boolean isNeedBlock(DPDrama dpDrama, int i, @Nullable Map map) { return super.isNeedBlock(dpDrama, i, map); } }) ); Fragment fragment = mIDPWidget.getFragment(); if (fragment != null) { fragmentManager = 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(); } } }