Commit graph

1237 commits

Author SHA1 Message Date
Ritvik Saraf
ac4e0a51ef init services in app onCreate 2019-03-10 17:30:21 +05:30
Ritvik Saraf
1c45948255 merged upstream/dev, changes for peertube support 2019-03-10 01:02:25 +05:30
Tobias Groza
2fdf22b26b Merge branch 'dev' into dev 2019-03-07 15:20:42 +01:00
Tobias Groza
c8ed67f8be Update app/src/main/java/org/schabi/newpipe/player/BackgroundPlayer.java
Co-Authored-By: Redirion <redirion@web.de>
2019-03-05 20:57:05 +01:00
Redirion
694688cd85 Merge branch 'dev' into patch-1 2019-03-05 17:57:52 +01:00
Redirion
38d7dc7140 Improved performance of getTimeString
This pull requests complements pull request  #2178 by reducing general computational time for the method getTimeString.

On my local machine (Desktop PC with Java) my tests with a sample size of 10000 calls to the method with param 86400001 showed a performance improvement of about 50%.

See sample code below to reproduce:

    private static final StringBuilder stringBuilder = new StringBuilder();
    private static final Formatter stringFormatter = new Formatter(stringBuilder, Locale.getDefault());
    
    public static String getTimeString(int milliSeconds) {
        int seconds = (milliSeconds % 60000) / 1000;
        int minutes = (milliSeconds % 3600000) / 60000;
        int hours = (milliSeconds % 86400000) / 3600000;
        int days = (milliSeconds % (86400000 * 7)) / 86400000;

        stringBuilder.setLength(0);
        return days > 0 ? stringFormatter.format("%d:%02d:%02d:%02d", days, hours, minutes, seconds).toString()
                : hours > 0 ? stringFormatter.format("%d:%02d:%02d", hours, minutes, seconds).toString()
                : stringFormatter.format("%02d:%02d", minutes, seconds).toString();
    }
    
    public static String getTimeStringL(int milliSeconds) {
        long seconds = (milliSeconds % 60000L) / 1000L;
        long minutes = (milliSeconds % 3600000L) / 60000L;
        long hours = (milliSeconds % 86400000L) / 3600000L;
        long days = (milliSeconds % (86400000L * 7L)) / 86400000L;

        stringBuilder.setLength(0);
        return days > 0 ? stringFormatter.format("%d:%02d:%02d:%02d", days, hours, minutes, seconds).toString()
                : hours > 0 ? stringFormatter.format("%d:%02d:%02d", hours, minutes, seconds).toString()
                : stringFormatter.format("%02d:%02d", minutes, seconds).toString();
    }
    
	public static void main(String[] args) throws Exception {
		final int SAMPLE_SIZE = 25000;
		long[] results = new long[SAMPLE_SIZE];
		for(int i = 0; i < SAMPLE_SIZE; i++) {
			long now = System.nanoTime();
			getTimeString(86400001);
			results[i] = System.nanoTime() - now;
		}
		long sum = 0;
		for(int i = 0; i < SAMPLE_SIZE; i++) {
			sum += results[i];
		}
		System.out.println("Average execution time: " + (sum/SAMPLE_SIZE));
		results = new long[SAMPLE_SIZE];
		for(int i = 0; i < SAMPLE_SIZE; i++) {
			long now = System.nanoTime();
			getTimeStringL(86400001);
			results[i] = System.nanoTime() - now;
		}
		sum = 0;
		for(int i = 0; i < SAMPLE_SIZE; i++) {
			sum += results[i];
		}
		System.out.println("Average execution time: " + (sum/SAMPLE_SIZE));
2019-03-04 15:45:59 +01:00
Redirion
100197d1a9 Cache duration String to improve performance
In VideoPlayer the Duration String is cached effectively by setting it to the playbackSeekBar. As the playbackSeekBar doesn't exist in BackgroundPlayer, using two addition variables will reduce performance impact of notification updates by almost 50% and thus perform similar to VideoPlayer.

This addresses issue #2170
2019-03-04 10:24:08 +01:00
Christian Schabesberger
34e0188f7e Merge branch 'dev' into enqueue-playlist 2019-03-03 20:53:17 +01:00
Christian Schabesberger
b6234dd9d2 Merge branch 'dev' into enqueue-playlist 2019-03-03 20:50:00 +01:00
Christian Schabesberger
7d7b18ec5d Merge branch 'dev' into commentSizeAndLinks 2019-03-03 20:46:03 +01:00
Ritvik Saraf
a00cc3370d fixed scroll w/ comments and related streams disabled 2019-03-03 18:20:15 +05:30
Ritvik Saraf
fe76b4db21 Merge remote-tracking branch 'upstream/dev' into commentSizeAndLinks 2019-03-03 04:32:19 +05:30
Ritvik Saraf
094d06524f handling timestamp links in comments 2019-03-02 05:12:06 +05:30
Christian Schabesberger
29cffcd716 Merge branch 'master' into dev 2019-03-01 09:53:43 +01:00
Ritvik Saraf
878891bcef make links in comments clickable, increase text size 2019-03-01 13:28:32 +05:30
Redirion
eb99da971c Update CheckForNewAppVersionTask.java 2019-02-26 19:33:01 +01:00
Redirion
4138f94bb3 Fixed Asynctask being executed when it shouldn't
#1 check if cancel was called in onPrepare
#2 if we currently don't have a Connection, don't show crash report dialogue to user
2019-02-26 19:23:54 +01:00
Christian Schabesberger
c8b909b56b fix brake when selecting a mediaccc channel form subscription page 2019-02-25 12:24:48 +01:00
Christian Schabesberger
d55c2c91ce Merge branch 'dev' into patch1_ui 2019-02-24 22:27:06 +01:00
Vasiliy
c174bc77f0 Fix AudioManager memory leak 2019-02-24 10:51:30 +02:00
Vasiliy
b5c4db7edd Merge branch 'dev' into patch1_ui 2019-02-23 13:18:14 +02:00
Christian Schabesberger
5f5c7575d0 Merge branch 'dev' into dev 2019-02-19 17:35:49 +01:00
Christian Schabesberger
31bf8215f4 move firetv utils into utils package 2019-02-19 14:57:49 +01:00
Christian Schabesberger
b550846cf7 Merge branch 'dev' into feature/amazonfiretv-search-support 2019-02-19 14:54:48 +01:00
Christian Schabesberger
fa6cf0f345 Merge branch 'dev' into patch-1 2019-02-19 14:29:34 +01:00
kapodamy
dd80d24482 fix crash while switching from popup to fullscreen player, or closing the popup player. 2019-02-17 16:59:35 -03:00
Ritvik Saraf
4113e744c4 merged upstream/dev 2019-02-16 02:06:18 +05:30
Ritvik Saraf
bde7c9246a refactored comments capability 2019-02-16 01:23:26 +05:30
Redirion
2e284ea3dc Fix delayed ducking of Audio
Scenario: listening to a video on NewPipe over Bluetooth and a Notification Sound causes audio focus event AUDIOFOCUS_LOSS_TRANSIENT_CAN_DUCK.

Problem: With the current implementation animateAudio would cause the audio to reach the target volume AFTER the notification sound is played, which is irritating and annoying.

Solution: animateAudio should just be used on focusGain where it is sensible to increase audio gradually. On ducking event the reaction should be immediate.

This very simple fix does this. Please approve.
2019-02-14 09:52:46 +01:00
Vasiliy
dc8d304a7a Merge remote-tracking branch 'upstream/dev' into patch1_ui 2019-02-12 10:21:03 +02:00
Alec Holmes
0ab171df40 Updated search fragment to be amazon fire tv friendly 2019-02-01 13:02:28 +00:00
Christian Schabesberger
725b59d0a3 Merge branch 'dev' into ccc 2019-01-31 16:48:22 +01:00
Robin
442a38babc Add Artist and Duration to MediaDescription 2019-01-31 16:47:33 +01:00
Christian Schabesberger
35ec287206 fix backstack issue with mediaccc 2019-01-31 13:24:02 +01:00
Ritvik Saraf
7a11a72935 merged upstream/dev 2019-01-29 22:32:58 +05:30
Christian Schabesberger
fd09daad8d add content filter to mediaccc 2019-01-29 17:20:30 +01:00
Christian Schabesberger
424854e664 add conferences 2019-01-29 15:39:18 +01:00
Christian Schabesberger
78008d2642 make frontend not crash on scrolling on ccc search 2019-01-29 15:39:18 +01:00
Christian Schabesberger
73a0a0cced add theming to mediaccc 2019-01-29 15:39:18 +01:00
Christian Schabesberger
4365f956f9 further compatiblity fix for meadic.ccc 2019-01-29 15:39:18 +01:00
Christian Schabesberger
8e0c9ea6c0 fix exception on viewing downloads 2019-01-29 13:23:39 +01:00
kapodamy
e1d8ba023a add null check
add checks for null. This happens after rotating the screen while is turned off
2019-01-24 23:23:30 -03:00
Christian Schabesberger
9269dcc984 fix merge conflict 2019-01-23 16:12:21 +01:00
kapodamy
00a65e1c49 MP4 muxer +misc modifications
* allow retry downloads with "post-processing failed" error in the new muxer
* MPEG-4 muxer  ¡¡ no DASH output!!
* keep the progress if download fails
* remove TODO in SecondaryStreamHelper.java
* misc clean-up
* delete TestAlgo.java
* delete ExtSDDownloadFailedActivity.java and remove it from AndroidManifest.xml
* use hardcored version for changing icon colors
2019-01-22 18:53:31 -03:00
kapodamy
99fee300f4 Update MissionsFragment.java
work-around for reading the current theme icons
2019-01-22 18:53:31 -03:00
kapodamy
a094661590 Update MissionsFragment.java
use another way to get the "Context"
2019-01-22 18:53:31 -03:00
kapodamy
0f9fdb5401 misc fixes
* add null checks before resuming a download
* (MissionAdapter.java) reset percent after resuming a download. prevents the "Error" string get stuck, until the download start
2019-01-22 18:53:30 -03:00
kapodamy
12a337c551 Update MissionAdapter.java
* check if the iterator is initialized
2019-01-22 18:53:30 -03:00
kapodamy
d604b66012 add missing icons in bright theme
* missing white icons
* update attrs.xml and styles.xml
2019-01-22 18:53:30 -03:00
dotvirus
4b39a5a34e Update PlaylistFragment.java 2019-01-18 23:58:24 +01:00