Browse Source

Merge pull request #199 from nextcloud/GUI

New version 2.17.1
Marino Faggiana 8 years ago
parent
commit
0001f97b11
100 changed files with 812 additions and 962 deletions
  1. 0 32
      Libraries external/JSAlertView/JSAlertView.h
  2. 0 185
      Libraries external/JSAlertView/JSAlertView.m
  3. 128 52
      Libraries external/OCCommunicationLib/OCCommunicationLib/OCCommunication.m
  4. 1 1
      Libraries external/OCCommunicationLib/OCCommunicationLib/OCFrameworkConstants.h
  5. 285 487
      Nextcloud.xcodeproj/project.pbxproj
  6. 2 1
      iOSClient/Activity/CCActivity.h
  7. 41 9
      iOSClient/Activity/CCActivity.m
  8. 2 2
      iOSClient/AppDelegate.h
  9. 42 62
      iOSClient/AppDelegate.m
  10. 44 65
      iOSClient/Brand/CCNextcloudConstant.h
  11. 1 1
      iOSClient/Brand/Constant.swift
  12. 2 2
      iOSClient/Brand/Picker.plist
  13. 2 2
      iOSClient/Brand/PickerFileProvider.plist
  14. 2 2
      iOSClient/Brand/Share.plist
  15. 2 2
      iOSClient/Brand/iOSClient.plist
  16. 1 0
      iOSClient/CCGlobal.h
  17. 14 2
      iOSClient/CCStandardImages.h
  18. 4 25
      iOSClient/Favorites/CCFavorites.m
  19. 5 10
      iOSClient/Favorites/CCFavoritesCell.xib
  20. 23 19
      iOSClient/FileSystem/CCCoreData.m
  21. BIN
      iOSClient/Images.xcassets/actionSheetShare.imageset/actionSheetShare.png
  22. BIN
      iOSClient/Images.xcassets/actionSheetShare.imageset/actionSheetShare@2x.png
  23. BIN
      iOSClient/Images.xcassets/actionSheetShare.imageset/actionSheetShare@3x.png
  24. 21 0
      iOSClient/Images.xcassets/activityNoRecord.imageset/Contents.json
  25. BIN
      iOSClient/Images.xcassets/activityNoRecord.imageset/activityNoRecord@2x.png
  26. 21 0
      iOSClient/Images.xcassets/avatarBN.imageset/Contents.json
  27. BIN
      iOSClient/Images.xcassets/avatarBN.imageset/avatarBN@2x.png
  28. 21 0
      iOSClient/Images.xcassets/disclosureIndicator.imageset/Contents.json
  29. BIN
      iOSClient/Images.xcassets/disclosureIndicator.imageset/disclosureIndicator@2x.png
  30. 21 0
      iOSClient/Images.xcassets/favoriteNoFiles.imageset/Contents.json
  31. BIN
      iOSClient/Images.xcassets/favoriteNoFiles.imageset/favoriteNoFiles@2x.png
  32. 21 0
      iOSClient/Images.xcassets/filesNoFiles.imageset/Contents.json
  33. BIN
      iOSClient/Images.xcassets/filesNoFiles.imageset/filesNoFiles@2x.png
  34. 21 0
      iOSClient/Images.xcassets/localStorageNoRecord.imageset/Contents.json
  35. BIN
      iOSClient/Images.xcassets/localStorageNoRecord.imageset/localStorageNoRecord@2x.png
  36. 21 0
      iOSClient/Images.xcassets/menuLogoUser.imageset/Contents.json
  37. BIN
      iOSClient/Images.xcassets/menuLogoUser.imageset/menuLogoUser@2x.png
  38. BIN
      iOSClient/Images.xcassets/moreSettings.imageset/moreSettings.png
  39. BIN
      iOSClient/Images.xcassets/moreSettings.imageset/moreSettings@2x.png
  40. BIN
      iOSClient/Images.xcassets/moreSettings.imageset/moreSettings@3x.png
  41. BIN
      iOSClient/Images.xcassets/moreSettingsExternalSite.imageset/moreSettingsExternalSite.png
  42. BIN
      iOSClient/Images.xcassets/moreSettingsExternalSite.imageset/moreSettingsExternalSite@2x.png
  43. BIN
      iOSClient/Images.xcassets/moreSettingsExternalSite.imageset/moreSettingsExternalSite@3x.png
  44. 21 0
      iOSClient/Images.xcassets/photosNoRecord.imageset/Contents.json
  45. BIN
      iOSClient/Images.xcassets/photosNoRecord.imageset/photosNoRecord@2x.png
  46. 21 0
      iOSClient/Images.xcassets/searchBig.imageset/Contents.json
  47. BIN
      iOSClient/Images.xcassets/searchBig.imageset/searchBig@2x.png
  48. 21 0
      iOSClient/Images.xcassets/transfersNoRecord.imageset/Contents.json
  49. BIN
      iOSClient/Images.xcassets/transfersNoRecord.imageset/transfersNoRecord@2x.png
  50. 0 0
      iOSClient/Library/LMMediaPlayer/Pod/Assets/LMMediaPlayerView.bundle/6/fullscreen.png
  51. 0 0
      iOSClient/Library/LMMediaPlayer/Pod/Assets/LMMediaPlayerView.bundle/6/fullscreen@2x.png
  52. 0 0
      iOSClient/Library/LMMediaPlayer/Pod/Assets/LMMediaPlayerView.bundle/6/pause.png
  53. 0 0
      iOSClient/Library/LMMediaPlayer/Pod/Assets/LMMediaPlayerView.bundle/6/pause@2x.png
  54. 0 0
      iOSClient/Library/LMMediaPlayer/Pod/Assets/LMMediaPlayerView.bundle/6/play.png
  55. 0 0
      iOSClient/Library/LMMediaPlayer/Pod/Assets/LMMediaPlayerView.bundle/6/play@2x.png
  56. 0 0
      iOSClient/Library/LMMediaPlayer/Pod/Assets/LMMediaPlayerView.bundle/6/repeat_all.png
  57. 0 0
      iOSClient/Library/LMMediaPlayer/Pod/Assets/LMMediaPlayerView.bundle/6/repeat_all@2x.png
  58. 0 0
      iOSClient/Library/LMMediaPlayer/Pod/Assets/LMMediaPlayerView.bundle/6/repeat_none.png
  59. 0 0
      iOSClient/Library/LMMediaPlayer/Pod/Assets/LMMediaPlayerView.bundle/6/repeat_none@2x.png
  60. 0 0
      iOSClient/Library/LMMediaPlayer/Pod/Assets/LMMediaPlayerView.bundle/6/repeat_one.png
  61. 0 0
      iOSClient/Library/LMMediaPlayer/Pod/Assets/LMMediaPlayerView.bundle/6/repeat_one@2x.png
  62. 0 0
      iOSClient/Library/LMMediaPlayer/Pod/Assets/LMMediaPlayerView.bundle/6/shuffle.png
  63. 0 0
      iOSClient/Library/LMMediaPlayer/Pod/Assets/LMMediaPlayerView.bundle/6/shuffle@2x.png
  64. 0 0
      iOSClient/Library/LMMediaPlayer/Pod/Assets/LMMediaPlayerView.bundle/6/unfullscreen.png
  65. 0 0
      iOSClient/Library/LMMediaPlayer/Pod/Assets/LMMediaPlayerView.bundle/6/unfullscreen@2x.png
  66. 0 0
      iOSClient/Library/LMMediaPlayer/Pod/Assets/LMMediaPlayerView.bundle/6/unshuffle.png
  67. 0 0
      iOSClient/Library/LMMediaPlayer/Pod/Assets/LMMediaPlayerView.bundle/6/unshuffle@2x.png
  68. 0 0
      iOSClient/Library/LMMediaPlayer/Pod/Assets/LMMediaPlayerView.bundle/7/fullscreen.png
  69. 0 0
      iOSClient/Library/LMMediaPlayer/Pod/Assets/LMMediaPlayerView.bundle/7/fullscreen@2x.png
  70. 0 0
      iOSClient/Library/LMMediaPlayer/Pod/Assets/LMMediaPlayerView.bundle/7/pause.png
  71. 0 0
      iOSClient/Library/LMMediaPlayer/Pod/Assets/LMMediaPlayerView.bundle/7/pause@2x.png
  72. 0 0
      iOSClient/Library/LMMediaPlayer/Pod/Assets/LMMediaPlayerView.bundle/7/play.png
  73. 0 0
      iOSClient/Library/LMMediaPlayer/Pod/Assets/LMMediaPlayerView.bundle/7/play@2x.png
  74. 0 0
      iOSClient/Library/LMMediaPlayer/Pod/Assets/LMMediaPlayerView.bundle/7/repeat_all.png
  75. 0 0
      iOSClient/Library/LMMediaPlayer/Pod/Assets/LMMediaPlayerView.bundle/7/repeat_all@2x.png
  76. 0 0
      iOSClient/Library/LMMediaPlayer/Pod/Assets/LMMediaPlayerView.bundle/7/repeat_none.png
  77. 0 0
      iOSClient/Library/LMMediaPlayer/Pod/Assets/LMMediaPlayerView.bundle/7/repeat_none@2x.png
  78. 0 0
      iOSClient/Library/LMMediaPlayer/Pod/Assets/LMMediaPlayerView.bundle/7/repeat_one.png
  79. 0 0
      iOSClient/Library/LMMediaPlayer/Pod/Assets/LMMediaPlayerView.bundle/7/repeat_one@2x.png
  80. 0 0
      iOSClient/Library/LMMediaPlayer/Pod/Assets/LMMediaPlayerView.bundle/7/shuffle.png
  81. 0 0
      iOSClient/Library/LMMediaPlayer/Pod/Assets/LMMediaPlayerView.bundle/7/shuffle@2x.png
  82. 0 0
      iOSClient/Library/LMMediaPlayer/Pod/Assets/LMMediaPlayerView.bundle/7/unfullscreen.png
  83. 0 0
      iOSClient/Library/LMMediaPlayer/Pod/Assets/LMMediaPlayerView.bundle/7/unfullscreen@2x.png
  84. 0 0
      iOSClient/Library/LMMediaPlayer/Pod/Assets/LMMediaPlayerView.bundle/7/unshuffle.png
  85. 0 0
      iOSClient/Library/LMMediaPlayer/Pod/Assets/LMMediaPlayerView.bundle/7/unshuffle@2x.png
  86. 0 0
      iOSClient/Library/LMMediaPlayer/Pod/Assets/LMMediaPlayerView.xib
  87. 0 0
      iOSClient/Library/LMMediaPlayer/Pod/Classes/Category/NSArray+LMMediaPlayerShuffle/NSArray+LMMediaPlayerShuffle.h
  88. 0 0
      iOSClient/Library/LMMediaPlayer/Pod/Classes/Category/NSArray+LMMediaPlayerShuffle/NSArray+LMMediaPlayerShuffle.m
  89. 0 0
      iOSClient/Library/LMMediaPlayer/Pod/Classes/Hepler/LMMediaPlayerHelper.h
  90. 0 0
      iOSClient/Library/LMMediaPlayer/Pod/Classes/Hepler/LMMediaPlayerHelper.m
  91. 0 0
      iOSClient/Library/LMMediaPlayer/Pod/Classes/MediaPlayer/LMMediaItem/LMMediaItem.h
  92. 0 0
      iOSClient/Library/LMMediaPlayer/Pod/Classes/MediaPlayer/LMMediaItem/LMMediaItem.m
  93. 0 0
      iOSClient/Library/LMMediaPlayer/Pod/Classes/MediaPlayer/LMMediaItemQueueManager/LMMediaItemQueueManager.h
  94. 0 0
      iOSClient/Library/LMMediaPlayer/Pod/Classes/MediaPlayer/LMMediaItemQueueManager/LMMediaItemQueueManager.m
  95. 0 0
      iOSClient/Library/LMMediaPlayer/Pod/Classes/MediaPlayer/LMMediaItemStreamingCache/LMMediaItemStreamingCache.h
  96. 0 0
      iOSClient/Library/LMMediaPlayer/Pod/Classes/MediaPlayer/LMMediaItemStreamingCache/LMMediaItemStreamingCache.m
  97. 0 0
      iOSClient/Library/LMMediaPlayer/Pod/Classes/MediaPlayer/LMMediaPlayer/LMMediaPlayer.h
  98. 0 0
      iOSClient/Library/LMMediaPlayer/Pod/Classes/MediaPlayer/LMMediaPlayer/LMMediaPlayer.m
  99. 0 0
      iOSClient/Library/LMMediaPlayer/Pod/Classes/MediaPlayerView/LMMediaPlayerView.h
  100. 1 1
      iOSClient/Library/LMMediaPlayer/Pod/Classes/MediaPlayerView/LMMediaPlayerView.m

