private async static Task <bool> isPushDestination(String destination) { TextSecureDirectory directory = DatabaseFactory.getDirectoryDatabase(); try { return(directory.isActiveNumber(destination)); } catch (/*NotInDirectory*/ Exception e) { try { TextSecureAccountManager accountManager = TextSecureCommunicationFactory.createManager(); May <ContactTokenDetails> registeredUser = await App.Current.accountManager.getContact(destination); if (!registeredUser.HasValue) { registeredUser = new May <ContactTokenDetails>(new ContactTokenDetails()); registeredUser.ForceGetValue().setNumber(destination); directory.setNumber(registeredUser.ForceGetValue(), false); return(false); } else { registeredUser.ForceGetValue().setNumber(destination); directory.setNumber(registeredUser.ForceGetValue(), true); return(true); } } catch (Exception e1) { //Log.w(TAG, e1); return(false); } } }