Skip to content

Commit 5c74351

Browse files
authored
Merge pull request #5 from IrelDev/develop
Release v1.1.1
2 parents fb16aaa + 562ffe3 commit 5c74351

12 files changed

Lines changed: 28 additions & 228 deletions

XcodeCleaner.xcodeproj/project.pbxproj

Lines changed: 0 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -39,16 +39,12 @@
3939
9DD3BABA24B4798E00EDA308 /* StatisticViewModelProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9DD3BAB624B4798E00EDA308 /* StatisticViewModelProtocol.swift */; };
4040
9DD3BABD24B479BF00EDA308 /* BytesToStringFormatter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9DD3BABC24B479BF00EDA308 /* BytesToStringFormatter.swift */; };
4141
9DD3BAC024B479DF00EDA308 /* PieChartSliceFactory.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9DD3BABF24B479DF00EDA308 /* PieChartSliceFactory.swift */; };
42-
9DD3BAC524B479ED00EDA308 /* PieChartSubSliceView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9DD3BAC224B479ED00EDA308 /* PieChartSubSliceView.swift */; };
4342
9DD3BAC624B479ED00EDA308 /* PieChartView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9DD3BAC324B479ED00EDA308 /* PieChartView.swift */; };
4443
9DD3BAC724B479ED00EDA308 /* PieChartSliceView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9DD3BAC424B479ED00EDA308 /* PieChartSliceView.swift */; };
45-
9DD3BACB24B47A0400EDA308 /* PieChartSubSliceShape.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9DD3BAC924B47A0400EDA308 /* PieChartSubSliceShape.swift */; };
4644
9DD3BACC24B47A0400EDA308 /* PieChartSliceShape.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9DD3BACA24B47A0400EDA308 /* PieChartSliceShape.swift */; };
4745
9DD3BAD224B47A1E00EDA308 /* PieChartSliceModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9DD3BACE24B47A1D00EDA308 /* PieChartSliceModel.swift */; };
4846
9DD3BAD324B47A1E00EDA308 /* PieChartObservableItemsModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9DD3BACF24B47A1E00EDA308 /* PieChartObservableItemsModel.swift */; };
4947
9DD3BAD424B47A1E00EDA308 /* PieChartItemModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9DD3BAD024B47A1E00EDA308 /* PieChartItemModel.swift */; };
50-
9DD3BAD524B47A1E00EDA308 /* PieChartSubSliceModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9DD3BAD124B47A1E00EDA308 /* PieChartSubSliceModel.swift */; };
51-
9DD3BAD824B47A4800EDA308 /* PieChartAnySliceProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9DD3BAD724B47A4800EDA308 /* PieChartAnySliceProtocol.swift */; };
5248
9DDFA81D24B58F47008C2C2A /* DateManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9DDFA81C24B58F47008C2C2A /* DateManager.swift */; };
5349
/* End PBXBuildFile section */
5450

@@ -88,16 +84,12 @@
8884
9DD3BAB624B4798E00EDA308 /* StatisticViewModelProtocol.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = StatisticViewModelProtocol.swift; sourceTree = "<group>"; };
8985
9DD3BABC24B479BF00EDA308 /* BytesToStringFormatter.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BytesToStringFormatter.swift; sourceTree = "<group>"; };
9086
9DD3BABF24B479DF00EDA308 /* PieChartSliceFactory.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PieChartSliceFactory.swift; sourceTree = "<group>"; };
91-
9DD3BAC224B479ED00EDA308 /* PieChartSubSliceView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PieChartSubSliceView.swift; sourceTree = "<group>"; };
9287
9DD3BAC324B479ED00EDA308 /* PieChartView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PieChartView.swift; sourceTree = "<group>"; };
9388
9DD3BAC424B479ED00EDA308 /* PieChartSliceView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PieChartSliceView.swift; sourceTree = "<group>"; };
94-
9DD3BAC924B47A0400EDA308 /* PieChartSubSliceShape.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PieChartSubSliceShape.swift; sourceTree = "<group>"; };
9589
9DD3BACA24B47A0400EDA308 /* PieChartSliceShape.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PieChartSliceShape.swift; sourceTree = "<group>"; };
9690
9DD3BACE24B47A1D00EDA308 /* PieChartSliceModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PieChartSliceModel.swift; sourceTree = "<group>"; };
9791
9DD3BACF24B47A1E00EDA308 /* PieChartObservableItemsModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PieChartObservableItemsModel.swift; sourceTree = "<group>"; };
9892
9DD3BAD024B47A1E00EDA308 /* PieChartItemModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PieChartItemModel.swift; sourceTree = "<group>"; };
99-
9DD3BAD124B47A1E00EDA308 /* PieChartSubSliceModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PieChartSubSliceModel.swift; sourceTree = "<group>"; };
100-
9DD3BAD724B47A4800EDA308 /* PieChartAnySliceProtocol.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PieChartAnySliceProtocol.swift; sourceTree = "<group>"; };
10193
9DDFA81C24B58F47008C2C2A /* DateManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DateManager.swift; sourceTree = "<group>"; };
10294
/* End PBXFileReference section */
10395

