Beispiel #1
0
 internal override android.widget.Filter.FilterResults performFiltering(java.lang.CharSequence
                                                                        prefix)
 {
     android.widget.Filter.FilterResults results = new android.widget.Filter.FilterResults
                                                       ();
     if (this._enclosing.mUnfilteredData == null)
     {
         this._enclosing.mUnfilteredData = new java.util.ArrayList <java.util.Map <string, object
                                                                                   > >(this._enclosing.mData);
     }
     if (prefix == null || prefix.Length == 0)
     {
         java.util.ArrayList <java.util.Map <string, object> > list = this._enclosing.mUnfilteredData;
         results.values = list;
         results.count  = list.size();
     }
     else
     {
         string prefixString = prefix.ToString().ToLower();
         java.util.ArrayList <java.util.Map <string, object> > unfilteredValues = this._enclosing
                                                                                  .mUnfilteredData;
         int count = unfilteredValues.size();
         java.util.ArrayList <java.util.Map <string, object> > newValues = new java.util.ArrayList
                                                                           <java.util.Map <string, object> >(count);
         {
             for (int i = 0; i < count; i++)
             {
                 java.util.Map <string, object> h = unfilteredValues.get(i);
                 if (h != null)
                 {
                     int len = this._enclosing.mTo.Length;
                     {
                         for (int j = 0; j < len; j++)
                         {
                             string   str       = (string)h.get(this._enclosing.mFrom[j]);
                             string[] words     = XobotOS.Runtime.Util.SplitStringRegex(str, " ");
                             int      wordCount = words.Length;
                             {
                                 for (int k = 0; k < wordCount; k++)
                                 {
                                     string word = words[k];
                                     if (word.ToLower().StartsWith(prefixString))
                                     {
                                         newValues.add(h);
                                         break;
                                     }
                                 }
                             }
                         }
                     }
                 }
             }
         }
         results.values = newValues;
         results.count  = newValues.size();
     }
     return(results);
 }
Beispiel #2
0
 internal override void publishResults(java.lang.CharSequence constraint, android.widget.Filter
                                       .FilterResults results)
 {
     android.database.Cursor oldCursor = mClient.getCursor();
     if (results.values != null && results.values != oldCursor)
     {
         mClient.changeCursor((android.database.Cursor)results.values);
     }
 }
Beispiel #3
0
 protected override void publishResults(java.lang.CharSequence arg0, android.widget.Filter.FilterResults arg1)
 {
     global::MonoJavaBridge.JNIEnv @__env = global::MonoJavaBridge.JNIEnv.ThreadEnv;
     if (!IsClrObject)
     {
         @__env.CallVoidMethod(this.JvmHandle, global::android.widget.Filter_._publishResults11283, global::MonoJavaBridge.JavaBridge.ConvertToValue(arg0), global::MonoJavaBridge.JavaBridge.ConvertToValue(arg1));
     }
     else
     {
         @__env.CallNonVirtualVoidMethod(this.JvmHandle, global::android.widget.Filter_.staticClass, global::android.widget.Filter_._publishResults11283, global::MonoJavaBridge.JavaBridge.ConvertToValue(arg0), global::MonoJavaBridge.JavaBridge.ConvertToValue(arg1));
     }
 }
Beispiel #4
0
 internal override void publishResults(java.lang.CharSequence constraint, android.widget.Filter
                                       .FilterResults results)
 {
     //noinspection unchecked
     this._enclosing.mData = (java.util.List <java.util.Map <string, object> >)results.values;
     if (results.count > 0)
     {
         this._enclosing.notifyDataSetChanged();
     }
     else
     {
         this._enclosing.notifyDataSetInvalidated();
     }
 }
Beispiel #5
0
		internal override android.widget.Filter.FilterResults performFiltering(java.lang.CharSequence
			 constraint)
		{
			android.database.Cursor cursor = mClient.runQueryOnBackgroundThread(constraint);
			android.widget.Filter.FilterResults results = new android.widget.Filter.FilterResults
				();
			if (cursor != null)
			{
				results.count = cursor.getCount();
				results.values = cursor;
			}
			else
			{
				results.count = 0;
				results.values = null;
			}
			return results;
		}
Beispiel #6
0
 internal override android.widget.Filter.FilterResults performFiltering(java.lang.CharSequence
                                                                        constraint)
 {
     android.database.Cursor             cursor  = mClient.runQueryOnBackgroundThread(constraint);
     android.widget.Filter.FilterResults results = new android.widget.Filter.FilterResults
                                                       ();
     if (cursor != null)
     {
         results.count  = cursor.getCount();
         results.values = cursor;
     }
     else
     {
         results.count  = 0;
         results.values = null;
     }
     return(results);
 }