+ 0 - 32
Libraries external/JSAlertView/JSAlertView.h

@@ -1,32 +0,0 @@
-//
-//  JSAlertView.h
-//  JSAlertView
-//
-//  Created by Jitendra Singh on 10/12/16.
-//  Copyright © 2016 Jitendra Singh. All rights reserved.
-//
-
-#import <UIKit/UIKit.h>
-#define ALERT(x) [JSAlertView alert:x]
-
-#if __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_8_0
-@interface JSAlertView : UIAlertController
-#else
-@interface JSAlertView : UIAlertView
-#endif
-// Displays simple alert message (no title) with 'Ok' button
-+ (instancetype)alert:(NSString*)message;
-
-// Displays message (no title) with 'Yes' and 'No' button. It can be used to display confirmirmation alert.
-+ (instancetype)confirm:(NSString*)message withCompletionHandler:(void(^)(BOOL accepted))completionHandler;
-
-// Same as previous one with addition option to show title
-+ (instancetype)confirm:(NSString*)message withTitle:(NSString*)title  withCompletionHandler:(void(^)(BOOL accepted))completionHandler;
-
-// Standard menthod for displaying alert, fully customizable.
-+ (instancetype)alert:(NSString*)message withTitle:(NSString*)title buttons:(NSArray*)buttonTitles withCompletionHandler:(void(^)(NSInteger buttonIndex, NSString *buttonTitle))completionHandler;
-
-// Nextcloud
-+ (BOOL)isOpenAlertWindows;
-
-@end

+ 0 - 185
Libraries external/JSAlertView/JSAlertView.m

@@ -1,185 +0,0 @@
-//
-//  JSAlertView.m
-//  JSAlertView
-//
-//  Created by Jitendra Singh on 10/12/16.
-//  Copyright © 2016 Jitendra Singh. All rights reserved.
-//
-
-#import "JSAlertView.h"
-
-@interface JSAlertView ()
-
-@property (nonatomic, copy) void(^completionBlock)(NSInteger buttonIndex, NSString *buttonTitle);
-@property (nonatomic, copy) void(^confirmationBlock)(BOOL accepted);
-@property (nonatomic, strong) UIWindow *thisAlertWindow;
-@property (nonatomic, strong) NSMutableArray *allAlertWindows;
-
-@end
-
-@implementation JSAlertView
-
-+ (instancetype)sharedInstance {
-    static dispatch_once_t predicate;
-    static JSAlertView *instance = nil;
-    dispatch_once(&predicate, ^{
-        instance = [[self alloc] init];
-        [instance initalization];
-    });
-    return instance;
-}
-
-- (void)initalization
-{
-    // do write all initalization code here
-    self.allAlertWindows = [NSMutableArray arrayWithCapacity:0];
-    
-}
-
-+ (instancetype)alert:(NSString*)message
-{
-    return [self alert:message withTitle:nil buttons:@[@"Ok"] withCompletionHandler:nil];
-}
-+ (instancetype)confirm:(NSString*)message withCompletionHandler:(void(^)(BOOL accepted))completionHandler
-{
-    return [self confirm:message withTitle:nil withCompletionHandler:completionHandler];
-}
-
-+ (instancetype)confirm:(NSString*)message withTitle:(NSString*)title  withCompletionHandler:(void(^)(BOOL accepted))completionHandler
-{
-#if __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_8_0
-    
-    JSAlertView *alert = [JSAlertView alertControllerWithTitle:nil message:message preferredStyle:UIAlertControllerStyleAlert];
-    UIAlertAction* noButton = [UIAlertAction actionWithTitle:@"No" style:UIAlertActionStyleDefault handler:^(UIAlertAction * action) {
-        [alert dismissViewControllerAnimated:YES completion:nil];
-        if (completionHandler) {
-            completionHandler(NO);
-        }
-    }];
-    [alert addAction:noButton];
-    
-    UIAlertAction* yesButton = [UIAlertAction actionWithTitle:@"Yes" style:UIAlertActionStyleDefault handler:^(UIAlertAction * action) {
-        [alert dismissViewControllerAnimated:YES completion:nil];
-        if (completionHandler) {
-            completionHandler(YES);
-        }
-    }];
-    [alert addAction:yesButton];
-    
-    [alert show];
-    
-    return alert;
-#else
-    JSAlertView *alert = [[JSAlertView alloc] initWithTitle:title message:message delegate:self cancelButtonTitle:nil otherButtonTitles:nil];
-    __weak __typeof__(alert) alert_weak_ = (alert);
-    [alert setDelgate:alert_weak_];
-    
-    [alert addButtonWithTitle:@"No"];
-    [alert addButtonWithTitle:@"Yes"];
-    
-    alert.confirmationBlock = completionHandler;
-    [alert show];
-    return alert;
-#endif
-}
-
-+ (instancetype)alert:(NSString*)message withTitle:(NSString*)title buttons:(NSArray*)buttonTitles withCompletionHandler:(void(^)(NSInteger buttonIndex, NSString *buttonTitle))completionHandler
-{
-#if __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_8_0
-    
-    JSAlertView *alert = [JSAlertView alertControllerWithTitle:nil message:message preferredStyle:UIAlertControllerStyleAlert];
-    for (NSString *btnTitle in buttonTitles) {
-        UIAlertAction* button = [UIAlertAction actionWithTitle:btnTitle style:UIAlertActionStyleDefault handler:^(UIAlertAction * action) {
-            [alert dismissViewControllerAnimated:YES completion:nil];
-            if (completionHandler) {
-                completionHandler([buttonTitles indexOfObject:btnTitle], btnTitle);
-            }
-        }];
-        [alert addAction:button];
-    }
-    [alert show];
-    
-    return alert;
-#else
-    JSAlertView *alert = [[JSAlertView alloc] initWithTitle:title message:message delegate:self cancelButtonTitle:nil otherButtonTitles:nil];
-    __weak __typeof__(alert) alert_weak_ = (alert);
-    [alert setDelgate:alert_weak_];
-    __block NSInteger index = 0;
-    for (NSString *btnTitle in buttonTitles) {
-        [alert addButtonWithTitle:btnTitle];
-    }
-    alert.completionBlock = completionHandler;
-    [alert show];
-    return alert;
-#endif
-}
-
-- (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex
-{
-    if (self.completionBlock) {
-        self.completionBlock(buttonIndex, [alertView buttonTitleAtIndex:buttonIndex]);
-    }
-    else if (self.confirmationBlock) {
-        self.confirmationBlock(!(buttonIndex == 0));
-    }
-}
-
-+ (BOOL)isOpenAlertWindows
-{
-    return [[JSAlertView sharedInstance].allAlertWindows count];
-}
-
-
-/***********************************************************************
- *
- *  Following methods will be used for iOS 8 or later for UIAlertController
- *
- ***********************************************************************/
-
-#if __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_8_0
-
-- (void)show {
-    [self show:YES];
-}
-
-- (void)show:(BOOL)animated {
-    
-    //create a new window for the alert
-    self.thisAlertWindow = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
-    self.thisAlertWindow.rootViewController = [[UIViewController alloc] init];
-    
-    // set this window on top in stack
-    UIWindow *topWindow = [UIApplication sharedApplication].windows.lastObject;
-    self.thisAlertWindow.windowLevel = topWindow.windowLevel + 1;
-    
-    // make it visible and show alert
-    [self.thisAlertWindow makeKeyAndVisible];
-    [self.thisAlertWindow.rootViewController presentViewController:self animated:animated completion:nil];
-    
-    // set alpha 0.0 for last alert to make it transparent, this will give feel of single alert displayed on screen
-    [[JSAlertView sharedInstance].allAlertWindows.lastObject setAlpha:0.0];
-    [[JSAlertView sharedInstance].allAlertWindows addObject:self.thisAlertWindow];
-}
-
-- (void)viewWillDisappear:(BOOL)animated {
-    [super viewWillDisappear:animated];
-    
-    // remove this window from stack
-    [[JSAlertView sharedInstance].allAlertWindows removeObject:self.thisAlertWindow];
-    // set alpha 1.0 for last alert to make it appear
-    [UIView animateWithDuration:0.3 animations:^{
-        [[JSAlertView sharedInstance].allAlertWindows.lastObject setAlpha:1.0];
-    }];
-}
-
-- (void)viewDidDisappear:(BOOL)animated {
-    [super viewDidDisappear:animated];
-    
-    // once the alert is disappeared set window property to nil, else it will create retain cycle
-    self.thisAlertWindow.hidden = YES;
-    self.thisAlertWindow = nil;
-}
-
-
-#endif
-@end

+ 128 - 52
Libraries external/OCCommunicationLib/OCCommunicationLib/OCCommunication.m

@@ -1439,38 +1439,71 @@
                 
                     OCNotifications *notification = [OCNotifications new];
                     
-                    notification.idNotification = [[data valueForKey:@"notification_id"] integerValue];
-                    notification.application = [data valueForKey:@"app"];
-                    notification.user = [data valueForKey:@"user"];
+                    if ([data valueForKey:@"notification_id"] && ![[data valueForKey:@"notification_id"] isEqual:[NSNull null]])
+                        notification.idNotification = [[data valueForKey:@"notification_id"] integerValue];
                     
-                    NSString *dateString = [data valueForKey:@"datetime"];
-                    NSISO8601DateFormatter *formatter = [[NSISO8601DateFormatter alloc] init];
-                    notification.date = [formatter dateFromString:dateString];
+                    if ([data valueForKey:@"app"] && ![[data valueForKey:@"app"] isEqual:[NSNull null]])
+                        notification.application = [data valueForKey:@"app"];
                     
-                    notification.typeObject = [data valueForKey:@"object_type"];
-                    notification.idObject = [data valueForKey:@"object_id"];
-                    notification.subject = [data valueForKey:@"subject"];
-                    notification.subjectRich = [data valueForKey:@"subjectRich"];
-                    notification.subjectRichParameters = [data valueForKey:@"subjectRichParameters"];
-                    notification.message = [data valueForKey:@"message"];
-                    notification.messageRich = [data valueForKey:@"messageRich"];
-                    notification.messageRichParameters = [data valueForKey:@"messageRichParameters"];
-                    notification.link = [data valueForKey:@"link"];
-                    notification.icon = [data valueForKey:@"icon"];
+                    if ([data valueForKey:@"user"] && ![[data valueForKey:@"user"] isEqual:[NSNull null]])
+                        notification.user = [data valueForKey:@"user"];
+                    
+                    if ([data valueForKey:@"datetime"] && ![[data valueForKey:@"datetime"] isEqual:[NSNull null]]) {
+                        NSString *dateString = [data valueForKey:@"datetime"];
+                        NSISO8601DateFormatter *formatter = [[NSISO8601DateFormatter alloc] init];
+                        notification.date = [formatter dateFromString:dateString];
+                    }
+                    
+                    if ([data valueForKey:@"object_type"] && ![[data valueForKey:@"object_type"] isEqual:[NSNull null]])
+                        notification.typeObject = [data valueForKey:@"object_type"];
+                    
+                    if ([data valueForKey:@"object_id"] && ![[data valueForKey:@"object_id"] isEqual:[NSNull null]])
+                        notification.idObject = [data valueForKey:@"object_id"];
+                    
+                    if ([data valueForKey:@"subject"] && ![[data valueForKey:@"subject"] isEqual:[NSNull null]])
+                        notification.subject = [data valueForKey:@"subject"];
+                    
+                    if ([data valueForKey:@"subjectRich"] && ![[data valueForKey:@"subjectRich"] isEqual:[NSNull null]])
+                        notification.subjectRich = [data valueForKey:@"subjectRich"];
+                    
+                    if ([data valueForKey:@"subjectRichParameters"] && ![[data valueForKey:@"subjectRichParameters"] isEqual:[NSNull null]])
+                        notification.subjectRichParameters = [data valueForKey:@"subjectRichParameters"];
+                    
+                    if ([data valueForKey:@"message"] && ![[data valueForKey:@"message"] isEqual:[NSNull null]])
+                        notification.message = [data valueForKey:@"message"];
+                    
+                    if ([data valueForKey:@"messageRich"] && ![[data valueForKey:@"messageRich"] isEqual:[NSNull null]])
+                        notification.messageRich = [data valueForKey:@"messageRich"];
+                    
+                    if ([data valueForKey:@"messageRichParameters"] && ![[data valueForKey:@"messageRichParameters"] isEqual:[NSNull null]])
+                        notification.messageRichParameters = [data valueForKey:@"messageRichParameters"];
+                    
+                    if ([data valueForKey:@"link"] && ![[data valueForKey:@"link"] isEqual:[NSNull null]])
+                        notification.link = [data valueForKey:@"link"];
+                    
+                    if ([data valueForKey:@"icon"] && ![[data valueForKey:@"icon"] isEqual:[NSNull null]])
+                        notification.icon = [data valueForKey:@"icon"];
                     
                     /* ACTION */
                     
                     NSMutableArray *actionsArr = [NSMutableArray new];
-                    NSDictionary *actionsDic = [data valueForKey:@"actions"];
+                    NSDictionary *actions = [data valueForKey:@"actions"];
                     
-                    for (NSDictionary *actionDic in actionsDic) {
+                    for (NSDictionary *action in actions) {
                         
                         OCNotificationsAction *notificationAction = [OCNotificationsAction new];
                         
-                        notificationAction.label = [actionDic valueForKey:@"label"];
-                        notificationAction.link = [actionDic valueForKey:@"link"];
-                        notificationAction.primary = [[actionDic valueForKey:@"primary"] boolValue];
-                        notificationAction.type = [actionDic valueForKey:@"type"];
+                        if ([action valueForKey:@"label"] && ![[action valueForKey:@"label"] isEqual:[NSNull null]])
+                            notificationAction.label = [action valueForKey:@"label"];
+                        
+                        if ([action valueForKey:@"link"] && ![[action valueForKey:@"link"] isEqual:[NSNull null]])
+                            notificationAction.link = [action valueForKey:@"link"];
+                        
+                        if ([action valueForKey:@"primary"] && ![[action valueForKey:@"primary"] isEqual:[NSNull null]])
+                            notificationAction.primary = [[action valueForKey:@"primary"] boolValue];
+                        
+                        if ([action valueForKey:@"type"] && ![[action valueForKey:@"type"] isEqual:[NSNull null]])
+                            notificationAction.type = [action valueForKey:@"type"];
 
                         [actionsArr addObject:notificationAction];
                     }
@@ -1604,16 +1637,26 @@
                     
                     OCActivity *activity = [OCActivity new];
                     
-                    activity.idActivity = [[data valueForKey:@"id"] integerValue];
+                    if ([data valueForKey:@"id"] && ![[data valueForKey:@"id"] isEqual:[NSNull null]])
+                        activity.idActivity = [[data valueForKey:@"id"] integerValue];
+                    
+                    if ([data valueForKey:@"date"] && ![[data valueForKey:@"date"] isEqual:[NSNull null]]) {
+                        NSString *dateString = [data valueForKey:@"date"];
+                        NSISO8601DateFormatter *formatter = [[NSISO8601DateFormatter alloc] init];
+                        activity.date = [formatter dateFromString:dateString];
+                    }
+                    
+                    if ([data valueForKey:@"file"] && ![[data valueForKey:@"file"] isEqual:[NSNull null]])
+                        activity.file = [data valueForKey:@"file"];
                     
-                    NSString *dateString = [data valueForKey:@"date"];
-                    NSISO8601DateFormatter *formatter = [[NSISO8601DateFormatter alloc] init];
-                    activity.date = [formatter dateFromString:dateString];
-
-                    if ([data valueForKey:@"file"]    && ![[data valueForKey:@"file"]    isEqual:[NSNull null]]) activity.file    = [data valueForKey:@"file"];
-                    if ([data valueForKey:@"link"]    && ![[data valueForKey:@"link"]    isEqual:[NSNull null]]) activity.link    = [data valueForKey:@"link"];
-                    if ([data valueForKey:@"message"] && ![[data valueForKey:@"message"] isEqual:[NSNull null]]) activity.message = [data valueForKey:@"message"];
-                    if ([data valueForKey:@"subject"] && ![[data valueForKey:@"subject"] isEqual:[NSNull null]]) activity.subject = [data valueForKey:@"subject"];
+                    if ([data valueForKey:@"link"] && ![[data valueForKey:@"link"] isEqual:[NSNull null]])
+                        activity.link = [data valueForKey:@"link"];
+                    
+                    if ([data valueForKey:@"message"] && ![[data valueForKey:@"message"] isEqual:[NSNull null]])
+                        activity.message = [data valueForKey:@"message"];
+                    
+                    if ([data valueForKey:@"subject"] && ![[data valueForKey:@"subject"] isEqual:[NSNull null]])
+                        activity.subject = [data valueForKey:@"subject"];
                     
                     [listOfActivity addObject:activity];
                 }
@@ -1676,11 +1719,20 @@
                     
                     externalSites.idExternalSite = [[data valueForKey:@"id"] integerValue];
     
-                    if ([data valueForKey:@"icon"] && ![[data valueForKey:@"icon"] isEqual:[NSNull null]]) externalSites.icon = [data valueForKey:@"icon"];
-                    if ([data valueForKey:@"lang"] && ![[data valueForKey:@"lang"] isEqual:[NSNull null]]) externalSites.lang = [data valueForKey:@"lang"];
-                    if ([data valueForKey:@"name"] && ![[data valueForKey:@"name"] isEqual:[NSNull null]]) externalSites.name = [data valueForKey:@"name"];
-                    if ([data valueForKey:@"url"]  && ![[data valueForKey:@"url"]  isEqual:[NSNull null]]) externalSites.url  = [data valueForKey:@"url"];
-                    if ([data valueForKey:@"type"] && ![[data valueForKey:@"type"] isEqual:[NSNull null]]) externalSites.type = [data valueForKey:@"type"];
+                    if ([data valueForKey:@"icon"] && ![[data valueForKey:@"icon"] isEqual:[NSNull null]])
+                        externalSites.icon = [data valueForKey:@"icon"];
+                    
+                    if ([data valueForKey:@"lang"] && ![[data valueForKey:@"lang"] isEqual:[NSNull null]])
+                        externalSites.lang = [data valueForKey:@"lang"];
+                    
+                    if ([data valueForKey:@"name"] && ![[data valueForKey:@"name"] isEqual:[NSNull null]])
+                        externalSites.name = [data valueForKey:@"name"];
+                    
+                    if ([data valueForKey:@"url"]  && ![[data valueForKey:@"url"]  isEqual:[NSNull null]])
+                        externalSites.url  = [data valueForKey:@"url"];
+                    
+                    if ([data valueForKey:@"type"] && ![[data valueForKey:@"type"] isEqual:[NSNull null]])
+                        externalSites.type = [data valueForKey:@"type"];
                     
                     [listOfExternalSites addObject:externalSites];
                 }
