5/11/6
@@ -53,10 +53,10 @@ android {
|
|||||||
applicationId "com.sefer_driver"
|
applicationId "com.sefer_driver"
|
||||||
// You can update the following values to match your application needs.
|
// You can update the following values to match your application needs.
|
||||||
// For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-gradle-build-configuration.
|
// For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-gradle-build-configuration.
|
||||||
minSdkVersion 26
|
minSdkVersion 22
|
||||||
targetSdkVersion flutter.targetSdkVersion
|
targetSdkVersion flutter.targetSdkVersion
|
||||||
versionCode 21
|
versionCode 22
|
||||||
versionName '1.4.5'
|
versionName '1.4.6'
|
||||||
// manifestPlaceholders = [mapsApiKey: 'android/app/src/main/AndroidManifest.xml']
|
// manifestPlaceholders = [mapsApiKey: 'android/app/src/main/AndroidManifest.xml']
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 39 KiB |
|
Before Width: | Height: | Size: 3.9 KiB After Width: | Height: | Size: 2.2 KiB |
|
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 5.8 KiB After Width: | Height: | Size: 3.1 KiB |
|
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 5.4 KiB |
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 7.7 KiB |
BIN
assets/images/logo.gif
Normal file
|
After Width: | Height: | Size: 928 KiB |
|
Before Width: | Height: | Size: 565 KiB After Width: | Height: | Size: 39 KiB |
|
Before Width: | Height: | Size: 6.1 KiB After Width: | Height: | Size: 5.0 KiB |
|
Before Width: | Height: | Size: 6.2 KiB After Width: | Height: | Size: 5.2 KiB |
|
Before Width: | Height: | Size: 181 KiB After Width: | Height: | Size: 124 KiB |
|
Before Width: | Height: | Size: 7.4 KiB After Width: | Height: | Size: 5.9 KiB |
|
Before Width: | Height: | Size: 7.9 KiB After Width: | Height: | Size: 6.0 KiB |
|
Before Width: | Height: | Size: 8.7 KiB After Width: | Height: | Size: 6.6 KiB |
|
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 7.8 KiB |
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 8.3 KiB |
|
Before Width: | Height: | Size: 480 B After Width: | Height: | Size: 493 B |
|
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 9.2 KiB |
|
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 9.6 KiB |
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 10 KiB |
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 642 B After Width: | Height: | Size: 661 B |
|
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 16 KiB |
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.0 KiB |
|
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.5 KiB |
|
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 2.0 KiB |
|
Before Width: | Height: | Size: 2.3 KiB After Width: | Height: | Size: 2.1 KiB |
|
Before Width: | Height: | Size: 53 KiB After Width: | Height: | Size: 39 KiB |
|
Before Width: | Height: | Size: 2.5 KiB After Width: | Height: | Size: 2.4 KiB |
|
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 2.5 KiB |
|
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 2.5 KiB |
|
Before Width: | Height: | Size: 2.9 KiB After Width: | Height: | Size: 2.6 KiB |
|
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 2.9 KiB |
|
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 2.9 KiB |
|
Before Width: | Height: | Size: 3.9 KiB After Width: | Height: | Size: 3.3 KiB |
|
Before Width: | Height: | Size: 4.2 KiB After Width: | Height: | Size: 3.6 KiB |
|
Before Width: | Height: | Size: 4.5 KiB After Width: | Height: | Size: 3.8 KiB |
|
Before Width: | Height: | Size: 4.9 KiB After Width: | Height: | Size: 4.2 KiB |
|
Before Width: | Height: | Size: 5.1 KiB After Width: | Height: | Size: 4.2 KiB |
|
Before Width: | Height: | Size: 5.4 KiB After Width: | Height: | Size: 4.6 KiB |
|
Before Width: | Height: | Size: 354 KiB |
|
Before Width: | Height: | Size: 667 B |
|
Before Width: | Height: | Size: 1.7 KiB |
|
Before Width: | Height: | Size: 3.0 KiB |
|
Before Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 2.9 KiB |
|
Before Width: | Height: | Size: 5.1 KiB |
|
Before Width: | Height: | Size: 1.7 KiB |
|
Before Width: | Height: | Size: 4.5 KiB |
|
Before Width: | Height: | Size: 8.1 KiB |
|
Before Width: | Height: | Size: 2.3 KiB |
|
Before Width: | Height: | Size: 6.2 KiB |
|
Before Width: | Height: | Size: 2.8 KiB |
|
Before Width: | Height: | Size: 7.4 KiB |
|
Before Width: | Height: | Size: 8.1 KiB |
|
Before Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 3.9 KiB |
|
Before Width: | Height: | Size: 10 KiB |
|
Before Width: | Height: | Size: 4.2 KiB |
|
Before Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 13 KiB |
@@ -21,7 +21,7 @@
|
|||||||
<key>CFBundlePackageType</key>
|
<key>CFBundlePackageType</key>
|
||||||
<string>APPL</string>
|
<string>APPL</string>
|
||||||
<key>CFBundleShortVersionString</key>
|
<key>CFBundleShortVersionString</key>
|
||||||
<string>24</string>
|
<string>25</string>
|
||||||
<key>CFBundleSignature</key>
|
<key>CFBundleSignature</key>
|
||||||
<string>????</string>
|
<string>????</string>
|
||||||
<key>CFBundleURLTypes</key>
|
<key>CFBundleURLTypes</key>
|
||||||
@@ -36,7 +36,7 @@
|
|||||||
</dict>
|
</dict>
|
||||||
</array>
|
</array>
|
||||||
<key>CFBundleVersion</key>
|
<key>CFBundleVersion</key>
|
||||||
<string>2.0.12</string>
|
<string>2.0.13</string>
|
||||||
<key>FirebaseAppDelegateProxyEnabled</key>
|
<key>FirebaseAppDelegateProxyEnabled</key>
|
||||||
<string>NO</string>
|
<string>NO</string>
|
||||||
<key>GMSApiKey</key>
|
<key>GMSApiKey</key>
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
import 'dart:convert';
|
import 'dart:convert';
|
||||||
import 'dart:math';
|
import 'dart:math';
|
||||||
|
|
||||||
|
import 'package:SEFER/controller/functions/location_background_controller.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_secure_storage/flutter_secure_storage.dart';
|
import 'package:flutter_secure_storage/flutter_secure_storage.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
@@ -39,34 +40,8 @@ class LoginCaptinController extends GetxController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
Future<void> getLocationPermission() async {
|
Future<void> getLocationPermission() async {
|
||||||
bool serviceEnabled;
|
Get.put(LocationBackgroundController()).requestLocationPermission();
|
||||||
PermissionStatus permissionGranted;
|
|
||||||
|
|
||||||
// Check if location services are enabled
|
|
||||||
serviceEnabled = await location.serviceEnabled();
|
|
||||||
if (!serviceEnabled) {
|
|
||||||
serviceEnabled = await location.requestService();
|
|
||||||
if (!serviceEnabled) {
|
|
||||||
// Location services are still not enabled, handle the error
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Check if the app has permission to access location
|
|
||||||
permissionGranted = await location.hasPermission();
|
|
||||||
if (permissionGranted == PermissionStatus.denied) {
|
|
||||||
permissionGranted = await location.requestPermission();
|
|
||||||
if (permissionGranted != PermissionStatus.granted) {
|
|
||||||
// Location permission is still not granted, handle the error
|
|
||||||
permissionGranted = await location.requestPermission();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
print('permisson is ${permissionGranted.toString()}');
|
|
||||||
if ('PermissionStatus.granted' == permissionGranted.toString()) {
|
|
||||||
box.write(BoxName.locationPermission, 'true');
|
|
||||||
update();
|
|
||||||
}
|
|
||||||
update();
|
update();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -5,28 +5,26 @@ import 'package:background_location/background_location.dart';
|
|||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
import 'package:permission_handler/permission_handler.dart';
|
import 'package:permission_handler/permission_handler.dart';
|
||||||
|
|
||||||
|
import '../../constant/box_name.dart';
|
||||||
|
import '../../main.dart';
|
||||||
|
|
||||||
class LocationBackgroundController extends GetxController {
|
class LocationBackgroundController extends GetxController {
|
||||||
@override
|
@override
|
||||||
Future<void> onInit() async {
|
Future<void> onInit() async {
|
||||||
super.onInit();
|
super.onInit();
|
||||||
await requestLocationPermission();
|
// await requestLocationPermission();
|
||||||
await configureBackgroundLocation();
|
await configureBackgroundLocation();
|
||||||
}
|
}
|
||||||
|
|
||||||
Future<void> requestLocationPermission() async {
|
Future<void> requestLocationPermission() async {
|
||||||
var status = await Permission.locationAlways.status;
|
var status = await Permission.locationAlways.status;
|
||||||
if (!status.isGranted) {
|
print(status);
|
||||||
Get.defaultDialog(
|
if (status.isDenied) {
|
||||||
title: 'Grant Location'.tr,
|
await Permission.locationAlways.request();
|
||||||
middleText:
|
if (status.isGranted) {
|
||||||
'We use location to get accurate and nearest passengers for you'
|
box.write(BoxName.locationPermission, 'true');
|
||||||
.tr,
|
update();
|
||||||
confirm: MyElevatedButton(
|
}
|
||||||
kolor: AppColor.greenColor,
|
|
||||||
title: 'Grant Location'.tr,
|
|
||||||
onPressed: () async {
|
|
||||||
await Permission.locationAlways.request();
|
|
||||||
}));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -37,11 +35,11 @@ class LocationBackgroundController extends GetxController {
|
|||||||
icon: "@mipmap/ic_launcher",
|
icon: "@mipmap/ic_launcher",
|
||||||
);
|
);
|
||||||
|
|
||||||
BackgroundLocation.setAndroidConfiguration(1000);
|
BackgroundLocation.setAndroidConfiguration(500);
|
||||||
BackgroundLocation.startLocationService();
|
BackgroundLocation.startLocationService();
|
||||||
BackgroundLocation.getLocationUpdates((location) {
|
BackgroundLocation.getLocationUpdates((location) {
|
||||||
// Handle location updates here
|
// Handle location updates here
|
||||||
print("New location: ${location.latitude}, ${location.longitude}");
|
print("Background location: ${location.latitude}, ${location.longitude}");
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -44,7 +44,7 @@ class SplashScreenController extends GetxController
|
|||||||
}
|
}
|
||||||
|
|
||||||
void startTimer() {
|
void startTimer() {
|
||||||
Timer(const Duration(seconds: 4), () {
|
Timer(const Duration(seconds: 5), () {
|
||||||
box.read(BoxName.onBoarding) == null
|
box.read(BoxName.onBoarding) == null
|
||||||
? Get.off(() => OnBoardingPage())
|
? Get.off(() => OnBoardingPage())
|
||||||
: box.read(BoxName.emailDriver) != null
|
: box.read(BoxName.emailDriver) != null
|
||||||
|
|||||||
@@ -33,7 +33,7 @@ class SplashScreen extends StatelessWidget {
|
|||||||
? splashScreenController.zoomInAnimation.value
|
? splashScreenController.zoomInAnimation.value
|
||||||
: splashScreenController.zoomOutAnimation.value,
|
: splashScreenController.zoomOutAnimation.value,
|
||||||
child: Image.asset(
|
child: Image.asset(
|
||||||
'assets/images/logo.png',
|
'assets/images/logo.gif',
|
||||||
width: Get.width * .3,
|
width: Get.width * .3,
|
||||||
height: Get.width * .3,
|
height: Get.width * .3,
|
||||||
),
|
),
|
||||||
@@ -58,9 +58,9 @@ class SplashScreen extends StatelessWidget {
|
|||||||
),
|
),
|
||||||
AnimatedTextKit(animatedTexts: [
|
AnimatedTextKit(animatedTexts: [
|
||||||
TypewriterAnimatedText(
|
TypewriterAnimatedText(
|
||||||
'Powered By ${AppInformation.companyName}',
|
'Powered By ${AppInformation.appName}',
|
||||||
textStyle:
|
textStyle:
|
||||||
AppStyle.title.copyWith(color: AppColor.secondaryColor),
|
AppStyle.title.copyWith(color: AppColor.primaryColor),
|
||||||
speed: const Duration(milliseconds: 200),
|
speed: const Duration(milliseconds: 200),
|
||||||
),
|
),
|
||||||
], isRepeatingAnimation: true)
|
], isRepeatingAnimation: true)
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ class MyCircularProgressIndicator extends StatelessWidget {
|
|||||||
children: [
|
children: [
|
||||||
Align(
|
Align(
|
||||||
alignment: Alignment.center,
|
alignment: Alignment.center,
|
||||||
child: Image.asset('assets/images/logo.png'),
|
child: Image.asset('assets/images/logo.gif'),
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 354 KiB After Width: | Height: | Size: 83 KiB |
|
Before Width: | Height: | Size: 8.9 KiB After Width: | Height: | Size: 4.5 KiB |
|
Before Width: | Height: | Size: 489 B After Width: | Height: | Size: 375 B |
|
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 818 B |
|
Before Width: | Height: | Size: 83 KiB After Width: | Height: | Size: 31 KiB |
|
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 1.9 KiB |
BIN
web/favicon.png
|
Before Width: | Height: | Size: 489 B After Width: | Height: | Size: 375 B |
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 7.7 KiB |
|
Before Width: | Height: | Size: 83 KiB After Width: | Height: | Size: 31 KiB |
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 7.7 KiB |
|
Before Width: | Height: | Size: 83 KiB After Width: | Height: | Size: 31 KiB |
|
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 1.3 KiB |