An Aicycle ClaimMe package for Aicycle Insurance's partners.
Usage
- Add the following to your "gradle.properties" file:
android.useAndroidX=true android.enableJetifier=true
- Make sure you set the
compileSdkVersion
in your "android/app/build.gradle" file to 33:android { compileSdkVersion 33 ... }
- Make sure you replace all the
android.
dependencies to their AndroidX counterparts (a full list can be found Android migration guide).
Set permissions
- iOS add these on
ios/Runner/Info.plist
file
<key>NSCameraUsageDescription</key>
<string>Your own description</string>
<key>NSMicrophoneUsageDescription</key>
<string>Your own description</string>
<key>NSPhotoLibraryUsageDescription</key>
<string>Your own description</string>
<key>NSLocationWhenInUseUsageDescription</key>
<string>Your own description</string>
<key>NSPhotoLibraryAddUsageDescription</key>
<string>Your own description</string>
-
Android
- You need to ask for storage permission to save an image to the gallery. You can handle the storage permission using flutter_permission_handler. In Android version 10, Open the manifest file and add this line to your application tag
<application android:requestLegacyExternalStorage="true" .....>
- Set permissions before
<application>
<uses-permission android:name="android.permission.CAMERA" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.ACCESS_MEDIA_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
- Change the minimum SDK version to 21 (or higher) in
android/app/build.gradle
minSdkVersion 22
- You need to ask for storage permission to save an image to the gallery. You can handle the storage permission using flutter_permission_handler. In Android version 10, Open the manifest file and add this line to your application tag
Import the package
import 'package:aicycle_claimme_lib/aicycle_claimme_lib.dart';
Required
Future<void> main() async {
/// add this two lines below
WidgetsFlutterBinding.ensureInitialized();
await AICycle.initial();
runApp(const YourApp());
}
Libraries
- aicycle
- aicycle_claimme_lib
- common/base_controller
- common/base_widget
- common/c_loading_view
- common/cache_image_widget
- common/color_utils
- common/contants/damge_type_constant
- common/contants/direction_constant
- common/contants/warning_code_from_engine
- common/dialog_service
- common/extension/translation_ext
- common/image_view
- common/location_seveices
- common/logger
- common/themes/c_colors
- common/themes/c_textstyle
- common/utils
- enum/app_state
- enum/car_model
- enum/car_part_direction
- enum/check_car_state
- features/aicycle_claim_me/data/model/claim_folder_model
- features/aicycle_claim_me/data/model/setting_model
- features/aicycle_claim_me/data/model/user_info_model
- features/aicycle_claim_me/data/remote_data/aicycle_claim_me_api
- features/aicycle_claim_me/data/repository/aicycle_claim_me_repository_impl
- features/aicycle_claim_me/domain/repository/aicycle_claim_me_repository
- features/aicycle_claim_me/domain/usecase/create_folder_usecase
- features/aicycle_claim_me/domain/usecase/get_duplicate_folder_usecase
- features/aicycle_claim_me/domain/usecase/get_user_info_usecase
- features/aicycle_claim_me/presentation/aicycle_claim_me
- features/aicycle_claim_me/presentation/aicycle_claim_me_controller
- features/camera/data/models/car_part_has_damage_model
- features/camera/data/models/damage_assessment_response
- features/camera/data/models/damage_type_model
- features/camera/data/models/get_upload_url_response
- features/camera/data/models/image_upload_response
- features/camera/data/remote_data/camera_api
- features/camera/data/repository/camera_repository_impl
- features/camera/domain/repository/camera_repository
- features/camera/domain/usecase/call_engine_usecase
- features/camera/domain/usecase/upload_image_usecase
- features/camera/presentation/camera_page
- features/camera/presentation/camera_page_controller
- features/camera/presentation/widgets/camera_appbar_title
- features/camera/presentation/widgets/camera_bottom_bar
- features/camera/presentation/widgets/direction_info_layer
- features/camera/presentation/widgets/error_dialog
- features/camera/presentation/widgets/guide_frame
- features/camera/presentation/widgets/preview_with_mask
- features/camera/presentation/widgets/warning_dialog
- features/direction_detail.dart/data/models/claim_image_model
- features/direction_detail.dart/data/remote_data/direction_detail_api
- features/direction_detail.dart/data/repository/direction_detail_repository_impl
- features/direction_detail.dart/domain/repository/direction_detail_repository
- features/direction_detail.dart/domain/usecase/delete_all_image_usecase
- features/direction_detail.dart/domain/usecase/delete_image_by_id_usecase
- features/direction_detail.dart/domain/usecase/get_car_part_has_damage_usecase
- features/direction_detail.dart/domain/usecase/get_direction_image_usecase
- features/direction_detail.dart/presentation/direction_detail_controller
- features/direction_detail.dart/presentation/direction_detail_page
- features/direction_detail.dart/presentation/widgets/range_image_section
- features/folder_detail/data/models/image_direction_model
- features/folder_detail/data/remote_data/folder_detail_api
- features/folder_detail/data/repository/folder_detail_repository_impl
- features/folder_detail/domain/repository/folder_detail_repository
- features/folder_detail/domain/usecase/get_image_direction_usecase
- features/folder_detail/domain/usecase/get_result_usecase
- features/folder_detail/presentation/folder_detail_controller
- features/folder_detail/presentation/folder_detail_page
- features/folder_detail/presentation/widgets/car_position
- generated/assets.gen
- GENERATED CODE - DO NOT MODIFY BY HAND
- generated/locales.g
- injection_container
- network/api_error
- network/api_provider
- network/api_request
- network/base_response
- network/endpoints