diff --git a/app_dashboard/changelog.md b/app_dashboard/changelog.md
index 8c89f25..da1b44e 100644
--- a/app_dashboard/changelog.md
+++ b/app_dashboard/changelog.md
@@ -17,6 +17,8 @@ author:
#### 更新记录
* 修正达到重试加载链接上限之后闪退的问题
+* 美化启动画面
+* 清除冗余代码
### [1.1.0.32] - 2026.3.13
diff --git a/app_dashboard/src/main/AndroidManifest.xml b/app_dashboard/src/main/AndroidManifest.xml
index a6ab014..43d9413 100644
--- a/app_dashboard/src/main/AndroidManifest.xml
+++ b/app_dashboard/src/main/AndroidManifest.xml
@@ -19,7 +19,7 @@
android:exported="false"
android:label="@string/title_activity_settings" />
-
11 && Build.VERSION.SDK_INT < 19) {
- decorView.setSystemUiVisibility(View.GONE);
- } else if (Build.VERSION.SDK_INT >= 19) {
- decorView.setSystemUiVisibility(
- View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY
- // Set the content to appear under the system bars so that the
- // content doesn't resize when the system bars hide and show.
- | View.SYSTEM_UI_FLAG_LAYOUT_STABLE
- | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
- | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
- // Hide the nav bar and status bar
- | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
- | View.SYSTEM_UI_FLAG_FULLSCREEN);
- }
- }
- // Shows the system bars by removing all the flags
- // except for the ones that make the content appear under the system bars.
- private void showSystemUI() {
- View decorView = getWindow().getDecorView();
- decorView.setSystemUiVisibility(
- View.SYSTEM_UI_FLAG_LAYOUT_STABLE
- | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
- | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN);
- }
-}
diff --git a/app_dashboard/src/main/java/cn/ykbox/dashboard/activity/BuildingDashboardActivity.java b/app_dashboard/src/main/java/cn/ykbox/dashboard/activity/DashboardActivity.java
similarity index 95%
rename from app_dashboard/src/main/java/cn/ykbox/dashboard/activity/BuildingDashboardActivity.java
rename to app_dashboard/src/main/java/cn/ykbox/dashboard/activity/DashboardActivity.java
index 729a6c4..63af2cc 100644
--- a/app_dashboard/src/main/java/cn/ykbox/dashboard/activity/BuildingDashboardActivity.java
+++ b/app_dashboard/src/main/java/cn/ykbox/dashboard/activity/DashboardActivity.java
@@ -1,7 +1,6 @@
package cn.ykbox.dashboard.activity;
import android.app.ProgressDialog;
-import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.graphics.Bitmap;
@@ -29,11 +28,11 @@ import com.kongzue.dialogx.dialogs.TipDialog;
import com.kongzue.dialogx.dialogs.WaitDialog;
import cn.ykbox.dashboard.alarm.PowerAlarmManager;
-import cn.ykbox.dashboard.databinding.ActivityBuildingDashboardBinding;
+import cn.ykbox.dashboard.databinding.ActivityDashboardBinding;
import cn.ykbox.dashboard.perferences.PreferenceConfiguration;
import cn.ykbox.dashboard.serial.SerialPortDetector;
-public class BuildingDashboardActivity extends FullscreenActivity {
+public class DashboardActivity extends FullscreenActivity {
private final static String TAG = "DashboardActivity";
private static final boolean AUTO_HIDE = true;
private static final int AUTO_HIDE_DELAY_MILLIS = 3000;
@@ -46,7 +45,7 @@ public class BuildingDashboardActivity extends FullscreenActivity {
private PowerAlarmManager powerAlarmManager;
- private ActivityBuildingDashboardBinding binding;
+ private ActivityDashboardBinding binding;
private ActivityResultLauncher settingsLauncher;
private SerialPortDetector detector;
@@ -70,7 +69,7 @@ public class BuildingDashboardActivity extends FullscreenActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
- binding = ActivityBuildingDashboardBinding.inflate(getLayoutInflater());
+ binding = ActivityDashboardBinding.inflate(getLayoutInflater());
setContentView(binding.getRoot());
super.setViews(binding.webview, binding.fullscreenContentControls);
@@ -181,11 +180,11 @@ public class BuildingDashboardActivity extends FullscreenActivity {
if (progressDialog != null) {
progressDialog.dismiss();
}
- Toast.makeText(BuildingDashboardActivity.this,
+ Toast.makeText(DashboardActivity.this,
"串口检测成功!\n路径: " + portPath,
Toast.LENGTH_LONG).show();
- PreferenceConfiguration.setSerialPortPath(BuildingDashboardActivity.this, portPath);
+ PreferenceConfiguration.setSerialPortPath(DashboardActivity.this, portPath);
});
}
@@ -210,7 +209,7 @@ public class BuildingDashboardActivity extends FullscreenActivity {
* 显示检测失败的对话框
*/
private void showDetectionFailedDialog() {
- Toast.makeText(BuildingDashboardActivity.this,
+ Toast.makeText(DashboardActivity.this,
"未找到有效的串口设备,请检查设备连接后重试。",
Toast.LENGTH_LONG).show();
}
@@ -358,7 +357,7 @@ public class BuildingDashboardActivity extends FullscreenActivity {
Log.d(TAG, "Power control preference changed: " + key);
runOnUiThread(() -> {
if (key.equals("k_power_control_mode")) {
- int mode = PreferenceConfiguration.getPowerControlMode(BuildingDashboardActivity.this);
+ int mode = PreferenceConfiguration.getPowerControlMode(DashboardActivity.this);
powerAlarmManager.onModeChanged(mode);
} else {
// 本地时间变更
diff --git a/app_dashboard/src/main/java/cn/ykbox/dashboard/activity/FullscreenActivity.java b/app_dashboard/src/main/java/cn/ykbox/dashboard/activity/FullscreenActivity.java
index 860948a..13c77ff 100644
--- a/app_dashboard/src/main/java/cn/ykbox/dashboard/activity/FullscreenActivity.java
+++ b/app_dashboard/src/main/java/cn/ykbox/dashboard/activity/FullscreenActivity.java
@@ -22,10 +22,14 @@ public class FullscreenActivity extends AppCompatActivity {
private static final int UI_ANIMATION_DELAY = 300;
private final Handler mHideHandler = new Handler(Looper.myLooper());
private View mContentView;
+ private View mControlsView;
private final Runnable mHidePart2Runnable = new Runnable() {
@SuppressLint("InlinedApi")
@Override
public void run() {
+ if(mContentView == null)
+ return;
+
// Delayed removal of status and navigation bar
if (Build.VERSION.SDK_INT >= 30) {
mContentView.getWindowInsetsController().hide(
@@ -43,7 +47,6 @@ public class FullscreenActivity extends AppCompatActivity {
}
}
};
- private View mControlsView;
private final Runnable mShowPart2Runnable = new Runnable() {
@Override
public void run() {
@@ -52,7 +55,9 @@ public class FullscreenActivity extends AppCompatActivity {
if (actionBar != null) {
actionBar.show();
}
- mControlsView.setVisibility(View.VISIBLE);
+
+ if(mControlsView != null)
+ mControlsView.setVisibility(View.VISIBLE);
}
};
private boolean mVisible;
@@ -76,9 +81,8 @@ public class FullscreenActivity extends AppCompatActivity {
// }
// });
- mContentView.setOnTouchListener(new View.OnTouchListener() {
- @Override
- public boolean onTouch(View view, MotionEvent motionEvent) {
+ if(mContentView != null) {
+ mContentView.setOnTouchListener((view, motionEvent) -> {
switch (motionEvent.getAction()) {
case MotionEvent.ACTION_DOWN:
toggle();
@@ -90,8 +94,8 @@ public class FullscreenActivity extends AppCompatActivity {
break;
}
return false;
- }
- });
+ });
+ }
}
@Override
@@ -120,7 +124,8 @@ public class FullscreenActivity extends AppCompatActivity {
if (actionBar != null) {
actionBar.hide();
}
- mControlsView.setVisibility(View.GONE);
+ if(mControlsView != null)
+ mControlsView.setVisibility(View.GONE);
mVisible = false;
// Schedule a runnable to remove the status and navigation bar after a delay
@@ -130,12 +135,14 @@ public class FullscreenActivity extends AppCompatActivity {
private void show() {
// Show the system bar
- if (Build.VERSION.SDK_INT >= 30) {
- mContentView.getWindowInsetsController().show(
- WindowInsets.Type.statusBars() | WindowInsets.Type.navigationBars());
- } else {
- mContentView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
- | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION);
+ if(mContentView != null) {
+ if (Build.VERSION.SDK_INT >= 30) {
+ mContentView.getWindowInsetsController().show(
+ WindowInsets.Type.statusBars() | WindowInsets.Type.navigationBars());
+ } else {
+ mContentView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
+ | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION);
+ }
}
mVisible = true;
diff --git a/app_dashboard/src/main/java/cn/ykbox/dashboard/activity/GalleryActivity.java b/app_dashboard/src/main/java/cn/ykbox/dashboard/activity/GalleryActivity.java
deleted file mode 100644
index 59756b0..0000000
--- a/app_dashboard/src/main/java/cn/ykbox/dashboard/activity/GalleryActivity.java
+++ /dev/null
@@ -1,75 +0,0 @@
-package cn.ykbox.dashboard.activity;
-
-import android.content.Context;
-import android.os.Bundle;
-import android.os.Handler;
-import android.os.SystemClock;
-import android.util.Log;
-import android.view.MotionEvent;
-
-import com.blankj.utilcode.util.ScreenUtils;
-import com.bumptech.glide.Glide;
-import com.youth.banner.adapter.BannerImageAdapter;
-import com.youth.banner.holder.BannerImageHolder;
-import com.youth.banner.indicator.CircleIndicator;
-
-import cn.ykbox.dashboard.data.BannerBean;
-import cn.ykbox.dashboard.databinding.ActivityGalleryBinding;
-
-/**
- * An example full-screen activity that shows and hides the system UI (i.e.
- * status bar and navigation/system bar) with user interaction.
- */
-public class GalleryActivity extends BaseActivity {
-
- private ActivityGalleryBinding binding;
- private Context mContext;
-
- private Handler mHandler = new Handler();
-
- private final static int CON_COUNTS = 6;// 连续点击次数
- private final static long CON_DURATION = 1500;// 连续点击最小间隔时间
- private static long[] CON_Hits = new long[CON_COUNTS];
-
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- mContext = this;
-
- binding = ActivityGalleryBinding.inflate(getLayoutInflater());
- setContentView(binding.getRoot());
- binding.banner.setAdapter(new BannerImageAdapter(BannerBean.getTestData()) {
- @Override
- public void onBindView(BannerImageHolder holder, BannerBean data, int position, int size) {
- Log.d("fullshow", "load" + data.imageRes);
- Glide.with(holder.itemView)
- .load(data.imageRes)
- .into(holder.imageView);
- }
- })
- .addBannerLifecycleObserver(this)//添加生命周期观察者
- .setIndicator(new CircleIndicator(this))
- .setLoopTime(5000);
- }
-
- @Override
- public boolean dispatchTouchEvent(MotionEvent ev) {
- int h = ScreenUtils.getScreenHeight();
-
- if(ev.getActionMasked() == MotionEvent.ACTION_DOWN && ev.getX() < 100 && ev.getY() > h-100)
- finishByHits();
- return super.dispatchTouchEvent(ev);
- }
-
- public void finishByHits() {
- //每次点击时,数组向前移动一位
- System.arraycopy(CON_Hits, 1, CON_Hits, 0, CON_Hits.length - 1);
- //为数组最后一位赋值
- CON_Hits[CON_Hits.length - 1] = SystemClock.uptimeMillis();
- if (CON_Hits[0] >= (SystemClock.uptimeMillis() - CON_DURATION)) {
- CON_Hits = new long[CON_COUNTS];//重新初始化数组
-
- finish();
- }
- }
-}
\ No newline at end of file
diff --git a/app_dashboard/src/main/java/cn/ykbox/dashboard/activity/StartActivity.java b/app_dashboard/src/main/java/cn/ykbox/dashboard/activity/StartActivity.java
index 0e689fb..c128722 100644
--- a/app_dashboard/src/main/java/cn/ykbox/dashboard/activity/StartActivity.java
+++ b/app_dashboard/src/main/java/cn/ykbox/dashboard/activity/StartActivity.java
@@ -5,34 +5,29 @@ import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
-import androidx.activity.EdgeToEdge;
-import androidx.appcompat.app.AppCompatActivity;
-import androidx.core.graphics.Insets;
-import androidx.core.view.ViewCompat;
-import androidx.core.view.WindowInsetsCompat;
+import cn.ykbox.dashboard.databinding.ActivityDashboardBinding;
+import cn.ykbox.dashboard.databinding.ActivityStartBinding;
import cn.ykbox.dashboard.R;
-public class StartActivity extends AppCompatActivity {
+public class StartActivity extends FullscreenActivity {
private Context mContext;
+ private ActivityStartBinding binding;
@Override
protected void onCreate(Bundle savedInstanceState) {
+ binding = ActivityStartBinding.inflate(getLayoutInflater());
+ setContentView(binding.getRoot());
+
+ super.setViews(binding.flContent, null);
super.onCreate(savedInstanceState);
mContext = this;
- EdgeToEdge.enable(this);
- setContentView(R.layout.activity_start);
- ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main), (v, insets) -> {
- Insets systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars());
- v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom);
- return insets;
- });
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
- Intent myIntent = new Intent(mContext, BuildingDashboardActivity.class);
+ Intent myIntent = new Intent(mContext, DashboardActivity.class);
myIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
mContext.startActivity(myIntent);
diff --git a/app_dashboard/src/main/java/cn/ykbox/dashboard/data/BannerBean.java b/app_dashboard/src/main/java/cn/ykbox/dashboard/data/BannerBean.java
deleted file mode 100644
index 39cdd3f..0000000
--- a/app_dashboard/src/main/java/cn/ykbox/dashboard/data/BannerBean.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package cn.ykbox.dashboard.data;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import cn.ykbox.dashboard.R;
-
-public class BannerBean {
- public Integer imageRes;
- public String imageUrl;
- public String title;
- public int viewType;
-
- public BannerBean(Integer imageRes, String title, int viewType) {
- this.imageRes = imageRes;
- this.title = title;
- this.viewType = viewType;
- }
-
- public BannerBean(String imageUrl, String title, int viewType) {
- this.imageUrl = imageUrl;
- this.title = title;
- this.viewType = viewType;
- }
-
- public static List getTestData() {
- List list = new ArrayList<>();
- list.add(new BannerBean(R.drawable.image1, "第3代无线智能中控", 1));
- list.add(new BannerBean(R.drawable.image2, "智慧班牌", 3));
- list.add(new BannerBean(R.drawable.image3, "无线话筒", 3));
- list.add(new BannerBean(R.drawable.image4, "可移动式智能讲桌", 1));
- list.add(new BannerBean(R.drawable.image5, "TD2+智慧屏集成讲桌", 1));
- list.add(new BannerBean(R.drawable.image6, "TD5+智慧屏集成讲台", 3));
- return list;
- }
-}
diff --git a/app_dashboard/src/main/res/drawable/image1.jpg b/app_dashboard/src/main/res/drawable/image1.jpg
deleted file mode 100644
index 53e92ac..0000000
Binary files a/app_dashboard/src/main/res/drawable/image1.jpg and /dev/null differ
diff --git a/app_dashboard/src/main/res/drawable/image2.jpg b/app_dashboard/src/main/res/drawable/image2.jpg
deleted file mode 100644
index d0d0d8c..0000000
Binary files a/app_dashboard/src/main/res/drawable/image2.jpg and /dev/null differ
diff --git a/app_dashboard/src/main/res/drawable/image3.jpg b/app_dashboard/src/main/res/drawable/image3.jpg
deleted file mode 100644
index 0ead079..0000000
Binary files a/app_dashboard/src/main/res/drawable/image3.jpg and /dev/null differ
diff --git a/app_dashboard/src/main/res/drawable/image4.jpg b/app_dashboard/src/main/res/drawable/image4.jpg
deleted file mode 100644
index c322649..0000000
Binary files a/app_dashboard/src/main/res/drawable/image4.jpg and /dev/null differ
diff --git a/app_dashboard/src/main/res/drawable/image5.jpg b/app_dashboard/src/main/res/drawable/image5.jpg
deleted file mode 100644
index 824a794..0000000
Binary files a/app_dashboard/src/main/res/drawable/image5.jpg and /dev/null differ
diff --git a/app_dashboard/src/main/res/drawable/image6.jpg b/app_dashboard/src/main/res/drawable/image6.jpg
deleted file mode 100644
index 536af41..0000000
Binary files a/app_dashboard/src/main/res/drawable/image6.jpg and /dev/null differ
diff --git a/app_dashboard/src/main/res/drawable/splash.png b/app_dashboard/src/main/res/drawable/splash.png
new file mode 100644
index 0000000..a2163fd
Binary files /dev/null and b/app_dashboard/src/main/res/drawable/splash.png differ
diff --git a/app_dashboard/src/main/res/layout/activity_building_dashboard.xml b/app_dashboard/src/main/res/layout/activity_dashboard.xml
similarity index 97%
rename from app_dashboard/src/main/res/layout/activity_building_dashboard.xml
rename to app_dashboard/src/main/res/layout/activity_dashboard.xml
index 7d938e9..2d69cbe 100644
--- a/app_dashboard/src/main/res/layout/activity_building_dashboard.xml
+++ b/app_dashboard/src/main/res/layout/activity_dashboard.xml
@@ -5,7 +5,7 @@
android:layout_height="match_parent"
android:background="?attr/fullscreenBackgroundColor"
android:theme="@style/ThemeOverlay.DashBoardClient.FullscreenContainer"
- tools:context=".BuildingDashboardActivity">
+ tools:context=".activity.DashboardActivity">