wjc
2023-06-05 57e16d05ef4924a480a5895cdb485556cc820e9b
Merge branch 'wjc'
4个文件已添加
1个文件已删除
5个文件已修改
19 文件已重命名
437 ■■■■ 已修改文件
.idea/misc.xml 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/build.gradle 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/androidTest/java/com/hdl/photovoltaic/ExampleInstrumentedTest.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/AndroidManifest.xml 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/example/photovoltaic/other/HdlThreadLogic.java 120 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/HDLApp.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/base/BaseActivity.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/base/BaseFragment.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/base/CustomBaseActivity.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/base/CustomBaseFragment.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/enums/ShowErrorMode.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/listener/BaseView.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/other/HdlLogLogic.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/other/HdlThreadLogic.java 93 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/ui/HomeLoginActivity.java 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/ui/MyPowerStationActivity.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/ui/StartActivity.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/ui/adapter/HouseInfoAdapter.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/ui/bean/HouseInfoBean.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/ui/device/FastScanActivity.java 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/ui/me/MeFragment.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseListFragment.java 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/utils/AppManagerUtils.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/utils/FlashLightUtils.java 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/layout/activity_fast_scan.xml 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/layout/activity_home_login.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/layout/activity_my_power_station.xml 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/layout/activity_start.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/test/java/com/hdl/photovoltaic/ExampleUnitTest.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
.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"
@@ -11,10 +11,13 @@
        android:supportsRtl="true"
        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"
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;
@@ -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;