diff --git a/android/app/build.gradle b/android/app/build.gradle index c5d1f19..8f57354 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -5,7 +5,7 @@ plugins { } android { - namespace = "com.example.workout_ai" + namespace = "com.workout.ai" compileSdk = flutter.compileSdkVersion ndkVersion = flutter.ndkVersion @@ -19,7 +19,7 @@ android { } defaultConfig { - applicationId = "com.example.workout_ai" + applicationId = "com.workout.ai" minSdk = flutter.minSdkVersion targetSdk = flutter.targetSdkVersion versionCode = flutter.versionCode diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml index c92bb36..a1b8e70 100644 --- a/android/app/src/main/AndroidManifest.xml +++ b/android/app/src/main/AndroidManifest.xml @@ -1,8 +1,8 @@ + android:icon="@mipmap/launcher_icon"> { final UserProfileService _profileService; diff --git a/lib/main.dart b/lib/main.dart index ef314a6..c04f429 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -5,16 +5,16 @@ import 'package:flutter/material.dart'; import 'package:flutter/scheduler.dart'; import 'package:flutter/services.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; -import 'package:workout_ai/models/auth_state.dart'; -import 'package:workout_ai/models/exercise_completion_model.dart'; -import 'package:workout_ai/models/exercise_stats_model.dart'; -import 'package:workout_ai/models/push_up_model.dart'; -import 'package:workout_ai/models/sit_up_model.dart'; -import 'package:workout_ai/models/user_manager.dart'; -import 'package:workout_ai/models/weight_manager.dart'; -import 'package:workout_ai/services/auth_service.dart'; -import 'package:workout_ai/views/auth/login_screen.dart'; -import 'package:workout_ai/views/splash_screen.dart'; +import '../models/auth_state.dart'; +import '../models/exercise_completion_model.dart'; +import '../models/exercise_stats_model.dart'; +import '../models/push_up_model.dart'; +import '../models/sit_up_model.dart'; +import '../models/user_manager.dart'; +import '../models/weight_manager.dart'; +import '../services/auth_service.dart'; +import '../views/auth/login_screen.dart'; +import '../views/splash_screen.dart'; Future main() async { // Ensure Flutter is initialized diff --git a/lib/models/exercise_timer_model.dart b/lib/models/exercise_timer_model.dart index 31ffb0f..8ee4394 100644 --- a/lib/models/exercise_timer_model.dart +++ b/lib/models/exercise_timer_model.dart @@ -3,7 +3,7 @@ import 'dart:async'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; -import 'package:workout_ai/models/exercise_completion_model.dart'; +import '../models/exercise_completion_model.dart'; enum TimerStatus { initial, diff --git a/lib/models/user_manager.dart b/lib/models/user_manager.dart index e83549d..271a89f 100644 --- a/lib/models/user_manager.dart +++ b/lib/models/user_manager.dart @@ -1,7 +1,7 @@ // lib/models/user_manager.dart import 'package:flutter_bloc/flutter_bloc.dart'; -import 'package:workout_ai/models/user_info_model.dart'; +import '../models/user_info_model.dart'; class UserManager extends Cubit { UserManager() : super(null); diff --git a/lib/models/user_profile_state.dart b/lib/models/user_profile_state.dart index 965df3d..431ca83 100644 --- a/lib/models/user_profile_state.dart +++ b/lib/models/user_profile_state.dart @@ -1,5 +1,5 @@ // lib/models/user_profile_state.dart -import 'package:workout_ai/models/user_profile_model.dart'; +import '../models/user_profile_model.dart'; enum UserProfileStatus { loading, success, error } diff --git a/lib/services/api_service.dart b/lib/services/api_service.dart index ecc51f5..2f87ac6 100644 --- a/lib/services/api_service.dart +++ b/lib/services/api_service.dart @@ -2,7 +2,7 @@ import 'dart:convert'; import 'dart:developer'; import 'package:http/http.dart' as http; -import 'package:workout_ai/services/auth_service.dart'; +import '../services/auth_service.dart'; class APIService { static const String baseUrl = 'https://backend-workout-ai.vercel.app/api'; diff --git a/lib/services/auth_service.dart b/lib/services/auth_service.dart index 70e3b88..eac1f4f 100644 --- a/lib/services/auth_service.dart +++ b/lib/services/auth_service.dart @@ -2,8 +2,8 @@ import 'dart:convert'; import 'dart:developer'; import 'package:shared_preferences/shared_preferences.dart'; -import 'package:workout_ai/models/user_info_model.dart'; -import 'package:workout_ai/services/api_service.dart'; +import '../models/user_info_model.dart'; +import '../services/api_service.dart'; class AuthService { static String? _token; diff --git a/lib/services/progress_service.dart b/lib/services/progress_service.dart index 4ca35b5..52d4b94 100644 --- a/lib/services/progress_service.dart +++ b/lib/services/progress_service.dart @@ -1,7 +1,7 @@ import 'dart:developer'; -import 'package:workout_ai/models/progress_data.dart'; -import 'package:workout_ai/services/api_service.dart'; +import '../models/progress_data.dart'; +import '../services/api_service.dart'; class ProgressService { final APIService _api = APIService(); diff --git a/lib/services/pushup_service.dart b/lib/services/pushup_service.dart index 3eca91d..fa78b63 100644 --- a/lib/services/pushup_service.dart +++ b/lib/services/pushup_service.dart @@ -1,7 +1,7 @@ import 'dart:convert'; import 'dart:developer'; import 'package:http/http.dart' as http; -import 'package:workout_ai/services/auth_service.dart'; +import '../services/auth_service.dart'; class PushupService { static const String baseUrl = 'https://backend-workout-ai.vercel.app/api'; diff --git a/lib/services/situp_service.dart b/lib/services/situp_service.dart index ca15b2f..c453783 100644 --- a/lib/services/situp_service.dart +++ b/lib/services/situp_service.dart @@ -1,7 +1,7 @@ import 'dart:convert'; import 'dart:developer'; import 'package:http/http.dart' as http; -import 'package:workout_ai/services/auth_service.dart'; +import '../services/auth_service.dart'; class SitUpService { static const String baseUrl = 'https://backend-workout-ai.vercel.app/api'; diff --git a/lib/services/user_profile_service.dart b/lib/services/user_profile_service.dart index 3455ac9..b457871 100644 --- a/lib/services/user_profile_service.dart +++ b/lib/services/user_profile_service.dart @@ -1,8 +1,8 @@ // lib/services/user_profile_service.dart import 'dart:developer'; -import 'package:workout_ai/models/user_profile_model.dart'; -import 'package:workout_ai/services/api_service.dart'; +import '../models/user_profile_model.dart'; +import '../services/api_service.dart'; class UserProfileService { final APIService _api = APIService(); diff --git a/lib/services/workout_info_service.dart b/lib/services/workout_info_service.dart index 9f0e1fb..8a758d3 100644 --- a/lib/services/workout_info_service.dart +++ b/lib/services/workout_info_service.dart @@ -1,6 +1,6 @@ // lib/services/workout_info_service.dart import 'dart:developer'; -import 'package:workout_ai/services/api_service.dart'; +import '../services/api_service.dart'; class WorkoutInfoService { final APIService _api = APIService(); diff --git a/lib/utils/utils.dart b/lib/utils/utils.dart index d51d21e..29d0e36 100644 --- a/lib/utils/utils.dart +++ b/lib/utils/utils.dart @@ -5,7 +5,7 @@ import 'package:flutter/services.dart'; import 'package:google_ml_kit/google_ml_kit.dart'; import 'package:path/path.dart'; import 'package:path_provider/path_provider.dart'; -import 'package:workout_ai/models/push_up_model.dart'; +import '../models/push_up_model.dart'; Future getAssetPath(String asset) async { final path = await getLocalPath(asset); diff --git a/lib/views/auth/login_screen.dart b/lib/views/auth/login_screen.dart index c612408..b4c8c11 100644 --- a/lib/views/auth/login_screen.dart +++ b/lib/views/auth/login_screen.dart @@ -1,6 +1,6 @@ import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; -import 'package:workout_ai/views/splash_screen.dart'; +import '../splash_screen.dart'; import '../../models/auth_state.dart'; import '../../models/user_manager.dart'; import '../../models/user_info_model.dart'; diff --git a/lib/views/camera_view.dart b/lib/views/camera_view.dart index 41d9353..63e1f89 100644 --- a/lib/views/camera_view.dart +++ b/lib/views/camera_view.dart @@ -5,15 +5,15 @@ import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:google_ml_kit/google_ml_kit.dart'; -import 'package:workout_ai/models/exercise_completion_model.dart'; -import 'package:workout_ai/models/exercise_stats_model.dart'; -import 'package:workout_ai/models/push_up_model.dart'; -import 'package:workout_ai/models/sit_up_model.dart'; -import 'package:workout_ai/painters/pose_painter.dart'; -import 'package:workout_ai/services/pushup_service.dart'; -import 'package:workout_ai/utils/sit_up_utils.dart'; -import 'package:workout_ai/utils/utils.dart' as utils; -import 'package:workout_ai/widgets/workout_completion_dialog.dart'; +import '../models/exercise_completion_model.dart'; +import '../models/exercise_stats_model.dart'; +import '../models/push_up_model.dart'; +import '../models/sit_up_model.dart'; +import '../painters/pose_painter.dart'; +import '../services/pushup_service.dart'; +import '../utils/sit_up_utils.dart'; +import '../utils/utils.dart' as utils; +import '../widgets/workout_completion_dialog.dart'; import 'dart:developer' as developer; class ExerciseStatsWidget extends StatelessWidget { diff --git a/lib/views/detector_view.dart b/lib/views/detector_view.dart index 24e8a29..935d13a 100644 --- a/lib/views/detector_view.dart +++ b/lib/views/detector_view.dart @@ -1,7 +1,7 @@ import 'package:camera/camera.dart'; import 'package:flutter/material.dart'; import 'package:google_mlkit_commons/google_mlkit_commons.dart'; -import 'package:workout_ai/painters/pose_painter.dart'; +import '../painters/pose_painter.dart'; import 'camera_view.dart'; import 'gallery_view.dart'; diff --git a/lib/views/splash_screen.dart b/lib/views/splash_screen.dart index c89d6f1..0b0e9f7 100644 --- a/lib/views/splash_screen.dart +++ b/lib/views/splash_screen.dart @@ -5,17 +5,17 @@ import 'package:flutter/services.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:google_fonts/google_fonts.dart'; import 'package:shimmer/shimmer.dart'; -import 'package:workout_ai/models/auth_state.dart'; -import 'package:workout_ai/models/user_manager.dart'; -import 'package:workout_ai/models/user_profile_model.dart'; -import 'package:workout_ai/services/auth_service.dart'; -import 'package:workout_ai/services/user_profile_service.dart'; -import 'package:workout_ai/services/workout_info_service.dart'; -import 'package:workout_ai/views/auth/login_screen.dart'; -import 'package:workout_ai/views/pose_detection_view.dart'; -import 'package:workout_ai/views/sit_up_detector_view.dart'; -import 'package:workout_ai/widgets/progress_tracker.dart'; -import 'package:workout_ai/widgets/workout_card.dart'; +import '../models/auth_state.dart'; +import '../models/user_manager.dart'; +import '../models/user_profile_model.dart'; +import '../services/auth_service.dart'; +import '../services/user_profile_service.dart'; +import '../services/workout_info_service.dart'; +import '../views/auth/login_screen.dart'; +import '../views/pose_detection_view.dart'; +import '../views/sit_up_detector_view.dart'; +import '../widgets/progress_tracker.dart'; +import '../widgets/workout_card.dart'; class SplashScreen extends StatefulWidget { const SplashScreen({super.key}); diff --git a/lib/widgets/progress_tracker.dart b/lib/widgets/progress_tracker.dart index 0c09929..5fa9e44 100644 --- a/lib/widgets/progress_tracker.dart +++ b/lib/widgets/progress_tracker.dart @@ -4,9 +4,9 @@ import 'dart:math' as math; import 'package:fl_chart/fl_chart.dart'; import 'package:flutter/material.dart'; import 'package:shimmer/shimmer.dart'; -import 'package:workout_ai/models/progress_data.dart' as progress; -import 'package:workout_ai/services/progress_service.dart'; -import 'package:workout_ai/services/workout_info_service.dart'; +import '../models/progress_data.dart' as progress; +import '../services/progress_service.dart'; +import '../services/workout_info_service.dart'; enum ChartView { weight, calories } diff --git a/lib/widgets/situp_completion_dialog.dart b/lib/widgets/situp_completion_dialog.dart index 0256a1b..ac0b9bc 100644 --- a/lib/widgets/situp_completion_dialog.dart +++ b/lib/widgets/situp_completion_dialog.dart @@ -1,10 +1,10 @@ // lib/widgets/situp_completion_dialog.dart import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; -import 'package:workout_ai/models/exercise_completion_model.dart'; -import 'package:workout_ai/models/exercise_stats_model.dart'; -import 'package:workout_ai/services/situp_service.dart'; -import 'package:workout_ai/views/splash_screen.dart'; +import '../models/exercise_completion_model.dart'; +import '../models/exercise_stats_model.dart'; +import '../services/situp_service.dart'; +import '../views/splash_screen.dart'; class SitUpCompletionDialog extends StatefulWidget { final String exerciseType; diff --git a/lib/widgets/user_info_dialog.dart b/lib/widgets/user_info_dialog.dart index 80e05b3..e9068fd 100644 --- a/lib/widgets/user_info_dialog.dart +++ b/lib/widgets/user_info_dialog.dart @@ -1,7 +1,7 @@ import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; -import 'package:workout_ai/models/auth_state.dart'; -import 'package:workout_ai/services/auth_service.dart'; +import '../models/auth_state.dart'; +import '../services/auth_service.dart'; import '../models/user_info_model.dart'; import '../models/user_manager.dart'; import 'dart:developer'; diff --git a/lib/widgets/weight_confirmation_dialog.dart b/lib/widgets/weight_confirmation_dialog.dart index 8593967..8e3e45b 100644 --- a/lib/widgets/weight_confirmation_dialog.dart +++ b/lib/widgets/weight_confirmation_dialog.dart @@ -2,7 +2,7 @@ import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; -import 'package:workout_ai/models/weight_manager.dart'; +import '../models/weight_manager.dart'; class WeightConfirmationDialog extends StatefulWidget { final int currentWeight; diff --git a/lib/widgets/workout_completion_dialog.dart b/lib/widgets/workout_completion_dialog.dart index e2b10e1..5a7fbc0 100644 --- a/lib/widgets/workout_completion_dialog.dart +++ b/lib/widgets/workout_completion_dialog.dart @@ -1,11 +1,11 @@ // lib/widgets/workout_completion_dialog.dart import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; -import 'package:workout_ai/models/exercise_completion_model.dart'; -import 'package:workout_ai/models/exercise_stats_model.dart'; -import 'package:workout_ai/services/pushup_service.dart'; -import 'package:workout_ai/services/situp_service.dart'; -import 'package:workout_ai/views/splash_screen.dart'; +import '../models/exercise_completion_model.dart'; +import '../models/exercise_stats_model.dart'; +import '../services/pushup_service.dart'; +import '../services/situp_service.dart'; +import '../views/splash_screen.dart'; class WorkoutCompletionDialog extends StatefulWidget { final String exerciseType; diff --git a/pubspec.yaml b/pubspec.yaml index eff8f16..0896d12 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,4 +1,4 @@ -name: workout_ai +name: WorkoutAI description: "AI-powered workout app featuring push-up counting with ML Kit and other exercise tracking capabilities" publish_to: "none" version: 1.0.0+1 diff --git a/test/widget_test.dart b/test/widget_test.dart index 95b21da..8cff2fa 100644 --- a/test/widget_test.dart +++ b/test/widget_test.dart @@ -2,7 +2,7 @@ import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; -import 'package:workout_ai/main.dart'; +import '../lib/main.dart'; void main() { testWidgets('Counter increments smoke test', (WidgetTester tester) async { @@ -12,4 +12,4 @@ void main() { // You can write your tests here expect(find.byType(MaterialApp), findsOneWidget); }); -} \ No newline at end of file +}