@@ -1734,33 +1786,57 @@
 
             NSDictionary *ocs = [jsongParsed valueForKey:@"ocs"];
             NSDictionary *meta = [ocs valueForKey:@"meta"];
-            NSDictionary *datas = [ocs valueForKey:@"data"];
+            NSDictionary *data = [ocs valueForKey:@"data"];
             
             NSInteger statusCode = [[meta valueForKey:@"statuscode"] integerValue];
             
             if (statusCode == kOCUserProfileAPISuccessful) {
                 
-                if ([datas valueForKey:@"address"]) userProfile.address = [datas valueForKey:@"address"];
-                if ([datas valueForKey:@"displayname"]) userProfile.displayName = [datas valueForKey:@"displayname"];
+                if ([data valueForKey:@"address"] && ![[data valueForKey:@"address"] isKindOfClass:[NSNull class]])
+                    userProfile.address = [data valueForKey:@"address"];
+                
+                if ([data valueForKey:@"displayname"] && ![[data valueForKey:@"displayname"] isKindOfClass:[NSNull class]])
+                    userProfile.displayName = [data valueForKey:@"displayname"];
+              
+                if ([data valueForKey:@"email"] && ![[data valueForKey:@"email"] isKindOfClass:[NSNull class]])
+                    userProfile.email = [data valueForKey:@"email"];
                 
-                userProfile.email = [datas valueForKey:@"email"];
-                if ([userProfile.email isKindOfClass:[NSNull class]]) userProfile.email = @"";
+                if ([data valueForKey:@"enabled"] && ![[data valueForKey:@"enabled"] isKindOfClass:[NSNull class]])
+                    userProfile.enabled = [[data valueForKey:@"enabled"] boolValue];
                 
-                userProfile.enabled = [[datas valueForKey:@"enabled"] boolValue];
-                if ([datas valueForKey:@"id"])  userProfile.id = [datas valueForKey:@"id"];
-                if ([datas valueForKey:@"phone"]) userProfile.phone = [datas valueForKey:@"phone"];
-                if ([datas valueForKey:@"twitter"]) userProfile.twitter = [datas valueForKey:@"twitter"];
-                if ([datas valueForKey:@"webpage"]) userProfile.webpage = [datas valueForKey:@"webpage"];
+                if ([data valueForKey:@"id"] && ![[data valueForKey:@"id"] isKindOfClass:[NSNull class]])
+                    userProfile.id = [data valueForKey:@"id"];
+                
+                if ([data valueForKey:@"phone"] && ![[data valueForKey:@"phone"] isKindOfClass:[NSNull class]])
+                    userProfile.phone = [data valueForKey:@"phone"];
+                
+                if ([data valueForKey:@"twitter"] && ![[data valueForKey:@"twitter"] isKindOfClass:[NSNull class]])
+                    userProfile.twitter = [data valueForKey:@"twitter"];
+                
+                if ([data valueForKey:@"webpage"] && ![[data valueForKey:@"webpage"] isKindOfClass:[NSNull class]])
+                    userProfile.webpage = [data valueForKey:@"webpage"];
 
                 /* QUOTA */
                     
-                NSDictionary *quotaDic = [datas valueForKey:@"quota"];
+                NSDictionary *quota = [data valueForKey:@"quota"];
                 
-                userProfile.quotaFree = [[quotaDic valueForKey:@"free"] doubleValue];
-                userProfile.quota = [[quotaDic valueForKey:@"quota"] doubleValue];
-                userProfile.quotaRelative = [[quotaDic valueForKey:@"relative"] doubleValue];
-                userProfile.quotaTotal = [[quotaDic valueForKey:@"total"] doubleValue];
-                userProfile.quotaUsed = [[quotaDic valueForKey:@"used"] doubleValue];
+                if ([quota count] > 0) {
+                    
+                    if ([quota valueForKey:@"free"] && ![[quota valueForKey:@"free"] isKindOfClass:[NSNull class]])
+                        userProfile.quotaFree = [[quota valueForKey:@"free"] doubleValue];
+                    
+                    if ([quota valueForKey:@"quota"] && ![[quota valueForKey:@"quota"] isKindOfClass:[NSNull class]])
+                        userProfile.quota = [[quota valueForKey:@"quota"] doubleValue];
+
+                    if ([quota valueForKey:@"relative"] && ![[quota valueForKey:@"relative"] isKindOfClass:[NSNull class]])
+                        userProfile.quotaRelative = [[quota valueForKey:@"relative"] doubleValue];
+                        
+                    if ([quota valueForKey:@"total"] && ![[quota valueForKey:@"total"] isKindOfClass:[NSNull class]])
+                        userProfile.quotaTotal = [[quota valueForKey:@"total"] doubleValue];
+                        
+                    if ([quota valueForKey:@"used"] && ![[quota valueForKey:@"used"] isKindOfClass:[NSNull class]])
+                        userProfile.quotaUsed = [[quota valueForKey:@"used"] doubleValue];
+                }
                 
             } else {
                 

+ 1 - 1
Libraries external/OCCommunicationLib/OCCommunicationLib/OCFrameworkConstants.h

@@ -57,7 +57,7 @@
 #define k_url_acces_remote_notification_api @"ocs/v2.php/apps/notifications/api/v2/notifications"
 
 //Url to access to Remote Subscribing Nextcloud server API
-#define k_url_acces_remote_subscribing_nextcloud_server_api @"/ocs/v2.php/apps/notifications/api/v3/push"
+#define k_url_acces_remote_subscribing_nextcloud_server_api @"/ocs/v2.php/apps/notifications/api/v2/push"
 
 //Url to access to Remote Activity API
 #define k_url_acces_remote_activity_api @"ocs/v2.php/cloud/activity"

File diff suppressed because it is too large
+ 285 - 487
Nextcloud.xcodeproj/project.pbxproj


+ 2 - 1
iOSClient/Activity/CCActivity.h

@@ -22,8 +22,9 @@
 //
 
 #import <Foundation/Foundation.h>
+#import "UIScrollView+EmptyDataSet.h"
 
-@interface CCActivity : UICollectionViewController <UICollectionViewDataSource, UICollectionViewDelegate>
+@interface CCActivity : UICollectionViewController <UICollectionViewDataSource, UICollectionViewDelegate, DZNEmptyDataSetSource, DZNEmptyDataSetDelegate>
 
 @property NSUInteger pageIndex;
 

+ 41 - 9
iOSClient/Activity/CCActivity.m

@@ -60,6 +60,10 @@
     
     [super viewDidLoad];
     
+    self.collectionView.emptyDataSetSource = self;
+    self.collectionView.emptyDataSetDelegate = self;
+    self.collectionView.delegate = self;
+    
     _verbose = [CCUtility getActivityVerboseHigh];
     
     _sectionDataSource = [NSArray new];
@@ -79,6 +83,9 @@
     // Color
     [CCAspect aspectNavigationControllerBar:self.navigationController.navigationBar encrypted:NO online:[app.reachability isReachable] hidden:NO];
     [CCAspect aspectTabBar:self.tabBarController.tabBar hidden:NO];
+    
+    // Plus Button
+    [app plusButtonVisibile:true];
 }
 
 // E' arrivato
