| | |
| | | import android.os.Bundle; |
| | | import android.view.KeyEvent; |
| | | import android.view.LayoutInflater; |
| | | import android.view.View; |
| | | import android.widget.Toast; |
| | | |
| | | import androidx.appcompat.app.AppCompatActivity; |
| | | import androidx.core.content.ContextCompat; |
| | | import androidx.fragment.app.Fragment; |
| | | import androidx.lifecycle.Observer; |
| | | |
| | | import com.dayu.pipirrapp.MyApplication; |
| | | import com.dayu.pipirrapp.R; |
| | |
| | | import com.dayu.pipirrapp.bean.db.TagBean; |
| | | import com.dayu.pipirrapp.dao.DaoSingleton; |
| | | import com.dayu.pipirrapp.databinding.ActivityMainBinding; |
| | | import com.dayu.pipirrapp.fragment.OrderFragment; |
| | | import com.dayu.pipirrapp.fragment.MapFragment; |
| | | import com.dayu.pipirrapp.fragment.MyFragment; |
| | | import com.dayu.pipirrapp.fragment.OrderFragment; |
| | | import com.dayu.pipirrapp.net.MqttManager; |
| | | import com.dayu.pipirrapp.tool.InspectionUtils; |
| | | import com.dayu.pipirrapp.utils.CommonKeyName; |
| | | import com.dayu.pipirrapp.utils.MyLog; |
| | | import com.dayu.pipirrapp.utils.NetUtils; |
| | | import com.jeremyliao.liveeventbus.LiveEventBus; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * 首页 |
| | |
| | | private List<Fragment> fragments = new ArrayList<>(); |
| | | private long mExitTime; |
| | | MqttManager mqttManager; |
| | | private Map<String, String> workerIddata = new HashMap<>(); |
| | | |
| | | |
| | | private enum Tab { |
| | | ORDER, MAP, MY |
| | |
| | | super.onCreate(savedInstanceState); |
| | | binding = ActivityMainBinding.inflate(LayoutInflater.from(this)); |
| | | setContentView(binding.getRoot()); |
| | | |
| | | setupFragments(); |
| | | initView(); |
| | | initTab(); |
| | | |
| | | TagBean tagBean = DaoSingleton.getInstance(this).tagDao().findFirst(); |
| | | MyApplication.myApplication.myTag = tagBean.getTag(); |
| | | mqttManager = new MqttManager(this); |
| | | mqttManager.connect(); |
| | | try { |
| | | TagBean tagBean = DaoSingleton.getInstance(this).tagDao().findFirst(); |
| | | MyApplication.myApplication.myTag = tagBean.getTag(); |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | } |
| | | mqttManager = new MqttManager(this, this); |
| | | LiveEventBus.get(CommonKeyName.NetworkCallback).observeForever(new Observer<Object>() { |
| | | @Override |
| | | public void onChanged(Object o) { |
| | | switch ((int) o) { |
| | | case NetUtils.Available: |
| | | MyLog.i("MqttManager>>>Lost"); |
| | | InspectionUtils.aginPutInspectionData(MainActivity.this); |
| | | break; |
| | | case NetUtils.Lost: |
| | | |
| | | break; |
| | | } |
| | | } |
| | | }); |
| | | //mq传来的消息 |
| | | LiveEventBus.get(CommonKeyName.MQTTData).observeForever(new Observer<Object>() { |
| | | @Override |
| | | public void onChanged(Object o) { |
| | | workerIddata.put((String) o, (String) o); |
| | | |
| | | binding.redDotImg.setVisibility(View.VISIBLE); |
| | | |
| | | } |
| | | }); |
| | | LiveEventBus.get(CommonKeyName.RedLotRefresh).observeForever(new Observer<Object>() { |
| | | @Override |
| | | public void onChanged(Object o) { |
| | | if (o instanceof Boolean) { |
| | | if ((boolean) o) { |
| | | binding.redDotImg.setVisibility(View.GONE); |
| | | workerIddata.clear(); |
| | | } |
| | | } else if (o instanceof String) { |
| | | workerIddata.remove(o); |
| | | if (workerIddata.size() == 0) { |
| | | binding.redDotImg.setVisibility(View.GONE); |
| | | } |
| | | } |
| | | |
| | | } |
| | | }); |
| | | registNetCallBack(); |
| | | } |
| | | |
| | | @Override |
| | | protected void onStart() { |
| | | super.onStart(); |
| | | |
| | | } |
| | | |
| | | private void setupFragments() { |
| | |
| | | } |
| | | |
| | | private void initTab() { |
| | | TabAdapter adapter = new TabAdapter(getSupportFragmentManager(), fragments); |
| | | TabAdapter adapter = new TabAdapter(this, fragments); |
| | | binding.viewPager.setAdapter(adapter); |
| | | binding.viewPager.setPagingEnabled(false); |
| | | binding.viewPager.setCurrentItem(1, false); // 默认显示地图页 |
| | | binding.viewPager.setOffscreenPageLimit(fragments.size()); |
| | | binding.viewPager.setCurrentItem(1); // 默认显示地图页 |
| | | |
| | | } |
| | | |
| | | @Override |
| | |
| | | @Override |
| | | protected void onDestroy() { |
| | | super.onDestroy(); |
| | | //关闭MQ |
| | | mqttManager.disconnect(); |
| | | |
| | | try { |
| | | //关闭MQ |
| | | mqttManager.disconnect(); |
| | | unregisterNetworkCallback(); |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | } |
| | | } |
| | | |
| | | /** |
| | |
| | | binding.myImg.setImageDrawable(ContextCompat.getDrawable(this, R.drawable.bottom_my_black)); |
| | | binding.myText.setTextColor(ContextCompat.getColor(this, R.color.black)); |
| | | } |
| | | |
| | | // 注册网络监控 |
| | | private void registNetCallBack() { |
| | | NetUtils.registerNetCallBack(this); |
| | | } |
| | | |
| | | private void unregisterNetworkCallback() { |
| | | NetUtils.unregisterReceiver(this); |
| | | } |
| | | |
| | | |
| | | } |