public override void OnNestedScroll(CoordinatorLayout coordinatorLayout, Object child, View target,
            int dxConsumed, int dyConsumed, int dxUnconsumed, int dyUnconsumed)
        {
            base.OnNestedScroll(coordinatorLayout, child, target, dxConsumed, dyConsumed, dxUnconsumed, dyUnconsumed);

            var floatingActionButtonChild = child.JavaCast<FloatingActionButton>();

            if (!floatingActionButtonChild.Enabled)
                return;

            if (isFabVisible && scrolledDistance >= MinimalScrollDistance)
            {
                floatingActionButtonChild.HideWithTranslateAnimation();
                scrolledDistance = 0;
                isFabVisible = false;
            }
            else if (!isFabVisible && scrolledDistance <= -MinimalScrollDistance)
            {
                floatingActionButtonChild.ShowWithTranslateAnimation();
                scrolledDistance = 0;
                isFabVisible = true;
            }

            if ((isFabVisible && dyConsumed >= 0) || (!isFabVisible && dyConsumed <= 0))
                scrolledDistance += dyConsumed;
        }
		public void OnResult(JavaObject result)
		{
			IPeopleLoadPeopleResult peopleData = result.JavaCast<IPeopleLoadPeopleResult>();
			List<string> names = new List<string>();

			if(peopleData.Status.StatusCode == CommonStatusCodes.Success)
			{
				PersonBuffer personBuffer = peopleData.PersonBuffer;
				try
				{
					int count = personBuffer.Count;
					for(int i = 0; i < count; i++)
					{
						IPerson person = personBuffer.Get(i).JavaCast<IPerson>();
						names.Add(person.DisplayName);
					}
					_activity.DisplayFriendNames(names);

				} finally
				{
					personBuffer.Close();
				}
			} else
			{
				Log.Error(TAG, "Error requesting visible circles: {0}", peopleData.Status);
			}
		}
コード例 #3
0
        public void OnResponse(Object p0)
        {
            if (id_onResponse_Landroid_view_View_ == IntPtr.Zero)
            {
                id_onResponse_Landroid_view_View_ = JNIEnv.GetMethodID(class_ref, "onResponse", "(Landroid/view/View;)V");
            }
                
            try
            {
                unsafe
                {
                    JValue* args = stackalloc JValue[1];
                    args[0] = new JValue(p0);

                    if (GetType() == ThresholdType)
                    {
                        JNIEnv.CallVoidMethod(Handle, id_onResponse_Landroid_view_View_, args);
                    }

                    else
                    {
                        JNIEnv.CallNonvirtualVoidMethod(Handle, ThresholdClass, JNIEnv.GetMethodID(ThresholdClass, "onClick", "(Landroid/view/View;)V"), args);
                    }
                }
            }
            finally
            {
            }

        }
コード例 #4
0
			protected override Filter.FilterResults PerformFiltering (Java.Lang.ICharSequence constraint)
			{
				FilterResults results = new FilterResults();
				if (constraint != null) {
					var searchFor = constraint.ToString ();
Console.WriteLine ("searchFor:" + searchFor);
					var matchList = new List<string>();
					
					// find matches, IndexOf means look for the input anywhere in the items
					// but it isn't case-sensitive by default!
					var matches = from i in customAdapter.AllItems
								where i.IndexOf(searchFor) >= 0
								select i;
	
					foreach (var match in matches) {
						matchList.Add (match);
					}
		
					customAdapter.MatchItems = matchList.ToArray ();
Console.WriteLine ("resultCount:" + matchList.Count);

// not sure if the Java array/FilterResults are used
Java.Lang.Object[] matchObjects;
matchObjects = new Java.Lang.Object[matchList.Count];
for (int i = 0; i < matchList.Count; i++) {
	matchObjects[i] = new Java.Lang.String(matchList[i]);
}

					results.Values = matchObjects;
					results.Count = matchList.Count;
				}
				return results;
			}
