Commit graph

105 commits

Author SHA1 Message Date
kapodamy
b92b434e2c Simplify the storage APIs use
* use Java I/O (classic way) on older android versions
* use Storage Access Framework on newer android versions (Android Lollipop or later)
* both changes have the external SD Card write permission
* add option to ask the save path on each download
* warn the user if the save paths are not defined, this only happens on the first NewPipe run (Android Lollipop or later)
2019-06-03 18:26:24 -03:00
kapodamy
ca05af9570 Forget the download save path if the storage API is changed 2019-06-03 18:19:20 -03:00
kapodamy
64626a7709 more SAF implementation
* full support for Directory API (Android Lollipop or later)
* best effort to handle any kind errors (missing file, revoked permissions, etc) and recover the download
* implemented directory choosing
* fix download database version upgrading
* misc. cleanup
* do not release permission on the old save path (if the user change the download directory) under SAF api
2019-06-03 18:18:20 -03:00
kapodamy
7ca7952790 Implement Storage Access Framework
* re-work finished mission database
* re-work DownloadMission and bump it Serializable version
* keep the classic Java IO API
* SAF Tree API support on Android Lollipop or higher
* add wrapper for SAF stream opening
* implement Closeable in SharpStream to replace the dispose() method

* do required changes for this API:
** remove any file creation logic from DownloadInitializer
** make PostProcessing Serializable and reduce the number of iterations
** update all strings.xml files
** storage helpers: StoredDirectoryHelper & StoredFileHelper
** best effort to handle any kind of SAF errors/exceptions
2019-06-03 18:16:41 -03:00
kapodamy
8d8059229f New MP4 muxer + Queue changes + Storage fixes
Main changes:
* correctly check the available space (CircularFile.java)
* misc cleanup (CircularFile.java)
* use the "Error Reporter" for non-http errors
* rewrite network state checking and add better support for API 21 (Lollipop) or higher
* implement "metered networks"
* add buttons in "Downloads" activity to start/pause all pending downloads, ignoring the queue flag or if the network is "metered"
* add workaround for VPN connections and/or network switching. Example: switching WiFi to 3G
* rewrite DataReader ¡Webm muxer is now 57% more faster!
* rewrite CircularFile, use file buffers instead of memory buffers. Less troubles in low-end devices
* fix missing offset for KaxCluster (WebMWriter.java), manifested as no thumbnails on file explorers

Download queue:
* remember queue status, unless the user pause the download (un-queue)
* semi-automatic downloads, between networks. Effective if the user create a new download or the downloads activity is starts
* allow enqueue failed downloads
* new option, queue limit, enabled by default. Used to allow one or multiple downloads at same time

Miscellaneous:
* fix crash while selecting details/error menu (mistake on MissionFragment.java)
* misc serialize changes (DownloadMission.java)
* minor UI tweaks
* allow overwrite paused downloads
* fix wrong icons for grid/list button in downloads
* add share option
* implement #2006
* correct misspelled word in strings.xml (es) (cmn)
* fix MissionAdapter crash during device shutdown

New Mp4Muxer + required changes:
* new mp4 muxer (from dash only) with this, muxing on Android 7 is possible now!!!
* re-work in SharpStream
* drop mp4 dash muxer
* misc changes: add warning in SecondaryStreamHelper.java,
* strip m4a DASH files to normal m4a format (youtube only)

Fix storage issues:
* warn to the user if is choosing a "read only" download directory (for external SD Cards), useless is rooted :)
* "write proof" allow post-processing resuming only if the device ran out of space
* implement "insufficient storage" error for downloads
2019-06-03 18:09:43 -03:00
krtkush
fd3475f000 Conflict resolution 2018-11-23 01:41:47 +05:30
krtkush
62ae068881 Code refactoring, PR changes. 2018-11-19 23:27:13 +05:30
krtkush
68bd7f58b6 Removed updates options from settings in case of non github apk. 2018-10-18 22:59:33 +05:30
Christian Schabesberger
8d10693d07 Merge branch 'dev' into 1520_app_update_notif 2018-10-06 18:04:39 +02:00
Christian Schabesberger
3a09413f16 make local settings be live updated 2018-10-05 16:31:23 +02:00
Kartikey Kushwaha
e6ba244c8c Removed flvor checks. Added update settings under main settings. 2018-09-15 20:51:17 +05:30
BO41
b2f619a934 error handling + imports + unboxing 2018-09-11 19:18:50 +02:00
BO41
55ef791c88 data flow issue + declaration redundancy
make final
unused methods
make final

BUILD SUCCESSFUL in 0s
39 actionable tasks: 39 up-to-date
2018-09-11 19:18:41 +02:00
BO41
d0e7ca8a9a class structure
BUILD SUCCESSFUL in 17s
39 actionable tasks: 6 executed, 33 up-to-date
2018-09-11 19:18:14 +02:00
BO41
6c101184b2 correctness
use apply() on SharedPreferences
use dp instead of sp for text sizes

