Commit Graph

1190 Commits

Author SHA1 Message Date
Redirion d8b80f961a
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
Christian Schabesberger fb4cd98014
Merge branch 'dev' into enqueue-playlist 2019-03-03 20:53:17 +01:00
Christian Schabesberger d8039fb542
Merge branch 'dev' into enqueue-playlist 2019-03-03 20:50:00 +01:00
Christian Schabesberger 5e06d19d77
Merge branch 'dev' into commentSizeAndLinks 2019-03-03 20:46:03 +01:00
Ritvik Saraf 2309e15261 fixed scroll w/ comments and related streams disabled 2019-03-03 18:20:15 +05:30
Ritvik Saraf 4d4107aefc Merge remote-tracking branch 'upstream/dev' into commentSizeAndLinks 2019-03-03 04:32:19 +05:30
Ritvik Saraf 67d2b9131e handling timestamp links in comments 2019-03-02 05:12:06 +05:30
Christian Schabesberger da8644168c Merge branch 'master' into dev 2019-03-01 09:53:43 +01:00
Ritvik Saraf c0004e988a make links in comments clickable, increase text size 2019-03-01 13:28:32 +05:30
Redirion 3e54cd7284
Update CheckForNewAppVersionTask.java 2019-02-26 19:33:01 +01:00
Redirion a7afc23a9a
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 f24fab0fa2 fix brake when selecting a mediaccc channel form subscription page 2019-02-25 12:24:48 +01:00
Christian Schabesberger 84894a557a
Merge branch 'dev' into patch1_ui 2019-02-24 22:27:06 +01:00
Vasiliy 15142c1ec3
Fix AudioManager memory leak 2019-02-24 10:51:30 +02:00
Vasiliy 5318e77035
Merge branch 'dev' into patch1_ui 2019-02-23 13:18:14 +02:00
Christian Schabesberger eafceb8a6c
Merge branch 'dev' into dev 2019-02-19 17:35:49 +01:00
Christian Schabesberger 4b5591d884 move firetv utils into utils package 2019-02-19 14:57:49 +01:00
Christian Schabesberger c08197f025
Merge branch 'dev' into feature/amazonfiretv-search-support 2019-02-19 14:54:48 +01:00
Christian Schabesberger 9cdaa37519
Merge branch 'dev' into patch-1 2019-02-19 14:29:34 +01:00
kapodamy 4dd572063e fix crash while switching from popup to fullscreen player, or closing the popup player. 2019-02-17 16:59:35 -03:00
Ritvik Saraf df6bae4712 merged upstream/dev 2019-02-16 02:06:18 +05:30
Ritvik Saraf 56cb8209b8 refactored comments capability 2019-02-16 01:23:26 +05:30
Redirion 9437f057d0
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 0cb5197ccf
Merge remote-tracking branch 'upstream/dev' into patch1_ui 2019-02-12 10:21:03 +02:00
Alec Holmes ed4b4a1a3c Updated search fragment to be amazon fire tv friendly 2019-02-01 13:02:28 +00:00
Christian Schabesberger 58f2c4d8e6
Merge branch 'dev' into ccc 2019-01-31 16:48:22 +01:00
Robin 2c2c61b2fc Add Artist and Duration to MediaDescription 2019-01-31 16:47:33 +01:00
Christian Schabesberger 14043c86f5 fix backstack issue with mediaccc 2019-01-31 13:24:02 +01:00
Ritvik Saraf 77c6d3d576 merged upstream/dev 2019-01-29 22:32:58 +05:30
Christian Schabesberger 6edbfe2a6f add content filter to mediaccc 2019-01-29 17:20:30 +01:00
Christian Schabesberger d8c76d4c21 add conferences 2019-01-29 15:39:18 +01:00
Christian Schabesberger a1cc0897df make frontend not crash on scrolling on ccc search 2019-01-29 15:39:18 +01:00
Christian Schabesberger e88a90f242 add theming to mediaccc 2019-01-29 15:39:18 +01:00
Christian Schabesberger 1ae54f6f8c further compatiblity fix for meadic.ccc 2019-01-29 15:39:18 +01:00
Christian Schabesberger 338893ded4 fix merge conflict 2019-01-23 16:12:21 +01:00
kapodamy f2285c0b19 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
dotvirus c0aca723da Update PlaylistFragment.java 2019-01-18 23:58:24 +01:00
dotvirus 28e5ee51ec Add playlist to queue when long click on 'Background' 2019-01-18 23:16:02 +01:00
Vasily 7ab10aeb80 Remove search history items using swipe 2018-12-29 20:55:24 +02:00
Vasily 9316962e47 Clear history option menu item 2018-12-29 20:55:10 +02:00
krtkush b674006fcc Conflict resolution. 2018-12-28 18:07:54 +05:30
Ritvik Saraf 559c397b2f more NPE fix 2018-12-25 20:17:56 +05:30
Ritvik Saraf 646698f1ed fixed NPE in soundcloud 2018-12-25 19:59:03 +05:30
Ritvik Saraf c9b938ae55 readded animations 2018-12-25 15:36:15 +05:30
Ritvik Saraf f19cfb75e6 merged upstream/dev 2018-12-20 08:51:44 +05:30
Ritvik Saraf ceaacc771d removed jerky animations 2018-12-19 10:58:59 +05:30
Christian Schabesberger 6035be9ce6
Merge branch 'dev' into giga-postprocessing 2018-12-10 12:12:38 +01:00
Ritvik Saraf 222c8fdb62 tablet ui support for comments 2018-12-09 03:21:55 +05:30
Ritvik Saraf 1a62b9a161 removed dislike button, added comment published time 2018-12-08 20:32:28 +05:30
Ritvik Saraf ccb9bceecc removed unused imports 2018-12-07 08:42:05 +05:30