@@ -94,6 +101,37 @@
     [super didReceiveMemoryWarning];
 }
 
+#pragma --------------------------------------------------------------------------------------------
+#pragma mark ==== DZNEmptyDataSetSource ====
+#pragma --------------------------------------------------------------------------------------------
+
+- (BOOL)emptyDataSetShouldDisplay:(UIScrollView *)scrollView
+{
+    if([_sectionDataSource count] > 0)
+        return NO;
+    else
+        return YES;
+}
+
+- (UIColor *)backgroundColorForEmptyDataSet:(UIScrollView *)scrollView
+{
+    return [UIColor whiteColor];
+}
+
+- (UIImage *)imageForEmptyDataSet:(UIScrollView *)scrollView
+{
+    return [UIImage imageNamed:image_activityNoRecord];
+}
+
+- (NSAttributedString *)titleForEmptyDataSet:(UIScrollView *)scrollView
+{
+    NSString *text = [NSString stringWithFormat:@"%@", NSLocalizedString(@"_no_activity_", nil)];
+
+    NSDictionary *attributes = @{NSFontAttributeName:[UIFont boldSystemFontOfSize:20.0f], NSForegroundColorAttributeName:[UIColor lightGrayColor]};
+    
+    return [[NSAttributedString alloc] initWithString:text attributes:attributes];
+}
+
 #pragma --------------------------------------------------------------------------------------------
 #pragma mark - ==== Datasource ====
 #pragma --------------------------------------------------------------------------------------------
@@ -122,21 +160,15 @@
 {
     NSDate *dateActivity;
     
-    if ([_sectionDataSource count] == 0) {
-            
-        
-            
-    } else {
-            
+    if ([_sectionDataSource count] > 0)
         dateActivity = ((TableActivity *)[_sectionDataSource objectAtIndex:0]).date;
-    }
 
     if ([dateActivity compare:_storeDateFirstActivity] == NSOrderedDescending || _storeDateFirstActivity == nil || dateActivity == nil) {
         _storeDateFirstActivity = dateActivity;
         [self.collectionView reloadData];
-    }
+    }    
 }
-    
+
 #pragma --------------------------------------------------------------------------------------------
 #pragma mark - ==== Table ====
 #pragma --------------------------------------------------------------------------------------------

+ 2 - 2
iOSClient/AppDelegate.h

@@ -45,6 +45,8 @@
 
 // Timer Process
 @property (nonatomic, strong) NSTimer *timerProcess;
+@property (nonatomic, strong) NSTimer *timerUpdateApplicationIconBadgeNumber;
+@property (nonatomic, strong) NSTimer *timerVerifySessionInProgress;
 
 // For LMMediaPlayerView
 @property (strong, nonatomic) UIWindow *window;
@@ -83,7 +85,6 @@
 @property (nonatomic, copy) void (^backgroundSessionCompletionHandler)(void);
 @property (nonatomic, strong) NSDate *sessionDateLastUploadTasks;
 @property (nonatomic, strong) NSDate *sessionDateLastDownloadTasks;
-@property (nonatomic, strong) NSTimer *timerVerifySessionInProgress;
 
 // Network Share
 @property (nonatomic, strong) NSMutableDictionary *sharesID;
@@ -168,7 +169,6 @@
 - (void)loadAutomaticUpload;
 
 - (BOOL)createFolderSubFolderAutomaticUploadFolderPhotos:(NSString *)folderPhotos useSubFolder:(BOOL)useSubFolder assets:(NSArray *)assets selector:(NSString *)selector;
-- (void)dropAutomaticUploadWithSelector:(NSString *)selector;
 
 @end
 

+ 42 - 62
iOSClient/AppDelegate.m

@@ -62,42 +62,41 @@
 
 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
 {
-
-#ifdef OPTION_FIREBASE_ENABLE
+    // Brand
+    if (k_option_use_firebase) {
     
-    /*
-    In order for this to work, proper GoogleService-Info.plist must be included
-    */
+        /*
+         In order for this to work, proper GoogleService-Info.plist must be included
+         */
     
-    @try {
-        [FIRApp configure];
-    } @catch (NSException *exception) {
-        NSLog(@"[LOG] Something went wrong while configuring Firebase");
-    }
+        @try {
+            [FIRApp configure];
+        } @catch (NSException *exception) {
+            NSLog(@"[LOG] Something went wrong while configuring Firebase");
+        }
     
-    if (floor(NSFoundationVersionNumber) <= NSFoundationVersionNumber_iOS_9_x_Max) {
+        if (floor(NSFoundationVersionNumber) <= NSFoundationVersionNumber_iOS_9_x_Max) {
         
-        UIUserNotificationType allNotificationTypes =(UIUserNotificationTypeSound | UIUserNotificationTypeAlert | UIUserNotificationTypeBadge);
-        UIUserNotificationSettings *settings = [UIUserNotificationSettings settingsForTypes:allNotificationTypes categories:nil];
+            UIUserNotificationType allNotificationTypes =(UIUserNotificationTypeSound | UIUserNotificationTypeAlert | UIUserNotificationTypeBadge);
+            UIUserNotificationSettings *settings = [UIUserNotificationSettings settingsForTypes:allNotificationTypes categories:nil];
         
-        [[UIApplication sharedApplication] registerUserNotificationSettings:settings];
+            [[UIApplication sharedApplication] registerUserNotificationSettings:settings];
         
-    } else {
-        
-        // iOS 10 or later
-        #if defined(__IPHONE_10_0) && __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_10_0
-        // For iOS 10 display notification (sent via APNS)
-        [UNUserNotificationCenter currentNotificationCenter].delegate = self;
-        UNAuthorizationOptions authOptions = UNAuthorizationOptionAlert | UNAuthorizationOptionSound | UNAuthorizationOptionBadge;
-        [[UNUserNotificationCenter currentNotificationCenter] requestAuthorizationWithOptions:authOptions completionHandler:^(BOOL granted, NSError * _Nullable error) {
-        }];
+        } else {
         
-        // For iOS 10 data message (sent via FCM)
-        [FIRMessaging messaging].remoteMessageDelegate = self;
-        #endif
+            // iOS 10 or later
+            #if defined(__IPHONE_10_0) && __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_10_0
+            // For iOS 10 display notification (sent via APNS)
+            [UNUserNotificationCenter currentNotificationCenter].delegate = self;
+            UNAuthorizationOptions authOptions = UNAuthorizationOptionAlert | UNAuthorizationOptionSound | UNAuthorizationOptionBadge;
+            [[UNUserNotificationCenter currentNotificationCenter] requestAuthorizationWithOptions:authOptions completionHandler:^(BOOL granted, NSError * _Nullable error) {
+            }];
+        
+            // For iOS 10 data message (sent via FCM)
+            [FIRMessaging messaging].remoteMessageDelegate = self;
+            #endif
+        }
     }
-    
-#endif // OPTION_FIREBASE_ENABLE
 
     NSString *dir;
     NSURL *dirGroup = [[NSFileManager defaultManager] containerURLForSecurityApplicationGroupIdentifier:k_capabilitiesGroups];
@@ -191,7 +190,6 @@
     // Verify Session in progress and Init date task
     self.sessionDateLastDownloadTasks = [NSDate date];
     self.sessionDateLastUploadTasks = [NSDate date];
-    self.timerVerifySessionInProgress = [NSTimer scheduledTimerWithTimeInterval:k_timerVerifySession target:self selector:@selector(verifyDownloadUploadInProgress) userInfo:nil repeats:YES];
     
     // Background Fetch
     [application setMinimumBackgroundFetchInterval:UIApplicationBackgroundFetchIntervalMinimum];
@@ -272,9 +270,11 @@
             [self handleShortCutItem:shortcutItem];
     }
     
-    // Start timer Verify Process
+    // Start Timer
     self.timerProcess = [NSTimer scheduledTimerWithTimeInterval:k_timerProcess target:self selector:@selector(process) userInfo:nil repeats:YES];
-    
+    self.timerVerifySessionInProgress = [NSTimer scheduledTimerWithTimeInterval:k_timerVerifySession target:self selector:@selector(verifyDownloadUploadInProgress) userInfo:nil repeats:YES];
+    self.timerUpdateApplicationIconBadgeNumber = [NSTimer scheduledTimerWithTimeInterval:k_timerUpdateApplicationIconBadgeNumber target:self selector:@selector(updateApplicationIconBadgeNumber) userInfo:nil repeats:YES];
+
     // Registration Push Notification
     UIUserNotificationType types = UIUserNotificationTypeSound | UIUserNotificationTypeBadge | UIUserNotificationTypeAlert;
     UIUserNotificationSettings *notificationSettings = [UIUserNotificationSettings settingsForTypes:types categories:nil];
@@ -910,29 +910,21 @@
     _queueNumUploadWWan = [[CCCoreData getTableMetadataUploadWWanAccount:self.activeAccount] count];
     
     // netQueueDownload
-    for (NSOperation *operation in [app.netQueueDownload operations]) {
-        
+    for (NSOperation *operation in [app.netQueueDownload operations])
         if (((OCnetworking *)operation).isExecuting == NO) _queueNunDownload++;
-    }
     
     // netQueueDownloadWWan
-    for (NSOperation *operation in [app.netQueueDownloadWWan operations]) {
-        
+    for (NSOperation *operation in [app.netQueueDownloadWWan operations])
         if (((OCnetworking *)operation).isExecuting == NO) _queueNumDownloadWWan++;
-    }
     
     // netQueueUpload
-    for (NSOperation *operation in [app.netQueueUpload operations]) {
-        
+    for (NSOperation *operation in [app.netQueueUpload operations])
         if (((OCnetworking *)operation).isExecuting == NO) _queueNumUpload++;
-    }
-    
+
     // netQueueUploadWWan
-    for (NSOperation *operation in [app.netQueueUploadWWan operations]) {
-        
+    for (NSOperation *operation in [app.netQueueUploadWWan operations])
         if (((OCnetworking *)operation).isExecuting == NO) _queueNumUploadWWan++;
-    }
-    
+
     // Total
     NSUInteger total = _queueNunDownload + _queueNumDownloadWWan + _queueNumUpload + _queueNumUploadWWan + [CCCoreData countTableAutomaticUploadForAccount:self.activeAccount selector:nil];
     
@@ -1181,8 +1173,6 @@
     [_netQueueDownloadWWan cancelAllOperations];
     [_netQueueUpload cancelAllOperations];
     [_netQueueUploadWWan cancelAllOperations];
-    
-    [self performSelector:@selector(updateApplicationIconBadgeNumber) withObject:nil afterDelay:0.5];
 }
 
 - (void)addNetworkingOperationQueue:(NSOperationQueue *)netQueue delegate:(id)delegate metadataNet:(CCMetadataNet *)metadataNet
