public async void OnDelete(int id) { //是否登录 var user = UserShared.GetAccessToken(this.Activity); if (user.access_token == "" || user.RefreshTime.AddSeconds(user.expires_in) < DateTime.Now) { //未登录或清空Token失效 //清空Token UserShared.Update(this.Activity, new AccessToken()); await SQLiteUtils.Instance().DeleteUserAll(); Android.Support.V7.App.AlertDialog.Builder dialog = new Android.Support.V7.App.AlertDialog.Builder(this.Activity); dialog.SetMessage(Resources.GetString(Resource.String.need_login_tip)); dialog.SetPositiveButton(Resources.GetString(Resource.String.confirm), delegate { StartActivityForResult(new Intent(this.Activity, typeof(AuthorizeActivity)), (int)RequestCode.LoginCode); dialog.Dispose(); }); dialog.SetNegativeButton(Resources.GetString(Resource.String.cancel), delegate { dialog.Dispose(); }); dialog.Create().Show(); } else { var item = adapter.GetData().Where(a => a.Id == id).FirstOrDefault(); var child = recyclerView.FindViewWithTag(item.Id); child.FindViewById(Resource.Id.imgDelete).Visibility = ViewStates.Gone; child.FindViewById(Resource.Id.progressBar).Visibility = ViewStates.Visible; statusesPresenter.DeleteStatus(user, item.Id); } }
public bool OnMenuItemClick(IMenuItem item) { //是否登录 var user = UserShared.GetAccessToken(this); if (user.access_token == "" || user.RefreshTime.AddSeconds(user.expires_in) < DateTime.Now) { ShowLogin(); } else { switch (lastSelecteID) { case Resource.Id.Statuses: StartActivityForResult(new Intent(this, typeof(StatusAddActivity)), (int)RequestCode.StatusAddCode); break; case Resource.Id.Question: StartActivityForResult(new Intent(this, typeof(QuestionAddActivity)), (int)RequestCode.QuestionAddCode); break; case Resource.Id.bookmarks: StartActivityForResult(new Intent(this, typeof(BookmarkAddActivity)), (int)RequestCode.BookmarkAddCode); break; } } return(true); }
public void PostComment() { //ÊÇ·ñµÇ¼ var user = UserShared.GetAccessToken(this); if (user.access_token == "" || user.RefreshTime.AddSeconds(user.expires_in) < DateTime.Now) { ShowLogin(); } else { var content = txtContent.Text; if (content.Length == 0) { Toast.MakeText(this, Resources.GetString(Resource.String.comment_tip), ToastLength.Short).Show(); } else if (content.Length < 4) { Toast.MakeText(this, Resources.GetString(Resource.String.comment_tip2), ToastLength.Short).Show(); } else { txtContent.Enabled = false; proLoading.Visibility = ViewStates.Visible; btnComment.Visibility = ViewStates.Gone; commentPresenter.PostComment(user, QuestionId, AnswerId, content); } } }
protected override async void OnResume() { base.OnResume(); if (ClientId != "" && ClientSercret != "") { var token = TokenShared.GetAccessToken(this); if (token.access_token == "" || token.RefreshTime.AddSeconds(token.expires_in) < DateTime.Now) { var basic = Square.OkHttp3.Credentials.Basic(Resources.GetString(Resource.String.ClientId), Resources.GetString(Resource.String.ClientSercret)); splashPresenter.GetAccessToken(TokenShared.GetAccessToken(this), basic); } else { var user = UserShared.GetAccessToken(this); if (user.access_token != "" && user.RefreshTime.AddSeconds(user.expires_in) < DateTime.Now) { Toast.MakeText(this, Resources.GetString(Resource.String.access_token_out_of_date), ToastLength.Long).Show(); } if (user.access_token == "" || user.RefreshTime.AddSeconds(user.expires_in) < DateTime.Now) { UserShared.Update(this, new AccessToken()); await SQLiteUtils.Instance().DeleteUserAll(); } StartMain(); } } }
public async void OnClick(View v) { switch (v.Id) { case Resource.Id.headerAvatar: var token = UserShared.GetAccessToken(this); var user = await SQLiteUtils.Instance().QueryUser(); if (user == null || token == null || token.access_token == "") { StartActivityForResult(new Intent(this, typeof(AuthorizeActivity)), (int)RequestCode.LoginCode); } else { if (string.IsNullOrEmpty(user.BlogApp)) { Toast.MakeText(this, "未开通博客", ToastLength.Short).Show(); } else { BlogActivity.Start(this, user.BlogApp); } } break; } }
public async void PostBookmark() { //是否登录 var user = UserShared.GetAccessToken(this); if (user.access_token == "" || user.RefreshTime.AddSeconds(user.expires_in) < DateTime.Now) { //未登录或清空Token失效 //清空Token UserShared.Update(this, new AccessToken()); await SQLiteUtils.Instance().DeleteUserAll(); Android.Support.V7.App.AlertDialog.Builder dialog = new Android.Support.V7.App.AlertDialog.Builder(this); dialog.SetMessage(Resources.GetString(Resource.String.need_login_tip)); dialog.SetPositiveButton(Resources.GetString(Resource.String.confirm), delegate { StartActivityForResult(new Intent(this, typeof(LoginActivity)), (int)RequestCode.LoginCode); dialog.Dispose(); }); dialog.SetNegativeButton(Resources.GetString(Resource.String.cancel), delegate { dialog.Dispose(); }); dialog.Create().Show(); } else { var linkurl = txtLinkUrl.Text; var title = txtTitle.Text; var tags = txtTags.Text; var content = txtContent.Text; if (linkurl.Length == 0) { Toast.MakeText(this, "请输入网址", ToastLength.Short).Show(); } else if (linkurl.Length < 3) { Toast.MakeText(this, "网址的内容太少了,至少3个字吧", ToastLength.Short).Show(); } else if (title.Length == 0) { Toast.MakeText(this, "请输入标题", ToastLength.Short).Show(); } else if (title.Length < 3) { Toast.MakeText(this, "标题的内容太少了,至少3个字吧", ToastLength.Short).Show(); } else { dialog.SetMessage(Resources.GetString(Resource.String.addstatusing)); dialog.Show(); bookmark.LinkUrl = linkurl; bookmark.Summary = content; bookmark.Tags = tags.Split(',').ToList(); bookmark.Title = title; bookmarkPresenter.BookmarkAdd(user, bookmark); } } }
public void UserRefreshToken(AccessToken token, string basic) { try { var param = new List <OkHttpUtils.Param>() { new OkHttpUtils.Param("grant_type", "refresh_token"), new OkHttpUtils.Param("refresh_token", token.refresh_token) }; OkHttpUtils.Instance(token).Post(ApiUtils.Token, basic, param, async(call, response) => { var code = response.Code(); var body = await response.Body().StringAsync(); if (code == (int)System.Net.HttpStatusCode.OK) { token = JsonConvert.DeserializeObject <AccessToken>(body); token.RefreshTime = DateTime.Now; UserShared.Update(context, token); } else { UserShared.Update(context, new AccessToken()); } }, (call, ex) => { }); } catch (Exception ex) { } }
public async void OnLoadMoreRequested() { swipeRefreshLayout.Enabled = false; await blogPresenter.GetServiceBlog(UserShared.GetAccessToken(this), blogApp); await blogPresenter.GetServiceBlogPosts(UserShared.GetAccessToken(this), blogApp, pageIndex); }
protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); SetTheme(Resource.Style.AppTheme); splashPresenter = new SplashPresenter(this, this); var ClientId = Resources.GetString(Resource.String.ClientId); var ClientSercret = Resources.GetString(Resource.String.ClientSercret); if (ClientId == "" || ClientSercret == "") { Toast.MakeText(this, Resources.GetString(Resource.String.client_error), ToastLength.Long).Show(); } else { var basic = Square.OkHttp3.Credentials.Basic(Resources.GetString(Resource.String.ClientId), Resources.GetString(Resource.String.ClientSercret)); splashPresenter.GetAccessToken(TokenShared.GetAccessToken(this), basic); var user = UserShared.GetAccessToken(this); if (user.refresh_token != "") { splashPresenter.UserRefreshToken(user, basic); } } RunOnUiThread(() => { new Handler().PostDelayed(() => { MainActivity.Start(this); ActivityCompat.FinishAfterTransition(this); }, 1000); }); }
public void CheckAnswersUserSuccess() { handler.Post(() => { var content = txtContent.Text; answersPresenter.AnswersAdd(UserShared.GetAccessToken(this), questionId, content); }); }
public async void GetServiceData() { if (pageIndex > 1) { pageIndex = 1; } swipeRefreshLayout.Refreshing = true; await bookmarksPresenter.GetServiceBookmarks(UserShared.GetAccessToken(this.Activity), pageIndex); }
public async void GetServiceData() { if (pageIndex > 1) { pageIndex = 1; } swipeRefreshLayout.Refreshing = true; await statusesPresenter.GetServiceStatus(position > 0?UserShared.GetAccessToken(this.Activity) : TokenShared.GetAccessToken(this.Activity), position, pageIndex); }
public async void PostQuestion() { //是否登录 var user = UserShared.GetAccessToken(this); if (user.access_token == "" || user.RefreshTime.AddSeconds(user.expires_in) < DateTime.Now) { //未登录或清空Token失效 //清空Token UserShared.Update(this, new AccessToken()); await SQLiteUtils.Instance().DeleteUserAll(); Android.Support.V7.App.AlertDialog.Builder dialog = new Android.Support.V7.App.AlertDialog.Builder(this); dialog.SetMessage(Resources.GetString(Resource.String.need_login_tip)); dialog.SetPositiveButton(Resources.GetString(Resource.String.confirm), delegate { StartActivityForResult(new Intent(this, typeof(AuthorizeActivity)), (int)RequestCode.LoginCode); dialog.Dispose(); }); dialog.SetNegativeButton(Resources.GetString(Resource.String.cancel), delegate { dialog.Dispose(); }); dialog.Create().Show(); } else { var title = txtTitle.Text; var tags = txtTags.Text; var content = txtContent.Text; if (title.Length == 0) { Toast.MakeText(this, "请输入标题", ToastLength.Short).Show(); } else if (title.Length < 3) { Toast.MakeText(this, "标题的内容太少了,至少3个字吧", ToastLength.Short).Show(); } else if (content.Length == 0) { Toast.MakeText(this, "请输入提问内容", ToastLength.Short).Show(); } else if (content.Length < 3) { Toast.MakeText(this, "提问内容太少了,至少3个字吧", ToastLength.Short).Show(); } else { dialog.SetMessage(Resources.GetString(Resource.String.addstatusing)); dialog.Show(); questionPresenter.QuestionAdd(user, title, content, tags, 1); } } }
public async void OnRefresh() { swipeRefreshLayout.Refreshing = true; //ÊÇ·ñµÇ¼ var user = UserShared.GetAccessToken(this); if (user.access_token != "" && user.RefreshTime.AddSeconds(user.expires_in) > DateTime.Now) { await statusPresenter.GetServiceStatus(user, Id); } await commentPresenter.GetServiceComments(TokenShared.GetAccessToken(this), Id); }
public async void OnRefresh() { if (pageIndex > 1) { pageIndex = 1; } swipeRefreshLayout.Refreshing = true; await blogPresenter.GetServiceBlog(UserShared.GetAccessToken(this), blogApp); await blogPresenter.GetServiceBlogPosts(UserShared.GetAccessToken(this), blogApp, pageIndex); }
/// <summary> /// 获取登录状态 /// </summary> /// <returns></returns> public bool GetLoginStatus() { //判断是否登录失效 var user = UserShared.GetAccessToken(context); if (user.access_token == "" || user.RefreshTime.AddSeconds(user.expires_in) < DateTime.Now) { DeleteUser(); loginStatus = false; } else { loginStatus = true; } return(loginStatus); }
public bool OnMenuItemClick(IMenuItem item) { //ÊÇ·ñµÇ¼ var user = UserShared.GetAccessToken(this); if (user.access_token == "" || user.RefreshTime.AddSeconds(user.expires_in) < DateTime.Now) { ShowLogin(); } else { Intent intent = new Intent(this, typeof(QuestionAnswersAddActivity)); intent.PutExtra("id", Id); StartActivityForResult(intent, (int)RequestCode.QuestionAnswersAddCode); } return(true); }
public void OnDelete(int commentId) { //ÊÇ·ñµÇ¼ var user = UserShared.GetAccessToken(this); if (user.access_token == "" || user.RefreshTime.AddSeconds(user.expires_in) < DateTime.Now) { ShowLogin(); } else { var item = adapter.GetData().Where(a => a.CommentID == commentId).FirstOrDefault(); var child = recyclerView.FindViewWithTag(commentId); child.FindViewById(Resource.Id.imgDelete).Visibility = ViewStates.Gone; child.FindViewById(Resource.Id.progressBar).Visibility = ViewStates.Visible; commentPresenter.DeleteComment(user, QuestionId, AnswerId, item.CommentID); } }
public void OnEdit(int position) { //ÊÇ·ñµÇ¼ var user = UserShared.GetAccessToken(this.Activity); if (user.access_token == "" || user.RefreshTime.AddSeconds(user.expires_in) < DateTime.Now) { ShowLogin(); } else { var item = adapter.GetItem(position); var intent = new Intent(this.Activity, typeof(BookmarkEditActivity)); intent.PutExtra("id", item.WzLinkId); intent.PutExtra("position", position); StartActivityForResult(intent, (int)RequestCode.BookmarkEditCode); } }
public void OnDelete(int id) { //ÊÇ·ñµÇ¼ var user = UserShared.GetAccessToken(this.Activity); if (user.access_token == "" || user.RefreshTime.AddSeconds(user.expires_in) < DateTime.Now) { ShowLogin(); } else { var item = adapter.GetData().Where(a => a.WzLinkId == id).FirstOrDefault(); var child = recyclerView.FindViewWithTag(item.WzLinkId.ToString()); child.FindViewById(Resource.Id.imgDelete).Visibility = ViewStates.Gone; child.FindViewById(Resource.Id.progressBar).Visibility = ViewStates.Visible; bookmarksPresenter.DeleteBookmarkAsync(user, item.WzLinkId); } }
public async void ShowLogin() { //未登录或清空Token失效 //清空Token UserShared.Update(this, new AccessToken()); await SQLiteUtils.Instance().DeleteUserAll(); Android.Support.V7.App.AlertDialog.Builder dialog = new Android.Support.V7.App.AlertDialog.Builder(this); dialog.SetMessage(Resources.GetString(Resource.String.need_login_tip)); dialog.SetPositiveButton(Resources.GetString(Resource.String.confirm), delegate { StartActivityForResult(new Intent(this, typeof(AuthorizeActivity)), (int)RequestCode.LoginCode); dialog.Dispose(); }); dialog.SetNegativeButton(Resources.GetString(Resource.String.cancel), delegate { dialog.Dispose(); }); dialog.Create().Show(); }
public async void OnClick(View v) { switch (v.Id) { case Resource.Id.headerAvatar: var token = UserShared.GetAccessToken(this); if (token == null || token.access_token == "") { StartActivityForResult(new Intent(this, typeof(LoginActivity)), (int)RequestCode.LoginCode); } else { var user = await SQLiteUtils.Instance().QueryUser(); BlogActivity.Start(this, user.BlogApp); } break; } }
public async void PostComment() { //ÊÇ·ñµÇ¼ var user = UserShared.GetAccessToken(this); if (user.access_token == "" || user.RefreshTime.AddSeconds(user.expires_in) < DateTime.Now) { //δµÇ¼»òÇå¿ÕTokenʧЧ //Çå¿ÕToken UserShared.Update(this, new AccessToken()); await SQLiteUtils.Instance().DeleteUserAll(); Android.Support.V7.App.AlertDialog.Builder dialog = new Android.Support.V7.App.AlertDialog.Builder(this); dialog.SetMessage(Resources.GetString(Resource.String.need_login_tip)); dialog.SetPositiveButton(Resources.GetString(Resource.String.confirm), delegate { StartActivityForResult(new Intent(this, typeof(LoginActivity)), (int)RequestCode.LoginCode); dialog.Dispose(); }); dialog.SetNegativeButton(Resources.GetString(Resource.String.cancel), delegate { dialog.Dispose(); }); dialog.Create().Show(); } else { var content = txtContent.Text; if (content.Length > 0) { txtContent.Enabled = false; proLoading.Visibility = ViewStates.Visible; btnComment.Visibility = ViewStates.Gone; commentPresenter.PostComment(user, blogApp, Id, content); } else { Toast.MakeText(this, Resources.GetString(Resource.String.comment_tip), ToastLength.Short).Show(); } } }
public void LoginSuccess(AccessToken token, UserModel user) { handler.Post(() => { if (dialog.IsShowing) { dialog.Dismiss(); } if (token.access_token != null && token.access_token != "" && user != null && user.UserId != null) { UserShared.Update(this, token); Toast.MakeText(this, Resources.GetString(Resource.String.login_success), ToastLength.Short).Show(); SetResult(Result.Ok); this.Finish(); } else { Toast.MakeText(this, Resources.GetString(Resource.String.load_failed), ToastLength.Short).Show(); } }); }
public async void PostComment() { //ÊÇ·ñµÇ¼ var user = UserShared.GetAccessToken(this); if (user.access_token == "" || user.RefreshTime.AddSeconds(user.expires_in) < DateTime.Now) { //δµÇ¼»òÇå¿ÕTokenʧЧ //Çå¿ÕToken UserShared.Update(this, new AccessToken()); await SQLiteUtils.Instance().DeleteUserAll(); Android.Support.V7.App.AlertDialog.Builder dialog = new Android.Support.V7.App.AlertDialog.Builder(this); dialog.SetMessage(Resources.GetString(Resource.String.need_login_tip)); dialog.SetPositiveButton(Resources.GetString(Resource.String.confirm), delegate { StartActivityForResult(new Intent(this, typeof(AuthorizeActivity)), (int)RequestCode.LoginCode); dialog.Dispose(); }); dialog.SetNegativeButton(Resources.GetString(Resource.String.cancel), delegate { dialog.Dispose(); }); dialog.Create().Show(); } else { var content = txtContent.Text; if (content.Length > 0) { dialog.SetMessage(Resources.GetString(Resource.String.addstatusing)); dialog.Show(); statusPresenter.StatusAdd(user, content, checkIsPrivate.Checked); } else { Toast.MakeText(this, Resources.GetString(Resource.String.addstatus_tip), ToastLength.Short).Show(); } } }
public void PostAnswers() { //ÊÇ·ñµÇ¼ var user = UserShared.GetAccessToken(this); if (user.access_token == "" || user.RefreshTime.AddSeconds(user.expires_in) < DateTime.Now) { ShowLogin(); } else { var content = txtContent.Text; if (content.Length > 0) { dialog.SetMessage(Resources.GetString(Resource.String.addstatusing)); dialog.Show(); answersPresenter.CheckAnswersByUser(user, questionId); } else { Toast.MakeText(this, Resources.GetString(Resource.String.addstatus_tip), ToastLength.Short).Show(); } } }
public async void OnLoadMoreRequested() { swipeRefreshLayout.Enabled = false; await statusesPresenter.GetServiceStatus(position > 0?UserShared.GetAccessToken(this.Activity) : TokenShared.GetAccessToken(this.Activity), position, pageIndex); }
/// <summary> /// 删除用户信息 /// </summary> public async void DeleteUser() { UserShared.Update(context, new AccessToken()); await SQLiteUtils.Instance().DeleteUserAll(); }
public async void OnLoadMoreRequested() { await bookmarksPresenter.GetServiceBookmarks(UserShared.GetAccessToken(this.Activity), pageIndex); }