diff --git a/SignalServiceKit/src/Loki/Protocol/Utilities/LKGroupUtilities.m b/SignalServiceKit/src/Loki/Protocol/Utilities/LKGroupUtilities.m index 38cdca4c6..2cc376243 100644 --- a/SignalServiceKit/src/Loki/Protocol/Utilities/LKGroupUtilities.m +++ b/SignalServiceKit/src/Loki/Protocol/Utilities/LKGroupUtilities.m @@ -1,4 +1,6 @@ #import "LKGroupUtilities.h" +#import "NSData+OWS.h" +#import @implementation LKGroupUtilities @@ -64,8 +66,12 @@ +(NSData *)getDecodedGroupIDAsData:(NSData *)groupID { + // FIXME: This needs to be cleaned up. A lot. OWSAssertDebug(groupID.length > 0); - NSString *encodedGroupID = [[NSString alloc]initWithData:groupID encoding:NSUTF8StringEncoding]; + NSString *encodedGroupID = [[NSString alloc] initWithData:groupID encoding:NSUTF8StringEncoding]; + if (encodedGroupID == nil && [ECKeyPair isValidHexEncodedPublicKeyWithCandidate:[groupID hexadecimalString]]) { + return groupID; // Workaround to make things compatible with Android + } NSString *decodedGroupID = [encodedGroupID componentsSeparatedByString:@"!"][0]; if ([encodedGroupID componentsSeparatedByString:@"!"].count > 1) { decodedGroupID = [encodedGroupID componentsSeparatedByString:@"!"][1];