From 8036c831a5d81abb0707623471887226a5b064fa Mon Sep 17 00:00:00 2001 From: jimbo1qaz Date: Sat, 17 Aug 2019 19:20:00 -0700 Subject: [PATCH 1/8] Add missing dependencies inherited from NewPipeExtractor into NewPipe - NewPipe uses nanojson and jsoup, despite not declaring them. - NewPipe depends on NewPipeExtractor, which depends on nanojson and jsoup. - Gradle lets NewPipe use nanojson and jsoup, but this breaks when I use: includeBuild('../NewPipeExtractor') { dependencySubstitution { substitute module('com.github.TeamNewPipe:NewPipeExtractor') with project(':extractor') } } --- app/build.gradle | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/app/build.gradle b/app/build.gradle index c70d583b2..942cb58e6 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -70,6 +70,10 @@ dependencies { implementation "com.android.support:cardview-v7:${supportLibVersion}" implementation 'com.android.support.constraint:constraint-layout:1.1.3' + // Originally in NewPipeExtractor + implementation 'com.grack:nanojson:1.1' + implementation 'org.jsoup:jsoup:1.9.2' + implementation 'ch.acra:acra:4.9.2' //4.11 implementation 'com.nostra13.universalimageloader:universal-image-loader:1.9.5' From e1d2c576a9989b84518b60cf358aed90ac3ee8d4 Mon Sep 17 00:00:00 2001 From: Christian Schabesberger Date: Sun, 22 Sep 2019 11:01:35 +0200 Subject: [PATCH 2/8] remove shasum for new android studio --- gradle/wrapper/gradle-wrapper.properties | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 5084c008b..e2a99f5b5 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,8 +1,6 @@ -#Fri Mar 30 10:42:05 CEST 2018 +#Sun Sep 22 10:40:45 CEST 2019 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists distributionUrl=https\://services.gradle.org/distributions/gradle-4.6-all.zip -distributionSha256Sum=9af7345c199f1731c187c96d3fe3d31f5405192a42046bafa71d846c3d9adacb -#distributionSha256Sum must be updated along with the version of gradle in distributionUrl From 28accff9ba1c61b2240ddb406cc819894e2883bf Mon Sep 17 00:00:00 2001 From: Christian Schabesberger Date: Sun, 22 Sep 2019 11:59:50 +0200 Subject: [PATCH 3/8] add content description for toggle service button --- .../java/org/schabi/newpipe/MainActivity.java | 16 ++++++++++++++-- app/src/main/res/layout-v21/drawer_header.xml | 1 + app/src/main/res/values/strings.xml | 1 + 3 files changed, 16 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/org/schabi/newpipe/MainActivity.java b/app/src/main/java/org/schabi/newpipe/MainActivity.java index a9f2e9622..b9b2e158a 100644 --- a/app/src/main/java/org/schabi/newpipe/MainActivity.java +++ b/app/src/main/java/org/schabi/newpipe/MainActivity.java @@ -73,6 +73,7 @@ public class MainActivity extends AppCompatActivity { private DrawerLayout drawer = null; private NavigationView drawerItems = null; private TextView headerServiceView = null; + private Button toggleServiceButton = null; private boolean servicesShown = false; private ImageView serviceArrow; @@ -266,8 +267,8 @@ public class MainActivity extends AppCompatActivity { serviceArrow = hView.findViewById(R.id.drawer_arrow); headerServiceView = hView.findViewById(R.id.drawer_header_service_view); - Button action = hView.findViewById(R.id.drawer_header_action_button); - action.setOnClickListener(view -> { + toggleServiceButton = hView.findViewById(R.id.drawer_header_action_button); + toggleServiceButton.setOnClickListener(view -> { toggleServices(); }); } @@ -279,6 +280,7 @@ public class MainActivity extends AppCompatActivity { drawerItems.getMenu().removeGroup(R.id.menu_tabs_group); drawerItems.getMenu().removeGroup(R.id.menu_options_about_group); + if(servicesShown) { showServices(); } else { @@ -364,6 +366,8 @@ public class MainActivity extends AppCompatActivity { String selectedServiceName = NewPipe.getService( ServiceHelper.getSelectedServiceId(this)).getServiceInfo().getName(); headerServiceView.setText(selectedServiceName); + toggleServiceButton.setContentDescription( + getString(R.string.drawer_header_description) + selectedServiceName); } catch (Exception e) { ErrorActivity.reportUiError(this, e); } @@ -557,6 +561,14 @@ public class MainActivity extends AppCompatActivity { } } + private void updateDrawerHeaderString(String content) { + NavigationView navigationView = findViewById(R.id.navigation); + View hView = navigationView.getHeaderView(0); + Button action = hView.findViewById(R.id.drawer_header_action_button); + + action.setContentDescription(content); + } + private void handleIntent(Intent intent) { try { if (DEBUG) Log.d(TAG, "handleIntent() called with: intent = [" + intent + "]"); diff --git a/app/src/main/res/layout-v21/drawer_header.xml b/app/src/main/res/layout-v21/drawer_header.xml index 4474ee4ed..22e81883d 100644 --- a/app/src/main/res/layout-v21/drawer_header.xml +++ b/app/src/main/res/layout-v21/drawer_header.xml @@ -9,6 +9,7 @@ android:id="@+id/drawer_header_action_button" android:layout_width="match_parent" android:layout_height="match_parent" + android:contentDescription="@string/drawer_header_description" android:background="?android:attr/selectableItemBackground" /> K M B + Toggle service, currently selected: No subscribers From 003170e6d8648f930721f4b8cde54ea72f08fc17 Mon Sep 17 00:00:00 2001 From: Christian Schabesberger Date: Sun, 22 Sep 2019 13:26:53 +0200 Subject: [PATCH 4/8] add tab description and download dialog bag button --- .../org/schabi/newpipe/download/DownloadDialog.java | 1 + .../org/schabi/newpipe/fragments/MainFragment.java | 12 ++++++++++++ 2 files changed, 13 insertions(+) diff --git a/app/src/main/java/org/schabi/newpipe/download/DownloadDialog.java b/app/src/main/java/org/schabi/newpipe/download/DownloadDialog.java index f77daa092..9f9dce259 100644 --- a/app/src/main/java/org/schabi/newpipe/download/DownloadDialog.java +++ b/app/src/main/java/org/schabi/newpipe/download/DownloadDialog.java @@ -359,6 +359,7 @@ public class DownloadDialog extends DialogFragment implements RadioGroup.OnCheck toolbar.setNavigationIcon(isLight ? R.drawable.ic_arrow_back_black_24dp : R.drawable.ic_arrow_back_white_24dp); toolbar.inflateMenu(R.menu.dialog_url); toolbar.setNavigationOnClickListener(v -> getDialog().dismiss()); + toolbar.setNavigationContentDescription(R.string.cancel); okButton = toolbar.findViewById(R.id.okay); okButton.setEnabled(false);// disable until the download service connection is done diff --git a/app/src/main/java/org/schabi/newpipe/fragments/MainFragment.java b/app/src/main/java/org/schabi/newpipe/fragments/MainFragment.java index 5c5fd8635..7aeafb4a2 100644 --- a/app/src/main/java/org/schabi/newpipe/fragments/MainFragment.java +++ b/app/src/main/java/org/schabi/newpipe/fragments/MainFragment.java @@ -159,6 +159,7 @@ public class MainFragment extends BaseFragment implements TabLayout.OnTabSelecte viewPager.setOffscreenPageLimit(pagerAdapter.getCount()); updateTabsIcon(); + updateTabsContentDescription(); updateCurrentTitle(); } @@ -171,6 +172,17 @@ public class MainFragment extends BaseFragment implements TabLayout.OnTabSelecte } } + private void updateTabsContentDescription() { + for (int i = 0; i < tabsList.size(); i++) { + final TabLayout.Tab tabToSet = tabLayout.getTabAt(i); + if (tabToSet != null) { + final Tab t = tabsList.get(i); + tabToSet.setIcon(t.getTabIconRes(activity)); + tabToSet.setContentDescription(t.getTabName(activity)); + } + } + } + private void updateCurrentTitle() { setTitle(tabsList.get(viewPager.getCurrentItem()).getTabName(requireContext())); } From 7e65648412cfbdff27743aa7db490364754ccb4f Mon Sep 17 00:00:00 2001 From: Christian Schabesberger Date: Sun, 22 Sep 2019 13:34:44 +0200 Subject: [PATCH 5/8] change video preview text --- app/src/main/res/values-de/strings.xml | 2 +- app/src/main/res/values/strings.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 7cbfdca92..71fc9f00d 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -32,7 +32,7 @@ Video & Audio Bevorzugte Sprache des Inhalts Video-Vorschaubild - Video-Vorschaubild + Video abspielen, dauer Nutzerbild Gefällt nicht Gefällt diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 62b673edd..aa0bbc299 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -228,7 +228,7 @@ Details: Video preview thumbnail - Video preview thumbnail + Play video, duration: Uploader\'s avatar thumbnail Likes Dislikes From ecb4bfde0beb61675c2a08c96273cce5b551224a Mon Sep 17 00:00:00 2001 From: kapodamy Date: Wed, 18 Sep 2019 16:21:41 -0300 Subject: [PATCH 6/8] check if last byte on block is downloaded --- app/src/main/java/us/shandian/giga/get/DownloadRunnable.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/java/us/shandian/giga/get/DownloadRunnable.java b/app/src/main/java/us/shandian/giga/get/DownloadRunnable.java index 8126cc7e8..a4046bc02 100644 --- a/app/src/main/java/us/shandian/giga/get/DownloadRunnable.java +++ b/app/src/main/java/us/shandian/giga/get/DownloadRunnable.java @@ -117,7 +117,7 @@ public class DownloadRunnable extends Thread { byte[] buf = new byte[DownloadMission.BUFFER_SIZE]; int len; - while (start < end && mMission.running && (len = is.read(buf, 0, buf.length)) != -1) { + while (start <= end && mMission.running && (len = is.read(buf, 0, buf.length)) != -1) { f.write(buf, 0, len); start += len; block.done += len; From b1d89175fcd1031d557fe85ba670d85d77cf9827 Mon Sep 17 00:00:00 2001 From: kapodamy Date: Tue, 1 Oct 2019 13:09:26 -0300 Subject: [PATCH 7/8] Update DownloadRunnable.java add description --- app/src/main/java/us/shandian/giga/get/DownloadRunnable.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/app/src/main/java/us/shandian/giga/get/DownloadRunnable.java b/app/src/main/java/us/shandian/giga/get/DownloadRunnable.java index a4046bc02..9dec6b68a 100644 --- a/app/src/main/java/us/shandian/giga/get/DownloadRunnable.java +++ b/app/src/main/java/us/shandian/giga/get/DownloadRunnable.java @@ -117,6 +117,8 @@ public class DownloadRunnable extends Thread { byte[] buf = new byte[DownloadMission.BUFFER_SIZE]; int len; + // use alwways start <= end + // fixes a deadlock in DownloadRunnable because youtube is sending one byte alone after downloading 26MiB exactly while (start <= end && mMission.running && (len = is.read(buf, 0, buf.length)) != -1) { f.write(buf, 0, len); start += len; From 08a081437f2be1e45eaa724661792b83dc17163a Mon Sep 17 00:00:00 2001 From: kapodamy Date: Tue, 1 Oct 2019 15:31:15 -0300 Subject: [PATCH 8/8] Update DownloadRunnable.java --- app/src/main/java/us/shandian/giga/get/DownloadRunnable.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/java/us/shandian/giga/get/DownloadRunnable.java b/app/src/main/java/us/shandian/giga/get/DownloadRunnable.java index 9dec6b68a..f5b9b06d4 100644 --- a/app/src/main/java/us/shandian/giga/get/DownloadRunnable.java +++ b/app/src/main/java/us/shandian/giga/get/DownloadRunnable.java @@ -117,7 +117,7 @@ public class DownloadRunnable extends Thread { byte[] buf = new byte[DownloadMission.BUFFER_SIZE]; int len; - // use alwways start <= end + // use always start <= end // fixes a deadlock in DownloadRunnable because youtube is sending one byte alone after downloading 26MiB exactly while (start <= end && mMission.running && (len = is.read(buf, 0, buf.length)) != -1) { f.write(buf, 0, len);