async public void DidSignIn(SignIn signIn, GoogleUser user, NSError error)
        {
            if (user != null && error == null)
            {
                ShowHud(Strings.Hud.please_wait);

                GoogleNameLabel.Text = user.Profile.Name;
                UserId = user.UserID;

                var outlet = new Outlet();
                outlet.Name   = user.Profile.Name;
                outlet.Handle = user.UserID;
                outlet.Type   = Outlet.outlet_type_google;
                RealmServices.SaveOutlet(outlet);


                var url = await GoogleAuthenticator.GetProfileURL(UserId);

                ImageView.Hidden = false;
                ImageView.SetImage(url, "NoProfile", "NoProfile", async() =>
                {
                    HideHud();

                    await Task.Delay(TimeSpan.FromSeconds(2));
                    SignIn.SharedInstance.SignOutUser();

                    var popToViewController = NavigationController.ViewControllers.Where(c => c.GetType() == typeof(MyOutletsViewController)).First();
                    NavigationController.PopToViewController(popToViewController, true);
                });
            }
        }
        public override void FetchTableDataFromDatabase()
        {
            base.FetchTableDataFromDatabase();

            TableSource.SetItems(TableView, RealmServices.GetMyOutlets());
            IfEmpty(true);
        }
示例#3
0
        async public void HandleSignInResult(GoogleSignInResult result)
        {
            if (result.IsSuccess)
            {
                // Signed in successfully, show authenticated UI.
                var acct = result.SignInAccount;
                TitleTextView.Text = acct.DisplayName;

                ImageView.SetImage(acct.PhotoUrl.ToString(), Resource.Drawable.ic_noprofilewhite, Resource.Drawable.ic_noprofilewhite, "Google", WebImageView.DefaultCircleTransformation);

                var outlet = new Outlet();
                outlet.Name   = acct.DisplayName;
                outlet.Handle = acct.Id;
                outlet.Type   = Outlet.outlet_type_google;
                RealmServices.SaveOutlet(outlet);

                await Task.Delay(TimeSpan.FromSeconds(2));

                var activity = Activity as BaseActivity;
                activity?.PopFragmentOverUntil(typeof(MyOutletsRecyclerViewFragment));
            }
            else
            {
            }
        }
示例#4
0
        partial void SaveButtonClicked(Foundation.NSObject sender)
        {
            string name = null;

            if (URL.Contains("http://"))
            {
                name = URL.Substring(7);
            }
            else if (URL.Contains("https://"))
            {
                name = URL.Substring(8);
            }


            var outlet = new Outlet();

            outlet.Name   = name;
            outlet.Handle = URL;
            outlet.Type   = Outlet.outlet_type_website;
            RealmServices.SaveOutlet(outlet);

            var fromNewCardPage = false;

            if (Transporter.SharedInstance.ContainsKey(Transporter.NewOutletAddedTransporterKey))
            {
                fromNewCardPage = (bool)Transporter.SharedInstance.GetObjectForKey(Transporter.NewOutletAddedTransporterKey);
            }

            var popToViewController = fromNewCardPage ? NavigationController.ViewControllers.Where(c => c.GetType() == typeof(NewCardViewController)).First() : NavigationController.ViewControllers.Where(c => c.GetType() == typeof(MyOutletsViewController)).First();

            NavigationController.PopToViewController(popToViewController, true);
        }
        public override Android.Views.View OnCreateView(Android.Views.LayoutInflater inflater, Android.Views.ViewGroup container, Android.OS.Bundle savedInstanceState)
        {
            var view = base.OnCreateView(inflater, container, savedInstanceState);

            RecyclerViewAdapter.SetListItems(RealmServices.GetMyOutlets().ToList());

            Activity.Title = SettingsShared.navigation_item_my_outlets;


            RegisterForContextMenu(RecyclerView);

            return(view);
        }