@@ -1255,8 +1245,6 @@
             [CCCoreData addActivityClient:metadataNet.fileName fileID:metadataNet.assetLocalIdentifier action:k_activityDebugActionUpload selector:selectorUploadAutomatic note:@"Internal error image/video not found [0]" type:k_activityTypeFailure verbose:k_activityVerboseHigh account:_activeAccount activeUrl:_activeUrl];
             
             [CCCoreData deleteTableAutomaticUploadForAccount:_activeAccount assetLocalIdentifier:metadataNet.assetLocalIdentifier];
-            
-            [self updateApplicationIconBadgeNumber];
         }
 
         metadataNet = [CCCoreData getTableAutomaticUploadForAccount:self.activeAccount selector:selectorUploadAutomatic];
@@ -1300,9 +1288,7 @@
             
             [CCCoreData addActivityClient:metadataNet.fileName fileID:metadataNet.assetLocalIdentifier action:k_activityDebugActionUpload selector:selectorUploadAutomatic note:@"Internal error image/video not found [0]" type:k_activityTypeFailure verbose:k_activityVerboseHigh account:_activeAccount activeUrl:_activeUrl];
             
-            [CCCoreData deleteTableAutomaticUploadForAccount:_activeAccount assetLocalIdentifier:metadataNet.assetLocalIdentifier];
-            
-            [self updateApplicationIconBadgeNumber];
+            [CCCoreData deleteTableAutomaticUploadForAccount:_activeAccount assetLocalIdentifier:metadataNet.assetLocalIdentifier];            
         }
     }
     
@@ -1446,16 +1432,6 @@
     }
 }
 
-- (void)dropAutomaticUploadWithSelector:(NSString *)selector
-{
-    [CCCoreData flushTableAutomaticUploadAccount:self.activeAccount selector:selector];
-    
-    // Update icon badge number
-    dispatch_after(dispatch_time(DISPATCH_TIME_NOW, 1.0 * NSEC_PER_SEC), dispatch_get_main_queue(), ^{
-        [self updateApplicationIconBadgeNumber];
-    });
-}
-
 - (BOOL)createFolderSubFolderAutomaticUploadFolderPhotos:(NSString *)folderPhotos useSubFolder:(BOOL)useSubFolder assets:(NSArray *)assets selector:(NSString *)selector
 {
     OCnetworking *ocNetworking = [[OCnetworking alloc] initWithDelegate:nil metadataNet:nil withUser:_activeUser withPassword:_activePassword withUrl:_activeUrl isCryptoCloudMode:NO];
@@ -1557,6 +1533,10 @@
         [CCCoreData clearAllDateReadDirectory];
         [CCCoreData flushTableMetadataAccount:nil];
     }
+    
+    if (([actualVersion compare:@"2.17.1" options:NSNumericSearch] == NSOrderedAscending)) {
+        
+    }
 }
 
 @end

+ 44 - 65
iOSClient/Brand/CCNextcloudConstant.h

@@ -22,71 +22,50 @@
 //
 
 // Brand
-#define k_brand                         @"Nextcloud"
-#define k_mailMe                        @"ios@nextcloud.com"
-#define k_textCopyright                 @"Nextcloud %@ © 2017 T.W.S. Inc."
-#define k_loginBaseUrl                  @"https://cloud.twsweb.it"
-#define k_pushNotificationServer        @"https://push-notifications.nextcloud.com"
-#define k_loginButtonLabelLink          @"https://nextcloud.com/providers"
-#define k_webLoginAutenticationProtocol @""
+#define k_brand                                 @"Nextcloud"
+#define k_mailMe                                @"ios@nextcloud.com"
+#define k_textCopyrightNextcloudiOS             @"Nextcloud for iOS %@ © 2017 T.W.S. Inc."
+#define k_textCopyrightNextcloudServer          @"Nextcloud Server %@"
+#define k_loginBaseUrl                          @"https://cloud.twsweb.it"
+#define k_pushNotificationServer                @"https://push-notifications.nextcloud.com"
+#define k_loginButtonLabelLink                  @"https://nextcloud.com/providers"
+#define k_webLoginAutenticationProtocol         @""
 
 // Capabilities Group
-#define k_capabilitiesGroups            @"group.it.twsweb.Crypto-Cloud"
-
-/* Define option compiler */
-
-/*
- #define OPTION_DISABLE_INTRO
- #define NO_REQUEST_LOGIN_URL
- #define LOGIN_WEB
- 
- #define OPTION_FIREBASE_ENABLE
- 
- #define OPTION_MULTIUSER_DISABLE
- #define OPTION_CRYPTO_CLOUD_SYSTEM_DISABLE
- #define OPTION_AUTOMATIC_UPLOAD_ENABLE
-*/
-
-// -----------------------------------------------------------------------------------------------------------
-// COLOR
-// -----------------------------------------------------------------------------------------------------------
-
-#define COLOR_BRAND                     [UIColor colorWithRed:0.0/255.0 green:130.0/255.0 blue:201.0/255.0 alpha:1.0]                   // BLU NC : #0082c9
-
-#define COLOR_SELECT_BACKGROUND         [UIColor colorWithRed:0.0/255.0 green:130.0/255.0 blue:201.0/255.0 alpha:0.1]                   // BLU NC : #0082c9
-
-#define COLOR_TRANSFER_BACKGROUND       [UIColor colorWithRed:178.0/255.0 green:244.0/255.0 blue:258.0/255.0 alpha:0.1]
-
-#define COLOR_GROUPBY_BAR               [UIColor colorWithRed:0.0/255.0 green:130.0/255.0 blue:201.0/255.0 alpha:0.2]                   // BLU NC : #0082c9
-#define COLOR_GROUPBY_BAR_NO_BLUR       [UIColor colorWithRed:0.0/255.0 green:130.0/255.0 blue:201.0/255.0 alpha:0.3]                   // BLU NC : #0082c9
-
-#define COLOR_NAVIGATIONBAR             [UIColor colorWithRed:0.0/255.0 green:130.0/255.0 blue:201.0/255.0 alpha:1.0]                   // BLU NC : #0082c9
-
-#define COLOR_NAVIGATIONBAR_SHARE       [UIColor colorWithRed:0.0/255.0 green:130.0/255.0 blue:201.0/255.0 alpha:1.0]
-
-#define COLOR_NAVIGATIONBAR_TEXT        [UIColor whiteColor]
-#define COLOR_NAVIGATIONBAR_PROGRESS    [UIColor whiteColor]
-
-#define COLOR_TABBAR                    [UIColor whiteColor]
-#define COLOR_TABBAR_TEXT               [UIColor colorWithRed:0.0/255.0 green:130.0/255.0 blue:201.0/255.0 alpha:1.0]                   // BLU NC : #0082c9
-
-#define COLOR_BACKGROUND_MENU           [UIColor whiteColor]
-
-#define COLOR_BACKGROUND_PAGECONTROL    [UIColor colorWithRed:247.0/255.0 green:247.0/255.0 blue:247.0/255.0 alpha:1.0]
-#define COLOR_PAGECONTROL_INDICATOR     [UIColor colorWithRed:0.0/255.0 green:130.0/255.0 blue:201.0/255.0 alpha:1.0]                   // BLU NC : #0082c9
-
-#define COLOR_CRYPTOCLOUD               [UIColor colorWithRed:241.0/255.0 green:90.0/255.0 blue:34.0/255.0 alpha:1.0]
-
-#define COLOR_TEXT_ANTHRACITE           [UIColor colorWithRed:65.0/255.0 green:64.0/255.0 blue:66.0/255.0 alpha:1.0]                    // #414042
-
-#define COLOR_TEXT_NO_CONNECTION        [UIColor colorWithRed:204.0/255.0 green:204.0/255.0 blue:204.0/255.0 alpha:1.0]
-
-#define COLOR_SEPARATOR_TABLE           [UIColor colorWithRed:235.0/255.0 green:235.0/255.0 blue:235.0/255.0 alpha:1.0]                 // iOS 7
-
-#define COLOR_BACKGROUND_MESSAGE_INFO   [UIColor colorWithRed:0.0/255.0 green:130.0/255.0 blue:201.0/255.0 alpha:1.0]                   // BLU NC : #0082c9
-#define COLOR_CONTROL_CENTER            [UIColor colorWithRed:0.0/255.0 green:130.0/255.0 blue:201.0/255.0 alpha:1.0]                   // BLU NC : #0082c9
-#define COLOR_REFRESH_CONTROL           [UIColor colorWithRed:0.0/255.0 green:130.0/255.0 blue:201.0/255.0 alpha:1.0]                   // BLU NC : #0082c9
-#define COLOR_WINDOW_TINTCOLOR          [UIColor colorWithRed:0.0/255.0 green:130.0/255.0 blue:201.0/255.0 alpha:1.0]                   // BLU NC : #0082c9
-
-#define COLOR_TABLE_BACKGROUND          [UIColor whiteColor]
+#define k_capabilitiesGroups                    @"group.it.twsweb.Crypto-Cloud"
+
+// Define option Brand
+#define k_option_use_login_web                  NO
+#define k_option_use_firebase                   NO
+#define k_option_use_default_automatic_upload   NO
+
+#define k_option_disable_intro                  NO
+#define k_option_disable_request_login_url      NO
+#define k_option_disable_multiaccount           NO
+#define k_option_disable_cryptocloudsystem      NO
+
+//Color
+#define COLOR_BRAND                             [UIColor colorWithRed:0.0/255.0 green:130.0/255.0 blue:201.0/255.0 alpha:1.0]       // BLU NC : #0082c9
+#define COLOR_SELECT_BACKGROUND                 [UIColor colorWithRed:0.0/255.0 green:130.0/255.0 blue:201.0/255.0 alpha:0.1]       // BLU NC : #0082c9
+#define COLOR_TRANSFER_BACKGROUND               [UIColor colorWithRed:178.0/255.0 green:244.0/255.0 blue:258.0/255.0 alpha:0.1]
+#define COLOR_GROUPBY_BAR                       [UIColor colorWithRed:0.0/255.0 green:130.0/255.0 blue:201.0/255.0 alpha:0.2]       // BLU NC : #0082c9
+#define COLOR_GROUPBY_BAR_NO_BLUR               [UIColor colorWithRed:0.0/255.0 green:130.0/255.0 blue:201.0/255.0 alpha:0.3]       // BLU NC : #0082c9
+#define COLOR_NAVIGATIONBAR                     [UIColor colorWithRed:0.0/255.0 green:130.0/255.0 blue:201.0/255.0 alpha:1.0]       // BLU NC : #0082c9
+#define COLOR_NAVIGATIONBAR_SHARE               [UIColor colorWithRed:0.0/255.0 green:130.0/255.0 blue:201.0/255.0 alpha:1.0]
+#define COLOR_NAVIGATIONBAR_TEXT                [UIColor whiteColor]
+#define COLOR_NAVIGATIONBAR_PROGRESS            [UIColor whiteColor]
+#define COLOR_TABBAR                            [UIColor whiteColor]
+#define COLOR_TABBAR_TEXT                       [UIColor colorWithRed:0.0/255.0 green:130.0/255.0 blue:201.0/255.0 alpha:1.0]       // BLU NC : #0082c9
+#define COLOR_BACKGROUND_MENU                   [UIColor whiteColor]
+#define COLOR_BACKGROUND_PAGECONTROL            [UIColor colorWithRed:247.0/255.0 green:247.0/255.0 blue:247.0/255.0 alpha:1.0]
+#define COLOR_PAGECONTROL_INDICATOR             [UIColor colorWithRed:0.0/255.0 green:130.0/255.0 blue:201.0/255.0 alpha:1.0]       // BLU NC : #0082c9
+#define COLOR_CRYPTOCLOUD                       [UIColor colorWithRed:241.0/255.0 green:90.0/255.0 blue:34.0/255.0 alpha:1.0]
+#define COLOR_TEXT_ANTHRACITE                   [UIColor colorWithRed:65.0/255.0 green:64.0/255.0 blue:66.0/255.0 alpha:1.0]        // #414042
+#define COLOR_TEXT_NO_CONNECTION                [UIColor colorWithRed:204.0/255.0 green:204.0/255.0 blue:204.0/255.0 alpha:1.0]
+#define COLOR_SEPARATOR_TABLE                   [UIColor colorWithRed:235.0/255.0 green:235.0/255.0 blue:235.0/255.0 alpha:1.0]     // iOS 7
+#define COLOR_BACKGROUND_MESSAGE_INFO           [UIColor colorWithRed:0.0/255.0 green:130.0/255.0 blue:201.0/255.0 alpha:1.0]       // BLU NC : #0082c9
+#define COLOR_CONTROL_CENTER                    [UIColor colorWithRed:0.0/255.0 green:130.0/255.0 blue:201.0/255.0 alpha:1.0]       // BLU NC : #0082c9
+#define COLOR_REFRESH_CONTROL                   [UIColor colorWithRed:0.0/255.0 green:130.0/255.0 blue:201.0/255.0 alpha:1.0]       // BLU NC : #0082c9
+#define COLOR_WINDOW_TINTCOLOR                  [UIColor colorWithRed:0.0/255.0 green:130.0/255.0 blue:201.0/255.0 alpha:1.0]       // BLU NC : #0082c9
+#define COLOR_TABLE_BACKGROUND                  [UIColor whiteColor]
 

