.idea/misc.xml
New file @@ -0,0 +1,12 @@ <?xml version="1.0" encoding="UTF-8"?> <project version="4"> <component name="DesignSurface"> <option name="filePathToZoomLevelMap"> <map> <entry key="app/src/main/res/layout/activity_my_power_station.xml" value="0.20625" /> </map> </option> </component> <component name="ExternalStorageConfigurationManager" enabled="true" /> <component name="ProjectRootManager" version="2" languageLevel="JDK_11" default="true" project-jdk-name="11" project-jdk-type="JavaSDK" /> </project> app/build.gradle
@@ -6,7 +6,7 @@ compileSdk 32 defaultConfig { applicationId "com.example.photovoltaic" applicationId "com.hdl.photovoltaic" minSdk 23 targetSdk 32 versionCode 1 app/src/androidTest/java/com/hdl/photovoltaic/ExampleInstrumentedTest.java
File was renamed from app/src/androidTest/java/com/example/photovoltaic/ExampleInstrumentedTest.java @@ -1,4 +1,4 @@ package com.example.photovoltaic; package com.hdl.photovoltaic; import android.content.Context; app/src/main/AndroidManifest.xml
@@ -1,6 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.photovoltaic" > package="com.hdl.photovoltaic"> <application android:name=".HDLApp" @@ -9,16 +9,19 @@ android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/Theme.PhotovoltaicDebug" > android:theme="@style/Theme.PhotovoltaicDebug"> <activity android:name=".ui.home.MyPowerStationActivity" android:name=".ui.device.FastScanActivity" android:exported="false" /> <activity android:name=".ui.Login.HomeLoginActivity" android:name=".ui.MyPowerStationActivity" android:exported="false" /> <activity android:name=".ui.HomeLoginActivity" android:exported="false" /> <activity android:name=".ui.StartActivity" android:exported="true" > android:exported="true"> <intent-filter> <action android:name="android.intent.action.MAIN" /> app/src/main/java/com/example/photovoltaic/other/HdlThreadLogic.java
File was deleted app/src/main/java/com/hdl/photovoltaic/HDLApp.java
File was renamed from app/src/main/java/com/example/photovoltaic/HDLApp.java @@ -1,4 +1,4 @@ package com.example.photovoltaic; package com.hdl.photovoltaic; import android.app.Application; app/src/main/java/com/hdl/photovoltaic/base/BaseActivity.java
File was renamed from app/src/main/java/com/example/photovoltaic/base/BaseActivity.java @@ -1,19 +1,16 @@ package com.example.photovoltaic.base; package com.hdl.photovoltaic.base; import android.app.Activity; import android.content.Context; import android.content.Intent; import android.os.Bundle; import android.util.Log; import android.view.View; import android.view.WindowManager; import androidx.annotation.Nullable; import androidx.appcompat.app.AppCompatActivity; import com.example.photovoltaic.listener.BaseView; import com.example.photovoltaic.utils.AppManagerUtils; import org.greenrobot.eventbus.EventBus; import com.hdl.photovoltaic.listener.BaseView; import com.hdl.photovoltaic.utils.AppManagerUtils; public abstract class BaseActivity extends AppCompatActivity implements BaseView { @@ -23,7 +20,6 @@ @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); _mActivity = this; Object content = getContentView(); //添加Activity到堆栈 @@ -71,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
File was renamed from app/src/main/java/com/example/photovoltaic/base/BaseFragment.java @@ -1,14 +1,14 @@ package com.example.photovoltaic.base; package com.hdl.photovoltaic.base; 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; import android.view.WindowManager; import android.widget.FrameLayout; import android.widget.LinearLayout; import androidx.annotation.NonNull; import androidx.annotation.Nullable; @@ -16,11 +16,9 @@ import androidx.fragment.app.FragmentActivity; import androidx.lifecycle.Lifecycle; import com.example.photovoltaic.listener.BaseView; import com.hdl.photovoltaic.listener.BaseView; import org.greenrobot.eventbus.EventBus; import org.greenrobot.eventbus.Subscribe; import org.greenrobot.eventbus.ThreadMode; import java.util.Locale; @@ -39,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/base/CustomBaseActivity.java
File was renamed from app/src/main/java/com/example/photovoltaic/base/CustomBaseActivity.java @@ -1,4 +1,4 @@ package com.example.photovoltaic.base; package com.hdl.photovoltaic.base; /** app/src/main/java/com/hdl/photovoltaic/base/CustomBaseFragment.java
File was renamed from app/src/main/java/com/example/photovoltaic/base/CustomBaseFragment.java @@ -1,4 +1,4 @@ package com.example.photovoltaic.base; package com.hdl.photovoltaic.base; /** * 实现个性自定义方法 app/src/main/java/com/hdl/photovoltaic/enums/ShowErrorMode.java
File was renamed from app/src/main/java/com/example/photovoltaic/enums/ShowErrorMode.java @@ -1,4 +1,4 @@ package com.example.photovoltaic.enums; package com.hdl.photovoltaic.enums; /** * 显示错误模式 app/src/main/java/com/hdl/photovoltaic/listener/BaseView.java
File was renamed from app/src/main/java/com/example/photovoltaic/listener/BaseView.java @@ -1,4 +1,4 @@ package com.example.photovoltaic.listener; package com.hdl.photovoltaic.listener; import android.os.Bundle; app/src/main/java/com/hdl/photovoltaic/other/HdlLogLogic.java
File was renamed from app/src/main/java/com/example/photovoltaic/other/HdlLogLogic.java @@ -1,6 +1,5 @@ package com.example.photovoltaic.other; package com.hdl.photovoltaic.other; import android.nfc.Tag; import android.util.Log; /** app/src/main/java/com/hdl/photovoltaic/other/HdlThreadLogic.java
New file @@ -0,0 +1,93 @@ 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; /** * 线程逻辑 */ public class HdlThreadLogic { private static final Handler handler = new Handler(Looper.getMainLooper()); /** * 切换回主线程 * * @param run 回调 * @param context 上下文(不需要弹框填null) * @param showErrorMode 是否显示错误(不需要显示错误填null) */ public static void runMainThread(Runnable run, Context context, ShowErrorMode showErrorMode) { try { if (Looper.myLooper() == Looper.getMainLooper()) { run.run(); } else { handler.post(run); } } catch (Exception e) { exception(e, showErrorMode, context); } } /** * 子线程 * * @param run 回调 * @param context 上下文(不需要弹框填null) * @param showErrorMode 是否显示错误(不需要填null) */ public static void runThread(Runnable run, Context context, ShowErrorMode showErrorMode) { new Thread(new Runnable() { @Override public void run() { try { run.run(); } catch (Exception e) { exception(e, showErrorMode, context); } } }).start(); } /** * @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; } handler.post(new Runnable() { @Override public void run() { Dialog alertDialog = new AlertDialog.Builder(context). setTitle("抱歉程序出现错误了,点击\"确认\"获取更多详细信息."). setMessage(e.getMessage()). create(); alertDialog.show(); //提示 // AlertDialog alertDialog = new AlertDialog(context, androidx.fragment.R.style.TextAppearance_Compat_Notification); // alertDialog.setTitle("抱歉程序出现错误了"); // alertDialog.show(); // Toast.makeText(context, "抱歉程序出现错误了", Toast.LENGTH_SHORT).show(); } }); } } app/src/main/java/com/hdl/photovoltaic/ui/HomeLoginActivity.java
File was renamed from app/src/main/java/com/example/photovoltaic/ui/Login/HomeLoginActivity.java @@ -1,4 +1,4 @@ package com.example.photovoltaic.ui.Login; package com.hdl.photovoltaic.ui; import android.os.Bundle; @@ -17,11 +17,10 @@ import androidx.appcompat.content.res.AppCompatResources; import com.example.photovoltaic.R; import com.example.photovoltaic.base.CustomBaseActivity; import com.example.photovoltaic.databinding.ActivityHomeLoginBinding; import com.example.photovoltaic.other.HdlThreadLogic; import com.example.photovoltaic.ui.home.MyPowerStationActivity; import com.hdl.photovoltaic.R; import com.hdl.photovoltaic.base.CustomBaseActivity; import com.hdl.photovoltaic.databinding.ActivityHomeLoginBinding; import com.hdl.photovoltaic.ui.MyPowerStationActivity; public class HomeLoginActivity extends CustomBaseActivity { app/src/main/java/com/hdl/photovoltaic/ui/MyPowerStationActivity.java
File was renamed from app/src/main/java/com/example/photovoltaic/ui/home/MyPowerStationActivity.java @@ -1,13 +1,13 @@ package com.example.photovoltaic.ui.home; package com.hdl.photovoltaic.ui; import androidx.appcompat.content.res.AppCompatResources; import android.os.Bundle; import android.view.View; import com.example.photovoltaic.R; import com.example.photovoltaic.base.CustomBaseActivity; import com.example.photovoltaic.databinding.ActivityMyPowerStationBinding; import com.hdl.photovoltaic.R; import com.hdl.photovoltaic.base.CustomBaseActivity; import com.hdl.photovoltaic.databinding.ActivityMyPowerStationBinding; public class MyPowerStationActivity extends CustomBaseActivity { app/src/main/java/com/hdl/photovoltaic/ui/StartActivity.java
File was renamed from app/src/main/java/com/example/photovoltaic/ui/StartActivity.java @@ -1,12 +1,11 @@ package com.example.photovoltaic.ui; package com.hdl.photovoltaic.ui; import androidx.appcompat.app.AppCompatActivity; import android.content.Intent; import android.os.Bundle; import com.example.photovoltaic.R; import com.example.photovoltaic.ui.Login.HomeLoginActivity; import com.hdl.photovoltaic.R; public class StartActivity extends AppCompatActivity { app/src/main/java/com/hdl/photovoltaic/ui/adapter/HouseInfoAdapter.java
File was renamed from app/src/main/java/com/example/photovoltaic/ui/adapter/HouseInfoAdapter.java @@ -1,4 +1,4 @@ package com.example.photovoltaic.ui.adapter; package com.hdl.photovoltaic.ui.adapter; import android.view.LayoutInflater; import android.view.View; @@ -9,8 +9,8 @@ import androidx.annotation.NonNull; import androidx.recyclerview.widget.RecyclerView; import com.example.photovoltaic.R; import com.example.photovoltaic.ui.bean.HouseInfoBean; import com.hdl.photovoltaic.R; import com.hdl.photovoltaic.ui.bean.HouseInfoBean; import java.util.List; app/src/main/java/com/hdl/photovoltaic/ui/bean/HouseInfoBean.java
File was renamed from app/src/main/java/com/example/photovoltaic/ui/bean/HouseInfoBean.java @@ -1,4 +1,4 @@ package com.example.photovoltaic.ui.bean; package com.hdl.photovoltaic.ui.bean; import java.io.Serializable; app/src/main/java/com/hdl/photovoltaic/ui/device/FastScanActivity.java
New file @@ -0,0 +1,26 @@ package com.hdl.photovoltaic.ui.device; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import com.hdl.photovoltaic.R; import com.hdl.photovoltaic.base.CustomBaseActivity; import com.hdl.photovoltaic.databinding.ActivityFastScanBinding; public class FastScanActivity extends CustomBaseActivity { private ActivityFastScanBinding viewBinding; @Override public Object getContentView() { viewBinding = ActivityFastScanBinding.inflate(getLayoutInflater()); return viewBinding.getRoot(); } @Override public void onBindView(Bundle savedInstanceState) { } } app/src/main/java/com/hdl/photovoltaic/ui/me/MeFragment.java
File was renamed from app/src/main/java/com/example/photovoltaic/ui/home/MeFragment.java @@ -1,11 +1,11 @@ package com.example.photovoltaic.ui.home; package com.hdl.photovoltaic.ui.me; import android.os.Bundle; import android.view.View; import com.example.photovoltaic.R; import com.example.photovoltaic.base.CustomBaseFragment; import com.example.photovoltaic.databinding.FragmentMeBinding; import com.hdl.photovoltaic.R; import com.hdl.photovoltaic.base.CustomBaseFragment; import com.hdl.photovoltaic.databinding.FragmentMeBinding; public class MeFragment extends CustomBaseFragment { private FragmentMeBinding viewBinding; app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseListFragment.java
File was renamed from app/src/main/java/com/example/photovoltaic/ui/home/HouseListFragment.java @@ -1,7 +1,6 @@ package com.example.photovoltaic.ui.home; package com.hdl.photovoltaic.ui.powerstation; import android.content.Context; import android.hardware.camera2.CameraAccessException; import android.hardware.camera2.CameraManager; import android.os.Bundle; import android.util.Log; @@ -10,12 +9,12 @@ import androidx.recyclerview.widget.LinearLayoutManager; import androidx.swiperefreshlayout.widget.SwipeRefreshLayout; import com.example.photovoltaic.R; import com.example.photovoltaic.base.CustomBaseFragment; import com.example.photovoltaic.databinding.FragmentHouseListBinding; import com.example.photovoltaic.ui.adapter.HouseInfoAdapter; import com.example.photovoltaic.ui.bean.HouseInfoBean; import com.example.photovoltaic.utils.FlashLightUtils; import com.hdl.photovoltaic.R; import com.hdl.photovoltaic.databinding.FragmentHouseListBinding; import com.hdl.photovoltaic.base.CustomBaseFragment; import com.hdl.photovoltaic.ui.adapter.HouseInfoAdapter; import com.hdl.photovoltaic.ui.bean.HouseInfoBean; import com.hdl.photovoltaic.utils.FlashLightUtils; import java.util.ArrayList; import java.util.List; @@ -24,7 +23,7 @@ private FragmentHouseListBinding viewBinding; private HouseInfoAdapter houseInfoAdapter; private FlashLightUtils flashLightUtils; private CameraManager manager; private CameraManager manager; private List<HouseInfoBean> houseInfoBeanList = null; @@ -36,8 +35,8 @@ @Override public void onBindView(Bundle savedInstanceState) { flashLightUtils = new FlashLightUtils(_mActivity); manager = (CameraManager) _mActivity.getSystemService(Context.CAMERA_SERVICE); flashLightUtils = new FlashLightUtils(_mActivity); manager = (CameraManager) _mActivity.getSystemService(Context.CAMERA_SERVICE); initData(); //初始化 @@ -55,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(); } }); //设置下拉箭头颜色 @@ -68,13 +62,8 @@ 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); viewBinding.fragmentHouseSrl.setRefreshing(false); Log.d("HouseListFragment", "下拉刷新"); } }); app/src/main/java/com/hdl/photovoltaic/utils/AppManagerUtils.java
File was renamed from app/src/main/java/com/example/photovoltaic/utils/AppManagerUtils.java @@ -1,4 +1,4 @@ package com.example.photovoltaic.utils; package com.hdl.photovoltaic.utils; import android.app.Activity; import android.content.Context; app/src/main/java/com/hdl/photovoltaic/utils/FlashLightUtils.java
File was renamed from app/src/main/java/com/example/photovoltaic/utils/FlashLightUtils.java @@ -1,10 +1,11 @@ package com.example.photovoltaic.utils; package com.hdl.photovoltaic.utils; import android.content.Context; 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_fast_scan.xml
New file @@ -0,0 +1,9 @@ <?xml version="1.0" encoding="utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".ui.device.FastScanActivity"> </androidx.constraintlayout.widget.ConstraintLayout> app/src/main/res/layout/activity_home_login.xml
@@ -4,7 +4,7 @@ xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".ui.Login.HomeLoginActivity"> tools:context="com.hdl.photovoltaic.ui.HomeLoginActivity"> <ImageView android:id="@+id/home_login_server_iv" app/src/main/res/layout/activity_my_power_station.xml
@@ -5,13 +5,13 @@ android:layout_width="match_parent" android:layout_height="match_parent" android:background="@color/text_F9FAFB" tools:context=".ui.home.MyPowerStationActivity"> tools:context="com.hdl.photovoltaic.ui.MyPowerStationActivity"> <!--我的电站-Fragment--> <androidx.fragment.app.FragmentContainerView android:id="@+id/my_power_station_fcv1" android:name="com.example.photovoltaic.ui.home.HouseListFragment" android:name="com.hdl.photovoltaic.ui.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.example.photovoltaic.ui.home.MeFragment" android:name="com.hdl.photovoltaic.ui.me.MeFragment" android:layout_width="match_parent" android:layout_height="0dp" android:visibility="gone" app/src/main/res/layout/activity_start.xml
@@ -4,7 +4,7 @@ xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".ui.StartActivity"> tools:context="com.hdl.photovoltaic.ui.StartActivity"> <TextView android:layout_width="wrap_content" app/src/test/java/com/hdl/photovoltaic/ExampleUnitTest.java
File was renamed from app/src/test/java/com/example/photovoltaic/ExampleUnitTest.java @@ -1,4 +1,4 @@ package com.example.photovoltaic; package com.hdl.photovoltaic; import org.junit.Test;