Compare commits
14 Commits
ba2d17174c
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
| 1db5f3dedf | |||
| 27ca718e54 | |||
| 8096b6809c | |||
| 6b137b9c9f | |||
| 411166ef5d | |||
| b2f0015556 | |||
| f9a33809a2 | |||
| abd6d779ea | |||
| 92815c4682 | |||
| 8a3487f65e | |||
| 64b80eecc9 | |||
| 43f1e4ecb2 | |||
| 449e345e3e | |||
| c2bcd685cf |
@@ -0,0 +1,58 @@
|
|||||||
|
name: CI
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches: [ master ]
|
||||||
|
paths:
|
||||||
|
- 'lib/**.dart'
|
||||||
|
- 'test/**.dart'
|
||||||
|
- 'android/**'
|
||||||
|
- 'pubspec.yaml'
|
||||||
|
- 'pubspec.lock'
|
||||||
|
pull_request:
|
||||||
|
branches: [ master ]
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
# Target the self-hosted Flutter/Android runner at the android-stuff org.
|
||||||
|
# See tool/setup_ci_runner.sh for how that runner is provisioned.
|
||||||
|
#
|
||||||
|
# The runner is host-mode so the same JDK 17 + Android SDK + Flutter
|
||||||
|
# toolchain is used as the verified release — nothing installs per-run.
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
analyze:
|
||||||
|
name: Analyze & Test
|
||||||
|
runs-on: flutter-android
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Toolchain
|
||||||
|
run: |
|
||||||
|
flutter --version
|
||||||
|
echo "ANDROID_HOME=${ANDROID_HOME:?not set on this runner}"
|
||||||
|
|
||||||
|
- name: Get dependencies
|
||||||
|
run: flutter pub get
|
||||||
|
|
||||||
|
- name: Analyze
|
||||||
|
run: flutter analyze
|
||||||
|
|
||||||
|
release-apk:
|
||||||
|
name: Release APK
|
||||||
|
runs-on: flutter-android
|
||||||
|
needs: [analyze]
|
||||||
|
if: github.event_name == 'push' || github.event_name == 'workflow_dispatch'
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Get dependencies
|
||||||
|
run: flutter pub get
|
||||||
|
|
||||||
|
- name: Build release APK
|
||||||
|
run: flutter build apk --release
|
||||||
|
|
||||||
|
- uses: actions/upload-artifact@v4
|
||||||
|
with:
|
||||||
|
name: app-release-apk
|
||||||
|
path: build/app/outputs/flutter-apk/app-release.apk
|
||||||
|
if-no-files-found: error
|
||||||
@@ -10,3 +10,11 @@ analyzer:
|
|||||||
- windows/**
|
- windows/**
|
||||||
- macos/**
|
- macos/**
|
||||||
- linux/**
|
- linux/**
|
||||||
|
|
||||||
|
linter:
|
||||||
|
rules:
|
||||||
|
prefer_single_quotes: true
|
||||||
|
# SCREAMING_SNAKE_CASE for constants is project convention
|
||||||
|
constant_identifier_names: false
|
||||||
|
# sort_pub_dependencies doesn't play well with flutter SDK dep first
|
||||||
|
sort_pub_dependencies: false
|
||||||
@@ -15,9 +15,10 @@ class GpsService {
|
|||||||
LocationAccuracy accuracy = LocationAccuracy.high,
|
LocationAccuracy accuracy = LocationAccuracy.high,
|
||||||
}) {
|
}) {
|
||||||
return Geolocator.getPositionStream(
|
return Geolocator.getPositionStream(
|
||||||
locationSettings: LocationSettings(
|
locationSettings: AndroidSettings(
|
||||||
accuracy: accuracy,
|
accuracy: accuracy,
|
||||||
distanceFilter: 0,
|
distanceFilter: 0,
|
||||||
|
intervalDuration: Duration(milliseconds: 250),
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ class OverlayService {
|
|||||||
() async {
|
() async {
|
||||||
await FlutterOverlayWindow.showOverlay(
|
await FlutterOverlayWindow.showOverlay(
|
||||||
enableDrag: true,
|
enableDrag: true,
|
||||||
overlayTitle: "Speedometer",
|
overlayTitle: 'Speedometer',
|
||||||
overlayContent: 'Speedo overlay active',
|
overlayContent: 'Speedo overlay active',
|
||||||
flag: OverlayFlag.defaultFlag,
|
flag: OverlayFlag.defaultFlag,
|
||||||
visibility: NotificationVisibility.visibilityPublic,
|
visibility: NotificationVisibility.visibilityPublic,
|
||||||
|
|||||||
+7
-22
@@ -2,7 +2,7 @@ name: gps_speedo
|
|||||||
description: "Speedo - A Flutter application."
|
description: "Speedo - A Flutter application."
|
||||||
publish_to: 'none'
|
publish_to: 'none'
|
||||||
|
|
||||||
version: 2.2.2+1
|
version: 2.3.0+2
|
||||||
|
|
||||||
environment:
|
environment:
|
||||||
sdk: ^3.9.0
|
sdk: ^3.9.0
|
||||||
@@ -11,37 +11,22 @@ dependencies:
|
|||||||
flutter:
|
flutter:
|
||||||
sdk: flutter
|
sdk: flutter
|
||||||
|
|
||||||
# cupertino_icons: ^1.0.8
|
|
||||||
# Probably no icons needed for now
|
|
||||||
|
|
||||||
# GPS and Location Services - Essential only
|
# GPS and Location Services - Essential only
|
||||||
|
bg_launcher: ^0.1.0
|
||||||
|
flutter_overlay_window: ^0.5.0
|
||||||
geolocator: ^14.0.2
|
geolocator: ^14.0.2
|
||||||
permission_handler: ^12.0.1
|
permission_handler: ^12.0.1
|
||||||
|
|
||||||
# Keep screen awake during navigation
|
|
||||||
wakelock_plus: ^1.2.8
|
|
||||||
|
|
||||||
# Floating window overlay capability
|
|
||||||
flutter_overlay_window: ^0.5.0
|
|
||||||
|
|
||||||
# Bring app to foreground from background/overlay
|
|
||||||
bg_launcher: ^0.1.0
|
|
||||||
|
|
||||||
# State management
|
|
||||||
provider: ^6.1.2
|
provider: ^6.1.2
|
||||||
|
|
||||||
# Persistent settings storage
|
|
||||||
shared_preferences: ^2.3.4
|
|
||||||
|
|
||||||
# Retry logic for platform operations
|
|
||||||
retry: ^3.1.2
|
retry: ^3.1.2
|
||||||
|
shared_preferences: ^2.3.4
|
||||||
|
wakelock_plus: ^1.2.8
|
||||||
|
|
||||||
|
|
||||||
dev_dependencies:
|
dev_dependencies:
|
||||||
|
flutter_launcher_icons: "^0.14.4"
|
||||||
|
flutter_lints: ^6.0.0
|
||||||
flutter_test:
|
flutter_test:
|
||||||
sdk: flutter
|
sdk: flutter
|
||||||
flutter_lints: ^6.0.0
|
|
||||||
flutter_launcher_icons: "^0.14.4"
|
|
||||||
|
|
||||||
flutter:
|
flutter:
|
||||||
uses-material-design: true
|
uses-material-design: true
|
||||||
|
|||||||
Reference in New Issue
Block a user