diff --git a/test-apps/daily-notification-test/android/app/build.gradle b/test-apps/daily-notification-test/android/app/build.gradle
index dfe0fe4..591f302 100644
--- a/test-apps/daily-notification-test/android/app/build.gradle
+++ b/test-apps/daily-notification-test/android/app/build.gradle
@@ -40,6 +40,10 @@ dependencies {
implementation "androidx.coordinatorlayout:coordinatorlayout:$androidxCoordinatorLayoutVersion"
implementation "androidx.core:core-splashscreen:$coreSplashScreenVersion"
implementation project(':capacitor-android')
+
+ // Capacitor annotation processor for automatic plugin discovery
+ annotationProcessor project(':capacitor-android')
+
testImplementation "junit:junit:$junitVersion"
androidTestImplementation "androidx.test.ext:junit:$androidxJunitVersion"
androidTestImplementation "androidx.test.espresso:espresso-core:$androidxEspressoCoreVersion"
diff --git a/test-apps/daily-notification-test/android/app/src/main/java/com/timesafari/dailynotification/test/MainActivity.java b/test-apps/daily-notification-test/android/app/src/main/java/com/timesafari/dailynotification/test/MainActivity.java
index 8f2403c..21410df 100644
--- a/test-apps/daily-notification-test/android/app/src/main/java/com/timesafari/dailynotification/test/MainActivity.java
+++ b/test-apps/daily-notification-test/android/app/src/main/java/com/timesafari/dailynotification/test/MainActivity.java
@@ -1,24 +1,10 @@
package com.timesafari.dailynotification.test;
import com.getcapacitor.BridgeActivity;
-import com.timesafari.dailynotification.DailyNotificationPlugin;
public class MainActivity extends BridgeActivity {
@Override
public void onCreate(android.os.Bundle savedInstanceState) {
- android.util.Log.d("MainActivity", "MainActivity.onCreate() called - START");
-
- // Register the DailyNotification plugin BEFORE calling super.onCreate()
- android.util.Log.d("MainActivity", "Registering DailyNotification plugin...");
- try {
- registerPlugin(DailyNotificationPlugin.class);
- android.util.Log.d("MainActivity", "DailyNotification plugin registered successfully");
- } catch (Exception e) {
- android.util.Log.e("MainActivity", "Failed to register DailyNotification plugin", e);
- }
-
super.onCreate(savedInstanceState);
- android.util.Log.d("MainActivity", "MainActivity.onCreate() - after super.onCreate()");
- android.util.Log.d("MainActivity", "MainActivity.onCreate() called - END");
}
}
diff --git a/test-apps/daily-notification-test/android/dailynotification/build.gradle b/test-apps/daily-notification-test/android/dailynotification/build.gradle
index 78a473b..95e5a48 100644
--- a/test-apps/daily-notification-test/android/dailynotification/build.gradle
+++ b/test-apps/daily-notification-test/android/dailynotification/build.gradle
@@ -19,4 +19,7 @@ android {
dependencies {
implementation project(':capacitor-android')
+
+ // Capacitor annotation processor for automatic plugin discovery
+ annotationProcessor project(':capacitor-android')
}
diff --git a/test-apps/daily-notification-test/scripts/fix-capacitor-plugins.js b/test-apps/daily-notification-test/scripts/fix-capacitor-plugins.js
new file mode 100755
index 0000000..1badebd
--- /dev/null
+++ b/test-apps/daily-notification-test/scripts/fix-capacitor-plugins.js
@@ -0,0 +1,58 @@
+#!/usr/bin/env node
+
+/**
+ * Post-sync script to fix capacitor.plugins.json
+ * This ensures the DailyNotification plugin is always registered
+ * even after npx cap sync overwrites the file
+ *
+ * @author Matthew Raymer
+ */
+
+import fs from 'fs';
+import path from 'path';
+import { fileURLToPath } from 'url';
+
+const __filename = fileURLToPath(import.meta.url);
+const __dirname = path.dirname(__filename);
+
+const PLUGINS_JSON_PATH = path.join(__dirname, '../android/app/src/main/assets/capacitor.plugins.json');
+
+const PLUGIN_ENTRY = {
+ name: "DailyNotification",
+ classpath: "com.timesafari.dailynotification.DailyNotificationPlugin"
+};
+
+function fixCapacitorPlugins() {
+ console.log('🔧 Fixing capacitor.plugins.json...');
+
+ try {
+ // Read current content
+ let plugins = [];
+ if (fs.existsSync(PLUGINS_JSON_PATH)) {
+ const content = fs.readFileSync(PLUGINS_JSON_PATH, 'utf8');
+ plugins = JSON.parse(content);
+ }
+
+ // Check if our plugin is already there
+ const hasPlugin = plugins.some(p => p.name === PLUGIN_ENTRY.name);
+
+ if (!hasPlugin) {
+ plugins.push(PLUGIN_ENTRY);
+ fs.writeFileSync(PLUGINS_JSON_PATH, JSON.stringify(plugins, null, 2));
+ console.log('✅ Added DailyNotification plugin to capacitor.plugins.json');
+ } else {
+ console.log('✅ DailyNotification plugin already exists in capacitor.plugins.json');
+ }
+
+ } catch (error) {
+ console.error('❌ Error fixing capacitor.plugins.json:', error.message);
+ process.exit(1);
+ }
+}
+
+// Run if called directly
+if (import.meta.url === `file://${process.argv[1]}`) {
+ fixCapacitorPlugins();
+}
+
+export { fixCapacitorPlugins };
diff --git a/test-apps/daily-notification-test/src/components/cards/ActionCard.vue b/test-apps/daily-notification-test/src/components/cards/ActionCard.vue
index 0e51892..7236db5 100644
--- a/test-apps/daily-notification-test/src/components/cards/ActionCard.vue
+++ b/test-apps/daily-notification-test/src/components/cards/ActionCard.vue
@@ -36,7 +36,13 @@ class ActionCard extends Vue {
@Prop({ type: Boolean, default: false }) loading!: boolean
handleClick() {
- if (!this.loading) this.$emit('click')
+ console.log('🔄 ActionCard handleClick called for:', this.title)
+ if (!this.loading) {
+ console.log('🔄 ActionCard emitting click event for:', this.title)
+ this.$emit('click')
+ } else {
+ console.log('🔄 ActionCard click ignored - loading state')
+ }
}
}
diff --git a/test-apps/daily-notification-test/src/router/index.ts b/test-apps/daily-notification-test/src/router/index.ts
index 4ebcade..08ff043 100644
--- a/test-apps/daily-notification-test/src/router/index.ts
+++ b/test-apps/daily-notification-test/src/router/index.ts
@@ -1,5 +1,5 @@
import { createRouter, createWebHistory } from 'vue-router'
-import HomeViewSimple from '../views/HomeViewSimple.vue'
+import HomeView from '../views/HomeView.vue'
const router = createRouter({
history: createWebHistory(import.meta.env.BASE_URL),
@@ -7,7 +7,7 @@ const router = createRouter({
{
path: '/',
name: 'Home',
- component: HomeViewSimple,
+ component: HomeView,
meta: {
title: 'Daily Notification Test',
requiresAuth: false
diff --git a/test-apps/daily-notification-test/src/views/HomeView.vue b/test-apps/daily-notification-test/src/views/HomeView.vue
index 3fcd196..ed73a64 100644
--- a/test-apps/daily-notification-test/src/views/HomeView.vue
+++ b/test-apps/daily-notification-test/src/views/HomeView.vue
@@ -100,7 +100,7 @@