diff --git a/melos.yaml b/melos.yaml
index 6c8cb77..d540194 100644
--- a/melos.yaml
+++ b/melos.yaml
@@ -39,7 +39,7 @@ scripts:
remove_from_coverage -f coverage/lcov.info -r "\.freezed\.dart$","\.g\.dart$","\.config\.dart$","generated_plugin_registrant.dart$"
environment:
- sdk: '>=2.12.0 <3.0.0'
+ sdk: ">=2.12.0 <3.5.0"
dev_dependencies:
lint: ^1.5.3
diff --git a/packages/apklis_direct_payment_checker/android/build.gradle b/packages/apklis_direct_payment_checker/android/build.gradle
index 367829a..a136ac0 100644
--- a/packages/apklis_direct_payment_checker/android/build.gradle
+++ b/packages/apklis_direct_payment_checker/android/build.gradle
@@ -25,7 +25,13 @@ apply plugin: 'com.android.library'
apply plugin: 'kotlin-android'
android {
+ namespace="com.fluttercuba.apklis_direct_payment_checker"
compileSdkVersion 30
+
+ compileOptions {
+ sourceCompatibility JavaVersion.VERSION_17
+ targetCompatibility JavaVersion.VERSION_17
+ }
sourceSets {
main.java.srcDirs += 'src/main/kotlin'
diff --git a/packages/apklis_direct_payment_checker/android/gradle/wrapper/gradle-wrapper.properties b/packages/apklis_direct_payment_checker/android/gradle/wrapper/gradle-wrapper.properties
index 01a286e..097de52 100644
--- a/packages/apklis_direct_payment_checker/android/gradle/wrapper/gradle-wrapper.properties
+++ b/packages/apklis_direct_payment_checker/android/gradle/wrapper/gradle-wrapper.properties
@@ -1,5 +1,6 @@
+#Sat Mar 29 01:08:23 CDT 2025
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
+distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.2-all.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.2-all.zip
diff --git a/packages/apklis_direct_payment_checker/android/src/main/AndroidManifest.xml b/packages/apklis_direct_payment_checker/android/src/main/AndroidManifest.xml
index d27d2ff..119d58d 100644
--- a/packages/apklis_direct_payment_checker/android/src/main/AndroidManifest.xml
+++ b/packages/apklis_direct_payment_checker/android/src/main/AndroidManifest.xml
@@ -1,5 +1,9 @@
+
+
+
+
-
+
\ No newline at end of file
diff --git a/packages/apklis_direct_payment_checker/android/src/main/kotlin/com/fluttercuba/apklis_direct_payment_checker/ApklisDirectPaymentCheckerPlugin.kt b/packages/apklis_direct_payment_checker/android/src/main/kotlin/com/fluttercuba/apklis_direct_payment_checker/ApklisDirectPaymentCheckerPlugin.kt
index 99ce803..09bcf40 100644
--- a/packages/apklis_direct_payment_checker/android/src/main/kotlin/com/fluttercuba/apklis_direct_payment_checker/ApklisDirectPaymentCheckerPlugin.kt
+++ b/packages/apklis_direct_payment_checker/android/src/main/kotlin/com/fluttercuba/apklis_direct_payment_checker/ApklisDirectPaymentCheckerPlugin.kt
@@ -26,7 +26,7 @@ class ApklisDirectPaymentCheckerPlugin : FlutterPlugin, MethodCallHandler {
override fun onMethodCall(@NonNull call: MethodCall, @NonNull result: Result) {
when (call.method) {
"isPurchased" -> {
- val packageId = call.arguments()
+ val packageId = call.arguments() ?: ""
val response = Verify.isPurchased(context, packageId)
val hashMap = HashMap()
hashMap["paid"] = response.first
diff --git a/packages/apklis_direct_payment_checker/android/src/main/kotlin/com/fluttercuba/apklis_direct_payment_checker/Verify.kt b/packages/apklis_direct_payment_checker/android/src/main/kotlin/com/fluttercuba/apklis_direct_payment_checker/Verify.kt
index ed1e0bd..f017c2a 100644
--- a/packages/apklis_direct_payment_checker/android/src/main/kotlin/com/fluttercuba/apklis_direct_payment_checker/Verify.kt
+++ b/packages/apklis_direct_payment_checker/android/src/main/kotlin/com/fluttercuba/apklis_direct_payment_checker/Verify.kt
@@ -8,7 +8,7 @@ import android.os.RemoteException
class Verify {
companion object {
- private const val APKLIS_PROVIDER = "content://cu.uci.android.apklis.payment.provider/app/"
+ private const val APKLIS_PROVIDER = "content://cu.uci.android.apklis.PaymentProvider/app/"
private const val APKLIS_PAID = "paid"
private const val APKLIS_USER_NAME = "user_name"
diff --git a/packages/apklis_direct_payment_checker/example/android/app/build.gradle b/packages/apklis_direct_payment_checker/example/android/app/build.gradle
index a02a877..269d271 100644
--- a/packages/apklis_direct_payment_checker/example/android/app/build.gradle
+++ b/packages/apklis_direct_payment_checker/example/android/app/build.gradle
@@ -1,3 +1,9 @@
+plugins {
+ id "com.android.application"
+ id "kotlin-android"
+ id "dev.flutter.flutter-gradle-plugin"
+}
+
def localProperties = new Properties()
def localPropertiesFile = rootProject.file('local.properties')
if (localPropertiesFile.exists()) {
@@ -6,10 +12,6 @@ if (localPropertiesFile.exists()) {
}
}
-def flutterRoot = localProperties.getProperty('flutter.sdk')
-if (flutterRoot == null) {
- throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.")
-}
def flutterVersionCode = localProperties.getProperty('flutter.versionCode')
if (flutterVersionCode == null) {
@@ -21,12 +23,15 @@ if (flutterVersionName == null) {
flutterVersionName = '1.0'
}
-apply plugin: 'com.android.application'
-apply plugin: 'kotlin-android'
-apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
android {
+ namespace="com.fluttercuba.apklis_direct_payment_checker_example"
compileSdkVersion 31
+
+ compileOptions {
+ sourceCompatibility JavaVersion.VERSION_17
+ targetCompatibility JavaVersion.VERSION_17
+ }
sourceSets {
main.java.srcDirs += 'src/main/kotlin'
@@ -39,8 +44,8 @@ android {
defaultConfig {
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
applicationId "com.fluttercuba.apklis_direct_payment_checker_example"
- minSdkVersion 16
- targetSdkVersion 31
+ minSdkVersion flutter.minSdkVersion
+ targetSdkVersion 33
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
}
@@ -57,7 +62,3 @@ android {
flutter {
source '../..'
}
-
-dependencies {
- implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
-}
diff --git a/packages/apklis_direct_payment_checker/example/android/app/proguard-rules.pro b/packages/apklis_direct_payment_checker/example/android/app/proguard-rules.pro
new file mode 100644
index 0000000..ea31dd0
--- /dev/null
+++ b/packages/apklis_direct_payment_checker/example/android/app/proguard-rules.pro
@@ -0,0 +1,33 @@
+#Flutter Wrapper
+-keep class io.flutter.app.** { *; }
+-keep class io.flutter.plugin.** { *; }
+-keep class io.flutter.util.** { *; }
+-keep class io.flutter.view.** { *; }
+-keep class io.flutter.** { *; }
+-keep class io.flutter.plugins.** { *; }
+
+# This is generated automatically by the Android Gradle plugin.
+-dontwarn androidx.window.extensions.WindowExtensions
+-dontwarn androidx.window.extensions.WindowExtensionsProvider
+-dontwarn androidx.window.extensions.area.ExtensionWindowAreaPresentation
+-dontwarn androidx.window.extensions.layout.DisplayFeature
+-dontwarn androidx.window.extensions.layout.FoldingFeature
+-dontwarn androidx.window.extensions.layout.WindowLayoutComponent
+-dontwarn androidx.window.extensions.layout.WindowLayoutInfo
+-dontwarn androidx.window.sidecar.SidecarDeviceState
+-dontwarn androidx.window.sidecar.SidecarDisplayFeature
+-dontwarn androidx.window.sidecar.SidecarInterface$SidecarCallback
+-dontwarn androidx.window.sidecar.SidecarInterface
+-dontwarn androidx.window.sidecar.SidecarProvider
+-dontwarn androidx.window.sidecar.SidecarWindowLayoutInfo
+-dontwarn com.google.android.play.core.splitcompat.SplitCompatApplication
+-dontwarn com.google.android.play.core.splitinstall.SplitInstallException
+-dontwarn com.google.android.play.core.splitinstall.SplitInstallManager
+-dontwarn com.google.android.play.core.splitinstall.SplitInstallManagerFactory
+-dontwarn com.google.android.play.core.splitinstall.SplitInstallRequest$Builder
+-dontwarn com.google.android.play.core.splitinstall.SplitInstallRequest
+-dontwarn com.google.android.play.core.splitinstall.SplitInstallSessionState
+-dontwarn com.google.android.play.core.splitinstall.SplitInstallStateUpdatedListener
+-dontwarn com.google.android.play.core.tasks.OnFailureListener
+-dontwarn com.google.android.play.core.tasks.OnSuccessListener
+-dontwarn com.google.android.play.core.tasks.Task
diff --git a/packages/apklis_direct_payment_checker/example/android/app/src/main/AndroidManifest.xml b/packages/apklis_direct_payment_checker/example/android/app/src/main/AndroidManifest.xml
index 65dc9fa..755d350 100644
--- a/packages/apklis_direct_payment_checker/example/android/app/src/main/AndroidManifest.xml
+++ b/packages/apklis_direct_payment_checker/example/android/app/src/main/AndroidManifest.xml
@@ -1,6 +1,10 @@
+ xmlns:tools="http://schemas.android.com/tools">
+
+
+
+
+
-
+
\ No newline at end of file
diff --git a/packages/apklis_direct_payment_checker/example/android/build.gradle b/packages/apklis_direct_payment_checker/example/android/build.gradle
index 53f4dbe..390e88d 100644
--- a/packages/apklis_direct_payment_checker/example/android/build.gradle
+++ b/packages/apklis_direct_payment_checker/example/android/build.gradle
@@ -1,20 +1,20 @@
-buildscript {
- ext.kotlin_version = '1.6.10'
+
+allprojects {
repositories {
google()
jcenter()
}
-
- dependencies {
- classpath 'com.android.tools.build:gradle:7.1.1'
- classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
- }
}
-allprojects {
- repositories {
- google()
- jcenter()
+subprojects {
+ afterEvaluate { project ->
+ if (project.plugins.hasPlugin("com.android.application") ||
+ project.plugins.hasPlugin("com.android.library")) {
+ project.android {
+ compileSdkVersion 34
+ buildToolsVersion "34.0.0"
+ }
+ }
}
}
@@ -24,6 +24,6 @@ subprojects {
project.evaluationDependsOn(':app')
}
-task clean(type: Delete) {
+tasks.register("clean", Delete) {
delete rootProject.buildDir
}
diff --git a/packages/apklis_direct_payment_checker/example/android/gradle/wrapper/gradle-wrapper.properties b/packages/apklis_direct_payment_checker/example/android/gradle/wrapper/gradle-wrapper.properties
index cc5527d..db18181 100644
--- a/packages/apklis_direct_payment_checker/example/android/gradle/wrapper/gradle-wrapper.properties
+++ b/packages/apklis_direct_payment_checker/example/android/gradle/wrapper/gradle-wrapper.properties
@@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.2-all.zip
diff --git a/packages/apklis_direct_payment_checker/example/android/settings.gradle b/packages/apklis_direct_payment_checker/example/android/settings.gradle
index 44e62bc..43f93b7 100644
--- a/packages/apklis_direct_payment_checker/example/android/settings.gradle
+++ b/packages/apklis_direct_payment_checker/example/android/settings.gradle
@@ -1,11 +1,25 @@
-include ':app'
+pluginManagement {
+ def flutterSdkPath = {
+ def properties = new Properties()
+ file("local.properties").withInputStream { properties.load(it) }
+ def flutterSdkPath = properties.getProperty("flutter.sdk")
+ assert flutterSdkPath != null, "flutter.sdk not set in local.properties"
+ return flutterSdkPath
+ }()
-def localPropertiesFile = new File(rootProject.projectDir, "local.properties")
-def properties = new Properties()
+ includeBuild("$flutterSdkPath/packages/flutter_tools/gradle")
-assert localPropertiesFile.exists()
-localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) }
+ repositories {
+ google()
+ mavenCentral()
+ gradlePluginPortal()
+ }
+}
-def flutterSdkPath = properties.getProperty("flutter.sdk")
-assert flutterSdkPath != null, "flutter.sdk not set in local.properties"
-apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle"
+plugins {
+ id "dev.flutter.flutter-plugin-loader" version "1.0.0"
+ id 'com.android.library' version '8.8.2' apply false
+ id 'org.jetbrains.kotlin.android' version '2.1.10' apply false
+}
+
+include ":app"
\ No newline at end of file
diff --git a/packages/apklis_direct_payment_checker/pubspec.yaml b/packages/apklis_direct_payment_checker/pubspec.yaml
index b7ad6d5..e6176aa 100644
--- a/packages/apklis_direct_payment_checker/pubspec.yaml
+++ b/packages/apklis_direct_payment_checker/pubspec.yaml
@@ -5,13 +5,13 @@ version: 0.0.1+2
homepage: https://github.com/fluttercuba/apklis-dart-flutter
environment:
- sdk: '>=2.12.0 <3.0.0'
- flutter: '>=1.20.0'
+ sdk: ">=2.12.0 <3.0.0"
+ flutter: ">=1.20.0"
dependencies:
flutter:
sdk: flutter
- package_info_plus: ^1.0.6
+ package_info_plus: ^4.2.0
dev_dependencies:
build_runner: ^2.0.4
diff --git a/packages/apklis_direct_payment_checker/test/apklis_direct_payment_checker_test.dart b/packages/apklis_direct_payment_checker/test/apklis_direct_payment_checker_test.dart
index 4009c08..3a08cf5 100644
--- a/packages/apklis_direct_payment_checker/test/apklis_direct_payment_checker_test.dart
+++ b/packages/apklis_direct_payment_checker/test/apklis_direct_payment_checker_test.dart
@@ -9,13 +9,16 @@ void main() {
TestWidgetsFlutterBinding.ensureInitialized();
setUp(() {
- channel.setMockMethodCallHandler((MethodCall methodCall) async {
+ handler(MethodCall methodCall) async {
return {
'paid': false,
'username': 'example',
};
- });
- PackageInfo.disablePackageInfoPlatformOverride = true;
+ }
+
+ TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger
+ .setMockMethodCallHandler(channel, handler);
+
PackageInfo.setMockInitialValues(
appName: 'App Example',
packageName: 'com.example.nova.prosalud',
@@ -26,8 +29,11 @@ void main() {
});
tearDown(() {
- channel.setMockMethodCallHandler(null);
- PackageInfo.disablePackageInfoPlatformOverride = false;
+ TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger
+ .setMockMethodCallHandler(
+ channel,
+ null,
+ );
});
test('isPurchased with packageId', () async {
diff --git a/packages/apklis_web_api/lib/apklis_web_api.dart b/packages/apklis_web_api/lib/apklis_web_api.dart
index ea357fa..b2369dc 100644
--- a/packages/apklis_web_api/lib/apklis_web_api.dart
+++ b/packages/apklis_web_api/lib/apklis_web_api.dart
@@ -8,7 +8,7 @@ abstract class ApklisWebApi {
static Uri buildUri(List apps) {
final uri = Uri.https(
'api.apklis.cu',
- 'v2/application',
+ 'v3/application',
{'package_name': apps},
);
return uri;
diff --git a/packages/apklis_web_api/test/apklis_web_api_test.dart b/packages/apklis_web_api/test/apklis_web_api_test.dart
index 4e6deca..0138074 100644
--- a/packages/apklis_web_api/test/apklis_web_api_test.dart
+++ b/packages/apklis_web_api/test/apklis_web_api_test.dart
@@ -15,7 +15,7 @@ void main() {
test('check build uri', () {
final apps = ['com.example.app1', 'com.example.app2'];
final queryString = apps.map((e) => 'package_name=$e').join('&');
- final url = '${ApklisWebApi.API_URL}/v2/application?$queryString';
+ final url = '${ApklisWebApi.API_URL}/v3/application?$queryString';
final uri = ApklisWebApi.buildUri(apps);
expect(uri.toString(), url);
});
diff --git a/pubspec.yaml b/pubspec.yaml
new file mode 100644
index 0000000..c9e4df7
--- /dev/null
+++ b/pubspec.yaml
@@ -0,0 +1,7 @@
+name: apklis_dart_flutter
+
+environment:
+ sdk: ">=2.12.0 <=3.5.1"
+
+dev_dependencies:
+ melos: 6.0.0