diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 55bab84c5..1cd18f9db 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -137,11 +137,7 @@
android:screenOrientation="landscape" />
-
-
-
-
diff --git a/app/src/main/java/org/jellyfin/androidtv/constant/Extras.kt b/app/src/main/java/org/jellyfin/androidtv/constant/Extras.kt
index d111dbd45..61fe14b58 100644
--- a/app/src/main/java/org/jellyfin/androidtv/constant/Extras.kt
+++ b/app/src/main/java/org/jellyfin/androidtv/constant/Extras.kt
@@ -1,6 +1,6 @@
package org.jellyfin.androidtv.constant
object Extras {
- const val Folder = "Folder"
- const val IncludeType = "IncludeType"
+ const val Folder = "folder"
+ const val IncludeType = "type_include"
}
diff --git a/app/src/main/java/org/jellyfin/androidtv/ui/browsing/BrowseFolderFragment.java b/app/src/main/java/org/jellyfin/androidtv/ui/browsing/BrowseFolderFragment.java
index 4450f651b..55d3c0731 100644
--- a/app/src/main/java/org/jellyfin/androidtv/ui/browsing/BrowseFolderFragment.java
+++ b/app/src/main/java/org/jellyfin/androidtv/ui/browsing/BrowseFolderFragment.java
@@ -2,124 +2,27 @@ package org.jellyfin.androidtv.ui.browsing;
import android.content.Intent;
import android.os.Bundle;
-import android.widget.Toast;
-import androidx.leanback.widget.ArrayObjectAdapter;
-import androidx.leanback.widget.HeaderItem;
-import androidx.leanback.widget.ListRow;
-import androidx.leanback.widget.OnItemViewClickedListener;
-import androidx.leanback.widget.Presenter;
-import androidx.leanback.widget.Row;
-import androidx.leanback.widget.RowPresenter;
-
-import org.jellyfin.androidtv.R;
-import org.jellyfin.androidtv.TvApp;
-import org.jellyfin.androidtv.constant.Extras;
-import org.jellyfin.androidtv.ui.GridButton;
-import org.jellyfin.androidtv.ui.presentation.GridButtonPresenter;
import org.jellyfin.sdk.model.api.BaseItemDto;
import kotlinx.serialization.json.Json;
+import timber.log.Timber;
public class BrowseFolderFragment extends StdBrowseFragment {
-
- protected static final int BY_LETTER = 0;
- protected static final int GENRES = 1;
- protected static final int YEARS = 2;
- protected static final int PERSONS = 3;
- protected static final int SUGGESTED = 4;
+ protected String includeType;
protected BaseItemDto mFolder;
- protected String itemTypeString;
- protected boolean showViews = true;
@Override
public void onCreate(Bundle savedInstanceState) {
- mFolder = Json.Default.decodeFromString(BaseItemDto.Companion.serializer(), getActivity().getIntent().getStringExtra(Extras.Folder));
- if (MainTitle == null) MainTitle = mFolder.getName();
+ Intent intent = requireActivity().getIntent();
+
+ mFolder = Json.Default.decodeFromString(BaseItemDto.Companion.serializer(), intent.getStringExtra(GroupedItemsActivity.EXTRA_FOLDER));
+ includeType = intent.getStringExtra(GroupedItemsActivity.EXTRA_INCLUDE_TYPE);
+ MainTitle = mFolder.getName();
ShowBadge = false;
- if (mFolder.getCollectionType() != null) {
- switch (mFolder.getCollectionType()) {
- case "movies":
- itemTypeString = "Movie";
- break;
- case "tvshows":
- itemTypeString = "Series";
- break;
- case "folders":
- showViews = false;
- break;
- default:
- showViews = false;
- }
- } else {
- showViews = false;
- }
+
+ Timber.d("Item type: %s", includeType);
super.onCreate(savedInstanceState);
}
-
- @Override
- protected void addAdditionalRows(ArrayObjectAdapter rowAdapter) {
- super.addAdditionalRows(rowAdapter);
- if (showViews) {
- HeaderItem gridHeader = new HeaderItem(rowAdapter.size(), TvApp.getApplication().getString(R.string.lbl_views));
-
- GridButtonPresenter mGridPresenter = new GridButtonPresenter();
- ArrayObjectAdapter gridRowAdapter = new ArrayObjectAdapter(mGridPresenter);
- gridRowAdapter.add(new GridButton(BY_LETTER, TvApp.getApplication().getString(R.string.lbl_by_letter), R.drawable.tile_letters, null));
- if (itemTypeString != null && itemTypeString.equals("Movie"))
- gridRowAdapter.add(new GridButton(SUGGESTED, TvApp.getApplication().getString(R.string.lbl_suggested), R.drawable.tile_suggestions, null));
- gridRowAdapter.add(new GridButton(GENRES, TvApp.getApplication().getString(R.string.lbl_genres), R.drawable.tile_genres, null));
- gridRowAdapter.add(new GridButton(PERSONS, TvApp.getApplication().getString(R.string.lbl_performers), R.drawable.tile_actors, null));
- rowAdapter.add(new ListRow(gridHeader, gridRowAdapter));
- }
- }
-
- @Override
- protected void setupEventListeners() {
- super.setupEventListeners();
- if (showViews) mClickedListener.registerListener(new ItemViewClickedListener());
- }
-
- private final class ItemViewClickedListener implements OnItemViewClickedListener {
- @Override
- public void onItemClicked(Presenter.ViewHolder itemViewHolder, Object item,
- RowPresenter.ViewHolder rowViewHolder, Row row) {
- if (item instanceof GridButton) {
- switch (((GridButton) item).getId()) {
- case BY_LETTER:
- Intent intent = new Intent(getActivity(), ByLetterActivity.class);
- intent.putExtra(Extras.Folder, Json.Default.encodeToString(BaseItemDto.Companion.serializer(), mFolder));
- intent.putExtra(Extras.IncludeType, itemTypeString);
-
- getActivity().startActivity(intent);
- break;
- case GENRES:
- Intent genreIntent = new Intent(getActivity(), ByGenreActivity.class);
- genreIntent.putExtra(Extras.Folder, Json.Default.encodeToString(BaseItemDto.Companion.serializer(), mFolder));
- genreIntent.putExtra(Extras.IncludeType, itemTypeString);
-
- getActivity().startActivity(genreIntent);
- break;
- case SUGGESTED:
- Intent suggIntent = new Intent(getActivity(), SuggestedMoviesActivity.class);
- suggIntent.putExtra(Extras.Folder, Json.Default.encodeToString(BaseItemDto.Companion.serializer(), mFolder));
- suggIntent.putExtra(Extras.IncludeType, itemTypeString);
-
- getActivity().startActivity(suggIntent);
- break;
- case PERSONS:
- Intent personIntent = new Intent(getActivity(), BrowsePersonsActivity.class);
- personIntent.putExtra(Extras.Folder, Json.Default.encodeToString(BaseItemDto.Companion.serializer(), mFolder));
- personIntent.putExtra(Extras.IncludeType, itemTypeString);
-
- getActivity().startActivity(personIntent);
- break;
- default:
- Toast.makeText(getActivity(), item.toString() + TvApp.getApplication().getString(R.string.msg_not_implemented), Toast.LENGTH_SHORT).show();
- break;
- }
- }
- }
- }
}
diff --git a/app/src/main/java/org/jellyfin/androidtv/ui/browsing/BrowsePersonsActivity.kt b/app/src/main/java/org/jellyfin/androidtv/ui/browsing/BrowsePersonsActivity.kt
deleted file mode 100644
index eaf3e343b..000000000
--- a/app/src/main/java/org/jellyfin/androidtv/ui/browsing/BrowsePersonsActivity.kt
+++ /dev/null
@@ -1,15 +0,0 @@
-package org.jellyfin.androidtv.ui.browsing
-
-import android.os.Bundle
-import androidx.fragment.app.FragmentActivity
-
-class BrowsePersonsActivity : FragmentActivity() {
- override fun onCreate(savedInstanceState: Bundle?) {
- super.onCreate(savedInstanceState)
-
- supportFragmentManager
- .beginTransaction()
- .replace(android.R.id.content, BrowsePersonsFragment())
- .commit()
- }
-}
diff --git a/app/src/main/java/org/jellyfin/androidtv/ui/browsing/BrowsePersonsFragment.java b/app/src/main/java/org/jellyfin/androidtv/ui/browsing/BrowsePersonsFragment.java
deleted file mode 100644
index b2f7252e5..000000000
--- a/app/src/main/java/org/jellyfin/androidtv/ui/browsing/BrowsePersonsFragment.java
+++ /dev/null
@@ -1,48 +0,0 @@
-package org.jellyfin.androidtv.ui.browsing;
-
-import org.jellyfin.androidtv.R;
-import org.jellyfin.androidtv.TvApp;
-import org.jellyfin.androidtv.util.Utils;
-import org.jellyfin.apiclient.model.querying.ItemSortBy;
-import org.jellyfin.apiclient.model.querying.PersonsQuery;
-
-public class BrowsePersonsFragment extends CustomViewFragment {
-
- private static String letters = TvApp.getApplication().getResources().getString(R.string.byletter_letters);
-
- @Override
- protected void setupQueries(IRowLoader rowLoader) {
-
- if (Utils.getSafeValue(mFolder.getChildCount(), 0) > 0) {
- //First add a '#' item
- PersonsQuery numbers = new PersonsQuery();
- numbers.setParentId(mFolder.getId().toString());
- numbers.setSortBy(new String[]{ItemSortBy.SortName});
- if (includeType != null) numbers.setIncludeItemTypes(new String[]{includeType});
- numbers.setNameLessThan("A");
- numbers.setRecursive(true);
- mRows.add(new BrowseRowDef("#", numbers, 25));
-
- //Then all the defined letters
- for (Character letter : letters.toCharArray()) {
- PersonsQuery letterQuery = new PersonsQuery();
- letterQuery.setParentId(mFolder.getId().toString());
- letterQuery.setSortBy(new String[]{ItemSortBy.SortName});
- if (includeType != null) letterQuery.setIncludeItemTypes(new String[]{includeType});
- letterQuery.setNameStartsWith(letter.toString());
- letterQuery.setRecursive(true);
- mRows.add(new BrowseRowDef(letter.toString(), letterQuery, 25));
- }
-
- if (mRows.size() < 2) setHeadersState(HEADERS_DISABLED);
-
- rowLoader.loadRows(mRows);
-
- }
- else {
- setHeadersState(HEADERS_DISABLED);
- }
- }
-
-
-}
diff --git a/app/src/main/java/org/jellyfin/androidtv/ui/browsing/ByGenreActivity.kt b/app/src/main/java/org/jellyfin/androidtv/ui/browsing/ByGenreActivity.kt
deleted file mode 100644
index d1d5383b0..000000000
--- a/app/src/main/java/org/jellyfin/androidtv/ui/browsing/ByGenreActivity.kt
+++ /dev/null
@@ -1,15 +0,0 @@
-package org.jellyfin.androidtv.ui.browsing
-
-import android.os.Bundle
-import androidx.fragment.app.FragmentActivity
-
-class ByGenreActivity : FragmentActivity() {
- override fun onCreate(savedInstanceState: Bundle?) {
- super.onCreate(savedInstanceState)
-
- supportFragmentManager
- .beginTransaction()
- .replace(android.R.id.content, ByGenreFragment())
- .commit()
- }
-}
diff --git a/app/src/main/java/org/jellyfin/androidtv/ui/browsing/ByGenreFragment.java b/app/src/main/java/org/jellyfin/androidtv/ui/browsing/ByGenreFragment.java
index a4f905114..4ce61b18f 100644
--- a/app/src/main/java/org/jellyfin/androidtv/ui/browsing/ByGenreFragment.java
+++ b/app/src/main/java/org/jellyfin/androidtv/ui/browsing/ByGenreFragment.java
@@ -1,7 +1,5 @@
package org.jellyfin.androidtv.ui.browsing;
-import android.os.Bundle;
-
import org.jellyfin.androidtv.TvApp;
import org.jellyfin.androidtv.data.querying.StdItemQuery;
import org.jellyfin.androidtv.util.Utils;
@@ -13,12 +11,7 @@ import org.jellyfin.apiclient.model.querying.ItemsByNameQuery;
import org.jellyfin.apiclient.model.querying.ItemsResult;
import org.koin.java.KoinJavaComponent;
-public class ByGenreFragment extends CustomViewFragment {
- @Override
- public void onActivityCreated(Bundle savedInstanceState) {
- super.onActivityCreated(savedInstanceState);
- }
-
+public class ByGenreFragment extends BrowseFolderFragment {
@Override
protected void setupQueries(final IRowLoader rowLoader) {
if (Utils.getSafeValue(mFolder.getChildCount(), 0) > 0) {
diff --git a/app/src/main/java/org/jellyfin/androidtv/ui/browsing/ByLetterActivity.kt b/app/src/main/java/org/jellyfin/androidtv/ui/browsing/ByLetterActivity.kt
deleted file mode 100644
index 4dbf3c157..000000000
--- a/app/src/main/java/org/jellyfin/androidtv/ui/browsing/ByLetterActivity.kt
+++ /dev/null
@@ -1,15 +0,0 @@
-package org.jellyfin.androidtv.ui.browsing
-
-import android.os.Bundle
-import androidx.fragment.app.FragmentActivity
-
-class ByLetterActivity : FragmentActivity() {
- override fun onCreate(savedInstanceState: Bundle?) {
- super.onCreate(savedInstanceState)
-
- supportFragmentManager
- .beginTransaction()
- .replace(android.R.id.content, ByLetterFragment())
- .commit()
- }
-}
diff --git a/app/src/main/java/org/jellyfin/androidtv/ui/browsing/ByLetterFragment.java b/app/src/main/java/org/jellyfin/androidtv/ui/browsing/ByLetterFragment.java
index 8bfefa967..8aba75e41 100644
--- a/app/src/main/java/org/jellyfin/androidtv/ui/browsing/ByLetterFragment.java
+++ b/app/src/main/java/org/jellyfin/androidtv/ui/browsing/ByLetterFragment.java
@@ -6,20 +6,18 @@ import org.jellyfin.androidtv.data.querying.StdItemQuery;
import org.jellyfin.androidtv.util.Utils;
import org.jellyfin.apiclient.model.querying.ItemSortBy;
-public class ByLetterFragment extends CustomViewFragment {
-
+public class ByLetterFragment extends BrowseFolderFragment {
private static String letters = TvApp.getApplication().getResources().getString(R.string.byletter_letters);
@Override
protected void setupQueries(IRowLoader rowLoader) {
-
if (Utils.getSafeValue(mFolder.getChildCount(), 0) > 0) {
//First add a '#' item
StdItemQuery numbers = new StdItemQuery();
numbers.setParentId(mFolder.getId().toString());
numbers.setSortBy(new String[]{ItemSortBy.SortName});
if (includeType != null) numbers.setIncludeItemTypes(new String[]{includeType});
- numbers.setNameLessThan(letters.substring(0,1));
+ numbers.setNameLessThan(letters.substring(0, 1));
numbers.setRecursive(true);
mRows.add(new BrowseRowDef("#", numbers, 40));
@@ -37,12 +35,8 @@ public class ByLetterFragment extends CustomViewFragment {
if (mRows.size() < 2) setHeadersState(HEADERS_DISABLED);
rowLoader.loadRows(mRows);
-
- }
- else {
+ } else {
setHeadersState(HEADERS_DISABLED);
}
}
-
-
}
diff --git a/app/src/main/java/org/jellyfin/androidtv/ui/browsing/CustomViewFragment.java b/app/src/main/java/org/jellyfin/androidtv/ui/browsing/CustomViewFragment.java
deleted file mode 100644
index fc94a4d86..000000000
--- a/app/src/main/java/org/jellyfin/androidtv/ui/browsing/CustomViewFragment.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package org.jellyfin.androidtv.ui.browsing;
-
-import android.os.Bundle;
-
-import org.jellyfin.androidtv.constant.Extras;
-
-import timber.log.Timber;
-
-public class CustomViewFragment extends BrowseFolderFragment {
- protected String includeType;
-
- @Override
- public void onCreate(Bundle savedInstanceState) {
- includeType = getActivity().getIntent().getStringExtra(Extras.IncludeType);
- Timber.d("Item type: %s", includeType);
- showViews = false;
-
- super.onCreate(savedInstanceState);
- }
-}
diff --git a/app/src/main/java/org/jellyfin/androidtv/ui/browsing/EnhancedBrowseFragment.java b/app/src/main/java/org/jellyfin/androidtv/ui/browsing/EnhancedBrowseFragment.java
index 285dc3668..54cad5ee3 100644
--- a/app/src/main/java/org/jellyfin/androidtv/ui/browsing/EnhancedBrowseFragment.java
+++ b/app/src/main/java/org/jellyfin/androidtv/ui/browsing/EnhancedBrowseFragment.java
@@ -71,7 +71,6 @@ public class EnhancedBrowseFragment extends Fragment implements IRowLoader {
protected static final int BY_LETTER = 0;
protected static final int GENRES = 1;
- protected static final int PERSONS = 3;
protected static final int SUGGESTED = 4;
protected static final int GRID = 6;
protected static final int ALBUMS = 7;
@@ -388,23 +387,25 @@ public class EnhancedBrowseFragment extends Fragment implements IRowLoader {
mFolder.setDisplayPreferencesId(mFolder.getId() + "AR");
Intent artistsIntent = new Intent(getActivity(), GenericGridActivity.class);
- artistsIntent.putExtra(Extras.Folder, serializer.getValue().SerializeToString(mFolder));
- artistsIntent.putExtra(Extras.IncludeType, "AlbumArtist");
+ artistsIntent.putExtra(GroupedItemsActivity.EXTRA_FOLDER, serializer.getValue().SerializeToString(mFolder));
+ artistsIntent.putExtra(GroupedItemsActivity.EXTRA_INCLUDE_TYPE, "AlbumArtist");
requireActivity().startActivity(artistsIntent);
break;
case BY_LETTER:
- Intent intent = new Intent(getActivity(), ByLetterActivity.class);
- intent.putExtra(Extras.Folder, serializer.getValue().SerializeToString(mFolder));
- intent.putExtra(Extras.IncludeType, itemTypeString);
+ Intent letterIntent = new Intent(getActivity(), GroupedItemsActivity.class);
+ letterIntent.putExtra(GroupedItemsActivity.EXTRA_GROUPING_TYPE, GroupedItemsActivity.GroupingType.LETTER.toString());
+ letterIntent.putExtra(GroupedItemsActivity.EXTRA_FOLDER, serializer.getValue().SerializeToString(mFolder));
+ letterIntent.putExtra(GroupedItemsActivity.EXTRA_INCLUDE_TYPE, itemTypeString);
- requireActivity().startActivity(intent);
+ requireActivity().startActivity(letterIntent);
break;
case GENRES:
- Intent genreIntent = new Intent(getActivity(), ByGenreActivity.class);
- genreIntent.putExtra(Extras.Folder, serializer.getValue().SerializeToString(mFolder));
- genreIntent.putExtra(Extras.IncludeType, itemTypeString);
+ Intent genreIntent = new Intent(getActivity(), GroupedItemsActivity.class);
+ genreIntent.putExtra(GroupedItemsActivity.EXTRA_GROUPING_TYPE, GroupedItemsActivity.GroupingType.GENRE.toString());
+ genreIntent.putExtra(GroupedItemsActivity.EXTRA_FOLDER, serializer.getValue().SerializeToString(mFolder));
+ genreIntent.putExtra(GroupedItemsActivity.EXTRA_INCLUDE_TYPE, itemTypeString);
requireActivity().startActivity(genreIntent);
break;
@@ -417,14 +418,6 @@ public class EnhancedBrowseFragment extends Fragment implements IRowLoader {
requireActivity().startActivity(suggIntent);
break;
- case PERSONS:
- Intent personIntent = new Intent(getActivity(), BrowsePersonsActivity.class);
- personIntent.putExtra(Extras.Folder, serializer.getValue().SerializeToString(mFolder));
- personIntent.putExtra(Extras.IncludeType, itemTypeString);
-
- requireActivity().startActivity(personIntent);
- break;
-
case FAVSONGS:
Intent favIntent = new Intent(getActivity(), ItemListActivity.class);
favIntent.putExtra("ItemId", ItemListActivity.FAV_SONGS);
diff --git a/app/src/main/java/org/jellyfin/androidtv/ui/browsing/GroupedItemsActivity.kt b/app/src/main/java/org/jellyfin/androidtv/ui/browsing/GroupedItemsActivity.kt
new file mode 100644
index 000000000..4e3bbd580
--- /dev/null
+++ b/app/src/main/java/org/jellyfin/androidtv/ui/browsing/GroupedItemsActivity.kt
@@ -0,0 +1,32 @@
+package org.jellyfin.androidtv.ui.browsing
+
+import android.os.Bundle
+import androidx.fragment.app.FragmentActivity
+import androidx.fragment.app.commit
+import androidx.fragment.app.replace
+
+class GroupedItemsActivity : FragmentActivity() {
+ private val groupingType get() = intent.extras?.getString(EXTRA_GROUPING_TYPE)?.let { GroupingType.valueOf(it) }
+
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+
+ supportFragmentManager.commit {
+ when (groupingType) {
+ GroupingType.GENRE -> replace(android.R.id.content)
+ GroupingType.LETTER -> replace(android.R.id.content)
+ }
+ }
+ }
+
+ enum class GroupingType {
+ GENRE,
+ LETTER,
+ }
+
+ companion object {
+ const val EXTRA_GROUPING_TYPE = "type_grouping"
+ const val EXTRA_FOLDER = "folder"
+ const val EXTRA_INCLUDE_TYPE = "type_include"
+ }
+}
diff --git a/app/src/main/java/org/jellyfin/androidtv/ui/browsing/StdBrowseFragment.java b/app/src/main/java/org/jellyfin/androidtv/ui/browsing/StdBrowseFragment.java
index 8f23c8bd3..0a0737074 100644
--- a/app/src/main/java/org/jellyfin/androidtv/ui/browsing/StdBrowseFragment.java
+++ b/app/src/main/java/org/jellyfin/androidtv/ui/browsing/StdBrowseFragment.java
@@ -3,9 +3,7 @@ package org.jellyfin.androidtv.ui.browsing;
import static org.koin.java.KoinJavaComponent.inject;
import android.os.Bundle;
-import android.os.Handler;
import android.view.Gravity;
-import android.view.KeyEvent;
import android.view.View;
import android.view.ViewGroup;
import android.widget.FrameLayout;
@@ -25,7 +23,6 @@ import androidx.leanback.widget.Row;
import androidx.leanback.widget.RowPresenter;
import org.jellyfin.androidtv.R;
-import org.jellyfin.androidtv.constant.CustomMessage;
import org.jellyfin.androidtv.constant.QueryType;
import org.jellyfin.androidtv.data.model.DataRefreshService;
import org.jellyfin.androidtv.data.querying.ViewQuery;
@@ -38,10 +35,6 @@ import org.jellyfin.androidtv.ui.itemhandling.ItemLauncher;
import org.jellyfin.androidtv.ui.itemhandling.ItemRowAdapter;
import org.jellyfin.androidtv.ui.presentation.CardPresenter;
import org.jellyfin.androidtv.ui.presentation.PositionableListRowPresenter;
-import org.jellyfin.androidtv.ui.shared.BaseActivity;
-import org.jellyfin.androidtv.ui.shared.IKeyListener;
-import org.jellyfin.androidtv.ui.shared.IMessageListener;
-import org.jellyfin.androidtv.util.KeyProcessor;
import org.jellyfin.androidtv.util.Utils;
import org.jellyfin.apiclient.interaction.EmptyResponse;
import org.jellyfin.apiclient.model.dto.BaseItemType;
@@ -56,7 +49,6 @@ import timber.log.Timber;
public class StdBrowseFragment extends BrowseSupportFragment implements IRowLoader {
protected String MainTitle;
protected boolean ShowBadge = true;
- protected BaseActivity mActivity;
protected BaseRowItem mCurrentItem;
protected ListRow mCurrentRow;
protected CompositeClickedListener mClickedListener = new CompositeClickedListener();
@@ -74,8 +66,6 @@ public class StdBrowseFragment extends BrowseSupportFragment implements IRowLoad
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
- if (getActivity() instanceof BaseActivity) mActivity = (BaseActivity)getActivity();
-
backgroundService.getValue().attach(requireActivity());
setupUIElements();
@@ -111,7 +101,6 @@ public class StdBrowseFragment extends BrowseSupportFragment implements IRowLoad
//Re-retrieve anything that needs it but delay slightly so we don't take away gui landing
if (mRowsAdapter != null) {
refreshCurrentItem();
- refreshRows();
}
} else {
@@ -119,22 +108,6 @@ public class StdBrowseFragment extends BrowseSupportFragment implements IRowLoad
}
}
- protected void refreshRows() {
- new Handler().postDelayed(new Runnable() {
- @Override
- public void run() {
- if (mActivity == null || mActivity.isFinishing()) return;
- for (int i = 0; i < mRowsAdapter.size(); i++) {
- if (mRowsAdapter.get(i) instanceof ListRow) {
- if (((ListRow) mRowsAdapter.get(i)).getAdapter() instanceof ItemRowAdapter) {
- ((ItemRowAdapter) ((ListRow) mRowsAdapter.get(i)).getAdapter()).ReRetrieveIfNeeded();
- }
- }
- }
- }
- },1500);
- }
-
public void loadRows(List rows) {
mRowsAdapter = new ArrayObjectAdapter(new PositionableListRowPresenter());
mCardPresenter = new CardPresenter();
@@ -246,27 +219,6 @@ public class StdBrowseFragment extends BrowseSupportFragment implements IRowLoad
setOnItemViewSelectedListener(mSelectedListener);
mSelectedListener.registerListener(new ItemViewSelectedListener());
-
- if (mActivity != null) {
- mActivity.registerKeyListener(new IKeyListener() {
- @Override
- public boolean onKeyUp(int key, KeyEvent event) {
- return KeyProcessor.HandleKey(key, mCurrentItem, mActivity);
- }
- });
-
- mActivity.registerMessageListener(new IMessageListener() {
- @Override
- public void onMessageReceived(CustomMessage message) {
- switch (message) {
-
- case RefreshCurrentItem:
- refreshCurrentItem();
- break;
- }
- }
- });
- }
}
private void refreshCurrentItem() {