コード例 #1
0
        public ReferralData ParseFromAJO(AndroidJavaObject ajo)
        {
            if (ajo.IsJavaNull())
            {
                return(null);
            }

            using (ajo)
            {
                Token             = ajo.CallStr("getToken");
                ReferrerUserId    = ajo.CallStr("getReferrerUserId");
                ReferrerChannelId = ajo.CallStr("getReferrerChannelId");
                IsFirstMatch      = ajo.CallBool("isFirstMatch");
                IsGuaranteedMatch = ajo.CallBool("isGuaranteedMatch");
                IsReinstall       = ajo.CallBool("isReinstall");
                IsFirstMatchLink  = ajo.CallBool("isFirstMatchLink");
                var linkParamsDict = ajo.CallAJO("getLinkParams").FromJavaHashMap();
                LinkParams = new LinkParams(linkParamsDict);
                var originalLinkParamsDict = ajo.CallAJO("getOriginalLinkParams").FromJavaHashMap();
                OriginalLinkParams = new LinkParams(originalLinkParamsDict);
#pragma warning disable 0618
                CustomReferralData         = new CustomReferralData(LinkParams);
                OriginalCustomReferralData = new CustomReferralData(OriginalLinkParams);
#pragma warning restore 0618
            }
            return(this);
        }
コード例 #2
0
        static Location LocationFromAJO(/*Location*/ AndroidJavaObject locationAJO)
        {
            using (locationAJO)
            {
                var latitude  = locationAJO.Call <double>("getLatitude");
                var longitude = locationAJO.Call <double>("getLongitude");

                var hasAltitude = locationAJO.Call <bool>("hasAltitude");
                var altitude    = locationAJO.Call <double>("getAltitude");

                var hasAccuracy = locationAJO.Call <bool>("hasAccuracy");
                var accuracy    = locationAJO.Call <float>("getAccuracy");

                long time = locationAJO.Call <long>("getTime");

                var hasSpeed   = locationAJO.CallBool("hasSpeed");
                var speed      = locationAJO.Call <float>("getSpeed");
                var hasBearing = locationAJO.CallBool("hasBearing");
                var bearing    = locationAJO.Call <float>("getBearing");


                var result = new Location(latitude, longitude, hasAccuracy, accuracy, time);

                if (hasSpeed)
                {
                    result.HasSpeed = true;
                    result.Speed    = speed;
                }

                if (hasBearing)
                {
                    result.HasBearing = true;
                    result.Bearing    = bearing;
                }

                if (hasAltitude)
                {
                    result.HasAltitude = true;
                    result.Altitude    = altitude;
                }

                bool isFromMockProvider = false;
                try
                {
                    isFromMockProvider = locationAJO.CallBool("isFromMockProvider");
                }
                catch (Exception)
                {
                    // Ignore
                }

                result.IsFromMockProvider = isFromMockProvider;

                return(result);
            }
        }
コード例 #3
0
 public PromoCode ParseFromAJO(AndroidJavaObject ajo)
 {
     using (ajo) {
         Code          = ajo.CallStr("getCode");
         Data          = ajo.CallAJO("getData").FromJavaHashMap();
         MaxClaimCount = (uint)ajo.CallInt("getMaxClaimCount");
         StartDate     = DateFromAjo(ajo.CallAJO("getStartDate")).Value;
         EndDate       = DateFromAjo(ajo.CallAJO("getEndDate"));
         Creator       = new UserReference().ParseFromAJO(ajo.CallAJO("getCreator"));
         ClaimCount    = (uint)ajo.CallInt("getClaimCount");
         Enabled       = ajo.CallBool("isEnabled");
         Claimable     = ajo.CallBool("isClaimable");
     }
     return(this);
 }
