|
package com.electric.chargingpile.activity;
import android.app.Activity;
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v7.widget.RecyclerView;
import android.support.v7.widget.StaggeredGridLayoutManager;
import android.text.TextUtils;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;
import com.andview.refreshview.XRefreshView;
import com.blankj.utilcode.util.LogUtils;
import com.electric.chargingpile.R;
import com.electric.chargingpile.adapter.WaterFallAdapter;
import com.electric.chargingpile.application.MainApplication;
import com.electric.chargingpile.data.ChargingShareBean;
import com.electric.chargingpile.data.HomePageBean;
import com.electric.chargingpile.util.BarColorUtil;
import com.electric.chargingpile.util.JsonUtils;
import com.electric.chargingpile.util.NetUtil;
import com.electric.chargingpile.util.ToastUtil;
import com.electric.chargingpile.view.RoundImageView;
import com.mabeijianxi.smallvideorecord2.Log;
import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet;
import com.squareup.picasso.Picasso;
import com.squareup.picasso.Target;
import com.umeng.analytics.MobclickAgent;
import com.zhy.http.okhttp.OkHttpUtils;
import com.zhy.http.okhttp.callback.StringCallback;
import java.util.HashMap;
import java.util.Map;
import cn.sharesdk.framework.Platform;
import cn.sharesdk.framework.PlatformActionListener;
import cn.sharesdk.framework.ShareSDK;
import cn.sharesdk.tencent.qq.QQ;
import cn.sharesdk.wechat.friends.Wechat;
import cn.sharesdk.wechat.moments.WechatMoments;
import okhttp3.Call;
/**
* 个人中心
*/
public class PersonalPageActivity extends Activity implements View.OnClickListener {
private static final String TAG = "PersonalPageActivity";
private XRefreshView xRefreshView;
private StaggeredGridLayoutManager layoutManager;
private WaterFallAdapter waterFallAdapter;
RecyclerView recyclerView;
private int page = 1;
private boolean haveLoadHeaderData;
private TextView username_text, username_content, data_info;
private RoundImageView iconPic;
private TextView banquan;
private ImageView user_edit;
private String targetUserId;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_personal_page);
initView();
initListener();
BarColorUtil.initStatusBarColor(this);
if (NetUtil.CheckNetwork(this)) {
requestData();
} else {
findViewById(R.id.no_net_view).setVisibility(View.VISIBLE);
findViewById(R.id.request_refresh).setOnClickListener(this);
}
}
private void requestData() {
String url = MainApplication.urlNew + "/user/homepage.do";
Map<String, String> map = new HashMap<>();
map.put("page", page + "");
map.put("limit", "20");
if (MainApplication.isLogin()) {
map.put("userId", MainApplication.userId);
if(TextUtils.isEmpty(targetUserId)){
user_edit.setVisibility(View.VISIBLE);
map.put("targetUserId", MainApplication.userId);//说明是自己
}
else{
user_edit.setVisibility(View.GONE);
map.put("targetUserId", targetUserId);
}
}
OkHttpUtils.get().params(map).url(url).build().connTimeOut(6000).readTimeOut(6000).execute(new StringCallback() {
@Override
public void onError(Call call, Exception e) {
if (page == 1)
xRefreshView.stopRefresh();
else
xRefreshView.setLoadComplete(true);
ToastUtil.showToast(getApplicationContext(), "加载失败,请重试", Toast.LENGTH_SHORT);
}
@Override
public void onResponse(String response) {
android.util.Log.e(TAG, "response:" + response);
LogUtils.e(response);
if (page == 1)
xRefreshView.stopRefresh();
else
xRefreshView.setLoadComplete(true);
String rtnCode = JsonUtils.getKeyResult(response, "code");
if ("1000".equals(rtnCode)) {
String rtnMsg = JsonUtils.getKeyResult(response, "data");
HomePageBean qadata = (HomePageBean) JsonUtils.parseToObjectBean(rtnMsg, HomePageBean.class);
if (!haveLoadHeaderData) {
haveLoadHeaderData = true;
initHeaderData(qadata);
}
if (page == 1)
waterFallAdapter.setData(qadata.list);
else
waterFallAdapter.addData(qadata.list);
if ((page == 1 && null == qadata.list) || (page == 1 && qadata.list.size() == 0)) {
findViewById(R.id.no_net_view).setVisibility(View.VISIBLE);
findViewById(R.id.request_refresh).setVisibility(View.GONE);
banquan.setText("快来分享吧\n" +
"小主大家都很期待你的精彩内容哦");
} else {
findViewById(R.id.no_net_view).setVisibility(View.GONE);
}
} else if ("02".equals(rtnCode)) {
ToastUtil.showToast(getApplicationContext(), "已经全部加载完毕", Toast.LENGTH_SHORT);
}
}
});
}
private void initHeaderData(HomePageBean qadata) {
username_text.setText(qadata.userVo.nickName);
username_content.setText(qadata.userVo.carName);
data_info.setText(qadata.userVo.topicNums + "");
if (!"".equals(qadata.userVo.headImgUrl)) {
Picasso.with(this)
.load(qadata.userVo.headImgUrl)
.into(new Target() {
@Override
public void onBitmapLoaded(Bitmap bitmap, Picasso.LoadedFrom loadedFrom) {
iconPic.setImageBitmap(bitmap);
}
@Override
public void onBitmapFailed(Drawable drawable) {
}
@Override
public void onPrepareLoad(Drawable drawable) {
}
});
} else {
iconPic.setImageResource(R.drawable.icon_face2_0);
}
}
private void initListener() {
findViewById(R.id.iv_back).setOnClickListener(this);
findViewById(R.id.user_edit).setOnClickListener(this);
findViewById(R.id.iv_more).setOnClickListener(this);
}
private void initView() {
targetUserId = getIntent().getStringExtra("targetUserId");
user_edit = (ImageView) findViewById(R.id.user_edit);
banquan = (TextView) findViewById(R.id.banquan);
iconPic = (RoundImageView) findViewById(R.id.user_avater);
username_content = (TextView) findViewById(R.id.username_content);
username_text = (TextView) findViewById(R.id.username_text);
data_info = (TextView) findViewById(R.id.data_info);
xRefreshView = (XRefreshView) findViewById(R.id.xrefreshview);
xRefreshView.setPullLoadEnable(true);
recyclerView = (RecyclerView) findViewById(R.id.recycler_view_test_rv);
recyclerView.setHasFixedSize(true);
username_text.setText(MainApplication.userNickname);
waterFallAdapter = new WaterFallAdapter(this);
layoutManager = new StaggeredGridLayoutManager(2, StaggeredGridLayoutManager.VERTICAL);
recyclerView.setLayoutManager(layoutManager);
recyclerView.setAdapter(waterFallAdapter);
xRefreshView.setPinnedTime(1000);
xRefreshView.setMoveForHorizontal(true);
xRefreshView.setXRefreshViewListener(new XRefreshView.SimpleXRefreshListener() {
@Override
public void onRefresh(boolean isPullDown) {
page = 1;
requestData();
}
@Override
public void onLoadMore(boolean isSilence) {
page++;
requestData();
}
});
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.iv_back:
finish();
break;
case R.id.request_refresh:
if (NetUtil.CheckNetwork(this)) {
findViewById(R.id.no_net_view).setVisibility(View.GONE);
requestData();
}
break;
case R.id.iv_more:
// if(null == chargingShareBean){
// getShareData();
// return;
// }
ChargingShareBean chargingShareBean = new ChargingShareBean();
// chargingShareBean.setIcon(shareThumbnail);
// chargingShareBean.setTitle(shareTitle);
// chargingShareBean.setUrl(shareUrl);
chargingShareBean.setText("");
showSimpleBottomSheetGrid(chargingShareBean);
break;
case R.id.user_edit:
MobclickAgent.onEvent(getApplicationContext(), "0802");
startActivity(new Intent(getApplicationContext(), UserInfoActivity.class));
break;
}
}
private void getShareData() {
String url = MainApplication.urlNew + "/user/homepage.do";
Map<String, String> map = new HashMap<>();
map.put("page", targetUserId + "");
map.put("limit", "20");
OkHttpUtils.get().params(map).url(url).build().connTimeOut(6000).readTimeOut(6000).execute(new StringCallback() {
@Override
public void onError(Call call, Exception e) {
if (page == 1)
xRefreshView.stopRefresh();
else
xRefreshView.setLoadComplete(true);
ToastUtil.showToast(getApplicationContext(), "加载失败,请重试", Toast.LENGTH_SHORT);
}
@Override
public void onResponse(String response) {
Log.e("demo", response);
if (page == 1)
xRefreshView.stopRefresh();
else
xRefreshView.setLoadComplete(true);
String rtnCode = JsonUtils.getKeyResult(response, "code");
if ("1000".equals(rtnCode)) {
String rtnMsg = JsonUtils.getKeyResult(response, "data");
HomePageBean qadata = (HomePageBean) JsonUtils.parseToObjectBean(rtnMsg, HomePageBean.class);
}
}
});
}
private void showSimpleBottomSheetGrid(final ChargingShareBean chargingShareBean) {
final int TAG_SHARE_WECHAT_FRIEND = 0;
final int TAG_SHARE_WECHAT_MOMENT = 1;
final int TAG_SHARE_QQ = 2;
QMUIBottomSheet.BottomGridSheetBuilder builder = new QMUIBottomSheet.BottomGridSheetBuilder(PersonalPageActivity.this);
QMUIBottomSheet build = builder.addItem(R.drawable.icon_share_wechat, "微信", TAG_SHARE_WECHAT_FRIEND, QMUIBottomSheet.BottomGridSheetBuilder.FIRST_LINE)
.addItem(R.drawable.icon_share_wechatquan, "朋友圈", TAG_SHARE_WECHAT_MOMENT, QMUIBottomSheet.BottomGridSheetBuilder.FIRST_LINE)
.addItem(R.drawable.icon_share_qq, "QQ", TAG_SHARE_QQ, QMUIBottomSheet.BottomGridSheetBuilder.FIRST_LINE)
.setOnSheetItemClickListener(new QMUIBottomSheet.BottomGridSheetBuilder.OnSheetItemClickListener() {
@Override
public void onClick(QMUIBottomSheet dialog, View itemView) {
dialog.dismiss();
int tag = (int) itemView.getTag();
switch (tag) {
case TAG_SHARE_WECHAT_FRIEND:
share(Wechat.NAME, chargingShareBean);
break;
case TAG_SHARE_WECHAT_MOMENT:
share(WechatMoments.NAME, chargingShareBean);
break;
case TAG_SHARE_QQ:
share(QQ.NAME, chargingShareBean);
break;
}
}
}).build();
// build.
build.show();
}
private void share(final String name, ChargingShareBean chargingShareBean) {
Platform.ShareParams paramsToShare = new Platform.ShareParams();
paramsToShare.setText(chargingShareBean.getText());
paramsToShare.setTitle(chargingShareBean.getTitle());
paramsToShare.setTitleUrl(chargingShareBean.getUrl());
paramsToShare.setUrl(chargingShareBean.getUrl());
paramsToShare.setImageUrl(chargingShareBean.getIcon());
paramsToShare.setShareType(Platform.SHARE_WEBPAGE);
Platform platform = ShareSDK.getPlatform(name);
platform.setPlatformActionListener(new PlatformActionListener() {
@Override
public void onComplete(Platform platform, int i, HashMap<String, Object> hashMap) {
if (MainApplication.isLogin()) {
getShareIntegral();
}
}
@Override
public void onError(Platform platform, int i, Throwable throwable) {
LogUtils.e(throwable.getMessage());
}
@Override
public void onCancel(Platform platform, int i) {
}
});
platform.share(paramsToShare);
}
private void getShareIntegral() {
String url = MainApplication.url + "/zhannew/basic/web/index.php/member/insert-task?userid=" + MainApplication.userId;
OkHttpUtils.get().url(url).build().execute(new StringCallback() {
@Override
public void onError(Call call, Exception e) {
}
@Override
public void onResponse(String response) {
String rtnCode = JsonUtils.getKeyResult(response, "rtnCode");
if (rtnCode.equals("01")) {
}
}
});
}
}
|