From b2dd8ca6ea52926382dabd0914efcc6b552267d1 Mon Sep 17 00:00:00 2001
From: hjw <hjw@ma.nodka.com>
Date: Thu, 20 Apr 2023 05:47:09 +0000
Subject: [PATCH] 适配安卓11
---
app/.gitignore | 1
app/src/main/AndroidManifest.xml | 1
app/src/main/java/com/jwipc/nodka_reboot_under/utils/Utils.java | 94 +++++++++++++++++++-----------
app/src/main/java/com/jwipc/nodka_reboot_under/BroadcastReceiver_Boot.java | 13 ++-
.idea/misc.xml | 2
app/src/main/java/com/jwipc/nodka_reboot_under/BroadcastReceiver_Power.java | 3
.idea/vcs.xml | 6 ++
app/keystore/platform.jks | 0
build.gradle | 2
app/src/main/java/com/jwipc/nodka_reboot_under/MyApplication.java | 31 ++++++++++
app/src/main/libs/arm64-v8a/libnodka-jni.so | 0
app/libs/NodkaAPI.jar | 0
app/build.gradle | 25 +++++++-
13 files changed, 132 insertions(+), 46 deletions(-)
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 5c9f89f..54d5acd 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ExternalStorageConfigurationManager" enabled="true" />
- <component name="ProjectRootManager" version="2" languageLevel="JDK_11" project-jdk-name="11" project-jdk-type="JavaSDK">
+ <component name="ProjectRootManager" version="2" languageLevel="JDK_11" default="true" project-jdk-name="11" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/build/classes" />
</component>
<component name="ProjectType">
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/.gitignore b/app/.gitignore
new file mode 100644
index 0000000..42afabf
--- /dev/null
+++ b/app/.gitignore
@@ -0,0 +1 @@
+/build
\ No newline at end of file
diff --git a/app/build.gradle b/app/build.gradle
index f4d1aff..74de442 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -5,13 +5,31 @@
buildToolsVersion "33.0.0"
defaultConfig {
- applicationId "com.jwipc.nodka_reboot_under"
+ applicationId "com.nodka.reboot_under"
minSdkVersion 25
targetSdkVersion 25
}
+ 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,7 @@
}
dependencies {
- compile 'com.android.support:support-v4:25.+'
- compile files('libs/spirit.jar')
+ implementation 'com.android.support:support-v4:25.+'
+ implementation files('libs/spirit.jar')
+ implementation files('libs/NodkaAPI.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 d28642f..894f659 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -13,6 +13,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_reboot_under/BroadcastReceiver_Boot.java b/app/src/main/java/com/jwipc/nodka_reboot_under/BroadcastReceiver_Boot.java
index 0d60699..fe9ad09 100644
--- a/app/src/main/java/com/jwipc/nodka_reboot_under/BroadcastReceiver_Boot.java
+++ b/app/src/main/java/com/jwipc/nodka_reboot_under/BroadcastReceiver_Boot.java
@@ -52,9 +52,12 @@
String is_repeat = mUtils.get_String_From_SharedPreferences(mUtils.set_time_reboot_repeat);
if(!is_repeat.equals("true"))
{
-
- AlarmPowerManager mAlarmPowerManager = new AlarmPowerManager();
- mAlarmPowerManager.removeAllalarmPower();
+ if (mUtils.isSpiritVersion()) {
+ AlarmPowerManager mAlarmPowerManager = new AlarmPowerManager();
+ mAlarmPowerManager.removeAllalarmPower();
+ } else {
+ MyApplication.getApplication().getNodkaAPI().alarm_removeAllalarmPower();
+ }
mUtils.remove_String_From_SharedPreferences(mUtils.repeat_alarm_poweron_time);
mUtils.remove_String_From_SharedPreferences(mUtils.repeat_alarm_poweroff_time);
@@ -66,7 +69,7 @@
- new Thread(new Runnable() {
+ /*new Thread(new Runnable() {
@Override
public void run() {
@@ -83,7 +86,7 @@
}
}
- }).start();
+ }).start();*/
}
}
diff --git a/app/src/main/java/com/jwipc/nodka_reboot_under/BroadcastReceiver_Power.java b/app/src/main/java/com/jwipc/nodka_reboot_under/BroadcastReceiver_Power.java
index b285ff6..49190be 100644
--- a/app/src/main/java/com/jwipc/nodka_reboot_under/BroadcastReceiver_Power.java
+++ b/app/src/main/java/com/jwipc/nodka_reboot_under/BroadcastReceiver_Power.java
@@ -11,7 +11,6 @@
public class BroadcastReceiver_Power extends BroadcastReceiver{
-
Utils mUtils = null;
SharedPreferences sharedPreferences;
@@ -103,7 +102,7 @@
String power_off_time = intent.getExtras().getString("shut_time", "");
String repeat = intent.getExtras().getString("repeat", "");
int power_type = intent.getExtras().getInt("power_type", -1);
-
+
switch (power_type) {
case 1:
//mUtils.reboot();
diff --git a/app/src/main/java/com/jwipc/nodka_reboot_under/MyApplication.java b/app/src/main/java/com/jwipc/nodka_reboot_under/MyApplication.java
new file mode 100644
index 0000000..f54af1e
--- /dev/null
+++ b/app/src/main/java/com/jwipc/nodka_reboot_under/MyApplication.java
@@ -0,0 +1,31 @@
+package com.jwipc.nodka_reboot_under;
+
+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);
+ mNodkaAPI.alarm_start();
+ }
+
+ public NodkaAPI getNodkaAPI() {
+ return mNodkaAPI;
+ }
+}
diff --git a/app/src/main/java/com/jwipc/nodka_reboot_under/utils/Utils.java b/app/src/main/java/com/jwipc/nodka_reboot_under/utils/Utils.java
index 46359c6..210c117 100644
--- a/app/src/main/java/com/jwipc/nodka_reboot_under/utils/Utils.java
+++ b/app/src/main/java/com/jwipc/nodka_reboot_under/utils/Utils.java
@@ -24,10 +24,15 @@
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.net.NetworkInfo.DetailedState;
+import android.os.Build;
import android.os.PowerManager;
import android.os.RemoteException;
import android.text.format.DateFormat;
import android.util.Log;
+
+import com.jwipc.nodka_reboot_under.MyApplication;
+import com.nodka.api.NodkaAPI;
+import com.nodka.api.NodkaNative;
public class Utils {
@@ -67,8 +72,7 @@
Thread thread_set_time_reboot = null;
Thread thread_STOP_WATCH_DOG = null;
Thread thread_AlarmPower_Repeat_Poweroff = null;
-
-
+
public Utils(Context context) {
@@ -80,7 +84,6 @@
sharedPreferences = context.getSharedPreferences(shapre, context.MODE_PRIVATE);
editor = sharedPreferences.edit();
}
-
public void shut_Down()
{
@@ -250,26 +253,30 @@
return;
}
-
- AlarmPowerManager mAlarmPowerManager = new AlarmPowerManager();
-
- mAlarmPowerManager.removeAllalarmPower();
-
+ if (isSpiritVersion()) {
+ new AlarmPowerManager().removeAllalarmPower();
+ setFileState("0", "/sys/class/minix-rtc/MCURTCDATA");
+ } else {
+ MyApplication.getApplication().getNodkaAPI().alarm_removeAllalarmPower();
+ setFileState("0", "/sys/class/minix-rtc/minix_RTC_DATA");
+ }
+
editor.putString(repeat_alarm_poweron_time, "");
editor.putString(repeat_alarm_poweroff_time, "");
editor.commit();
-
- setFileState("0", "/sys/class/minix-rtc/MCURTCDATA");
-
+
if(active)
{
if(repeat.equals("true"))
{
- SpiritAlarmManager mSpiritAlarmManager = new SpiritAlarmManager();
- mSpiritAlarmManager.setSpiritAlarmWithDay(1, hms_on[0], hms_on[1]);
-
- setFileState("1", "/sys/class/minix-rtc/MCURTCDATA");
-
+ if (isSpiritVersion()) {
+ new SpiritAlarmManager().setSpiritAlarmWithDay(1, hms_on[0], hms_on[1]);
+ setFileState("1", "/sys/class/minix-rtc/MCURTCDATA");
+ } else {
+ MyApplication.getApplication().getNodkaAPI().alarm_setSpiritAlarmWithDay(1, hms_on[0], hms_on[1]);
+ setFileState("1", "/sys/class/minix-rtc/minix_RTC_DATA");
+ }
+
editor.putString(repeat_alarm_poweron_time, hms_on[0]+":"+hms_on[1]+":"+0);
editor.putString(repeat_alarm_poweroff_time, hms_off[0]+":"+hms_off[1]+":"+0);
editor.commit();
@@ -284,22 +291,37 @@
editor.commit();
Calendar calendar = Calendar.getInstance();
-
- // 改接口 setSpiritAlarmWithDay()
- mAlarmPowerManager.CreatOneAlarmPower(calendar.get(Calendar.YEAR)+"",
- calendar.get(Calendar.MONTH)+1+"",
- calendar.get(Calendar.DAY_OF_MONTH)+"",
- hms_on[0]+"",
- hms_on[1]+"",
- hms_on[2]+"",
- hms_off[0]+"",
- hms_off[1]+"",
- hms_off[2]+"",
- hms_on[0]>12? "0":"1",
- hms_off[0]>12? "0":"1");
-
- mAlarmPowerManager.updateAlarmPowerActive(0, active+"");
-
+
+ if (isSpiritVersion()) {
+ // 改接口 setSpiritAlarmWithDay()
+ new AlarmPowerManager().CreatOneAlarmPower(calendar.get(Calendar.YEAR)+"",
+ calendar.get(Calendar.MONTH)+1+"",
+ calendar.get(Calendar.DAY_OF_MONTH)+"",
+ hms_on[0]+"",
+ hms_on[1]+"",
+ hms_on[2]+"",
+ hms_off[0]+"",
+ hms_off[1]+"",
+ hms_off[2]+"",
+ hms_on[0]>12? "0":"1",
+ hms_off[0]>12? "0":"1");
+
+ new AlarmPowerManager().updateAlarmPowerActive(0, active+"");
+ } else {
+ MyApplication.getApplication().getNodkaAPI().alarm_creatOneAlarmPower(calendar.get(Calendar.YEAR)+"",
+ calendar.get(Calendar.MONTH)+1+"",
+ calendar.get(Calendar.DAY_OF_MONTH)+"",
+ hms_on[0]+"",
+ hms_on[1]+"",
+ hms_on[2]+"",
+ hms_off[0]+"",
+ hms_off[1]+"",
+ hms_off[2]+"",
+ hms_on[0]>12? "0":"1",
+ hms_off[0]>12? "0":"1");
+
+ MyApplication.getApplication().getNodkaAPI().alarm_updateAlarmPowerActive(0, active+"");
+ }
}
}
}
@@ -667,7 +689,9 @@
return re;
}
-
-
-
+ public boolean isSpiritVersion() {
+ return Build.VERSION.SDK_INT <= 25;
+ }
+
+
}
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..22159b4
--- /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..53ae840 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,6 @@
allprojects {
repositories {
jcenter()
+ google()
}
}
--
Gitblit v1.6.2