コード例 #4
0
        public ActivityPost ParseFromAJO(AndroidJavaObject ajo)
        {
            using (ajo)
            {
                Id          = ajo.CallStr("getId");
                Text        = ajo.CallStr("getText");
                ImageUrl    = ajo.CallStr("getImageUrl");
                ButtonTitle = ajo.CallStr("getButtonTitle");
#pragma warning disable 0618
                ButtonAction = ajo.CallStr("getButtonAction");
#pragma warning restore 0618
                var action = ajo.CallAJO("getAction");
                if (action != null)
                {
                    Action = new GetSocialAction().ParseFromAJO(action);
                }
                CreatedAt     = DateUtils.FromUnixTime(ajo.CallLong("getCreatedAt"));
                Author        = new PostAuthor().ParseFromAJO(ajo.CallAJO("getAuthor"));
                CommentsCount = ajo.CallInt("getCommentsCount");
                LikesCount    = ajo.CallInt("getLikesCount");
                IsLikedByMe   = ajo.CallBool("isLikedByMe");

                StickyStart = DateUtils.FromUnixTime(ajo.CallLong("getStickyStart"));
                StickyEnd   = DateUtils.FromUnixTime(ajo.CallLong("getStickyEnd"));
                FeedId      = ajo.CallStr("getFeedId");
                Mentions    = ajo.CallAJO("getMentions").FromJavaList().ConvertAll(mentionAjo =>
                {
                    using (mentionAjo)
                    {
                        return(new Mention().ParseFromAJO(mentionAjo));
                    }
                }).ToList();
            }
            return(this);
        }
コード例 #5
0
        public static object ParseJavaBoxedValue(AndroidJavaObject boxedValueAjo)
        {
            if (boxedValueAjo == null || boxedValueAjo.IsJavaNull())
            {
                return(null);
            }

            var className = boxedValueAjo.GetClassSimpleName();

            switch (className)
            {
            case "Boolean":
                return(boxedValueAjo.CallBool("booleanValue"));

            case "Float":
                return(boxedValueAjo.CallFloat("floatValue"));

            case "Integer":
                return(boxedValueAjo.CallInt("intValue"));

            case "Long":
                return(boxedValueAjo.CallLong("longValue"));

            case "String":
                return(boxedValueAjo.CallStr("toString"));
            }
            return(boxedValueAjo);
        }
コード例 #6
0
 static AndroidJavaObject RotateBitmap(AndroidJavaObject bitmap, float angle)
 {
     using (var matrix = new AndroidJavaObject(C.AndroidGraphicsMatrix))
     {
         matrix.CallBool("postRotate", angle);
         return(C.AndroidGraphicsBitmap.AJCCallStaticOnceAJO("createBitmap", bitmap, 0, 0, bitmap.CallInt("getWidth"), bitmap.CallInt("getHeight"), matrix, true));
     }
 }
コード例 #7
0
        public new ReferredUser ParseFromAJO(AndroidJavaObject ajo)
        {
            if (ajo.IsJavaNull())
            {
                return(null);
            }

            using (ajo)
            {
                base.ParseFromAJO(ajo);
                InstallationDate    = DateUtils.FromUnixTime(ajo.CallLong("getInstallationDate"));
                InstallationChannel = ajo.CallStr("getInstallationChannel");
                InstallPlatform     = ajo.CallStr("getInstallPlatform");
                Reinstall           = ajo.CallBool("isReinstall");
                InstallSuspicious   = ajo.CallBool("isInstallSuspicious");
            }
            return(this);
        }
コード例 #8
0
 public new PostAuthor ParseFromAJO(AndroidJavaObject ajo)
 {
     using (ajo)
     {
         base.ParseFromAJO(ajo);
         IsVerified = ajo.CallBool("isVerified");
     }
     return(this);
 }
コード例 #9
0
 public Notification ParseFromAJO(AndroidJavaObject ajo)
 {
     Id               = ajo.CallStr("getId");
     Action           = (Type)ajo.CallInt("getActionType");
     WasRead          = ajo.CallBool("wasRead");
     NotificationType = (NotificationTypes)ajo.CallInt("getType");
     CreatedAt        = ajo.CallLong("getCreatedAt");
     Title            = ajo.CallStr("getTitle");
     Text             = ajo.CallStr("getText");
     ActionData       = ajo.CallAJO("getActionData").FromJavaHashMap();
     return(this);
 }