コード例 #5
0
        public override void OnViewRecycled(Object holder)
        {
            var viewHolder = (SpotTileViewHolder)holder;
            viewHolder.Unbind();

            base.OnViewRecycled(holder);
        }
コード例 #6
0
		public override void DestroyItem(ViewGroup p0, int p1, Object p2)
		{
			var holder = (ObjectJavaBox<Tuple<ViewGroup, Page, int>>)p2;
			Page destroyedPage = holder.Instance.Item2;

			IVisualElementRenderer renderer = Platform.GetRenderer(destroyedPage);
			renderer.ViewGroup.RemoveFromParent();
			holder.Instance.Item1.RemoveFromParent();
		}
コード例 #7
0
        public void PostUpdate(ComputeAndroidSDK.Communication.WorkOrderTrimmed wt, Boolean TaskIsComplete, int uncomplete, int totalWOs)
        {
            Java.Lang.Object[] lst = new Java.Lang.Object[1];
            lst[0] = JsonConvert.SerializeObject(wt);
            _noComplete = totalWOs - uncomplete;
            _totalWOs = totalWOs;
            PublishProgress(lst);

            _complete = TaskIsComplete;
        }
		public void OnResult(JavaObject result)
		{
			Log.Debug(TAG, "Revoke user access");
			var status = result.JavaCast<Statuses>();
			if(status.IsSuccess)
			{
				_context.RemoveGoogleAccount();
			}

		}
コード例 #9
0
		public ExamplesAdapter(LinkedHashMap source){
			this.source = source;

			Java.Lang.Object[] k = new Java.Lang.Object[source.Size ()];
			int counter = 0;
			foreach (Java.Lang.Object o in this.source.KeySet()) {
				k [counter++] = o;
			}

			this.keys = k;
		}
コード例 #10
0
        public bool OnPreferenceChange(Preference preference, Object newValue)
        {
            var stringValue = newValue.ToString();
            var listPreference = preference as ListPreference;

            // for list preferences
            if (listPreference != null)
            {
                int prefIndex = listPreference.FindIndexOfValue(stringValue);
                if (prefIndex >= 0)
                {
                    preference.Summary = listPreference.GetEntries()[prefIndex];
                }
            }
            // any other preference just set the summary
            else
            {
                preference.Summary = stringValue;
            }

            return true;
        }
コード例 #11
0
		public override int GetItemPosition(Object item)
		{
			// The int is the current index.
			var holder = (ObjectJavaBox<Tuple<ViewGroup, Page, int>>)item;
			Element parent = holder.Instance.Item2.RealParent;
			if (parent == null)
				return PositionNone;

			// Unfortunately we can't just call CarouselPage.GetIndex, because we need to know
			// if the item has been removed. We could update MultiPage<T> to set removed items' index
			// to -1 to support this if it ever becomes an issue.
			int index = ((CarouselPage)parent).Children.IndexOf(holder.Instance.Item2);
			if (index == -1)
				return PositionNone;

			if (index != holder.Instance.Item3)
			{
				holder.Instance = new Tuple<ViewGroup, Page, int>(holder.Instance.Item1, holder.Instance.Item2, index);
				return index;
			}

			return PositionUnchanged;
		}
コード例 #12
0
        // builds an array of unique section headers, data must be sorted by name
        public static Java.Lang.Object[] BuildSectionHeaders(List<Instructor> data)
        {
            var results = new List     <string>();
            var used    = new SortedSet<string>();

            foreach (var item in data)
            {
                var letter = item.Name[0].ToString();

                if (!used.Contains(letter))
                    results.Add(letter);

                used.Add(letter);
            }

            var jobjects = new Java.Lang.Object[results.Count];

            for (int i = 0; i < results.Count; i++)
            {
                jobjects[i] = results[i];
            }

            return jobjects;
        }
コード例 #13
0
 public void WhenDone(Java.Lang.Object p0)
 {
     _whenDone?.Invoke(p0);
 }
コード例 #14
0
 public void SetRequest(Request request)
 {
     mResult = request;
 }
