|
@@ -76,7 +76,7 @@
|
|
//
|
|
//
|
|
// orderByField : nil, date, typeFile
|
|
// orderByField : nil, date, typeFile
|
|
//
|
|
//
|
|
-+ (CCSectionDataSourceMetadata *)creataDataSourseSectionMetadata:(NSArray *)arrayMetadatas listProgressMetadata:(NSMutableDictionary *)listProgressMetadata groupByField:(NSString *)groupByField filterTypeFileImage:(BOOL)filterTypeFileImage filterTypeFileVideo:(BOOL)filterTypeFileVideo filterLivePhoto:(BOOL)filterLivePhoto sorted:(NSString *)sorted ascending:(BOOL)ascending directoryOnTop:(BOOL)directoryOnTop account:(NSString *)account
|
|
|
|
|
|
++ (CCSectionDataSourceMetadata *)creataDataSourseSectionMetadata:(NSArray *)arrayMetadatas listProgressMetadata:(NSMutableDictionary *)listProgressMetadata groupBy:(NSString *)groupBy filterTypeFileImage:(BOOL)filterTypeFileImage filterTypeFileVideo:(BOOL)filterTypeFileVideo filterLivePhoto:(BOOL)filterLivePhoto sort:(NSString *)sort ascending:(BOOL)ascending directoryOnTop:(BOOL)directoryOnTop account:(NSString *)account
|
|
{
|
|
{
|
|
id dataSection;
|
|
id dataSection;
|
|
|
|
|
|
@@ -103,13 +103,13 @@
|
|
|
|
|
|
arraySoprtedMetadatas = [arrayMetadatas sortedArrayUsingComparator:^NSComparisonResult(tableMetadata *obj1, tableMetadata *obj2) {
|
|
arraySoprtedMetadatas = [arrayMetadatas sortedArrayUsingComparator:^NSComparisonResult(tableMetadata *obj1, tableMetadata *obj2) {
|
|
// Sort with Locale
|
|
// Sort with Locale
|
|
- if ([sorted isEqualToString:@"date"]) {
|
|
|
|
|
|
+ if ([sort isEqualToString:@"date"]) {
|
|
if (ascending) return [obj1.date compare:obj2.date];
|
|
if (ascending) return [obj1.date compare:obj2.date];
|
|
else return [obj2.date compare:obj1.date];
|
|
else return [obj2.date compare:obj1.date];
|
|
- } else if ([sorted isEqualToString:@"sessionTaskIdentifier"]) {
|
|
|
|
|
|
+ } else if ([sort isEqualToString:@"sessionTaskIdentifier"]) {
|
|
if (ascending) return (obj1.sessionTaskIdentifier < obj2.sessionTaskIdentifier);
|
|
if (ascending) return (obj1.sessionTaskIdentifier < obj2.sessionTaskIdentifier);
|
|
else return (obj1.sessionTaskIdentifier > obj2.sessionTaskIdentifier);
|
|
else return (obj1.sessionTaskIdentifier > obj2.sessionTaskIdentifier);
|
|
- } else if ([sorted isEqualToString:@"size"]) {
|
|
|
|
|
|
+ } else if ([sort isEqualToString:@"size"]) {
|
|
if (ascending) return (obj1.size < obj2.size);
|
|
if (ascending) return (obj1.size < obj2.size);
|
|
else return (obj1.size > obj2.size);
|
|
else return (obj1.size > obj2.size);
|
|
} else {
|
|
} else {
|
|
@@ -133,7 +133,7 @@
|
|
continue;
|
|
continue;
|
|
}
|
|
}
|
|
|
|
|
|
- if ([listProgressMetadata objectForKey:metadata.ocId] && [groupByField isEqualToString:@"session"]) {
|
|
|
|
|
|
+ if ([listProgressMetadata objectForKey:metadata.ocId] && [groupBy isEqualToString:@"session"]) {
|
|
|
|
|
|
[sectionDataSource.metadatas insertObject:metadata atIndex:0];
|
|
[sectionDataSource.metadatas insertObject:metadata atIndex:0];
|
|
|
|
|
|
@@ -165,15 +165,15 @@
|
|
|
|
|
|
for (tableMetadata *metadata in sectionDataSource.metadatas) {
|
|
for (tableMetadata *metadata in sectionDataSource.metadatas) {
|
|
|
|
|
|
- if ([metadata.session length] > 0 && [groupByField isEqualToString:@"session"]) {
|
|
|
|
|
|
+ if ([metadata.session length] > 0 && [groupBy isEqualToString:@"session"]) {
|
|
|
|
|
|
if ([metadata.session containsString:@"wwan"]) dataSection = [@"." stringByAppendingString:metadata.session];
|
|
if ([metadata.session containsString:@"wwan"]) dataSection = [@"." stringByAppendingString:metadata.session];
|
|
else dataSection = metadata.session;
|
|
else dataSection = metadata.session;
|
|
}
|
|
}
|
|
- else if ([groupByField isEqualToString:@"none"]) dataSection = @"_none_";
|
|
|
|
- else if ([groupByField isEqualToString:@"date"]) dataSection = [CCUtility datetimeWithOutTime:metadata.date];
|
|
|
|
- else if ([groupByField isEqualToString:@"alphabetic"]) dataSection = [[metadata.fileNameView substringToIndex:1] uppercaseString];
|
|
|
|
- else if ([groupByField isEqualToString:@"typefile"]) dataSection = metadata.typeFile;
|
|
|
|
|
|
+ else if ([groupBy isEqualToString:@"none"]) dataSection = @"_none_";
|
|
|
|
+ else if ([groupBy isEqualToString:@"date"]) dataSection = [CCUtility datetimeWithOutTime:metadata.date];
|
|
|
|
+ else if ([groupBy isEqualToString:@"alphabetic"]) dataSection = [[metadata.fileNameView substringToIndex:1] uppercaseString];
|
|
|
|
+ else if ([groupBy isEqualToString:@"typefile"]) dataSection = metadata.typeFile;
|
|
if (!dataSection) dataSection = @"_none_";
|
|
if (!dataSection) dataSection = @"_none_";
|
|
|
|
|
|
NSMutableArray *metadatasSection = [sectionDataSource.sectionArrayRow objectForKey:dataSection];
|
|
NSMutableArray *metadatasSection = [sectionDataSource.sectionArrayRow objectForKey:dataSection];
|
|
@@ -208,7 +208,7 @@
|
|
|
|
|
|
NSArray *sortSections = [[sectionDataSource.sectionArrayRow allKeys] sortedArrayUsingComparator:^NSComparisonResult(id obj1, id obj2) {
|
|
NSArray *sortSections = [[sectionDataSource.sectionArrayRow allKeys] sortedArrayUsingComparator:^NSComparisonResult(id obj1, id obj2) {
|
|
|
|
|
|
- if ([groupByField isEqualToString:@"session"]) {
|
|
|
|
|
|
+ if ([groupBy isEqualToString:@"session"]) {
|
|
|
|
|
|
if ([obj1 isKindOfClass:[NSString class]] && [obj1 containsString:@"download"]) return NSOrderedAscending;
|
|
if ([obj1 isKindOfClass:[NSString class]] && [obj1 containsString:@"download"]) return NSOrderedAscending;
|
|
if ([obj2 isKindOfClass:[NSString class]] && [obj2 containsString:@"download"]) return NSOrderedDescending;
|
|
if ([obj2 isKindOfClass:[NSString class]] && [obj2 containsString:@"download"]) return NSOrderedDescending;
|