package com.hdl.photovoltaic.ui.powerstation; import android.Manifest; import android.content.Context; import android.content.pm.PackageManager; import android.hardware.camera2.CameraManager; import android.os.Bundle; import android.os.SystemClock; import android.util.Log; import android.view.View; import androidx.annotation.NonNull; import androidx.recyclerview.widget.LinearLayoutManager; import androidx.swiperefreshlayout.widget.SwipeRefreshLayout; import com.google.gson.Gson; import com.google.gson.JsonObject; import com.hdl.photovoltaic.R; import com.hdl.photovoltaic.config.UserConfigManage; import com.hdl.photovoltaic.databinding.FragmentHouseListBinding; import com.hdl.photovoltaic.base.CustomBaseFragment; import com.hdl.photovoltaic.databinding.LoadingConfirmInputBinding; import com.hdl.photovoltaic.other.HdlLogLogic; import com.hdl.photovoltaic.other.HdlResidenceLogic; import com.hdl.photovoltaic.other.HdlThreadLogic; import com.hdl.photovoltaic.other.HdlUniLogic; import com.hdl.photovoltaic.ui.adapter.HouseInfoAdapter; import com.hdl.photovoltaic.ui.bean.HouseListBean; import com.hdl.photovoltaic.ui.device.FastScanActivity; import com.hdl.photovoltaic.uni.HDLUniMP; import com.hdl.photovoltaic.uni.HDLUniMPSDKManager; import com.hdl.photovoltaic.utils.PermissionUtils; import com.hdl.photovoltaic.widget.ConfirmationInputDialog; import org.json.JSONException; import org.json.JSONObject; import java.util.ArrayList; import java.util.List; import io.dcloud.feature.unimp.DCUniMPJSCallback; public class HouseListFragment extends CustomBaseFragment { private FragmentHouseListBinding viewBinding; private HouseInfoAdapter houseInfoAdapter; private CameraManager manager; private List houseListBeanList = null; @Override public Object getContentView() { viewBinding = FragmentHouseListBinding.inflate(getLayoutInflater()); return viewBinding.getRoot(); } @Override public void onBindView(Bundle savedInstanceState) { manager = (CameraManager) _mActivity.getSystemService(Context.CAMERA_SERVICE); initData(); //初始化 initView(); //初始化界面监听器 initEvent(); } private void initEvent() { viewBinding.toolbarTopFragmentHouseListRl.topMoreIv.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // 打开小程序页面 HdlUniLogic.getInstance().openUniMP(HDLUniMP.UNI_EVENT_OPEN_HOME_CREATION, null); } }); //设置下拉箭头颜色 viewBinding.fragmentHouseSrl.setColorSchemeResources(R.color.text_FF245EC3); viewBinding.fragmentHouseSrl.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() { @Override public void onRefresh() { viewBinding.fragmentHouseSrl.setRefreshing(false); Log.d("HouseListFragment", "下拉刷新"); } }); houseInfoAdapter.setNoOnclickListener(new HouseInfoAdapter.OnclickListener() { @Override public void onClick(int position) { //点击住宅详情 HdlLogLogic.print("====点击住宅详情" + position); if (houseListBeanList == null || houseListBeanList.size() <= 0) { return; } HouseListBean houseListBean = houseListBeanList.get(position); String path = HDLUniMP.UNI_EVENT_OPEN_HOME_DETAILS + "?homeId=" + houseListBean.getHomeId(); HdlUniLogic.getInstance().openUniMP(path, null); } }); } private void initView() { viewBinding.toolbarTopFragmentHouseListRl.topTitleTv.setText(R.string.my_power_station_我的电站); viewBinding.toolbarTopFragmentHouseListRl.topMoreIv.setVisibility(View.VISIBLE); viewBinding.toolbarTopFragmentHouseListRl.topMoreIv.setImageResource(R.drawable.add); LinearLayoutManager linearLayout = new LinearLayoutManager(_mActivity); houseInfoAdapter = new HouseInfoAdapter(this.houseListBeanList); viewBinding.fragmentHouseSrlListRc.setLayoutManager(linearLayout); viewBinding.fragmentHouseSrlListRc.setAdapter(houseInfoAdapter); } private void initData() { this.houseListBeanList = new ArrayList<>(); // for (int i = 0; i < 11; i++) { // HouseListBean houseListBean = new HouseListBean(); // houseListBean.setHomeName("电站" + i); // this.houseListBeanList.add(houseListBean); // } this.houseListBeanList.addAll(HdlResidenceLogic.getInstance().getHouseInfoBeanList()); } /** * 申请权限 */ private void requestPermissions() { String[] ary = PermissionUtils.checkPermission(_mActivity, new String[]{Manifest.permission.CAMERA}); if (ary.length > 0) { requestPermissions(ary, PermissionUtils.STATUS_SUCCESS); } else { startActivity(FastScanActivity.class); } } @Override public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { super.onRequestPermissionsResult(requestCode, permissions, grantResults); if (requestCode == PermissionUtils.STATUS_SUCCESS) { for (int i = 0; i < permissions.length; i++) { if (grantResults[i] == PackageManager.PERMISSION_GRANTED) { startActivity(FastScanActivity.class); } } } } }