コード例 #15
0
 protected override void OnPostExecute(Java.Lang.Object result)
 {
     base.OnPostExecute(result);
 } // End of method
コード例 #16
0
ファイル: Example.cs プロジェクト: 89sos98/monodroid-samples
			public override void OnComplete (String response, Object state)
			{
				if (response.Equals ("true")) {
					Log.Debug ("Facebook-Example", "Successfully deleted wall post");
					parent.RunOnUiThread (delegate {
						parent.mDeleteButton.Visibility = (ViewStates.Invisible);
						parent.mText.Text = ("Deleted Wall Post");
					});
				} else {
					Log.Debug ("Facebook-Example", "Could not delete wall post");
				}
			}
コード例 #17
0
ファイル: Example.cs プロジェクト: 89sos98/monodroid-samples
		public void OnIOException (Java.IO.IOException e, Object state)
		{
			Log.Error ("Facebook", e.Message);
			e.PrintStackTrace ();
		}
コード例 #18
0
			private static Java.Lang.Object[] CreateJavaStringArray(List<Category> inputList)
			{
				if (inputList == null)
					return null;

				var toReturn = new Java.Lang.Object[inputList.Count];
				for (var i = 0; i < inputList.Count; i++)
				{
					toReturn [i] = new Java.Lang.String(inputList[i].Title);
				}

				return toReturn;
			}
コード例 #19
0
 public bool Handles(Java.Lang.Object model) =>
 model is T;
コード例 #20
0
 public ModelLoaderLoadData BuildLoadData(Java.Lang.Object model, int width, int height, Options options) =>
 new ModelLoaderLoadData(new ObjectKey(model.ToString()), new DataFetcher(model));
コード例 #21
0
            public override void DestroyItem(AViews.ViewGroup container, int position, Java.Lang.Object objectValue)
            {
                var pager = (ViewPager)container;
                var view  = (AViews.ViewGroup)objectValue;

                //view.SaveEnabled = true;
                //view.SaveHierarchyState(mViewStates);
                pager.RemoveView(view);
            }
コード例 #22
0
 public override bool IsViewFromObject(AViews.View view, Java.Lang.Object @object)
 {
     return(view == @object);
 }
コード例 #23
0
 public override unsafe void Load(Android.App.Activity activity, Java.Lang.Object @params, Java.Lang.Object networkParams, Java.Lang.Object @callback)
 {
     LoadRewarded(activity,
                  @params as Com.Appodeal.Ads.Unified.IUnifiedRewardedParams,
                  networkParams as Com.Appodeal.Ads.Adapters.Appodealx.AppodealXNetwork.RequestParams,
                  @callback as Com.Appodeal.Ads.Unified.UnifiedRewardedCallback);
 }
コード例 #24
0
 public override unsafe void Show(global::Android.App.Activity activity, Java.Lang.Object @callback)
 {
     ShowRewarded(activity,
                  @callback as Com.Appodeal.Ads.Unified.UnifiedRewardedCallback);
 }
コード例 #25
0
 public LifecycleTransformer BindUntilEvent(Java.Lang.Object p0)
 {
     return(RxLifecycle.BindUntilEvent(lifecycleSubject, p0));
 }
 public override bool OnStartNestedScroll(CoordinatorLayout coordinatorLayout, Object child,
     View directTargetChild, View target, int nestedScrollAxes)
 {
     return nestedScrollAxes == ViewCompat.ScrollAxisVertical ||
            base.OnStartNestedScroll(coordinatorLayout, child, directTargetChild, target, nestedScrollAxes);
 }
コード例 #27
0
 public override bool IsViewFromObject(View view, Object @object)
 => view == @object;
コード例 #28
0
 public DataFetcher(Java.Lang.Object model)
 {
     _model = model;
 }
コード例 #29
0
ファイル: Example.cs プロジェクト: 89sos98/monodroid-samples
		public void OnFacebookError (FacebookError e, Object state)
		{
			Log.Error ("Facebook", e.Message);
			e.PrintStackTrace ();
		}
