Implement workaround for Android group ID compatibility bug

pull/247/head
nielsandriesse 5 years ago
parent 926a5dc8b8
commit f83058b34b

@ -1,4 +1,6 @@
#import "LKGroupUtilities.h"
#import "NSData+OWS.h"
#import <SessionServiceKit/SessionServiceKit-Swift.h>
@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];

Loading…
Cancel
Save