Merge commit '2ace780b67a5909063c47a8519b67054ae8f1988'

This commit is contained in:
Peter 2018-09-25 17:58:31 +01:00
commit 1ba4a0e596
9 changed files with 79 additions and 28 deletions

View File

@ -7,7 +7,7 @@
<key>LegacyComponents.xcscheme</key>
<dict>
<key>orderHint</key>
<integer>12</integer>
<integer>0</integer>
</dict>
</dict>
<key>SuppressBuildableAutocreation</key>

View File

@ -2165,7 +2165,9 @@ static CGPoint TGCameraControllerClampPointToScreenSize(__unused id self, __unus
{
case PGCameraModeVideo:
{
if (widescreenWidth == 812.0f)
if (widescreenWidth == 896.0f)
return CGRectMake(0, 77, screenSize.width, screenSize.height - 77 - 83);
else if (widescreenWidth == 812.0f)
return CGRectMake(0, 77, screenSize.width, screenSize.height - 77 - 68);
else
return CGRectMake(0, 0, screenSize.width, screenSize.height);
@ -2187,9 +2189,11 @@ static CGPoint TGCameraControllerClampPointToScreenSize(__unused id self, __unus
default:
{
if (widescreenWidth == 812.0f)
if (widescreenWidth == 896.0f)
return CGRectMake(0, 121, screenSize.width, screenSize.height - 121 - 223);
else if (widescreenWidth == 812.0f)
return CGRectMake(0, 121, screenSize.width, screenSize.height - 121 - 191);
if (widescreenWidth >= 736.0f - FLT_EPSILON)
else if (widescreenWidth >= 736.0f - FLT_EPSILON)
return CGRectMake(0, 44, screenSize.width, screenSize.height - 50 - 136);
else if (widescreenWidth >= 667.0f - FLT_EPSILON)
return CGRectMake(0, 44, screenSize.width, screenSize.height - 44 - 123);

View File

@ -110,7 +110,18 @@
CGFloat shutterButtonWidth = 66.0f;
CGSize screenSize = TGScreenSize();
CGFloat widescreenWidth = MAX(screenSize.width, screenSize.height);
if (widescreenWidth == 812.0f)
if (widescreenWidth == 896.0f)
{
_topPanelOffset = 33.0f;
_topPanelHeight = 44.0f;
_bottomPanelOffset = 94.0f;
_bottomPanelHeight = 123.0f;
_modeControlOffset = 0.0f;
_modeControlHeight = 52.0f;
_counterOffset = 7.0f;
shutterButtonWidth = 72.0f;
}
else if (widescreenWidth == 812.0f)
{
_topPanelOffset = 33.0f;
_topPanelHeight = 44.0f;

View File

@ -16,5 +16,6 @@
@property (nonatomic, readonly) NSString *street;
+ (TGLocationReverseGeocodeResult *)reverseGeocodeResultWithDictionary:(NSDictionary *)dictionary;
+ (TGLocationReverseGeocodeResult *)reverseGeocodeResultWithPlacemark:(CLPlacemark *)placemark;
@end

View File

@ -44,6 +44,20 @@
return result;
}
+ (TGLocationReverseGeocodeResult *)reverseGeocodeResultWithPlacemark:(CLPlacemark *)placemark
{
TGLocationReverseGeocodeResult *result = [[TGLocationReverseGeocodeResult alloc] init];
result->_country = placemark.country;
result->_countryAbbr = placemark.ISOcountryCode;
result->_city = placemark.locality;
result->_district = placemark.subLocality;
result->_street = placemark.thoroughfare;
if (placemark.name.length > 0 && result->_street.length == 0) {
result->_street = placemark.name;
}
return result;
}
- (NSString *)displayAddress
{
if (self.street.length > 0)
@ -56,4 +70,4 @@
return nil;
}
@end
@end

View File

@ -132,21 +132,27 @@ NSString *const TGLocationGoogleGeocodeLocale = @"en";
+ (SSignal *)reverseGeocodeCoordinate:(CLLocationCoordinate2D)coordinate
{
NSURL *url = [NSURL URLWithString:[[NSString alloc] initWithFormat:@"https://maps.googleapis.com/maps/api/geocode/json?latlng=%f,%f&sensor=true&language=%@", coordinate.latitude, coordinate.longitude, TGLocationGoogleGeocodeLocale]];
return [[[LegacyComponentsGlobals provider] jsonForHttpLocation:url.absoluteString] map:^id(id json)
return [[SSignal alloc] initWithGenerator:^id<SDisposable>(SSubscriber *subscriber)
{
if (![json respondsToSelector:@selector(objectForKey:)])
return nil;
CLGeocoder *geocoder = [[CLGeocoder alloc] init];
[geocoder reverseGeocodeLocation:[[CLLocation alloc] initWithLatitude:coordinate.latitude longitude:coordinate.longitude] completionHandler:^(NSArray *placemarks, NSError *error)
{
if (error != nil)
{
[subscriber putError:error];
return;
}
else
{
[subscriber putNext:[TGLocationReverseGeocodeResult reverseGeocodeResultWithPlacemark:placemarks.firstObject]];
[subscriber putCompletion];
}
}];
NSArray *results = json[@"results"];
if (![results respondsToSelector:@selector(objectAtIndex:)])
return nil;
if (![results.firstObject isKindOfClass:[NSDictionary class]])
return nil;
return [TGLocationReverseGeocodeResult reverseGeocodeResultWithDictionary:results.firstObject];
return [[SBlockDisposable alloc] initWithBlock:^
{
[geocoder cancelGeocode];
}];
}];
}

View File

@ -359,8 +359,8 @@
_showCallStatusBar = showCallStatusBar;
CGFloat statusBarHeight = (int)TGScreenSize().height == 812 ? 0.0f : 20.0f;
int screenHeight = (int)TGScreenSize().height;
CGFloat statusBarHeight = (screenHeight == 812 || screenHeight == 896) ? 0.0f : 20.0f;
_currentAdditionalStatusBarHeight = _showCallStatusBar ? statusBarHeight : 0.0f;
[(TGNavigationBar *)self.navigationBar setVerticalOffset:_currentAdditionalStatusBarHeight];

View File

@ -268,6 +268,7 @@ NSString *const TGPassportEmptyCharacter = @"<";
dispatch_once(&onceToken, ^
{
dateFormatter = [[NSDateFormatter alloc] init];
dateFormatter.timeZone = [NSTimeZone timeZoneForSecondsFromGMT:0];
dateFormatter.dateFormat = @"YYMMdd";
dateFormatter.locale = [NSLocale localeWithLocaleIdentifier:@"en_US_POSIX"];
});

View File

@ -149,6 +149,11 @@
simpleButtonInsetHorizontal = 26.0f;
simpleButtonInsetVertical = 21.0f;
}
else if ((int)screenSize.height == 896)
{
simpleButtonInsetHorizontal = 54.0f;
simpleButtonInsetVertical = 67.0f;
}
else if ((int)screenSize.height == 812)
{
simpleButtonInsetHorizontal = 54.0f;
@ -528,12 +533,21 @@
pinOffset = 89.0f;
infoOffset = 7.0f;
}
else if ((int)screenSize.height == 896)
{
keyboardOffset = 330.0f;
titleOffset = 116.0f;
pinOffset = 79.0f + TGScreenPixel;
infoOffset = 6.0f - TGScreenPixel;
topOffset = 44.0f;
bottomOffset = 34.0f;
}
else if ((int)screenSize.height == 812)
{
keyboardOffset = 300.0f;
titleOffset = 116.0f;
pinOffset = 79.0f + TGRetinaPixel;
infoOffset = 6.0f - TGRetinaPixel;
pinOffset = 79.0f + TGScreenPixel;
infoOffset = 6.0f - TGScreenPixel;
topOffset = 44.0f;
bottomOffset = 34.0f;
}
@ -541,20 +555,20 @@
{
keyboardOffset = 246.0f;
titleOffset = 112.0f;
pinOffset = 79.0f + TGRetinaPixel;
infoOffset = 6.0f - TGRetinaPixel;
pinOffset = 79.0f + TGScreenPixel;
infoOffset = 6.0f - TGScreenPixel;
}
else if ((int)screenSize.height == 667)
{
keyboardOffset = 206.0f;
titleOffset = 112.0f;
pinOffset = 79.0f + TGRetinaPixel;
infoOffset = 6.0f - TGRetinaPixel;
pinOffset = 79.0f + TGScreenPixel;
infoOffset = 6.0f - TGScreenPixel;
}
else if ((int)screenSize.height == 568)
{
keyboardOffset = 163.0f;
titleOffset = 98.0f - TGRetinaPixel;
titleOffset = 98.0f - TGScreenPixel;
pinOffset = 72.0f;
infoOffset = 0.0f;
}