mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-06-16 05:55:20 +00:00
Main project builds
This commit is contained in:
parent
4140b000e1
commit
cce22d7f0b
@ -1,10 +1,12 @@
|
||||
import Foundation
|
||||
import UIKit
|
||||
import Postbox
|
||||
import TelegramCore
|
||||
import SyncCore
|
||||
import TelegramPresentationData
|
||||
import TelegramUIPreferences
|
||||
import SwiftSignalKit
|
||||
import AsyncDisplayKit
|
||||
import Display
|
||||
import DeviceLocationManager
|
||||
import TemporaryCachedPeerDataManager
|
||||
|
@ -1,8 +1,10 @@
|
||||
import Foundation
|
||||
import UIKit
|
||||
import Postbox
|
||||
import TelegramCore
|
||||
import SyncCore
|
||||
import TextFormat
|
||||
import AsyncDisplayKit
|
||||
import Display
|
||||
import SwiftSignalKit
|
||||
import TelegramPresentationData
|
||||
|
@ -1,4 +1,5 @@
|
||||
import Foundation
|
||||
import UIKit
|
||||
import Postbox
|
||||
import Display
|
||||
|
||||
|
@ -5,6 +5,7 @@ import TelegramCore
|
||||
import SyncCore
|
||||
import SwiftSignalKit
|
||||
import Display
|
||||
import AsyncDisplayKit
|
||||
|
||||
public enum ChatControllerInteractionOpenMessageMode {
|
||||
case `default`
|
||||
|
@ -7,8 +7,8 @@ swift_library(
|
||||
"Sources/**/*.swift",
|
||||
]),
|
||||
deps = [
|
||||
"//submodules/Display:Display",
|
||||
"//submodules/AsyncDisplayKit:AsyncDisplayKit",
|
||||
"//submodules/Display:Display#shared",
|
||||
"//submodules/AsyncDisplayKit:AsyncDisplayKit#shared",
|
||||
],
|
||||
visibility = [
|
||||
"//visibility:public",
|
||||
|
@ -1,4 +1,5 @@
|
||||
import Foundation
|
||||
import UIKit
|
||||
import TelegramCore
|
||||
import SyncCore
|
||||
import Display
|
||||
|
@ -2,6 +2,7 @@ import Foundation
|
||||
import UIKit
|
||||
import Postbox
|
||||
import SwiftSignalKit
|
||||
import AsyncDisplayKit
|
||||
import Display
|
||||
import TelegramCore
|
||||
import SyncCore
|
||||
|
@ -16,6 +16,30 @@ public class ImmediateTextNode: TextNode {
|
||||
public var textShadowColor: UIColor?
|
||||
public var textStroke: (UIColor, CGFloat)?
|
||||
public var cutout: TextNodeCutout?
|
||||
|
||||
public var truncationMode: NSLineBreakMode {
|
||||
get {
|
||||
switch self.truncationType {
|
||||
case .start:
|
||||
return .byTruncatingHead
|
||||
case .middle:
|
||||
return .byTruncatingMiddle
|
||||
case .end:
|
||||
return .byTruncatingTail
|
||||
}
|
||||
} set(value) {
|
||||
switch value {
|
||||
case .byTruncatingHead:
|
||||
self.truncationType = .start
|
||||
case .byTruncatingMiddle:
|
||||
self.truncationType = .middle
|
||||
case .byTruncatingTail:
|
||||
self.truncationType = .end
|
||||
default:
|
||||
self.truncationType = .end
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private var tapRecognizer: TapLongTapOrDoubleTapGestureRecognizer?
|
||||
private var linkHighlightingNode: LinkHighlightingNode?
|
||||
@ -157,3 +181,9 @@ public class ImmediateTextNode: TextNode {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public class ASTextNode: ImmediateTextNode {
|
||||
override public func calculateSizeThatFits(_ constrainedSize: CGSize) -> CGSize {
|
||||
return self.updateLayout(constrainedSize)
|
||||
}
|
||||
}
|
@ -788,6 +788,8 @@ open class NavigationBar: ASDisplayNode {
|
||||
self.stripeNode.backgroundColor = self.presentationData.theme.separatorColor
|
||||
|
||||
self.badgeNode.updateTheme(fillColor: self.presentationData.theme.badgeBackgroundColor, strokeColor: self.presentationData.theme.badgeStrokeColor, textColor: self.presentationData.theme.badgeTextColor)
|
||||
|
||||
self.requestLayout()
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -273,15 +273,7 @@ private final class NavigationButtonItemNode: ImmediateTextNode {
|
||||
}
|
||||
|
||||
if shouldChangeHighlight {
|
||||
if let imageNode = self.imageNode {
|
||||
let previousAlpha = self.imageRippleNode.alpha
|
||||
self.imageRippleNode.alpha = highlighted ? 1.0 : 0.0
|
||||
if !highlighted {
|
||||
self.imageRippleNode.layer.animateAlpha(from: previousAlpha, to: self.imageRippleNode.alpha, duration: 0.25)
|
||||
}
|
||||
} else {
|
||||
self.alpha = !self.isEnabled ? 1.0 : (highlighted ? 0.4 : 1.0)
|
||||
}
|
||||
self.alpha = !self.isEnabled ? 1.0 : (highlighted ? 0.4 : 1.0)
|
||||
self.highlightChanged(highlighted)
|
||||
}
|
||||
}
|
||||
|
@ -1,4 +1,31 @@
|
||||
import UIKit
|
||||
import UIKitRuntimeUtils
|
||||
|
||||
public extension UIView {
|
||||
static func animationDurationFactor() -> Double {
|
||||
return animationDurationFactorImpl()
|
||||
}
|
||||
}
|
||||
|
||||
public func makeSpringAnimation(_ keyPath: String) -> CABasicAnimation {
|
||||
return makeSpringAnimationImpl(keyPath)
|
||||
}
|
||||
|
||||
public func makeSpringBounceAnimation(_ keyPath: String, _ initialVelocity: CGFloat, _ damping: CGFloat) -> CABasicAnimation {
|
||||
return makeSpringBounceAnimationImpl(keyPath, initialVelocity, damping)
|
||||
}
|
||||
|
||||
public func springAnimationValueAt(_ animation: CABasicAnimation, _ t: CGFloat) -> CGFloat {
|
||||
return springAnimationValueAtImpl(animation, t)
|
||||
}
|
||||
|
||||
public func makeCustomZoomBlurEffect() -> UIBlurEffect? {
|
||||
return makeCustomZoomBlurEffectImpl()
|
||||
}
|
||||
|
||||
public func applySmoothRoundedCorners(_ layer: CALayer) {
|
||||
applySmoothRoundedCornersImpl(layer)
|
||||
}
|
||||
|
||||
public func dumpViews(_ view: UIView) {
|
||||
dumpViews(view, indent: "")
|
||||
|
@ -1,6 +1,7 @@
|
||||
import Foundation
|
||||
import UIKit
|
||||
import Display
|
||||
import AsyncDisplayKit
|
||||
|
||||
final class ItemListMaskAccessoryItem: ListViewAccessoryItem {
|
||||
private let sectionId: Int32
|
||||
|
@ -1,4 +1,6 @@
|
||||
import Foundation
|
||||
import UIKit
|
||||
import AsyncDisplayKit
|
||||
import Display
|
||||
import TelegramPresentationData
|
||||
import AppBundle
|
||||
|
@ -1,4 +1,6 @@
|
||||
import Foundation
|
||||
import UIKit
|
||||
import AsyncDisplayKit
|
||||
import Display
|
||||
import SwiftSignalKit
|
||||
import MapKit
|
||||
|
@ -1,5 +1,6 @@
|
||||
import Foundation
|
||||
import UIKit
|
||||
import AsyncDisplayKit
|
||||
import Display
|
||||
import LegacyComponents
|
||||
import TelegramCore
|
||||
|
@ -1,4 +1,6 @@
|
||||
import Foundation
|
||||
import UIKit
|
||||
import AsyncDisplayKit
|
||||
import Display
|
||||
import AccountContext
|
||||
import TelegramPresentationData
|
||||
|
@ -1,5 +1,6 @@
|
||||
import Foundation
|
||||
import UIKit
|
||||
import AsyncDisplayKit
|
||||
import Display
|
||||
import SwiftSignalKit
|
||||
import Postbox
|
||||
|
@ -1,5 +1,6 @@
|
||||
import Foundation
|
||||
import UIKit
|
||||
import AsyncDisplayKit
|
||||
import Display
|
||||
import SwiftSignalKit
|
||||
import Postbox
|
||||
|
@ -1,6 +1,7 @@
|
||||
import Foundation
|
||||
import UIKit
|
||||
import Display
|
||||
import AsyncDisplayKit
|
||||
|
||||
public final class ReactionSwipeGestureRecognizer: UIPanGestureRecognizer {
|
||||
private var validatedGesture = false
|
||||
|
@ -155,7 +155,7 @@ public final class SelectablePeerNode: ASDisplayNode {
|
||||
overrideImage = .deletedIcon
|
||||
}
|
||||
}
|
||||
self.textNode.maximumNumberOfLines = UInt(numberOfLines)
|
||||
self.textNode.maximumNumberOfLines = numberOfLines
|
||||
self.textNode.attributedText = NSAttributedString(string: text, font: textFont, textColor: self.currentSelected ? self.theme.selectedTextColor : defaultColor, paragraphAlignment: .center)
|
||||
self.avatarNode.setPeer(context: context, theme: theme, peer: mainPeer, overrideImage: overrideImage, emptyColor: self.theme.avatarPlaceholderColor, synchronousLoad: synchronousLoad)
|
||||
|
||||
|
@ -1,5 +1,6 @@
|
||||
import Foundation
|
||||
import UIKit
|
||||
import AsyncDisplayKit
|
||||
import Display
|
||||
import SwiftSignalKit
|
||||
import Postbox
|
||||
|
@ -1,4 +1,5 @@
|
||||
import Foundation
|
||||
import UIKit
|
||||
import Postbox
|
||||
import TelegramCore
|
||||
import SyncCore
|
||||
|
@ -455,7 +455,7 @@ final class SharedApplicationContext {
|
||||
}
|
||||
}
|
||||
|
||||
ASDisableLogging()
|
||||
//ASDisableLogging()
|
||||
|
||||
initializeLegacyComponents(application: application, currentSizeClassGetter: {
|
||||
return UIUserInterfaceSizeClass.compact
|
||||
|
@ -1,5 +1,6 @@
|
||||
import Foundation
|
||||
import UIKit
|
||||
import AsyncDisplayKit
|
||||
import Postbox
|
||||
import SwiftSignalKit
|
||||
import TelegramCore
|
||||
|
@ -1,4 +1,6 @@
|
||||
import Foundation
|
||||
import UIKit
|
||||
import AsyncDisplayKit
|
||||
import Display
|
||||
import SwiftSignalKit
|
||||
import TelegramPresentationData
|
||||
|
@ -1,5 +1,6 @@
|
||||
import Foundation
|
||||
import UIKit
|
||||
import AsyncDisplayKit
|
||||
import Display
|
||||
import TelegramCore
|
||||
import SyncCore
|
||||
|
@ -1,5 +1,6 @@
|
||||
import Foundation
|
||||
import UIKit
|
||||
import AsyncDisplayKit
|
||||
import TelegramCore
|
||||
import SyncCore
|
||||
import Postbox
|
||||
|
@ -1,4 +1,6 @@
|
||||
import Foundation
|
||||
import UIKit
|
||||
import AsyncDisplayKit
|
||||
import Postbox
|
||||
import TelegramCore
|
||||
import SyncCore
|
||||
|
@ -1,4 +1,5 @@
|
||||
import Foundation
|
||||
import UIKit
|
||||
import SwiftSignalKit
|
||||
import Postbox
|
||||
import SyncCore
|
||||
|
@ -1,4 +1,5 @@
|
||||
import Foundation
|
||||
import UIKit
|
||||
import Postbox
|
||||
import TelegramCore
|
||||
import SyncCore
|
||||
|
@ -9,7 +9,7 @@ static_library(
|
||||
"Source/UIKitRuntimeUtils/*.h",
|
||||
]),
|
||||
deps = [
|
||||
"//submodules/AsyncDisplayKit:AsyncDisplayKit",
|
||||
"//submodules/AsyncDisplayKit:AsyncDisplayKit#shared",
|
||||
"//submodules/ObjCRuntimeUtils:ObjCRuntimeUtils",
|
||||
],
|
||||
frameworks = [
|
||||
|
@ -1,16 +1,11 @@
|
||||
#import <UIKit/UIKit.h>
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
@interface UIView (AnimationUtils)
|
||||
double animationDurationFactorImpl();
|
||||
|
||||
+ (double)animationDurationFactor;
|
||||
CABasicAnimation * _Nonnull makeSpringAnimationImpl(NSString * _Nonnull keyPath);
|
||||
CABasicAnimation * _Nonnull makeSpringBounceAnimationImpl(NSString * _Nonnull keyPath, CGFloat initialVelocity, CGFloat damping);
|
||||
CGFloat springAnimationValueAtImpl(CABasicAnimation * _Nonnull animation, CGFloat t);
|
||||
|
||||
@end
|
||||
|
||||
CABasicAnimation * _Nonnull makeSpringAnimation(NSString * _Nonnull keyPath);
|
||||
CABasicAnimation * _Nonnull makeSpringBounceAnimation(NSString * _Nonnull keyPath, CGFloat initialVelocity, CGFloat damping);
|
||||
CGFloat springAnimationValueAt(CABasicAnimation * _Nonnull animation, CGFloat t);
|
||||
|
||||
void testZoomBlurEffect(UIVisualEffect *effect);
|
||||
UIBlurEffect *makeCustomZoomBlurEffect();
|
||||
void applySmoothRoundedCorners(CALayer * _Nonnull layer);
|
||||
UIBlurEffect *makeCustomZoomBlurEffectImpl();
|
||||
void applySmoothRoundedCornersImpl(CALayer * _Nonnull layer);
|
||||
|
@ -3,22 +3,16 @@
|
||||
#import <objc/runtime.h>
|
||||
|
||||
#if TARGET_IPHONE_SIMULATOR
|
||||
UIKIT_EXTERN float UIAnimationDragCoefficient(); // UIKit private drag coeffient, use judiciously
|
||||
UIKIT_EXTERN float UIAnimationDragCoefficient();
|
||||
#endif
|
||||
|
||||
@implementation UIView (AnimationUtils)
|
||||
|
||||
+ (double)animationDurationFactor
|
||||
{
|
||||
double animationDurationFactorImpl() {
|
||||
#if TARGET_IPHONE_SIMULATOR
|
||||
return (double)UIAnimationDragCoefficient();
|
||||
#endif
|
||||
|
||||
#endif
|
||||
return 1.0f;
|
||||
}
|
||||
|
||||
@end
|
||||
|
||||
@interface CASpringAnimation ()
|
||||
|
||||
@end
|
||||
@ -54,7 +48,7 @@ UIKIT_EXTERN float UIAnimationDragCoefficient(); // UIKit private drag coeffient
|
||||
|
||||
@end
|
||||
|
||||
CABasicAnimation * _Nonnull makeSpringAnimation(NSString * _Nonnull keyPath) {
|
||||
CABasicAnimation * _Nonnull makeSpringAnimationImpl(NSString * _Nonnull keyPath) {
|
||||
CASpringAnimation *springAnimation = [CASpringAnimation animationWithKeyPath:keyPath];
|
||||
springAnimation.mass = 3.0f;
|
||||
springAnimation.stiffness = 1000.0f;
|
||||
@ -64,7 +58,7 @@ CABasicAnimation * _Nonnull makeSpringAnimation(NSString * _Nonnull keyPath) {
|
||||
return springAnimation;
|
||||
}
|
||||
|
||||
CABasicAnimation * _Nonnull makeSpringBounceAnimation(NSString * _Nonnull keyPath, CGFloat initialVelocity, CGFloat damping) {
|
||||
CABasicAnimation * _Nonnull makeSpringBounceAnimationImpl(NSString * _Nonnull keyPath, CGFloat initialVelocity, CGFloat damping) {
|
||||
CASpringAnimation *springAnimation = [CASpringAnimation animationWithKeyPath:keyPath];
|
||||
springAnimation.mass = 5.0f;
|
||||
springAnimation.stiffness = 900.0f;
|
||||
@ -84,7 +78,7 @@ CABasicAnimation * _Nonnull makeSpringBounceAnimation(NSString * _Nonnull keyPat
|
||||
return springAnimation;
|
||||
}
|
||||
|
||||
CGFloat springAnimationValueAt(CABasicAnimation * _Nonnull animation, CGFloat t) {
|
||||
CGFloat springAnimationValueAtImpl(CABasicAnimation * _Nonnull animation, CGFloat t) {
|
||||
return [(CASpringAnimation *)animation valueAt:t];
|
||||
}
|
||||
|
||||
@ -110,9 +104,6 @@ CGFloat springAnimationValueAt(CABasicAnimation * _Nonnull animation, CGFloat t)
|
||||
|
||||
@end
|
||||
|
||||
void testZoomBlurEffect(UIVisualEffect *effect) {
|
||||
}
|
||||
|
||||
static NSString *encodeText(NSString *string, int key) {
|
||||
NSMutableString *result = [[NSMutableString alloc] init];
|
||||
|
||||
@ -168,7 +159,7 @@ static void setBoolField(CustomBlurEffect *object, NSString *name, BOOL value) {
|
||||
[inv invoke];
|
||||
}
|
||||
|
||||
UIBlurEffect *makeCustomZoomBlurEffect() {
|
||||
UIBlurEffect *makeCustomZoomBlurEffectImpl() {
|
||||
if (@available(iOS 11.0, *)) {
|
||||
NSString *string = [@[@"_", @"UI", @"Custom", @"BlurEffect"] componentsJoinedByString:@""];
|
||||
CustomBlurEffect *result = (CustomBlurEffect *)[NSClassFromString(string) effectWithStyle:0];
|
||||
@ -193,7 +184,7 @@ UIBlurEffect *makeCustomZoomBlurEffect() {
|
||||
}
|
||||
}
|
||||
|
||||
void applySmoothRoundedCorners(CALayer * _Nonnull layer) {
|
||||
void applySmoothRoundedCornersImpl(CALayer * _Nonnull layer) {
|
||||
if (@available(iOS 11.0, *)) {
|
||||
setBoolField(layer, encodeText(@"tfuDpoujovpvtDpsofst;", -1), true);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user