- Add BatteryOptimizationSettings class for centralized power management - Implement adaptive scheduling based on power state and battery level - Add comprehensive battery monitoring and status tracking - Improve notification reliability with WorkManager integration - Add maintenance worker for background tasks - Enhance logging with structured DailyNotificationLogger - Add configuration management with DailyNotificationConfig - Define constants in DailyNotificationConstants - Improve error handling and recovery mechanisms Security: - Add proper permission checks for battery optimization - Implement secure wake lock management - Add validation for notification parameters - Use FLAG_IMMUTABLE for PendingIntents - Implement proper cleanup in handleOnDestroy Testing: - Add test coverage for battery optimization features - Add test coverage for notification scheduling - Add test coverage for power state management - Add test coverage for maintenance tasks Documentation: - Add comprehensive file-level documentation - Add method-level documentation - Add security considerations - Add performance optimization notes This commit improves the Android implementation's reliability and battery efficiency while maintaining feature parity with iOS. It adds robust error handling, logging, and configuration management to make the plugin more maintainable and debuggable.
43 lines
1.2 KiB
Kotlin
43 lines
1.2 KiB
Kotlin
/*
|
|
* This file was generated by the Gradle 'init' task.
|
|
*
|
|
* This generated file contains a sample Java library project to get you started.
|
|
* For more details on building Java & JVM projects, please refer to https://docs.gradle.org/8.13/userguide/building_java_projects.html in the Gradle documentation.
|
|
* This project uses @Incubating APIs which are subject to change.
|
|
*/
|
|
|
|
plugins {
|
|
// Apply the java-library plugin for API and implementation separation.
|
|
`java-library`
|
|
}
|
|
|
|
repositories {
|
|
// Use Maven Central for resolving dependencies.
|
|
mavenCentral()
|
|
}
|
|
|
|
dependencies {
|
|
// This dependency is exported to consumers, that is to say found on their compile classpath.
|
|
api(libs.commons.math3)
|
|
|
|
// This dependency is used internally, and not exposed to consumers on their own compile classpath.
|
|
implementation(libs.guava)
|
|
}
|
|
|
|
testing {
|
|
suites {
|
|
// Configure the built-in test suite
|
|
val test by getting(JvmTestSuite::class) {
|
|
// Use JUnit Jupiter test framework
|
|
useJUnitJupiter("5.11.3")
|
|
}
|
|
}
|
|
}
|
|
|
|
// Apply a specific Java toolchain to ease working on different environments.
|
|
java {
|
|
toolchain {
|
|
languageVersion = JavaLanguageVersion.of(21)
|
|
}
|
|
}
|