package com.hanju.video.app.ui.main;
|
|
import android.content.Context;
|
import android.content.Intent;
|
import android.content.SharedPreferences;
|
import android.content.SharedPreferences.Editor;
|
import android.content.pm.PackageInfo;
|
import android.content.pm.PackageManager.NameNotFoundException;
|
import android.os.Bundle;
|
import android.view.View;
|
import android.view.View.OnClickListener;
|
import android.widget.ImageView;
|
import android.widget.TextView;
|
import android.widget.Toast;
|
|
import com.bumptech.glide.Glide;
|
import com.lcjian.library.content.ConnectivityChangeHelper;
|
import com.lcjian.library.content.ConnectivityChangeHelper.OnConnectivityChangeListener;
|
import com.lcjian.library.util.common.StringUtils;
|
import com.umeng.analytics.MobclickAgent;
|
import com.umeng.socialize.UMShareAPI;
|
import com.umeng.socialize.UMShareListener;
|
import com.umeng.socialize.bean.SHARE_MEDIA;
|
import com.hanju.video.app.R;
|
import com.hanju.video.app.entity.NewComment;
|
import com.hanju.video.app.ui.MyRetainViewFragment;
|
import com.hanju.video.app.ui.common.FollowActivity;
|
import com.hanju.video.app.ui.login.LoginActivity;
|
import com.hanju.video.app.ui.login.PersonInfoActivity;
|
import com.hanju.video.app.ui.mine.BrowserActivity;
|
import com.hanju.video.app.ui.mine.DownloadActivity;
|
import com.hanju.video.app.ui.mine.MyFavouriteActivity;
|
import com.hanju.video.app.ui.mine.SettingsActivity;
|
import com.hanju.video.app.ui.mine.SystemMessageActivity;
|
import com.hanju.video.app.ui.mine.WatchHistoryActivity;
|
import com.hanju.video.app.ui.recommend.SearchActivity;
|
import com.hanju.video.app.util.GlideCircleTransform;
|
|
import de.greenrobot.event.EventBus;
|
|
|
public class MineFragment extends MyRetainViewFragment implements
|
OnClickListener {
|
|
public MineFragment() {
|
super(MineFragment.class.getName());
|
}
|
|
private TextView tv_no_network;
|
|
private ConnectivityChangeHelper mChangeHelper;
|
|
private TextView tv_id;// 用户名
|
private TextView tv_name;//昵称
|
private ImageView iv_user_logo;// 用户头像
|
private TextView tv_desc;//简介
|
/**
|
* 用于表示登录状态
|
*/
|
public static boolean isLogin;
|
|
private TextView tv_mine_favourite, tv_mine_follow, tv_mine_save;
|
|
|
private boolean isHaveNewCom;// 是否存在新的评论消息
|
|
public static MineFragment newInstance() {
|
MineFragment fragment = new MineFragment();
|
return fragment;
|
}
|
|
@Override
|
public int getContentResource() {
|
return R.layout.mine_fragment;
|
}
|
|
@Override
|
public void onSaveInstanceState(Bundle outState) {
|
outState.putString("flash back", "show");
|
super.onSaveInstanceState(outState);
|
}
|
|
@Override
|
public void onCreateView(View contentView, Bundle savedInstanceState) {
|
|
tv_no_network = contentView.findViewById(R.id.tv_no_network);
|
tv_no_network.setOnClickListener(this);
|
|
mChangeHelper = new ConnectivityChangeHelper(tv_no_network.getContext(),
|
new OnConnectivityChangeListener() {
|
|
@Override
|
public void onNetworkUnAvailable() {
|
tv_no_network.setVisibility(View.VISIBLE);
|
}
|
|
@Override
|
public void onWiFiAvailable() {
|
tv_no_network.setVisibility(View.GONE);
|
}
|
|
@Override
|
public void onMobileAvailable() {
|
tv_no_network.setVisibility(View.GONE);
|
}
|
});
|
|
tv_name = contentView.findViewById(R.id.mine_tv_name);
|
tv_id = contentView.findViewById(R.id.tv_mine_id);
|
iv_user_logo = contentView.findViewById(R.id.mine_ci_head);
|
|
contentView.findViewById(R.id.mine_rl_head).setOnClickListener(this);
|
|
contentView.findViewById(R.id.ll_mine_favourite).setOnClickListener(this);
|
contentView.findViewById(R.id.ll_mine_follow).setOnClickListener(this);
|
contentView.findViewById(R.id.ll_mine_save).setOnClickListener(this);
|
contentView.findViewById(R.id.tv_mine_watch_history).setOnClickListener(this);
|
|
tv_mine_favourite = contentView.findViewById(R.id.tv_mine_favourite);
|
tv_mine_follow = contentView.findViewById(R.id.tv_mine_follow);
|
tv_mine_save = contentView.findViewById(R.id.tv_mine_save);
|
tv_desc = contentView.findViewById(R.id.tv_desc);
|
|
contentView.findViewById(R.id.ll_mine_about).setOnClickListener(this);
|
contentView.findViewById(R.id.ll_mine_setting).setOnClickListener(this);
|
contentView.findViewById(R.id.ll_mine_advice).setOnClickListener(this);
|
}
|
|
@Override
|
public void onClick(View view) {
|
switch (view.getId()) {
|
case R.id.iv_recommend_watch_history: {
|
startActivity(new Intent(tv_no_network.getContext(),
|
WatchHistoryActivity.class));
|
}
|
break;
|
case R.id.iv_activity_main_download: {
|
Toast.makeText(tv_no_network.getContext(), "暂时不支持下载!", Toast.LENGTH_LONG).show();
|
}
|
break;
|
case R.id.ll_activity_main_search: {
|
startActivity(new Intent(tv_no_network.getContext(),
|
SearchActivity.class));
|
}
|
break;
|
case R.id.mine_rl_head:
|
Intent intent = new Intent();
|
if (isLogin) {// 登录后 逻辑
|
intent.setClass(tv_no_network.getContext(), PersonInfoActivity.class);
|
} else {// 登录前
|
intent.setClass(tv_no_network.getContext(), LoginActivity.class);
|
}
|
startActivity(intent);
|
break;
|
case R.id.ll_mine_favourite:
|
startActivity(new Intent(tv_no_network.getContext(), MyFavouriteActivity.class));
|
break;
|
case R.id.tv_mine_watch_history:
|
startActivity(new Intent(tv_no_network.getContext(), WatchHistoryActivity.class));
|
break;
|
case R.id.ll_mine_save:
|
startActivity(new Intent(tv_no_network.getContext(), DownloadActivity.class));
|
break;
|
case R.id.ll_mine_follow:
|
startActivity(new Intent(tv_no_network.getContext(), FollowActivity.class));
|
break;
|
|
case R.id.ll_mine_about://关于我们
|
Intent intent1 = new Intent(getContext(), BrowserActivity.class);
|
intent1.putExtra("url", "http://bwweb.yeshitv.com/abountOur/index.html");
|
startActivity(intent1);
|
break;
|
case R.id.ll_mine_setting://设置
|
startActivity(new Intent(tv_no_network.getContext(), SettingsActivity.class));
|
break;
|
case R.id.ll_mine_advice://建议
|
startActivity(new Intent(tv_no_network.getContext(), SettingsActivity.class));
|
break;
|
}
|
}
|
|
UMShareListener shareListener = new UMShareListener() {
|
@Override
|
public void onStart(SHARE_MEDIA share_media) {
|
|
}
|
|
@Override
|
public void onResult(SHARE_MEDIA share_media) {
|
Toast.makeText(tv_no_network.getContext(), "分享成功!", Toast.LENGTH_LONG).show();
|
}
|
|
@Override
|
public void onError(SHARE_MEDIA share_media, Throwable throwable) {
|
if (!UMShareAPI.get(tv_no_network.getContext()).isInstall(getActivity(), share_media)) {
|
Toast.makeText(tv_no_network.getContext(), share_media == SHARE_MEDIA.QQ ? "没有安装QQ" : "没有安装微信", Toast.LENGTH_LONG).show();
|
} else {
|
Toast.makeText(tv_no_network.getContext(), "分享出错!", Toast.LENGTH_LONG).show();
|
}
|
}
|
|
@Override
|
public void onCancel(SHARE_MEDIA share_media) {
|
Toast.makeText(tv_no_network.getContext(), "分享取消!", Toast.LENGTH_LONG).show();
|
}
|
};
|
|
private String getShareUrl() {
|
SharedPreferences preferences = tv_no_network.getContext().getSharedPreferences("user",
|
Context.MODE_PRIVATE);
|
return preferences.getString("share_url", "http://yy.umgotv.com");
|
}
|
|
private String getShareContent() {
|
SharedPreferences preferences = tv_no_network.getContext().getSharedPreferences(
|
"user", Context.MODE_PRIVATE);
|
String shareContent = preferences.getString(
|
"share_content",
|
"牛逼的APP,什么样的新片,大片,电视剧都有---"
|
+ getResources().getString(
|
R.string.app_name))
|
+ getShareUrl();
|
return shareContent;
|
}
|
|
/**
|
* 打开消息页面
|
*/
|
private void openMsg() {
|
EventBus.getDefault().post(new NewComment(true));
|
SharedPreferences preferences = tv_no_network.getContext().getSharedPreferences(
|
"user", Context.MODE_PRIVATE);
|
Editor editor = preferences.edit();
|
editor.putBoolean("isCheckedCom", false);
|
|
editor.commit();
|
startActivity(new Intent(tv_no_network.getContext(),
|
SystemMessageActivity.class));
|
}
|
|
/**
|
* 初始化用户登录信息
|
*/
|
private void initLoginInfo() {
|
SharedPreferences sp_user = tv_no_network.getContext().getSharedPreferences("user",
|
Context.MODE_PRIVATE);
|
isLogin = !StringUtils.isEmpty(sp_user.getString("LoginUid", ""));// 获取登录状态
|
if (isLogin) {
|
String portrait = sp_user.getString("portrait", "");// 用户头像
|
String name = sp_user.getString("name", "");// 用户名称
|
try {
|
Glide.with(getActivity().getApplicationContext()).load(portrait).placeholder(R.drawable.ic_portrait_default)
|
.transform(new GlideCircleTransform(getActivity()))
|
.into(iv_user_logo);
|
} catch (IllegalArgumentException e) {
|
e.printStackTrace();
|
}
|
tv_id.setVisibility(View.VISIBLE);
|
tv_name.setText(name);
|
} else {// 恢复登录前的状态
|
iv_user_logo.setImageResource(R.drawable.img_head_portrait);// 默认头像
|
tv_id.setVisibility(View.GONE);
|
tv_name.setText("未登录");
|
}
|
}
|
|
/**
|
* shizh用户信息的展示
|
*/
|
|
@Override
|
public void onResume() {
|
super.onResume();
|
// 获取缓存中的消息状态
|
SharedPreferences preferences = tv_no_network.getContext().getSharedPreferences(
|
"user", Context.MODE_PRIVATE);
|
isHaveNewCom = preferences.getBoolean("isCheckedCom", false);
|
if (!isLogin) {
|
initLoginInfo();
|
}
|
mChangeHelper.registerReceiver();
|
MobclickAgent.onPageStart("主页面—我的");
|
}
|
|
@Override
|
public void onPause() {
|
super.onPause();
|
mChangeHelper.unregisterReceiver();
|
MobclickAgent.onPageEnd("主页面—我的");
|
}
|
|
@Override
|
public void onDestroy() {
|
super.onDestroy();
|
isLogin = false;
|
}
|
|
public static String getVersionName(Context context) {
|
try {
|
PackageInfo pi = context.getPackageManager().getPackageInfo(
|
context.getPackageName(), 0);
|
return pi.versionName;
|
} catch (NameNotFoundException e) {
|
e.printStackTrace();
|
return "";
|
}
|
}
|
|
}
|