BUILD SUCCESSFUL in 22s
39 actionable tasks: 10 executed, 29 up-to-date
2018-09-11 19:18:02 +02:00
BO41
89eeaab6f0 code cleanup
mainly removes throw statements

automated using Android Studio, staged by hand

BUILD SUCCESSFUL in 52s
39 actionable tasks: 37 executed, 2 up-to-date
2018-09-11 19:14:21 +02:00
Mauricio Colli
d38a7ced70 Improve tabs UX and saving/loading
- Show icons in the tabs list and dialog chooser
- Add a "restore to defaults" button
- Make removing gesture more user intuitive
2018-09-04 23:54:17 -03:00
Christian Schabesberger
d305a26936 fixes acording to code review
fixes moreacording to code review

fixed link handling once more
2018-08-28 12:19:07 +02:00
Christian Schabesberger
00bfa28d66 add reset extSD card folder dialog 2018-08-27 16:37:21 +02:00
Somethingweirdhere
d173ac5561 Added swiping to remove, which is enabled by long-pressing 2018-08-24 12:26:16 +02:00
Somethingweirdhere
dd3e8ac6f4 Fixed dragging 2018-08-24 12:26:15 +02:00
Somethingweirdhere
a527dd7908 Fixed revert 2018-08-24 12:26:15 +02:00
Somethingweirdhere
a49469aa65 Fixed revert 2018-08-24 12:26:15 +02:00
Somethingweirdhere
496d968771 Code reviewed 2018-08-24 12:26:15 +02:00
Somethingweirdhere
7739be3030 Removing by long pressing no longer removes a random tab, but the pressed one. 2018-08-24 12:23:26 +02:00
Somethingweirdhere
acb19a40f8 Added dragging 2018-08-24 12:23:26 +02:00
Somethingweirdhere
4753d4204c Revert "Changed the way how kiosks are handled"
This reverts commit f3da712
2018-08-24 12:23:26 +02:00
Somethingweirdhere
ca1113a4fd Revert "Changed the default preferences to show trending."
This reverts commit 25481d0
2018-08-24 12:23:26 +02:00
Somethingweirdhere
a18647af23 Changed the default preferences to show trending. 2018-08-24 12:23:26 +02:00
Somethingweirdhere
00ea415c74 Changed the way how kiosks are handled 2018-08-24 12:23:26 +02:00
Somethingweirdhere
c5ce8a13ed Ever more UI tweaks 2018-08-24 12:23:26 +02:00
Somethingweirdhere
aa26c71ee2 UI tweaks 2018-08-24 12:23:26 +02:00
Somethingweirdhere
015c2d3602 Added fab and handles, made cards cardier 2018-08-24 12:23:26 +02:00
Somethingweirdhere
219421094f UI redisign 2018-08-24 12:23:26 +02:00
Somethingweirdhere
7331ad2b88 + New Tab is now on the bottom
Made dialog more beautiful
2018-08-24 12:17:42 +02:00
Somethingweirdhere
0817731f57 Reduced Font size, fixed bugs that were created when moving the setting 2018-08-24 12:17:42 +02:00
Somethingweirdhere
b0bc467ed0 Fixed 1. Put the tab settings into Aperence settings 2018-08-24 12:16:41 +02:00
Somethingweirdhere
f3c143d6bf Fixed 4. buggy behavior when adding a new tab. 2018-08-24 12:16:41 +02:00
Somethingweirdhere
59450e104f Reduced lag and increased button size for older devices&users. 2018-08-24 12:16:41 +02:00
Somethingweirdhere
804b466781 New selection menu 2018-08-24 12:16:41 +02:00
Somethingweirdhere
d1cf3ddddf Set up custom Main Page tabs 2018-08-24 12:14:53 +02:00
Somethingweirdhere
6c8f089967 Created a dialog for the main page content 2018-08-24 12:13:44 +02:00
John Zhen Mo
50b6581acb -Fixed database backup failing due to journal file name change after Room DB version update. 2018-06-28 12:04:30 -07:00
John Zhen Mo
bf3c48d49d -Updated room db to 1.1.1.
-Fixed database import/export to no longer include accessory db files to ensure backward compatibility.
2018-06-26 12:26:01 -07:00
Christian Schabesberger
f1119865b0 Merge pull request #1375 from acrosca/code_inspection
Code inspection
2018-05-12 14:21:37 +02:00
Christian Schabesberger
932a0128e5 Merge branch 'settingsExport' of https://github.com/Somethingweirdhere/NewPipe into test 2018-05-12 13:34:05 +02:00
Somethingweirdhere
4a92d05903 Changed to lambda convention 2018-05-11 17:17:07 +02:00
Andrei.Rosca
a36da751a8 prevent infinite loop 2018-05-06 10:08:56 +02:00
Christian Schabesberger
783f6fb356 add clear orphans 2018-04-29 17:06:54 +02:00
Christian Schabesberger
421be909a8 fix requested changes part 1 2018-04-29 13:15:52 +02:00