From 17692267eea4adb77e93363ac27f1caff5f006ae Mon Sep 17 00:00:00 2001
From: wjc <1243177876@qq.com>
Date: 星期一, 05 六月 2023 09:11:43 +0800
Subject: [PATCH] 2023年06月05日09:11:31
---
app/src/main/java/com/hdl/photovoltaic/ui/home/me/MeFragment.java | 2
app/src/main/java/com/hdl/photovoltaic/other/HdlThreadLogic.java | 75 ++++++++----------------
app/src/main/java/com/hdl/photovoltaic/ui/home/powerstation/HouseListFragment.java | 16 +----
app/src/main/java/com/hdl/photovoltaic/base/BaseActivity.java | 4
app/src/main/res/layout/activity_my_power_station.xml | 4
app/src/main/java/com/hdl/photovoltaic/utils/FlashLightUtils.java | 41 +++++++++++++
app/src/main/java/com/hdl/photovoltaic/base/BaseFragment.java | 2
7 files changed, 75 insertions(+), 69 deletions(-)
diff --git a/app/src/main/java/com/hdl/photovoltaic/base/BaseActivity.java b/app/src/main/java/com/hdl/photovoltaic/base/BaseActivity.java
index e49c4ff..04b2ce1 100644
--- a/app/src/main/java/com/hdl/photovoltaic/base/BaseActivity.java
+++ b/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);
diff --git a/app/src/main/java/com/hdl/photovoltaic/base/BaseFragment.java b/app/src/main/java/com/hdl/photovoltaic/base/BaseFragment.java
index 8854588..4a88c53 100644
--- a/app/src/main/java/com/hdl/photovoltaic/base/BaseFragment.java
+++ b/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) {
diff --git a/app/src/main/java/com/hdl/photovoltaic/other/HdlThreadLogic.java b/app/src/main/java/com/hdl/photovoltaic/other/HdlThreadLogic.java
index 40bb756..73fe38b 100644
--- a/app/src/main/java/com/hdl/photovoltaic/other/HdlThreadLogic.java
+++ b/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();
}
});
diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/home/MeFragment.java b/app/src/main/java/com/hdl/photovoltaic/ui/home/me/MeFragment.java
similarity index 96%
rename from app/src/main/java/com/hdl/photovoltaic/ui/home/MeFragment.java
rename to app/src/main/java/com/hdl/photovoltaic/ui/home/me/MeFragment.java
index 1ad47a2..665eea6 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/home/MeFragment.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/home/me/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;
diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/home/HouseListFragment.java b/app/src/main/java/com/hdl/photovoltaic/ui/home/powerstation/HouseListFragment.java
similarity index 85%
rename from app/src/main/java/com/hdl/photovoltaic/ui/home/HouseListFragment.java
rename to app/src/main/java/com/hdl/photovoltaic/ui/home/powerstation/HouseListFragment.java
index 46139f7..dd7d69f 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/home/HouseListFragment.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/home/powerstation/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", "涓嬫媺鍒锋柊");
}
diff --git a/app/src/main/java/com/hdl/photovoltaic/utils/FlashLightUtils.java b/app/src/main/java/com/hdl/photovoltaic/utils/FlashLightUtils.java
index 3ff26b5..eb8b8e0 100644
--- a/app/src/main/java/com/hdl/photovoltaic/utils/FlashLightUtils.java
+++ b/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();
+ }
+ }
+
+
}
diff --git a/app/src/main/res/layout/activity_my_power_station.xml b/app/src/main/res/layout/activity_my_power_station.xml
index d69baa7..5410ff4 100644
--- a/app/src/main/res/layout/activity_my_power_station.xml
+++ b/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"
--
Gitblit v1.8.0