diff --git a/app/src/androidTest/java/org/schabi/newpipe/services/youtube/YoutubeSearchEngineTest.java b/app/src/androidTest/java/org/schabi/newpipe/services/youtube/YoutubeSearchEngineTest.java
index c01474416..b9ded39c2 100644
--- a/app/src/androidTest/java/org/schabi/newpipe/services/youtube/YoutubeSearchEngineTest.java
+++ b/app/src/androidTest/java/org/schabi/newpipe/services/youtube/YoutubeSearchEngineTest.java
@@ -2,7 +2,7 @@ package org.schabi.newpipe.services.youtube;
import android.test.AndroidTestCase;
-import org.schabi.newpipe.VideoPreviewInfo;
+import org.schabi.newpipe.crawler.VideoPreviewInfo;
import org.schabi.newpipe.services.SearchEngine;
import java.util.ArrayList;
diff --git a/app/src/main/java/org/schabi/newpipe/ActionBarHandler.java b/app/src/main/java/org/schabi/newpipe/ActionBarHandler.java
index 490b8d6f4..0cd4f0b1a 100644
--- a/app/src/main/java/org/schabi/newpipe/ActionBarHandler.java
+++ b/app/src/main/java/org/schabi/newpipe/ActionBarHandler.java
@@ -16,8 +16,8 @@ import android.view.MenuInflater;
import android.view.MenuItem;
import android.widget.ArrayAdapter;
-import org.schabi.newpipe.services.MediaFormat;
-import org.schabi.newpipe.services.VideoInfo;
+import org.schabi.newpipe.crawler.MediaFormat;
+import org.schabi.newpipe.crawler.VideoInfo;
/**
* Created by Christian Schabesberger on 18.08.15.
diff --git a/app/src/main/java/org/schabi/newpipe/Downloader.java b/app/src/main/java/org/schabi/newpipe/Downloader.java
index 7b5950407..372857462 100644
--- a/app/src/main/java/org/schabi/newpipe/Downloader.java
+++ b/app/src/main/java/org/schabi/newpipe/Downloader.java
@@ -30,7 +30,7 @@ import info.guardianproject.netcipher.NetCipher;
* along with NewPipe. If not, see .
*/
-public class Downloader implements org.schabi.newpipe.services.Downloader {
+public class Downloader implements org.schabi.newpipe.crawler.Downloader {
private static final String USER_AGENT = "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:43.0) Gecko/20100101 Firefox/43.0";
diff --git a/app/src/main/java/org/schabi/newpipe/VideoInfoItemViewCreator.java b/app/src/main/java/org/schabi/newpipe/VideoInfoItemViewCreator.java
index c2bbb069e..e254af02d 100644
--- a/app/src/main/java/org/schabi/newpipe/VideoInfoItemViewCreator.java
+++ b/app/src/main/java/org/schabi/newpipe/VideoInfoItemViewCreator.java
@@ -7,6 +7,8 @@ import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
+import org.schabi.newpipe.crawler.VideoPreviewInfo;
+
/**
* Created by Christian Schabesberger on 24.10.15.
*
diff --git a/app/src/main/java/org/schabi/newpipe/VideoItemDetailActivity.java b/app/src/main/java/org/schabi/newpipe/VideoItemDetailActivity.java
index bf28549b3..8514160d4 100644
--- a/app/src/main/java/org/schabi/newpipe/VideoItemDetailActivity.java
+++ b/app/src/main/java/org/schabi/newpipe/VideoItemDetailActivity.java
@@ -10,8 +10,8 @@ import android.view.Menu;
import android.view.MenuItem;
import android.widget.Toast;
-import org.schabi.newpipe.services.ServiceList;
-import org.schabi.newpipe.services.StreamingService;
+import org.schabi.newpipe.crawler.ServiceList;
+import org.schabi.newpipe.crawler.StreamingService;
/**
diff --git a/app/src/main/java/org/schabi/newpipe/VideoItemDetailFragment.java b/app/src/main/java/org/schabi/newpipe/VideoItemDetailFragment.java
index ba34d9960..ce3dcb317 100644
--- a/app/src/main/java/org/schabi/newpipe/VideoItemDetailFragment.java
+++ b/app/src/main/java/org/schabi/newpipe/VideoItemDetailFragment.java
@@ -16,7 +16,6 @@ import android.support.v4.app.Fragment;
import android.support.v7.app.AppCompatActivity;
import android.text.Html;
import android.text.method.LinkMovementMethod;
-import android.util.DisplayMetrics;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.Menu;
@@ -36,10 +35,11 @@ import java.net.URL;
import java.util.ArrayList;
import java.util.Vector;
-import org.schabi.newpipe.services.VideoExtractor;
-import org.schabi.newpipe.services.ServiceList;
-import org.schabi.newpipe.services.StreamingService;
-import org.schabi.newpipe.services.VideoInfo;
+import org.schabi.newpipe.crawler.VideoPreviewInfo;
+import org.schabi.newpipe.crawler.VideoExtractor;
+import org.schabi.newpipe.crawler.ServiceList;
+import org.schabi.newpipe.crawler.StreamingService;
+import org.schabi.newpipe.crawler.VideoInfo;
/**
diff --git a/app/src/main/java/org/schabi/newpipe/VideoItemListActivity.java b/app/src/main/java/org/schabi/newpipe/VideoItemListActivity.java
index 446b916b5..5f8ddde32 100644
--- a/app/src/main/java/org/schabi/newpipe/VideoItemListActivity.java
+++ b/app/src/main/java/org/schabi/newpipe/VideoItemListActivity.java
@@ -16,7 +16,8 @@ import android.view.inputmethod.InputMethodManager;
import java.util.ArrayList;
-import org.schabi.newpipe.services.ServiceList;
+import org.schabi.newpipe.crawler.VideoPreviewInfo;
+import org.schabi.newpipe.crawler.ServiceList;
/**
* Copyright (C) Christian Schabesberger 2015
diff --git a/app/src/main/java/org/schabi/newpipe/VideoItemListFragment.java b/app/src/main/java/org/schabi/newpipe/VideoItemListFragment.java
index 8cbd67677..536b216f4 100644
--- a/app/src/main/java/org/schabi/newpipe/VideoItemListFragment.java
+++ b/app/src/main/java/org/schabi/newpipe/VideoItemListFragment.java
@@ -19,8 +19,9 @@ import java.net.URL;
import java.util.List;
import java.util.Vector;
-import org.schabi.newpipe.services.SearchEngine;
-import org.schabi.newpipe.services.StreamingService;
+import org.schabi.newpipe.crawler.VideoPreviewInfo;
+import org.schabi.newpipe.crawler.SearchEngine;
+import org.schabi.newpipe.crawler.StreamingService;
/**
diff --git a/app/src/main/java/org/schabi/newpipe/VideoListAdapter.java b/app/src/main/java/org/schabi/newpipe/VideoListAdapter.java
index de08b2f03..54ff763f0 100644
--- a/app/src/main/java/org/schabi/newpipe/VideoListAdapter.java
+++ b/app/src/main/java/org/schabi/newpipe/VideoListAdapter.java
@@ -9,6 +9,8 @@ import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ListView;
+import org.schabi.newpipe.crawler.VideoPreviewInfo;
+
import java.util.List;
import java.util.Vector;
diff --git a/app/src/main/java/org/schabi/newpipe/services/AbstractVideoInfo.java b/app/src/main/java/org/schabi/newpipe/crawler/AbstractVideoInfo.java
similarity index 92%
rename from app/src/main/java/org/schabi/newpipe/services/AbstractVideoInfo.java
rename to app/src/main/java/org/schabi/newpipe/crawler/AbstractVideoInfo.java
index 72d43ebde..a338242bb 100644
--- a/app/src/main/java/org/schabi/newpipe/services/AbstractVideoInfo.java
+++ b/app/src/main/java/org/schabi/newpipe/crawler/AbstractVideoInfo.java
@@ -1,4 +1,4 @@
-package org.schabi.newpipe.services;
+package org.schabi.newpipe.crawler;
import android.graphics.Bitmap;
diff --git a/app/src/main/java/org/schabi/newpipe/services/Downloader.java b/app/src/main/java/org/schabi/newpipe/crawler/Downloader.java
similarity index 97%
rename from app/src/main/java/org/schabi/newpipe/services/Downloader.java
rename to app/src/main/java/org/schabi/newpipe/crawler/Downloader.java
index ce83ca5da..5fda48f3e 100644
--- a/app/src/main/java/org/schabi/newpipe/services/Downloader.java
+++ b/app/src/main/java/org/schabi/newpipe/crawler/Downloader.java
@@ -1,4 +1,4 @@
-package org.schabi.newpipe.services;
+package org.schabi.newpipe.crawler;
/**
* Created by Christian Schabesberger on 28.01.16.
diff --git a/app/src/main/java/org/schabi/newpipe/services/MediaFormat.java b/app/src/main/java/org/schabi/newpipe/crawler/MediaFormat.java
similarity index 98%
rename from app/src/main/java/org/schabi/newpipe/services/MediaFormat.java
rename to app/src/main/java/org/schabi/newpipe/crawler/MediaFormat.java
index 867dc3035..efebf17f3 100644
--- a/app/src/main/java/org/schabi/newpipe/services/MediaFormat.java
+++ b/app/src/main/java/org/schabi/newpipe/crawler/MediaFormat.java
@@ -1,4 +1,4 @@
-package org.schabi.newpipe.services;
+package org.schabi.newpipe.crawler;
/**
* Created by Adam Howard on 08/11/15.
diff --git a/app/src/main/java/org/schabi/newpipe/services/SearchEngine.java b/app/src/main/java/org/schabi/newpipe/crawler/SearchEngine.java
similarity index 94%
rename from app/src/main/java/org/schabi/newpipe/services/SearchEngine.java
rename to app/src/main/java/org/schabi/newpipe/crawler/SearchEngine.java
index eebbe0ee2..3803e3e38 100644
--- a/app/src/main/java/org/schabi/newpipe/services/SearchEngine.java
+++ b/app/src/main/java/org/schabi/newpipe/crawler/SearchEngine.java
@@ -1,6 +1,4 @@
-package org.schabi.newpipe.services;
-
-import org.schabi.newpipe.VideoPreviewInfo;
+package org.schabi.newpipe.crawler;
import java.util.ArrayList;
import java.util.Vector;
diff --git a/app/src/main/java/org/schabi/newpipe/services/ServiceList.java b/app/src/main/java/org/schabi/newpipe/crawler/ServiceList.java
similarity index 94%
rename from app/src/main/java/org/schabi/newpipe/services/ServiceList.java
rename to app/src/main/java/org/schabi/newpipe/crawler/ServiceList.java
index da1b293fb..b1d98a73f 100644
--- a/app/src/main/java/org/schabi/newpipe/services/ServiceList.java
+++ b/app/src/main/java/org/schabi/newpipe/crawler/ServiceList.java
@@ -1,8 +1,8 @@
-package org.schabi.newpipe.services;
+package org.schabi.newpipe.crawler;
import android.util.Log;
-import org.schabi.newpipe.services.youtube.YoutubeService;
+import org.schabi.newpipe.crawler.services.youtube.YoutubeService;
/**
* Created by Christian Schabesberger on 23.08.15.
diff --git a/app/src/main/java/org/schabi/newpipe/services/StreamingService.java b/app/src/main/java/org/schabi/newpipe/crawler/StreamingService.java
similarity index 97%
rename from app/src/main/java/org/schabi/newpipe/services/StreamingService.java
rename to app/src/main/java/org/schabi/newpipe/crawler/StreamingService.java
index 082dc998a..5069647ee 100644
--- a/app/src/main/java/org/schabi/newpipe/services/StreamingService.java
+++ b/app/src/main/java/org/schabi/newpipe/crawler/StreamingService.java
@@ -1,4 +1,4 @@
-package org.schabi.newpipe.services;
+package org.schabi.newpipe.crawler;
/**
* Created by Christian Schabesberger on 23.08.15.
diff --git a/app/src/main/java/org/schabi/newpipe/services/VideoExtractor.java b/app/src/main/java/org/schabi/newpipe/crawler/VideoExtractor.java
similarity index 99%
rename from app/src/main/java/org/schabi/newpipe/services/VideoExtractor.java
rename to app/src/main/java/org/schabi/newpipe/crawler/VideoExtractor.java
index e4357b4d0..ee7977ee0 100644
--- a/app/src/main/java/org/schabi/newpipe/services/VideoExtractor.java
+++ b/app/src/main/java/org/schabi/newpipe/crawler/VideoExtractor.java
@@ -1,4 +1,4 @@
-package org.schabi.newpipe.services;
+package org.schabi.newpipe.crawler;
/**
* Created by Christian Schabesberger on 10.08.15.
diff --git a/app/src/main/java/org/schabi/newpipe/services/VideoInfo.java b/app/src/main/java/org/schabi/newpipe/crawler/VideoInfo.java
similarity index 93%
rename from app/src/main/java/org/schabi/newpipe/services/VideoInfo.java
rename to app/src/main/java/org/schabi/newpipe/crawler/VideoInfo.java
index dcf871d8c..068b3ce26 100644
--- a/app/src/main/java/org/schabi/newpipe/services/VideoInfo.java
+++ b/app/src/main/java/org/schabi/newpipe/crawler/VideoInfo.java
@@ -1,7 +1,4 @@
-package org.schabi.newpipe.services;
-
-import org.schabi.newpipe.VideoPreviewInfo;
-import org.schabi.newpipe.services.AbstractVideoInfo;
+package org.schabi.newpipe.crawler;
import java.util.List;
@@ -73,7 +70,8 @@ public class VideoInfo extends AbstractVideoInfo {
this.view_count = avi.view_count;
//todo: better than this
- if(avi instanceof VideoPreviewInfo) {//shitty String to convert code
+ if(avi instanceof VideoPreviewInfo) {
+ //shitty String to convert code
String dur = ((VideoPreviewInfo)avi).duration;
int minutes = Integer.parseInt(dur.substring(0, dur.indexOf(":")));
int seconds = Integer.parseInt(dur.substring(dur.indexOf(":")+1, dur.length()));
@@ -82,7 +80,8 @@ public class VideoInfo extends AbstractVideoInfo {
}
public static class VideoStream {
- public String url = ""; //url of the stream
+ //url of the stream
+ public String url = "";
public int format = -1;
public String resolution = "";
diff --git a/app/src/main/java/org/schabi/newpipe/VideoPreviewInfo.java b/app/src/main/java/org/schabi/newpipe/crawler/VideoPreviewInfo.java
similarity index 96%
rename from app/src/main/java/org/schabi/newpipe/VideoPreviewInfo.java
rename to app/src/main/java/org/schabi/newpipe/crawler/VideoPreviewInfo.java
index 0832114e0..bca13a208 100644
--- a/app/src/main/java/org/schabi/newpipe/VideoPreviewInfo.java
+++ b/app/src/main/java/org/schabi/newpipe/crawler/VideoPreviewInfo.java
@@ -1,10 +1,10 @@
-package org.schabi.newpipe;
+package org.schabi.newpipe.crawler;
import android.graphics.Bitmap;
import android.os.Parcel;
import android.os.Parcelable;
-import org.schabi.newpipe.services.AbstractVideoInfo;
+import org.schabi.newpipe.crawler.AbstractVideoInfo;
/**
* Created by Christian Schabesberger on 26.08.15.
diff --git a/app/src/main/java/org/schabi/newpipe/services/youtube/YoutubeSearchEngine.java b/app/src/main/java/org/schabi/newpipe/crawler/services/youtube/YoutubeSearchEngine.java
similarity index 97%
rename from app/src/main/java/org/schabi/newpipe/services/youtube/YoutubeSearchEngine.java
rename to app/src/main/java/org/schabi/newpipe/crawler/services/youtube/YoutubeSearchEngine.java
index 73b245a48..c4bedfe1d 100644
--- a/app/src/main/java/org/schabi/newpipe/services/youtube/YoutubeSearchEngine.java
+++ b/app/src/main/java/org/schabi/newpipe/crawler/services/youtube/YoutubeSearchEngine.java
@@ -1,4 +1,4 @@
-package org.schabi.newpipe.services.youtube;
+package org.schabi.newpipe.crawler.services.youtube;
import android.net.Uri;
import android.util.Log;
@@ -6,9 +6,9 @@ import android.util.Log;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
-import org.schabi.newpipe.services.Downloader;
-import org.schabi.newpipe.services.SearchEngine;
-import org.schabi.newpipe.VideoPreviewInfo;
+import org.schabi.newpipe.crawler.Downloader;
+import org.schabi.newpipe.crawler.SearchEngine;
+import org.schabi.newpipe.crawler.VideoPreviewInfo;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.xml.sax.InputSource;
diff --git a/app/src/main/java/org/schabi/newpipe/services/youtube/YoutubeService.java b/app/src/main/java/org/schabi/newpipe/crawler/services/youtube/YoutubeService.java
similarity index 86%
rename from app/src/main/java/org/schabi/newpipe/services/youtube/YoutubeService.java
rename to app/src/main/java/org/schabi/newpipe/crawler/services/youtube/YoutubeService.java
index b90135d1b..a2f2c3dd1 100644
--- a/app/src/main/java/org/schabi/newpipe/services/youtube/YoutubeService.java
+++ b/app/src/main/java/org/schabi/newpipe/crawler/services/youtube/YoutubeService.java
@@ -1,9 +1,9 @@
-package org.schabi.newpipe.services.youtube;
+package org.schabi.newpipe.crawler.services.youtube;
-import org.schabi.newpipe.services.Downloader;
-import org.schabi.newpipe.services.StreamingService;
-import org.schabi.newpipe.services.VideoExtractor;
-import org.schabi.newpipe.services.SearchEngine;
+import org.schabi.newpipe.crawler.Downloader;
+import org.schabi.newpipe.crawler.StreamingService;
+import org.schabi.newpipe.crawler.VideoExtractor;
+import org.schabi.newpipe.crawler.SearchEngine;
/**
diff --git a/app/src/main/java/org/schabi/newpipe/services/youtube/YoutubeVideoExtractor.java b/app/src/main/java/org/schabi/newpipe/crawler/services/youtube/YoutubeVideoExtractor.java
similarity index 98%
rename from app/src/main/java/org/schabi/newpipe/services/youtube/YoutubeVideoExtractor.java
rename to app/src/main/java/org/schabi/newpipe/crawler/services/youtube/YoutubeVideoExtractor.java
index e1cacef02..4292a4e9f 100644
--- a/app/src/main/java/org/schabi/newpipe/services/youtube/YoutubeVideoExtractor.java
+++ b/app/src/main/java/org/schabi/newpipe/crawler/services/youtube/YoutubeVideoExtractor.java
@@ -1,4 +1,4 @@
-package org.schabi.newpipe.services.youtube;
+package org.schabi.newpipe.crawler.services.youtube;
import android.util.Log;
import android.util.Xml;
@@ -12,12 +12,11 @@ import org.jsoup.parser.Parser;
import org.mozilla.javascript.Context;
import org.mozilla.javascript.Function;
import org.mozilla.javascript.ScriptableObject;
-import org.schabi.newpipe.FileDownloader;
-import org.schabi.newpipe.services.Downloader;
-import org.schabi.newpipe.services.VideoExtractor;
-import org.schabi.newpipe.services.MediaFormat;
-import org.schabi.newpipe.services.VideoInfo;
-import org.schabi.newpipe.VideoPreviewInfo;
+import org.schabi.newpipe.crawler.Downloader;
+import org.schabi.newpipe.crawler.VideoExtractor;
+import org.schabi.newpipe.crawler.MediaFormat;
+import org.schabi.newpipe.crawler.VideoInfo;
+import org.schabi.newpipe.crawler.VideoPreviewInfo;
import org.xmlpull.v1.XmlPullParser;
import java.io.StringReader;