package com.haicaojie.android.ui.main;
|
|
import android.animation.Animator;
|
import android.animation.AnimatorListenerAdapter;
|
import android.animation.ObjectAnimator;
|
import android.app.Dialog;
|
import android.content.ClipboardManager;
|
import android.content.Context;
|
import android.content.DialogInterface;
|
import android.content.Intent;
|
import android.content.SharedPreferences;
|
import android.content.pm.ActivityInfo;
|
import android.os.Bundle;
|
import android.support.v4.app.FragmentActivity;
|
import android.util.Log;
|
import android.view.KeyEvent;
|
import android.view.View;
|
import android.widget.FrameLayout;
|
import android.widget.RadioButton;
|
import android.widget.RadioGroup;
|
import android.widget.Toast;
|
|
import com.haicaojie.android.BasicTextHttpResponseHandler;
|
import com.haicaojie.android.BuXinConstant;
|
import com.haicaojie.android.R;
|
import com.haicaojie.android.ShoppingApi;
|
import com.haicaojie.android.entity.Message;
|
import com.haicaojie.android.ui.mine.LoginSelectActivity;
|
import com.haicaojie.android.ui.recommend.GoodsBrowserActivity;
|
import com.haicaojie.android.ui.recommend.SearchResultActivity;
|
import com.haicaojie.android.util.CopyLinkDialog;
|
import com.haicaojie.android.util.CopyTitleDialog;
|
import com.haicaojie.android.util.LoginFirstDialog;
|
import com.lcjian.library.content.ConnectivityChangeHelper;
|
import com.lcjian.library.util.FragmentSwitchHelper;
|
import com.lcjian.library.util.MobileUtil;
|
import com.lcjian.library.util.common.StringUtils;
|
import com.sina.weibo.sdk.share.WbShareCallback;
|
import com.sina.weibo.sdk.share.WbShareHandler;
|
import com.umeng.analytics.MobclickAgent;
|
import com.ysh.wpc.appupdate.AppUpdate;
|
|
import org.apache.http.Header;
|
import org.json.JSONArray;
|
import org.json.JSONObject;
|
|
import java.util.ArrayList;
|
|
import de.greenrobot.event.EventBus;
|
|
|
/**
|
* 主页
|
*/
|
public class MainActivity extends FragmentActivity implements
|
// HuaweiPushReceiver.IPushCallback,
|
WbShareCallback {
|
|
private RadioGroup rg_nav;
|
private FragmentSwitchHelper mFragmentSwitchHelper;
|
private FrameLayout v_red;
|
public static WbShareHandler shareHandler;
|
// public static WbShareHandler shareHandler;
|
private ConnectivityChangeHelper mChangeHelper;
|
TrendsFragmet trendsFragmet;
|
|
@Override
|
protected void onCreate(Bundle savedInstanceState) {
|
super.onCreate(savedInstanceState);
|
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);// 锁定竖屏
|
setContentView(R.layout.activity_main);
|
|
Log.i("mResult", "手机型号为:" + MobileUtil.getSystemModel());
|
EventBus.getDefault().register(this);
|
sp = getSharedPreferences("user", MODE_PRIVATE);
|
trendsFragmet = new TrendsFragmet();
|
mFragmentSwitchHelper = FragmentSwitchHelper.create(
|
R.id.fl_main_fragment_container, getSupportFragmentManager(),
|
new RecommendTopFragment(), new CouponFragment(),
|
trendsFragmet, new MineFragment());
|
rg_nav = (RadioGroup) findViewById(R.id.rg_nav);
|
rg_nav.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
|
|
@Override
|
public void onCheckedChanged(RadioGroup group, int checkedId) {
|
|
switch (checkedId) {
|
case R.id.rb_nav_recommend: {
|
mFragmentSwitchHelper
|
.changeFragment(RecommendTopFragment.class);
|
}
|
break;
|
case R.id.rb_nav_category: {
|
mFragmentSwitchHelper
|
.changeFragment(CouponFragment.class);
|
}
|
break;
|
|
case R.id.rb_nav_trends: {
|
mFragmentSwitchHelper
|
.changeFragment(TrendsFragmet.class);
|
}
|
break;
|
|
case R.id.rb_nav_mine: {
|
mFragmentSwitchHelper.changeFragment(MineFragment.class);
|
}
|
break;
|
default:
|
break;
|
}
|
}
|
});
|
((RadioButton) findViewById(R.id.rb_nav_recommend)).setChecked(true);
|
// getSystemParams();
|
v_red = (FrameLayout) findViewById(R.id.v_red);
|
|
shareHandler = new WbShareHandler(this);
|
shareHandler.registerApp();
|
//自动更新
|
AppUpdate.setAppUpdateActivity(this);
|
AppUpdate.setAppUpdateKey(BuXinConstant.APP_UPDATE_KEY);
|
AppUpdate.initAppUpdate(false);
|
// if (MobileUtil.getDeviceBrand().equalsIgnoreCase("HUAWEI") || MobileUtil.getDeviceBrand().equalsIgnoreCase("HONOR")) {//华为推送
|
// HuaweiPushReceiver.registerPushCallback(this);
|
// getToken();
|
// }
|
mChangeHelper = new ConnectivityChangeHelper(this,
|
new ConnectivityChangeHelper.OnConnectivityChangeListener() {
|
|
@Override
|
public void onNetworkUnAvailable() {
|
}
|
|
@Override
|
public void onNetworkAvailable() {
|
String help = sp.getString("about", "");
|
if (StringUtils.isEmpty(help)) {
|
getSystemParams();
|
}
|
}
|
});
|
}
|
|
@Override
|
protected void onNewIntent(Intent intent) {
|
super.onNewIntent(intent);
|
shareHandler.doResultIntent(intent, this);
|
}
|
|
@Override
|
public void onWbShareCancel() {
|
Toast.makeText(this, "分享取消", Toast.LENGTH_LONG).show();
|
}
|
|
@Override
|
public void onWbShareFail() {
|
Toast.makeText(this, "分享失败", Toast.LENGTH_LONG).show();
|
}
|
|
@Override
|
public void onWbShareSuccess() {
|
Toast.makeText(this, "分享成功", Toast.LENGTH_LONG).show();
|
}
|
|
/**
|
* 获取token | get push token
|
*/
|
// private void getToken() {
|
//
|
// HMSAgent.Push.getToken(new GetTokenHandler() {
|
// @Override
|
// public void onResult(int rtnCode) {
|
// Log.i("mResult", "get token: end code=" + rtnCode);
|
//// Intent intent = new Intent();
|
//// intent.setAction(ACTION_UPDATEUI);
|
//// intent.putExtra("log", "get token: end code=" + rtnCode);
|
//// HuaweiPushReceiver.pushCallbacks.get(0).onReceive(intent);
|
//// Toast.makeText(getApplicationContext(), "get token: end code=" + rtnCode, Toast.LENGTH_SHORT).show();
|
//// ShoppingApi.bindHMPush(MainActivity.this, "get token: end code=" + rtnCode, sp.getString("uid", "0"), new JsonHttpResponseHandler());
|
// }
|
//
|
// });
|
// }
|
|
SharedPreferences sp;
|
|
/**
|
* 系统补充参数请求
|
*/
|
private void getSystemParams() {
|
ShoppingApi.getSystemParams(MainActivity.this, new BasicTextHttpResponseHandler() {
|
@Override
|
public void onSuccessPerfect(int statusCode, Header[] headers, JSONObject jsonObject) throws Exception {
|
if (jsonObject.optString("code").equalsIgnoreCase("0")) {
|
SharedPreferences.Editor editor = sp.edit();
|
editor.putString("systemParams", jsonObject.optJSONObject("data").optJSONArray("systemClientParamsList").toString());
|
JSONArray array = jsonObject.optJSONObject("data").optJSONArray("systemClientParamsList");
|
String copy = "";
|
for (int i = 0; i < array.length(); i++) {
|
JSONObject obj = array.getJSONObject(i);
|
if (obj.optString("key").equalsIgnoreCase("help")) {//
|
editor.putString("help", obj.optString("value"));
|
} else if (obj.optString("key").equalsIgnoreCase("about")) {//
|
editor.putString("about", obj.optString("value"));
|
} else if (obj.optString("key").equalsIgnoreCase("share")) {
|
editor.putString("share", obj.optString("value"));
|
} else if (obj.optString("key").equalsIgnoreCase("service")) {//
|
editor.putString("service", obj.optString("value"));
|
}
|
// else if (obj.optString("key").equalsIgnoreCase("shares")) {
|
// editor.putString("land", obj.optString("value"));
|
// }
|
else if (obj.optString("key").equalsIgnoreCase("newuser")) {//
|
editor.putString("newuser", obj.optString("value"));
|
} else if (obj.optString("key").equalsIgnoreCase("down")) {//
|
editor.putString("downurl", obj.optString("value"));
|
} else if (obj.optString("key").equalsIgnoreCase("shareGoods")) {//
|
editor.putString("shareGoods", obj.optString("value"));
|
} else if (obj.optString("key").equalsIgnoreCase("shareContent")) {//
|
editor.putString("shareContent", obj.optString("value"));
|
} else if (obj.optString("key").equalsIgnoreCase("sharePlateContent")) {//
|
editor.putString("sharePlateContent", obj.optString("value"));
|
} else if (obj.optString("key").equalsIgnoreCase("copy")) {//
|
editor.putString("copy", obj.optString("value"));
|
copy = obj.optString("value");
|
} else if (obj.optString("key").equalsIgnoreCase("haoli")) {//
|
editor.putString("haoli", obj.optString("value"));
|
} else if (obj.optString("key").equalsIgnoreCase("shareImg")) {//
|
editor.putString("shareImg", obj.optString("value"));
|
} else if (obj.optString("key").equalsIgnoreCase("threeShare")) {//
|
editor.putString("threeShare", obj.optString("value"));
|
} else if (obj.optString("key").equalsIgnoreCase("shareTitle")) {//
|
editor.putString("shareTitle", obj.optString("value"));
|
} else if (obj.optString("key").equalsIgnoreCase("Prompt")) {//
|
editor.putString("Prompt", obj.optString("value"));
|
} else if (obj.optString("key").equalsIgnoreCase("Prompt2")) {//
|
editor.putString("Prompt2", obj.optString("value"));
|
} else if (obj.optString("key").equalsIgnoreCase("is_goods_web_detail")) {//0跳转新详情页,1跳转旧详情页
|
editor.putString("is_goods_web_detail", obj.optString("value"));
|
Log.i("mResult", "is_goods_web_detail的值为:" + obj.optString("value"));
|
} else if (obj.optString("key").equalsIgnoreCase("weex_file_newer")) {//0跳转新详情页,1跳转旧详情页
|
editor.putString("weex_file_newer", obj.optString("value"));
|
} else if (obj.optString("key").equalsIgnoreCase("web_newer")) {//0跳转新详情页,1跳转旧详情页
|
editor.putString("web_newer", obj.optString("value"));
|
} else if (obj.optString("key").equalsIgnoreCase("invite_url")) {//邀请好友url
|
editor.putString("invite_url", obj.optString("value"));
|
} else if (obj.optString("key").equalsIgnoreCase("invite_list_url")) {//我的队员
|
editor.putString("invite_list_url", obj.optString("value"));
|
} else if (obj.optString("key").equalsIgnoreCase("user_protocol")) {//用户协议
|
editor.putString("user_protocol", obj.optString("value"));
|
} else if (obj.optString("key").equalsIgnoreCase("alipay_help")) {//支付宝账号绑定 帮助
|
editor.putString("alipay_help", obj.optString("value"));
|
} else if (obj.optString("key").equalsIgnoreCase("app_share_info")) {//我的队员页面url
|
editor.putString("app_share_info", obj.optString("value"));
|
}
|
}
|
ClipboardManager clipboard =
|
(ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);
|
String description = "";
|
try {
|
description = clipboard.getPrimaryClip().getItemAt(0).getText().toString();
|
} catch (Exception e) {
|
e.printStackTrace();
|
}
|
final String des = getSharedPreferences("user", MODE_PRIVATE).getString("clipBroadContent", "");
|
if ((!des.equalsIgnoreCase(description)) && getSharedPreferences("user", MODE_PRIVATE).getString("copy", "0").equalsIgnoreCase("1") && (!StringUtils.isEmpty(description))) {
|
// BuXinConstant.isClipBroadChanged = true;
|
editor.putBoolean("isClipBroadChanged", true);
|
editor.putString("clipBroadContent", description);
|
}
|
editor.commit();
|
boolean input = sp.getBoolean("isFirstInput", true);
|
boolean isLogin = sp.getBoolean("isLogin", false);
|
if (input && !isLogin && sp.getString("newuser", "1").equalsIgnoreCase("0")) {
|
isFirstInput();
|
} else if (copy.equalsIgnoreCase("1") && description.contains("http")) {
|
getGoodsInfo(description);
|
}
|
// startService(new Intent(MainActivity.this, ClipbroadContentChangeService.class));
|
}
|
}
|
|
@Override
|
public void onFailure(int statusCode, Header[] headers, String responseString, Throwable throwable) {
|
super.onFailure(statusCode, headers, responseString, throwable);
|
}
|
});
|
}
|
|
private void getGoodsInfo(String description) {
|
ShoppingApi.getNewGoodsInfo(MainActivity.this, description, new BasicTextHttpResponseHandler() {
|
@Override
|
public void onSuccessPerfect(int statusCode, Header[] headers, JSONObject jsonObject) throws Exception {
|
if (jsonObject.optString("code").equalsIgnoreCase("0")) {
|
if (jsonObject.optJSONObject("data").optString("type").equalsIgnoreCase("1")) {
|
JSONObject object = jsonObject.optJSONObject("data").optJSONObject("data").optJSONObject("taoBaoGoodsBrief");
|
// ClipboardManager clipboard =
|
// (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);
|
JSONArray array = jsonObject.optJSONObject("data").optJSONObject("data").optJSONArray("tbImgs");
|
ArrayList<String> mlist = new ArrayList<>();
|
for (int i = 0; i < array.length(); i++) {
|
mlist.add(array.optString(i));
|
}
|
String imgUrl = "http://";
|
if (mlist.size() > 0) {
|
imgUrl = mlist.get(0);
|
}
|
isCopyLink(object.optString("title"), object.optString("url"), object.optString("auctionId"), imgUrl);
|
} else if (jsonObject.optJSONObject("data").optString("type").equalsIgnoreCase("2")) {
|
isCopyTitle(jsonObject.optJSONObject("data").optJSONObject("data").optString("title"));
|
}
|
}
|
}
|
});
|
}
|
|
public void onEventMainThread(Message msg) {
|
if (msg != null) {
|
findcanOpenMessage(getSharedPreferences("user", MODE_PRIVATE).getString("uid", "0"));
|
}
|
}
|
|
Dialog dialog = null;
|
|
@Override
|
protected void onResume() {
|
super.onResume();
|
MobclickAgent.onPageStart("主页");
|
mChangeHelper.registerReceiver();
|
MobclickAgent.onResume(this);
|
if (BuXinConstant.GO_SCAN) {
|
((RadioButton) findViewById(R.id.rb_nav_recommend)).setChecked(true);
|
BuXinConstant.GO_SCAN = false;
|
}
|
if (sp.getBoolean("isLogin", false)) {
|
findcanOpenMessage(sp.getString("uid", "0"));
|
} else {
|
v_red.setVisibility(View.GONE);
|
}
|
final String des = getSharedPreferences("user", MODE_PRIVATE).getString("clipBroadContent", "");
|
ClipboardManager clipboardManager = (ClipboardManager) getSystemService(CLIPBOARD_SERVICE);
|
String description = "";
|
try {
|
description = clipboardManager.getPrimaryClip().getItemAt(0).getText().toString();
|
} catch (Exception e) {
|
e.printStackTrace();
|
}
|
if ((des.equalsIgnoreCase("") || ((!StringUtils.isEmpty(description)) && (!des.equalsIgnoreCase(description)))) && getSharedPreferences("user", MODE_PRIVATE).getString("copy", "0").equalsIgnoreCase("1")) {
|
SharedPreferences.Editor editor = sp.edit();
|
editor.putBoolean("isClipBroadChanged", true);
|
editor.putString("clipBroadContent", description);
|
editor.commit();
|
}
|
|
if (sp.getBoolean("isClipBroadChanged", false)) {
|
if (dialog != null && dialog.isShowing()) {
|
dialog.dismiss();
|
dialog = null;
|
}
|
if (clipboardManager.getPrimaryClip() != null && clipboardManager.getPrimaryClip().getItemAt(0) != null
|
&& clipboardManager.getPrimaryClip().getItemAt(0).getText() != null) {
|
getGoodsInfo(description);
|
SharedPreferences.Editor editor = sp.edit();
|
editor.putBoolean("isClipBroadChanged", false);
|
editor.commit();
|
}
|
// BuXinConstant.isClipBroadChanged = false;
|
}
|
}
|
|
private void findcanOpenMessage(String uid) {
|
ShoppingApi.findCanOpenMessage(this, uid, new BasicTextHttpResponseHandler() {
|
@Override
|
public void onSuccessPerfect(int statusCode, Header[] headers, JSONObject jsonObject) throws Exception {
|
if (jsonObject.optString("code").equalsIgnoreCase("0")) {
|
if (Integer.parseInt(jsonObject.optString("data")) > 0) {
|
v_red.setVisibility(View.VISIBLE);
|
} else {
|
v_red.setVisibility(View.GONE);
|
}
|
}
|
}
|
});
|
}
|
|
private void isFirstInput() {
|
LoginFirstDialog.Builder builder = new LoginFirstDialog.Builder(this);
|
builder.setPositiveButton("", new DialogInterface.OnClickListener() {
|
@Override
|
public void onClick(DialogInterface dialog, int which) {
|
startActivity(new Intent(MainActivity.this, LoginSelectActivity.class));
|
dialog.dismiss();
|
}
|
});
|
builder.setNegativeButton("", new DialogInterface.OnClickListener() {
|
@Override
|
public void onClick(DialogInterface dialog, int which) {
|
dialog.dismiss();
|
}
|
});
|
builder.create().show();
|
}
|
|
private void isCopyLink(final String title, final String url, final String id, String imgUrl) {
|
CopyLinkDialog.Builder builder = new CopyLinkDialog.Builder(this);
|
builder.setMessage(title);
|
builder.setImgUrl(imgUrl);
|
builder.setPositiveButton("", new DialogInterface.OnClickListener() {
|
@Override
|
public void onClick(DialogInterface dialog, int which) {
|
// Intent intent = new Intent(MainActivity.this, GoodsDetailBrowerActivity.class);
|
Intent intent = new Intent(MainActivity.this, GoodsBrowserActivity.class);
|
intent.putExtra("title", title);
|
intent.putExtra("url", url);
|
intent.putExtra("id", id);
|
startActivity(intent);
|
dialog.dismiss();
|
}
|
});
|
builder.setNegativeButton("", new DialogInterface.OnClickListener() {
|
@Override
|
public void onClick(DialogInterface dialog, int which) {
|
dialog.dismiss();
|
}
|
});
|
dialog = builder.create();
|
dialog.show();
|
}
|
|
private void isCopyTitle(final String title) {
|
CopyTitleDialog.Builder builder = new CopyTitleDialog.Builder(this);
|
builder.setMessage(title);
|
builder.setPositiveButton("", new DialogInterface.OnClickListener() {
|
@Override
|
public void onClick(DialogInterface dialog, int which) {
|
// Intent intent = new Intent(MainActivity.this, GoodsDetailBrowerActivity.class);
|
Intent intent = new Intent(MainActivity.this, SearchResultActivity.class);
|
intent.putExtra("content", title);
|
intent.putExtra("type", "normal");
|
startActivity(intent);
|
dialog.dismiss();
|
}
|
});
|
builder.setNegativeButton("", new DialogInterface.OnClickListener() {
|
@Override
|
public void onClick(DialogInterface dialog, int which) {
|
dialog.dismiss();
|
}
|
});
|
dialog = builder.create();
|
dialog.show();
|
}
|
|
@Override
|
protected void onPause() {
|
super.onPause();
|
MobclickAgent.onPageEnd("主页");
|
MobclickAgent.onPause(this);
|
AppUpdate.destoryAppUpdate();
|
mChangeHelper.unregisterReceiver();
|
}
|
|
@Override
|
protected void onDestroy() {
|
super.onDestroy();
|
AppUpdate.destoryAppUpdate();
|
shareHandler = null;
|
EventBus.getDefault().unregister(this);
|
// HuaweiPushReceiver.unRegisterPushCallback(this);
|
}
|
|
private long mExitTime;
|
|
@Override
|
public boolean onKeyDown(int keyCode, KeyEvent event) {
|
if (keyCode == KeyEvent.KEYCODE_BACK) {
|
if ((System.currentTimeMillis() - mExitTime) > 2000) {
|
Toast.makeText(this, "再按一次退出程序", Toast.LENGTH_SHORT).show();
|
mExitTime = System.currentTimeMillis();
|
return true;
|
}
|
}
|
return super.onKeyDown(keyCode, event);
|
}
|
|
@Override
|
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
|
super.onActivityResult(requestCode, resultCode, data);
|
if (resultCode == 2) {
|
if (null != trendsFragmet) {
|
trendsFragmet.v_cover.setVisibility(View.VISIBLE);
|
//透明动画
|
ObjectAnimator animator = ObjectAnimator.ofFloat(trendsFragmet.v_cover, "alpha", 1f, 0f);
|
animator.setDuration(400);
|
//为动画设置监听
|
animator.addListener(new AnimatorListenerAdapter() {
|
@Override
|
public void onAnimationEnd(Animator animation) {
|
super.onAnimationEnd(animation);
|
trendsFragmet.v_cover.setVisibility(View.GONE);
|
}
|
});
|
animator.start();
|
}
|
}
|
}
|
|
// @Override
|
// public void onReceive(Intent intent) {
|
// if (intent != null) {
|
// String token = "";
|
// String log = "";
|
// String action = intent.getAction();
|
// Bundle b = intent.getExtras();
|
// if (b != null && ACTION_TOKEN.equals(action)) {
|
// token = b.getString(ACTION_TOKEN);
|
// } else if (b != null && ACTION_UPDATEUI.equals(action)) {
|
// log = b.getString("log");
|
// }
|
//
|
// ClipboardManager cm = (ClipboardManager) getSystemService(CLIPBOARD_SERVICE);
|
// cm.setPrimaryClip(ClipData.newPlainText("token", token));
|
// Log.i("hmpush", "onReceive get token: " + token);
|
// SharedPreferences sp = getSharedPreferences("user", MODE_PRIVATE);
|
//// if (MobileUtil.getDeviceBrand().equalsIgnoreCase("HUAWEI") || MobileUtil.getDeviceBrand().equalsIgnoreCase("HONOR")) {
|
////// Toast.makeText(getApplicationContext(), "token---" + token, Toast.LENGTH_SHORT).show();
|
//// ShoppingApi.bindHMPush(MainActivity.this, token, sp.getString("uid", "0"), new JsonHttpResponseHandler());
|
//// }
|
// }
|
// }
|
}
|