wjc
2023-06-27 da8bb15e0d0293d373071b44b89f2b953ecc0830
app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseListFragment.java
@@ -1,9 +1,11 @@
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;
@@ -11,15 +13,28 @@
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.MyPowerStationActivity;
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;
@@ -32,6 +47,7 @@
    private CameraManager manager;
    private List<HouseListBean> houseListBeanList = null;
    @Override
    public Object getContentView() {
@@ -52,28 +68,25 @@
    }
    private void initEvent() {
        viewBinding.toolbarTopFragmentHouseListRl.topMoreIv.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String path = "pages/powerStation/PowerStationCreate";
//                HDLUniMP.UNI_PATH_MILLIMETER;//原生通知小程序地址
                HDLUniMPSDKManager.getInstance().openUniMP(HDLUniMP.UNI_APP_ID, path, new HDLUniMPSDKManager.IOnOtherUniMPEventCallBack() {
                // 打开小程序页面
//                HdlUniLogic.getInstance().openUniMP(HDLUniMP.UNI_EVENT_OPEN_HOME_CREATION, null);
                requestPermissions(new PermissionsResultCallback() {
                    @Override
                    public void onOtherUniMPEventReceive(String appid, String event, Object data, DCUniMPJSCallback callback) {
                    public void succeed() {
                        // 打开小程序页面
                        HdlUniLogic.getInstance().openUniMP(HDLUniMP.UNI_EVENT_OPEN_HOME_CREATION, null);
                    }
                    @Override
                    public void failing() {
                    }
                });
//                String[] ary = PermissionUtils.checkPermission(_mActivity, new String[]{Manifest.permission.CAMERA});
//                if (ary.length > 0) {
//                    requestPermissions(ary, PermissionUtils.STATUS_SUCCESS);
//                } else {
//                    startActivity(FastScanActivity.class);
//                }
            }
        });
@@ -85,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);
            }
        });
    }
@@ -103,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
@@ -118,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();
    }
}