12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- /*****************************************************************************
- * VLCActivityManager.m
- * VLC for iOS
- *****************************************************************************
- * Copyright (c) 2015 VideoLAN. All rights reserved.
- * $Id$
- *
- * Authors: Felix Paul Kühne <fkuehne # videolan.org>
- *
- * Refer to the COPYING file of the official project for license.
- *****************************************************************************/
- #import "VLCActivityManager.h"
- @interface VLCActivityManager ()
- {
- int _idleCounter;
- int _networkActivityCounter;
- }
- @end
- @implementation VLCActivityManager
- + (instancetype)defaultManager
- {
- static VLCActivityManager *sharedInstance = nil;
- static dispatch_once_t pred;
- dispatch_once(&pred, ^{
- sharedInstance = [VLCActivityManager new];
- });
- return sharedInstance;
- }
- - (void)activateIdleTimer
- {
- _idleCounter--;
- if (_idleCounter < 1)
- [UIApplication sharedApplication].idleTimerDisabled = NO;
- }
- - (void)disableIdleTimer
- {
- _idleCounter++;
- if ([UIApplication sharedApplication].idleTimerDisabled == NO)
- [UIApplication sharedApplication].idleTimerDisabled = YES;
- }
- - (void)networkActivityStarted
- {
- _networkActivityCounter++;
- if ([UIApplication sharedApplication].networkActivityIndicatorVisible == NO)
- [UIApplication sharedApplication].networkActivityIndicatorVisible = YES;
- }
- - (BOOL)haveNetworkActivity
- {
- return _networkActivityCounter >= 1;
- }
- - (void)networkActivityStopped
- {
- _networkActivityCounter--;
- if (_networkActivityCounter < 1)
- [UIApplication sharedApplication].networkActivityIndicatorVisible = NO;
- }
- @end
|