├── .idea
└── vcs.xml
└── app
└── src
└── main
├── res
├── xml
│ └── searchable.xml
└── menu
│ └── menu_fragment_youku.xml
└── java
└── name
└── caiyao
└── shilin
├── Config
├── VideoFormat.java
└── VideoQuality.java
├── model
├── M3U8.java
├── MP4.java
├── PlayUrlsResult.java
├── ParseVideoEntry.java
└── ParseResult.java
└── ui
└── adapter
└── YoukuSearchAdapter.java
/.idea/vcs.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/xml/searchable.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/app/src/main/java/name/caiyao/shilin/Config/VideoFormat.java:
--------------------------------------------------------------------------------
1 | package name.caiyao.shilin.Config;
2 |
3 | /**
4 | * Created by 蔡尧 on 2015/12/27 0027.
5 | */
6 | public class VideoFormat {
7 | public static final String MP4 = "mp4" ;
8 | public static final String M3U8 = "m3u8";
9 | }
10 |
--------------------------------------------------------------------------------
/app/src/main/java/name/caiyao/shilin/model/M3U8.java:
--------------------------------------------------------------------------------
1 | package name.caiyao.shilin.model;
2 |
3 | import com.google.gson.annotations.SerializedName;
4 |
5 | /**
6 | * Created by 蔡尧 on 2015/12/27 0027.
7 | */
8 | public class M3U8 {
9 | @SerializedName("high")
10 | public String high;
11 |
12 | @SerializedName("normal")
13 | public String normal;
14 |
15 | @SerializedName("super")
16 | public String sup;
17 | }
18 |
--------------------------------------------------------------------------------
/app/src/main/java/name/caiyao/shilin/Config/VideoQuality.java:
--------------------------------------------------------------------------------
1 | package name.caiyao.shilin.Config;
2 |
3 | /**
4 | * Created by 蔡尧 on 2015/12/27 0027.
5 | */
6 | public class VideoQuality {
7 | public static final String HighMP4Quality = "高清 MP4";
8 | public static final String LowQuality = "标清 M3U8";
9 | public static final String MediumQuality = "高清 M3U8";
10 | public static final String HighQuality = "超清 M3U8";
11 | public static final String FHDQuality = "1080P M3U8";
12 | }
13 |
--------------------------------------------------------------------------------
/app/src/main/java/name/caiyao/shilin/model/MP4.java:
--------------------------------------------------------------------------------
1 | package name.caiyao.shilin.model;
2 |
3 | import com.google.gson.annotations.SerializedName;
4 |
5 | /**
6 | * Created by 蔡尧 on 2015/12/27 0027.
7 | */
8 | public class MP4 {
9 | @SerializedName("high")
10 | public String high;
11 |
12 | @SerializedName("normal")
13 | public String normal;
14 |
15 | @SerializedName("original")
16 | public String original;
17 |
18 | @SerializedName("super")
19 | public String sup;
20 | }
21 |
--------------------------------------------------------------------------------
/app/src/main/java/name/caiyao/shilin/model/PlayUrlsResult.java:
--------------------------------------------------------------------------------
1 | package name.caiyao.shilin.model;
2 |
3 | import com.google.gson.annotations.SerializedName;
4 |
5 | /**
6 | * Created by 蔡尧 on 2015/12/27 0027.
7 | */
8 | public class PlayUrlsResult {
9 | @SerializedName("error")
10 | public boolean err;
11 | public int errorCode;
12 |
13 | @SerializedName("errorinfo")
14 | public String errorinfo;
15 |
16 | @SerializedName("m3u8")
17 | public M3U8 m3u8;
18 |
19 | @SerializedName("mp4")
20 | public MP4 mp4;
21 | }
22 |
--------------------------------------------------------------------------------
/app/src/main/res/menu/menu_fragment_youku.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/app/src/main/java/name/caiyao/shilin/model/ParseVideoEntry.java:
--------------------------------------------------------------------------------
1 | package name.caiyao.shilin.model;
2 |
3 | import java.util.Comparator;
4 |
5 | /**
6 | * Created by 蔡尧 on 2015/12/27 0027.
7 | */
8 | public class ParseVideoEntry {
9 | public String videoFormat;
10 | public String videoQuality;
11 | public String videoURL;
12 |
13 | public ParseVideoEntry(String paramString, String paramVideoFormat, String paramVideoQuality) {
14 | this.videoFormat = paramVideoFormat;
15 | this.videoURL = paramString;
16 | this.videoQuality = paramVideoQuality;
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/app/src/main/java/name/caiyao/shilin/model/ParseResult.java:
--------------------------------------------------------------------------------
1 | package name.caiyao.shilin.model;
2 |
3 | import java.util.ArrayList;
4 |
5 | /**
6 | * Created by 蔡尧 on 2015/12/27 0027.
7 | */
8 | public class ParseResult {
9 | public static final int ERROR_NETWORKERROR = 2;
10 | public static final int ERROR_NOVIDEOFOUND = 1;
11 | public static final int ERROR_OK = 0;
12 | public static final int ERROR_REGIONRESTRICTED = 3;
13 | public static final int ERROR_SERVERERROR = 5;
14 | public static final int ERROR_TIMEERROR = 6;
15 | public static final int ERROR_VIDEONOTEXIST = 4;
16 | public int error = 0;
17 | public String errorinfo;
18 | public boolean nodirect = false;
19 | public String referer;
20 | public ArrayList videoEntries = new ArrayList<>();
21 | public String videoUID;
22 | }
23 |
--------------------------------------------------------------------------------
/app/src/main/java/name/caiyao/shilin/ui/adapter/YoukuSearchAdapter.java:
--------------------------------------------------------------------------------
1 | package name.caiyao.shilin.ui.adapter;
2 |
3 | import android.app.SearchManager;
4 | import android.content.Context;
5 | import android.database.Cursor;
6 | import android.support.v4.widget.CursorAdapter;
7 | import android.view.LayoutInflater;
8 | import android.view.View;
9 | import android.view.ViewGroup;
10 | import android.widget.TextView;
11 |
12 | /**
13 | * Created by 蔡尧 on 2015/12/28 0028.
14 | */
15 | public class YoukuSearchAdapter extends CursorAdapter {
16 | public YoukuSearchAdapter(Context context, Cursor c) {
17 | super(context, c, 0);
18 | }
19 |
20 | @Override
21 | public View newView(Context context, Cursor cursor, ViewGroup parent) {
22 | return LayoutInflater.from(context).inflate(android.R.layout.simple_list_item_1,parent,false);
23 | }
24 |
25 | @Override
26 | public void bindView(View view, Context context, Cursor cursor) {
27 | TextView textView = (TextView) view;
28 | int textIndex = cursor.getColumnIndex(SearchManager.SUGGEST_COLUMN_TEXT_1);
29 | textView.setText(cursor.getString(textIndex));
30 | }
31 | }
32 |
--------------------------------------------------------------------------------