コード例 #30
0
 public static TObject ToNetObject <TObject>(this Object value)
 {
     if (value is null)
     {
         return(default !);
コード例 #31
0
ファイル: Example.cs プロジェクト: 89sos98/monodroid-samples
		public void OnMalformedURLException (MalformedURLException e,
		                                     Object state)
		{
			Log.Error ("Facebook", e.Message);
			e.PrintStackTrace ();
		}
コード例 #32
0
ファイル: MainActivity.cs プロジェクト: sweta2017/check
 public override int GetItemPosition(Java.Lang.Object frag) => PositionNone;
コード例 #33
0
ファイル: SeekBarPreference.cs プロジェクト: pascalfr/MPfm
 protected override void OnSetInitialValue(bool restorePersistedValue, Object defaultValue)
 {
     base.OnSetInitialValue(restorePersistedValue, defaultValue);
 }
コード例 #34
0
 protected override void Free(Java.Lang.Object p0)
 {
     RawFree((global::Com.Facebook.Imagepipeline.Memory.NativeMemoryChunk)p0);
 }
コード例 #35
0
        public static List<NetworkInfoModel> GetAllNetworkInterfaces()
        {
            // NetworkInfoModel is a class that we define.  You'll needto define something similar.

            var adaptors = new List<NetworkInfoModel>();

            try
            {

                var networkInterfaceClass = JNIEnv.FindClass("java/net/NetworkInterface");
                var inetAddressClass = JNIEnv.FindClass("java/net/InetAddress");
                var getNetworkInterfacesMethod = JNIEnv.GetStaticMethodID(networkInterfaceClass, "getNetworkInterfaces", "()Ljava/util/Enumeration;");
                var networkInterfacesEnumeration = JNIEnv.CallStaticObjectMethod(networkInterfaceClass, getNetworkInterfacesMethod);
                var enumerationClass = JNIEnv.FindClass("java/util/Enumeration");
                var hasMoreElementsMethod = JNIEnv.GetMethodID(enumerationClass, "hasMoreElements", "()Z");
                var nextElementMethod = JNIEnv.GetMethodID(enumerationClass, "nextElement", "()Ljava/lang/Object;");

                var hasMoreInterfaces = JNIEnv.CallBooleanMethod(networkInterfacesEnumeration, hasMoreElementsMethod);

                int moreInterfacesCount = 0;

                while (hasMoreInterfaces)
                {
                    moreInterfacesCount++;
                    if (moreInterfacesCount > 100)//hack for infinit loop
                        break;

                    var currentInterface = JNIEnv.CallObjectMethod(networkInterfacesEnumeration, nextElementMethod);
                    hasMoreInterfaces = JNIEnv.CallBooleanMethod(networkInterfacesEnumeration, hasMoreElementsMethod);

                    var adapter = new Java.Lang.Object(currentInterface, JniHandleOwnership.DoNotTransfer).JavaCast<NetworkInterface>();
                    var getInetAddressesMethod = JNIEnv.GetMethodID(networkInterfaceClass, "getInetAddresses", "()Ljava/util/Enumeration;");
                    var inetAddressesEnumeration = JNIEnv.CallObjectMethod(currentInterface, getInetAddressesMethod);
                    var hasMoreInetAddresses = JNIEnv.CallBooleanMethod(inetAddressesEnumeration, hasMoreElementsMethod);

                    // the following methods require android 2.3
                    var isLoopbackMethod = Android.Runtime.JNIEnv.GetMethodID(networkInterfaceClass, "isLoopback", "()Z");
                    var isLoopback = Android.Runtime.JNIEnv.CallBooleanMethod(currentInterface, isLoopbackMethod);

                    //IntPtr isUpMethod =Android.Runtime.JNIEnv.GetMethodID(networkInterfaceClass, "isUp","()Z");
                    //bool isUp =Android.Runtime.JNIEnv.CallBooleanMethod(currentInterface, isUpMethod);

                    var networkInfo = new NetworkInfoModel
                        {
                            NetworkInterface = adapter,
                            InitAddresses = new List<InetAddress>(),
                            IpAddresses = new List<IPAddress>(),
                           // HostNames =  new List<string>(),
                            IsLoopback = isLoopback
                        };

                    int moreInetCount = 0;
                    while (hasMoreInetAddresses)
                    {
                        moreInetCount++;
                        if (moreInetCount > 100) //hack for infinit loop
                            break;

                        var currentInetAddress = JNIEnv.CallObjectMethod(inetAddressesEnumeration, nextElementMethod);
                        hasMoreInetAddresses = JNIEnv.CallBooleanMethod(inetAddressesEnumeration, hasMoreElementsMethod);
                        var address = new Java.Lang.Object(currentInetAddress, JniHandleOwnership.DoNotTransfer).JavaCast<InetAddress>();

                        //var getHostNameMethod = Android.Runtime.JNIEnv.GetMethodID(inetAddressClass, "getHostName", "()Ljava/lang/String;");
                        //IntPtr getHostResultPtr = JNIEnv.CallObjectMethod(currentInetAddress, getHostNameMethod);

                        //var getHostResult = new Java.Lang.Object(getHostResultPtr, JniHandleOwnership.TransferLocalRef).JavaCast<Java.Lang.String>();

                        IPAddress ipAddr;

                        var success = IPAddress.TryParse(address.HostAddress, out ipAddr);
                        if (!success)
                            continue;

                        networkInfo.InitAddresses.Add(address);
                        networkInfo.IpAddresses.Add(ipAddr);
                        //networkInfo.HostNames.Add(getHostResult.ToString());
                        adaptors.Add(networkInfo);
                    }
                }
            }
            catch (Exception ex)
            {
            }

            return adaptors;
        }
コード例 #36
0
 protected override int GetBucketedSizeForValue(Java.Lang.Object p0)
 {
     return(RawGetBucketedSizeForValue((global::Com.Facebook.Imagepipeline.Memory.NativeMemoryChunk)p0));
 }
コード例 #37
0
 public override bool OnStartNestedScroll(CoordinatorLayout coordinatorLayout, Object child,
                                          View directTargetChild, View target, int nestedScrollAxes)
 {
     return(nestedScrollAxes == ViewCompat.ScrollAxisVertical ||
            base.OnStartNestedScroll(coordinatorLayout, child, directTargetChild, target, nestedScrollAxes));
 }
コード例 #38
0
        public void OnSuccess(Java.Lang.Object p0)
        {
            var loginResult = (LoginResult)p0;

            _taskCompletion.TrySetResult(loginResult.AccessToken.Token);
        }
コード例 #39
0
 public bool SetViewValue(View view, Object data, string textRepresentation)
 {
     if (!(view is CheckedTextView)) return false;
     var checkedView = view as CheckedTextView;
     checkedView.Text = data.ToString();
     return true;
 }
コード例 #40
0
 public void Call(Java.Lang.Object p1)
 {
     Call((global::RX.Subscriber)p1);
 }
コード例 #41
0
 public void OnSuccess(Java.Lang.Object p0)
 {
     Activity.mUserInfoJson[KeyUserInfo] = (p0 as JSONObject).ToString();
     Activity.RunOnUiThread(() => Activity.displayAuthorizationInfo());
 }
コード例 #42
0
 public override void OnNext(Java.Lang.Object p0)
 {
     OnNext((RX.Notification)p0);
 }
コード例 #43
0
 public RequestBuilder GetPreloadRequestBuilder(Object p0)
 {
     return(GlideImageLoader.GetPreLoadRequestBuilder(ActivityContext, p0.ToString(), ImageStyle.CenterCrop));
 }
コード例 #44
0
 public Java.Lang.Object Call(Java.Lang.Object p0, Java.Lang.Object p1)
 {
     return(TryCall(p0, p1));
 }
コード例 #45
0
 public override void DestroyItem(ViewGroup container, int position, Object @object)
 {
     container.RemoveView(@object as View);
 }
コード例 #46
0
 public void Call(Java.Lang.Object p0)
 {
     Call((RX.Subscriber)p0);
 }
コード例 #47
0
ファイル: Example.cs プロジェクト: 89sos98/monodroid-samples
			public override void OnComplete (String response, Object state)
			{
				// callback should be run in the original thread, 
				// not the background thread
				parent.mHandler.Post (delegate {
					SessionEvents.OnLogoutFinish ();
				});
			}
コード例 #48
0
 //@Override
 //@NonNull
 public Java.Lang.Object[] GetSections()
 {
     Java.Lang.Object[] result = new Java.Lang.Object[0];
     if (mDecoratedBaseAdapter is ISectionIndexer)
     {
         result = ((ISectionIndexer)mDecoratedBaseAdapter).GetSections();
     }
     return result;
 }
コード例 #49
0
ファイル: Example.cs プロジェクト: 89sos98/monodroid-samples
		public void OnFileNotFoundException (FileNotFoundException e,
		                                     Object state)
		{
			Log.Error ("Facebook", e.Message);
			e.PrintStackTrace ();
		}
コード例 #50
0
 public virtual void SetData(JavaObject p0)
 {
 }
コード例 #51
0
ファイル: Example.cs プロジェクト: 89sos98/monodroid-samples
			public override void OnComplete (String response, Object state)
			{
				try {
					// process the response here: (executed in background thread)
					Log.Debug ("Facebook-Example", "Response: " + response.ToString ());
					var json = (JsonObject)JsonValue.Parse (response);
					String src = json ["src"];

					// then post the processed result back to the UI thread
					// if we do not do this, an runtime exception will be generated
					// e.g. "CalledFromWrongThreadException: Only the original
					// thread that created a view hierarchy can touch its views."
					parent.RunOnUiThread (delegate {
						parent.mText.Text = ("Hello there, photo has been uploaded at \n" + src);
					});
					//} catch (JSONException e) {
					//	Log.Warn ("Facebook-Example", "JSON Error in response");
				} catch (FacebookError e) {
					Log.Warn ("Facebook-Example", "Facebook Error: " + e.Message);
				}
			}
コード例 #52
0
 public RequestBuilder GetPreloadRequestBuilder(Object p0)
 {
     return(Glide.With(ActivityContext).Load(p0.ToString()).Apply(new RequestOptions().CenterCrop().SetDiskCacheStrategy(DiskCacheStrategy.All)));
 }
コード例 #53
0
ファイル: Example.cs プロジェクト: 89sos98/monodroid-samples
			public override void OnComplete (String response, Object state)
			{
				Log.Debug ("Facebook-Example", "Got response: " + response);
				String message = "<empty>";
				try {
					var json = (JsonObject)JsonValue.Parse (response);
					message = json ["message"];
					//} catch (JSONException e) {
					//	Log.Warn ("Facebook-Example", "JSON Error in response");
				} catch (FacebookError e) {
					Log.Warn ("Facebook-Example", "Facebook Error: " + e.Message);
				}
				String text = "Your Wall Post: " + message;
				parent.RunOnUiThread (delegate {
					parent.mText.Text = (text);
				});
			}
コード例 #54
0
 public override void BindController(Java.Lang.Object obj)
 {
     BindController(obj.JavaCast <global::PSPDFKit.UI.SpecialMode.Controller.IAnnotationEditingController> ());
 }
コード例 #55
0
        //FOR GOOGLE API
        public void OnResult(Object arg)
        {
            var result = arg as LocationSettingsResult;
            if (result != null)
            {
                switch (result.Status.StatusCode)
                {
                    case LocationSettingsStatusCodes.Success:
                        //

                        break;
                    case LocationSettingsStatusCodes.ResolutionRequired:
                        try
                        {
                            result.Status.StartResolutionForResult((Activity)Forms.Context, 404); //WHAT IS LOCATION SERVICE REQUEST CODE
                        }
                        catch
                        {
                            // ignored
                        }
                        break;
                    default: return;
                }
            }
        }
コード例 #56
0
            protected override Filter.FilterResults PerformFiltering(Java.Lang.ICharSequence constraint)
            {
                FilterResults results = new FilterResults();
                if (!String.IsNullOrEmpty (constraint.ToString ())) {
                    var searchFor = constraint.ToString ();
                    Console.WriteLine ("searchFor:" + searchFor);
                    var matchList = new List<string> ();

                    var matches =
                        from i in _adapter.AllItems
                        where i.IndexOf (searchFor, StringComparison.InvariantCultureIgnoreCase) >= 0
                        select i;

                    foreach (var match in matches) {
                        matchList.Add (match);
                    }

                    _adapter.MatchItems = matchList.ToArray ();
                    Console.WriteLine ("resultCount:" + matchList.Count);

                    Java.Lang.Object[] matchObjects;
                    matchObjects = new Java.Lang.Object[matchList.Count];
                    for (int i = 0; i < matchList.Count; i++) {
                        matchObjects [i] = new Java.Lang.String (matchList [i]);
                    }

                    results.Values = matchObjects;
                    results.Count = matchList.Count;
                } else {
                    _adapter.ResetSearch ();
                }
                return results;
            }
コード例 #57
0
 public unsafe void Call(Java.Lang.Object p0)
 {
     Call((RX.Completable.ICompletableSubscriber)p0);
 }
コード例 #58
0
        private Dictionary <string, Java.Lang.Object> CreatePropertyList(Java.Lang.Object obj)
        {
            var dict = new Dictionary <string, Java.Lang.Object>();

            foreach (var prop in obj.GetType().GetProperties())
            {
                switch (prop.Name)
                {
                // filter out properties that we don't want to display
                case "JniPeerMembers":
                case "JniIdentityHashCode":
                case "Handle":
                case "PeerReference":
                case "Outline":
                case "Class":
                    break;

                default:

                    try
                    {
                        var value = prop.GetValue(obj, null);


                        // filter out deprecated fields
                        if (prop.GetCustomAttributes(typeof(ObsoleteAttribute), true).ToArray().Length > 0)
                        {
                            continue;
                        }

                        Log.Debug(TAG, "{0}: {1}", prop.Name, value);
                        if (value != null)
                        {
                            // TODO: iterate through every result and display them
                            //if(value is JavaList)
                            //{
                            //    var i = 0;
                            //    var resultList = (value as JavaList);
                            //    foreach (Java.Lang.Object v in resultList)
                            //    {
                            //        var sublist = CreatePropertyList(v);
                            //        sublist.ToList().ForEach(x => dict.Add(x.Key + $" ({i})", x.Value));
                            //        i++;
                            //    }
                            //}
                            if (value is AnylineImage)
                            {
                                var bitmap = (value as AnylineImage).Clone().Bitmap;
                                dict.Add(prop.Name, bitmap);
                            }
                            else if (value is ID)
                            {
                                var sublist = CreatePropertyList(value as ID);
                                sublist.ToList().ForEach(x => dict.Add(x.Key, x.Value));
                            }
                            else if (value is IDFieldConfidences)
                            {
                                var sublist = CreatePropertyList(value as IDFieldConfidences);
                                sublist.ToList().ForEach(x => dict.Add($"{x.Key} (field confidence)", x.Value));
                            }
                            else
                            {
                                var str = new Java.Lang.String(value.ToString()).ReplaceAll("\\\\n", "\\\n");
                                dict.Add(prop.Name, str);
                            }
                        }
                    }
                    catch (Exception e)
                    {
                        System.Diagnostics.Debug.WriteLine("Exception: " + e.Message);
                    }
                    break;
                }
            }

            // quick hack to re-order the list so that the result will be presented first:
            dict.MoveElementToIndex("Result", 0);

            return(dict);
        }
コード例 #59
0
 public JavaObjectWeakReference(Object item)
     : base(item, true)
 {
     _reference = new Java.Lang.Ref.WeakReference(item);
 }
コード例 #60
0
 public Java.Lang.Object Call(Java.Lang.Object p0)
 {
     return(Call((RX.Subscriber)p0));
 }