+ 1 - 1
iOSClient/Brand/Constant.swift

@@ -45,7 +45,7 @@ class Constant: NSObject {
         
         static let k_Color_MoreNormal: UIColor = .black
         
-        static let k_Color_MoreSettings: UIColor = UIColor(red: 128.0/255.0, green: 128.0/255.0, blue: 128.0/255.0, alpha: 1.0)
+        static let k_Color_MoreSettings: UIColor = .black
         
         static let k_Color_Table_Background: UIColor = UIColor.white
         

+ 2 - 2
iOSClient/Brand/Picker.plist

@@ -17,9 +17,9 @@
 	<key>CFBundlePackageType</key>
 	<string>XPC!</string>
 	<key>CFBundleShortVersionString</key>
-	<string>2.17</string>
+	<string>2.17.1</string>
 	<key>CFBundleVersion</key>
-	<string>00040</string>
+	<string>00001</string>
 	<key>NSExtension</key>
 	<dict>
 		<key>NSExtensionAttributes</key>

+ 2 - 2
iOSClient/Brand/PickerFileProvider.plist

@@ -17,9 +17,9 @@
 	<key>CFBundlePackageType</key>
 	<string>XPC!</string>
 	<key>CFBundleShortVersionString</key>
-	<string>2.17</string>
+	<string>2.17.1</string>
 	<key>CFBundleVersion</key>
-	<string>00040</string>
+	<string>00001</string>
 	<key>NSExtension</key>
 	<dict>
 		<key>NSExtensionFileProviderDocumentGroup</key>

+ 2 - 2
iOSClient/Brand/Share.plist

@@ -17,9 +17,9 @@
 	<key>CFBundlePackageType</key>
 	<string>XPC!</string>
 	<key>CFBundleShortVersionString</key>
-	<string>2.17</string>
+	<string>2.17.1</string>
 	<key>CFBundleVersion</key>
-	<string>00040</string>
+	<string>00001</string>
 	<key>NSAppTransportSecurity</key>
 	<dict>
 		<key>NSAllowsArbitraryLoads</key>

+ 2 - 2
iOSClient/Brand/iOSClient.plist

@@ -46,7 +46,7 @@
 	<key>CFBundlePackageType</key>
 	<string>APPL</string>
 	<key>CFBundleShortVersionString</key>
-	<string>2.17</string>
+	<string>2.17.1</string>
 	<key>CFBundleSignature</key>
 	<string>????</string>
 	<key>CFBundleURLTypes</key>
@@ -69,7 +69,7 @@
 		</dict>
 	</array>
 	<key>CFBundleVersion</key>
-	<string>00040</string>
+	<string>00001</string>
 	<key>ITSAppUsesNonExemptEncryption</key>
 	<true/>
 	<key>ITSEncryptionExportComplianceCode</key>

+ 1 - 0
iOSClient/CCGlobal.h

@@ -136,6 +136,7 @@ extern NSString *const urlBaseUploadDB;
 
 #define k_timerVerifySession                            15
 #define k_timerProcess                                  7
+#define k_timerUpdateApplicationIconBadgeNumber         2
 
 #define k_maxConcurrentOperation                        10
 #define k_maxConcurrentOperationDownloadUpload          10

+ 14 - 2
iOSClient/CCStandardImages.h

@@ -32,6 +32,9 @@
 #define image_actionSheetFavorite               @"actionSheetFavorite"
 #define image_actionSheetLocal                  @"localStorage"
 #define image_actionSheetRemoveLocal            @"actionSheetRemoveLocal"
+
+#define image_activityNoRecord                  @"activityNoRecord"
+
 #define image_avatar                            @"avatar"
 
 #define image_bkfull                            @"bkfull"
@@ -52,6 +55,8 @@
 #define image_encryptedSelectedFiles            @"encryptedSelectedFiles"
 
 #define image_favorite                          @"favorite"
+#define image_favoriteNoFiles                   @"favoriteNoFiles"
+
 #define image_file                              @"file"
 #define image_file_audio                        @"file_audio"
 #define image_file_compress                     @"file_compress"
@@ -63,6 +68,7 @@
 #define image_file_code                         @"file_code"
 #define image_file_txt                          @"file_txt"
 #define image_file_movie                        @"file_movie"
+#define image_filesNoFiles                      @"filesNoFiles"
 #define image_folderphotocamera                 @"folderphotocamera"
 #define image_folder                            @"folder"
 #define image_foldercrypto                      @"foldercrypto"
@@ -72,10 +78,11 @@
 
 #define image_home                              @"home"
 
-#define image_lock                              @"lock"
+#define image_localStorageNoRecord              @"localStorageNoRecord"
 
-#define image_NextcloudMenuChangeAccount        @"typeCloudNextcloud"
+#define image_lock                              @"lock"
 
+#define image_MenuLogoUser                      @"menuLogoUser"
 #define image_MenuDirectoryOnTop                @"menuDirectoryOnTop"
 #define image_MenuGroupByAlphabetic             @"MenuGroupByAlphabetic"
 #define image_MenuGroupByDate                   @"MenuGroupByDate"
@@ -104,6 +111,7 @@
 
 #define image_passcode                          @"passcode"
 #define image_plist                             @"plist"
+#define image_photosNoRecord                    @"photosNoRecord"
 
 #define image_quickActionPhotos                 @"quickActionPhotos"
 #define image_quickActionUpload                 @"quickActionUpload"
@@ -115,6 +123,7 @@
 #define image_removetaskcrypto                  @"removetaskcrypto"
 
 #define image_seleziona                         @"seleziona"
+#define image_searchBig                         @"searchBig"
 #define image_saveSelectedFiles                 @"saveSelectedFiles"
 #define image_settingsActivityHigh              @"settingsActivityHigh"
 #define image_settingsAdvanced                  @"settingsAdvanced"
@@ -162,8 +171,11 @@
 #define image_tabBarPhotos                      @"tabBarPhotos"
 #define image_tabBarSettings                    @"tabBarSettings"
 #define image_tabBarMore                        @"tabBarMore"
+
 #define image_thumbs                            @"thumbs"
 
+#define image_transfersNoRecord                 @"transfersNoRecord"
+
 #define image_user                              @"loginUser"
 #define image_uploadchiaro                      @"uploadchiaro"
 #define image_uploadcryptato                    @"uploadcryptato"

+ 4 - 25
iOSClient/Favorites/CCFavorites.m

@@ -104,9 +104,6 @@
 - (void)viewDidAppear:(BOOL)animated
 {
     [super viewDidAppear:animated];
-        
-    // update Badge
-    [app updateApplicationIconBadgeNumber];
 }
 
 - (void)didReceiveMemoryWarning {
@@ -128,20 +125,6 @@
 #pragma mark ==== DZNEmptyDataSetSource ====
 #pragma --------------------------------------------------------------------------------------------
 
-- (BOOL)emptyDataSetShouldDisplay:(UIScrollView *)scrollView
-{
-    // only for root
-    if (!_serverUrl)
-        return YES;
-    else
-        return NO;
-}
-
-- (CGFloat)spaceHeightForEmptyDataSet:(UIScrollView *)scrollView
-{
-    return 0.0f;
-}
-
 - (UIColor *)backgroundColorForEmptyDataSet:(UIScrollView *)scrollView
 {
     return [UIColor whiteColor];
@@ -149,14 +132,14 @@
 
 - (UIImage *)imageForEmptyDataSet:(UIScrollView *)scrollView
 {
-    return [UIImage imageNamed:image_brandBackgroundLite];
+    return [UIImage imageNamed:image_favoriteNoFiles];
 }
 
 - (NSAttributedString *)titleForEmptyDataSet:(UIScrollView *)scrollView
 {
-    NSString *text = [NSString stringWithFormat:@"%@", @""];
+    NSString *text = [NSString stringWithFormat:@"%@", NSLocalizedString(@"_favorite_no_files_", nil)];
     
-    NSDictionary *attributes = @{NSFontAttributeName:[UIFont boldSystemFontOfSize:20.0f], NSForegroundColorAttributeName:COLOR_BRAND};
+    NSDictionary *attributes = @{NSFontAttributeName:[UIFont boldSystemFontOfSize:20.0f], NSForegroundColorAttributeName:[UIColor lightGrayColor]};
     
     return [[NSAttributedString alloc] initWithString:text attributes:attributes];
 }
@@ -234,8 +217,6 @@
 - (void)downloadFileFailure:(NSString *)fileID serverUrl:(NSString *)serverUrl selector:(NSString *)selector message:(NSString *)message errorCode:(NSInteger)errorCode
 {    
     [app messageNotification:@"_download_file_" description:message visible:YES delay:k_dismissAfterSecond type:TWMessageBarMessageTypeError];
-    
-    [app updateApplicationIconBadgeNumber];
 }
 
 - (void)downloadFileSuccess:(NSString *)fileID serverUrl:(NSString *)serverUrl selector:(NSString *)selector selectorPost:(NSString *)selectorPost
@@ -254,9 +235,7 @@
         
         if ([self shouldPerformSegue])
             [self performSegueWithIdentifier:@"segueDetail" sender:self];
-    }
-    
-    [app updateApplicationIconBadgeNumber];
+    }    
 }
 
 #pragma --------------------------------------------------------------------------------------------

+ 5 - 10
iOSClient/Favorites/CCFavoritesCell.xib

@@ -19,13 +19,8 @@
                 <rect key="frame" x="0.0" y="0.0" width="600" height="59.5"/>
                 <autoresizingMask key="autoresizingMask"/>
                 <subviews>
-                    <view alpha="0.10000000149011612" contentMode="scaleToFill" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="hzp-7C-oyF" userLabel="Gray">
-                        <rect key="frame" x="0.0" y="0.0" width="60" height="60"/>
-                        <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
-                        <color key="backgroundColor" red="0.66666666669999997" green="0.66666666669999997" blue="0.66666666669999997" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
-                    </view>
                     <label opaque="NO" userInteractionEnabled="NO" tag="101" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="QNC-8X-DAC">
-                        <rect key="frame" x="68" y="13" width="465" height="20"/>
+                        <rect key="frame" x="60" y="13" width="473" height="20"/>
                         <fontDescription key="fontDescription" type="system" pointSize="16"/>
                         <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                         <nil key="highlightedColor"/>
