/** * 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()); }
/** * 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(); }
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); } }
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); } }