@@ -249,7 +241,6 @@
249241
9DD3BAC124B479E500EDA308 /* Views */,
250242
9DD3BAC824B479F300EDA308 /* Shapes */,
251243
9DD3BACD24B47A1000EDA308 /* Models */,
252-
9DD3BAD624B47A2300EDA308 /* Protocols */,
253244
);
254245
path = PieChart;
255246
sourceTree = "<group>";
@@ -258,7 +249,6 @@
258249
isa = PBXGroup;
259250
children = (
260251
9DD3BAC424B479ED00EDA308 /* PieChartSliceView.swift */,
261-
9DD3BAC224B479ED00EDA308 /* PieChartSubSliceView.swift */,
262252
9DD3BAC324B479ED00EDA308 /* PieChartView.swift */,
263253
);
264254
path = Views;
@@ -268,7 +258,6 @@
268258
isa = PBXGroup;
269259
children = (
270260
9DD3BACA24B47A0400EDA308 /* PieChartSliceShape.swift */,
271-
9DD3BAC924B47A0400EDA308 /* PieChartSubSliceShape.swift */,
272261
);
273262
path = Shapes;
274263
sourceTree = "<group>";
@@ -279,19 +268,10 @@
279268
9DD3BAD024B47A1E00EDA308 /* PieChartItemModel.swift */,
280269
9DD3BACF24B47A1E00EDA308 /* PieChartObservableItemsModel.swift */,
281270
9DD3BACE24B47A1D00EDA308 /* PieChartSliceModel.swift */,
282-
9DD3BAD124B47A1E00EDA308 /* PieChartSubSliceModel.swift */,
283271
);
284272
path = Models;
285273
sourceTree = "<group>";
286274
};
287-
9DD3BAD624B47A2300EDA308 /* Protocols */ = {
288-
isa = PBXGroup;
289-
children = (
290-
9DD3BAD724B47A4800EDA308 /* PieChartAnySliceProtocol.swift */,
291-
);
292-
path = Protocols;
293-
sourceTree = "<group>";
294-
};
295275
/* End PBXGroup section */
296276

297277
/* Begin PBXNativeTarget section */
@@ -373,7 +353,6 @@
373353
9DD3BA9024B478B600EDA308 /* DirectoryType.swift in Sources */,
374354
9DD3BACC24B47A0400EDA308 /* PieChartSliceShape.swift in Sources */,
375355
9DD3BAA824B4794C00EDA308 /* ScanProgressView.swift in Sources */,
376-
9DD3BAC524B479ED00EDA308 /* PieChartSubSliceView.swift in Sources */,
377356
9DD3BA8E24B478AE00EDA308 /* DirectoryManager.swift in Sources */,
378357
9DB4448224BAEFEE00165FB9 /* FileType.swift in Sources */,
379358
9DD3BAB024B4796C00EDA308 /* ViewModel.swift in Sources */,
@@ -384,9 +363,7 @@
384363
9DD3BABD24B479BF00EDA308 /* BytesToStringFormatter.swift in Sources */,
385364
9DD3BABA24B4798E00EDA308 /* StatisticViewModelProtocol.swift in Sources */,
386365
9DD3BAAE24B4796C00EDA308 /* StatisticViewModel.swift in Sources */,
387-
9DD3BAD524B47A1E00EDA308 /* PieChartSubSliceModel.swift in Sources */,
388366
9DD3BAB924B4798E00EDA308 /* ViewModelProtocol.swift in Sources */,
389-
9DD3BACB24B47A0400EDA308 /* PieChartSubSliceShape.swift in Sources */,
390367
9DD3BAA624B4794800EDA308 /* StatisticView.swift in Sources */,
391368
9DD3BAA424B4794300EDA308 /* DividerButtonView.swift in Sources */,
392369
9DD3BA7024B4639400EDA308 /* AppDelegate.swift in Sources */,
@@ -402,7 +379,6 @@
402379
9DD3BA7524B4639400EDA308 /* XcodeCleaner.xcdatamodeld in Sources */,
403380
9DD3BAB724B4798E00EDA308 /* DirectoryListViewModelProtocol.swift in Sources */,
404381
9DCE1C0B24B582D200E49E6D /* CoreDataManager.swift in Sources */,
405-
9DD3BAD824B47A4800EDA308 /* PieChartAnySliceProtocol.swift in Sources */,
406382
);
407383
runOnlyForDeploymentPostprocessing = 0;
408384
};

