| | |
| | | import android.graphics.Color; |
| | | import android.os.Build; |
| | | import android.os.Bundle; |
| | | |
| | | import androidx.annotation.NonNull; |
| | | import androidx.fragment.app.Fragment; |
| | | import androidx.fragment.app.FragmentActivity; |
| | | |
| | | import android.util.Log; |
| | | import android.view.KeyEvent; |
| | | import android.view.MotionEvent; |
| | | import android.view.View; |
| | |
| | | import android.widget.LinearLayout; |
| | | import android.widget.RadioButton; |
| | | import android.widget.RadioGroup; |
| | | import android.widget.TextView; |
| | | import android.widget.Toast; |
| | | |
| | | import com.app.hubert.guide.util.ScreenUtils; |
| | | import com.coloros.mcssdk.PushManager; |
| | | import com.huawei.android.hms.agent.HMSAgent; |
| | | import com.huawei.android.hms.agent.push.handler.GetTokenHandler; |
| | | import com.tejia.lijin.app.entity.TrendsCategory; |
| | | import com.tejia.lijin.app.ui.trends.SendCircleFragmet; |
| | | import com.tejia.lijin.app.util.TopStatusSettings; |
| | | import com.tejia.lijin.app.util.ui.HomeUIUtil; |
| | | import com.umeng.analytics.MobclickAgent; |
| | | import com.vivo.push.PushClient; |
| | | import com.wpc.library.okhttp.OkHttpUtils; |
| | | import com.wpc.library.util.FragmentSwitchHelper; |
| | | import com.wpc.library.util.MobileUtil; |
| | | import com.wpc.library.util.NetUtils; |
| | | import com.wpc.library.util.common.StringUtils; |
| | | import com.xiaomi.mipush.sdk.MiPushMessage; |
| | | import com.heytap.msp.push.HeytapPushManager; |
| | | import com.tejia.lijin.app.BasicTextHttpResponseHandler; |
| | | import com.tejia.lijin.app.BuXinConstant; |
| | | import com.tejia.lijin.app.R; |
| | |
| | | import com.tejia.lijin.app.callBack.LonginTaobaoCallback; |
| | | import com.tejia.lijin.app.callBack.MessagePush; |
| | | import com.tejia.lijin.app.entity.EventMessageEntity; |
| | | import com.tejia.lijin.app.entity.TrendsCategory; |
| | | import com.tejia.lijin.app.entity.eventbus.HomeTabChangeEvent; |
| | | import com.tejia.lijin.app.entity.eventbus.UserProtocolEvent; |
| | | import com.tejia.lijin.app.receiver.HWPushMessageReceiver; |
| | | import com.tejia.lijin.app.receiver.MiPushMessageReceiver; |
| | | import com.tejia.lijin.app.service.OPPOPushService; |
| | | import com.tejia.lijin.app.service.VIVOPushService; |
| | | import com.tejia.lijin.app.ui.BrandRebate.BrandFragment; |
| | | import com.tejia.lijin.app.ui.HMPushReceiveActivity; |
| | | import com.tejia.lijin.app.ui.PushOpenClickActivity; |
| | | import com.tejia.lijin.app.ui.dialog.LoginFirstDialog; |
| | | import com.tejia.lijin.app.ui.mine.ShoppingTrolleyActivity; |
| | | import com.tejia.lijin.app.util.DragFloatActionButton; |
| | |
| | | import com.tejia.lijin.app.util.clipboard.ClipboardUtil; |
| | | import com.tejia.lijin.app.util.clipboard.IClipboardContentListener; |
| | | import com.tejia.lijin.app.util.ui.ClipboardContentRecommendUtil; |
| | | import com.tejia.lijin.app.util.ui.HomeUIUtil; |
| | | import com.tejia.lijin.app.util.umengCustomEvent.MainCustomEvent; |
| | | import com.tejia.lijin.app.util.user.UserUtil; |
| | | import com.umeng.analytics.MobclickAgent; |
| | | import com.vivo.push.PushClient; |
| | | import com.wpc.library.okhttp.OkHttpUtils; |
| | | import com.wpc.library.util.FragmentSwitchHelper; |
| | | import com.wpc.library.util.NetUtils; |
| | | import com.wpc.library.util.common.StringUtils; |
| | | import com.xiaomi.mipush.sdk.MiPushMessage; |
| | | import com.yeshi.push.PushAppInfoFactory; |
| | | import com.yeshi.push.PushUtil; |
| | | import com.yeshi.push.entity.PushApps; |
| | | import com.yeshi.push.entity.PushRomType; |
| | | |
| | | import org.apache.http.Header; |
| | | import org.json.JSONArray; |
| | |
| | | import java.text.ParseException; |
| | | import java.util.List; |
| | | |
| | | import androidx.annotation.NonNull; |
| | | import androidx.fragment.app.Fragment; |
| | | import androidx.fragment.app.FragmentActivity; |
| | | import de.greenrobot.event.EventBus; |
| | | |
| | | import static com.tejia.lijin.app.receiver.HWPushMessageReceiver.ACTION_TOKEN; |
| | | import static com.tejia.lijin.app.receiver.HWPushMessageReceiver.ACTION_UPDATEUI; |
| | | |
| | | |
| | | /** |
| | | * 主页 |
| | | */ |
| | | public class MainActivity extends FragmentActivity |
| | | implements HWPushMessageReceiver.IPushCallback, DragFloatActionInterface { |
| | | implements DragFloatActionInterface { |
| | | |
| | | private RadioGroup rg_nav; |
| | | private View v_no_login; |
| | |
| | | |
| | | |
| | | private SharedPreferences spkefu; |
| | | private ImageView img, tv_msg_num2; |
| | | private ImageView img; |
| | | private TextView tv_msg_count; |
| | | private DragFloatActionButton acbutton; |
| | | |
| | | String tag1 = "systemclient/getsystemclientparams"; |
| | |
| | | Window window = getWindow(); |
| | | window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); |
| | | window.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN |
| | | | View.SYSTEM_UI_FLAG_LAYOUT_STABLE ); |
| | | | View.SYSTEM_UI_FLAG_LAYOUT_STABLE); |
| | | |
| | | // window.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR); |
| | | |
| | | window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS); |
| | | window.setStatusBarColor(Color.TRANSPARENT); |
| | | int result = 0; |
| | |
| | | if (resourceId > 0) { |
| | | result = getResources().getDimensionPixelSize(resourceId); |
| | | } |
| | | //设置状态栏文字颜色及图标为深色 |
| | | // getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_STABLE); |
| | | |
| | | |
| | | LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, |
| | | result); |
| | | findViewById(R.id.v_status_bar).setLayoutParams(params); |
| | | findViewById(R.id.v_status_bar).setBackground(HomeUIUtil.getHomeTopBg("#FF227B", "#FF2A3E")); |
| | | findViewById(R.id.v_status_bar).setBackground(HomeUIUtil.getHomeTopBg(getApplicationContext())); |
| | | } else { |
| | | findViewById(R.id.v_status_bar).setVisibility(View.GONE); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | EventBus.getDefault().register(this); |
| | |
| | | getSystemParams(); |
| | | v_no_login = findViewById(R.id.v_no_login); |
| | | acbutton = findViewById(R.id.actionButton); |
| | | tv_msg_num2 = findViewById(R.id.tv_msg_num2);//我的红点 |
| | | tv_msg_count = findViewById(R.id.tv_msg_count);//消息数量 |
| | | acbutton.setOnClickListener(new View.OnClickListener() { |
| | | @Override |
| | | public void onClick(View v) { |
| | | //登陆 |
| | | if (getSharedPreferences("user", MODE_PRIVATE).getBoolean("isLogin", false)) { |
| | | if (UserUtil.isLogin(getApplicationContext())) { |
| | | LoginTaobao.getLoginTaobao(MainActivity.this, new LonginTaobaoCallback() { |
| | | @Override |
| | | public void onSuccess() { |
| | |
| | | |
| | | spkefu = getSharedPreferences("kefurecord", Context.MODE_PRIVATE);//是否打开过客服 记录 |
| | | |
| | | if (MobileUtil.getDeviceBrand().equalsIgnoreCase("HUAWEI") |
| | | || MobileUtil.getDeviceBrand().equalsIgnoreCase("HONOR")) { |
| | | HWPushMessageReceiver.registerPushCallback(this);//推送集成到ToolUtil里面了 |
| | | getToken(); |
| | | } |
| | | |
| | | //获取 取消悬浮控件的宽高 |
| | | ViewTreeObserver vto2 = img.getViewTreeObserver(); |
| | | vto2.addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() { |
| | |
| | | choiceTab(fromTab, fromSubTab); |
| | | } else |
| | | ((RadioButton) findViewById(R.id.rb_nav_recommend)).setChecked(true); |
| | | registeredOPPOId();//上传OPPO_RegId |
| | | // onPush_OFF_NO();//检测是否打开推送 |
| | | registeredVIVOId();//上传VIVO_RegId |
| | | |
| | | //注册推送 |
| | | initPush(); |
| | | |
| | | |
| | | } |
| | | |
| | | private void initPush() { |
| | | PushApps pushApps = new PushApps(); |
| | | pushApps.setHw(PushAppInfoFactory.createHuaWei(getResources().getString(R.string.push_hw_appid))); |
| | | pushApps.setOppo(PushAppInfoFactory.createOPPO(getResources().getString(R.string.push_oppo_app_key), getResources().getString(R.string.push_oppo_app_secret))); |
| | | pushApps.setVivo(PushAppInfoFactory.createVIVO(getResources().getString(R.string.push_vivo_app_id), getResources().getString(R.string.push_vivo_api_key))); |
| | | pushApps.setXm(PushAppInfoFactory.createXM(getResources().getString(R.string.mipush_appid), getResources().getString(R.string.mipush_appkey))); |
| | | PushUtil.inintPush(ShoppingApplication.application, pushApps, new PushUtil.ITokenListener() { |
| | | |
| | | @Override |
| | | public void onToken(final PushRomType romType,final String regId) { |
| | | runOnUiThread(new Runnable() { |
| | | @Override |
| | | public void run() { |
| | | ShoppingApi.bindPushToken(getApplicationContext(), UserUtil.getUid(getApplicationContext()), romType, regId, null); |
| | | } |
| | | }); |
| | | |
| | | } |
| | | }); |
| | | } |
| | | |
| | | private void choiceTab(Integer tab, Integer subTab) { |
| | |
| | | } |
| | | } |
| | | |
| | | /***注册VIVO_ID**/ |
| | | private void registeredVIVOId() { |
| | | if (PushClient.getInstance(img.getContext()).isSupport()) { |
| | | if (NetUtils.isNetConnected(img.getContext())) { |
| | | ToolUtil.registeredVIVORegId(img.getContext()); |
| | | } else { |
| | | startService(new Intent(img.getContext(), VIVOPushService.class)); |
| | | } |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 注册oppoid |
| | | */ |
| | | private void registeredOPPOId() { |
| | | if (PushManager.isSupportPush(getApplicationContext())) { |
| | | if (NetUtils.isNetConnected(getApplicationContext())) { |
| | | ToolUtil.registeredOPPOId(getApplicationContext()); |
| | | } else { |
| | | startService(new Intent(getApplicationContext(), OPPOPushService.class)); |
| | | } |
| | | } |
| | | } |
| | | |
| | | /* |
| | | 华为推送获取token |
| | | */ |
| | | private void getToken() { |
| | | Log.e("mResult", "get token: begin"); |
| | | HMSAgent.Push.getToken(new GetTokenHandler() { |
| | | @Override |
| | | public void onResult(int rst) { |
| | | Log.e("mResult", "get token end: " + rst); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | SharedPreferences sp; |
| | | |
| | | /** |
| | | * 系统补充参数请求 |
| | | */ |
| | | private void getSystemParams() { |
| | | String uid = getSharedPreferences("user", |
| | | Context.MODE_PRIVATE).getString("uid", ""); |
| | | ShoppingApi.getSystemParams(MainActivity.this, uid, new BasicTextHttpResponseHandler() { |
| | | ShoppingApi.getSystemParams(MainActivity.this, UserUtil.getUid(ShoppingApplication.application), new BasicTextHttpResponseHandler() { |
| | | @Override |
| | | public void onSuccessPerfect(int statusCode, Header[] headers, JSONObject jsonObject) throws Exception { |
| | | if (jsonObject.optString("code").equalsIgnoreCase("0")) { |
| | | JSONArray array = jsonObject.optJSONObject("data").optJSONArray("systemClientParamsList"); |
| | | SystemParamsUtil.saveParams(getApplicationContext(), array); |
| | | boolean input = sp.getBoolean("isFirstInput", true); |
| | | boolean isLogin = sp.getBoolean("isLogin", false); |
| | | boolean isLogin = UserUtil.isLogin(getApplicationContext()); |
| | | //新人好礼1元红包 |
| | | if (input && !isLogin && sp.getString("newuser", "1").equalsIgnoreCase("0")) { |
| | | isFirstInput(); |
| | |
| | | textVideo.isRecord(jsonObject); |
| | | //服务器让显示 购物车&&本地也让显示 |
| | | if (textVideo.getCart_float().equals("1") && textVideo.getLocalCart_float() != 1 |
| | | && getSharedPreferences("user", MODE_PRIVATE).getBoolean("isLogin", false)) { |
| | | && UserUtil.isLogin(getApplicationContext())) { |
| | | acbutton.setVisibility(View.VISIBLE); |
| | | } else {//隐藏购物车 |
| | | acbutton.setVisibility(View.GONE); |
| | |
| | | BuXinConstant.GO_SCAN = false; |
| | | ((RadioButton) findViewById(R.id.rb_nav_recommend)).setChecked(true); |
| | | } |
| | | boolean isLogin = sp.getBoolean("isLogin", false); |
| | | boolean isLogin = UserUtil.isLogin(getApplicationContext()); |
| | | v_no_login.setVisibility(isLogin ? View.INVISIBLE : View.VISIBLE); |
| | | getUnReadMsgCount(sp.getString("uid", "0"));//消息 未读数量 |
| | | getUnReadMsgCount(UserUtil.getUid(ShoppingApplication.application));//消息 未读数量 |
| | | |
| | | if (MiPushMessageReceiver.miPushMessage != null) {//打开小米推送 |
| | | MiPushMessage message = MiPushMessageReceiver.miPushMessage; |
| | |
| | | RecordImageTextVideo textVideo = new RecordImageTextVideo(MainActivity.this); |
| | | //服务器让显示 购物车&&本地也让显示不为1 |
| | | if (textVideo.getCart_float().equals("1") && textVideo.getLocalCart_float() != 1 && |
| | | getSharedPreferences("user", MODE_PRIVATE).getBoolean("isLogin", false)) { |
| | | UserUtil.isLogin(getApplicationContext())) { |
| | | acbutton.setVisibility(View.VISIBLE); |
| | | //点击过 再显示(让按钮复位) |
| | | if (textVideo.getLocalCart_float() == 2) { |
| | |
| | | acbutton.setVisibility(View.GONE); |
| | | } |
| | | } |
| | | PushOpenClickActivity.resumeJumpActivity(this); |
| | | } |
| | | |
| | | private void getRecommendInfoFromClipboard() { |
| | |
| | | * |
| | | * @param uid |
| | | */ |
| | | private void getUnReadMsgCount(String uid) { |
| | | private void getUnReadMsgCount(Long uid) { |
| | | ShoppingApi.getUnReadMsgCount(this, uid, new BasicTextHttpResponseHandler() { |
| | | @Override |
| | | public void onSuccessPerfect(int statusCode, Header[] headers, JSONObject jsonObject) throws Exception { |
| | |
| | | } else { |
| | | totalCount = 0; |
| | | } |
| | | totalCount = 0; |
| | | } else { |
| | | totalCount = 0; |
| | | tv_msg_num2.setVisibility(View.INVISIBLE);//隐藏我的红点 |
| | | } |
| | | |
| | | tv_msg_count.setVisibility(totalCount > 0 ? View.VISIBLE : View.INVISIBLE); |
| | | if (totalCount > 0) { |
| | | tv_msg_count.setText(totalCount >= 100 ? "99+" : (totalCount + "")); |
| | | } |
| | | |
| | | setUnReadMsgCount(jsonObject); |
| | | getgetHomeMsgList();//获取未读消息条数 |
| | | } |
| | |
| | | } |
| | | } |
| | | //展示我的 红点 |
| | | tv_msg_num2.setVisibility(jsonObject.optJSONObject("data").optInt("mineCount") > 0 ? View.VISIBLE : View.INVISIBLE); |
| | | // int msgCount = jsonObject.optJSONObject("data").optInt("mineCount"); |
| | | } |
| | | |
| | | private void isFirstInput() { |
| | |
| | | @Override |
| | | protected void onPause() { |
| | | super.onPause(); |
| | | MobclickAgent.onPageEnd("主页"); |
| | | MobclickAgent.onPause(this); |
| | | //注销美洽客服广播 |
| | | } |
| | | |
| | |
| | | * @param entity |
| | | */ |
| | | public void onEventMainThread(EventMessageEntity entity) { |
| | | getUnReadMsgCount(sp.getString("uid", "0")); |
| | | getUnReadMsgCount(UserUtil.getUid(ShoppingApplication.application)); |
| | | if (messagePush != null) { |
| | | // 这里就会调用我们Fragment中的MessagePush方法 |
| | | messagePush.MessagePush(true);//传入消息推送 |
| | |
| | | * @param homeMsgListListener |
| | | */ |
| | | private void getHomeMsgList(final getHomeMsgListListener homeMsgListListener) { |
| | | String uid = getSharedPreferences("user", |
| | | Context.MODE_PRIVATE).getString("uid", ""); |
| | | ShoppingApi.getHomeMsgList(this, uid, mPage + "", new BasicTextHttpResponseHandler() { |
| | | |
| | | ShoppingApi.getHomeMsgList(this, UserUtil.getUid(ShoppingApplication.application), mPage + "", new BasicTextHttpResponseHandler() { |
| | | @Override |
| | | public void onSuccessPerfect(int statusCode, Header[] headers, JSONObject jsonObject) throws Exception { |
| | | homeMsgListListener.onSuccessPerfect(statusCode, headers, jsonObject); |
| | |
| | | |
| | | private static long lastBindHWTime = 0; |
| | | |
| | | @Override |
| | | public void onReceive(Intent intent) { |
| | | Log.e("eee", "onReceive: "); |
| | | if (intent != null) { |
| | | String token = ""; |
| | | 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.e("eee", "onReceive: token" + token); |
| | | SharedPreferences sp = getSharedPreferences("user", MODE_PRIVATE); |
| | | if (MobileUtil.getDeviceBrand().equalsIgnoreCase("HUAWEI") |
| | | || MobileUtil.getDeviceBrand().equalsIgnoreCase("HONOR")) { |
| | | String uid = sp.getString("uid", "0"); |
| | | Log.e("eee", "HONOR: "); |
| | | //防止多次请求 |
| | | if (System.currentTimeMillis() - lastBindHWTime > 1000 * 5) {//5s后再请求 |
| | | lastBindHWTime = System.currentTimeMillis(); |
| | | Log.e("eee", "上传token"); |
| | | ShoppingApi.bindHMPush(MainActivity.this, token, uid, null); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 开启或关闭推送 |
| | | */ |
| | |
| | | } |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | protected void onNewIntent(Intent intent) { |
| | | super.onNewIntent(intent); |
| | | int p = intent.getIntExtra("p", 0); |
| | | switch (p) { |
| | | case 0: |
| | | rg_nav.check(R.id.rb_nav_recommend); |
| | | |
| | | break; |
| | | case 1: |
| | | rg_nav.check(R.id.rb_nav_hot_sale); |
| | | break; |
| | | case 2: |
| | | rg_nav.check(R.id.rb_nav_better_goods); |
| | | break; |
| | | case 3: |
| | | rg_nav.check(R.id.rb_nav_mine); |
| | | break; |
| | | } |
| | | |
| | | } |
| | | } |