refactor(android,ios): rename package com.timesafari to org.timesafari.dailynotification

- Android: move plugin source to org/timesafari/dailynotification, update
  namespace, manifest package, and all package/imports; change intent actions
  to org.timesafari.daily.NOTIFICATION and DISMISS
- iOS: update bundle IDs, BGTask identifiers, subsystem labels, and queue
  names in Plugin and Xcode projects
- Capacitor: update plugin class registration and appIds in configs
- Test apps (android-test-app, daily-notification-test, ios-test-app):
  applicationId/bundleId, manifests, ProGuard, scripts, and docs
- Docs: bulk update references; add CONSUMING_APP_MIGRATION_COM_TO_ORG.md
  for consuming app migration

BREAKING CHANGE: Consuming apps must update plugin class to
org.timesafari.dailynotification.DailyNotificationPlugin, manifest
receivers/actions, and iOS BGTask identifiers per migration doc.
This commit is contained in:
Jose Olarte III
2026-03-12 14:26:07 +08:00
parent b8d9b6247d
commit d8a0eaf413
171 changed files with 749 additions and 646 deletions

View File

@@ -426,7 +426,7 @@ build_ios_test_app() {
# Uninstall existing app (if present) to ensure clean install
log_step "Uninstalling existing app (if present)..."
APP_BUNDLE_ID="com.timesafari.dailynotification.test"
APP_BUNDLE_ID="org.timesafari.dailynotification.test"
if xcrun simctl uninstall "$SIMULATOR_ID" "$APP_BUNDLE_ID" 2>&1; then
log_info "Existing app uninstalled"
else
@@ -457,7 +457,7 @@ build_ios_test_app() {
sleep 2
# Method 1: Direct launch (capture output to check for errors)
# Note: Bundle ID is com.timesafari.dailynotification.test
# Note: Bundle ID is org.timesafari.dailynotification.test
log_info "Attempting to launch app..."
LAUNCH_OUTPUT=$(xcrun simctl launch "$SIMULATOR_ID" "$APP_BUNDLE_ID" 2>&1)
LAUNCH_EXIT_CODE=$?
@@ -534,7 +534,7 @@ build_ios_test_app() {
log_info ""
log_info "To run on simulator manually:"
log_info " xcrun simctl install booted \"$APP_PATH\""
log_info " xcrun simctl launch booted com.timesafari.dailynotification.test"
log_info " xcrun simctl launch booted org.timesafari.dailynotification.test"
fi
else
log_warn "Could not find built app in DerivedData"

View File

@@ -15,8 +15,8 @@ BLUE='\033[0;34m'
NC='\033[0m' # No Color
# Test configuration
APP_PACKAGE="com.timesafari.dailynotification"
APP_ACTIVITY="com.timesafari.dailynotification.MainActivity"
APP_PACKAGE="org.timesafari.dailynotification"
APP_ACTIVITY="org.timesafari.dailynotification.MainActivity"
TEST_TIMEOUT=30
NOTIFICATION_DELAY=5 # 5 minutes for testing

View File

@@ -27,7 +27,7 @@ class TestCase:
error: Optional[str] = None
class DailyNotificationTester:
def __init__(self, package: str = "com.timesafari.dailynotification", verbose: bool = False):
def __init__(self, package: str = "org.timesafari.dailynotification", verbose: bool = False):
self.package = package
self.activity = f"{package}/.MainActivity"
self.verbose = verbose
@@ -238,7 +238,7 @@ class DailyNotificationTester:
def main():
parser = argparse.ArgumentParser(description="DailyNotification Plugin Test Suite")
parser.add_argument("-v", "--verbose", action="store_true", help="Enable verbose output")
parser.add_argument("-p", "--package", default="com.timesafari.dailynotification", help="App package name")
parser.add_argument("-p", "--package", default="org.timesafari.dailynotification", help="App package name")
parser.add_argument("-o", "--output", help="Output report to JSON file")
parser.add_argument("--timeout", type=int, default=120, help="Test timeout in seconds")

View File

@@ -5,7 +5,7 @@
set -e
# Configuration
APP_PACKAGE="com.timesafari.dailynotification"
APP_PACKAGE="org.timesafari.dailynotification"
APP_ACTIVITY=".MainActivity"
TEST_TIMEOUT=120 # 2 minutes
LOG_TAG="DailyNotification"

View File

@@ -3,7 +3,7 @@
set -e
APP_PACKAGE="com.timesafari.dailynotification"
APP_PACKAGE="org.timesafari.dailynotification"
APP_ACTIVITY=".MainActivity"
echo "🔄 DailyNotification Reboot Test Suite v2.0"

View File

@@ -5,7 +5,7 @@
set -e
# Configuration
APP_PACKAGE="com.timesafari.dailynotification"
APP_PACKAGE="org.timesafari.dailynotification"
APP_ACTIVITY=".MainActivity"
BOOT_WAIT_TIME=60 # Wait 60 seconds for boot completion
RECOVERY_TIMEOUT=30 # Wait 30 seconds for recovery

View File

@@ -112,7 +112,7 @@ setup_ios_test_app() {
log_step "Creating capacitor.config.json..."
cat > "capacitor.config.json" << 'EOF'
{
"appId": "com.timesafari.dailynotification.test",
"appId": "org.timesafari.dailynotification.test",
"appName": "DailyNotification Test App",
"webDir": "App/App/Public",
"server": {

View File

@@ -13,7 +13,7 @@
# grep -E "\[DNP-(FETCH|SCHEDULER|PLUGIN)\]" device.log | ./scripts/validate-ios-logs.sh
#
# # From Xcode console output
# xcrun simctl spawn booted log stream --predicate 'subsystem == "com.timesafari.dailynotification"' | ./scripts/validate-ios-logs.sh
# xcrun simctl spawn booted log stream --predicate 'subsystem == "org.timesafari.dailynotification"' | ./scripts/validate-ios-logs.sh
#
# Author: Matthew Raymer
# Date: 2025-11-15