@@ -45,7 +40,7 @@
                         </constraints>
                     </imageView>
                     <label opaque="NO" userInteractionEnabled="NO" tag="102" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="p7I-KN-FVZ">
-                        <rect key="frame" x="68" y="33" width="465" height="15"/>
+                        <rect key="frame" x="60" y="33" width="473" height="15"/>
                         <fontDescription key="fontDescription" type="system" pointSize="12"/>
                         <color key="textColor" red="0.59999999999999998" green="0.59999999999999998" blue="0.59999999999999998" alpha="1" colorSpace="calibratedRGB"/>
                         <nil key="highlightedColor"/>
@@ -61,13 +56,13 @@
                 <constraints>
                     <constraint firstItem="DQR-yN-JaH" firstAttribute="top" secondItem="dhG-hb-z3n" secondAttribute="top" id="0XU-Ho-ald"/>
                     <constraint firstItem="5" firstAttribute="leading" secondItem="sQq-jC-UEV" secondAttribute="leadingMargin" constant="2" id="1yX-Zr-1lx"/>
-                    <constraint firstItem="p7I-KN-FVZ" firstAttribute="leading" secondItem="DQR-yN-JaH" secondAttribute="trailing" constant="16" id="2xR-G4-B2S"/>
+                    <constraint firstItem="p7I-KN-FVZ" firstAttribute="leading" secondItem="DQR-yN-JaH" secondAttribute="trailing" constant="8" id="2xR-G4-B2S"/>
                     <constraint firstItem="dhG-hb-z3n" firstAttribute="top" secondItem="sQq-jC-UEV" secondAttribute="topMargin" constant="32" id="4Zy-SY-nfT"/>
                     <constraint firstItem="QNC-8X-DAC" firstAttribute="trailing" secondItem="sQq-jC-UEV" secondAttribute="trailingMargin" constant="-59" id="7zt-c0-CsI"/>
                     <constraint firstAttribute="centerY" secondItem="5" secondAttribute="centerY" id="FQP-wg-vPF"/>
                     <constraint firstItem="DQR-yN-JaH" firstAttribute="top" secondItem="p7I-KN-FVZ" secondAttribute="top" constant="6.5" id="K6B-gJ-8Fp"/>
-                    <constraint firstItem="p7I-KN-FVZ" firstAttribute="leading" secondItem="5" secondAttribute="trailing" constant="18" id="K7G-0u-f8E"/>
-                    <constraint firstItem="QNC-8X-DAC" firstAttribute="leading" secondItem="5" secondAttribute="trailing" constant="18" id="UYc-Al-a4h"/>
+                    <constraint firstItem="p7I-KN-FVZ" firstAttribute="leading" secondItem="5" secondAttribute="trailing" constant="10" id="K7G-0u-f8E"/>
+                    <constraint firstItem="QNC-8X-DAC" firstAttribute="leading" secondItem="5" secondAttribute="trailing" constant="10" id="UYc-Al-a4h"/>
                     <constraint firstItem="p7I-KN-FVZ" firstAttribute="top" secondItem="QNC-8X-DAC" secondAttribute="bottom" id="cJT-LE-kot"/>
                     <constraint firstItem="dhG-hb-z3n" firstAttribute="leading" secondItem="sQq-jC-UEV" secondAttribute="leadingMargin" constant="-4" id="dNM-6x-zkx"/>
                     <constraint firstItem="p7I-KN-FVZ" firstAttribute="trailing" secondItem="sQq-jC-UEV" secondAttribute="trailingMargin" constant="-59" id="kaB-WS-bDl"/>

+ 23 - 19
iOSClient/FileSystem/CCCoreData.m

@@ -39,25 +39,29 @@
         
     record.account = account;
     record.active = [NSNumber numberWithBool:NO];
-    
-#ifdef OPTION_AUTOMATIC_UPLOAD_ENABLE
-    record.cameraUpload = [NSNumber numberWithBool:YES];
-    record.cameraUploadPhoto = [NSNumber numberWithBool:YES];
-    record.cameraUploadVideo = [NSNumber numberWithBool:YES];
-    
-    record.cameraUploadDatePhoto = [NSDate date];
-    record.cameraUploadDateVideo = [NSDate date];
-
-    record.cameraUploadWWAnPhoto = [NSNumber numberWithBool:NO];
-    record.cameraUploadWWAnVideo = [NSNumber numberWithBool:YES];
-#else
-    record.cameraUpload = [NSNumber numberWithBool:NO];
-    record.cameraUploadPhoto = [NSNumber numberWithBool:NO];
-    record.cameraUploadVideo = [NSNumber numberWithBool:NO];
-    
-    record.cameraUploadWWAnPhoto = [NSNumber numberWithBool:NO];
-    record.cameraUploadWWAnVideo = [NSNumber numberWithBool:NO];
-#endif
+        
+    // Brand
+    if (k_option_use_default_automatic_upload) {
+        
+        record.cameraUpload = [NSNumber numberWithBool:YES];
+        record.cameraUploadPhoto = [NSNumber numberWithBool:YES];
+        record.cameraUploadVideo = [NSNumber numberWithBool:YES];
+        
+        record.cameraUploadDatePhoto = [NSDate date];
+        record.cameraUploadDateVideo = [NSDate date];
+        
+        record.cameraUploadWWAnPhoto = [NSNumber numberWithBool:NO];
+        record.cameraUploadWWAnVideo = [NSNumber numberWithBool:YES];
+        
+    } else {
+        
+        record.cameraUpload = [NSNumber numberWithBool:NO];
+        record.cameraUploadPhoto = [NSNumber numberWithBool:NO];
+        record.cameraUploadVideo = [NSNumber numberWithBool:NO];
+        
+        record.cameraUploadWWAnPhoto = [NSNumber numberWithBool:NO];
+        record.cameraUploadWWAnVideo = [NSNumber numberWithBool:NO];
+    }
     
     record.cameraUploadCryptatedPhoto = [NSNumber numberWithBool:NO];
     record.cameraUploadCryptatedVideo = [NSNumber numberWithBool:NO];

BIN
iOSClient/Images.xcassets/actionSheetShare.imageset/actionSheetShare.png


BIN
iOSClient/Images.xcassets/actionSheetShare.imageset/actionSheetShare@2x.png


BIN
iOSClient/Images.xcassets/actionSheetShare.imageset/actionSheetShare@3x.png


+ 21 - 0
iOSClient/Images.xcassets/activityNoRecord.imageset/Contents.json

@@ -0,0 +1,21 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "activityNoRecord@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

BIN
iOSClient/Images.xcassets/activityNoRecord.imageset/activityNoRecord@2x.png


+ 21 - 0
iOSClient/Images.xcassets/avatarBN.imageset/Contents.json

@@ -0,0 +1,21 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "avatarBN@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

BIN
iOSClient/Images.xcassets/avatarBN.imageset/avatarBN@2x.png


+ 21 - 0
iOSClient/Images.xcassets/disclosureIndicator.imageset/Contents.json

@@ -0,0 +1,21 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "disclosureIndicator@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

BIN
iOSClient/Images.xcassets/disclosureIndicator.imageset/disclosureIndicator@2x.png


+ 21 - 0
iOSClient/Images.xcassets/favoriteNoFiles.imageset/Contents.json

@@ -0,0 +1,21 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "favoriteNoFiles@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

BIN
iOSClient/Images.xcassets/favoriteNoFiles.imageset/favoriteNoFiles@2x.png


+ 21 - 0
iOSClient/Images.xcassets/filesNoFiles.imageset/Contents.json

@@ -0,0 +1,21 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "filesNoFiles@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

BIN
iOSClient/Images.xcassets/filesNoFiles.imageset/filesNoFiles@2x.png


+ 21 - 0
iOSClient/Images.xcassets/localStorageNoRecord.imageset/Contents.json

@@ -0,0 +1,21 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "localStorageNoRecord@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

BIN
iOSClient/Images.xcassets/localStorageNoRecord.imageset/localStorageNoRecord@2x.png


+ 21 - 0
iOSClient/Images.xcassets/menuLogoUser.imageset/Contents.json

@@ -0,0 +1,21 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "menuLogoUser@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

BIN
iOSClient/Images.xcassets/menuLogoUser.imageset/menuLogoUser@2x.png


BIN
iOSClient/Images.xcassets/moreSettings.imageset/moreSettings.png


BIN
iOSClient/Images.xcassets/moreSettings.imageset/moreSettings@2x.png


BIN
iOSClient/Images.xcassets/moreSettings.imageset/moreSettings@3x.png


BIN
iOSClient/Images.xcassets/moreSettingsExternalSite.imageset/moreSettingsExternalSite.png


BIN
iOSClient/Images.xcassets/moreSettingsExternalSite.imageset/moreSettingsExternalSite@2x.png


BIN
iOSClient/Images.xcassets/moreSettingsExternalSite.imageset/moreSettingsExternalSite@3x.png


+ 21 - 0
iOSClient/Images.xcassets/photosNoRecord.imageset/Contents.json

@@ -0,0 +1,21 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "photosNoRecord@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

BIN
iOSClient/Images.xcassets/photosNoRecord.imageset/photosNoRecord@2x.png


+ 21 - 0
iOSClient/Images.xcassets/searchBig.imageset/Contents.json

@@ -0,0 +1,21 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "searchBig@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

BIN
iOSClient/Images.xcassets/searchBig.imageset/searchBig@2x.png


+ 21 - 0
iOSClient/Images.xcassets/transfersNoRecord.imageset/Contents.json

@@ -0,0 +1,21 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "transfersNoRecord@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

BIN
iOSClient/Images.xcassets/transfersNoRecord.imageset/transfersNoRecord@2x.png


+ 0 - 0
Libraries external/LMMediaPlayer/Pod/Assets/LMMediaPlayerView.bundle/6/fullscreen.png → iOSClient/Library/LMMediaPlayer/Pod/Assets/LMMediaPlayerView.bundle/6/fullscreen.png


+ 0 - 0
Libraries external/LMMediaPlayer/Pod/Assets/LMMediaPlayerView.bundle/6/fullscreen@2x.png → iOSClient/Library/LMMediaPlayer/Pod/Assets/LMMediaPlayerView.bundle/6/fullscreen@2x.png


+ 0 - 0
Libraries external/LMMediaPlayer/Pod/Assets/LMMediaPlayerView.bundle/6/pause.png → iOSClient/Library/LMMediaPlayer/Pod/Assets/LMMediaPlayerView.bundle/6/pause.png


+ 0 - 0
Libraries external/LMMediaPlayer/Pod/Assets/LMMediaPlayerView.bundle/6/pause@2x.png → iOSClient/Library/LMMediaPlayer/Pod/Assets/LMMediaPlayerView.bundle/6/pause@2x.png


+ 0 - 0
Libraries external/LMMediaPlayer/Pod/Assets/LMMediaPlayerView.bundle/6/play.png → iOSClient/Library/LMMediaPlayer/Pod/Assets/LMMediaPlayerView.bundle/6/play.png


+ 0 - 0
Libraries external/LMMediaPlayer/Pod/Assets/LMMediaPlayerView.bundle/6/play@2x.png → iOSClient/Library/LMMediaPlayer/Pod/Assets/LMMediaPlayerView.bundle/6/play@2x.png


+ 0 - 0
Libraries external/LMMediaPlayer/Pod/Assets/LMMediaPlayerView.bundle/6/repeat_all.png → iOSClient/Library/LMMediaPlayer/Pod/Assets/LMMediaPlayerView.bundle/6/repeat_all.png


+ 0 - 0
Libraries external/LMMediaPlayer/Pod/Assets/LMMediaPlayerView.bundle/6/repeat_all@2x.png → iOSClient/Library/LMMediaPlayer/Pod/Assets/LMMediaPlayerView.bundle/6/repeat_all@2x.png


+ 0 - 0
Libraries external/LMMediaPlayer/Pod/Assets/LMMediaPlayerView.bundle/6/repeat_none.png → iOSClient/Library/LMMediaPlayer/Pod/Assets/LMMediaPlayerView.bundle/6/repeat_none.png


+ 0 - 0
Libraries external/LMMediaPlayer/Pod/Assets/LMMediaPlayerView.bundle/6/repeat_none@2x.png → iOSClient/Library/LMMediaPlayer/Pod/Assets/LMMediaPlayerView.bundle/6/repeat_none@2x.png


