Commit 488ced73 by 段启岩

用户主页完成

parent 06b7d155
...@@ -37,16 +37,14 @@ import cn.yunliyunwai.beyondclouds.data.model.Result; ...@@ -37,16 +37,14 @@ import cn.yunliyunwai.beyondclouds.data.model.Result;
import cn.yunliyunwai.beyondclouds.data.source.IPostRepository; import cn.yunliyunwai.beyondclouds.data.source.IPostRepository;
import cn.yunliyunwai.beyondclouds.databinding.PostItemBinding; import cn.yunliyunwai.beyondclouds.databinding.PostItemBinding;
import cn.yunliyunwai.beyondclouds.ui.ToastUtils; import cn.yunliyunwai.beyondclouds.ui.ToastUtils;
import cn.yunliyunwai.beyondclouds.ui.handler.NavHandlers;
import cn.yunliyunwai.beyondclouds.ui.login.LoginActivity; import cn.yunliyunwai.beyondclouds.ui.login.LoginActivity;
import cn.yunliyunwai.beyondclouds.ui.user.UserHomeActivity;
import cn.yunliyunwai.beyondclouds.util.DateUtils; import cn.yunliyunwai.beyondclouds.util.DateUtils;
import cn.yunliyunwai.beyondclouds.util.GlideRoundTransform; import cn.yunliyunwai.beyondclouds.util.GlideRoundTransform;
import cn.yunliyunwai.beyondclouds.viewmodel.AuthenticationViewModel; import cn.yunliyunwai.beyondclouds.viewmodel.AuthenticationViewModel;
import cn.yunliyunwai.beyondclouds.viewmodel.PostViewModel; import cn.yunliyunwai.beyondclouds.viewmodel.PostViewModel;
import lombok.Data; import lombok.Data;
import static cn.yunliyunwai.beyondclouds.ui.user.UserHomeActivity.ARG_USER_ID;
public class DynamicListRecyclerViewAdapter extends BaseQuickAdapter<Post,BaseViewHolder> { public class DynamicListRecyclerViewAdapter extends BaseQuickAdapter<Post,BaseViewHolder> {
private CommonCategory category; private CommonCategory category;
...@@ -143,10 +141,7 @@ public class DynamicListRecyclerViewAdapter extends BaseQuickAdapter<Post,BaseVi ...@@ -143,10 +141,7 @@ public class DynamicListRecyclerViewAdapter extends BaseQuickAdapter<Post,BaseVi
@Override @Override
public void onClick(View v) { public void onClick(View v) {
Intent intent = new Intent(mContext, UserHomeActivity.class); NavHandlers.toUserHome(v, userId);
intent.putExtra(ARG_USER_ID, userId);
intent.setClass(mContext, UserHomeActivity.class);
mContext.startActivity(intent);
} }
} }
......
...@@ -24,6 +24,7 @@ import cn.yunliyunwai.beyondclouds.R; ...@@ -24,6 +24,7 @@ import cn.yunliyunwai.beyondclouds.R;
import cn.yunliyunwai.beyondclouds.base.BaseActivity; import cn.yunliyunwai.beyondclouds.base.BaseActivity;
import cn.yunliyunwai.beyondclouds.data.model.UserInfo; import cn.yunliyunwai.beyondclouds.data.model.UserInfo;
import cn.yunliyunwai.beyondclouds.databinding.ActivityBlogDetailBinding; import cn.yunliyunwai.beyondclouds.databinding.ActivityBlogDetailBinding;
import cn.yunliyunwai.beyondclouds.ui.handler.NavHandlers;
import cn.yunliyunwai.beyondclouds.ui.webview.BeyondWebViewClient; import cn.yunliyunwai.beyondclouds.ui.webview.BeyondWebViewClient;
import cn.yunliyunwai.beyondclouds.util.ContextUtils; import cn.yunliyunwai.beyondclouds.util.ContextUtils;
import cn.yunliyunwai.beyondclouds.util.GlideRoundTransform; import cn.yunliyunwai.beyondclouds.util.GlideRoundTransform;
...@@ -151,6 +152,21 @@ public class BlogDetailActivity extends BaseActivity<BlogDetailViewModel, Activi ...@@ -151,6 +152,21 @@ public class BlogDetailActivity extends BaseActivity<BlogDetailViewModel, Activi
String contentHtml = HtmlUtils.enCode(viewModel.getBlog().getValue().getContentHtml()); String contentHtml = HtmlUtils.enCode(viewModel.getBlog().getValue().getContentHtml());
webView.evaluateJavascript("javascript:loadArticleContent('" + contentHtml + "')", null); webView.evaluateJavascript("javascript:loadArticleContent('" + contentHtml + "')", null);
broccoli.clearAllPlaceholders(); broccoli.clearAllPlaceholders();
binding.txtUserNick.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
NavHandlers.toUserHome(v, viewModel.getUserInfo().getValue().getUserId());
}
});
binding.imageUserAvatar.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
NavHandlers.toUserHome(v, viewModel.getUserInfo().getValue().getUserId());
}
});
} }
} }
}); });
......
...@@ -8,6 +8,7 @@ import android.widget.Toast; ...@@ -8,6 +8,7 @@ import android.widget.Toast;
import cn.yunliyunwai.beyondclouds.ui.ToastUtils; import cn.yunliyunwai.beyondclouds.ui.ToastUtils;
import cn.yunliyunwai.beyondclouds.ui.login.LoginActivity; import cn.yunliyunwai.beyondclouds.ui.login.LoginActivity;
import cn.yunliyunwai.beyondclouds.ui.settings.SettingsActivity; import cn.yunliyunwai.beyondclouds.ui.settings.SettingsActivity;
import cn.yunliyunwai.beyondclouds.ui.user.UserHomeActivity;
import cn.yunliyunwai.beyondclouds.viewmodel.AuthenticationViewModel; import cn.yunliyunwai.beyondclouds.viewmodel.AuthenticationViewModel;
public class NavHandlers { public class NavHandlers {
...@@ -198,4 +199,10 @@ public class NavHandlers { ...@@ -198,4 +199,10 @@ public class NavHandlers {
public static void toSettingsItem(View view, AuthenticationViewModel.AuthenticationState authenticationState) { public static void toSettingsItem(View view, AuthenticationViewModel.AuthenticationState authenticationState) {
showBuilding(view); showBuilding(view);
} }
public static void toUserHome(View view, String userId) {
Intent intent = new Intent(view.getContext(), UserHomeActivity.class);
intent.putExtra(UserHomeActivity.ARG_USER_ID, userId);
view.getContext().startActivity(intent);
}
} }
...@@ -23,6 +23,7 @@ import cn.yunliyunwai.beyondclouds.base.BaseFragment; ...@@ -23,6 +23,7 @@ import cn.yunliyunwai.beyondclouds.base.BaseFragment;
import cn.yunliyunwai.beyondclouds.databinding.FragmentMyBinding; import cn.yunliyunwai.beyondclouds.databinding.FragmentMyBinding;
import cn.yunliyunwai.beyondclouds.ui.ToastUtils; import cn.yunliyunwai.beyondclouds.ui.ToastUtils;
import cn.yunliyunwai.beyondclouds.ui.common.listener.OnNavigationReselectedListener; import cn.yunliyunwai.beyondclouds.ui.common.listener.OnNavigationReselectedListener;
import cn.yunliyunwai.beyondclouds.ui.handler.NavHandlers;
import cn.yunliyunwai.beyondclouds.util.ContextUtils; import cn.yunliyunwai.beyondclouds.util.ContextUtils;
import cn.yunliyunwai.beyondclouds.util.GlideRoundTransform; import cn.yunliyunwai.beyondclouds.util.GlideRoundTransform;
import cn.yunliyunwai.beyondclouds.util.ViewModelUtils; import cn.yunliyunwai.beyondclouds.util.ViewModelUtils;
...@@ -85,6 +86,12 @@ public class MyFragment extends BaseFragment<MyFragmentViewModel, FragmentMyBind ...@@ -85,6 +86,12 @@ public class MyFragment extends BaseFragment<MyFragmentViewModel, FragmentMyBind
public void onChanged(AuthenticationViewModel.AuthenticationState authenticationState) { public void onChanged(AuthenticationViewModel.AuthenticationState authenticationState) {
if (authenticationState != AuthenticationViewModel.AuthenticationState.AUTHENTICATED) { if (authenticationState != AuthenticationViewModel.AuthenticationState.AUTHENTICATED) {
binding.imgUserAvatar.setImageDrawable(getResources().getDrawable(R.drawable.un_sign_in)); binding.imgUserAvatar.setImageDrawable(getResources().getDrawable(R.drawable.un_sign_in));
binding.btnViewHome.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
NavHandlers.toUserHome(v, authenticationViewModel.getUserInfo().getValue().getUserId());
}
});
} }
if (authenticationState == AuthenticationViewModel.AuthenticationState.AUTHENTICATED) { if (authenticationState == AuthenticationViewModel.AuthenticationState.AUTHENTICATED) {
String userAvatar = authenticationViewModel.getUserInfo().getValue().getUserAvatar(); String userAvatar = authenticationViewModel.getUserInfo().getValue().getUserAvatar();
......
...@@ -24,6 +24,7 @@ import cn.yunliyunwai.beyondclouds.R; ...@@ -24,6 +24,7 @@ import cn.yunliyunwai.beyondclouds.R;
import cn.yunliyunwai.beyondclouds.base.BaseActivity; import cn.yunliyunwai.beyondclouds.base.BaseActivity;
import cn.yunliyunwai.beyondclouds.data.model.UserInfo; import cn.yunliyunwai.beyondclouds.data.model.UserInfo;
import cn.yunliyunwai.beyondclouds.databinding.ActivityProjectDetailBinding; import cn.yunliyunwai.beyondclouds.databinding.ActivityProjectDetailBinding;
import cn.yunliyunwai.beyondclouds.ui.handler.NavHandlers;
import cn.yunliyunwai.beyondclouds.ui.webview.BeyondWebViewClient; import cn.yunliyunwai.beyondclouds.ui.webview.BeyondWebViewClient;
import cn.yunliyunwai.beyondclouds.util.ContextUtils; import cn.yunliyunwai.beyondclouds.util.ContextUtils;
import cn.yunliyunwai.beyondclouds.util.GlideRoundTransform; import cn.yunliyunwai.beyondclouds.util.GlideRoundTransform;
...@@ -149,6 +150,21 @@ public class ProjectDetailActivity extends BaseActivity<ProjectDetailViewModel, ...@@ -149,6 +150,21 @@ public class ProjectDetailActivity extends BaseActivity<ProjectDetailViewModel,
String contentHtml = HtmlUtils.enCode(viewModel.getProject().getValue().getContentHtml()); String contentHtml = HtmlUtils.enCode(viewModel.getProject().getValue().getContentHtml());
webView.evaluateJavascript("javascript:loadArticleContent('" + contentHtml + "')", null); webView.evaluateJavascript("javascript:loadArticleContent('" + contentHtml + "')", null);
broccoli.clearAllPlaceholders(); broccoli.clearAllPlaceholders();
binding.txtUserNick.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
NavHandlers.toUserHome(v, viewModel.getUserInfo().getValue().getUserId());
}
});
binding.imageUserAvatar.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
NavHandlers.toUserHome(v, viewModel.getUserInfo().getValue().getUserId());
}
});
} }
} }
}); });
......
...@@ -24,6 +24,7 @@ import cn.yunliyunwai.beyondclouds.R; ...@@ -24,6 +24,7 @@ import cn.yunliyunwai.beyondclouds.R;
import cn.yunliyunwai.beyondclouds.base.BaseActivity; import cn.yunliyunwai.beyondclouds.base.BaseActivity;
import cn.yunliyunwai.beyondclouds.data.model.UserInfo; import cn.yunliyunwai.beyondclouds.data.model.UserInfo;
import cn.yunliyunwai.beyondclouds.databinding.ActivityQuestionDetailBinding; import cn.yunliyunwai.beyondclouds.databinding.ActivityQuestionDetailBinding;
import cn.yunliyunwai.beyondclouds.ui.handler.NavHandlers;
import cn.yunliyunwai.beyondclouds.ui.webview.BeyondWebViewClient; import cn.yunliyunwai.beyondclouds.ui.webview.BeyondWebViewClient;
import cn.yunliyunwai.beyondclouds.util.ContextUtils; import cn.yunliyunwai.beyondclouds.util.ContextUtils;
import cn.yunliyunwai.beyondclouds.util.GlideRoundTransform; import cn.yunliyunwai.beyondclouds.util.GlideRoundTransform;
...@@ -142,6 +143,21 @@ public class QuestionDetailActivity extends BaseActivity<QuestionDetailViewModel ...@@ -142,6 +143,21 @@ public class QuestionDetailActivity extends BaseActivity<QuestionDetailViewModel
String contentHtml = HtmlUtils.enCode(viewModel.getQuestion().getValue().getContentHtml()); String contentHtml = HtmlUtils.enCode(viewModel.getQuestion().getValue().getContentHtml());
webView.evaluateJavascript("javascript:loadArticleContent('" + contentHtml + "')", null); webView.evaluateJavascript("javascript:loadArticleContent('" + contentHtml + "')", null);
broccoli.clearAllPlaceholders(); broccoli.clearAllPlaceholders();
binding.txtUserNick.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
NavHandlers.toUserHome(v, viewModel.getUserInfo().getValue().getUserId());
}
});
binding.imageUserAvatar.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
NavHandlers.toUserHome(v, viewModel.getUserInfo().getValue().getUserId());
}
});
} }
} }
}); });
......
...@@ -84,7 +84,6 @@ ...@@ -84,7 +84,6 @@
android:layout_marginRight="11dp" android:layout_marginRight="11dp"
android:background="@drawable/background_white_touchable" android:background="@drawable/background_white_touchable"
android:layout_width="40dp" android:layout_width="40dp"
android:onClick="@{(view) -> NavHandlers.toMyInfo(view, authViewModel.authenticationState)}"
android:layout_height="wrap_content"> android:layout_height="wrap_content">
<TextView <TextView
android:layout_gravity="start|center_vertical" android:layout_gravity="start|center_vertical"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment