Esempio n. 1
0
        private static NSNotification CreateNotification(string notificationName, NativeEventArgs eventArgs)
        {
            long eventArgsPtr = eventArgs != null ? eventArgs.NativeHandle : 0;

            NSDictionary <NSObject, NSObject> userInfo = NSDictionary <NSObject, NSObject> .FromObjectsAndKeys(
                new [] { NSNumber.FromInt64(eventArgsPtr) }, new [] { (NSString)KEY_EVENTARGS }, 1
                );

            NSNotification notification = NSNotification.FromName(notificationName, null, userInfo);

            return(notification);
        }
        public static NSObject ConvertToNSObject(object obj)
        {
            if (obj != null)
            {
                if (obj is Boolean)
                {
                    return(NSNumber.FromBoolean((bool)obj));
                }
                else if (obj is Byte)
                {
                    return(NSNumber.FromByte((byte)obj));
                }
                else if (obj is SByte)
                {
                    return(NSNumber.FromSByte((sbyte)obj));
                }
                else if (obj is Int16)
                {
                    return(NSNumber.FromInt16((short)obj));
                }
                else if (obj is Int32)
                {
                    return(NSNumber.FromInt32((int)obj));
                }
                else if (obj is Int64)
                {
                    return(NSNumber.FromInt64((long)obj));
                }
                else if (obj is UInt16)
                {
                    return(NSNumber.FromUInt16((ushort)obj));
                }
                else if (obj is UInt32)
                {
                    return(NSNumber.FromUInt32((uint)obj));
                }
                else if (obj is UInt64)
                {
                    return(NSNumber.FromUInt64((ulong)obj));
                }
                else if (obj is Single)
                {
                    return(NSNumber.FromFloat((float)obj));
                }
                else if (obj is Double)
                {
                    return(NSNumber.FromDouble((double)obj));
                }
                else if (obj is string)
                {
                    return(new NSString(obj.ToString()));
                }
                else if (obj is Guid)
                {
                    return(new NSUuid(((Guid)obj).ToByteArray()));
                }
                else if (obj is DateTime)
                {
                    return(((DateTime)obj).ToNSDate());
                }
                else if (obj is DateTimeOffset)
                {
                    return(new NSString(((DateTimeOffset)obj).ToString("O")));
                }
            }

            return(null);
        }
Esempio n. 3
0
        NSDictionary Options()
        {
            var keys = new NSString[] {
                Constants.kCRToastNotificationTypeKey,
                Constants.kCRToastNotificationPresentationTypeKey,
                Constants.kCRToastUnderStatusBarKey,
                Constants.kCRToastTextKey,
                Constants.kCRToastTextAlignmentKey,
                Constants.kCRToastTimeIntervalKey,
                Constants.kCRToastAnimationInTypeKey,
                Constants.kCRToastAnimationOutTypeKey,
                Constants.kCRToastAnimationInDirectionKey,
                Constants.kCRToastAnimationOutDirectionKey,
                Constants.kCRToastNotificationPreferredPaddingKey
            };

            var objects = new NSObject[] {
                NSNumber.FromInt64((long)(coverNavBarSwitch.On ? CRToastType.NavigationBar : CRToastType.StatusBar)),
                NSNumber.FromInt64((long)(SlideOverSwitch.On ? CRToastPresentationType.Cover : CRToastPresentationType.Push)),
                NSNumber.FromBoolean(SlideUnderSwitch.On),
                (NSString)TxtNotificationMessage.Text,
                NSNumber.FromInt64((long)_TextAlignment),
                NSNumber.FromDouble(SliderDuration.Value),
                NSNumber.FromInt64(InAnimationTypeSegmentedControl.SelectedSegment),
                NSNumber.FromInt64(OutAnimationTypeSegmentedControl.SelectedSegment),
                NSNumber.FromInt64(SegFromDirection.SelectedSegment),
                NSNumber.FromInt64(SegToDirection.SelectedSegment),
                NSNumber.FromDouble(SliderPadding.Value)
            };

            var options = NSMutableDictionary.FromObjectsAndKeys(objects, keys);

            if (ShowImageSwitch.On)
            {
                options.Add(Constants.kCRToastImageKey, UIImage.FromFile("alert_icon.png"));
                options.Add(Constants.kCRToastImageAlignmentKey, NSNumber.FromInt64(ImageAlignmentSegmentedControl.SelectedSegment));
            }

            if (ImageTintEnabledSwitch.On)
            {
                options.Add(Constants.kCRToastImageTintKey, UIColor.FromHSB(ImageTintSlider.Value, 1.0f, 1.0f));
            }

            if (ShowActivityIndicatorSwitch.On)
            {
                options.Add(Constants.kCRToastShowActivityIndicatorKey, NSNumber.FromBoolean(true));
                options.Add(Constants.kCRToastActivityIndicatorAlignmentKey, NSNumber.FromInt64(ActivityIndicatorAlignmentSegementControl.SelectedSegment));
            }

            if (ForceUserInteractionSwitch.On)
            {
                options.Add(Constants.kCRToastForceUserInteractionKey, NSNumber.FromBoolean(true));
            }

            if (!string.IsNullOrEmpty(TxtNotificationMessage.Text))
            {
                options.Add(Constants.kCRToastIdentifierKey, (NSString)TxtNotificationMessage.Text);
            }

            if (!string.IsNullOrEmpty(TxtSubtitleMessage.Text))
            {
                options.Add(Constants.kCRToastSubtitleTextKey, (NSString)TxtSubtitleMessage.Text);
                options.Add(Constants.kCRToastSubtitleTextAlignmentKey, NSNumber.FromInt64(SegSubtitleAlignment.SelectedSegment));
            }

            if (DismissibleWithTapSwitch.On)
            {
                options.Add(Constants.kCRToastInteractionRespondersKey,
                            CRToastInteractionResponder.InteractionResponderWithInteractionType(CRToastInteractionType.Tap,
                                                                                                true,
                                                                                                (interactionType) => {
                    System.Diagnostics.Debug.WriteLine($"Dismissed with {interactionType} interaction");
                })
                            );
            }

            return(NSDictionary.FromDictionary(options));
        }
Esempio n. 4
0
 public ICrashlytics SetLongValue(string key, long value)
 {
     Bindings.CrashlyticsKit.Crashlytics.SharedInstance.SetObjectValue(NSNumber.FromInt64(value), key);
     return(this);
 }
 public void SetLong(string key, long value)
 {
     NSUserDefaults.StandardUserDefaults.SetValueForKey(NSNumber.FromInt64(value), new NSString(key));
 }
Esempio n. 6
0
 public void SendTiming(string category, long milliseconds, string name = null, string label = null)
 {
     Gai.SharedInstance.DefaultTracker.Send(
         DictionaryBuilder.CreateTiming(category, NSNumber.FromInt64(milliseconds), name, label).Build());
 }