wjc
2023-06-05 17692267eea4adb77e93363ac27f1caff5f006ae
2023年06月05日09:11:31

备份代码
5个文件已修改
2 文件已重命名
146 ■■■■ 已修改文件
app/src/main/java/com/hdl/photovoltaic/base/BaseActivity.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/base/BaseFragment.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/other/HdlThreadLogic.java 77 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/ui/home/me/MeFragment.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/ui/home/powerstation/HouseListFragment.java 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/utils/FlashLightUtils.java 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/layout/activity_my_power_station.xml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/base/BaseActivity.java
@@ -3,6 +3,7 @@
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import androidx.annotation.Nullable;
@@ -19,7 +20,6 @@
    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        _mActivity = this;
        Object content = getContentView();
        //添加Activity到堆栈
@@ -67,7 +67,7 @@
    /**
     * 简单的跳转Activity
     *
     * @param clazz
     * @param clazz _
     */
    protected void startActivity(Class<?> clazz) {
        Intent intent = new Intent(this, clazz);
app/src/main/java/com/hdl/photovoltaic/base/BaseFragment.java
@@ -3,6 +3,7 @@
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
@@ -36,6 +37,7 @@
        _mActivity = getActivity();
    }
    @Nullable
    @Override
    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
app/src/main/java/com/hdl/photovoltaic/other/HdlThreadLogic.java
@@ -1,8 +1,12 @@
package com.hdl.photovoltaic.other;
import android.app.Dialog;
import android.content.Context;
import android.os.Handler;
import android.os.Looper;
import android.widget.Toast;
import androidx.appcompat.app.AlertDialog;
import com.hdl.photovoltaic.enums.ShowErrorMode;
@@ -12,29 +16,13 @@
public class HdlThreadLogic {
    private static final Handler handler = new Handler(Looper.getMainLooper());
    /**
     * 切换回主线程
     *
     * @param run 回调
     */
    public static void runMainThread(Runnable run) {
        try {
            if (Looper.myLooper() == Looper.getMainLooper()) {
                run.run();
            } else {
                handler.post(run);
            }
        } catch (Exception e) {
            exception(e, ShowErrorMode.YES);
        }
    }
    /**
     * 切换回主线程
     *
     * @param run           回调
     * @param context       上下文
     * @param showErrorMode 是否显示错误
     * @param context       上下文(不需要弹框填null)
     * @param showErrorMode 是否显示错误(不需要显示错误填null)
     */
    public static void runMainThread(Runnable run, Context context, ShowErrorMode showErrorMode) {
        try {
@@ -44,36 +32,17 @@
                handler.post(run);
            }
        } catch (Exception e) {
            exception(e, showErrorMode);
            exception(e, showErrorMode, context);
        }
    }
    /**
     * 子线程
     *
     * @param run 回调
     */
    public static void runThread(Runnable run) {
        new Thread(new Runnable() {
            @Override
            public void run() {
                try {
                    run.run();
                } catch (Exception e) {
                    exception(e, ShowErrorMode.NO);
                }
            }
        }).start();
    }
    /**
     * 子线程
     *
     * @param run           回调
     * @param context       上下文
     * @param showErrorMode 是否显示错误
     * @param context       上下文(不需要弹框填null)
     * @param showErrorMode 是否显示错误(不需要填null)
     */
    public static void runThread(Runnable run, Context context, ShowErrorMode showErrorMode) {
@@ -83,7 +52,7 @@
                try {
                    run.run();
                } catch (Exception e) {
                    exception(e, showErrorMode);
                    exception(e, showErrorMode, context);
                }
            }
        }).start();
@@ -91,7 +60,15 @@
    }
    private static void exception(Exception e, ShowErrorMode showErrorMode) {
    /**
     * @param e             异常信息类
     * @param context       上下文(不需要弹框填null)
     * @param showErrorMode 是否显示错误(不需要填null)
     */
    private static void exception(Exception e, ShowErrorMode showErrorMode, Context context) {
        if (showErrorMode == null || context == null || e == null) {
            return;
        }
        if (showErrorMode == ShowErrorMode.NO) {
            return;
        }
@@ -99,16 +76,16 @@
        handler.post(new Runnable() {
            @Override
            public void run() {
//                Dialog alertDialog = new AlertDialog.Builder(HDLApp.getInstance().getApplicationContext()).
//                        setTitle("抱歉程序出现错误了,点击\"确认\"获取更多详细信息.").
//                        setMessage(e.getMessage()).
//                        create();
//                alertDialog.show();
                Dialog alertDialog = new AlertDialog.Builder(context).
                        setTitle("抱歉程序出现错误了,点击\"确认\"获取更多详细信息.").
                        setMessage(e.getMessage()).
                        create();
                alertDialog.show();
                //提示
//                AlertDialog alertDialog=new AlertDialog(HDLApp.getInstance().getApplicationContext(), androidx.fragment.R.style.TextAppearance_Compat_Notification);
//                AlertDialog alertDialog = new AlertDialog(context, androidx.fragment.R.style.TextAppearance_Compat_Notification);
//                alertDialog.setTitle("抱歉程序出现错误了");
//                alertDialog.show();
                //Toast.makeText(HDLApp.getInstance().getApplicationContext(), "抱歉程序出现错误了", Toast.LENGTH_SHORT).show();
//                Toast.makeText(context, "抱歉程序出现错误了", Toast.LENGTH_SHORT).show();
            }
        });
app/src/main/java/com/hdl/photovoltaic/ui/home/me/MeFragment.java
File was renamed from app/src/main/java/com/hdl/photovoltaic/ui/home/MeFragment.java
@@ -1,4 +1,4 @@
package com.hdl.photovoltaic.ui.home;
package com.hdl.photovoltaic.ui.home.me;
import android.os.Bundle;
import android.view.View;
app/src/main/java/com/hdl/photovoltaic/ui/home/powerstation/HouseListFragment.java
File was renamed from app/src/main/java/com/hdl/photovoltaic/ui/home/HouseListFragment.java
@@ -1,4 +1,4 @@
package com.hdl.photovoltaic.ui.home;
package com.hdl.photovoltaic.ui.home.powerstation;
import android.content.Context;
import android.hardware.camera2.CameraManager;
@@ -54,12 +54,7 @@
        viewBinding.toolbarTopFragmentHouseListRl.topMoreIv.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
//                try {
//                    manager.setTorchMode("0",true);
//                } catch (CameraAccessException e) {
//                    e.printStackTrace();
//                }
//                flashLightUtils.open();
            }
        });
        //设置下拉箭头颜色
