From a75addbc22f25b5fb219d3979f7bcd9cbf4942c3 Mon Sep 17 00:00:00 2001
From: hjw <hjw@ma.nodka.com>
Date: Thu, 20 Apr 2023 05:50:59 +0000
Subject: [PATCH] 适配安卓11

---
 app/src/main/java/com/jwipc/nodka_alarmpower/MainActivity.java |   91 ++++++++++++++++++++++++++++++++-------------
 1 files changed, 64 insertions(+), 27 deletions(-)

diff --git a/app/src/main/java/com/jwipc/nodka_alarmpower/MainActivity.java b/app/src/main/java/com/jwipc/nodka_alarmpower/MainActivity.java
index 944bc7c..d2cf10d 100644
--- a/app/src/main/java/com/jwipc/nodka_alarmpower/MainActivity.java
+++ b/app/src/main/java/com/jwipc/nodka_alarmpower/MainActivity.java
@@ -15,6 +15,7 @@
 import android.content.pm.PackageManager.NameNotFoundException;
 import android.hardware.spirit.AlarmPowerItem;
 import android.hardware.spirit.AlarmPowerManager;
+import android.os.Build;
 import android.os.Bundle;
 import android.os.Handler;
 import android.os.Message;
@@ -42,6 +43,8 @@
 import android.widget.TimePicker;
 import android.widget.TimePicker.OnTimeChangedListener;
 import android.provider.Settings;
+
+import com.nodka.api.alarm.SpiritAlarmItem;
 
 public class MainActivity extends Activity{
 
@@ -347,40 +350,72 @@
 		sendBroadcast(new Intent("android.intent.action.NDJ_GET_ALARM_REBOOT"));
 		
 		try {
-			AlarmPowerManager mAlarmPowerManager = new AlarmPowerManager();
-			
-			List<AlarmPowerItem> list_AlarmPowerItem = mAlarmPowerManager.getAlarmPowerList();
-			
-			if(list_AlarmPowerItem != null)
-			{
-				if(list_AlarmPowerItem.size() > 0)
+			if (isSpiritVersion()) {
+				AlarmPowerManager mAlarmPowerManager = new AlarmPowerManager();
+
+				List<AlarmPowerItem> list_AlarmPowerItem = mAlarmPowerManager.getAlarmPowerList();
+				if(list_AlarmPowerItem != null)
 				{
-					
-					AlarmPowerItem mAlarmPowerItem = list_AlarmPowerItem.get(0);
-					
-					Message msg_on = new Message();
-		            msg_on.what = set_AlarmPower_on;
-		            msg_on.obj = mAlarmPowerItem.getAlarmPowerOnHour() + ":" + mAlarmPowerItem.getAlarmPowerOnMinute() + ":" + mAlarmPowerItem.getAlarmPowerOnSecond();
-		            time_alarm_power_on = (String) msg_on.obj;
-		            handler.sendMessage(msg_on);
-		            
-		            Message msg_off = new Message();
-		            msg_off.what = set_AlarmPower_off;
-		            msg_off.obj = mAlarmPowerItem.getAlarmPowerOffHour() + ":" + mAlarmPowerItem.getAlarmPowerOffMinute() + ":" + mAlarmPowerItem.getAlarmPowerOffSecond();
-		            time_alarm_power_off = (String) msg_off.obj;
-		            handler.sendMessage(msg_off);
-		            
-		            
+					if(list_AlarmPowerItem.size() > 0)
+					{
+
+						AlarmPowerItem mAlarmPowerItem = list_AlarmPowerItem.get(0);
+
+						Message msg_on = new Message();
+						msg_on.what = set_AlarmPower_on;
+						msg_on.obj = mAlarmPowerItem.getAlarmPowerOnHour() + ":" + mAlarmPowerItem.getAlarmPowerOnMinute() + ":" + mAlarmPowerItem.getAlarmPowerOnSecond();
+						time_alarm_power_on = (String) msg_on.obj;
+						handler.sendMessage(msg_on);
+
+						Message msg_off = new Message();
+						msg_off.what = set_AlarmPower_off;
+						msg_off.obj = mAlarmPowerItem.getAlarmPowerOffHour() + ":" + mAlarmPowerItem.getAlarmPowerOffMinute() + ":" + mAlarmPowerItem.getAlarmPowerOffSecond();
+						time_alarm_power_off = (String) msg_off.obj;
+						handler.sendMessage(msg_off);
+
+
 		            /*Message msg_check_AlarmPower_repeat = new Message();
 		            msg_check_AlarmPower_repeat.what = set_check_AlarmPower_repeat;
 		            msg_check_AlarmPower_repeat.obj = mAlarmPowerItem.getAlarmPowerRepeat().equals("true") ? true : false;
 		            time_alarm_power_repeat = mAlarmPowerItem.getAlarmPowerRepeat();
 		            handler.sendMessage(msg_check_AlarmPower_repeat);*/
-		            
+
+					}
+			}
+
+			
+
+			} else {
+				List<SpiritAlarmItem> spiritAlarmItems = MyApplication.getApplication().getNodkaAPI().alarm_getAlarmPowerList();
+				if (spiritAlarmItems != null) {
+					if (spiritAlarmItems.size() > 0) {
+
+						SpiritAlarmItem mSpiritAlarmItem = spiritAlarmItems.get(0);
+
+						Message msg_on = new Message();
+						msg_on.what = set_AlarmPower_on;
+						msg_on.obj = mSpiritAlarmItem.getAlarmPowerOnHour() + ":" + mSpiritAlarmItem.getAlarmPowerOnMinute() + ":" + mSpiritAlarmItem.getAlarmPowerOnSecond();
+						time_alarm_power_on = (String) msg_on.obj;
+						handler.sendMessage(msg_on);
+
+						Message msg_off = new Message();
+						msg_off.what = set_AlarmPower_off;
+						msg_off.obj = mSpiritAlarmItem.getAlarmPowerOffHour() + ":" + mSpiritAlarmItem.getAlarmPowerOffMinute() + ":" + mSpiritAlarmItem.getAlarmPowerOffSecond();
+						time_alarm_power_off = (String) msg_off.obj;
+						handler.sendMessage(msg_off);
+
+
+		            /*Message msg_check_AlarmPower_repeat = new Message();
+		            msg_check_AlarmPower_repeat.what = set_check_AlarmPower_repeat;
+		            msg_check_AlarmPower_repeat.obj = mAlarmPowerItem.getAlarmPowerRepeat().equals("true") ? true : false;
+		            time_alarm_power_repeat = mAlarmPowerItem.getAlarmPowerRepeat();
+		            handler.sendMessage(msg_check_AlarmPower_repeat);*/
+
+					}
 				}
 			}
 						
-		} catch (RemoteException e) {
+		} catch (Exception e) {
 			// TODO Auto-generated catch block
 			e.printStackTrace();
 		}
@@ -533,8 +568,10 @@
         
         return npList;
     }
-	
-	
+
+	public boolean isSpiritVersion() {
+		return Build.VERSION.SDK_INT <= 25;
+	}
 	
 	
 	

--
Gitblit v1.6.2