diff --git a/android/app/build.gradle b/android/app/build.gradle
index 5043ee5..9aa40ce 100644
--- a/android/app/build.gradle
+++ b/android/app/build.gradle
@@ -26,7 +26,7 @@ apply plugin: 'kotlin-android'
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
android {
- compileSdkVersion 30
+ compileSdkVersion 31
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
@@ -43,9 +43,9 @@ android {
defaultConfig {
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
- applicationId "com.example.car_provider_app"
- minSdkVersion 16
- targetSdkVersion 30
+ applicationId "com.ejada.hmg"
+ minSdkVersion 23
+ targetSdkVersion 31
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
}
diff --git a/android/app/google-services.json b/android/app/google-services.json
new file mode 100644
index 0000000..dd4038c
--- /dev/null
+++ b/android/app/google-services.json
@@ -0,0 +1,42 @@
+{
+ "project_info": {
+ "project_number": "815750722565",
+ "firebase_url": "https://api-project-815750722565.firebaseio.com",
+ "project_id": "api-project-815750722565",
+ "storage_bucket": "api-project-815750722565.appspot.com"
+ },
+ "client": [
+ {
+ "client_info": {
+ "mobilesdk_app_id": "1:815750722565:android:62281cd3e5df4063",
+ "android_client_info": {
+ "package_name": "com.ejada.hmg"
+ }
+ },
+ "oauth_client": [
+ {
+ "client_id": "815750722565-3a0gc7neins0eoahdrimrfksk0sqice8.apps.googleusercontent.com",
+ "client_type": 3
+ }
+ ],
+ "api_key": [
+ {
+ "current_key": "AIzaSyDUfg6AKM1-00WyzpvLImUBC46wFrq9-qw"
+ }
+ ],
+ "services": {
+ "analytics_service": {
+ "status": 1
+ },
+ "appinvite_service": {
+ "status": 1,
+ "other_platform_oauth_client": []
+ },
+ "ads_service": {
+ "status": 2
+ }
+ }
+ }
+ ],
+ "configuration_version": "1"
+}
\ No newline at end of file
diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml
index 0f28367..34c7045 100644
--- a/android/app/src/main/AndroidManifest.xml
+++ b/android/app/src/main/AndroidManifest.xml
@@ -2,7 +2,8 @@
package="com.example.car_provider_app">
-
+
+
@@ -17,6 +18,7 @@
the Android process has started. This theme is visible to the user
while the Flutter UI initializes. After that, this theme continues
to determine the Window background behind the Flutter UI. -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/icons/ic_close_account.svg b/assets/icons/ic_close_account.svg
new file mode 100644
index 0000000..93adb61
--- /dev/null
+++ b/assets/icons/ic_close_account.svg
@@ -0,0 +1,10 @@
+
diff --git a/assets/icons/ic_provider.svg b/assets/icons/ic_provider.svg
new file mode 100644
index 0000000..e22c356
--- /dev/null
+++ b/assets/icons/ic_provider.svg
@@ -0,0 +1,3 @@
+
diff --git a/assets/icons/ic_services.svg b/assets/icons/ic_services.svg
new file mode 100644
index 0000000..b0d0606
--- /dev/null
+++ b/assets/icons/ic_services.svg
@@ -0,0 +1,13 @@
+
diff --git a/assets/icons/ic_settings.svg b/assets/icons/ic_settings.svg
new file mode 100644
index 0000000..6435135
--- /dev/null
+++ b/assets/icons/ic_settings.svg
@@ -0,0 +1,4 @@
+
diff --git a/lib/api/api_client.dart b/lib/api/api_client.dart
index e2433be..2724eb2 100644
--- a/lib/api/api_client.dart
+++ b/lib/api/api_client.dart
@@ -68,12 +68,14 @@ class ApiClient {
var response = await postJsonForResponse(url, jsonObject, token: token, queryParameters: queryParameters, headers: _headers, retryTimes: retryTimes);
try {
if (!kReleaseMode) {
- print("res:" + response.body);
+ print("res121:" + response.body);
+ print("res121:" + response.statusCode.toString());
}
var jsonData = jsonDecode(response.body);
return factoryConstructor(jsonData);
} catch (ex) {
- print("exception:" + response.body);
+ print(ex);
+ print("exception:" + ex.toString());
throw APIException(APIException.BAD_RESPONSE_FORMAT, arguments: ex);
}
}
@@ -155,6 +157,9 @@ class ApiClient {
} else {
throw APIException(APIException.OTHER, arguments: e);
}
+ }catch (ex) {
+ print("exception1:" + ex.toString());
+ throw APIException(APIException.BAD_RESPONSE_FORMAT, arguments: ex);
}
}
diff --git a/lib/api/client/branch_api_client.dart b/lib/api/client/branch_api_client.dart
new file mode 100644
index 0000000..a56e93f
--- /dev/null
+++ b/lib/api/client/branch_api_client.dart
@@ -0,0 +1,69 @@
+import 'dart:async';
+import 'package:car_provider_app/classes/app_state.dart';
+import 'package:car_provider_app/models/m_response.dart';
+import 'package:car_provider_app/models/profile/branch.dart';
+import 'package:car_provider_app/models/profile/categroy.dart';
+import 'package:car_provider_app/models/profile/document.dart';
+import 'package:car_provider_app/models/profile/services.dart';
+import 'package:car_provider_app/models/user/country.dart';
+import 'package:car_provider_app/models/user/role.dart';
+import 'package:http/http.dart';
+import 'package:car_provider_app/classes/consts.dart';
+import 'package:car_provider_app/models/content_info_model.dart';
+import 'package:car_provider_app/models/member_model.dart';
+import 'package:car_provider_app/models/surah_model.dart';
+import 'package:car_provider_app/models/user/basic_otp.dart';
+import 'package:car_provider_app/models/user/register_user.dart';
+
+import '../api_client.dart';
+
+class BranchApiClent {
+ static final BranchApiClent _instance = BranchApiClent._internal();
+
+ BranchApiClent._internal();
+
+ factory BranchApiClent() => _instance;
+
+ Future createBranch(String branchName, String branchDescription, String cityId, String address, String latitude, String longitude) async {
+ var postParams = {
+ // "id": 0,
+ "serviceProviderID": AppState().getUser.data?.userInfo?.providerId ?? "",
+ "branchName": branchName,
+ "branchDescription": branchDescription,
+ "cityID": cityId,
+ "address": address,
+ "latitude": latitude,
+ "longitude": longitude,
+ "isActive": true
+ };
+ String t = AppState().getUser.data!.accessToken ?? "";
+ print("tokeen " + t);
+ return await ApiClient().postJsonForObject((json) => MResponse.fromJson(json), ApiConsts.createProviderBranch, postParams, token: t);
+ }
+
+ Future fetchAllBranches() async {
+ var postParams = {"ServiceProviderID": AppState().getUser.data?.userInfo?.providerId.toString() ?? ""};
+ String t = AppState().getUser.data!.accessToken ?? "";
+ print("tokeen " + t);
+ return await ApiClient().getJsonForObject((json) => Branch.fromJson(json), ApiConsts.ServiceProviderBranchGet, queryParameters: postParams, token: t);
+ }
+
+ Future fetchBranchCategory() async {
+ var postParams = {"ServiceProviderID": AppState().getUser.data?.userInfo?.providerId.toString() ?? ""};
+ String t = AppState().getUser.data!.accessToken ?? "";
+ print("tokeen " + t);
+ return await ApiClient().getJsonForObject((json) => Category.fromJson(json), ApiConsts.ServiceCategory_Get, queryParameters: postParams, token: t);
+ }
+
+ Future fetchServices(String serviceCategoryId) async {
+ var postParams = {"ServiceCategoryID": serviceCategoryId};
+ String t = AppState().getUser.data!.accessToken ?? "";
+ print("tokeen " + t);
+ return await ApiClient().getJsonForObject((json) => Services.fromJson(json), ApiConsts.Services_Get, queryParameters: postParams, token: t);
+ }
+
+ Future createService(List