mirror of
https://github.com/yuliskov/SmartTube.git
synced 2026-01-05 13:30:30 -06:00
refactor
This commit is contained in:
@@ -73,9 +73,9 @@ public class PlayerUiManager extends PlayerEventListenerHelper implements Metada
|
||||
|
||||
if (KeyHelpers.isBackKey(keyCode)) {
|
||||
enableSuggestionsResetTimeout();
|
||||
} else {
|
||||
enableUiAutoHideTimeout();
|
||||
}
|
||||
|
||||
enableUiAutoHideTimeout();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -54,8 +54,6 @@ public class BrowseFragment extends BrowseSupportFragment implements BrowseView
|
||||
|
||||
setupAdapter();
|
||||
setupUi();
|
||||
// Prepare the manager that maintains the same background image between activities.
|
||||
//prepareBackgroundManager();
|
||||
setupEventListeners();
|
||||
|
||||
enableMainFragmentScaling(false);
|
||||
@@ -102,7 +100,7 @@ public class BrowseFragment extends BrowseSupportFragment implements BrowseView
|
||||
|
||||
private int getHeaderResId(Object o) {
|
||||
if (o instanceof PageRow) {
|
||||
return ((BrowseHeaderItem) ((PageRow) o).getHeaderItem()).getResId();
|
||||
return ((FragmentHeaderItem) ((PageRow) o).getHeaderItem()).getResId();
|
||||
}
|
||||
|
||||
return -1;
|
||||
@@ -113,28 +111,8 @@ public class BrowseFragment extends BrowseSupportFragment implements BrowseView
|
||||
Intent intent = new Intent(getActivity(), SearchActivity.class);
|
||||
startActivity(intent);
|
||||
});
|
||||
|
||||
// Listener moved to PageRowFragmentFactory
|
||||
//getHeadersSupportFragment().setOnHeaderViewSelectedListener(new HeaderViewSelectedListener());
|
||||
}
|
||||
|
||||
//private void initSampleRow() {
|
||||
// setOnItemViewClickedListener(new ItemViewClickedListener());
|
||||
// setOnItemViewSelectedListener(new ItemViewSelectedListener());
|
||||
//
|
||||
// // Create a row for this special case with more samples.
|
||||
// HeaderItem gridHeader = new HeaderItem(getString(R.string.more_samples));
|
||||
// GridItemPresenter gridPresenter = new GridItemPresenter(this);
|
||||
// ArrayObjectAdapter gridRowAdapter = new ArrayObjectAdapter(gridPresenter);
|
||||
// gridRowAdapter.add(getString(R.string.grid_view));
|
||||
// gridRowAdapter.add(getString(R.string.guidedstep_first_title));
|
||||
// gridRowAdapter.add(getString(R.string.error_fragment));
|
||||
// gridRowAdapter.add(getString(R.string.personal_settings));
|
||||
// mCategoryRowAdapter.add(new ListRow(gridHeader, gridRowAdapter));
|
||||
//
|
||||
// startEntranceTransition(); // TODO: Move startEntranceTransition to after all
|
||||
//}
|
||||
|
||||
@Override
|
||||
public void updateHeaderIfEmpty(ErrorFragmentData data) {
|
||||
mHandler.postDelayed(() -> showErrorIfEmpty(data), 500); // need delay because header may be not updated
|
||||
@@ -181,7 +159,7 @@ public class BrowseFragment extends BrowseSupportFragment implements BrowseView
|
||||
}
|
||||
|
||||
private void createHeader(Header header) {
|
||||
HeaderItem headerItem = new BrowseHeaderItem(header.getId(), header.getTitle(), header.getType(), header.getResId());;
|
||||
HeaderItem headerItem = new FragmentHeaderItem(header.getId(), header.getTitle(), header.getType(), header.getResId());;
|
||||
|
||||
PageRow pageRow = new PageRow(headerItem);
|
||||
mCategoryRowAdapter.add(pageRow);
|
||||
@@ -218,42 +196,6 @@ public class BrowseFragment extends BrowseSupportFragment implements BrowseView
|
||||
}
|
||||
}
|
||||
|
||||
//private final class ItemViewClickedListener implements OnItemViewClickedListener {
|
||||
// @Override
|
||||
// public void onItemClicked(Presenter.ViewHolder itemViewHolder, Object item,
|
||||
// RowPresenter.ViewHolder rowViewHolder, Row row) {
|
||||
//
|
||||
// if (item instanceof String) {
|
||||
// if (((String) item).contains(getString(R.string.grid_view))) {
|
||||
// Intent intent = new Intent(getActivity(), VerticalGridActivity.class);
|
||||
// Bundle bundle =
|
||||
// ActivityOptionsCompat.makeSceneTransitionAnimation(getActivity())
|
||||
// .toBundle();
|
||||
// startActivity(intent, bundle);
|
||||
// } else if (((String) item).contains(getString(R.string.guidedstep_first_title))) {
|
||||
// Intent intent = new Intent(getActivity(), GuidedStepActivity.class);
|
||||
// Bundle bundle =
|
||||
// ActivityOptionsCompat.makeSceneTransitionAnimation(getActivity())
|
||||
// .toBundle();
|
||||
// startActivity(intent, bundle);
|
||||
// } else if (((String) item).contains(getString(R.string.error_fragment))) {
|
||||
// BrowseErrorFragment errorFragment = new BrowseErrorFragment();
|
||||
// getFragmentManager().beginTransaction().replace(R.id.main_frame, errorFragment)
|
||||
// .addToBackStack(null).commit();
|
||||
// } else if(((String) item).contains(getString(R.string.personal_settings))) {
|
||||
// Intent intent = new Intent(getActivity(), SettingsActivity.class);
|
||||
// Bundle bundle =
|
||||
// ActivityOptionsCompat.makeSceneTransitionAnimation(getActivity())
|
||||
// .toBundle();
|
||||
// startActivity(intent, bundle);
|
||||
// } else {
|
||||
// Toast.makeText(getActivity(), ((String) item), Toast.LENGTH_SHORT)
|
||||
// .show();
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
//}
|
||||
|
||||
//private final class ItemViewSelectedListener implements OnItemViewSelectedListener {
|
||||
// @Override
|
||||
// public void onItemSelected(Presenter.ViewHolder itemViewHolder, Object item,
|
||||
|
||||
@@ -2,21 +2,21 @@ package com.liskovsoft.smartyoutubetv2.tv.ui.browse;
|
||||
|
||||
import androidx.leanback.widget.HeaderItem;
|
||||
|
||||
public class BrowseHeaderItem extends HeaderItem {
|
||||
public class FragmentHeaderItem extends HeaderItem {
|
||||
private int mType = -1;
|
||||
private int mResId = -1;
|
||||
|
||||
public BrowseHeaderItem(long id, String name, int type, int resId) {
|
||||
public FragmentHeaderItem(long id, String name, int type, int resId) {
|
||||
super(id, name);
|
||||
mType = type;
|
||||
mResId = resId;
|
||||
}
|
||||
|
||||
public BrowseHeaderItem(long id, String name) {
|
||||
public FragmentHeaderItem(long id, String name) {
|
||||
super(id, name);
|
||||
}
|
||||
|
||||
public BrowseHeaderItem(String name) {
|
||||
public FragmentHeaderItem(String name) {
|
||||
super(name);
|
||||
}
|
||||
|
||||
@@ -38,8 +38,8 @@ public class HeaderFragmentFactory extends BrowseSupportFragment.FragmentFactory
|
||||
HeaderItem header = row.getHeaderItem();
|
||||
Fragment fragment = null;
|
||||
|
||||
if (header instanceof BrowseHeaderItem) {
|
||||
int type = ((BrowseHeaderItem) header).getType();
|
||||
if (header instanceof FragmentHeaderItem) {
|
||||
int type = ((FragmentHeaderItem) header).getType();
|
||||
|
||||
if (type == Header.TYPE_ROW) {
|
||||
fragment = new HeaderRowsFragment();
|
||||
|
||||
@@ -31,7 +31,7 @@ import java.util.Map;
|
||||
|
||||
public abstract class DynamicRowsFragment extends RowsSupportFragment implements VideoGroupFragment {
|
||||
private static final String TAG = DynamicRowsFragment.class.getSimpleName();
|
||||
private static final int ZOOM_FACTOR = FocusHighlight.ZOOM_FACTOR_MEDIUM;
|
||||
private static final int ZOOM_FACTOR = FocusHighlight.ZOOM_FACTOR_SMALL;
|
||||
private UriBackgroundManager mBackgroundManager;
|
||||
private Handler mHandler;
|
||||
private ArrayObjectAdapter mRowsAdapter;
|
||||
|
||||
@@ -8,6 +8,7 @@ import androidx.fragment.app.Fragment;
|
||||
import android.view.KeyEvent;
|
||||
import android.view.MotionEvent;
|
||||
|
||||
import com.liskovsoft.sharedutils.helpers.Helpers;
|
||||
import com.liskovsoft.sharedutils.mylogger.Log;
|
||||
import com.liskovsoft.smartyoutubetv2.tv.R;
|
||||
import com.liskovsoft.smartyoutubetv2.tv.ui.common.LeanbackActivity;
|
||||
@@ -81,27 +82,27 @@ public class PlaybackActivity extends LeanbackActivity {
|
||||
// Also, avoid enter pip on stop!
|
||||
// More info: https://developer.android.com/guide/topics/ui/picture-in-picture#continuing_playback
|
||||
|
||||
if (wannaEnterToPIP()) {
|
||||
Log.d(TAG, "Entering PIP mode...");
|
||||
if (Helpers.isPictureInPictureSupported(this)) {
|
||||
if (wannaEnterToPIP()) {
|
||||
Log.d(TAG, "Entering PIP mode...");
|
||||
|
||||
try {
|
||||
if (Build.VERSION.SDK_INT >= 26) {
|
||||
PictureInPictureParams.Builder params = new PictureInPictureParams.Builder();
|
||||
enterPictureInPictureMode(params.build());
|
||||
} else {
|
||||
enterPictureInPictureMode();
|
||||
try {
|
||||
if (Build.VERSION.SDK_INT >= 26) {
|
||||
PictureInPictureParams.Builder params = new PictureInPictureParams.Builder();
|
||||
enterPictureInPictureMode(params.build());
|
||||
} else {
|
||||
enterPictureInPictureMode();
|
||||
}
|
||||
} catch (Exception e) {
|
||||
// Device doesn't support picture-in-picture mode
|
||||
Log.e(TAG, e.getMessage());
|
||||
}
|
||||
} catch (Exception e) {
|
||||
// Device doesn't support picture-in-picture mode
|
||||
Log.e(TAG, e.getMessage());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private boolean wannaEnterToPIP() {
|
||||
boolean pipIsSupported = Build.VERSION.SDK_INT >= 24 && getPackageManager().hasSystemFeature(PackageManager.FEATURE_PICTURE_IN_PICTURE);
|
||||
|
||||
return pipIsSupported && !isInPictureInPictureMode() && mPlaybackFragment.isPIPEnabled();
|
||||
return !isInPictureInPictureMode() && mPlaybackFragment.isPIPEnabled();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -286,7 +286,16 @@ public class PlaybackFragment extends VideoSupportFragment implements PlaybackVi
|
||||
Row row) {
|
||||
|
||||
if (item instanceof Video) {
|
||||
mEventListener.onSuggestionItemClicked((Video) item);
|
||||
if (getActivity() instanceof LeanbackActivity) {
|
||||
boolean longClick = ((LeanbackActivity) getActivity()).isLongClick();
|
||||
Log.d(TAG, "Is long click: " + longClick);
|
||||
|
||||
if (longClick) {
|
||||
mEventListener.onSuggestionItemLongClicked((Video) item);
|
||||
} else {
|
||||
mEventListener.onSuggestionItemClicked((Video) item);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user