mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-06-16 05:55:20 +00:00
Merge branch 'master' of gitlab.com:peter-iakovlev/telegram-ios
This commit is contained in:
commit
93f09734ff
2
Makefile
2
Makefile
@ -3,7 +3,7 @@
|
||||
include Utils.makefile
|
||||
|
||||
|
||||
APP_VERSION="7.1.2"
|
||||
APP_VERSION="7.2"
|
||||
CORE_COUNT=$(shell sysctl -n hw.logicalcpu)
|
||||
CORE_COUNT_MINUS_ONE=$(shell expr ${CORE_COUNT} \- 1)
|
||||
|
||||
|
@ -1,12 +1,9 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<document type="com.apple.InterfaceBuilder.WatchKit.Storyboard" version="3.0" toolsVersion="14313.18" targetRuntime="watchKit" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES" initialViewController="umr-Wa-jBL">
|
||||
<device id="watch38" orientation="portrait">
|
||||
<adaptation id="fullscreen"/>
|
||||
</device>
|
||||
<document type="com.apple.InterfaceBuilder.WatchKit.Storyboard" version="3.0" toolsVersion="17156" targetRuntime="watchKit" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES" initialViewController="umr-Wa-jBL">
|
||||
<device id="watch38"/>
|
||||
<dependencies>
|
||||
<deployment identifier="watchOS"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="14283.14"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.IBWatchKitPlugin" version="14238.10"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="17125"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.IBWatchKitPlugin" version="17034"/>
|
||||
</dependencies>
|
||||
<scenes>
|
||||
<!--TGNeoConversationController-->
|
||||
@ -1097,432 +1094,6 @@ contacts found.</string>
|
||||
</objects>
|
||||
<point key="canvasLocation" x="1130" y="463"/>
|
||||
</scene>
|
||||
<!--Static M-->
|
||||
<scene sceneID="AEw-b0-oYE">
|
||||
<objects>
|
||||
<notificationController backgroundImage="BubbleNotification" spacing="0.0" id="YCC-NB-fut" userLabel="Static M">
|
||||
<items>
|
||||
<group width="1" alignment="left" radius="0.0" id="48N-YZ-6wz">
|
||||
<items>
|
||||
<label alignment="left" text="Text" numberOfLines="0" id="D1w-ZG-PyH">
|
||||
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<fontDescription key="font" style="UICTFontTextStyleBody"/>
|
||||
</label>
|
||||
</items>
|
||||
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
<edgeInsets key="margins" left="8" right="8" top="10" bottom="11"/>
|
||||
</group>
|
||||
</items>
|
||||
<notificationCategory key="notificationCategory" identifier="m" id="JfB-70-Muf">
|
||||
<color key="titleColor" red="0.10051588714122772" green="0.10051287710666656" blue="0.10051460564136505" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<color key="sashColor" red="0.0" green="0.0" blue="0.0" alpha="0.0" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
</notificationCategory>
|
||||
<color key="backgroundColor" red="0.0" green="0.0" blue="0.0" alpha="0.0" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<edgeInsets key="margins" left="0.0" right="0.0" top="0.0" bottom="4"/>
|
||||
<connections>
|
||||
<outlet property="notificationAlertLabel" destination="D1w-ZG-PyH" id="jL5-6Q-Ttn"/>
|
||||
<segue destination="dSi-eZ-mbH" kind="relationship" relationship="dynamicNotificationInterface" id="vxV-TA-VJY"/>
|
||||
</connections>
|
||||
</notificationController>
|
||||
</objects>
|
||||
<point key="canvasLocation" x="263" y="875"/>
|
||||
</scene>
|
||||
<!--Static R-->
|
||||
<scene sceneID="Cez-Gq-mIP">
|
||||
<objects>
|
||||
<notificationController backgroundImage="BubbleNotification" spacing="0.0" id="duo-za-GTK" userLabel="Static R">
|
||||
<items>
|
||||
<group width="1" alignment="left" layout="vertical" radius="0.0" id="bh3-Uy-SPM">
|
||||
<items>
|
||||
<label alignment="left" text="Text" numberOfLines="0" id="bud-Nf-P9v">
|
||||
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<fontDescription key="font" style="UICTFontTextStyleBody"/>
|
||||
</label>
|
||||
</items>
|
||||
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
<edgeInsets key="margins" left="8" right="8" top="10" bottom="11"/>
|
||||
</group>
|
||||
</items>
|
||||
<notificationCategory key="notificationCategory" id="OCD-E6-DAX">
|
||||
<color key="titleColor" red="0.10051588714122772" green="0.10051287710666656" blue="0.10051460564136505" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<color key="sashColor" red="1" green="0.99997437000274658" blue="0.99999129772186279" alpha="0.0" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
</notificationCategory>
|
||||
<color key="backgroundColor" red="0.0" green="0.0" blue="0.0" alpha="0.0" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<edgeInsets key="margins" left="0.0" right="0.0" top="0.0" bottom="4"/>
|
||||
<connections>
|
||||
<outlet property="notificationAlertLabel" destination="bud-Nf-P9v" id="380-p3-pxh"/>
|
||||
<segue destination="Km6-N5-yeb" kind="relationship" relationship="dynamicNotificationInterface" id="D9i-4a-BEc"/>
|
||||
</connections>
|
||||
</notificationController>
|
||||
</objects>
|
||||
<point key="canvasLocation" x="268" y="1414"/>
|
||||
</scene>
|
||||
<!--Dynamic R-->
|
||||
<scene sceneID="v88-RH-0Ql">
|
||||
<objects>
|
||||
<controller backgroundImage="BubbleNotification" spacing="0.0" id="Km6-N5-yeb" userLabel="Dynamic R" customClass="TGNotificationController">
|
||||
<items>
|
||||
<group width="1" alignment="left" layout="vertical" radius="0.0" spacing="0.0" id="mfC-xM-cxy">
|
||||
<items>
|
||||
<group width="1" alignment="left" layout="vertical" spacing="0.0" id="wyb-qB-Qel">
|
||||
<items>
|
||||
<label alignment="left" hidden="YES" text="Chat Title" id="nY4-PY-ouY">
|
||||
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<fontDescription key="font" type="system" weight="medium" pointSize="12"/>
|
||||
</label>
|
||||
<label alignment="left" hidden="YES" text="Name" id="7s1-eh-fbh">
|
||||
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<fontDescription key="font" type="system" weight="medium" pointSize="16"/>
|
||||
</label>
|
||||
<group width="1" height="29" alignment="left" hidden="YES" layout="vertical" spacing="0.0" id="7ca-gR-lQ3">
|
||||
<items>
|
||||
<label alignment="left" verticalAlignment="center" text="Forwarded from" id="ugR-GT-tRD" userLabel="ForwardTitle">
|
||||
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<fontDescription key="font" type="system" pointSize="12"/>
|
||||
</label>
|
||||
<label alignment="left" verticalAlignment="center" text="Name" id="t2S-5n-2vv" userLabel="ForwardFrom">
|
||||
<color key="textColor" red="0.11312995851039886" green="0.50641471147537231" blue="0.96399867534637451" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<fontDescription key="font" type="system" weight="medium" pointSize="12"/>
|
||||
</label>
|
||||
</items>
|
||||
<color key="backgroundColor" red="0.0" green="0.0" blue="0.0" alpha="0.0" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<edgeInsets key="margins" left="0.0" right="0.0" top="0.0" bottom="0.0"/>
|
||||
</group>
|
||||
<group width="1" height="29" alignment="left" hidden="YES" spacing="4" id="mzm-dj-ikh" userLabel="ReplyHeader">
|
||||
<items>
|
||||
<group width="2" height="26" alignment="left" verticalAlignment="center" radius="0.0" spacing="0.0" id="yEy-WL-su3" userLabel="ReplyLine">
|
||||
<color key="backgroundColor" red="0.11312995851039886" green="0.50641471147537231" blue="0.96399867534637451" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<edgeInsets key="margins" left="0.0" right="0.0" top="0.0" bottom="0.0"/>
|
||||
</group>
|
||||
<group width="26" height="26" alignment="left" verticalAlignment="center" radius="2" id="6N2-x0-qTe" userLabel="ReplyImage">
|
||||
<color key="backgroundColor" red="0.0" green="0.0" blue="0.0" alpha="0.089999999999999997" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
</group>
|
||||
<group width="1" alignment="left" layout="vertical" spacing="0.0" id="9WC-D4-VbM" userLabel="ReplyMessage">
|
||||
<items>
|
||||
<label alignment="left" text="Name" id="W56-AY-6jy" userLabel="ReplyAuthor">
|
||||
<color key="textColor" red="0.11312995851039886" green="0.50641471147537231" blue="0.96399867534637451" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<fontDescription key="font" type="system" weight="medium" pointSize="12"/>
|
||||
</label>
|
||||
<label alignment="left" text="Text" id="kk0-zw-fCl" userLabel="ReplyText">
|
||||
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<fontDescription key="font" type="system" pointSize="12"/>
|
||||
</label>
|
||||
</items>
|
||||
<edgeInsets key="margins" left="0.0" right="0.0" top="0.0" bottom="0.0"/>
|
||||
</group>
|
||||
</items>
|
||||
<edgeInsets key="margins" left="0.0" right="0.0" top="0.0" bottom="0.0"/>
|
||||
</group>
|
||||
<label alignment="left" text="Text" numberOfLines="0" id="nQW-fB-pYI">
|
||||
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<fontDescription key="font" style="UICTFontTextStyleBody"/>
|
||||
</label>
|
||||
</items>
|
||||
<edgeInsets key="margins" left="8" right="8" top="0.0" bottom="5"/>
|
||||
</group>
|
||||
<group width="1" alignment="left" hidden="YES" layout="vertical" id="1il-cr-5K0" userLabel="WrapperGroup">
|
||||
<items>
|
||||
<group width="1" alignment="left" layout="vertical" radius="10" spacing="0.0" id="JJt-07-p6x" userLabel="LocationGroup">
|
||||
<items>
|
||||
<map height="92" alignment="left" id="ugQ-yo-LS8"/>
|
||||
</items>
|
||||
<edgeInsets key="margins" left="0.0" right="0.0" top="0.0" bottom="0.0"/>
|
||||
</group>
|
||||
<group width="1" alignment="left" spacing="5" id="ANN-OG-5Ze" userLabel="FileGroup">
|
||||
<items>
|
||||
<imageView width="26" height="26" alignment="left" verticalAlignment="center" hidden="YES" image="Location" contentMode="center" id="lG8-D0-tJV" userLabel="VenueIcon">
|
||||
<color key="tintColor" red="0.35566622018814087" green="0.68838506937026978" blue="0.91561108827590942" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
</imageView>
|
||||
<group width="26" height="26" alignment="left" verticalAlignment="center" hidden="YES" radius="13" spacing="0.0" id="RaH-Pv-V61" userLabel="AudioGroup">
|
||||
<items>
|
||||
<imageView width="26" height="26" alignment="left" image="MediaAudioPlay" contentMode="center" id="Hcb-8c-4I2"/>
|
||||
</items>
|
||||
<color key="backgroundColor" red="0.35566622018814087" green="0.68838506937026978" blue="0.91561108827590942" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<edgeInsets key="margins" left="0.0" right="0.0" top="0.0" bottom="0.0"/>
|
||||
</group>
|
||||
<group width="26" height="26" alignment="left" verticalAlignment="center" radius="0.0" id="fSc-ay-AOb" userLabel="FileIconGroup">
|
||||
<items>
|
||||
<imageView alignment="center" verticalAlignment="center" image="File.png" contentMode="center" id="cdA-4F-D0E">
|
||||
<color key="tintColor" red="0.14697439968585968" green="0.56079143285751343" blue="0.88162887096405029" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
</imageView>
|
||||
</items>
|
||||
<color key="backgroundColor" red="0.0" green="0.0" blue="0.0" alpha="0.0" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
</group>
|
||||
<group alignment="left" verticalAlignment="center" layout="vertical" spacing="0.0" id="wNt-UG-hOY" userLabel="FileMetaGroup">
|
||||
<items>
|
||||
<label alignment="left" text="File Name" id="4kg-td-4gi">
|
||||
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<fontDescription key="font" type="system" weight="medium" pointSize="12"/>
|
||||
</label>
|
||||
<label alignment="left" text="Size" id="eca-TA-utp">
|
||||
<color key="textColor" red="0.41865724325180054" green="0.41825520992279053" blue="0.43064218759536743" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<fontDescription key="font" type="system" pointSize="12"/>
|
||||
</label>
|
||||
</items>
|
||||
<edgeInsets key="margins" left="0.0" right="0.0" top="0.0" bottom="0.0"/>
|
||||
</group>
|
||||
</items>
|
||||
<edgeInsets key="margins" left="6.5" right="6.5" top="2" bottom="1"/>
|
||||
</group>
|
||||
<group width="1" alignment="left" spacing="0.0" id="JwB-Mx-wo3" userLabel="StickerWrapper">
|
||||
<items>
|
||||
<group width="84" height="84" alignment="left" contentMode="scaleAspectFit" id="l8v-gE-XXa" userLabel="StickerGroup">
|
||||
<variation key="device=watch38mm" height="72" width="72"/>
|
||||
<variation key="device=watch40mm" height="88" width="88"/>
|
||||
<variation key="device=watch44mm" height="100" width="100"/>
|
||||
</group>
|
||||
</items>
|
||||
<edgeInsets key="margins" left="6.5" right="0.0" top="0.0" bottom="0.0"/>
|
||||
</group>
|
||||
<group width="1" alignment="left" radius="12" id="TlV-9o-bQ0" userLabel="MediaGroup">
|
||||
<items>
|
||||
<group alignment="right" verticalAlignment="bottom" radius="10" id="bII-EE-L0C" userLabel="DurationGroup">
|
||||
<items>
|
||||
<label alignment="left" text="2:34" id="DT6-b5-gtK" userLabel="Duration">
|
||||
<color key="textColor" red="0.24618944525718689" green="0.24618205428123474" blue="0.24618625640869141" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<fontDescription key="font" type="system" pointSize="12"/>
|
||||
</label>
|
||||
</items>
|
||||
<color key="backgroundColor" red="0.89292949438095093" green="0.91148859262466431" blue="0.93112039566040039" alpha="0.80000000000000004" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<edgeInsets key="margins" left="6" right="6" top="2" bottom="2"/>
|
||||
</group>
|
||||
</items>
|
||||
<color key="backgroundColor" red="0.0" green="0.0" blue="0.0" alpha="0.089999999999999997" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<edgeInsets key="margins" left="4" right="4" top="4" bottom="4"/>
|
||||
</group>
|
||||
<group width="1" alignment="left" id="0to-MY-UuU" userLabel="CaptionGroup">
|
||||
<items>
|
||||
<label alignment="left" text="Caption" numberOfLines="0" id="kaM-1v-3k6">
|
||||
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<fontDescription key="font" type="system" pointSize="16"/>
|
||||
</label>
|
||||
</items>
|
||||
<edgeInsets key="margins" left="8" right="8" top="4" bottom="4"/>
|
||||
</group>
|
||||
</items>
|
||||
<edgeInsets key="margins" left="1.5" right="1.5" top="0.0" bottom="0.0"/>
|
||||
</group>
|
||||
</items>
|
||||
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
<edgeInsets key="margins" left="0.0" right="0.0" top="10" bottom="5"/>
|
||||
</group>
|
||||
</items>
|
||||
<color key="backgroundColor" red="0.0" green="0.0" blue="0.0" alpha="0.0" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<edgeInsets key="margins" left="0.0" right="0.0" top="0.0" bottom="4"/>
|
||||
<connections>
|
||||
<outlet property="audioGroup" destination="RaH-Pv-V61" id="aSC-wS-UlL"/>
|
||||
<outlet property="captionGroup" destination="0to-MY-UuU" id="3Qb-RO-mt0"/>
|
||||
<outlet property="captionLabel" destination="kaM-1v-3k6" id="Hdx-Uo-2pn"/>
|
||||
<outlet property="chatTitleLabel" destination="nY4-PY-ouY" id="eKb-F4-IDZ"/>
|
||||
<outlet property="durationGroup" destination="bII-EE-L0C" id="i4e-JX-dgt"/>
|
||||
<outlet property="durationLabel" destination="DT6-b5-gtK" id="zeN-m6-tAn"/>
|
||||
<outlet property="fileGroup" destination="ANN-OG-5Ze" id="Xvn-kD-ijA"/>
|
||||
<outlet property="fileIconGroup" destination="fSc-ay-AOb" id="A6N-g4-8fv"/>
|
||||
<outlet property="forwardFromLabel" destination="t2S-5n-2vv" id="8Oi-9Y-2Ns"/>
|
||||
<outlet property="forwardHeaderGroup" destination="7ca-gR-lQ3" id="zs1-fj-L1I"/>
|
||||
<outlet property="forwardTitleLabel" destination="ugR-GT-tRD" id="1X1-vd-ZQa"/>
|
||||
<outlet property="map" destination="ugQ-yo-LS8" id="7DS-eu-d65"/>
|
||||
<outlet property="mapGroup" destination="JJt-07-p6x" id="xDn-aB-wYf"/>
|
||||
<outlet property="mediaGroup" destination="TlV-9o-bQ0" id="Iyf-d8-jpI"/>
|
||||
<outlet property="messageTextLabel" destination="nQW-fB-pYI" id="S2O-rN-7Sm"/>
|
||||
<outlet property="nameLabel" destination="7s1-eh-fbh" id="A3Q-xr-EMc"/>
|
||||
<outlet property="replyAuthorNameLabel" destination="W56-AY-6jy" id="z6z-jA-Qjn"/>
|
||||
<outlet property="replyHeaderGroup" destination="mzm-dj-ikh" id="tIx-pO-cmO"/>
|
||||
<outlet property="replyHeaderImageGroup" destination="6N2-x0-qTe" id="Ss5-RZ-eLX"/>
|
||||
<outlet property="replyMessageTextLabel" destination="kk0-zw-fCl" id="HQ6-Ia-JdV"/>
|
||||
<outlet property="stickerGroup" destination="l8v-gE-XXa" id="Rv0-mx-Gif"/>
|
||||
<outlet property="stickerWrapperGroup" destination="JwB-Mx-wo3" id="Fey-0F-yeS"/>
|
||||
<outlet property="subtitleLabel" destination="eca-TA-utp" id="5Q6-0R-mLP"/>
|
||||
<outlet property="titleLabel" destination="4kg-td-4gi" id="eFn-0c-ZNU"/>
|
||||
<outlet property="venueIcon" destination="lG8-D0-tJV" id="RJo-6C-tAD"/>
|
||||
<outlet property="wrapperGroup" destination="1il-cr-5K0" id="dHU-Wx-4Zd"/>
|
||||
</connections>
|
||||
</controller>
|
||||
</objects>
|
||||
<point key="canvasLocation" x="503" y="1413.75"/>
|
||||
</scene>
|
||||
<!--Dynamic M-->
|
||||
<scene sceneID="cqp-oW-egv">
|
||||
<objects>
|
||||
<controller backgroundImage="BubbleNotification" id="dSi-eZ-mbH" userLabel="Dynamic M" customClass="TGNotificationController">
|
||||
<items>
|
||||
<group width="1" alignment="left" layout="vertical" radius="0.0" spacing="0.0" id="NQT-HX-BaM">
|
||||
<items>
|
||||
<group width="1" alignment="left" layout="vertical" spacing="0.0" id="NU6-vv-ud2">
|
||||
<items>
|
||||
<label alignment="left" hidden="YES" text="Chat Title" id="nxH-Wj-uqy">
|
||||
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<fontDescription key="font" type="system" weight="medium" pointSize="12"/>
|
||||
</label>
|
||||
<label alignment="left" hidden="YES" text="Name" id="3Z9-Rd-bAn">
|
||||
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<fontDescription key="font" type="system" weight="medium" pointSize="16"/>
|
||||
</label>
|
||||
<group width="1" height="29" alignment="left" hidden="YES" layout="vertical" spacing="0.0" id="Xq9-eF-ZCN">
|
||||
<items>
|
||||
<label alignment="left" verticalAlignment="center" text="Forwarded from" id="skX-7L-Ch5" userLabel="ForwardTitle">
|
||||
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<fontDescription key="font" type="system" pointSize="12"/>
|
||||
</label>
|
||||
<label alignment="left" verticalAlignment="center" text="Name" id="0Za-Qu-4HB" userLabel="ForwardFrom">
|
||||
<color key="textColor" red="0.11312995851039886" green="0.50641471147537231" blue="0.96399867534637451" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<fontDescription key="font" type="system" weight="medium" pointSize="12"/>
|
||||
</label>
|
||||
</items>
|
||||
<color key="backgroundColor" red="0.0" green="0.0" blue="0.0" alpha="0.0" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<edgeInsets key="margins" left="0.0" right="0.0" top="0.0" bottom="0.0"/>
|
||||
</group>
|
||||
<group width="1" height="29" alignment="left" hidden="YES" spacing="4" id="HRa-PM-Aqr" userLabel="ReplyHeader">
|
||||
<items>
|
||||
<group width="2" height="26" alignment="left" verticalAlignment="center" radius="0.0" spacing="0.0" id="HDc-Da-N0m" userLabel="ReplyLine">
|
||||
<color key="backgroundColor" red="0.11312995851039886" green="0.50641471147537231" blue="0.96399867534637451" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<edgeInsets key="margins" left="0.0" right="0.0" top="0.0" bottom="0.0"/>
|
||||
</group>
|
||||
<group width="26" height="26" alignment="left" verticalAlignment="center" radius="2" id="gdR-w4-b1Y" userLabel="ReplyImage">
|
||||
<color key="backgroundColor" red="0.0" green="0.0" blue="0.0" alpha="0.089999999999999997" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
</group>
|
||||
<group width="1" alignment="left" layout="vertical" spacing="0.0" id="MVH-mF-cZ8" userLabel="ReplyMessage">
|
||||
<items>
|
||||
<label alignment="left" text="Name" id="hZA-Ux-hB3" userLabel="ReplyAuthor">
|
||||
<color key="textColor" red="0.11312995851039886" green="0.50641471147537231" blue="0.96399867534637451" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<fontDescription key="font" type="system" weight="medium" pointSize="12"/>
|
||||
</label>
|
||||
<label alignment="left" text="Text" id="7DV-4a-9iO" userLabel="ReplyText">
|
||||
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<fontDescription key="font" type="system" pointSize="12"/>
|
||||
</label>
|
||||
</items>
|
||||
<edgeInsets key="margins" left="0.0" right="0.0" top="0.0" bottom="0.0"/>
|
||||
</group>
|
||||
</items>
|
||||
<edgeInsets key="margins" left="0.0" right="0.0" top="0.0" bottom="0.0"/>
|
||||
</group>
|
||||
<label alignment="left" text="Text" numberOfLines="0" id="obt-pK-Aw0">
|
||||
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<fontDescription key="font" style="UICTFontTextStyleBody"/>
|
||||
</label>
|
||||
</items>
|
||||
<edgeInsets key="margins" left="8" right="8" top="0.0" bottom="5"/>
|
||||
</group>
|
||||
<group width="1" alignment="left" hidden="YES" layout="vertical" id="V2H-mQ-YmP" userLabel="WrapperGroup">
|
||||
<items>
|
||||
<group width="1" alignment="left" layout="vertical" radius="10" spacing="0.0" id="T64-Bs-ZO0" userLabel="LocationGroup">
|
||||
<items>
|
||||
<map height="92" alignment="left" id="0qp-I0-Lit"/>
|
||||
</items>
|
||||
<edgeInsets key="margins" left="0.0" right="0.0" top="0.0" bottom="0.0"/>
|
||||
</group>
|
||||
<group width="1" alignment="left" spacing="5" id="Rgj-f7-zBW" userLabel="FileGroup">
|
||||
<items>
|
||||
<imageView width="26" height="26" alignment="left" verticalAlignment="center" hidden="YES" image="Location" contentMode="center" id="yrG-g1-vgS" userLabel="VenueIcon">
|
||||
<color key="tintColor" red="0.35566622018814087" green="0.68838506937026978" blue="0.91561108827590942" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
</imageView>
|
||||
<group width="26" height="26" alignment="left" verticalAlignment="center" hidden="YES" radius="13" spacing="0.0" id="Jhq-Fp-zJI" userLabel="AudioGroup">
|
||||
<items>
|
||||
<imageView width="26" height="26" alignment="left" image="MediaAudioPlay" contentMode="center" id="ReC-bD-5hg"/>
|
||||
</items>
|
||||
<color key="backgroundColor" red="0.35566622018814087" green="0.68838506937026978" blue="0.91561108827590942" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<edgeInsets key="margins" left="0.0" right="0.0" top="0.0" bottom="0.0"/>
|
||||
</group>
|
||||
<group width="26" height="26" alignment="left" verticalAlignment="center" radius="0.0" id="c6f-XR-VkD" userLabel="FileIconGroup">
|
||||
<items>
|
||||
<imageView alignment="center" verticalAlignment="center" image="File.png" contentMode="center" id="J4f-BW-IzH">
|
||||
<color key="tintColor" red="0.14697439968585968" green="0.56079143285751343" blue="0.88162887096405029" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
</imageView>
|
||||
</items>
|
||||
<color key="backgroundColor" red="0.0" green="0.0" blue="0.0" alpha="0.0" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
</group>
|
||||
<group alignment="left" verticalAlignment="center" layout="vertical" spacing="0.0" id="1FL-Q3-zR0" userLabel="FileMetaGroup">
|
||||
<items>
|
||||
<label alignment="left" text="File Name" id="vYh-VG-Kbb">
|
||||
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<fontDescription key="font" type="system" weight="medium" pointSize="12"/>
|
||||
</label>
|
||||
<label alignment="left" text="Size" id="yfu-XJ-oXa">
|
||||
<color key="textColor" red="0.41865724325180054" green="0.41825520992279053" blue="0.43064218759536743" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<fontDescription key="font" type="system" pointSize="12"/>
|
||||
</label>
|
||||
</items>
|
||||
<edgeInsets key="margins" left="0.0" right="0.0" top="0.0" bottom="0.0"/>
|
||||
</group>
|
||||
</items>
|
||||
<edgeInsets key="margins" left="6.5" right="6.5" top="2" bottom="1"/>
|
||||
</group>
|
||||
<group width="1" alignment="left" spacing="0.0" id="WVZ-hR-PhJ" userLabel="StickerWrapper">
|
||||
<items>
|
||||
<group width="0.5" height="64" alignment="left" contentMode="scaleAspectFit" id="AzN-iK-uh2" userLabel="StickerGroup">
|
||||
<variation key="device=watch42mm" height="72"/>
|
||||
</group>
|
||||
</items>
|
||||
<edgeInsets key="margins" left="6.5" right="0.0" top="0.0" bottom="0.0"/>
|
||||
</group>
|
||||
<group width="1" alignment="left" radius="12" id="ppU-pp-l1S" userLabel="MediaGroup">
|
||||
<items>
|
||||
<group alignment="right" verticalAlignment="bottom" radius="10" id="O3C-f6-Vdb" userLabel="DurationGroup">
|
||||
<items>
|
||||
<label alignment="left" text="2:34" id="d4e-qi-dHW" userLabel="Duration">
|
||||
<color key="textColor" red="0.24618944525718689" green="0.24618205428123474" blue="0.24618625640869141" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<fontDescription key="font" type="system" pointSize="12"/>
|
||||
</label>
|
||||
</items>
|
||||
<color key="backgroundColor" red="0.89292949438095093" green="0.91148859262466431" blue="0.93112039566040039" alpha="0.80000000000000004" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<edgeInsets key="margins" left="6" right="6" top="2" bottom="2"/>
|
||||
</group>
|
||||
</items>
|
||||
<color key="backgroundColor" red="0.0" green="0.0" blue="0.0" alpha="0.089999999999999997" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<edgeInsets key="margins" left="4" right="4" top="4" bottom="4"/>
|
||||
</group>
|
||||
<group width="1" alignment="left" id="q49-gu-zF9" userLabel="CaptionGroup">
|
||||
<items>
|
||||
<label alignment="left" text="Caption" numberOfLines="0" id="DFG-U5-QhE">
|
||||
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<fontDescription key="font" type="system" pointSize="16"/>
|
||||
</label>
|
||||
</items>
|
||||
<edgeInsets key="margins" left="8" right="8" top="4" bottom="4"/>
|
||||
</group>
|
||||
</items>
|
||||
<edgeInsets key="margins" left="1.5" right="1.5" top="0.0" bottom="0.0"/>
|
||||
</group>
|
||||
</items>
|
||||
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
<edgeInsets key="margins" left="0.0" right="0.0" top="10" bottom="5"/>
|
||||
</group>
|
||||
</items>
|
||||
<color key="backgroundColor" red="0.0" green="0.0" blue="0.0" alpha="0.0" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<edgeInsets key="margins" left="0.0" right="0.0" top="0.0" bottom="4"/>
|
||||
<connections>
|
||||
<outlet property="audioGroup" destination="Jhq-Fp-zJI" id="td2-MW-fXd"/>
|
||||
<outlet property="captionGroup" destination="q49-gu-zF9" id="VpF-Mn-NPc"/>
|
||||
<outlet property="captionLabel" destination="DFG-U5-QhE" id="0HU-Lc-aA1"/>
|
||||
<outlet property="chatTitleLabel" destination="nxH-Wj-uqy" id="M9k-c8-5Jv"/>
|
||||
<outlet property="durationGroup" destination="O3C-f6-Vdb" id="oAU-5e-HbS"/>
|
||||
<outlet property="durationLabel" destination="d4e-qi-dHW" id="g8n-fB-TBl"/>
|
||||
<outlet property="fileGroup" destination="Rgj-f7-zBW" id="Oew-x9-kp2"/>
|
||||
<outlet property="fileIconGroup" destination="c6f-XR-VkD" id="0vF-hC-7Rp"/>
|
||||
<outlet property="forwardFromLabel" destination="0Za-Qu-4HB" id="nnp-Ld-lml"/>
|
||||
<outlet property="forwardHeaderGroup" destination="Xq9-eF-ZCN" id="dNN-9b-RXQ"/>
|
||||
<outlet property="forwardTitleLabel" destination="skX-7L-Ch5" id="kPe-OY-vjQ"/>
|
||||
<outlet property="map" destination="0qp-I0-Lit" id="2qQ-iW-AFY"/>
|
||||
<outlet property="mapGroup" destination="T64-Bs-ZO0" id="Sgr-JR-Db8"/>
|
||||
<outlet property="mediaGroup" destination="ppU-pp-l1S" id="2M8-CP-Noy"/>
|
||||
<outlet property="messageTextLabel" destination="obt-pK-Aw0" id="57m-0N-bX8"/>
|
||||
<outlet property="nameLabel" destination="3Z9-Rd-bAn" id="8kM-mT-2ZN"/>
|
||||
<outlet property="replyAuthorNameLabel" destination="hZA-Ux-hB3" id="hlt-W5-k5P"/>
|
||||
<outlet property="replyHeaderGroup" destination="HRa-PM-Aqr" id="I10-gZ-KfR"/>
|
||||
<outlet property="replyHeaderImageGroup" destination="gdR-w4-b1Y" id="qQS-ZH-fWl"/>
|
||||
<outlet property="replyMessageTextLabel" destination="7DV-4a-9iO" id="Wzy-4A-GdY"/>
|
||||
<outlet property="stickerGroup" destination="AzN-iK-uh2" id="Wgo-GU-lNF"/>
|
||||
<outlet property="stickerWrapperGroup" destination="WVZ-hR-PhJ" id="aR5-Gb-GX2"/>
|
||||
<outlet property="subtitleLabel" destination="yfu-XJ-oXa" id="Pf7-PQ-6rB"/>
|
||||
<outlet property="titleLabel" destination="vYh-VG-Kbb" id="bXz-ee-o3E"/>
|
||||
<outlet property="venueIcon" destination="yrG-g1-vgS" id="VWh-0b-QoX"/>
|
||||
<outlet property="wrapperGroup" destination="V2H-mQ-YmP" id="LTE-m1-bVJ"/>
|
||||
</connections>
|
||||
</controller>
|
||||
</objects>
|
||||
<point key="canvasLocation" x="503" y="874.75"/>
|
||||
</scene>
|
||||
<!--Telegram-->
|
||||
<scene sceneID="A9d-DL-l8r">
|
||||
<objects>
|
||||
@ -2000,4 +1571,20 @@ contacts found.</string>
|
||||
</scene>
|
||||
</scenes>
|
||||
<color key="tintColor" red="0.15550534427165985" green="0.57037848234176636" blue="0.8720671534538269" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<resources>
|
||||
<image name="BotCommandIcon" width="128" height="128"/>
|
||||
<image name="File.png" width="128" height="128"/>
|
||||
<image name="LocationIcon" width="128" height="128"/>
|
||||
<image name="LoginIcon" width="128" height="128"/>
|
||||
<image name="MediaAudioPlay" width="128" height="128"/>
|
||||
<image name="MediaLocation" width="11" height="15"/>
|
||||
<image name="MessageStatusDot" width="128" height="128"/>
|
||||
<image name="MicAccessIcon" width="128" height="128"/>
|
||||
<image name="MicIcon" width="128" height="128"/>
|
||||
<image name="PickLocation" width="128" height="128"/>
|
||||
<image name="RemotePlayVideo" width="128" height="128"/>
|
||||
<image name="Spinner" width="128" height="128"/>
|
||||
<image name="StickerIcon" width="128" height="128"/>
|
||||
<image name="VerifiedProfile" width="128" height="128"/>
|
||||
</resources>
|
||||
</document>
|
||||
|
@ -38,7 +38,7 @@
|
||||
|
||||
+ (UIColor *)colorForUserId:(int32_t)userId myUserId:(int32_t)myUserId
|
||||
{
|
||||
return [self placeholderColors][userId % 7];
|
||||
return [self placeholderColors][abs(userId) % 7];
|
||||
}
|
||||
|
||||
+ (UIColor *)colorForGroupId:(int64_t)groupId
|
||||
|
@ -54,9 +54,11 @@ BAZEL_OPTIONS=(\
|
||||
--swiftcopt=-j${CORE_COUNT_MINUS_ONE} \
|
||||
)
|
||||
|
||||
if [ "$BAZEL_CACHE_DIR" != "" ]; then
|
||||
if [ "$BAZEL_HTTP_CACHE_URL" != "" ]; then
|
||||
BAZEL_OPTIONS=("${BAZEL_OPTIONS[@]}" --remote_cache="$(echo $BAZEL_HTTP_CACHE_URL | sed -e 's/[\/&]/\\&/g')")
|
||||
elif [ "$BAZEL_CACHE_DIR" != "" ]; then
|
||||
BAZEL_OPTIONS=("${BAZEL_OPTIONS[@]}" --disk_cache="$(echo $BAZEL_CACHE_DIR | sed -e 's/[\/&]/\\&/g')")
|
||||
fi
|
||||
fi
|
||||
|
||||
"$TULSI" -- \
|
||||
--verbose \
|
||||
|
@ -795,7 +795,13 @@ class ChatListItemNode: ItemListRevealOptionsItemNode {
|
||||
}
|
||||
embeddedState = embeddedStateValue
|
||||
summaryInfo = summaryInfoValue
|
||||
inputActivities = inputActivitiesValue
|
||||
|
||||
if let peerPresence = peerPresence as? TelegramUserPresence, case .present = peerPresence.status {
|
||||
inputActivities = inputActivitiesValue
|
||||
} else {
|
||||
inputActivities = nil
|
||||
}
|
||||
|
||||
isPeerGroup = false
|
||||
promoInfo = promoInfoValue
|
||||
displayAsMessage = displayAsMessageValue
|
||||
@ -1320,6 +1326,7 @@ class ChatListItemNode: ItemListRevealOptionsItemNode {
|
||||
var inputActivitiesSize: CGSize?
|
||||
var inputActivitiesApply: (() -> Void)?
|
||||
if let inputActivities = inputActivities, !inputActivities.isEmpty {
|
||||
|
||||
let (size, apply) = inputActivitiesLayout(CGSize(width: rawContentWidth - badgeSize, height: 40.0), item.presentationData, item.presentationData.theme.chatList.messageTextColor, item.index.messageIndex.id.peerId, inputActivities)
|
||||
inputActivitiesSize = size
|
||||
inputActivitiesApply = apply
|
||||
|
@ -416,6 +416,9 @@ private func hashForMessages(_ messages: [Message], withChannelIds: Bool) -> Int
|
||||
break inner
|
||||
}
|
||||
}
|
||||
if message.tags.contains(.pinned) {
|
||||
acc = (acc &* 20261) &+ UInt32(1)
|
||||
}
|
||||
acc = (acc &* 20261) &+ UInt32(timestamp)
|
||||
}
|
||||
return Int32(bitPattern: acc & UInt32(0x7FFFFFFF))
|
||||
|
@ -139,7 +139,7 @@ private func requestActivity(postbox: Postbox, network: Network, accountPeerId:
|
||||
break
|
||||
case let .present(statusTimestamp):
|
||||
let timestamp = Int32(CFAbsoluteTimeGetCurrent() + NSTimeIntervalSince1970)
|
||||
if statusTimestamp < timestamp {
|
||||
if statusTimestamp < timestamp - 30 {
|
||||
return .complete()
|
||||
}
|
||||
}
|
||||
|
@ -302,6 +302,32 @@ public struct ApplicationSpecificNotice {
|
||||
}
|
||||
}
|
||||
|
||||
public static func inlineBotLocationRequestStatus(accountManager: AccountManager, peerId: PeerId) -> Signal<Bool, NoError> {
|
||||
return accountManager.noticeEntry(key: ApplicationSpecificNoticeKeys.inlineBotLocationRequestNotice(peerId: peerId))
|
||||
|> map { view -> Bool in
|
||||
guard let value = view.value as? ApplicationSpecificTimestampNotice else {
|
||||
return false
|
||||
}
|
||||
if value.value == 0 {
|
||||
return true
|
||||
} else {
|
||||
return false
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static func updateInlineBotLocationRequestState(accountManager: AccountManager, peerId: PeerId, timestamp: Int32) -> Signal<Bool, NoError> {
|
||||
return accountManager.transaction { transaction -> Bool in
|
||||
if let notice = transaction.getNotice(ApplicationSpecificNoticeKeys.inlineBotLocationRequestNotice(peerId: peerId)) as? ApplicationSpecificTimestampNotice, (notice.value == 0 || timestamp <= notice.value + 10 * 60) {
|
||||
return false
|
||||
}
|
||||
|
||||
transaction.setNotice(ApplicationSpecificNoticeKeys.inlineBotLocationRequestNotice(peerId: peerId), ApplicationSpecificTimestampNotice(value: timestamp))
|
||||
|
||||
return true
|
||||
}
|
||||
}
|
||||
|
||||
public static func setInlineBotLocationRequest(accountManager: AccountManager, peerId: PeerId, value: Int32) -> Signal<Void, NoError> {
|
||||
return accountManager.transaction { transaction -> Void in
|
||||
transaction.setNotice(ApplicationSpecificNoticeKeys.inlineBotLocationRequestNotice(peerId: peerId), ApplicationSpecificTimestampNotice(value: value))
|
||||
|
@ -6568,7 +6568,21 @@ public final class ChatControllerImpl: TelegramBaseController, ChatController, G
|
||||
let inputTextPanelState = inputTextPanelStateForChatPresentationInterfaceState(temporaryChatPresentationInterfaceState, context: self.context)
|
||||
var updatedChatPresentationInterfaceState = temporaryChatPresentationInterfaceState.updatedInputTextPanelState({ _ in return inputTextPanelState })
|
||||
|
||||
let contextQueryUpdates = contextQueryResultStateForChatInterfacePresentationState(updatedChatPresentationInterfaceState, context: self.context, currentQueryStates: &self.contextQueryStates)
|
||||
let contextQueryUpdates = contextQueryResultStateForChatInterfacePresentationState(updatedChatPresentationInterfaceState, context: self.context, currentQueryStates: &self.contextQueryStates, requestBotLocationStatus: { [weak self] peerId in
|
||||
guard let strongSelf = self else {
|
||||
return
|
||||
}
|
||||
let _ = (ApplicationSpecificNotice.updateInlineBotLocationRequestState(accountManager: strongSelf.context.sharedContext.accountManager, peerId: peerId, timestamp: Int32(Date().timeIntervalSince1970 + 10 * 60))
|
||||
|> deliverOnMainQueue).start(next: { value in
|
||||
guard let strongSelf = self, value else {
|
||||
return
|
||||
}
|
||||
strongSelf.present(textAlertController(context: strongSelf.context, title: nil, text: strongSelf.presentationData.strings.Conversation_ShareInlineBotLocationConfirmation, actions: [TextAlertAction(type: .defaultAction, title: strongSelf.presentationData.strings.Common_Cancel, action: {
|
||||
}), TextAlertAction(type: .defaultAction, title: strongSelf.presentationData.strings.Common_OK, action: {
|
||||
let _ = ApplicationSpecificNotice.setInlineBotLocationRequest(accountManager: strongSelf.context.sharedContext.accountManager, peerId: peerId, value: 0).start()
|
||||
})]), in: .window(.root))
|
||||
})
|
||||
})
|
||||
|
||||
for (kind, update) in contextQueryUpdates {
|
||||
switch update {
|
||||
|
@ -11,6 +11,7 @@ import AccountContext
|
||||
import Emoji
|
||||
import SearchPeerMembers
|
||||
import DeviceLocationManager
|
||||
import TelegramNotices
|
||||
|
||||
enum ChatContextQueryError {
|
||||
case inlineBotLocationRequest(PeerId)
|
||||
@ -21,7 +22,7 @@ enum ChatContextQueryUpdate {
|
||||
case update(ChatPresentationInputQuery, Signal<(ChatPresentationInputQueryResult?) -> ChatPresentationInputQueryResult?, ChatContextQueryError>)
|
||||
}
|
||||
|
||||
func contextQueryResultStateForChatInterfacePresentationState(_ chatPresentationInterfaceState: ChatPresentationInterfaceState, context: AccountContext, currentQueryStates: inout [ChatPresentationInputQueryKind: (ChatPresentationInputQuery, Disposable)]) -> [ChatPresentationInputQueryKind: ChatContextQueryUpdate] {
|
||||
func contextQueryResultStateForChatInterfacePresentationState(_ chatPresentationInterfaceState: ChatPresentationInterfaceState, context: AccountContext, currentQueryStates: inout [ChatPresentationInputQueryKind: (ChatPresentationInputQuery, Disposable)], requestBotLocationStatus: @escaping (PeerId) -> Void) -> [ChatPresentationInputQueryKind: ChatContextQueryUpdate] {
|
||||
guard let peer = chatPresentationInterfaceState.renderedPeer?.peer else {
|
||||
return [:]
|
||||
}
|
||||
@ -43,7 +44,7 @@ func contextQueryResultStateForChatInterfacePresentationState(_ chatPresentation
|
||||
for query in inputQueries {
|
||||
let previousQuery = currentQueryStates[query.kind]?.0
|
||||
if previousQuery != query {
|
||||
let signal = updatedContextQueryResultStateForQuery(context: context, peer: peer, chatLocation: chatPresentationInterfaceState.chatLocation, inputQuery: query, previousQuery: previousQuery)
|
||||
let signal = updatedContextQueryResultStateForQuery(context: context, peer: peer, chatLocation: chatPresentationInterfaceState.chatLocation, inputQuery: query, previousQuery: previousQuery, requestBotLocationStatus: requestBotLocationStatus)
|
||||
updates[query.kind] = .update(query, signal)
|
||||
}
|
||||
}
|
||||
@ -64,7 +65,7 @@ func contextQueryResultStateForChatInterfacePresentationState(_ chatPresentation
|
||||
return updates
|
||||
}
|
||||
|
||||
private func updatedContextQueryResultStateForQuery(context: AccountContext, peer: Peer, chatLocation: ChatLocation, inputQuery: ChatPresentationInputQuery, previousQuery: ChatPresentationInputQuery?) -> Signal<(ChatPresentationInputQueryResult?) -> ChatPresentationInputQueryResult?, ChatContextQueryError> {
|
||||
private func updatedContextQueryResultStateForQuery(context: AccountContext, peer: Peer, chatLocation: ChatLocation, inputQuery: ChatPresentationInputQuery, previousQuery: ChatPresentationInputQuery?, requestBotLocationStatus: @escaping (PeerId) -> Void) -> Signal<(ChatPresentationInputQueryResult?) -> ChatPresentationInputQueryResult?, ChatContextQueryError> {
|
||||
switch inputQuery {
|
||||
case let .emoji(query):
|
||||
var signal: Signal<(ChatPresentationInputQueryResult?) -> ChatPresentationInputQueryResult?, ChatContextQueryError> = .complete()
|
||||
@ -245,10 +246,21 @@ private func updatedContextQueryResultStateForQuery(context: AccountContext, pee
|
||||
|> castError(ChatContextQueryError.self)
|
||||
|> mapToSignal { peer -> Signal<(ChatPresentationInputQueryResult?) -> ChatPresentationInputQueryResult?, ChatContextQueryError> in
|
||||
if let user = peer as? TelegramUser, let botInfo = user.botInfo, let _ = botInfo.inlinePlaceholder {
|
||||
let contextResults = requestChatContextResults(account: context.account, botId: user.id, peerId: chatPeer.id, query: query, location: context.sharedContext.locationManager.flatMap { locationManager in
|
||||
return currentLocationManagerCoordinate(manager: locationManager, timeout: 5.0)
|
||||
|> flatMap { coordinate -> (Double, Double) in
|
||||
return (coordinate.latitude, coordinate.longitude)
|
||||
let contextResults = requestChatContextResults(account: context.account, botId: user.id, peerId: chatPeer.id, query: query, location: context.sharedContext.locationManager.flatMap { locationManager -> Signal<(Double, Double)?, NoError> in
|
||||
return `deferred` {
|
||||
Queue.mainQueue().async {
|
||||
requestBotLocationStatus(user.id)
|
||||
}
|
||||
|
||||
return ApplicationSpecificNotice.inlineBotLocationRequestStatus(accountManager: context.sharedContext.accountManager, peerId: user.id)
|
||||
|> filter { $0 }
|
||||
|> take(1)
|
||||
|> mapToSignal { _ -> Signal<(Double, Double)?, NoError> in
|
||||
return currentLocationManagerCoordinate(manager: locationManager, timeout: 5.0)
|
||||
|> flatMap { coordinate -> (Double, Double) in
|
||||
return (coordinate.latitude, coordinate.longitude)
|
||||
}
|
||||
}
|
||||
}
|
||||
} ?? .single(nil), offset: "")
|
||||
|> mapError { error -> ChatContextQueryError in
|
||||
|
@ -61,7 +61,9 @@ final class WidgetDataContext {
|
||||
}
|
||||
|
||||
if #available(iOSApplicationExtension 14.0, iOS 14.0, *) {
|
||||
#if arch(arm64) || arch(i386) || arch(x86_64)
|
||||
WidgetCenter.shared.reloadAllTimelines()
|
||||
#endif
|
||||
}
|
||||
})
|
||||
|
||||
@ -78,7 +80,9 @@ final class WidgetDataContext {
|
||||
}
|
||||
|
||||
if #available(iOSApplicationExtension 14.0, iOS 14.0, *) {
|
||||
#if arch(arm64) || arch(i386) || arch(x86_64)
|
||||
WidgetCenter.shared.reloadAllTimelines()
|
||||
#endif
|
||||
}
|
||||
})
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user