wjc
2023-06-27 da8bb15e0d0293d373071b44b89f2b953ecc0830
app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseListFragment.java
@@ -1,5 +1,6 @@
package com.hdl.photovoltaic.ui.powerstation;
import android.Manifest;
import android.content.Context;
import android.content.pm.PackageManager;
import android.hardware.camera2.CameraManager;
@@ -15,10 +16,15 @@
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.MyPowerStationActivity;
import com.hdl.photovoltaic.ui.adapter.HouseInfoAdapter;
import com.hdl.photovoltaic.ui.bean.HouseListBean;
import com.hdl.photovoltaic.ui.device.FastScanActivity;
@@ -27,6 +33,7 @@
import com.hdl.photovoltaic.utils.PermissionUtils;
import com.hdl.photovoltaic.widget.ConfirmationInputDialog;
import org.json.JSONException;
import org.json.JSONObject;
import java.util.ArrayList;
@@ -40,6 +47,7 @@
    private CameraManager manager;
    private List<HouseListBean> houseListBeanList = null;
    @Override
    public Object getContentView() {
@@ -60,50 +68,25 @@
    }
    private void initEvent() {
        viewBinding.toolbarTopFragmentHouseListRl.topMoreIv.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String path = "pages/powerStationDetail/index";
//                HDLUniMP.UNI_PATH_MILLIMETER;//原生通知小程序地址
                HDLUniMP.UniCallBackBaseBean uniCallBackBaseBean = new HDLUniMP.UniCallBackBaseBean();
                uniCallBackBaseBean.setType(HDLUniMP.UNI_EVENT_HOME_DETAILS);
                JSONObject json = uniCallBackBaseBean.getJSONObject(uniCallBackBaseBean);
//                HDLUniMPSDKManager.getInstance().openUniMP(HDLUniMP.UNI_APP_ID, path, json, new HDLUniMPSDKManager.IOnOtherUniMPEventCallBack() {
//                    @Override
//                    public void onOtherUniMPEventReceive(String appid, String event, Object data, DCUniMPJSCallback callback) {
//
//                    }
//                });
//
//                HdlThreadLogic.runThread(new Runnable() {
//                    @Override
//                    public void run() {
//                        SystemClock.sleep(3000);
//                        HDLUniMPSDKManager.getInstance().sendUniMPEvent(HDLUniMP.UNI_APP_ID, "2342", "764574574");
//
//                    }
//                }, null, null);
                // 打开小程序页面
//                HdlUniLogic.getInstance().openUniMP(HDLUniMP.UNI_EVENT_OPEN_HOME_CREATION, null);
                requestPermissions(new PermissionsResultCallback() {
                    @Override
                    public void succeed() {
                        // 打开小程序页面
                        HdlUniLogic.getInstance().openUniMP(HDLUniMP.UNI_EVENT_OPEN_HOME_CREATION, null);
                    }
//                String[] ary = PermissionUtils.checkPermission(_mActivity, new String[]{Manifest.permission.CAMERA});
//                if (ary.length > 0) {
//                    requestPermissions(ary, PermissionUtils.STATUS_SUCCESS);
//                } else {
//                    startActivity(FastScanActivity.class);
//                }
//                ConfirmationInputDialog confirmationInputDialog =new ConfirmationInputDialog(_mActivity);
//                confirmationInputDialog.show();
//                confirmationInputDialog.setNoOnclickListener(new ConfirmationInputDialog.onNoOnclickListener() {
//                    @Override
//                    public void Cancel() {
//                        confirmationInputDialog.dismiss();
//                    }
//                });
                    @Override
                    public void failing() {
                    }
                });
            }
        });
@@ -115,6 +98,19 @@
                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);
            }
        });
    }
@@ -133,13 +129,33 @@
    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);
//        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(PermissionsResultCallback permissionsResultCallback) {
        mPermissionsResultCallback = permissionsResultCallback;
        //Manifest.permission.CAMERA,
        String[] s = new String[]{
                Manifest.permission.ACCESS_FINE_LOCATION
        };
        String[] ary = PermissionUtils.checkPermission(_mActivity, s);
        if (ary.length > 0) {
            requestPermissions(ary, PermissionUtils.STATUS_SUCCESS);
        } else {
            if (mPermissionsResultCallback != null) {
                mPermissionsResultCallback.succeed();
            }
        }
    }
    @Override
@@ -148,11 +164,24 @@
        if (requestCode == PermissionUtils.STATUS_SUCCESS) {
            for (int i = 0; i < permissions.length; i++) {
                if (grantResults[i] == PackageManager.PERMISSION_GRANTED) {
                    startActivity(FastScanActivity.class);
                    if (mPermissionsResultCallback != null) {
                        mPermissionsResultCallback.succeed();
                    }
                }
            }
        }
    }
    private PermissionsResultCallback mPermissionsResultCallback;
    public interface PermissionsResultCallback {
        void succeed();
        void failing();
    }
}