コード例 #10
0
        static Texture2D Texture2DFromBitmap(AndroidJavaObject bitmapAjo)
        {
            var compressFormatPng = new AndroidJavaClass(C.AndroidGraphicsBitmapCompressFormat).GetStatic <AndroidJavaObject>("PNG");
            var outputStream      = new AndroidJavaObject(C.JavaIoBytearrayOutputStream);

            bitmapAjo.CallBool("compress", compressFormatPng, 100, outputStream);
            var buffer = outputStream.Call <byte[]>("toByteArray");

            var tex = new Texture2D(2, 2);

            tex.LoadImage(buffer);
            return(tex);
        }
コード例 #11
0
        public static AndroidJavaObject ToJavaList <T>(this List <T> list)
        {
            if (list == null)
            {
                return(null);
            }

            var javaList = new AndroidJavaObject(JavaArrayList);

            list.ForEach(item => javaList.CallBool("add", item));

            return(javaList);
        }
コード例 #12
0
        public InviteChannel ParseFromAJO(AndroidJavaObject ajo)
        {
            JniUtils.CheckIfClassIsCorrect(ajo, "InviteChannel");

            using (ajo)
            {
                Id           = ajo.CallStr("getChannelId");
                Name         = ajo.CallStr("getChannelName");
                IconImageUrl = ajo.CallStr("getIconImageUrl");
                DisplayOrder = ajo.CallInt("getDisplayOrder");
                IsEnabled    = ajo.CallBool("isEnabled");
            }
            return(this);
        }
コード例 #13
0
        protected bool ShowBuilder(AndroidJavaObject builder)
        {
            SetUiActionListenerAJO(builder);
            SetTitleAJO(builder);
            SetViewStateListener(builder);
            // Make sure ui is instantiated at this point for ensuring OnResume was called before opening the view
            GetSocialUiFactory.InstantiateGetSocialUi();

            return(JniUtils.RunOnUiThreadSafe(() =>
            {
                using (builder)
                {
                    builder.CallBool("show");
                }
            }));
        }
コード例 #14
0
        public CellInfo(AndroidJavaObject ajo)
        {
            if (AGUtils.IsNotAndroid() || !Check.IsSdkGreaterOrEqual(AGDeviceInfo.VersionCodes.JELLY_BEAN_MR1))
            {
                return;
            }

            if (!Check.IsSdkGreaterOrEqual(AGDeviceInfo.VersionCodes.P))
            {
                cellConnectionStatus = Connection.Unknown;
            }
            else
            {
                cellConnectionStatus = (Connection)ajo.CallInt("getCellConnectionStatus");
            }

            timeStamp    = ajo.CallLong("getTimeStamp");
            isRegistered = ajo.CallBool("isRegistered");
        }
コード例 #15
0
        public SignalStrengths(AndroidJavaObject ajo)
        {
            if (AGUtils.IsNotAndroid() || !Check.IsSdkGreaterOrEqual(AGDeviceInfo.VersionCodes.P))
            {
                return;
            }

            if (ajo.IsJavaNull())
            {
                return;
            }

            cdmaDbm           = ajo.CallInt("getCdmaDbm");
            cdmaEcio          = ajo.CallInt("getCdmaEcio");
            evdoDbm           = ajo.CallInt("getEvdoDbm");
            evdoEcio          = ajo.CallInt("getEvdoEcio");
            evdoSnr           = ajo.CallInt("getEvdoSnr");
            gsmBitErrorRate   = ajo.CallInt("getGsmBitErrorRate");
            gsmSignalStrength = ajo.CallInt("getGsmSignalStrength");
            level             = ajo.CallInt("getLevel");
            isGsm             = ajo.CallBool("isGsm");
        }
コード例 #16
0
 static bool Commit(AndroidJavaObject editor)
 {
     return(editor.CallBool("commit"));
 }
 public bool GetBoolExtra(string name, bool defaultValue)
 {
     return(_intent.CallBool("getBooleanExtra", name, defaultValue));
 }