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
---
.idea/vcs.xml | 6 ++
app/keystore/platform.jks | 0
app/src/main/java/com/jwipc/nodka_alarmpower/MainActivity.java | 91 +++++++++++++++++++++---------
.idea/gradle.xml | 1
app/src/main/java/com/jwipc/nodka_alarmpower/MyApplication.java | 30 ++++++++++
build.gradle | 11 +++
app/src/main/AndroidManifest.xml | 4 +
app/src/main/libs/arm64-v8a/libnodka-jni.so | 0
app/libs/NodkaAPI.jar | 0
app/build.gradle | 26 +++++++-
10 files changed, 138 insertions(+), 31 deletions(-)
diff --git a/.idea/gradle.xml b/.idea/gradle.xml
index 9c52035..9d554de 100644
--- a/.idea/gradle.xml
+++ b/.idea/gradle.xml
@@ -1,5 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
+ <component name="GradleMigrationSettings" migrationVersion="1" />
<component name="GradleSettings">
<option name="linkedExternalProjectsSettings">
<GradleProjectSettings>
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
new file mode 100644
index 0000000..94a25f7
--- /dev/null
+++ b/.idea/vcs.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+ <component name="VcsDirectoryMappings">
+ <mapping directory="$PROJECT_DIR$" vcs="Git" />
+ </component>
+</project>
\ No newline at end of file
diff --git a/app/build.gradle b/app/build.gradle
index e958cb0..9720c46 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -5,13 +5,31 @@
buildToolsVersion "33.0.0"
defaultConfig {
- applicationId "com.jwipc.nodka_alarmpower"
+ applicationId "com.nodka.alarmpower"
minSdkVersion 19
targetSdkVersion 19
}
+ sourceSets.main {
+ jni.srcDirs = []
+ jniLibs.srcDir "src/main/libs"
+ }
+
+ signingConfigs {
+ platformkeystore {
+ keyAlias "platform"
+ keyPassword "android"
+ storeFile file('../app/keystore/platform.jks')
+ storePassword "android"
+ }
+ }
+
buildTypes {
+ debug {
+ signingConfig signingConfigs.platformkeystore
+ }
release {
+ signingConfig signingConfigs.platformkeystore
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
@@ -19,6 +37,8 @@
}
dependencies {
- compile 'com.android.support:support-v4:25.+'
- compile files('libs/spiritv1.3.jar')
+ implementation 'com.android.support:support-v4:25.+'
+ implementation files('libs/spiritv1.3.jar')
+ implementation files('libs/NodkaAPI.jar')
+// compileOnly files('libs/classes-full-debug.jar')
}
diff --git a/app/keystore/platform.jks b/app/keystore/platform.jks
new file mode 100644
index 0000000..0321479
--- /dev/null
+++ b/app/keystore/platform.jks
Binary files differ
diff --git a/app/libs/NodkaAPI.jar b/app/libs/NodkaAPI.jar
new file mode 100644
index 0000000..4bdb54f
--- /dev/null
+++ b/app/libs/NodkaAPI.jar
Binary files differ
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 7934b41..8e33196 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -1,7 +1,8 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.jwipc.nodka_alarmpower"
android:versionCode="3"
- android:versionName="v3.0" >
+ android:versionName="v3.0"
+ android:sharedUserId="android.uid.system" >
<uses-sdk
android:minSdkVersion="19"
@@ -13,6 +14,7 @@
<application
+ android:name=".MyApplication"
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
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;
+ }
diff --git a/app/src/main/java/com/jwipc/nodka_alarmpower/MyApplication.java b/app/src/main/java/com/jwipc/nodka_alarmpower/MyApplication.java
new file mode 100644
index 0000000..a61c80b
--- /dev/null
+++ b/app/src/main/java/com/jwipc/nodka_alarmpower/MyApplication.java
@@ -0,0 +1,30 @@
+package com.jwipc.nodka_alarmpower;
+
+import android.app.Application;
+
+import com.nodka.api.NodkaAPI;
+
+public class MyApplication extends Application {
+
+ private NodkaAPI mNodkaAPI;
+ private static MyApplication mApp;
+
+ @Override
+ public void onCreate() {
+ super.onCreate();
+ mApp = this;
+ createNorcoAPI();
+ }
+
+ public static MyApplication getApplication() {
+ return mApp;
+ }
+
+ private void createNorcoAPI() {
+ mNodkaAPI = NodkaAPI.nodkaAPICreate(this);
+ }
+
+ public NodkaAPI getNodkaAPI() {
+ return mNodkaAPI;
+ }
+}
diff --git a/app/src/main/libs/arm64-v8a/libnodka-jni.so b/app/src/main/libs/arm64-v8a/libnodka-jni.so
new file mode 100644
index 0000000..6022198
--- /dev/null
+++ b/app/src/main/libs/arm64-v8a/libnodka-jni.so
Binary files differ
diff --git a/build.gradle b/build.gradle
index d2bd725..0d22e16 100644
--- a/build.gradle
+++ b/build.gradle
@@ -2,6 +2,7 @@
buildscript {
repositories {
jcenter()
+ google()
}
dependencies {
classpath 'com.android.tools.build:gradle:7.3.0'
@@ -11,5 +12,15 @@
allprojects {
repositories {
jcenter()
+ google()
+ }
+ gradle.projectsEvaluated {
+ tasks.withType(JavaCompile) {
+ Set<File> fileSet = options.bootstrapClasspath.getFiles()
+ List<File> newFileList = new ArrayList<>()
+ newFileList.add(new File("./app/libs/classes-full-debug.jar"))
+ newFileList.addAll(fileSet)
+ options.bootstrapClasspath = files(newFileList.toArray())
+ }
}
}
--
Gitblit v1.6.2