Starting background fetching of messages.
This commit is contained in:
parent
6446c6fbe0
commit
35a2762c5f
|
@ -939,45 +939,7 @@
|
|||
B63AF5C61A1F757900D01AAD /* TSSocketManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TSSocketManager.m; sourceTree = "<group>"; };
|
||||
B63AF5D61A1F889500D01AAD /* SubProtocol.pb.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SubProtocol.pb.h; sourceTree = "<group>"; };
|
||||
B63AF5D71A1F889500D01AAD /* SubProtocol.pb.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SubProtocol.pb.m; sourceTree = "<group>"; };
|
||||
B6416F37199A0478003C5699 /* an */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = an; path = Localizable.strings; sourceTree = "<group>"; };
|
||||
B6416F3A199A0478003C5699 /* ar */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ar; path = Localizable.strings; sourceTree = "<group>"; };
|
||||
B6416F3D199A0478003C5699 /* be */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = be; path = Localizable.strings; sourceTree = "<group>"; };
|
||||
B6416F40199A0478003C5699 /* bg_BG */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = bg_BG; path = Localizable.strings; sourceTree = "<group>"; };
|
||||
B6416F43199A0478003C5699 /* ca-ES */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "ca-ES"; path = Localizable.strings; sourceTree = "<group>"; };
|
||||
B6416F46199A0478003C5699 /* ca */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ca; path = Localizable.strings; sourceTree = "<group>"; };
|
||||
B6416F49199A0478003C5699 /* cs-CZ */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "cs-CZ"; path = Localizable.strings; sourceTree = "<group>"; };
|
||||
B6416F4C199A0478003C5699 /* cs */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = cs; path = Localizable.strings; sourceTree = "<group>"; };
|
||||
B6416F4F199A0478003C5699 /* da */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = da; path = Localizable.strings; sourceTree = "<group>"; };
|
||||
B6416F52199A0478003C5699 /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = Localizable.strings; sourceTree = "<group>"; };
|
||||
B6416F55199A0478003C5699 /* el_GR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = el_GR; path = Localizable.strings; sourceTree = "<group>"; };
|
||||
B6416F58199A0478003C5699 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = Localizable.strings; sourceTree = "<group>"; };
|
||||
B6416F5B199A0478003C5699 /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = Localizable.strings; sourceTree = "<group>"; };
|
||||
B6416F5E199A0478003C5699 /* eu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = eu; path = Localizable.strings; sourceTree = "<group>"; };
|
||||
B6416F61199A0478003C5699 /* fa_IR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fa_IR; path = Localizable.strings; sourceTree = "<group>"; };
|
||||
B6416F64199A0478003C5699 /* fa */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fa; path = Localizable.strings; sourceTree = "<group>"; };
|
||||
B6416F67199A0478003C5699 /* fi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fi; path = Localizable.strings; sourceTree = "<group>"; };
|
||||
B6416F6A199A0478003C5699 /* fil */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fil; path = Localizable.strings; sourceTree = "<group>"; };
|
||||
B6416F6D199A0478003C5699 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = Localizable.strings; sourceTree = "<group>"; };
|
||||
B6416F70199A0478003C5699 /* he */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = he; path = Localizable.strings; sourceTree = "<group>"; };
|
||||
B6416F73199A0478003C5699 /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = Localizable.strings; sourceTree = "<group>"; };
|
||||
B6416F76199A0478003C5699 /* it_IT */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it_IT; path = Localizable.strings; sourceTree = "<group>"; };
|
||||
B6416F79199A0478003C5699 /* ja_JP */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ja_JP; path = Localizable.strings; sourceTree = "<group>"; };
|
||||
B6416F7C199A0478003C5699 /* lv */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = lv; path = Localizable.strings; sourceTree = "<group>"; };
|
||||
B6416F7F199A0478003C5699 /* nb */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nb; path = Localizable.strings; sourceTree = "<group>"; };
|
||||
B6416F82199A0478003C5699 /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = Localizable.strings; sourceTree = "<group>"; };
|
||||
B6416F85199A0478003C5699 /* pl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pl; path = Localizable.strings; sourceTree = "<group>"; };
|
||||
B6416F88199A0478003C5699 /* pt_BR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pt_BR; path = Localizable.strings; sourceTree = "<group>"; };
|
||||
B6416F8B199A0478003C5699 /* ro-RO */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "ro-RO"; path = Localizable.strings; sourceTree = "<group>"; };
|
||||
B6416F8E199A0478003C5699 /* ro */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ro; path = Localizable.strings; sourceTree = "<group>"; };
|
||||
B6416F91199A0478003C5699 /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = Localizable.strings; sourceTree = "<group>"; };
|
||||
B6416F94199A0478003C5699 /* sl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sl; path = Localizable.strings; sourceTree = "<group>"; };
|
||||
B6416F97199A0478003C5699 /* sq */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sq; path = Localizable.strings; sourceTree = "<group>"; };
|
||||
B6416F9A199A0478003C5699 /* sv_SE */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sv_SE; path = Localizable.strings; sourceTree = "<group>"; };
|
||||
B6416F9D199A0478003C5699 /* ta */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ta; path = Localizable.strings; sourceTree = "<group>"; };
|
||||
B6416FA0199A0478003C5699 /* tr_TR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = tr_TR; path = Localizable.strings; sourceTree = "<group>"; };
|
||||
B6416FA3199A0478003C5699 /* uk */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = uk; path = Localizable.strings; sourceTree = "<group>"; };
|
||||
B6416FA6199A0478003C5699 /* zh_CN */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = zh_CN; path = Localizable.strings; sourceTree = "<group>"; };
|
||||
B6416FAC199A0478003C5699 /* zh_TW */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = zh_TW; path = Localizable.strings; sourceTree = "<group>"; };
|
||||
B657DDC91911A40500F45B0C /* Signal.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.xml; path = Signal.entitlements; sourceTree = "<group>"; };
|
||||
B65EDA1019E1BE6400AAA7CB /* RPAPICall.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RPAPICall.h; sourceTree = "<group>"; };
|
||||
B65EDA1119E1BE6400AAA7CB /* RPAPICall.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RPAPICall.m; sourceTree = "<group>"; };
|
||||
|
@ -2225,105 +2187,6 @@
|
|||
path = WebSockets;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
B6416F35199A0478003C5699 /* an.lproj */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
B6416F36199A0478003C5699 /* Localizable.strings */,
|
||||
);
|
||||
name = an.lproj;
|
||||
path = translations/an.lproj;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
B6416F38199A0478003C5699 /* ar.lproj */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
B6416F39199A0478003C5699 /* Localizable.strings */,
|
||||
);
|
||||
name = ar.lproj;
|
||||
path = translations/ar.lproj;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
B6416F3B199A0478003C5699 /* be.lproj */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
B6416F3C199A0478003C5699 /* Localizable.strings */,
|
||||
);
|
||||
name = be.lproj;
|
||||
path = translations/be.lproj;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
B6416F3E199A0478003C5699 /* bg_BG.lproj */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
B6416F3F199A0478003C5699 /* Localizable.strings */,
|
||||
);
|
||||
name = bg_BG.lproj;
|
||||
path = translations/bg_BG.lproj;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
B6416F41199A0478003C5699 /* ca-ES.lproj */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
B6416F42199A0478003C5699 /* Localizable.strings */,
|
||||
);
|
||||
name = "ca-ES.lproj";
|
||||
path = "translations/ca-ES.lproj";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
B6416F44199A0478003C5699 /* ca.lproj */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
B6416F45199A0478003C5699 /* Localizable.strings */,
|
||||
);
|
||||
name = ca.lproj;
|
||||
path = translations/ca.lproj;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
B6416F47199A0478003C5699 /* cs-CZ.lproj */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
B6416F48199A0478003C5699 /* Localizable.strings */,
|
||||
);
|
||||
name = "cs-CZ.lproj";
|
||||
path = "translations/cs-CZ.lproj";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
B6416F4A199A0478003C5699 /* cs.lproj */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
B6416F4B199A0478003C5699 /* Localizable.strings */,
|
||||
);
|
||||
name = cs.lproj;
|
||||
path = translations/cs.lproj;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
B6416F4D199A0478003C5699 /* da.lproj */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
B6416F4E199A0478003C5699 /* Localizable.strings */,
|
||||
);
|
||||
name = da.lproj;
|
||||
path = translations/da.lproj;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
B6416F50199A0478003C5699 /* de.lproj */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
B6416F51199A0478003C5699 /* Localizable.strings */,
|
||||
);
|
||||
name = de.lproj;
|
||||
path = translations/de.lproj;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
B6416F53199A0478003C5699 /* el_GR.lproj */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
B6416F54199A0478003C5699 /* Localizable.strings */,
|
||||
);
|
||||
name = el_GR.lproj;
|
||||
path = translations/el_GR.lproj;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
B6416F56199A0478003C5699 /* en.lproj */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
|
@ -2333,249 +2196,6 @@
|
|||
path = translations/en.lproj;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
B6416F59199A0478003C5699 /* es.lproj */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
B6416F5A199A0478003C5699 /* Localizable.strings */,
|
||||
);
|
||||
name = es.lproj;
|
||||
path = translations/es.lproj;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
B6416F5C199A0478003C5699 /* eu.lproj */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
B6416F5D199A0478003C5699 /* Localizable.strings */,
|
||||
);
|
||||
name = eu.lproj;
|
||||
path = translations/eu.lproj;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
B6416F5F199A0478003C5699 /* fa_IR.lproj */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
B6416F60199A0478003C5699 /* Localizable.strings */,
|
||||
);
|
||||
name = fa_IR.lproj;
|
||||
path = translations/fa_IR.lproj;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
B6416F62199A0478003C5699 /* fa.lproj */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
B6416F63199A0478003C5699 /* Localizable.strings */,
|
||||
);
|
||||
name = fa.lproj;
|
||||
path = translations/fa.lproj;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
B6416F65199A0478003C5699 /* fi.lproj */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
B6416F66199A0478003C5699 /* Localizable.strings */,
|
||||
);
|
||||
name = fi.lproj;
|
||||
path = translations/fi.lproj;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
B6416F68199A0478003C5699 /* fil.lproj */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
B6416F69199A0478003C5699 /* Localizable.strings */,
|
||||
);
|
||||
name = fil.lproj;
|
||||
path = translations/fil.lproj;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
B6416F6B199A0478003C5699 /* fr.lproj */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
B6416F6C199A0478003C5699 /* Localizable.strings */,
|
||||
);
|
||||
name = fr.lproj;
|
||||
path = translations/fr.lproj;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
B6416F6E199A0478003C5699 /* he.lproj */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
B6416F6F199A0478003C5699 /* Localizable.strings */,
|
||||
);
|
||||
name = he.lproj;
|
||||
path = translations/he.lproj;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
B6416F71199A0478003C5699 /* hu.lproj */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
B6416F72199A0478003C5699 /* Localizable.strings */,
|
||||
);
|
||||
name = hu.lproj;
|
||||
path = translations/hu.lproj;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
B6416F74199A0478003C5699 /* it_IT.lproj */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
B6416F75199A0478003C5699 /* Localizable.strings */,
|
||||
);
|
||||
name = it_IT.lproj;
|
||||
path = translations/it_IT.lproj;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
B6416F77199A0478003C5699 /* ja_JP.lproj */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
B6416F78199A0478003C5699 /* Localizable.strings */,
|
||||
);
|
||||
name = ja_JP.lproj;
|
||||
path = translations/ja_JP.lproj;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
B6416F7A199A0478003C5699 /* lv.lproj */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
B6416F7B199A0478003C5699 /* Localizable.strings */,
|
||||
);
|
||||
name = lv.lproj;
|
||||
path = translations/lv.lproj;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
B6416F7D199A0478003C5699 /* nb.lproj */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
B6416F7E199A0478003C5699 /* Localizable.strings */,
|
||||
);
|
||||
name = nb.lproj;
|
||||
path = translations/nb.lproj;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
B6416F80199A0478003C5699 /* nl.lproj */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
B6416F81199A0478003C5699 /* Localizable.strings */,
|
||||
);
|
||||
name = nl.lproj;
|
||||
path = translations/nl.lproj;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
B6416F83199A0478003C5699 /* pl.lproj */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
B6416F84199A0478003C5699 /* Localizable.strings */,
|
||||
);
|
||||
name = pl.lproj;
|
||||
path = translations/pl.lproj;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
B6416F86199A0478003C5699 /* pt_BR.lproj */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
B6416F87199A0478003C5699 /* Localizable.strings */,
|
||||
);
|
||||
name = pt_BR.lproj;
|
||||
path = translations/pt_BR.lproj;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
B6416F89199A0478003C5699 /* ro-RO.lproj */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
B6416F8A199A0478003C5699 /* Localizable.strings */,
|
||||
);
|
||||
name = "ro-RO.lproj";
|
||||
path = "translations/ro-RO.lproj";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
B6416F8C199A0478003C5699 /* ro.lproj */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
B6416F8D199A0478003C5699 /* Localizable.strings */,
|
||||
);
|
||||
name = ro.lproj;
|
||||
path = translations/ro.lproj;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
B6416F8F199A0478003C5699 /* ru.lproj */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
B6416F90199A0478003C5699 /* Localizable.strings */,
|
||||
);
|
||||
name = ru.lproj;
|
||||
path = translations/ru.lproj;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
B6416F92199A0478003C5699 /* sl.lproj */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
B6416F93199A0478003C5699 /* Localizable.strings */,
|
||||
);
|
||||
name = sl.lproj;
|
||||
path = translations/sl.lproj;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
B6416F95199A0478003C5699 /* sq.lproj */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
B6416F96199A0478003C5699 /* Localizable.strings */,
|
||||
);
|
||||
name = sq.lproj;
|
||||
path = translations/sq.lproj;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
B6416F98199A0478003C5699 /* sv_SE.lproj */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
B6416F99199A0478003C5699 /* Localizable.strings */,
|
||||
);
|
||||
name = sv_SE.lproj;
|
||||
path = translations/sv_SE.lproj;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
B6416F9B199A0478003C5699 /* ta.lproj */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
B6416F9C199A0478003C5699 /* Localizable.strings */,
|
||||
);
|
||||
name = ta.lproj;
|
||||
path = translations/ta.lproj;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
B6416F9E199A0478003C5699 /* tr_TR.lproj */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
B6416F9F199A0478003C5699 /* Localizable.strings */,
|
||||
);
|
||||
name = tr_TR.lproj;
|
||||
path = translations/tr_TR.lproj;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
B6416FA1199A0478003C5699 /* uk.lproj */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
B6416FA2199A0478003C5699 /* Localizable.strings */,
|
||||
);
|
||||
name = uk.lproj;
|
||||
path = translations/uk.lproj;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
B6416FA4199A0478003C5699 /* zh_CN.lproj */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
B6416FA5199A0478003C5699 /* Localizable.strings */,
|
||||
);
|
||||
name = zh_CN.lproj;
|
||||
path = translations/zh_CN.lproj;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
B6416FAA199A0478003C5699 /* zh_TW.lproj */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
B6416FAB199A0478003C5699 /* Localizable.strings */,
|
||||
);
|
||||
name = zh_TW.lproj;
|
||||
path = translations/zh_TW.lproj;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
B65EDA0F19E1BE2200AAA7CB /* Requests */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
|
@ -2760,45 +2380,7 @@
|
|||
B6B6C3C419193F5B00C0B76B /* Translations */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
B6416F35199A0478003C5699 /* an.lproj */,
|
||||
B6416F38199A0478003C5699 /* ar.lproj */,
|
||||
B6416F3B199A0478003C5699 /* be.lproj */,
|
||||
B6416F3E199A0478003C5699 /* bg_BG.lproj */,
|
||||
B6416F41199A0478003C5699 /* ca-ES.lproj */,
|
||||
B6416F44199A0478003C5699 /* ca.lproj */,
|
||||
B6416F47199A0478003C5699 /* cs-CZ.lproj */,
|
||||
B6416F4A199A0478003C5699 /* cs.lproj */,
|
||||
B6416F4D199A0478003C5699 /* da.lproj */,
|
||||
B6416F50199A0478003C5699 /* de.lproj */,
|
||||
B6416F53199A0478003C5699 /* el_GR.lproj */,
|
||||
B6416F56199A0478003C5699 /* en.lproj */,
|
||||
B6416F59199A0478003C5699 /* es.lproj */,
|
||||
B6416F5C199A0478003C5699 /* eu.lproj */,
|
||||
B6416F5F199A0478003C5699 /* fa_IR.lproj */,
|
||||
B6416F62199A0478003C5699 /* fa.lproj */,
|
||||
B6416F65199A0478003C5699 /* fi.lproj */,
|
||||
B6416F68199A0478003C5699 /* fil.lproj */,
|
||||
B6416F6B199A0478003C5699 /* fr.lproj */,
|
||||
B6416F6E199A0478003C5699 /* he.lproj */,
|
||||
B6416F71199A0478003C5699 /* hu.lproj */,
|
||||
B6416F74199A0478003C5699 /* it_IT.lproj */,
|
||||
B6416F77199A0478003C5699 /* ja_JP.lproj */,
|
||||
B6416F7A199A0478003C5699 /* lv.lproj */,
|
||||
B6416F7D199A0478003C5699 /* nb.lproj */,
|
||||
B6416F80199A0478003C5699 /* nl.lproj */,
|
||||
B6416F83199A0478003C5699 /* pl.lproj */,
|
||||
B6416F86199A0478003C5699 /* pt_BR.lproj */,
|
||||
B6416F89199A0478003C5699 /* ro-RO.lproj */,
|
||||
B6416F8C199A0478003C5699 /* ro.lproj */,
|
||||
B6416F8F199A0478003C5699 /* ru.lproj */,
|
||||
B6416F92199A0478003C5699 /* sl.lproj */,
|
||||
B6416F95199A0478003C5699 /* sq.lproj */,
|
||||
B6416F98199A0478003C5699 /* sv_SE.lproj */,
|
||||
B6416F9B199A0478003C5699 /* ta.lproj */,
|
||||
B6416F9E199A0478003C5699 /* tr_TR.lproj */,
|
||||
B6416FA1199A0478003C5699 /* uk.lproj */,
|
||||
B6416FA4199A0478003C5699 /* zh_CN.lproj */,
|
||||
B6416FAA199A0478003C5699 /* zh_TW.lproj */,
|
||||
);
|
||||
name = Translations;
|
||||
sourceTree = "<group>";
|
||||
|
@ -3824,94 +3406,6 @@
|
|||
/* End PBXTargetDependency section */
|
||||
|
||||
/* Begin PBXVariantGroup section */
|
||||
B6416F36199A0478003C5699 /* Localizable.strings */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
B6416F37199A0478003C5699 /* an */,
|
||||
);
|
||||
name = Localizable.strings;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
B6416F39199A0478003C5699 /* Localizable.strings */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
B6416F3A199A0478003C5699 /* ar */,
|
||||
);
|
||||
name = Localizable.strings;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
B6416F3C199A0478003C5699 /* Localizable.strings */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
B6416F3D199A0478003C5699 /* be */,
|
||||
);
|
||||
name = Localizable.strings;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
B6416F3F199A0478003C5699 /* Localizable.strings */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
B6416F40199A0478003C5699 /* bg_BG */,
|
||||
);
|
||||
name = Localizable.strings;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
B6416F42199A0478003C5699 /* Localizable.strings */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
B6416F43199A0478003C5699 /* ca-ES */,
|
||||
);
|
||||
name = Localizable.strings;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
B6416F45199A0478003C5699 /* Localizable.strings */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
B6416F46199A0478003C5699 /* ca */,
|
||||
);
|
||||
name = Localizable.strings;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
B6416F48199A0478003C5699 /* Localizable.strings */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
B6416F49199A0478003C5699 /* cs-CZ */,
|
||||
);
|
||||
name = Localizable.strings;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
B6416F4B199A0478003C5699 /* Localizable.strings */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
B6416F4C199A0478003C5699 /* cs */,
|
||||
);
|
||||
name = Localizable.strings;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
B6416F4E199A0478003C5699 /* Localizable.strings */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
B6416F4F199A0478003C5699 /* da */,
|
||||
);
|
||||
name = Localizable.strings;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
B6416F51199A0478003C5699 /* Localizable.strings */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
B6416F52199A0478003C5699 /* de */,
|
||||
);
|
||||
name = Localizable.strings;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
B6416F54199A0478003C5699 /* Localizable.strings */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
B6416F55199A0478003C5699 /* el_GR */,
|
||||
);
|
||||
name = Localizable.strings;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
B6416F57199A0478003C5699 /* Localizable.strings */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
|
@ -3920,222 +3414,6 @@
|
|||
name = Localizable.strings;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
B6416F5A199A0478003C5699 /* Localizable.strings */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
B6416F5B199A0478003C5699 /* es */,
|
||||
);
|
||||
name = Localizable.strings;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
B6416F5D199A0478003C5699 /* Localizable.strings */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
B6416F5E199A0478003C5699 /* eu */,
|
||||
);
|
||||
name = Localizable.strings;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
B6416F60199A0478003C5699 /* Localizable.strings */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
B6416F61199A0478003C5699 /* fa_IR */,
|
||||
);
|
||||
name = Localizable.strings;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
B6416F63199A0478003C5699 /* Localizable.strings */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
B6416F64199A0478003C5699 /* fa */,
|
||||
);
|
||||
name = Localizable.strings;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
B6416F66199A0478003C5699 /* Localizable.strings */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
B6416F67199A0478003C5699 /* fi */,
|
||||
);
|
||||
name = Localizable.strings;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
B6416F69199A0478003C5699 /* Localizable.strings */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
B6416F6A199A0478003C5699 /* fil */,
|
||||
);
|
||||
name = Localizable.strings;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
B6416F6C199A0478003C5699 /* Localizable.strings */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
B6416F6D199A0478003C5699 /* fr */,
|
||||
);
|
||||
name = Localizable.strings;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
B6416F6F199A0478003C5699 /* Localizable.strings */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
B6416F70199A0478003C5699 /* he */,
|
||||
);
|
||||
name = Localizable.strings;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
B6416F72199A0478003C5699 /* Localizable.strings */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
B6416F73199A0478003C5699 /* hu */,
|
||||
);
|
||||
name = Localizable.strings;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
B6416F75199A0478003C5699 /* Localizable.strings */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
B6416F76199A0478003C5699 /* it_IT */,
|
||||
);
|
||||
name = Localizable.strings;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
B6416F78199A0478003C5699 /* Localizable.strings */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
B6416F79199A0478003C5699 /* ja_JP */,
|
||||
);
|
||||
name = Localizable.strings;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
B6416F7B199A0478003C5699 /* Localizable.strings */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
B6416F7C199A0478003C5699 /* lv */,
|
||||
);
|
||||
name = Localizable.strings;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
B6416F7E199A0478003C5699 /* Localizable.strings */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
B6416F7F199A0478003C5699 /* nb */,
|
||||
);
|
||||
name = Localizable.strings;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
B6416F81199A0478003C5699 /* Localizable.strings */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
B6416F82199A0478003C5699 /* nl */,
|
||||
);
|
||||
name = Localizable.strings;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
B6416F84199A0478003C5699 /* Localizable.strings */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
B6416F85199A0478003C5699 /* pl */,
|
||||
);
|
||||
name = Localizable.strings;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
B6416F87199A0478003C5699 /* Localizable.strings */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
B6416F88199A0478003C5699 /* pt_BR */,
|
||||
);
|
||||
name = Localizable.strings;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
B6416F8A199A0478003C5699 /* Localizable.strings */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
B6416F8B199A0478003C5699 /* ro-RO */,
|
||||
);
|
||||
name = Localizable.strings;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
B6416F8D199A0478003C5699 /* Localizable.strings */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
B6416F8E199A0478003C5699 /* ro */,
|
||||
);
|
||||
name = Localizable.strings;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
B6416F90199A0478003C5699 /* Localizable.strings */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
B6416F91199A0478003C5699 /* ru */,
|
||||
);
|
||||
name = Localizable.strings;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
B6416F93199A0478003C5699 /* Localizable.strings */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
B6416F94199A0478003C5699 /* sl */,
|
||||
);
|
||||
name = Localizable.strings;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
B6416F96199A0478003C5699 /* Localizable.strings */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
B6416F97199A0478003C5699 /* sq */,
|
||||
);
|
||||
name = Localizable.strings;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
B6416F99199A0478003C5699 /* Localizable.strings */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
B6416F9A199A0478003C5699 /* sv_SE */,
|
||||
);
|
||||
name = Localizable.strings;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
B6416F9C199A0478003C5699 /* Localizable.strings */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
B6416F9D199A0478003C5699 /* ta */,
|
||||
);
|
||||
name = Localizable.strings;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
B6416F9F199A0478003C5699 /* Localizable.strings */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
B6416FA0199A0478003C5699 /* tr_TR */,
|
||||
);
|
||||
name = Localizable.strings;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
B6416FA2199A0478003C5699 /* Localizable.strings */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
B6416FA3199A0478003C5699 /* uk */,
|
||||
);
|
||||
name = Localizable.strings;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
B6416FA5199A0478003C5699 /* Localizable.strings */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
B6416FA6199A0478003C5699 /* zh_CN */,
|
||||
);
|
||||
name = Localizable.strings;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
B6416FAB199A0478003C5699 /* Localizable.strings */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
B6416FAC199A0478003C5699 /* zh_TW */,
|
||||
);
|
||||
name = Localizable.strings;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXVariantGroup section */
|
||||
|
||||
/* Begin XCBuildConfiguration section */
|
||||
|
@ -4253,7 +3531,7 @@
|
|||
LLVM_LTO = NO;
|
||||
OTHER_LDFLAGS = "$(inherited)";
|
||||
PRODUCT_NAME = Signal;
|
||||
PROVISIONING_PROFILE = "";
|
||||
PROVISIONING_PROFILE = "a377b8e6-d43e-485d-8830-bc7bfa3d1731";
|
||||
SDKROOT = iphoneos;
|
||||
TARGETED_DEVICE_FAMILY = 1;
|
||||
TEST_AFTER_BUILD = YES;
|
||||
|
@ -4488,7 +3766,7 @@
|
|||
LLVM_LTO = NO;
|
||||
OTHER_LDFLAGS = "$(inherited)";
|
||||
PRODUCT_NAME = Signal;
|
||||
PROVISIONING_PROFILE = "";
|
||||
PROVISIONING_PROFILE = "a377b8e6-d43e-485d-8830-bc7bfa3d1731";
|
||||
SDKROOT = iphoneos;
|
||||
TARGETED_DEVICE_FAMILY = 1;
|
||||
TEST_AFTER_BUILD = YES;
|
||||
|
@ -4542,7 +3820,7 @@
|
|||
LLVM_LTO = NO;
|
||||
OTHER_LDFLAGS = "$(inherited)";
|
||||
PRODUCT_NAME = Signal;
|
||||
PROVISIONING_PROFILE = "";
|
||||
PROVISIONING_PROFILE = "a377b8e6-d43e-485d-8830-bc7bfa3d1731";
|
||||
SDKROOT = iphoneos;
|
||||
TARGETED_DEVICE_FAMILY = 1;
|
||||
TEST_AFTER_BUILD = YES;
|
||||
|
|
|
@ -199,12 +199,34 @@
|
|||
}
|
||||
|
||||
-(void) application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler {
|
||||
if([self.notificationTracker shouldProcessNotification:userInfo]){
|
||||
[self application:application didReceiveRemoteNotification:userInfo];
|
||||
} else{
|
||||
DDLogDebug(@"Push already processed. Skipping.");
|
||||
|
||||
if ([self isRedPhonePush:userInfo]) {
|
||||
if ([self.notificationTracker shouldProcessNotification:userInfo]){
|
||||
[self application:application didReceiveRemoteNotification:userInfo];
|
||||
} else{
|
||||
DDLogDebug(@"Push already processed. Skipping.");
|
||||
completionHandler(UIBackgroundFetchResultNewData);
|
||||
}
|
||||
} else {
|
||||
[TSSocketManager becomeActive];
|
||||
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, 20 * NSEC_PER_SEC),
|
||||
dispatch_get_main_queue(), ^{
|
||||
// Check result of your operation and call completion block with the result
|
||||
NSLog(@"Hello");
|
||||
completionHandler(UIBackgroundFetchResultNewData);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
- (BOOL)isRedPhonePush:(NSDictionary*)pushDict {
|
||||
NSDictionary *aps = [pushDict objectForKey:@"aps"];
|
||||
NSString *category = [aps objectForKey:@"category"];
|
||||
|
||||
if ([category isEqualToString:Signal_Call_Category]) {
|
||||
return YES;
|
||||
} else{
|
||||
return NO;
|
||||
}
|
||||
completionHandler(UIBackgroundFetchResultNewData);
|
||||
}
|
||||
|
||||
-(void) applicationDidBecomeActive:(UIApplication *)application {
|
||||
|
@ -224,10 +246,14 @@
|
|||
}
|
||||
|
||||
- (void)application:(UIApplication *)application handleActionWithIdentifier:(NSString *)identifier forRemoteNotification:(NSDictionary *)userInfo completionHandler:(void (^)())completionHandler{
|
||||
if ([identifier isEqualToString:Signal_Accept_Identifier]) {
|
||||
if ([identifier isEqualToString:Signal_Call_Accept_Identifier]) {
|
||||
[self.callPickUpFuture trySetResult:@YES];
|
||||
} else if ([identifier isEqualToString:Signal_Decline_Identifier]){
|
||||
} else if ([identifier isEqualToString:Signal_Call_Decline_Identifier]){
|
||||
[self.callPickUpFuture trySetResult:@NO];
|
||||
} else if ([identifier isEqualToString:Signal_Message_MarkAsRead_Identifier]){
|
||||
//TODO
|
||||
} else if ([identifier isEqualToString:Signal_Message_View_Identifier]){
|
||||
//TODO
|
||||
}
|
||||
completionHandler();
|
||||
}
|
||||
|
|
|
@ -9,8 +9,14 @@
|
|||
#import <CollapsingFutures.h>
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
#define Signal_Accept_Identifier @"Signal_Call_Accept"
|
||||
#define Signal_Decline_Identifier @"Signal_Call_Decline"
|
||||
#define Signal_Call_Accept_Identifier @"Signal_Call_Accept"
|
||||
#define Signal_Call_Decline_Identifier @"Signal_Call_Decline"
|
||||
|
||||
#define Signal_Call_Category @"Signal_IncomingCall"
|
||||
#define Signal_Message_Category @"Signal_Message"
|
||||
|
||||
#define Signal_Message_View_Identifier @"Signal_Message_Read"
|
||||
#define Signal_Message_MarkAsRead_Identifier @"Signal_Message_MarkAsRead"
|
||||
|
||||
/**
|
||||
* The Push Manager is responsible for registering the device for Signal push notifications.
|
||||
|
|
|
@ -106,7 +106,10 @@
|
|||
|
||||
-(TOCFuture*)registerForUserNotificationsFuture{
|
||||
self.userNotificationFutureSource = [TOCFutureSource new];
|
||||
[UIApplication.sharedApplication registerUserNotificationSettings:[UIUserNotificationSettings settingsForTypes:(UIUserNotificationType)[self allNotificationTypes] categories:[NSSet setWithObject:[self userNotificationsCallCategory]]]];
|
||||
NSSet *setOfCategories = [NSSet setWithArray:@[[self userNotificationsCallCategory], [self userNotificationsMessageCategory]]];
|
||||
UIUserNotificationSettings *settings = [UIUserNotificationSettings settingsForTypes:(UIUserNotificationType)[self allNotificationTypes]
|
||||
categories:setOfCategories];
|
||||
[UIApplication.sharedApplication registerUserNotificationSettings:settings];
|
||||
return self.userNotificationFutureSource.future;
|
||||
}
|
||||
|
||||
|
@ -195,23 +198,47 @@
|
|||
return YES;
|
||||
}
|
||||
|
||||
-(UIUserNotificationCategory*)userNotificationsCallCategory{
|
||||
- (UIUserNotificationCategory*)userNotificationsMessageCategory{
|
||||
UIMutableUserNotificationAction *action_accept = [UIMutableUserNotificationAction new];
|
||||
action_accept.identifier = Signal_Message_View_Identifier;
|
||||
action_accept.title = NSLocalizedString(@"View", @"");
|
||||
action_accept.activationMode = UIUserNotificationActivationModeForeground;
|
||||
action_accept.destructive = NO;
|
||||
action_accept.authenticationRequired = YES;
|
||||
|
||||
UIMutableUserNotificationAction *action_decline = [UIMutableUserNotificationAction new];
|
||||
action_decline.identifier = Signal_Message_MarkAsRead_Identifier;
|
||||
action_decline.title = NSLocalizedString(@"Mark as read", @"");
|
||||
action_decline.activationMode = UIUserNotificationActivationModeBackground;
|
||||
action_decline.destructive = NO;
|
||||
action_decline.authenticationRequired = NO;
|
||||
|
||||
UIMutableUserNotificationCategory *messageCategory = [UIMutableUserNotificationCategory new];
|
||||
messageCategory.identifier = Signal_Call_Category;
|
||||
[messageCategory setActions:@[action_accept, action_decline] forContext:UIUserNotificationActionContextMinimal];
|
||||
[messageCategory setActions:@[action_accept, action_decline] forContext:UIUserNotificationActionContextDefault];
|
||||
|
||||
return messageCategory;
|
||||
|
||||
}
|
||||
|
||||
- (UIUserNotificationCategory*)userNotificationsCallCategory{
|
||||
UIMutableUserNotificationAction *action_accept = [UIMutableUserNotificationAction new];
|
||||
action_accept.identifier = Signal_Accept_Identifier;
|
||||
action_accept.identifier = Signal_Call_Accept_Identifier;
|
||||
action_accept.title = NSLocalizedString(@"ANSWER_CALL_BUTTON_TITLE", @"");
|
||||
action_accept.activationMode = UIUserNotificationActivationModeForeground;
|
||||
action_accept.destructive = NO;
|
||||
action_accept.authenticationRequired = NO;
|
||||
|
||||
UIMutableUserNotificationAction *action_decline = [UIMutableUserNotificationAction new];
|
||||
action_decline.identifier = Signal_Decline_Identifier;
|
||||
action_decline.identifier = Signal_Call_Decline_Identifier;
|
||||
action_decline.title = NSLocalizedString(@"REJECT_CALL_BUTTON_TITLE", @"");
|
||||
action_decline.activationMode = UIUserNotificationActivationModeBackground;
|
||||
action_decline.destructive = NO;
|
||||
action_decline.authenticationRequired = NO;
|
||||
|
||||
UIMutableUserNotificationCategory *callCategory = [UIMutableUserNotificationCategory new];
|
||||
callCategory.identifier = @"Signal_IncomingCall";
|
||||
callCategory.identifier = Signal_Call_Category;
|
||||
[callCategory setActions:@[action_accept, action_decline] forContext:UIUserNotificationActionContextMinimal];
|
||||
[callCategory setActions:@[action_accept, action_decline] forContext:UIUserNotificationActionContextDefault];
|
||||
|
||||
|
|
|
@ -71,7 +71,11 @@
|
|||
}
|
||||
|
||||
- (TSRecipient *)recipientWithTransaction:(YapDatabaseReadTransaction*)transaction{
|
||||
return [TSRecipient recipientWithTextSecureIdentifier:self.contactIdentifier withTransaction:transaction];
|
||||
TSRecipient *recipient = [TSRecipient recipientWithTextSecureIdentifier:self.contactIdentifier withTransaction:transaction];
|
||||
if (!recipient){
|
||||
recipient = [[TSRecipient alloc] initWithTextSecureIdentifier:self.contactIdentifier relay:nil];
|
||||
}
|
||||
return recipient;
|
||||
}
|
||||
|
||||
@end
|
||||
|
|
|
@ -80,4 +80,16 @@ const struct TSMessageEdges TSMessageEdges = {
|
|||
return @"Interaction description";
|
||||
}
|
||||
|
||||
- (void)saveWithTransaction:(YapDatabaseReadWriteTransaction *)transaction{
|
||||
[super saveWithTransaction:transaction];
|
||||
TSThread *fetchedThread = [TSThread fetchObjectWithUniqueID:self.uniqueThreadId];
|
||||
uint64_t timeStamp = [TSInteraction timeStampFromString:self.uniqueId];
|
||||
|
||||
if (timeStamp > fetchedThread.lastMessageId) {
|
||||
fetchedThread.lastMessageId = timeStamp;
|
||||
}
|
||||
[fetchedThread saveWithTransaction:transaction];
|
||||
}
|
||||
|
||||
|
||||
@end
|
||||
|
|
|
@ -80,11 +80,14 @@ dispatch_queue_t sendingQueue() {
|
|||
TSSubmitMessageRequest *request = [[TSSubmitMessageRequest alloc] initWithRecipient:recipient.uniqueId messages:messages relay:recipient.relay timeStamp:message.timeStamp];
|
||||
|
||||
[[TSNetworkManager sharedManager] queueAuthenticatedRequest:request success:^(NSURLSessionDataTask *task, id responseObject) {
|
||||
[self.dbConnection readWriteWithBlock:^(YapDatabaseReadWriteTransaction *transaction) {
|
||||
[recipient saveWithTransaction:transaction];
|
||||
}];
|
||||
[self handleMessageSent:message inThread:thread];
|
||||
|
||||
} failure:^(NSURLSessionDataTask *task, NSError *error) {
|
||||
NSHTTPURLResponse *response = (NSHTTPURLResponse *)task.response;
|
||||
long statuscode = response.statusCode;
|
||||
|
||||
switch (statuscode) {
|
||||
case 404:
|
||||
// Recipient not found
|
||||
|
@ -99,6 +102,10 @@ dispatch_queue_t sendingQueue() {
|
|||
DDLogWarn(@"Stale devices");
|
||||
break;
|
||||
default:
|
||||
[self.dbConnection readWriteWithBlock:^(YapDatabaseReadWriteTransaction *transaction) {
|
||||
[message setMessageState:TSOutgoingMessageStateUnsent];
|
||||
[message saveWithTransaction:transaction];
|
||||
}];
|
||||
break;
|
||||
}
|
||||
}];
|
||||
|
@ -110,9 +117,6 @@ dispatch_queue_t sendingQueue() {
|
|||
[self.dbConnection readWriteWithBlock:^(YapDatabaseReadWriteTransaction *transaction) {
|
||||
[message setMessageState:TSOutgoingMessageStateSent];
|
||||
[message saveWithTransaction:transaction];
|
||||
TSThread *fetchedThread = [TSThread fetchObjectWithUniqueID:thread.uniqueId];
|
||||
fetchedThread.lastMessageId = [TSInteraction timeStampFromString:message.uniqueId];
|
||||
[fetchedThread saveWithTransaction:transaction];
|
||||
}];
|
||||
}
|
||||
|
||||
|
|
|
@ -14,6 +14,8 @@
|
|||
#import "IncomingPushMessageSignal.pb.h"
|
||||
#import "NSData+Base64.h"
|
||||
|
||||
#import "PushManager.h"
|
||||
|
||||
#import "TSIncomingMessage.h"
|
||||
#import "TSErrorMessage.h"
|
||||
#import "TSInfoMessage.h"
|
||||
|
@ -222,10 +224,9 @@
|
|||
incomingMessage = [[TSIncomingMessage alloc] initWithTimestamp:timeStamp inThread:cThread messageBody:body attachements:nil];
|
||||
thread = cThread;
|
||||
}
|
||||
|
||||
[incomingMessage saveWithTransaction:transaction];
|
||||
thread.lastMessageId = [TSInteraction timeStampFromString:incomingMessage.uniqueId];
|
||||
[thread saveWithTransaction:transaction];
|
||||
NSString *name = [thread name];
|
||||
[self notifyUserForIncomingMessage:incomingMessage from:name];
|
||||
}];
|
||||
}
|
||||
|
||||
|
@ -246,4 +247,12 @@
|
|||
}];
|
||||
}
|
||||
|
||||
- (void)notifyUserForIncomingMessage:(TSIncomingMessage*)message from:(NSString*)name{
|
||||
UILocalNotification *notification = [[UILocalNotification alloc] init];
|
||||
notification.alertBody = [NSString stringWithFormat:@"%@: %@", name, message.body];
|
||||
notification.soundName = @"default";
|
||||
notification.category = Signal_Message_Category;
|
||||
[[UIApplication sharedApplication] presentLocalNotificationNow:notification];
|
||||
}
|
||||
|
||||
@end
|
||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -1,6 +1,7 @@
|
|||
"ACTION_REQUIRED_TITLE" = "Action Required";
|
||||
"ANSWER_CALL_BUTTON_TITLE" = "Answer";
|
||||
"APN" = "Incoming Call";
|
||||
"APN_Message" = "You got a new message!";
|
||||
"AUDIO_PERMISSION_MESSAGE" = "Signal requires access to your microphone to work properly. You can restore the permission in the Settings app >> Privacy >> Microphone >> Signal";
|
||||
"CALL_BUTTON_TITLE" = "Call";
|
||||
"CHALLENGE_CODE_BUTTON_TITLE" = "VERIFY";
|
||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading…
Reference in New Issue