private void ReOrderSecrets() { secretsSection.Elements.Sort(delegate(Element e1, Element e2) { ImageButtonStringElement se1 = e1 as ImageButtonStringElement; ImageButtonStringElement se2 = e2 as ImageButtonStringElement; if ((se1 != null) && (se2 != null)) { Secret s1 = se1.Data as Secret; Secret s2 = se2.Data as Secret; if ((s1 != null) && (s2 != null)) { return((s1.LastModified.CompareTo(s2.LastModified)) * -1); } } return(-1); }); rootDVC.ReloadComplete(); }
private ImageButtonStringElement CreateImageButtonStringElement(Secret secret) { var secretElement = new ImageButtonStringElement(secret.Phrase, secret, "Images/remove.png", delegate { DisplaySecretDetail(secret); }, delegate { AppDelegate.HistoryData.Secrets.Remove(secret); Element found = null; foreach (var element in secretsSection.Elements) { if (element.Caption == secret.Phrase) { found = element; break; } } if (found != null) { secretsSection.Remove(found); if (secretsSection.Count == 0) { (secretsSection.Parent as RootElement).RemoveAt(1); } } } ); secretElement.Value = " "; secret.WatchEvent += (s) => { InvokeOnMainThread(() => { int peers = s.ListenersCount; secretElement.Value = peers > 0 ? peers + " device" + (peers > 1 ? "s" : "") : " "; rootDVC.ReloadData(); } ); }; return(secretElement); }