| | |
| | | import androidx.fragment.app.Fragment; |
| | | import androidx.fragment.app.FragmentManager; |
| | | import androidx.fragment.app.FragmentTransaction; |
| | | import androidx.lifecycle.Lifecycle; |
| | | |
| | | import android.Manifest; |
| | | import android.content.Context; |
| | |
| | | import com.hdl.photovoltaic.ui.powerstation.HouseAndDeviceFragment; |
| | | import com.hdl.photovoltaic.uni.HDLUniMP; |
| | | import com.hdl.photovoltaic.utils.AppManagerUtils; |
| | | import com.hdl.photovoltaic.utils.FragmentUtils; |
| | | import com.hdl.photovoltaic.utils.GPSManagerUtils; |
| | | import com.hdl.photovoltaic.utils.PermissionUtils; |
| | | import com.hdl.photovoltaic.utils.SharedPreUtils; |
| | |
| | | import com.hdl.sdk.link.core.config.HDLLinkConfig; |
| | | import com.hdl.sdk.link.core.connect.HDLUdpConnect; |
| | | import com.hdl.sdk.link.core.utils.mqtt.MqttRecvClient; |
| | | import com.umeng.analytics.MobclickAgent; |
| | | |
| | | import org.greenrobot.eventbus.Subscribe; |
| | | import org.greenrobot.eventbus.ThreadMode; |
| | |
| | | setStatusBarTranslucent(); |
| | | getWindow().setNavigationBarColor(getColor(R.color.text_FF1C1C1E)); |
| | | //初始化碎片 |
| | | initFragment(savedInstanceState); |
| | | initFragment(null); |
| | | //初始化 |
| | | this.initView(); |
| | | //初始化界面监听器 |
| | |
| | | fragmentList.add(mFragmentManager.findFragmentByTag(1 + "")); |
| | | fragmentList.add(mFragmentManager.findFragmentByTag(2 + "")); |
| | | fragmentList.add(mFragmentManager.findFragmentByTag(3 + "")); |
| | | restoreFragment();//恢复fragment页面 |
| | | this.restoreFragment();//恢复fragment页面 |
| | | } else { |
| | | // |
| | | this.removeAllFragments(mFragmentManager); |
| | | //正常启动时调用 |
| | | if (!fragmentList.isEmpty()) { |
| | | fragmentList.clear(); |
| | | } |
| | | fragmentList.add(mHomePageFragment); |
| | | fragmentList.add(mHouseAndDeviceFragment); |
| | | fragmentList.add(mMessageFragment); |
| | | fragmentList.add(mMeFragment); |
| | | showFragment(); |
| | | this.showFragment(); |
| | | } |
| | | |
| | | |
| | | // if (!fragmentList.isEmpty()) { |
| | | // fragmentList.clear(); |
| | | // } |
| | | // // 正常启动时调用 |
| | | // fragmentList.add(mHomePageFragment); |
| | | // fragmentList.add(mHouseAndDeviceFragment); |
| | | // fragmentList.add(mMessageFragment); |
| | | // fragmentList.add(mMeFragment); |
| | | // FragmentUtils.loadMultipleFragment(R.id.module_fcv, mFragmentManager, fragmentList.toArray(new Fragment[0])); |
| | | } |
| | | |
| | | |
| | |
| | | * 显示fragment |
| | | */ |
| | | private void showFragment() { |
| | | // FragmentUtils.showHideFragment(mFragmentManager, fragmentList.toArray(new Fragment[0])[currentFragmentIndex]); |
| | | FragmentTransaction ft = mFragmentManager.beginTransaction(); |
| | | //如果之前没有添加过 |
| | | if (!fragmentList.get(currentFragmentIndex).isAdded()) { |
| | |
| | | } else { |
| | | ft.hide(currentFragment).show(fragmentList.get(currentFragmentIndex)); |
| | | } |
| | | //把当前显示的fragment记录下来 |
| | | currentFragment = fragmentList.get(currentFragmentIndex); |
| | | ft.commit(); |
| | | //把当前显示的fragment记录下来 |
| | | currentFragment = fragmentList.get(currentFragmentIndex); |
| | | |
| | | |
| | | } |
| | | |
| | | /** |
| | |
| | | } |
| | | } |
| | | ft.commit(); |
| | | } |
| | | |
| | | private void removeAllFragments(FragmentManager manager) { |
| | | if (manager == null) return; |
| | | try { |
| | | final List<Fragment> fragments = manager.getFragments(); |
| | | if (fragments.isEmpty()) { |
| | | return; |
| | | } |
| | | FragmentTransaction transaction = manager.beginTransaction(); |
| | | for (int i = 0; i < fragments.size(); i++) { |
| | | Fragment fragment = fragments.get(i); |
| | | if (fragment != null) { |
| | | // FragmentManager childManager = fragment.getChildFragmentManager(); |
| | | // removeAllFragments(childManager); |
| | | transaction.remove(fragment); |
| | | } |
| | | } |
| | | transaction.commit(); |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | } |
| | | |
| | | } |
| | | |
| | |
| | | return; |
| | | } |
| | | int index = -1; |
| | | List<GatewayBean> list = HdlDeviceLogic.getInstance().getCurrentHomeGatewayList(UserConfigManage.getInstance().getHomeId()); |
| | | List<GatewayBean> list = HdlDeviceLogic.getInstance().getCurrentHomeGatewayList(UserConfigManage.getInstance().getHomeId(), null); |
| | | for (int i = 0; i < list.size(); i++) { |
| | | GatewayBean gatewayBean = list.get(i); |
| | | if (gatewayBean.getGatewayId().equals(topics[2])) { |
| | |
| | | return; |
| | | } else { |
| | | AppManagerUtils.getAppManager().finishAllActivity(); |
| | | //如果开发者调用kill或者exit之类的方法杀死进程,或者双击back键会杀死进程,请务必在此之前调用MobclickAgent.onKillProcess方法,用来保存统计数据。 |
| | | MobclickAgent.onKillProcess(_mActivity); |
| | | Process.killProcess(Process.myPid()); |
| | | |
| | | } |
| | | } |
| | | super.onBackPressed(); |