diff --git a/app/src/main/java/org/schabi/newpipe/VideoInfo.java b/app/src/main/java/org/schabi/newpipe/VideoInfo.java
index 2b8dfc8e9..e0d985d8e 100644
--- a/app/src/main/java/org/schabi/newpipe/VideoInfo.java
+++ b/app/src/main/java/org/schabi/newpipe/VideoInfo.java
@@ -26,7 +26,7 @@ import java.util.Vector;
* along with NewPipe. If not, see .
*/
-
+/**Info object for opened videos, ie the video ready to play.*/
public class VideoInfo {
public String id = "";
public String title = "";
diff --git a/app/src/main/java/org/schabi/newpipe/VideoInfoItem.java b/app/src/main/java/org/schabi/newpipe/VideoInfoItem.java
index dca5f0edc..7516723b6 100644
--- a/app/src/main/java/org/schabi/newpipe/VideoInfoItem.java
+++ b/app/src/main/java/org/schabi/newpipe/VideoInfoItem.java
@@ -24,6 +24,7 @@ import android.os.Parcelable;
* along with NewPipe. If not, see .
*/
+/**Info object for previews of unopened videos, eg search results, related videos*/
public class VideoInfoItem implements Parcelable {
public String id = "";
public String title = "";
diff --git a/app/src/main/java/org/schabi/newpipe/VideoItemListActivity.java b/app/src/main/java/org/schabi/newpipe/VideoItemListActivity.java
index 856497649..90892ca5e 100644
--- a/app/src/main/java/org/schabi/newpipe/VideoItemListActivity.java
+++ b/app/src/main/java/org/schabi/newpipe/VideoItemListActivity.java
@@ -16,6 +16,7 @@ import android.view.View;
import android.view.inputmethod.InputMethodManager;
import android.widget.ImageView;
+import java.util.ArrayList;
import java.util.Arrays;
/**
@@ -114,13 +115,13 @@ public class VideoItemListActivity extends AppCompatActivity
Bundle arguments = getIntent().getExtras();
if(arguments != null) {
- Parcelable[] p = arguments.getParcelableArray(VIDEO_INFO_ITEMS);
+ //Parcelable[] p = arguments.getParcelableArray(VIDEO_INFO_ITEMS);
+ ArrayList p = arguments.getParcelableArrayList(VIDEO_INFO_ITEMS);
if(p != null) {
mode = PRESENT_VIDEOS_MODE;
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
- //todo: make this more efficient
- listFragment.present(Arrays.copyOf(p, p.length, VideoInfoItem[].class));
+ listFragment.present(p);
}
}
diff --git a/app/src/main/java/org/schabi/newpipe/VideoItemListFragment.java b/app/src/main/java/org/schabi/newpipe/VideoItemListFragment.java
index c9f6c0cd7..5bab9669b 100644
--- a/app/src/main/java/org/schabi/newpipe/VideoItemListFragment.java
+++ b/app/src/main/java/org/schabi/newpipe/VideoItemListFragment.java
@@ -16,6 +16,7 @@ import android.widget.Toast;
import java.net.URL;
import java.util.Arrays;
+import java.util.List;
import java.util.Vector;
@@ -167,14 +168,12 @@ public class VideoItemListFragment extends ListFragment {
}
}
- public void present(VideoInfoItem[] videoList) {
+ public void present(List videoList) {
mode = PRESENT_VIDEOS_MODE;
setListShown(true);
getListView().smoothScrollToPosition(0);
- // inefficient like hell i know (welcome to the world of java)
- //todo: make this more efficient
- updateList(new Vector<>(Arrays.asList(videoList)));
+ updateList(videoList);
}
public void search(String query) {
@@ -221,7 +220,7 @@ public class VideoItemListFragment extends ListFragment {
}
}
- private void updateList(Vector list) {
+ private void updateList(List list) {
try {
videoListAdapter.addVideoList(list);
terminateThreads();
diff --git a/app/src/main/java/org/schabi/newpipe/VideoListAdapter.java b/app/src/main/java/org/schabi/newpipe/VideoListAdapter.java
index c174528c6..87bd3b8aa 100644
--- a/app/src/main/java/org/schabi/newpipe/VideoListAdapter.java
+++ b/app/src/main/java/org/schabi/newpipe/VideoListAdapter.java
@@ -9,6 +9,7 @@ import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ListView;
+import java.util.List;
import java.util.Vector;
/**
@@ -48,7 +49,7 @@ public class VideoListAdapter extends BaseAdapter {
this.context = context;
}
- public void addVideoList(Vector videos) {
+ public void addVideoList(List videos) {
videoList.addAll(videos);
for(int i = 0; i < videos.size(); i++) {
downloadedThumbnailList.add(false);