XcodeCleaner/DirectoryManager.swift

Lines changed: 19 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,23 @@ struct DirectoryManager {
119119
completion()
120120
return directorySize
121121
}
122+
func getPath(for type: DirectoryType) -> String {
123+
var path: String
124+
125+
switch type {
126+
case .derivedData:
127+
path = getDerivedDataPath()
128+
case .deviceSupport:
129+
path = getDeviceSupportPath()
130+
case .archives:
131+
path = getArchivesPath()
132+
case .iOSDeviceLogs:
133+
path = getIOSDeviceLogsPath()
134+
case .documentationCache:
135+
path = getDocumentationCachePath()
136+
}
137+
return path
138+
}
122139
func normalizePathForDirectory(path: String) -> String {
123140
var newPath = path
124141

@@ -137,20 +154,7 @@ struct DirectoryManager {
137154
}
138155
func normalizePathForDisplay(directory: String, forType type: DirectoryType) -> String {
139156
var result = directory
140-
var prefix: String
141-
142-
switch type {
143-
case .derivedData:
144-
prefix = getDerivedDataPath()
145-
case .deviceSupport:
146-
prefix = getDeviceSupportPath()
147-
case .archives:
148-
prefix = getArchivesPath()
149-
case .iOSDeviceLogs:
150-
prefix = getIOSDeviceLogsPath()
151-
case .documentationCache:
152-
prefix = getDocumentationCachePath()
153-
}
157+
let prefix: String = getPath(for: type)
154158

155159
if directory.contains(prefix) {
156160
result = directory.replacingOccurrences(of: prefix, with: "")
@@ -160,21 +164,7 @@ struct DirectoryManager {
160164
}
161165
func cleanDirectory(forType type: DirectoryType) {
162166
let fileManager = FileManager.default
163-
164-
var directoryPath: String
165-
switch type {
166-
case .derivedData:
167-
directoryPath = getDerivedDataPath()
168-
case .deviceSupport:
169-
directoryPath = getDeviceSupportPath()
170-
case .archives:
171-
directoryPath = getArchivesPath()
172-
case .iOSDeviceLogs:
173-
directoryPath = getIOSDeviceLogsPath()
174-
case .documentationCache:
175-
directoryPath = getDocumentationCachePath()
176-
}
177-
167+
let directoryPath = getPath(for: type)
178168
let directoryURL = URL(fileURLWithPath: normalizePathForDirectory(path: directoryPath))
179169

180170
do {

XcodeCleaner/PieChart/Models/PieChartItemModel.swift

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,9 @@ import SwiftUI
1111
public struct PieChartItemModel {
1212
public var value: Double
1313
public var color: Color
14-
public var subItems: [PieChartItemModel]
1514

16-
public init(value: Double, color: Color, subItems: [PieChartItemModel] = []) {
15+
public init(value: Double, color: Color) {
1716
self.value = value
1817
self.color = color
19-
20-
self.subItems = subItems
2118
}
2219
}

XcodeCleaner/PieChart/Models/PieChartSliceModel.swift

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,22 +8,19 @@
88

99
import SwiftUI
1010

11-
struct PieChartSliceModel: PieChartAnySliceProtocol {
11+
struct PieChartSliceModel {
1212
var value: Double
1313
var color: Color
1414

1515
var startDegree: Double
1616
var endDegree: Double
1717

18-
var subSlices: [PieChartSubSliceModel]
19-
20-
public init(value: Double, color: Color, startDegree: Double, endDegree: Double, subSlices: [PieChartSubSliceModel] = []) {
18+
public init(value: Double, color: Color, startDegree: Double, endDegree: Double) {
2119
self.value = value
2220
self.color = color
2321

2422
self.startDegree = startDegree
2523
self.endDegree = endDegree
26-
self.subSlices = subSlices
2724
}
2825
}
2926

XcodeCleaner/PieChart/Models/PieChartSubSliceModel.swift

Lines changed: 0 additions & 26 deletions
This file was deleted.

XcodeCleaner/PieChart/PieChartSliceFactory.swift

Lines changed: 2 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -21,35 +21,11 @@ class PieChartSliceFactory {
2121

2222
let sliceEndDegree = sliceStartDegree + proportionalValue * maxShapeDegree
2323

24-
var subslices: [PieChartSubSliceModel] = []
25-
if item.subItems.count > 0 {
26-
let sliceIndex = itemIndex + 1
27-
subslices = createPieChartSubSlicesFromItems(items: item.subItems, initialDegree: previousSliceEndDegree, maxShapeDegree: sliceEndDegree, withIndex: sliceIndex)
28-
}
29-
let slice = PieChartSliceModel(value: item.value, color: item.color, startDegree: sliceStartDegree, endDegree: sliceEndDegree, subSlices: subslices)
24+
let slice = PieChartSliceModel(value: item.value, color: item.color, startDegree: sliceStartDegree, endDegree: sliceEndDegree)
3025
slices.append(slice)
31-
previousSliceEndDegree = sliceEndDegree
32-
}
33-
return slices
34-
}
35-
func createPieChartSubSlicesFromItems(items: [PieChartItemModel], initialDegree: Double, maxShapeDegree: Double, withIndex sliceIndex: Int = 1) -> [PieChartSubSliceModel] {
36-
var subSlices: [PieChartSubSliceModel] = []
37-
var previousSliceEndDegree = initialDegree
38-
39-
let maxSumSliceValue = items.reduce(0) { $0 + $1.value }
40-
41-
for itemIndex in 0 ..< items.count {
42-
let item = items[itemIndex]
4326

44-
let sliceStartDegree = previousSliceEndDegree
45-
let proportionalValue = item.value / maxSumSliceValue
46-
47-
let sliceEndDegree = sliceStartDegree + proportionalValue * maxShapeDegree / Double(sliceIndex)
48-
49-
let slice = PieChartSubSliceModel(value: item.value, color: item.color, startDegree: sliceStartDegree, endDegree: sliceEndDegree)
50-
subSlices.append(slice)
5127
previousSliceEndDegree = sliceEndDegree
5228
}
53-
return subSlices
29+
return slices
5430
}
5531
}

XcodeCleaner/PieChart/Protocols/PieChartAnySliceProtocol.swift

Lines changed: 0 additions & 18 deletions
This file was deleted.

XcodeCleaner/PieChart/Shapes/PieChartSubSliceShape.swift

Lines changed: 0 additions & 41 deletions
This file was deleted.

XcodeCleaner/PieChart/Views/PieChartSliceView.swift

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -21,22 +21,13 @@ struct PieChartSliceView: View {
2121

2222
let sliceShape = PieChartSliceShape(startAngle: startAngle, endAngle: endAngle)
2323

24-
return Group { sliceShape
24+
return sliceShape
2525
.fill()
2626
.foregroundColor(slice.color)
27-
.scaleEffect(isVisible ? 1: 0)
27+
.scaleEffect(isVisible ? 1: 0.01)
2828
.animation(Animation.easeIn)
2929
.onAppear {
3030
self.isVisible.toggle()
31-
}
32-
if self.slice.subSlices.count > 0 {
33-
GeometryReader { geometryReader in
34-
ForEach(0 ..< self.slice.subSlices.count, id: \.self) { subSliceIndex in
35-
PieChartSubSliceView(rect: geometryReader.frame(in: .local), subSlice: self.slice.subSlices[subSliceIndex])
36-
.padding(0 - min(geometryReader.size.width, geometryReader.size.height) / 2)
37-
}
38-
}
39-
}
4031
}
4132
}
4233
}

0 commit comments

Comments
 (0)