public void searchUsers(User userModel, String searchName, CompletionUsers completionUsers) {
try {
if((searchName.isEmpty() && searchFull.isEmpty() && school.isEmpty() && company.isEmpty() && currentCity.isEmpty() && hometown.isEmpty())) {
completionUsers.onSuccess(new User[0]);
return;
} // if
RealmQuery query = realm
.where(User.class);
if(!searchName.isEmpty()) {
String firstName = searchName;
String lastName = searchName;
query = query.beginGroup();
query = query.beginGroup().contains(“firstname”, firstName, Case.INSENSITIVE)
.or().contains(“lastname”, lastName, Case.INSENSITIVE).endGroup();
```
query = query.endGroup();
}
query = query.and().notEqualTo("_id", userModel._id);
RealmResults<User> userModels = query.findAllAsync();
userModels.addChangeListener(new RealmChangeListener<RealmResults<User>>() {
@Override
public void onChange(RealmResults<User> users) {
if(userModels.isLoaded()) {
Vector<User> vector = new Vector();
RealmResults<User> results = userModels.sort("firstname", Sort.ASCENDING, "lastname", Sort.ASCENDING);
for (int i = 0; i < results.size(); i++) {
vector.add(results.get(i));
} // for
User[] result = new User[vector.size()];
vector.copyInto(result);
completionUsers.onSuccess(result);
userModels.removeAllChangeListeners();
} // if
}
});
}
catch (Exception e) {
e.printStackTrace();
completionUsers.onFail(e.getMessage());
}
}
```
and im call this as
RealmHelper.shared.searchUsers(GlobalService.shared.getMe(), !isSimple ? “” : simpleText, new RealmHelper.CompletionUsers() {
@Override
public void onSuccess(HPUser[] userRealm) {
}
});
simpleText is my searchtext