Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
80829ad015 | ||
|
|
661bf5d30a |
@@ -1095,7 +1095,7 @@
|
|||||||
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
|
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
|
||||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||||
CODE_SIGN_ENTITLEMENTS = main/main.entitlements;
|
CODE_SIGN_ENTITLEMENTS = main/main.entitlements;
|
||||||
CURRENT_PROJECT_VERSION = 16;
|
CURRENT_PROJECT_VERSION = 17;
|
||||||
INFOPLIST_FILE = main/Info.plist;
|
INFOPLIST_FILE = main/Info.plist;
|
||||||
LD_RUNPATH_SEARCH_PATHS = (
|
LD_RUNPATH_SEARCH_PATHS = (
|
||||||
"$(inherited)",
|
"$(inherited)",
|
||||||
@@ -1114,7 +1114,7 @@
|
|||||||
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
|
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
|
||||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||||
CODE_SIGN_ENTITLEMENTS = main/main.entitlements;
|
CODE_SIGN_ENTITLEMENTS = main/main.entitlements;
|
||||||
CURRENT_PROJECT_VERSION = 16;
|
CURRENT_PROJECT_VERSION = 17;
|
||||||
INFOPLIST_FILE = main/Info.plist;
|
INFOPLIST_FILE = main/Info.plist;
|
||||||
LD_RUNPATH_SEARCH_PATHS = (
|
LD_RUNPATH_SEARCH_PATHS = (
|
||||||
"$(inherited)",
|
"$(inherited)",
|
||||||
@@ -1133,7 +1133,7 @@
|
|||||||
CLANG_ENABLE_MODULES = YES;
|
CLANG_ENABLE_MODULES = YES;
|
||||||
CODE_SIGN_ENTITLEMENTS = GlassVPN/GlassVPN.entitlements;
|
CODE_SIGN_ENTITLEMENTS = GlassVPN/GlassVPN.entitlements;
|
||||||
CODE_SIGN_STYLE = Automatic;
|
CODE_SIGN_STYLE = Automatic;
|
||||||
CURRENT_PROJECT_VERSION = 16;
|
CURRENT_PROJECT_VERSION = 17;
|
||||||
INFOPLIST_FILE = GlassVPN/Info.plist;
|
INFOPLIST_FILE = GlassVPN/Info.plist;
|
||||||
MARKETING_VERSION = 1.0.0;
|
MARKETING_VERSION = 1.0.0;
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = "de.uni-bamberg.psi.AppCheck.VPN";
|
PRODUCT_BUNDLE_IDENTIFIER = "de.uni-bamberg.psi.AppCheck.VPN";
|
||||||
@@ -1151,7 +1151,7 @@
|
|||||||
CLANG_ENABLE_MODULES = YES;
|
CLANG_ENABLE_MODULES = YES;
|
||||||
CODE_SIGN_ENTITLEMENTS = GlassVPN/GlassVPN.entitlements;
|
CODE_SIGN_ENTITLEMENTS = GlassVPN/GlassVPN.entitlements;
|
||||||
CODE_SIGN_STYLE = Automatic;
|
CODE_SIGN_STYLE = Automatic;
|
||||||
CURRENT_PROJECT_VERSION = 16;
|
CURRENT_PROJECT_VERSION = 17;
|
||||||
INFOPLIST_FILE = GlassVPN/Info.plist;
|
INFOPLIST_FILE = GlassVPN/Info.plist;
|
||||||
MARKETING_VERSION = 1.0.0;
|
MARKETING_VERSION = 1.0.0;
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = "de.uni-bamberg.psi.AppCheck.VPN";
|
PRODUCT_BUNDLE_IDENTIFIER = "de.uni-bamberg.psi.AppCheck.VPN";
|
||||||
|
|||||||
@@ -204,7 +204,10 @@ class FilterPipeline<T> {
|
|||||||
/// - Complexity: O(*n* + (*m*+1) log *n*), where *m* is the number of filters and *n* the number of elements in each filter / projection.
|
/// - Complexity: O(*n* + (*m*+1) log *n*), where *m* is the number of filters and *n* the number of elements in each filter / projection.
|
||||||
func update(_ obj: T, at index: Int) {
|
func update(_ obj: T, at index: Int) {
|
||||||
let status = processPipeline(with: obj, at: index)
|
let status = processPipeline(with: obj, at: index)
|
||||||
guard status.changed else { return }
|
guard status.changed else {
|
||||||
|
dataSource[index] = obj // we need to update anyway
|
||||||
|
return
|
||||||
|
}
|
||||||
let oldPos = display.deleteOld(index)
|
let oldPos = display.deleteOld(index)
|
||||||
dataSource[index] = obj
|
dataSource[index] = obj
|
||||||
guard status.display else {
|
guard status.display else {
|
||||||
@@ -212,16 +215,17 @@ class FilterPipeline<T> {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
let newPos = display.insertNew(index, previousIndex: oldPos)
|
let newPos = display.insertNew(index, previousIndex: oldPos)
|
||||||
guard cellAnimations else { return }
|
if cellAnimations {
|
||||||
if oldPos == -1 {
|
if oldPos == -1 {
|
||||||
delegate?.tableView.safeInsertRow(newPos, with: .left)
|
delegate?.tableView.safeInsertRow(newPos, with: .left)
|
||||||
} else {
|
|
||||||
if oldPos == newPos {
|
|
||||||
delegate?.tableView.safeReloadRow(oldPos)
|
|
||||||
} else {
|
} else {
|
||||||
delegate?.tableView.safeMoveRow(oldPos, to: newPos)
|
if oldPos == newPos {
|
||||||
if delegate?.tableView.isFrontmost ?? false {
|
delegate?.tableView.safeReloadRow(oldPos)
|
||||||
delegate?.rowNeedsUpdate(newPos)
|
} else {
|
||||||
|
delegate?.tableView.safeMoveRow(oldPos, to: newPos)
|
||||||
|
if delegate?.tableView.isFrontmost ?? false {
|
||||||
|
delegate?.rowNeedsUpdate(newPos)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user