5 changed files with 325 additions and 10 deletions
-
9app/src/main/java/com/ouxuan/oxface/DebugActivity.java
-
5app/src/main/java/com/ouxuan/oxface/MainActivity.java
-
7app/src/main/java/com/ouxuan/oxface/OXFaceOnlineActivity.java
-
52app/src/main/java/com/ouxuan/oxface/device/DeviceType7Manager.java
-
262app/src/main/java/com/ouxuan/oxface/device/OxPadBar.java
@ -0,0 +1,262 @@ |
|||
package com.ouxuan.oxface.device; |
|||
|
|||
import android.content.Context; |
|||
import android.util.Log; |
|||
|
|||
import com.ouxuan.oxface.utils.LogManager; |
|||
|
|||
/** |
|||
* 状态栏和导航栏统一控制器 |
|||
* 根据设备类型自动调用对应的状态栏控制方法 |
|||
* |
|||
* @author AI Assistant |
|||
* @version 1.0 |
|||
* @date 2025/09/25 |
|||
*/ |
|||
public class OxPadBar { |
|||
|
|||
private static final String TAG = "OxPadBar"; |
|||
|
|||
// 设备类型常量 |
|||
public static final int DEVICE_TYPE_V2 = 2; // 第2批设备 |
|||
public static final int DEVICE_TYPE_V5 = 5; // 第5批设备(第6批) |
|||
public static final int DEVICE_TYPE_V6 = 6; // 第6批设备(第7批) |
|||
public static final int DEVICE_TYPE_V7 = 7; // 第7批设备 |
|||
public static final int DEVICE_TYPE_V8 = 8; // 第8批设备 |
|||
|
|||
// 当前设备类型 |
|||
private static int currentDeviceType = -1; |
|||
|
|||
// 第七批设备管理器实例 |
|||
private static DeviceType7Manager deviceType7Manager; |
|||
|
|||
/** |
|||
* 设置设备类型 |
|||
* @param deviceType 设备类型 |
|||
*/ |
|||
public static void setDeviceType(int deviceType) { |
|||
currentDeviceType = deviceType; |
|||
LogManager.logInfo(TAG, "设置设备类型: " + deviceType); |
|||
|
|||
// 如果是第7批设备,初始化管理器 |
|||
if (deviceType == DEVICE_TYPE_V6) { |
|||
deviceType7Manager = DeviceType7Manager.getInstance(); |
|||
} |
|||
} |
|||
|
|||
/** |
|||
* 获取当前设备类型 |
|||
* @return 设备类型 |
|||
*/ |
|||
public static int getCurrentDeviceType() { |
|||
return currentDeviceType; |
|||
} |
|||
|
|||
/** |
|||
* 隐藏状态栏和导航栏 |
|||
* 根据设备类型自动调用对应的实现 |
|||
* @param context Android上下文 |
|||
* @return 是否成功 |
|||
*/ |
|||
public static boolean hidePadBar(Context context) { |
|||
if (currentDeviceType == -1) { |
|||
LogManager.logError(TAG, "hidePadBar: 设备类型未设置"); |
|||
return false; |
|||
} |
|||
|
|||
LogManager.logInfo(TAG, "hidePadBar: 设备类型=" + currentDeviceType); |
|||
|
|||
switch (currentDeviceType) { |
|||
case DEVICE_TYPE_V5: // 第5批设备(第6批)- 使用V6方法 |
|||
return hidePadBarV5(context); |
|||
case DEVICE_TYPE_V6: // 第6批设备(第7批)- 使用DeviceType7Manager |
|||
return hidePadBarV6(context); |
|||
case DEVICE_TYPE_V2: // 第2批设备 - 预留接口 |
|||
return hidePadBarV2(context); |
|||
case DEVICE_TYPE_V7: // 第7批设备 - 预留接口 |
|||
return hidePadBarV7(context); |
|||
case DEVICE_TYPE_V8: // 第8批设备 - 预留接口 |
|||
return hidePadBarV8(context); |
|||
default: |
|||
LogManager.logError(TAG, "hidePadBar: 不支持的设备类型: " + currentDeviceType); |
|||
return false; |
|||
} |
|||
} |
|||
|
|||
/** |
|||
* 显示状态栏和导航栏 |
|||
* 根据设备类型自动调用对应的实现 |
|||
* @param context Android上下文 |
|||
* @return 是否成功 |
|||
*/ |
|||
public static boolean showPadBar(Context context) { |
|||
if (currentDeviceType == -1) { |
|||
LogManager.logError(TAG, "showPadBar: 设备类型未设置"); |
|||
return false; |
|||
} |
|||
|
|||
LogManager.logInfo(TAG, "showPadBar: 设备类型=" + currentDeviceType); |
|||
|
|||
switch (currentDeviceType) { |
|||
case DEVICE_TYPE_V5: // 第5批设备(第6批)- 使用V6方法 |
|||
return showPadBarV5(context); |
|||
case DEVICE_TYPE_V6: // 第6批设备(第7批)- 使用DeviceType7Manager |
|||
return showPadBarV6(context); |
|||
case DEVICE_TYPE_V2: // 第2批设备 - 预留接口 |
|||
return showPadBarV2(context); |
|||
case DEVICE_TYPE_V7: // 第7批设备 - 预留接口 |
|||
return showPadBarV7(context); |
|||
case DEVICE_TYPE_V8: // 第8批设备 - 预留接口 |
|||
return showPadBarV8(context); |
|||
default: |
|||
LogManager.logError(TAG, "showPadBar: 不支持的设备类型: " + currentDeviceType); |
|||
return false; |
|||
} |
|||
} |
|||
|
|||
// ==================== 各设备类型实现 ==================== |
|||
|
|||
/** |
|||
* 第5批设备(第6批)- 隐藏状态栏和导航栏 |
|||
* @param context Android上下文 |
|||
* @return 是否成功 |
|||
*/ |
|||
private static boolean hidePadBarV5(Context context) { |
|||
try { |
|||
DeviceUtils.hidePadBarV6(context); |
|||
LogManager.logInfo(TAG, "hidePadBarV5: 成功隐藏状态栏和导航栏"); |
|||
return true; |
|||
} catch (Exception e) { |
|||
LogManager.logError(TAG, "hidePadBarV5: 隐藏状态栏和导航栏失败", e); |
|||
return false; |
|||
} |
|||
} |
|||
|
|||
/** |
|||
* 第5批设备(第6批)- 显示状态栏和导航栏 |
|||
* @param context Android上下文 |
|||
* @return 是否成功 |
|||
*/ |
|||
private static boolean showPadBarV5(Context context) { |
|||
try { |
|||
DeviceUtils.showPadBarV6(context); |
|||
LogManager.logInfo(TAG, "showPadBarV5: 成功显示状态栏和导航栏"); |
|||
return true; |
|||
} catch (Exception e) { |
|||
LogManager.logError(TAG, "showPadBarV5: 显示状态栏和导航栏失败", e); |
|||
return false; |
|||
} |
|||
} |
|||
|
|||
/** |
|||
* 第6批设备(第7批)- 隐藏状态栏和导航栏 |
|||
* @param context Android上下文 |
|||
* @return 是否成功 |
|||
*/ |
|||
private static boolean hidePadBarV6(Context context) { |
|||
if (deviceType7Manager == null) { |
|||
LogManager.logError(TAG, "hidePadBarV6: DeviceType7Manager未初始化"); |
|||
return false; |
|||
} |
|||
|
|||
// 初始化DeviceType7Manager(如果还未初始化) |
|||
if (!deviceType7Manager.isInitialized()) { |
|||
boolean initSuccess = deviceType7Manager.init(context); |
|||
if (!initSuccess) { |
|||
LogManager.logError(TAG, "hidePadBarV6: DeviceType7Manager初始化失败"); |
|||
return false; |
|||
} |
|||
} |
|||
|
|||
return deviceType7Manager.hidePadBarV7(); |
|||
} |
|||
|
|||
/** |
|||
* 第6批设备(第7批)- 显示状态栏和导航栏 |
|||
* @param context Android上下文 |
|||
* @return 是否成功 |
|||
*/ |
|||
private static boolean showPadBarV6(Context context) { |
|||
if (deviceType7Manager == null) { |
|||
LogManager.logError(TAG, "showPadBarV6: DeviceType7Manager未初始化"); |
|||
return false; |
|||
} |
|||
|
|||
// 初始化DeviceType7Manager(如果还未初始化) |
|||
if (!deviceType7Manager.isInitialized()) { |
|||
boolean initSuccess = deviceType7Manager.init(context); |
|||
if (!initSuccess) { |
|||
LogManager.logError(TAG, "showPadBarV6: DeviceType7Manager初始化失败"); |
|||
return false; |
|||
} |
|||
} |
|||
|
|||
return deviceType7Manager.showPadBarV7(); |
|||
} |
|||
|
|||
/** |
|||
* 第2批设备 - 隐藏状态栏和导航栏(预留接口) |
|||
* @param context Android上下文 |
|||
* @return 是否成功 |
|||
*/ |
|||
private static boolean hidePadBarV2(Context context) { |
|||
// TODO: 实现第2批设备的状态栏控制逻辑 |
|||
LogManager.logInfo(TAG, "hidePadBarV2: 第2批设备状态栏控制暂未实现"); |
|||
return false; |
|||
} |
|||
|
|||
/** |
|||
* 第2批设备 - 显示状态栏和导航栏(预留接口) |
|||
* @param context Android上下文 |
|||
* @return 是否成功 |
|||
*/ |
|||
private static boolean showPadBarV2(Context context) { |
|||
// TODO: 实现第2批设备的状态栏控制逻辑 |
|||
LogManager.logInfo(TAG, "showPadBarV2: 第2批设备状态栏控制暂未实现"); |
|||
return false; |
|||
} |
|||
|
|||
/** |
|||
* 第7批设备 - 隐藏状态栏和导航栏(预留接口) |
|||
* @param context Android上下文 |
|||
* @return 是否成功 |
|||
*/ |
|||
private static boolean hidePadBarV7(Context context) { |
|||
// TODO: 实现第7批设备的状态栏控制逻辑 |
|||
LogManager.logInfo(TAG, "hidePadBarV7: 第7批设备状态栏控制暂未实现"); |
|||
return false; |
|||
} |
|||
|
|||
/** |
|||
* 第7批设备 - 显示状态栏和导航栏(预留接口) |
|||
* @param context Android上下文 |
|||
* @return 是否成功 |
|||
*/ |
|||
private static boolean showPadBarV7(Context context) { |
|||
// TODO: 实现第7批设备的状态栏控制逻辑 |
|||
LogManager.logInfo(TAG, "showPadBarV7: 第7批设备状态栏控制暂未实现"); |
|||
return false; |
|||
} |
|||
|
|||
/** |
|||
* 第8批设备 - 隐藏状态栏和导航栏(预留接口) |
|||
* @param context Android上下文 |
|||
* @return 是否成功 |
|||
*/ |
|||
private static boolean hidePadBarV8(Context context) { |
|||
// TODO: 实现第8批设备的状态栏控制逻辑 |
|||
LogManager.logInfo(TAG, "hidePadBarV8: 第8批设备状态栏控制暂未实现"); |
|||
return false; |
|||
} |
|||
|
|||
/** |
|||
* 第8批设备 - 显示状态栏和导航栏(预留接口) |
|||
* @param context Android上下文 |
|||
* @return 是否成功 |
|||
*/ |
|||
private static boolean showPadBarV8(Context context) { |
|||
// TODO: 实现第8批设备的状态栏控制逻辑 |
|||
LogManager.logInfo(TAG, "showPadBarV8: 第8批设备状态栏控制暂未实现"); |
|||
return false; |
|||
} |
|||
} |
Write
Preview
Loading…
Cancel
Save
Reference in new issue