hjw
2023-04-20 a75addbc22f25b5fb219d3979f7bcd9cbf4942c3
适配安卓11
5 files modified
5 files added
169 ■■■■ changed files
.idea/gradle.xml 1 ●●●● patch | view | raw | blame | history
.idea/vcs.xml 6 ●●●●● patch | view | raw | blame | history
app/build.gradle 26 ●●●● patch | view | raw | blame | history
app/keystore/platform.jks patch | view | raw | blame | history
app/libs/NodkaAPI.jar patch | view | raw | blame | history
app/src/main/AndroidManifest.xml 4 ●●● patch | view | raw | blame | history
app/src/main/java/com/jwipc/nodka_alarmpower/MainActivity.java 91 ●●●● patch | view | raw | blame | history
app/src/main/java/com/jwipc/nodka_alarmpower/MyApplication.java 30 ●●●●● patch | view | raw | blame | history
app/src/main/libs/arm64-v8a/libnodka-jni.so patch | view | raw | blame | history
build.gradle 11 ●●●●● patch | view | raw | blame | history
.idea/gradle.xml
....@@ -1,5 +1,6 @@
11 <?xml version="1.0" encoding="UTF-8"?>
22 <project version="4">
3
+ <component name="GradleMigrationSettings" migrationVersion="1" />
34 <component name="GradleSettings">
45 <option name="linkedExternalProjectsSettings">
56 <GradleProjectSettings>
.idea/vcs.xml
....@@ -0,0 +1,6 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<project version="4">
3
+ <component name="VcsDirectoryMappings">
4
+ <mapping directory="$PROJECT_DIR$" vcs="Git" />
5
+ </component>
6
+</project>
app/build.gradle
....@@ -5,13 +5,31 @@
55 buildToolsVersion "33.0.0"
66
77 defaultConfig {
8
- applicationId "com.jwipc.nodka_alarmpower"
8
+ applicationId "com.nodka.alarmpower"
99 minSdkVersion 19
1010 targetSdkVersion 19
1111 }
1212
13
+ sourceSets.main {
14
+ jni.srcDirs = []
15
+ jniLibs.srcDir "src/main/libs"
16
+ }
17
+
18
+ signingConfigs {
19
+ platformkeystore {
20
+ keyAlias "platform"
21
+ keyPassword "android"
22
+ storeFile file('../app/keystore/platform.jks')
23
+ storePassword "android"
24
+ }
25
+ }
26
+
1327 buildTypes {
28
+ debug {
29
+ signingConfig signingConfigs.platformkeystore
30
+ }
1431 release {
32
+ signingConfig signingConfigs.platformkeystore
1533 minifyEnabled false
1634 proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
1735 }
....@@ -19,6 +37,8 @@
1937 }
2038
2139 dependencies {
22
- compile 'com.android.support:support-v4:25.+'
23
- compile files('libs/spiritv1.3.jar')
40
+ implementation 'com.android.support:support-v4:25.+'
41
+ implementation files('libs/spiritv1.3.jar')
42
+ implementation files('libs/NodkaAPI.jar')
43
+// compileOnly files('libs/classes-full-debug.jar')
2444 }
app/keystore/platform.jks
Binary files differ
app/libs/NodkaAPI.jar
Binary files differ
app/src/main/AndroidManifest.xml
....@@ -1,7 +1,8 @@
11 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
22 package="com.jwipc.nodka_alarmpower"
33 android:versionCode="3"
4
- android:versionName="v3.0" >
4
+ android:versionName="v3.0"
5
+ android:sharedUserId="android.uid.system" >
56
67 <uses-sdk
78 android:minSdkVersion="19"
....@@ -13,6 +14,7 @@
1314
1415
1516 <application
17
+ android:name=".MyApplication"
1618 android:allowBackup="true"
1719 android:icon="@drawable/ic_launcher"
1820 android:label="@string/app_name"
app/src/main/java/com/jwipc/nodka_alarmpower/MainActivity.java
....@@ -15,6 +15,7 @@
1515 import android.content.pm.PackageManager.NameNotFoundException;
1616 import android.hardware.spirit.AlarmPowerItem;
1717 import android.hardware.spirit.AlarmPowerManager;
18
+import android.os.Build;
1819 import android.os.Bundle;
1920 import android.os.Handler;
2021 import android.os.Message;
....@@ -42,6 +43,8 @@
4243 import android.widget.TimePicker;
4344 import android.widget.TimePicker.OnTimeChangedListener;
4445 import android.provider.Settings;
46
+
47
+import com.nodka.api.alarm.SpiritAlarmItem;
4548
4649 public class MainActivity extends Activity{
4750
....@@ -347,40 +350,72 @@
347350 sendBroadcast(new Intent("android.intent.action.NDJ_GET_ALARM_REBOOT"));
348351
349352 try {
350
- AlarmPowerManager mAlarmPowerManager = new AlarmPowerManager();
351
-
352
- List<AlarmPowerItem> list_AlarmPowerItem = mAlarmPowerManager.getAlarmPowerList();
353
-
354
- if(list_AlarmPowerItem != null)
355
- {
356
- if(list_AlarmPowerItem.size() > 0)
353
+ if (isSpiritVersion()) {
354
+ AlarmPowerManager mAlarmPowerManager = new AlarmPowerManager();
355
+
356
+ List<AlarmPowerItem> list_AlarmPowerItem = mAlarmPowerManager.getAlarmPowerList();
357
+ if(list_AlarmPowerItem != null)
357358 {
358
-
359
- AlarmPowerItem mAlarmPowerItem = list_AlarmPowerItem.get(0);
360
-
361
- Message msg_on = new Message();
362
- msg_on.what = set_AlarmPower_on;
363
- msg_on.obj = mAlarmPowerItem.getAlarmPowerOnHour() + ":" + mAlarmPowerItem.getAlarmPowerOnMinute() + ":" + mAlarmPowerItem.getAlarmPowerOnSecond();
364
- time_alarm_power_on = (String) msg_on.obj;
365
- handler.sendMessage(msg_on);
366
-
367
- Message msg_off = new Message();
368
- msg_off.what = set_AlarmPower_off;
369
- msg_off.obj = mAlarmPowerItem.getAlarmPowerOffHour() + ":" + mAlarmPowerItem.getAlarmPowerOffMinute() + ":" + mAlarmPowerItem.getAlarmPowerOffSecond();
370
- time_alarm_power_off = (String) msg_off.obj;
371
- handler.sendMessage(msg_off);
372
-
373
-
359
+ if(list_AlarmPowerItem.size() > 0)
360
+ {
361
+
362
+ AlarmPowerItem mAlarmPowerItem = list_AlarmPowerItem.get(0);
363
+
364
+ Message msg_on = new Message();
365
+ msg_on.what = set_AlarmPower_on;
366
+ msg_on.obj = mAlarmPowerItem.getAlarmPowerOnHour() + ":" + mAlarmPowerItem.getAlarmPowerOnMinute() + ":" + mAlarmPowerItem.getAlarmPowerOnSecond();
367
+ time_alarm_power_on = (String) msg_on.obj;
368
+ handler.sendMessage(msg_on);
369
+
370
+ Message msg_off = new Message();
371
+ msg_off.what = set_AlarmPower_off;
372
+ msg_off.obj = mAlarmPowerItem.getAlarmPowerOffHour() + ":" + mAlarmPowerItem.getAlarmPowerOffMinute() + ":" + mAlarmPowerItem.getAlarmPowerOffSecond();
373
+ time_alarm_power_off = (String) msg_off.obj;
374
+ handler.sendMessage(msg_off);
375
+
376
+
374377 /*Message msg_check_AlarmPower_repeat = new Message();
375378 msg_check_AlarmPower_repeat.what = set_check_AlarmPower_repeat;
376379 msg_check_AlarmPower_repeat.obj = mAlarmPowerItem.getAlarmPowerRepeat().equals("true") ? true : false;
377380 time_alarm_power_repeat = mAlarmPowerItem.getAlarmPowerRepeat();
378381 handler.sendMessage(msg_check_AlarmPower_repeat);*/
379
-
382
+
383
+ }
384
+ }
385
+
386
+
387
+
388
+ } else {
389
+ List<SpiritAlarmItem> spiritAlarmItems = MyApplication.getApplication().getNodkaAPI().alarm_getAlarmPowerList();
390
+ if (spiritAlarmItems != null) {
391
+ if (spiritAlarmItems.size() > 0) {
392
+
393
+ SpiritAlarmItem mSpiritAlarmItem = spiritAlarmItems.get(0);
394
+
395
+ Message msg_on = new Message();
396
+ msg_on.what = set_AlarmPower_on;
397
+ msg_on.obj = mSpiritAlarmItem.getAlarmPowerOnHour() + ":" + mSpiritAlarmItem.getAlarmPowerOnMinute() + ":" + mSpiritAlarmItem.getAlarmPowerOnSecond();
398
+ time_alarm_power_on = (String) msg_on.obj;
399
+ handler.sendMessage(msg_on);
400
+
401
+ Message msg_off = new Message();
402
+ msg_off.what = set_AlarmPower_off;
403
+ msg_off.obj = mSpiritAlarmItem.getAlarmPowerOffHour() + ":" + mSpiritAlarmItem.getAlarmPowerOffMinute() + ":" + mSpiritAlarmItem.getAlarmPowerOffSecond();
404
+ time_alarm_power_off = (String) msg_off.obj;
405
+ handler.sendMessage(msg_off);
406
+
407
+
408
+ /*Message msg_check_AlarmPower_repeat = new Message();
409
+ msg_check_AlarmPower_repeat.what = set_check_AlarmPower_repeat;
410
+ msg_check_AlarmPower_repeat.obj = mAlarmPowerItem.getAlarmPowerRepeat().equals("true") ? true : false;
411
+ time_alarm_power_repeat = mAlarmPowerItem.getAlarmPowerRepeat();
412
+ handler.sendMessage(msg_check_AlarmPower_repeat);*/
413
+
414
+ }
380415 }
381416 }
382417
383
- } catch (RemoteException e) {
418
+ } catch (Exception e) {
384419 // TODO Auto-generated catch block
385420 e.printStackTrace();
386421 }
....@@ -533,8 +568,10 @@
533568
534569 return npList;
535570 }
536
-
537
-
571
+
572
+ public boolean isSpiritVersion() {
573
+ return Build.VERSION.SDK_INT <= 25;
574
+ }
538575
539576
540577
app/src/main/java/com/jwipc/nodka_alarmpower/MyApplication.java
....@@ -0,0 +1,30 @@
1
+package com.jwipc.nodka_alarmpower;
2
+
3
+import android.app.Application;
4
+
5
+import com.nodka.api.NodkaAPI;
6
+
7
+public class MyApplication extends Application {
8
+
9
+ private NodkaAPI mNodkaAPI;
10
+ private static MyApplication mApp;
11
+
12
+ @Override
13
+ public void onCreate() {
14
+ super.onCreate();
15
+ mApp = this;
16
+ createNorcoAPI();
17
+ }
18
+
19
+ public static MyApplication getApplication() {
20
+ return mApp;
21
+ }
22
+
23
+ private void createNorcoAPI() {
24
+ mNodkaAPI = NodkaAPI.nodkaAPICreate(this);
25
+ }
26
+
27
+ public NodkaAPI getNodkaAPI() {
28
+ return mNodkaAPI;
29
+ }
30
+}
app/src/main/libs/arm64-v8a/libnodka-jni.so
Binary files differ
build.gradle
....@@ -2,6 +2,7 @@
22 buildscript {
33 repositories {
44 jcenter()
5
+ google()
56 }
67 dependencies {
78 classpath 'com.android.tools.build:gradle:7.3.0'
....@@ -11,5 +12,15 @@
1112 allprojects {
1213 repositories {
1314 jcenter()
15
+ google()
16
+ }
17
+ gradle.projectsEvaluated {
18
+ tasks.withType(JavaCompile) {
19
+ Set<File> fileSet = options.bootstrapClasspath.getFiles()
20
+ List<File> newFileList = new ArrayList<>()
21
+ newFileList.add(new File("./app/libs/classes-full-debug.jar"))
22
+ newFileList.addAll(fileSet)
23
+ options.bootstrapClasspath = files(newFileList.toArray())
24
+ }
1425 }
1526 }