+ 0 - 0
Libraries external/LMMediaPlayer/Pod/Assets/LMMediaPlayerView.bundle/6/repeat_one.png → iOSClient/Library/LMMediaPlayer/Pod/Assets/LMMediaPlayerView.bundle/6/repeat_one.png


+ 0 - 0
Libraries external/LMMediaPlayer/Pod/Assets/LMMediaPlayerView.bundle/6/repeat_one@2x.png → iOSClient/Library/LMMediaPlayer/Pod/Assets/LMMediaPlayerView.bundle/6/repeat_one@2x.png


+ 0 - 0
Libraries external/LMMediaPlayer/Pod/Assets/LMMediaPlayerView.bundle/6/shuffle.png → iOSClient/Library/LMMediaPlayer/Pod/Assets/LMMediaPlayerView.bundle/6/shuffle.png


+ 0 - 0
Libraries external/LMMediaPlayer/Pod/Assets/LMMediaPlayerView.bundle/6/shuffle@2x.png → iOSClient/Library/LMMediaPlayer/Pod/Assets/LMMediaPlayerView.bundle/6/shuffle@2x.png


+ 0 - 0
Libraries external/LMMediaPlayer/Pod/Assets/LMMediaPlayerView.bundle/6/unfullscreen.png → iOSClient/Library/LMMediaPlayer/Pod/Assets/LMMediaPlayerView.bundle/6/unfullscreen.png


+ 0 - 0
Libraries external/LMMediaPlayer/Pod/Assets/LMMediaPlayerView.bundle/6/unfullscreen@2x.png → iOSClient/Library/LMMediaPlayer/Pod/Assets/LMMediaPlayerView.bundle/6/unfullscreen@2x.png


+ 0 - 0
Libraries external/LMMediaPlayer/Pod/Assets/LMMediaPlayerView.bundle/6/unshuffle.png → iOSClient/Library/LMMediaPlayer/Pod/Assets/LMMediaPlayerView.bundle/6/unshuffle.png


+ 0 - 0
Libraries external/LMMediaPlayer/Pod/Assets/LMMediaPlayerView.bundle/6/unshuffle@2x.png → iOSClient/Library/LMMediaPlayer/Pod/Assets/LMMediaPlayerView.bundle/6/unshuffle@2x.png


+ 0 - 0
Libraries external/LMMediaPlayer/Pod/Assets/LMMediaPlayerView.bundle/7/fullscreen.png → iOSClient/Library/LMMediaPlayer/Pod/Assets/LMMediaPlayerView.bundle/7/fullscreen.png


+ 0 - 0
Libraries external/LMMediaPlayer/Pod/Assets/LMMediaPlayerView.bundle/7/fullscreen@2x.png → iOSClient/Library/LMMediaPlayer/Pod/Assets/LMMediaPlayerView.bundle/7/fullscreen@2x.png


+ 0 - 0
Libraries external/LMMediaPlayer/Pod/Assets/LMMediaPlayerView.bundle/7/pause.png → iOSClient/Library/LMMediaPlayer/Pod/Assets/LMMediaPlayerView.bundle/7/pause.png


+ 0 - 0
Libraries external/LMMediaPlayer/Pod/Assets/LMMediaPlayerView.bundle/7/pause@2x.png → iOSClient/Library/LMMediaPlayer/Pod/Assets/LMMediaPlayerView.bundle/7/pause@2x.png


+ 0 - 0
Libraries external/LMMediaPlayer/Pod/Assets/LMMediaPlayerView.bundle/7/play.png → iOSClient/Library/LMMediaPlayer/Pod/Assets/LMMediaPlayerView.bundle/7/play.png


+ 0 - 0
Libraries external/LMMediaPlayer/Pod/Assets/LMMediaPlayerView.bundle/7/play@2x.png → iOSClient/Library/LMMediaPlayer/Pod/Assets/LMMediaPlayerView.bundle/7/play@2x.png


+ 0 - 0
Libraries external/LMMediaPlayer/Pod/Assets/LMMediaPlayerView.bundle/7/repeat_all.png → iOSClient/Library/LMMediaPlayer/Pod/Assets/LMMediaPlayerView.bundle/7/repeat_all.png


+ 0 - 0
Libraries external/LMMediaPlayer/Pod/Assets/LMMediaPlayerView.bundle/7/repeat_all@2x.png → iOSClient/Library/LMMediaPlayer/Pod/Assets/LMMediaPlayerView.bundle/7/repeat_all@2x.png


+ 0 - 0
Libraries external/LMMediaPlayer/Pod/Assets/LMMediaPlayerView.bundle/7/repeat_none.png → iOSClient/Library/LMMediaPlayer/Pod/Assets/LMMediaPlayerView.bundle/7/repeat_none.png


+ 0 - 0
Libraries external/LMMediaPlayer/Pod/Assets/LMMediaPlayerView.bundle/7/repeat_none@2x.png → iOSClient/Library/LMMediaPlayer/Pod/Assets/LMMediaPlayerView.bundle/7/repeat_none@2x.png


+ 0 - 0
Libraries external/LMMediaPlayer/Pod/Assets/LMMediaPlayerView.bundle/7/repeat_one.png → iOSClient/Library/LMMediaPlayer/Pod/Assets/LMMediaPlayerView.bundle/7/repeat_one.png


+ 0 - 0
Libraries external/LMMediaPlayer/Pod/Assets/LMMediaPlayerView.bundle/7/repeat_one@2x.png → iOSClient/Library/LMMediaPlayer/Pod/Assets/LMMediaPlayerView.bundle/7/repeat_one@2x.png


+ 0 - 0
Libraries external/LMMediaPlayer/Pod/Assets/LMMediaPlayerView.bundle/7/shuffle.png → iOSClient/Library/LMMediaPlayer/Pod/Assets/LMMediaPlayerView.bundle/7/shuffle.png


+ 0 - 0
Libraries external/LMMediaPlayer/Pod/Assets/LMMediaPlayerView.bundle/7/shuffle@2x.png → iOSClient/Library/LMMediaPlayer/Pod/Assets/LMMediaPlayerView.bundle/7/shuffle@2x.png


+ 0 - 0
Libraries external/LMMediaPlayer/Pod/Assets/LMMediaPlayerView.bundle/7/unfullscreen.png → iOSClient/Library/LMMediaPlayer/Pod/Assets/LMMediaPlayerView.bundle/7/unfullscreen.png


+ 0 - 0
Libraries external/LMMediaPlayer/Pod/Assets/LMMediaPlayerView.bundle/7/unfullscreen@2x.png → iOSClient/Library/LMMediaPlayer/Pod/Assets/LMMediaPlayerView.bundle/7/unfullscreen@2x.png


+ 0 - 0
Libraries external/LMMediaPlayer/Pod/Assets/LMMediaPlayerView.bundle/7/unshuffle.png → iOSClient/Library/LMMediaPlayer/Pod/Assets/LMMediaPlayerView.bundle/7/unshuffle.png


+ 0 - 0
Libraries external/LMMediaPlayer/Pod/Assets/LMMediaPlayerView.bundle/7/unshuffle@2x.png → iOSClient/Library/LMMediaPlayer/Pod/Assets/LMMediaPlayerView.bundle/7/unshuffle@2x.png


+ 0 - 0
Libraries external/LMMediaPlayer/Pod/Assets/LMMediaPlayerView.xib → iOSClient/Library/LMMediaPlayer/Pod/Assets/LMMediaPlayerView.xib


+ 0 - 0
Libraries external/LMMediaPlayer/Pod/Classes/Category/NSArray+LMMediaPlayerShuffle/NSArray+LMMediaPlayerShuffle.h → iOSClient/Library/LMMediaPlayer/Pod/Classes/Category/NSArray+LMMediaPlayerShuffle/NSArray+LMMediaPlayerShuffle.h


+ 0 - 0
Libraries external/LMMediaPlayer/Pod/Classes/Category/NSArray+LMMediaPlayerShuffle/NSArray+LMMediaPlayerShuffle.m → iOSClient/Library/LMMediaPlayer/Pod/Classes/Category/NSArray+LMMediaPlayerShuffle/NSArray+LMMediaPlayerShuffle.m


+ 0 - 0
Libraries external/LMMediaPlayer/Pod/Classes/Hepler/LMMediaPlayerHelper.h → iOSClient/Library/LMMediaPlayer/Pod/Classes/Hepler/LMMediaPlayerHelper.h


+ 0 - 0
Libraries external/LMMediaPlayer/Pod/Classes/Hepler/LMMediaPlayerHelper.m → iOSClient/Library/LMMediaPlayer/Pod/Classes/Hepler/LMMediaPlayerHelper.m


+ 0 - 0
Libraries external/LMMediaPlayer/Pod/Classes/MediaPlayer/LMMediaItem/LMMediaItem.h → iOSClient/Library/LMMediaPlayer/Pod/Classes/MediaPlayer/LMMediaItem/LMMediaItem.h


+ 0 - 0
Libraries external/LMMediaPlayer/Pod/Classes/MediaPlayer/LMMediaItem/LMMediaItem.m → iOSClient/Library/LMMediaPlayer/Pod/Classes/MediaPlayer/LMMediaItem/LMMediaItem.m


+ 0 - 0
Libraries external/LMMediaPlayer/Pod/Classes/MediaPlayer/LMMediaItemQueueManager/LMMediaItemQueueManager.h → iOSClient/Library/LMMediaPlayer/Pod/Classes/MediaPlayer/LMMediaItemQueueManager/LMMediaItemQueueManager.h


+ 0 - 0
Libraries external/LMMediaPlayer/Pod/Classes/MediaPlayer/LMMediaItemQueueManager/LMMediaItemQueueManager.m → iOSClient/Library/LMMediaPlayer/Pod/Classes/MediaPlayer/LMMediaItemQueueManager/LMMediaItemQueueManager.m


+ 0 - 0
Libraries external/LMMediaPlayer/Pod/Classes/MediaPlayer/LMMediaItemStreamingCache/LMMediaItemStreamingCache.h → iOSClient/Library/LMMediaPlayer/Pod/Classes/MediaPlayer/LMMediaItemStreamingCache/LMMediaItemStreamingCache.h


+ 0 - 0
Libraries external/LMMediaPlayer/Pod/Classes/MediaPlayer/LMMediaItemStreamingCache/LMMediaItemStreamingCache.m → iOSClient/Library/LMMediaPlayer/Pod/Classes/MediaPlayer/LMMediaItemStreamingCache/LMMediaItemStreamingCache.m


+ 0 - 0
Libraries external/LMMediaPlayer/Pod/Classes/MediaPlayer/LMMediaPlayer/LMMediaPlayer.h → iOSClient/Library/LMMediaPlayer/Pod/Classes/MediaPlayer/LMMediaPlayer/LMMediaPlayer.h


+ 0 - 0
Libraries external/LMMediaPlayer/Pod/Classes/MediaPlayer/LMMediaPlayer/LMMediaPlayer.m → iOSClient/Library/LMMediaPlayer/Pod/Classes/MediaPlayer/LMMediaPlayer/LMMediaPlayer.m


+ 0 - 0
Libraries external/LMMediaPlayer/Pod/Classes/MediaPlayerView/LMMediaPlayerView.h → iOSClient/Library/LMMediaPlayer/Pod/Classes/MediaPlayerView/LMMediaPlayerView.h


+ 1 - 1
Libraries external/LMMediaPlayer/Pod/Classes/MediaPlayerView/LMMediaPlayerView.m → iOSClient/Library/LMMediaPlayer/Pod/Classes/MediaPlayerView/LMMediaPlayerView.m

@@ -645,7 +645,7 @@ static LMMediaPlayerView *sharedPlayerView;
 		[_fullscreenButton_ setImage:buttonImages_[LMMediaPlayerViewFullscreenButtonSelectedImageKey] forState:UIControlStateSelected];
 
 		newRect = superView_.bounds;
-        newRect.size.height = newRect.size.height - 20; // TWS
+        newRect.size.height = newRect.size.height - 20; //TWS
         
         self.frame = newRect;
 		[superView_ addSubview:self];

Some files were not shown because too many files changed in this diff