Beispiel #7
0
 internal abstract void publishResults(java.lang.CharSequence constraint, android.widget.Filter
                                       .FilterResults results);
Beispiel #8
0
 internal override android.widget.Filter.FilterResults performFiltering(java.lang.CharSequence
                                                                        prefix)
 {
     android.widget.Filter.FilterResults results = new android.widget.Filter.FilterResults
                                                       ();
     if (this._enclosing.mOriginalValues == null)
     {
         lock (this._enclosing.mLock)
         {
             this._enclosing.mOriginalValues = new java.util.ArrayList <T>(this._enclosing.mObjects
                                                                           );
         }
     }
     if (prefix == null || prefix.Length == 0)
     {
         java.util.ArrayList <T> list;
         lock (this._enclosing.mLock)
         {
             list = new java.util.ArrayList <T>(this._enclosing.mOriginalValues);
         }
         results.values = list;
         results.count  = list.size();
     }
     else
     {
         string prefixString = prefix.ToString().ToLower();
         java.util.ArrayList <T> values;
         lock (this._enclosing.mLock)
         {
             values = new java.util.ArrayList <T>(this._enclosing.mOriginalValues);
         }
         int count = values.size();
         java.util.ArrayList <T> newValues = new java.util.ArrayList <T>();
         {
             for (int i = 0; i < count; i++)
             {
                 T      value     = values.get(i);
                 string valueText = value.ToString().ToLower();
                 // First match against the whole, non-splitted value
                 if (valueText.StartsWith(prefixString))
                 {
                     newValues.add(value);
                 }
                 else
                 {
                     string[] words     = XobotOS.Runtime.Util.SplitStringRegex(valueText, " ");
                     int      wordCount = words.Length;
                     {
                         // Start at index 0, in case valueText starts with space(s)
                         for (int k = 0; k < wordCount; k++)
                         {
                             if (words[k].StartsWith(prefixString))
                             {
                                 newValues.add(value);
                                 break;
                             }
                         }
                     }
                 }
             }
         }
         results.values = newValues;
         results.count  = newValues.size();
     }
     return(results);
 }
Beispiel #9
0
			internal override android.widget.Filter.FilterResults performFiltering(java.lang.CharSequence
				 prefix)
			{
				android.widget.Filter.FilterResults results = new android.widget.Filter.FilterResults
					();
				if (this._enclosing.mUnfilteredData == null)
				{
					this._enclosing.mUnfilteredData = new java.util.ArrayList<java.util.Map<string, object
						>>(this._enclosing.mData);
				}
				if (prefix == null || prefix.Length == 0)
				{
					java.util.ArrayList<java.util.Map<string, object>> list = this._enclosing.mUnfilteredData;
					results.values = list;
					results.count = list.size();
				}
				else
				{
					string prefixString = prefix.ToString().ToLower();
					java.util.ArrayList<java.util.Map<string, object>> unfilteredValues = this._enclosing
						.mUnfilteredData;
					int count = unfilteredValues.size();
					java.util.ArrayList<java.util.Map<string, object>> newValues = new java.util.ArrayList
						<java.util.Map<string, object>>(count);
					{
						for (int i = 0; i < count; i++)
						{
							java.util.Map<string, object> h = unfilteredValues.get(i);
							if (h != null)
							{
								int len = this._enclosing.mTo.Length;
								{
									for (int j = 0; j < len; j++)
									{
										string str = (string)h.get(this._enclosing.mFrom[j]);
										string[] words = XobotOS.Runtime.Util.SplitStringRegex(str, " ");
										int wordCount = words.Length;
										{
											for (int k = 0; k < wordCount; k++)
											{
												string word = words[k];
												if (word.ToLower().StartsWith(prefixString))
												{
													newValues.add(h);
													break;
												}
											}
										}
									}
								}
							}
						}
					}
					results.values = newValues;
					results.count = newValues.size();
				}
				return results;
			}
Beispiel #10
0
 protected abstract void publishResults(java.lang.CharSequence arg0, android.widget.Filter.FilterResults arg1);
Beispiel #11
0
 internal override void publishResults(java.lang.CharSequence constraint, android.widget.Filter
                                       .FilterResults results)
 {
     throw new System.NotImplementedException();
 }