@ -32,6 +32,8 @@ import android.support.v4.content.CursorLoader;
import android.support.v4.content.Loader ;
import android.support.v4.content.Loader ;
import android.telephony.PhoneNumberUtils ;
import android.telephony.PhoneNumberUtils ;
import org.thoughtcrime.securesms.database.DatabaseFactory ;
import org.thoughtcrime.securesms.database.GroupDatabase ;
import org.thoughtcrime.securesms.database.TextSecureDirectory ;
import org.thoughtcrime.securesms.database.TextSecureDirectory ;
import java.util.ArrayList ;
import java.util.ArrayList ;
@ -39,6 +41,8 @@ import java.util.Collection;
import java.util.LinkedList ;
import java.util.LinkedList ;
import java.util.List ;
import java.util.List ;
import static org.thoughtcrime.securesms.database.GroupDatabase.GroupRecord ;
/ * *
/ * *
* This class was originally a layer of indirection between
* This class was originally a layer of indirection between
* ContactAccessorNewApi and ContactAccesorOldApi , which corresponded
* ContactAccessorNewApi and ContactAccesorOldApi , which corresponded
@ -215,14 +219,14 @@ public class ContactAccessor {
return contacts ;
return contacts ;
}
}
public List < String > getNumbersForThreadSearchFilter ( String constraint , ContentResolver contentResolver ) {
public List < String > getNumbersForThreadSearchFilter ( Context context , String constraint ) {
LinkedList < String > numberList = new LinkedList < String > ( ) ;
LinkedList < String > numberList = new LinkedList < > ( ) ;
Cursor cursor = null ;
Cursor cursor = null ;
try {
try {
cursor = conte ntResolver. query ( Uri . withAppendedPath ( Phone . CONTENT_FILTER_URI ,
cursor = conte xt. getConte ntResolver( ) . query ( Uri . withAppendedPath ( Phone . CONTENT_FILTER_URI ,
Uri . encode ( constraint ) ) ,
Uri . encode ( constraint ) ) ,
null , null , null , null ) ;
null , null , null , null ) ;
while ( cursor ! = null & & cursor . moveToNext ( ) ) {
while ( cursor ! = null & & cursor . moveToNext ( ) ) {
numberList . add ( cursor . getString ( cursor . getColumnIndexOrThrow ( Phone . NUMBER ) ) ) ;
numberList . add ( cursor . getString ( cursor . getColumnIndexOrThrow ( Phone . NUMBER ) ) ) ;
@ -233,6 +237,20 @@ public class ContactAccessor {
cursor . close ( ) ;
cursor . close ( ) ;
}
}
GroupDatabase . Reader reader = null ;
GroupRecord record ;
try {
reader = DatabaseFactory . getGroupDatabase ( context ) . getGroupsFilteredByTitle ( constraint ) ;
while ( ( record = reader . getNext ( ) ) ! = null ) {
numberList . add ( record . getEncodedId ( ) ) ;
}
} finally {
if ( reader ! = null )
reader . close ( ) ;
}
return numberList ;
return numberList ;
}
}