36b087ae92
finish android task suite
2026-06-02 08:14:00 -04:00
6c4d77bbec
significant android work
2026-06-02 00:04:30 -04:00
542172d1e8
android flesh out
2026-06-01 12:58:34 -04:00
72609755f8
clear old assets, new ci/cd flow
2026-05-26 11:54:41 -04:00
82815009c9
mostly android
2026-05-26 09:38:54 -04:00
9ee3d532be
final
2026-05-25 23:25:10 -04:00
aacb800f4a
name refactor
2026-05-25 23:23:27 -04:00
8ac2ce5273
reduced nesting
2026-05-25 23:08:11 -04:00
3d246af3f7
rebranding
2026-05-25 22:49:37 -04:00
b62ab77fbe
holy moly thats a lotta damage
2026-05-25 22:10:19 -04:00
c01c1a5636
rebranding work
2026-05-25 21:53:01 -04:00
3ccaeaa2e3
feat(android): add API client, tRPC bridge, and offline support
...
- Add Retrofit with kotlinx-serialization converter for tRPC endpoints
- Create TRPCApiService with type-safe wrappers for all procedures
- Implement AuthInterceptor for JWT injection from EncryptedSharedPreferences
- Add ErrorHandler with exponential backoff retry logic and ApiResult sealed class
- Create 11 serializable data models matching backend enums
- Add JSON file-based cache with TTL invalidation (CacheManager)
- Implement repositories: User, DarkWatch, VoicePrint, Alert, Subscription
- Add offline sync: PendingRequestQueue, OfflineWorker, SyncManager
- Create manual DI modules: NetworkModule, DatabaseModule, RepositoryModule
- Add WorkManager for background offline request processing
- Add ConnectivityManager-based network monitoring for auto-sync
- Configure build system with KSP for Room, kotlinx-serialization plugin
- Update build config with environment-specific API URLs
- Write 19 new unit tests for ErrorHandler, CacheManager, TRPCResponse, SyncManager
2026-05-25 20:41:53 -04:00
a90534e164
feat(android): implement auth screens, onboarding flow, and account setup
...
- Add AuthRepository with EncryptedSharedPreferences and OkHttp API calls
- Add AuthViewModel with login/signup/reset/Google Sign-In flows
- Create auth screens: AuthScreen, LoginScreen, SignupScreen,
ForgotPasswordScreen, ResetPasswordScreen, BiometricAuthScreen
- Create onboarding screens with HorizontalPager: PlanSelection,
WatchlistSetup, FamilyInvite, Complete (with checkmark animation)
- Wire auth state to navigation: unauthenticated→auth, new→onboarding,
authenticated→dashboard
- Add PasswordStrength utility with tests
- Add dependencies: security-crypto, biometric, play-services-auth,
okhttp, gson, lottie-compose, material-icons-core
- Add unit tests: 23 tests passing for AuthViewModel and PasswordStrength
2026-05-25 20:24:33 -04:00
325be03797
feat(android): add design system components matching web theme
...
Implement 10 reusable Jetpack Compose UI components:
- ShieldButton: 4 variants (primary/secondary/ghost/danger), 3 sizes, loading state, icon support
- ShieldCard: gradient background matching web .gradient-card, click handling, header/footer slots
- ShieldTextField: validation, password toggle, error/helper text, focus styling
- ShieldBadge: 5 variants (default/success/warning/error/info), pill shape, icon support
- ShieldModal: ModalBottomSheet + AlertDialog, swipe-to-dismiss
- ShieldToast: Snackbar-based with 4 variants, auto-dismiss, action buttons
- ShieldAvatar: Coil async image loading, initials fallback, online status indicator
- ShieldProgressBar: linear progress with percentage, 5 color variants
- ShieldEmptyState: icon, title, description, action button
- ShieldSkeleton: shimmer animation with infinite transition
All components use theme tokens (no hardcoded colors) and support light/dark modes.
Add Coil dependency for avatar image loading.
Add ComponentShowcase preview with light/dark mode support.
Add instrumented Compose UI tests for all components.
2026-05-25 20:15:27 -04:00
35bc5f4af1
feat(android): establish Jetpack Compose foundation with navigation and shared theme
...
- Set up project namespace to com.shieldai.android
- Add navigation-compose dependency
- Create ShieldAI brand color palette (Color.kt) with light/dark tokens
- Add Material3 Typography scale (Type.kt) with all text styles
- Create Shape.kt with small/medium/large rounded corners
- Implement ShieldAITheme with light/dark color schemes and optional dynamic color
- Define Screen sealed class with all destinations (Dashboard, Services, Alerts, Settings, Account, Login, Signup, Onboarding, ServiceDetail)
- Create NavGraph with composable routes and placeholder screens
- Implement BottomNavBar with 5 navigation items with icons
- Create AppNavigation with Scaffold, NavHost, and bottom nav visibility logic
- Add ShieldAIApp Application class and updated MainActivity
- Create vector drawables for bottom nav icons
- Add test files under new package
- Remove old template package (com.mikefreno.shieldai)
2026-05-25 20:08:42 -04:00
24459442a2
android + ios base
2026-05-25 12:02:31 -04:00