diff --git a/src/AcaciaZPushPlugin/AcaciaZPushPlugin/ZPush/GABUser.cs b/src/AcaciaZPushPlugin/AcaciaZPushPlugin/ZPush/GABUser.cs index fd3ff98..8295a0e 100644 --- a/src/AcaciaZPushPlugin/AcaciaZPushPlugin/ZPush/GABUser.cs +++ b/src/AcaciaZPushPlugin/AcaciaZPushPlugin/ZPush/GABUser.cs @@ -91,13 +91,23 @@ namespace Acacia.ZPush public override bool Equals(object obj) { if (obj is GABUser) - return UserName.Equals(((GABUser)obj).UserName); + return IdentityString.Equals(((GABUser)obj).IdentityString); return false; } + private string IdentityString + { + get + { + return (UserName ?? EmailAddress ?? FullName); + } + } + public override int GetHashCode() { - return UserName.GetHashCode(); + if (IdentityString == null) + return 0; + return IdentityString.GetHashCode(); } public override string ToString() diff --git a/src/AcaciaZPushPlugin/AcaciaZPushPlugin/ZPush/ZPushAccount.cs b/src/AcaciaZPushPlugin/AcaciaZPushPlugin/ZPush/ZPushAccount.cs index 4395ffc..0e00160 100644 --- a/src/AcaciaZPushPlugin/AcaciaZPushPlugin/ZPush/ZPushAccount.cs +++ b/src/AcaciaZPushPlugin/AcaciaZPushPlugin/ZPush/ZPushAccount.cs @@ -222,11 +222,11 @@ namespace Acacia.ZPush { if (ShareFor == null) return null; - int index = Account.UserName.IndexOf("+share+"); + int index = Account.UserName.IndexOf("#"); if (index < 0) return null; - return Account.UserName.Substring(index + 7); + return Account.UserName.Substring(index + 1); } }