示例#6
0
        async partial void NextButtonClicked(Foundation.NSObject sender)
        {
            View.EndEditing(true);

            string emailAddress = (string)Transporter.SharedInstance.GetObjectForKey("email");
            string code         = VerificationCodeTextField.Text.Trim();

            bool allFieldsValid = ValidateAllFields();

            if (!allFieldsValid)
            {
                return;
            }

            ShowHud(Strings.Hud.please_wait);

            try
            {
                var result = await WebServices.EmailController.UseValidationCode(emailAddress, code);

                if (result.StatusCode == System.Net.HttpStatusCode.OK)
                {
                    var outlet = new Outlet();
                    outlet.Handle = emailAddress;
                    outlet.Type   = Outlet.outlet_type_email;
                    outlet.Name   = emailAddress;

                    var outletSaved = RealmServices.SaveOutlet(outlet);
                    if (outletSaved)
                    {
                        var popToViewController = NavigationController.ViewControllers.Where(c => c.GetType() == typeof(MyOutletsViewController)).First();
                        NavigationController.PopToViewController(popToViewController, true);
                    }
                    else
                    {
                        ShowDuplicateEntryAlert();
                    }
                }
                else
                {
                    VerificationCodeTextField.SetInvalid();
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
                Console.WriteLine(e.StackTrace);
            }

            HideHud();
        }
        async partial void NextButtonClicked(Foundation.NSObject sender)
        {
            View.EndEditing(true);

            string code = StringUtils.RemoveNonIntegers(VerificationCodeTextField.Text.Trim());

            bool allFieldsValid = ValidateAllFields();

            if (!allFieldsValid)
            {
                return;
            }

            ShowHud(Strings.Hud.please_wait);

            try
            {
                var result = await TwilioServices.VerifyPhoneAsync(PhoneNumber, code);

                if (result != null && result.success)
                {
                    var outlet = new Outlet();
                    outlet.Handle = PhoneNumber;
                    outlet.Type   = Outlet.outlet_type_phone;
                    outlet.Name   = PhoneNumber;

                    var outletSaved = RealmServices.SaveOutlet(outlet);
                    if (outletSaved)
                    {
                        var popToViewController = NavigationController.ViewControllers.Where(c => c.GetType() == typeof(MyOutletsViewController)).First();
                        NavigationController.PopToViewController(popToViewController, true);
                    }
                    else
                    {
                        ShowDuplicateEntryAlert();
                    }
                }
                else
                {
                    VerificationCodeTextField.SetInvalid();
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
                Console.WriteLine(e.StackTrace);
            }

            HideHud();
        }
        public override void ViewWillAppear(bool animated)
        {
            base.ViewWillAppear(animated);

            Title = Strings.PageTitles.page_title_select_an_outlet;

            var convertedDataSource = CollectionView.WeakDataSource as NewOutletCollectionViewDataSource;

            if (convertedDataSource != null)
            {
                convertedDataSource.CollectionItems = RealmServices.GetAllAvailableOutlets();
            }
            CollectionView.ReloadData();
        }
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();

            RemoveBackBarButtonTitle();

            Profile.Notifications.ObserveDidChange((sender, e) =>
            {
                if (e.NewProfile == null)
                {
                    return;
                }

                pictureView.ProfileId  = e.NewProfile.UserID;
                FacebookNameLabel.Text = e.NewProfile.Name;

                var outlet    = new Outlet();
                outlet.Name   = e.NewProfile.Name;
                outlet.Handle = e.NewProfile.UserID;
                outlet.Locked = true;
                outlet.Type   = Outlet.outlet_type_facebook;
                RealmServices.SaveOutlet(outlet);

                loginView.RemoveFromSuperview();
            });

            // Set the Read and Publish permissions you want to get
            loginView = new LoginButton(FacebookButtonSuperview.Bounds)
            {
                LoginBehavior   = LoginBehavior.Browser,
                ReadPermissions = readPermissions.ToArray()
            };

            // Handle actions once the user is logged in
            loginView.Completed += async(sender, e) =>
            {
                loginView.RemoveFromSuperview();

                await System.Threading.Tasks.Task.Delay(TimeSpan.FromSeconds(2));

                NavigationController.PopViewController(true);
            };
            FacebookButtonSuperview.AddSubview(loginView);

            pictureView = new ProfilePictureView(FacebookProfilePictureSuperview.Bounds);
            FacebookProfilePictureSuperview.AddSubview(pictureView);
        }
        public override void ViewDidLoad()
        {
            PullToRefresh = false;

            base.ViewDidLoad();

            TableSource = new MyOutletsTableViewSource();
            TableSource.ItemSelected += (NSIndexPath arg1, Outlet arg2) =>
            {
                OutletSelected?.Invoke(arg2);
            };
            TableSource.RowDeleted += (NSIndexPath arg1, Outlet arg2) =>
            {
                RealmServices.DeleteOutlet(arg2);
                TableSource.TableItems = RealmServices.GetMyOutlets();
            };
            TableView.Source = TableSource;


            var label = LabelWithActivityIndicatorView.Create();

            label.BindDataToView("No Outlets", true);
            TableViewEmptyBackground = label;


            AddRowViewController FooterView = new AddRowViewController();

            FooterView.LabelAddText = Strings.TableViewFooters.table_view_footer_create_new_outlet;
            FooterView.Clicked     += (editing) =>
            {
                CATransition transition = CATransition.CreateAnimation();
                transition.Duration = 0.3;
                transition.Type     = CATransition.TransitionFade;
                NavigationController.View.Layer.AddAnimation(transition, null);
                NavigationController.PushViewController(new NewOutletViewController(), false);
            };
            FooterView.View.Frame     = new CGRect(0, 0, TableView.Frame.Width, FooterView.GetHeight());
            TableView.TableFooterView = FooterView.View;
            AddChildViewController(FooterView);
        }
示例#11
0
        AdRequest GetRequest(Dictionary <string, string> advertisingTargetInfo)
        {
            var request = new AdRequest.Builder();

            request.AddTestDevice(AdRequest.DeviceIdEmulator);
            request.AddTestDevice("260661DE96DFEDE845160916AD01F3CA"); //samsung tablet

            //Gender
            var gender = Gender.Unknown;

            if (advertisingTargetInfo.ContainsKey(AdKeyGender))
            {
                gender = advertisingTargetInfo[AdKeyGender].Equals("female", StringComparison.InvariantCultureIgnoreCase) ? Gender.Female : Gender.Male;
                request.SetGender((int)gender);
            }

            //Location
            var location = RealmServices.GetLastUserLocation();

            if (location != null)
            {
                var loc = new Android.Locations.Location("");
                loc.Latitude  = location.Latitude;
                loc.Longitude = location.Longitude;
                loc.Accuracy  = 1;
                request.SetLocation(loc);
            }

            //Birthday
            if (advertisingTargetInfo.ContainsKey(AdKeyBirthday))
            {
                var birthday = DateTime.ParseExact(advertisingTargetInfo[AdKeyBirthday], "MM/dd/yyyy", null);
                var bith     = new Java.Util.Date(birthday.Year, birthday.Month, birthday.Day);
                request.SetBirthday(bith);
            }

            return(request.Build());
        }
        public override bool OnContextItemSelected(IMenuItem item)
        {
            var position = item.Order;

            var model = RecyclerViewAdapter.GetItemInList(position);

            if (model == null)
            {
                return(base.OnContextItemSelected(item));
            }

            switch (item.TitleFormatted.ToString().ToLower())
            {
            case "delete":
                RealmServices.DeleteOutlet(model);
                RecyclerViewAdapter.SetListItems(RealmServices.GetMyOutlets().ToList());
                break;

            default: break;
            }

            return(base.OnContextItemSelected(item));
        }
 {
            var bannerView = new BannerView(AdSizeCons.SmartBannerPortrait);
            bannerView.AdUnitID = "ca-app-pub-4252799872870196/8180596755";
            bannerView.RootViewController = this;
            bannerView.ReceiveAdFailed += (sender, e) =>
            {
                Console.Write(e.Error.LocalizedDescription);
                AdViewSuperViewHeightConstaint.Constant = 0;
            };
            bannerView.AdReceived += (sender, e) =>
            {
                AdViewSuperViewHeightConstaint.Constant = AddViewSuperviewHeight;
            };
            AdViewSuperView.AddSubview(bannerView);

            var request = GetRequest(advertisingTargetInfo);
            bannerView.LoadRequest(request);
        }
        Request GetRequest(Dictionary<string, string> advertisingTargetInfo)
        {
            var request = Request.GetDefaultRequest();
            request.TestDevices = new string[] { Request.SimulatorId.ToString() };

            //Gender
            var gender = Gender.Unknown;
            if (advertisingTargetInfo.ContainsKey(AdKeyGender))
                gender = advertisingTargetInfo[AdKeyGender].Equals("female", StringComparison.InvariantCultureIgnoreCase) ? Gender.Female : Gender.Male;
            request.Gender = gender;

            //Location
            var location = RealmServices.GetLastUserLocation();
            if (location != null)
                request.SetLocation((nfloat)location.Latitude, (nfloat)location.Longitude, 1);

            //Birthday
            if (advertisingTargetInfo.ContainsKey(AdKeyBirthday))
            {
                var birthday = DateTime.ParseExact(advertisingTargetInfo[AdKeyBirthday], "MM/dd/yyyy",null);
                request.SetBirthday(birthday.Month, birthday.Day, birthday.Year);
            }

            //todo Keywords

            return request;
        }
        public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
        {
            var view = inflater.Inflate(Resource.Layout.EnterPhoneNumberVerificationCode, container, false);

            PhoneNumberTextField           = view.FindViewById <EditText>(Resource.Id.PhoneNumberTextField);
            PhoneNumberTextField.InputType = Android.Text.InputTypes.ClassNumber;

            var titleTextView = view.FindViewById <TextView>(Resource.Id.TitleTextView);

            titleTextView.Text = "Verify Email Address";

            var messageTextView = view.FindViewById <TextView>(Resource.Id.MessageTextView);

            messageTextView.Text = "We've sent you an email!";

            var progressButton = view.FindViewById <Button>(Resource.Id.ProgressButton);

            progressButton.Click += async(sender, e) =>
            {
                string emailAddress = (string)Transporter.SharedInstance.GetObjectForKey("email");
                string code         = PhoneNumberTextField.Text.Trim();

                bool allFieldsValid = ValidateAllFields();
                if (!allFieldsValid)
                {
                    return;
                }

                ShowHud(Strings.Hud.please_wait);

                try
                {
                    var result = await WebServices.EmailController.UseValidationCode(emailAddress, code);

                    if (result.StatusCode == System.Net.HttpStatusCode.OK)
                    {
                        var outlet = new Outlet();
                        outlet.Handle = emailAddress;
                        outlet.Type   = Outlet.outlet_type_email;
                        outlet.Name   = emailAddress;

                        var outletSaved = RealmServices.SaveOutlet(outlet);
                        if (outletSaved)
                        {
                            var activity = Activity as BaseActivity;
                            activity?.PopFragmentOverUntil(typeof(MyOutletsRecyclerViewFragment));
                        }
                        else
                        {
                            ShowDuplicateEntryAlert();
                        }
                    }
                    else
                    {
                        PhoneNumberTextField.SetInvalid(Resources);
                    }
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                    Console.WriteLine(ex.StackTrace);
                }

                HideHud();
            };


            return(view);
        }
        public override void ViewWillDisappear(bool animated)
        {
            base.ViewWillDisappear(animated);

            RealmServices.ShareAllOutlets(Shared.SelectedCard);
        }
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();

            RemoveBackBarButtonTitle();

            CollectionView.RegisterNibForCell(UINib.FromName("NewOutletCollectionViewCell", NSBundle.MainBundle), NewOutletCollectionViewCell.Key);
            CollectionView.WeakDataSource = new NewOutletCollectionViewDataSource();

            var delegateFlowLayout = new NewOutletCollectionViewDelegateFlowLayout();

            delegateFlowLayout.ItemClicked += (UICollectionView arg1, NSIndexPath arg2) =>
            {
                var items = RealmServices.GetAllAvailableOutlets();
                var item  = items[arg2.Row];
                if (item == null)
                {
                    return;
                }
                if (!item.AvailbleForAddition)
                {
                    ShowDuplcateAccountAlert("For now, you can only have 1 " + item.Type + " account. We're working on it");
                    return;
                }

                if (item.Type.Equals(Outlet.outlet_type_phone))
                {
                    NavigationController.PushViewController(new EnterPhoneNumberViewController(), true);
                    return;
                }

                if (item.Type.Equals(Outlet.outlet_type_email))
                {
                    NavigationController.PushViewController(new EnterEmailAddressViewController(), true);
                    return;
                }

                if (item.Type.Equals(Outlet.outlet_type_website))
                {
                    NavigationController.PushViewController(new WebsiteViewController(), true);
                    return;
                }

                if (item.Type.Equals(Outlet.outlet_type_facebook))
                {
                    NavigationController.PushViewController(new LoginWithFacebookViewController(), true);
                    return;
                }

                if (item.Type.Equals(Outlet.outlet_type_linkedIn))
                {
                    NavigationController.PushViewController(new LinkedInWebViewController(), true);
                    return;
                }


                if (item.Type.Equals(Outlet.outlet_type_github))
                {
                    NavigationController.PushViewController(new GithubWebViewController(), true);
                    return;
                }

                if (item.Type.Equals(Outlet.outlet_type_instagram))
                {
                    NavigationController.PushViewController(new InstagramWebViewController(), true);
                    return;
                }

                if (item.Type.Equals(Outlet.outlet_type_google))
                {
                    NavigationController.PushViewController(new LoginWithGoogleViewController(), true);
                    return;
                }

                if (item.Type.Equals(Outlet.outlet_type_twitter))
                {
                    ShowTwitterAuthenticationFlow();
                    return;
                }

                if (item.Type.Equals(Outlet.outlet_type_pinterest))
                {
                    NavigationController.PushViewController(new PinterestWebViewController(), true);
                    return;
                }
            };
            CollectionView.WeakDelegate = delegateFlowLayout;
        }
        public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
        {
            var view = inflater.Inflate(Resource.Layout.EnterPhoneNumberVerificationCode, container, false);

            PhoneNumberTextField           = view.FindViewById <EditText>(Resource.Id.PhoneNumberTextField);
            PhoneNumberTextField.InputType = Android.Text.InputTypes.ClassNumber;

            var titleTextView = view.FindViewById <TextView>(Resource.Id.TitleTextView);

            titleTextView.Text = "Verify Phone Number";

            var messageTextView = view.FindViewById <TextView>(Resource.Id.MessageTextView);

            messageTextView.Text = "We've sent you an text!";

            var progressButton = view.FindViewById <Button>(Resource.Id.ProgressButton);

            progressButton.Click += async(sender, e) =>
            {
                string code = StringUtils.RemoveNonIntegers(PhoneNumberTextField.Text.Trim());

                bool allFieldsValid = ValidateAllFields();
                if (!allFieldsValid)
                {
                    return;
                }

                ShowHud(Strings.Hud.please_wait);

                try
                {
                    var result = await TwilioServices.VerifyPhoneAsync(PhoneNumber, code);

                    if (result != null && result.success)
                    {
                        var outlet = new Outlet();
                        outlet.Handle = PhoneNumber;
                        outlet.Type   = Outlet.outlet_type_phone;
                        outlet.Name   = PhoneNumber;

                        var outletSaved = RealmServices.SaveOutlet(outlet);
                        if (outletSaved)
                        {
                            var activity = Activity as BaseActivity;
                            activity?.PopFragmentOverUntil(typeof(MyOutletsRecyclerViewFragment));
                        }
                        else
                        {
                            ShowDuplicateEntryAlert();
                        }
                    }
                    else
                    {
                        PhoneNumberTextField.SetInvalid(Resources);
                    }
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                    Console.WriteLine(ex.StackTrace);
                }

                HideHud();
            };


            return(view);
        }
