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