Beispiel #1
0
        /**
         * Generates the "result" JSON object for ReviewActivity moment.
         */
        static IItemScope GetReviewActivityResult()
        {
            var rating = new ItemScopeBuilder()
                         .SetType("http://schema.org/Rating")
                         .SetRatingValue("100")
                         .SetBestRating("100")
                         .SetWorstRating("0")
                         .Build();

            return(new ItemScopeBuilder()
                   .SetType("http://schema.org/Review")
                   .SetName("A Humble Review of Widget")
                   .SetUrl("https://developers.google.com/+/plugins/snippet/examples/review")
                   .SetText("It is amazingly effective")
                   .SetReviewRating(rating)
                   .Build());
        }
Beispiel #2
0
        /**
     * Generates the "result" JSON object for ReviewActivity moment.
     */
        static IItemScope GetReviewActivityResult() 
        {
            var rating = new ItemScopeBuilder ()
                .SetType("http://schema.org/Rating")
                .SetRatingValue("100")
                .SetBestRating("100")
                .SetWorstRating("0")
                .Build();

            return new ItemScopeBuilder ()
                .SetType("http://schema.org/Review")
                .SetName("A Humble Review of Widget")
                .SetUrl("https://developers.google.com/+/plugins/snippet/examples/review")
                .SetText("It is amazingly effective")
                .SetReviewRating(rating)
                .Build();
        }
Beispiel #3
0
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);

            SetContentView(Resource.Layout.multi_moment_activity);

            var options = new PlusClass.PlusOptions.Builder().AddActivityTypes(MomentUtil.ACTIONS).Build();

            mGoogleApiClient = new GoogleApiClient.Builder(this)
                               .AddConnectionCallbacks(this)
                               .AddOnConnectionFailedListener(this)
                               .AddApi(PlusClass.API, options)
                               .AddScope(PlusClass.ScopePlusLogin)
                               .Build();

            mListAdapter = new ArrayAdapter <string>(
                this, Android.Resource.Layout.SimpleListItem1, MomentUtil.MOMENT_LIST);
            mMomentListView            = FindViewById <ListView>(Resource.Id.moment_list);
            mMomentListView.ItemClick += (sender, e) => {
                if (mGoogleApiClient.IsConnected)
                {
                    var textView   = e.View as TextView;
                    var momentType = textView.Text;
                    var targetUrl  = MomentUtil.MOMENT_TYPES[momentType];

                    var target = new ItemScopeBuilder().SetUrl(targetUrl).Build();

                    var momentBuilder = new MomentBuilder();
                    momentBuilder.SetType("http://schemas.google.com/" + momentType);
                    momentBuilder.SetTarget(target);

                    var result = MomentUtil.GetResultFor(momentType);
                    if (result != null)
                    {
                        momentBuilder.SetResult(result);
                    }

                    PlusClass.MomentsApi.Write(mGoogleApiClient, momentBuilder.Build()).SetResultCallback <Statuses> (status =>
                    {
                        switch (status.StatusCode)
                        {
                        case CommonStatusCodes.Success:
                            Toast.MakeText(this, GetString(Resource.String.plus_write_moment_status_success), ToastLength.Short).Show();
                            break;

                        case CommonStatusCodes.SuccessCache:
                            Toast.MakeText(this, GetString(Resource.String.plus_write_moment_status_cached), ToastLength.Short).Show();
                            break;

                        case CommonStatusCodes.SignInRequired:
                            Toast.MakeText(this, GetString(Resource.String.plus_write_moment_status_auth_error), ToastLength.Short).Show();
                            mGoogleApiClient.Disconnect();
                            mGoogleApiClient.Connect();
                            break;

                        default:
                            Toast.MakeText(this, GetString(Resource.String.plus_write_moment_status_error),
                                           ToastLength.Short).Show();
                            Console.WriteLine("Error when writing moments: " + status);
                            break;
                        }
                    });
                }
            };

            mResolvingError = savedInstanceState != null &&
                              savedInstanceState.GetBoolean(STATE_RESOLVING_ERROR, false);

            var available = GooglePlayServicesUtil.IsGooglePlayServicesAvailable(this);

            if (available != CommonStatusCodes.Success)
            {
                ShowDialog(DIALOG_GET_GOOGLE_PLAY_SERVICES);
            }

            if (Build.VERSION.SdkInt >= BuildVersionCodes.Honeycomb)
            {
                ActionBar.SetDisplayHomeAsUpEnabled(true);
            }
        }
Beispiel #4
0
        protected override void OnCreate (Bundle savedInstanceState) 
        {
            base.OnCreate (savedInstanceState);

            SetContentView (Resource.Layout.multi_moment_activity);

            var options = new PlusClass.PlusOptions.Builder().AddActivityTypes (MomentUtil.ACTIONS).Build ();
            mGoogleApiClient = new GoogleApiClientBuilder (this)
                .AddConnectionCallbacks(this)
                .AddOnConnectionFailedListener(this)
                .AddApi (PlusClass.API, options)
                .AddScope (PlusClass.ScopePlusLogin)
                .Build ();

            mListAdapter = new ArrayAdapter<string>(
                this, Android.Resource.Layout.SimpleListItem1, MomentUtil.MOMENT_LIST);
            mMomentListView = FindViewById<ListView>(Resource.Id.moment_list);
            mMomentListView.ItemClick += (sender, e) => {
                if (mGoogleApiClient.IsConnected) {
                    var textView = e.View as TextView;
                    var momentType = textView.Text;
                    var targetUrl = MomentUtil.MOMENT_TYPES[momentType];

                    var target = new ItemScopeBuilder ().SetUrl(targetUrl).Build ();

                    var momentBuilder = new MomentBuilder ();
                    momentBuilder.SetType ("http://schemas.google.com/" + momentType);
                    momentBuilder.SetTarget (target);

                    var result = MomentUtil.GetResultFor (momentType);
                    if (result != null)
                        momentBuilder.SetResult (result);

                    PlusClass.MomentsApi.Write (mGoogleApiClient, momentBuilder.Build ()).SetResultCallback<Statuses> (status => 
                    {
                        switch (status.StatusCode) {
                        case CommonStatusCodes.Success:
                            Toast.MakeText (this, GetString (Resource.String.plus_write_moment_status_success), ToastLength.Short).Show ();
                            break;

                        case CommonStatusCodes.SuccessCache:
                            Toast.MakeText(this, GetString (Resource.String.plus_write_moment_status_cached), ToastLength.Short).Show ();
                            break;

                        case CommonStatusCodes.SignInRequired:
                            Toast.MakeText (this, GetString (Resource.String.plus_write_moment_status_auth_error), ToastLength.Short).Show();
                            mGoogleApiClient.Disconnect();
                            mGoogleApiClient.Connect();
                            break;

                        default:
                            Toast.MakeText (this, GetString (Resource.String.plus_write_moment_status_error),
                                ToastLength.Short).Show();
                            Console.WriteLine ("Error when writing moments: " + status);
                            break;
                        }
                    });
                }
            };

            mResolvingError = savedInstanceState != null
                && savedInstanceState.GetBoolean (STATE_RESOLVING_ERROR, false);

            var available = GooglePlayServicesUtil.IsGooglePlayServicesAvailable (this);
            if (available != CommonStatusCodes.Success) {
                ShowDialog (DIALOG_GET_GOOGLE_PLAY_SERVICES);
            }

            if (Build.VERSION.SdkInt >= BuildVersionCodes.Honeycomb) {
                ActionBar.SetDisplayHomeAsUpEnabled (true);
            }
        }