示例#18
0
        public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
        {
            var view = inflater.Inflate(Resource.Layout.Website, container, false);

            Activity.Title = "Website";

            CookieManager.Instance.RemoveAllCookies(null);
            CookieManager.Instance.Flush();

            WebView            = view.FindViewById <WebView>(Resource.Id.WebView);
            WebView.Visibility = ViewStates.Invisible;
            WebView.ClearHistory();
            WebView.ClearCache(true);

            var client = new BaseWebViewClient();

            client.ShouldOverrideUrlLoadingFunc += (arg) => { return(false); };
            client.OnPageFinishedAction         += (arg1, arg2) =>
            {
                ProgressBar.Visibility = ViewStates.Invisible;

                ProgressButton.Text = "Save";
            };
            WebView.SetWebViewClient(client);

            TextField              = view.FindViewById <EditText>(Resource.Id.WebsiteTextField);
            TextField.Hint         = "Website URL";
            TextField.InputType    = InputTypes.TextVariationWebEditText | InputTypes.TextFlagNoSuggestions;
            TextField.TextChanged += (sender, e) =>
            {
                WebView.Visibility     = ViewStates.Invisible;
                ProgressBar.Visibility = ViewStates.Invisible;
                ProgressButton.Text    = "Validate";
            };

            ProgressButton        = view.FindViewById <Button>(Resource.Id.ProgressButton);
            ProgressButton.Click += (sender, e) =>
            {
                if (String.IsNullOrEmpty(TextField.Text))
                {
                    return;
                }

                var activity = Activity as BaseActivity;

                if (ProgressButton.Text.Equals("Save", StringComparison.InvariantCultureIgnoreCase))
                {
                    string name = null;
                    if (URL.Contains("http://"))
                    {
                        name = URL.Substring(7);
                    }
                    else if (URL.Contains("https://"))
                    {
                        name = URL.Substring(8);
                    }


                    var outlet = new Outlet();
                    outlet.Name   = name;
                    outlet.Handle = URL;
                    outlet.Type   = Outlet.outlet_type_website;
                    RealmServices.SaveOutlet(outlet);

                    var fromNewCardPage = false;
                    if (Transporter.SharedInstance.ContainsKey(Transporter.NewOutletAddedTransporterKey))
                    {
                        fromNewCardPage = (bool)Transporter.SharedInstance.GetObjectForKey(Transporter.NewOutletAddedTransporterKey);
                    }

                    //var popToViewController = fromNewCardPage ? NavigationController.ViewControllers.Where(c => c.GetType() == typeof(NewCardViewController)).First() : NavigationController.ViewControllers.Where(c => c.GetType() == typeof(MyOutletsViewController)).First();
                    activity?.PopFragmentOverUntil(typeof(MyOutletsRecyclerViewFragment));

                    return;
                }


                URL = TextField.Text.Trim();
                if (!URL.Contains("http"))
                {
                    URL = "http://" + URL;
                }

                if (!StringUtils.IsValidURL(URL))
                {
                    return;
                }

                activity?.HideKeyboard();

                WebView.Visibility = ViewStates.Visible;
                WebView.LoadUrl(URL);
                ProgressBar.Visibility = ViewStates.Visible;
            };

            ProgressBar            = view.FindViewById <ProgressBar>(Resource.Id.ProgressBar);
            ProgressBar.Visibility = ViewStates.Invisible;

            return(view);
        }