@@ -67,12 +62,7 @@
        viewBinding.fragmentHouseSrl.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
            @Override
            public void onRefresh() {
//                flashLightUtils.cloes();
//                try {
//                    manager.setTorchMode("0",false);
//                } catch (CameraAccessException e) {
//                    e.printStackTrace();
//                }
                viewBinding.fragmentHouseSrl.setRefreshing(false);
                Log.d("HouseListFragment", "下拉刷新");
            }
app/src/main/java/com/hdl/photovoltaic/utils/FlashLightUtils.java
@@ -5,6 +5,7 @@
import android.content.pm.FeatureInfo;
import android.content.pm.PackageManager;
import android.hardware.camera2.CameraAccessException;
import android.hardware.camera2.CameraCharacteristics;
import android.hardware.camera2.CameraManager;
import android.os.Build;
import android.hardware.Camera;
@@ -42,7 +43,7 @@
            FeatureInfo[] features = packageManager.getSystemAvailableFeatures();
            for (FeatureInfo featureInfo : features) {
                // 判断设备是否支持闪光灯
                if (packageManager.FEATURE_CAMERA_FLASH.equals(featureInfo.name)) {
                if (PackageManager.FEATURE_CAMERA_FLASH.equals(featureInfo.name)) {
                    if (null == mCamera) {
                        mCamera = Camera.open();
                    }
@@ -58,7 +59,7 @@
    }
    // 关闭手电筒
    public void cloes() {
    public void close() {
        if (!status)    // 如果是已经关闭的状态 不需要打开
        {
            return;
@@ -79,5 +80,41 @@
        }
        status = false; // 记录手电筒为关闭
    }
    /**
     * 手电筒打开或者关闭
     *
     * @param isOpen 打开(true)或者关闭(false)
     */
    public void setOpenOrClose(boolean isOpen) {
        try {
            //获取当前手机所有摄像头设备ID
            String[] ids = manager.getCameraIdList();
            for (String id : ids) {
                CameraCharacteristics c = manager.getCameraCharacteristics(id);
                //查询该摄像头组件是否包含闪光灯
                Boolean flashAvailable = c.get(CameraCharacteristics.FLASH_INFO_AVAILABLE);
                /*
                 * 获取相机面对的方向
                 * CameraCharacteristics.LENS_FACING_FRONT 前置摄像头
                 * CameraCharacteristics.LENS_FACING_BACK 后只摄像头
                 * CameraCharacteristics.LENS_FACING_EXTERNAL 外部的摄像头
                 */
                Integer lensFacing = c.get(CameraCharacteristics.LENS_FACING);
                if (flashAvailable != null && flashAvailable
                        && lensFacing != null && lensFacing == CameraCharacteristics.LENS_FACING_BACK) {
                    //打开或关闭手电筒
                    manager.setTorchMode(id, isOpen);
                    break;
                }
            }
        } catch (CameraAccessException e) {
            e.printStackTrace();
        }
    }
}
app/src/main/res/layout/activity_my_power_station.xml
@@ -11,7 +11,7 @@
    <androidx.fragment.app.FragmentContainerView
        android:id="@+id/my_power_station_fcv1"
        android:name="com.hdl.photovoltaic.ui.home.HouseListFragment"
        android:name="com.hdl.photovoltaic.ui.home.powerstation.HouseListFragment"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:visibility="gone"
@@ -22,7 +22,7 @@
    <!--我的-Fragment-->
    <androidx.fragment.app.FragmentContainerView
        android:id="@+id/my_power_station_fcv2"
        android:name="com.hdl.photovoltaic.ui.home.MeFragment"
        android:name="com.hdl.photovoltaic.ui.home.me.MeFragment"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:visibility="gone"