From 224e7a89695ade2ee03f4d5464d4d32081adc7ee Mon Sep 17 00:00:00 2001 From: chschtsch Date: Tue, 10 Nov 2015 19:50:04 +0300 Subject: [PATCH 1/6] update date extracting regex pattern + fix some strings in English --- .idea/dictionaries/the_scrabi.xml | 3 --- .idea/gradle.xml | 5 ++--- .idea/misc.xml | 2 +- .idea/vcs.xml | 2 +- app/app.iml | 8 ++++---- app/src/main/java/org/schabi/newpipe/Downloader.java | 1 + .../org/schabi/newpipe/youtube/YoutubeExtractor.java | 7 +++++-- app/src/main/res/values/strings.xml | 12 ++++++------ 8 files changed, 20 insertions(+), 20 deletions(-) delete mode 100644 .idea/dictionaries/the_scrabi.xml diff --git a/.idea/dictionaries/the_scrabi.xml b/.idea/dictionaries/the_scrabi.xml deleted file mode 100644 index bc8411615..000000000 --- a/.idea/dictionaries/the_scrabi.xml +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/.idea/gradle.xml b/.idea/gradle.xml index bd4202cb3..1bbc21dc2 100644 --- a/.idea/gradle.xml +++ b/.idea/gradle.xml @@ -3,10 +3,9 @@ - + diff --git a/.idea/vcs.xml b/.idea/vcs.xml index 94a25f7f4..6564d52db 100644 --- a/.idea/vcs.xml +++ b/.idea/vcs.xml @@ -1,6 +1,6 @@ - + \ No newline at end of file diff --git a/app/app.iml b/app/app.iml index 58221a4e6..eefc8deb7 100644 --- a/app/app.iml +++ b/app/app.iml @@ -92,12 +92,12 @@ + + + + - - - - \ No newline at end of file diff --git a/app/src/main/java/org/schabi/newpipe/Downloader.java b/app/src/main/java/org/schabi/newpipe/Downloader.java index edf839ac2..43dcc6c41 100644 --- a/app/src/main/java/org/schabi/newpipe/Downloader.java +++ b/app/src/main/java/org/schabi/newpipe/Downloader.java @@ -37,6 +37,7 @@ public class Downloader { HttpURLConnection con = (HttpURLConnection) url.openConnection(); con.setRequestMethod("GET"); con.setRequestProperty("User-Agent", USER_AGENT); + con.setRequestProperty("Accept-Language", "en"); BufferedReader in = new BufferedReader( new InputStreamReader(con.getInputStream())); diff --git a/app/src/main/java/org/schabi/newpipe/youtube/YoutubeExtractor.java b/app/src/main/java/org/schabi/newpipe/youtube/YoutubeExtractor.java index 8ba344361..3c659306b 100644 --- a/app/src/main/java/org/schabi/newpipe/youtube/YoutubeExtractor.java +++ b/app/src/main/java/org/schabi/newpipe/youtube/YoutubeExtractor.java @@ -288,8 +288,8 @@ public class YoutubeExtractor implements Extractor { videoInfo.upload_date = doc.select("strong[class=\"watch-time-text\"").first() .text(); - // Try to only use date not the text around it - videoInfo.upload_date = matchGroup1("([0-9.]*$)", videoInfo.upload_date); + // Extracting the date itself from header + videoInfo.upload_date = matchGroup1("([A-Za-z]{3}\\s[\\d]{1,2},\\s[\\d]{4}$)", videoInfo.upload_date); // description videoInfo.description = doc.select("p[id=\"eow-description\"]").first() @@ -320,6 +320,9 @@ public class YoutubeExtractor implements Extractor { // view count videoInfo.view_count = doc.select("div[class=\"watch-view-count\"]").first().text(); + // Extract view count from header + videoInfo.view_count = matchGroup1("([\\d]*$)", videoInfo.view_count); + // next video videoInfo.nextVideo = extractVideoInfoItem(doc.select("div[class=\"watch-sidebar-section\"]").first() .select("li").first()); diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 41f6b5530..2ad31ef9c 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -4,7 +4,7 @@ NewPipe Nothing found views - Uploaded at: + Published on No StreamPlayer found. You may want to install one. Install one Cancel @@ -45,9 +45,9 @@ Video Audio - Next Video - Show next and similar Videos. - Url not Supported. - Similar Videos - Video Content Country + Next video + Show next and similar videos + URL not supported. + Similar videos + Preferable content location \ No newline at end of file From 61a09e97cad822d40effe8f02a90b5843dee86af Mon Sep 17 00:00:00 2001 From: chschtsch Date: Tue, 10 Nov 2015 19:55:58 +0300 Subject: [PATCH 2/6] update colors (implementing redesign suggested by @darkon5) --- .../java/org/schabi/newpipe/youtube/YoutubeExtractor.java | 3 --- app/src/main/res/values/colors.xml | 4 ++-- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/org/schabi/newpipe/youtube/YoutubeExtractor.java b/app/src/main/java/org/schabi/newpipe/youtube/YoutubeExtractor.java index 3c659306b..dcf9d35ed 100644 --- a/app/src/main/java/org/schabi/newpipe/youtube/YoutubeExtractor.java +++ b/app/src/main/java/org/schabi/newpipe/youtube/YoutubeExtractor.java @@ -320,9 +320,6 @@ public class YoutubeExtractor implements Extractor { // view count videoInfo.view_count = doc.select("div[class=\"watch-view-count\"]").first().text(); - // Extract view count from header - videoInfo.view_count = matchGroup1("([\\d]*$)", videoInfo.view_count); - // next video videoInfo.nextVideo = extractVideoInfoItem(doc.select("div[class=\"watch-sidebar-section\"]").first() .select("li").first()); diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index b444b0725..93a3a82d1 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -1,7 +1,7 @@ - #dd0000 - #bb0000 + #cd322e + #bc211d #000000 #66000000 \ No newline at end of file From 862b5aaef64a2fe21e42ba7dfb0cc5e1c909b161 Mon Sep 17 00:00:00 2001 From: chschtsch Date: Tue, 10 Nov 2015 20:26:20 +0300 Subject: [PATCH 3/6] update layout (implementing redesign suggested by @darkon5) & set english as a default language for content --- .../newpipe/VideoInfoItemViewCreator.java | 2 +- .../newpipe/youtube/YoutubeExtractor.java | 2 + app/src/main/res/drawable/budy.png | Bin 3372 -> 0 bytes app/src/main/res/drawable/dummi_thumbnail.png | Bin 2654 -> 0 bytes .../layout-land/fragment_videoitem_detail.xml | 4 +- .../fragment_videoitem_detail.xml | 4 +- .../res/layout/fragment_videoitem_detail.xml | 40 +++++++++++------- app/src/main/res/layout/video_item.xml | 2 +- app/src/main/res/values/dimentxt.xml | 6 +++ 9 files changed, 39 insertions(+), 21 deletions(-) delete mode 100644 app/src/main/res/drawable/budy.png delete mode 100644 app/src/main/res/drawable/dummi_thumbnail.png diff --git a/app/src/main/java/org/schabi/newpipe/VideoInfoItemViewCreator.java b/app/src/main/java/org/schabi/newpipe/VideoInfoItemViewCreator.java index e6618ddbf..d15d6b86a 100644 --- a/app/src/main/java/org/schabi/newpipe/VideoInfoItemViewCreator.java +++ b/app/src/main/java/org/schabi/newpipe/VideoInfoItemViewCreator.java @@ -51,7 +51,7 @@ public class VideoInfoItemViewCreator { } if(info.thumbnail == null) { - holder.itemThumbnailView.setImageResource(R.drawable.dummi_thumbnail); + holder.itemThumbnailView.setImageResource(R.drawable.dummy_thumbnail); } else { holder.itemThumbnailView.setImageBitmap(info.thumbnail); } diff --git a/app/src/main/java/org/schabi/newpipe/youtube/YoutubeExtractor.java b/app/src/main/java/org/schabi/newpipe/youtube/YoutubeExtractor.java index dcf9d35ed..1b4359baa 100644 --- a/app/src/main/java/org/schabi/newpipe/youtube/YoutubeExtractor.java +++ b/app/src/main/java/org/schabi/newpipe/youtube/YoutubeExtractor.java @@ -320,6 +320,8 @@ public class YoutubeExtractor implements Extractor { // view count videoInfo.view_count = doc.select("div[class=\"watch-view-count\"]").first().text(); + videoInfo.view_count = matchGroup1("([0-9,]*$)", videoInfo.view_count); + // next video videoInfo.nextVideo = extractVideoInfoItem(doc.select("div[class=\"watch-sidebar-section\"]").first() .select("li").first()); diff --git a/app/src/main/res/drawable/budy.png b/app/src/main/res/drawable/budy.png deleted file mode 100644 index 1b414ffa7e5d7530e7e79b21fc931cadd4df2f13..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3372 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 Y`&9ohc)97&22M5*3sW4n%Gf3Dzk|#_`2YX_ diff --git a/app/src/main/res/drawable/dummi_thumbnail.png b/app/src/main/res/drawable/dummi_thumbnail.png deleted file mode 100644 index 24230b261e2f1b48cb929f3ee564cef0288d075f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2654 zcmd^Bi$BxrAD=XrRj4MHBm530np5U*N}ZMLxVB_2GzF~hS2QKGc^(xE>V-Rc zg?o}Og-4wWy9kMjirRlUlfL7YjKx4CNDdu|4Jt z24nu~c!%uEpM|6AtI`Nd)m++mjSl36WLYH8)kyF85?(A2@!s8=yMRR`aBV)UugBHK zuOHUX)Erw|L-EG02{D@t?OA~ei?aDvqcNGxRxTU60}P z;}G9=J?)m5wwysKDsv=Mm)T=}_zyQcVSEjCZzqD@A5>+yMh0rvmIdT%@$rTPLW@`| zX3CBHmSeLYQQcp=jxH}B=<4bk1%}GY%b&bL_?=0Cjm|BU5-Uh8ot-Cz9ZE;P$4lnrM1Q_b3ndajf>M~l#s0$M(x288uMRGt?`M&nIeQ>zi(?{B3qM~%_Cn7 zHk#Qoi>W_^tgjcc$wRzA8+u7eaqpM+TmzQ|ZS9sTjoN*!AZw!x-}swNO--*}y<){2 z!u|qWI$2Y^!Usu;-B_2-H)+~67beJ0OT!)>sFoYQ?g@nJ=;&0k**aWO_u8>tnOJ)z z1r+ktIV=6!#r-oa3zOa7vB%XnT8Y-?H>AFmH$WIaFJ(+q6fnzVe9`QWo4pgT&)P+^ zJgc4yDnOr_Y7@=EF)TkNA79_r_IB6&f&!jM6fEpWQmtH4 z-Etmf*cxh^aqHHtsqn)+qR89+#cJ`Gy#*Y(;e=d%lvEeL+u7N9aQ}(zDX?Al*;_ne zMKtKaXpUrH;PfY{QXT-lI^dCgnZz_^+D86y-1`?QiTqO!-=p=P1}wb zZr{UZvIU|V23lENyM;1CiL0)zK9AIGURk*=#1u88z^Ko%v$eZjtPTP$$6~wOOZ$F` zpuOIS7%rWiopq=ilAeH5%<%OAW##2OKjaOO2qNZZ`O7Sy)&^SVB`^G69e0w79y?|M;;aX0Id(WLV(g-XFqdmXz>^hNKIoy8-u) zdKF%Zit3kmc`W3)&ez_VzINc?L4V*Q5Ef#Rx`D09hTinkAh!5Aa>?cvErgfWljB$f zkS&M3nH_i$V5PhDd~k4?_;G!*y0#5}dU`s2q!KKksXRE54GK&3H}e8u+&f|8LdoWn zCiuU#(pul)(a_W@Yyn^+v-iuZnn!oRrr9^0PATo9>sXR<5%y!>L}{CXuU>5iad&oh z)-X0%o8hrp?GnBMd=I}6g}`4QhUD^i0|NsGj<7stFOrCcw*QW3C{`5B_ZB5pRaLgO zwnzdk)eN7N@pOm8T~RZ_9mju2llaQ@jg!jC%BG~Nr1NTp#&|3b~Jf;rcC!vYlP*P(Vj^x zfuIgYC1D%x1I{P_iLaa6$3a5DvJ0<^!!)41W_TpDtH>`hh3>?%(7<3Ym34JS1VXeS z?2-d(cso!5$a#uLoFQr0Jizv-Ez}l&)u-lK7SSqRK7YOglzu>HfJ`bV=g_iKGffLv zpiU0d<@S9T>gsaas-oQetNra1*wJ%0{j>Tj=O3({%%DfHB;H*XA+8|n|iP0hg4U#n+w7z`#j z`Q-996m#=L;GM7aA>kqTeOFdsie+jm=wVoaFPD~ + android:src="@drawable/dummy_thumbnail"/> + android:src="@drawable/buddy" /> + android:src="@drawable/dummy_thumbnail"/> + android:src="@drawable/buddy" /> + android:src="@drawable/dummy_thumbnail"/> + android:text="Video title placeholder"/> + android:src="@drawable/buddy" /> + android:textStyle="bold" + android:textSize="@dimen/text_video_uploader_size" + android:textAppearance="?android:attr/textAppearanceLarge" + android:text="username" /> + android:text="81,754 views" /> + android:text="100" /> + android:text="20" /> + android:text="Published on Jan 01 1975" /> @@ -204,10 +214,10 @@ + android:layout_margin="20dp"/> \ No newline at end of file diff --git a/app/src/main/res/layout/video_item.xml b/app/src/main/res/layout/video_item.xml index d25f524b6..e20e38ce2 100644 --- a/app/src/main/res/layout/video_item.xml +++ b/app/src/main/res/layout/video_item.xml @@ -12,7 +12,7 @@ android:scaleType="centerCrop" android:layout_alignParentLeft="true" android:layout_alignParentTop="true" - android:src="@drawable/dummi_thumbnail"/> + android:src="@drawable/dummy_thumbnail"/> 11sp 12sp 12sp + 14sp + 14sp + 12sp + 14sp + 14sp + 14sp \ No newline at end of file From c589b03dcbd4f8f2f85fa8377f31f877a05bc86b Mon Sep 17 00:00:00 2001 From: chschtsch Date: Tue, 10 Nov 2015 20:28:05 +0300 Subject: [PATCH 4/6] rollback setting English as a default language for content --- app/src/main/java/org/schabi/newpipe/Downloader.java | 1 - 1 file changed, 1 deletion(-) diff --git a/app/src/main/java/org/schabi/newpipe/Downloader.java b/app/src/main/java/org/schabi/newpipe/Downloader.java index 43dcc6c41..edf839ac2 100644 --- a/app/src/main/java/org/schabi/newpipe/Downloader.java +++ b/app/src/main/java/org/schabi/newpipe/Downloader.java @@ -37,7 +37,6 @@ public class Downloader { HttpURLConnection con = (HttpURLConnection) url.openConnection(); con.setRequestMethod("GET"); con.setRequestProperty("User-Agent", USER_AGENT); - con.setRequestProperty("Accept-Language", "en"); BufferedReader in = new BufferedReader( new InputStreamReader(con.getInputStream())); From 7ff43caf964d22788a019d0fe1ce72d0d3cd075d Mon Sep 17 00:00:00 2001 From: chschtsch Date: Tue, 10 Nov 2015 20:36:35 +0300 Subject: [PATCH 5/6] tryna merge dem files --- .../java/org/schabi/newpipe/youtube/YoutubeExtractor.java | 7 +++++-- app/src/main/res/values/strings.xml | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/org/schabi/newpipe/youtube/YoutubeExtractor.java b/app/src/main/java/org/schabi/newpipe/youtube/YoutubeExtractor.java index c77ced40f..2b7fbf8e4 100644 --- a/app/src/main/java/org/schabi/newpipe/youtube/YoutubeExtractor.java +++ b/app/src/main/java/org/schabi/newpipe/youtube/YoutubeExtractor.java @@ -288,8 +288,8 @@ public class YoutubeExtractor implements Extractor { videoInfo.upload_date = doc.select("strong[class=\"watch-time-text\"").first() .text(); - // Try to only use date not the text around it - videoInfo.upload_date = matchGroup1("([0-9.]*$)", videoInfo.upload_date); + // Extracting the date itself from header + videoInfo.upload_date = matchGroup1("([A-Za-z]{3}\\s[\\d]{1,2},\\s[\\d]{4}$)", videoInfo.upload_date); // description videoInfo.description = doc.select("p[id=\"eow-description\"]").first() @@ -320,6 +320,9 @@ public class YoutubeExtractor implements Extractor { // view count videoInfo.view_count = doc.select("div[class=\"watch-view-count\"]").first().text(); + // Extracting the number of views from header + videoInfo.view_count = matchGroup1("([0-9,]*$)", videoInfo.view_count); + // next video videoInfo.nextVideo = extractVideoInfoItem(doc.select("div[class=\"watch-sidebar-section\"]").first() .select("li").first()); diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index d61ab8489..a86ea5544 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -49,5 +49,5 @@ Show next and similar videos URL not supported. Similar videos - Preferable content language + Preferable content language \ No newline at end of file From 731321b1f9016c6594dc78c4ce644b35cb29049f Mon Sep 17 00:00:00 2001 From: chschtsch Date: Tue, 10 Nov 2015 20:50:15 +0300 Subject: [PATCH 6/6] tryna merge dem files --- app/src/main/res/drawable/buddy.png | Bin 0 -> 3372 bytes app/src/main/res/drawable/dummy_thumbnail.png | Bin 0 -> 2654 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 app/src/main/res/drawable/buddy.png create mode 100644 app/src/main/res/drawable/dummy_thumbnail.png diff --git a/app/src/main/res/drawable/buddy.png b/app/src/main/res/drawable/buddy.png new file mode 100644 index 0000000000000000000000000000000000000000..1b414ffa7e5d7530e7e79b21fc931cadd4df2f13 GIT binary patch literal 3372 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 Y`&9ohc)97&22M5*3sW4n%Gf3Dzk|#_`2YX_ literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable/dummy_thumbnail.png b/app/src/main/res/drawable/dummy_thumbnail.png new file mode 100644 index 0000000000000000000000000000000000000000..24230b261e2f1b48cb929f3ee564cef0288d075f GIT binary patch literal 2654 zcmd^Bi$BxrAD=XrRj4MHBm530np5U*N}ZMLxVB_2GzF~hS2QKGc^(xE>V-Rc zg?o}Og-4wWy9kMjirRlUlfL7YjKx4CNDdu|4Jt z24nu~c!%uEpM|6AtI`Nd)m++mjSl36WLYH8)kyF85?(A2@!s8=yMRR`aBV)UugBHK zuOHUX)Erw|L-EG02{D@t?OA~ei?aDvqcNGxRxTU60}P z;}G9=J?)m5wwysKDsv=Mm)T=}_zyQcVSEjCZzqD@A5>+yMh0rvmIdT%@$rTPLW@`| zX3CBHmSeLYQQcp=jxH}B=<4bk1%}GY%b&bL_?=0Cjm|BU5-Uh8ot-Cz9ZE;P$4lnrM1Q_b3ndajf>M~l#s0$M(x288uMRGt?`M&nIeQ>zi(?{B3qM~%_Cn7 zHk#Qoi>W_^tgjcc$wRzA8+u7eaqpM+TmzQ|ZS9sTjoN*!AZw!x-}swNO--*}y<){2 z!u|qWI$2Y^!Usu;-B_2-H)+~67beJ0OT!)>sFoYQ?g@nJ=;&0k**aWO_u8>tnOJ)z z1r+ktIV=6!#r-oa3zOa7vB%XnT8Y-?H>AFmH$WIaFJ(+q6fnzVe9`QWo4pgT&)P+^ zJgc4yDnOr_Y7@=EF)TkNA79_r_IB6&f&!jM6fEpWQmtH4 z-Etmf*cxh^aqHHtsqn)+qR89+#cJ`Gy#*Y(;e=d%lvEeL+u7N9aQ}(zDX?Al*;_ne zMKtKaXpUrH;PfY{QXT-lI^dCgnZz_^+D86y-1`?QiTqO!-=p=P1}wb zZr{UZvIU|V23lENyM;1CiL0)zK9AIGURk*=#1u88z^Ko%v$eZjtPTP$$6~wOOZ$F` zpuOIS7%rWiopq=ilAeH5%<%OAW##2OKjaOO2qNZZ`O7Sy)&^SVB`^G69e0w79y?|M;;aX0Id(WLV(g-XFqdmXz>^hNKIoy8-u) zdKF%Zit3kmc`W3)&ez_VzINc?L4V*Q5Ef#Rx`D09hTinkAh!5Aa>?cvErgfWljB$f zkS&M3nH_i$V5PhDd~k4?_;G!*y0#5}dU`s2q!KKksXRE54GK&3H}e8u+&f|8LdoWn zCiuU#(pul)(a_W@Yyn^+v-iuZnn!oRrr9^0PATo9>sXR<5%y!>L}{CXuU>5iad&oh z)-X0%o8hrp?GnBMd=I}6g}`4QhUD^i0|NsGj<7stFOrCcw*QW3C{`5B_ZB5pRaLgO zwnzdk)eN7N@pOm8T~RZ_9mju2llaQ@jg!jC%BG~Nr1NTp#&|3b~Jf;rcC!vYlP*P(Vj^x zfuIgYC1D%x1I{P_iLaa6$3a5DvJ0<^!!)41W_TpDtH>`hh3>?%(7<3Ym34JS1VXeS z?2-d(cso!5$a#uLoFQr0Jizv-Ez}l&)u-lK7SSqRK7YOglzu>HfJ`bV=g_iKGffLv zpiU0d<@S9T>gsaas-oQetNra1*wJ%0{j>Tj=O3({%%DfHB;H*XA+8|n|iP0hg4U#n+w7z`#j z`Q-996m#=L;GM7aA>kqTeOFdsie+jm=wVoaFPD~