示例#19
0
                                                                                                                         

                                                                                                                                                                                                               //make sure at least one outlet is selected
            if (!SelectedCard.Outlets.Any(c => !c.Omitted)) return;


            if (ButtonLocked) return;
            ButtonLocked = true;

            if (Sharing)
                StopSharing();
            else
                StartSharing();
        }
        async public void StartSharing()
        {
            if (DisplayPurposeOnly) return;
                                                                                                                         if (SelectedCard == null)
                                                                                                                         {
                                                                                                                             return;
                                                                                                                         }
                                                                                                                         
            if (!IsSufficentPermissionGranted())
                                                                                                                         {
                                                                                                                             return;
                                                                                                                         }
                                                                                                                         

 SharingButton.SetTitle(Strings.Sharing.authenticating, new UIControlState());

                                                                                                                         
            try
                                                                                                                         {
                                                                                                                             SessionUUID = await RealmServices.BoardcastCard(SelectedCard, SessionUUID); 
 Sharing = !String.IsNullOrEmpty(SessionUUID); 

                                                                                                                         }
                                                                                                                         catch (Exception e)
                                                                                                                         {
                                                                                                                             Sharing = false; 
 AppCenterManager.Report(e);
                                                                                                                         } 

            if (Sharing)
                                                                                                                         {
                                                                                                                             
 Timer.Start();

                                                                                                                             ApplyAnimation(); 

                                                                                                                         }
                                                                                                                         else
                                                                                                                         {
                                                                                                                             SharingButton.SetTitle(Strings.Sharing.could_not_share_card, new UIControlState());
                                                                                                                         } 

 ButtonLocked = false;
                                                                                                                     }
示例#20
0
        public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
        {
            var view = inflater.Inflate(Resource.Layout.GridView, container, false);

            Activity.Title = Strings.PageTitles.page_title_select_an_outlet;

            var gridView = view.FindViewById <GridView>(Resource.Id.GridView);

            gridView.ItemClick += (sender, e) =>
            {
                var items = RealmServices.GetAllAvailableOutlets();
                var item  = items[e.Position];
                if (item == null)
                {
                    return;
                }
                if (!item.AvailbleForAddition)
                {
                    ShowDuplcateAccountAlert("For now, you can only have 1 " + item.Type + " account. We're working on it");
                    return;
                }
                if (item.Type.Equals(Outlet.outlet_type_phone))
                {
                    ((BaseActivity)Activity).AddFragmentOver(new EnterPhoneNumberFragment());
                    return;
                }

                if (item.Type.Equals(Outlet.outlet_type_email))
                {
                    ((BaseActivity)Activity).AddFragmentOver(new EnterEmailAddressFragment());
                    return;
                }

                if (item.Type.Equals(Outlet.outlet_type_website))
                {
                    ((BaseActivity)Activity).AddFragmentOver(new WebsiteFragment());
                    return;
                }

                if (item.Type.Equals(Outlet.outlet_type_facebook))
                {
                    //NavigationController.PushViewController(new LoginWithFacebookViewController(), true);
                    return;
                }

                if (item.Type.Equals(Outlet.outlet_type_linkedIn))
                {
                    ((BaseActivity)Activity).AddFragmentOver(new LinkedInWebViewFragment());
                    return;
                }


                if (item.Type.Equals(Outlet.outlet_type_github))
                {
                    ((BaseActivity)Activity).AddFragmentOver(new GithubWebViewFragment());
                    return;
                }

                if (item.Type.Equals(Outlet.outlet_type_instagram))
                {
                    ((BaseActivity)Activity).AddFragmentOver(new InstagramWebViewFragment());
                    return;
                }

                if (item.Type.Equals(Outlet.outlet_type_google))
                {
                    ((BaseActivity)Activity).AddFragmentOver(new GoogleFragment());
                    return;
                }

                if (item.Type.Equals(Outlet.outlet_type_twitter))
                {
                    ShowTwitterAuthenticationFlow();
                    return;
                }

                if (item.Type.Equals(Outlet.outlet_type_pinterest))
                {
                    ((BaseActivity)Activity).AddFragmentOver(new PinterestWebViewFragment());
                    return;
                }
            };

            var GridViewAdapter = new NewOutletGridViewAdapter();

            GridViewAdapter.Context   = Activity;
            GridViewAdapter.ListItems = RealmServices.GetAllAvailableOutlets();
            gridView.Adapter          = GridViewAdapter;

            return(view);
        }