-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
zhoushaolin
committed
Oct 26, 2022
0 parents
commit f77bca3
Showing
72 changed files
with
2,636 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
android/.idea |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
# gps_tracking | ||
|
||
A new Flutter project. | ||
|
||
## Getting Started | ||
|
||
This project is a starting point for a Flutter application. | ||
|
||
A few resources to get you started if this is your first Flutter project: | ||
|
||
- [Lab: Write your first Flutter app](https://docs.flutter.dev/get-started/codelab) | ||
- [Cookbook: Useful Flutter samples](https://docs.flutter.dev/cookbook) | ||
|
||
For help getting started with Flutter development, view the | ||
[online documentation](https://docs.flutter.dev/), which offers tutorials, | ||
samples, guidance on mobile development, and a full API reference. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,198 @@ | ||
# Specify analysis options. | ||
# | ||
# Until there are meta linter rules, each desired lint must be explicitly enabled. | ||
# See: https://github.com/dart-lang/linter/issues/288 | ||
# | ||
# For a list of lints, see: http://dart-lang.github.io/linter/lints/ | ||
# See the configuration guide for more | ||
# https://github.com/dart-lang/sdk/tree/master/pkg/analyzer#configuring-the-analyzer | ||
# | ||
# There are other similar analysis options files in the flutter repos, | ||
# which should be kept in sync with this file: | ||
# | ||
# - analysis_options.yaml (this file) | ||
# - packages/flutter/lib/analysis_options_user.yaml | ||
# - https://github.com/flutter/plugins/blob/master/analysis_options.yaml | ||
# - https://github.com/flutter/engine/blob/master/analysis_options.yaml | ||
# | ||
# This file contains the analysis options used by Flutter tools, such as IntelliJ, | ||
# Android Studio, and the `flutter analyze` command. | ||
|
||
analyzer: | ||
strong-mode: | ||
implicit-dynamic: false | ||
errors: | ||
# treat missing required parameters as a warning (not a hint) | ||
missing_required_param: warning | ||
# treat missing returns as a warning (not a hint) | ||
missing_return: warning | ||
# allow having TODOs in the code | ||
todo: ignore | ||
invalid_annotation_target: ignore | ||
# Ignore analyzer hints for updating pubspecs when using Future or | ||
# Stream and not importing dart:async | ||
# Please see https://github.com/flutter/flutter/pull/24528 for details. | ||
sdk_version_async_exported_from_core: ignore | ||
exclude: | ||
- "bin/cache/**" | ||
# the following two are relative to the stocks example and the flutter package respectively | ||
# see https://github.com/dart-lang/sdk/issues/28463 | ||
- "lib/i18n/stock_messages_*.dart" | ||
- "lib/src/http/**" | ||
- "**/*.g.dart" | ||
- "**/*.freezed.dart" | ||
- "**/*.gr.dart" | ||
|
||
linter: | ||
rules: | ||
# these rules are documented on and in the same order as | ||
# the Dart Lint rules page to make maintenance easier | ||
# https://github.com/dart-lang/linter/blob/master/example/all.yaml | ||
- always_declare_return_types | ||
# - always_put_control_body_on_new_line # might be more of a personal preference but I think sometimes it's way cleaner to have something like if (value == null) return; as a one-liner rather tan taking up 3 lines. | ||
# - always_put_required_named_parameters_first # we prefer having parameters in the same order as fields https://github.com/flutter/flutter/issues/10219 | ||
- always_require_non_null_named_parameters | ||
- always_use_package_imports | ||
# - always_specify_types # this is probably the most annoying rule and makes code hard to read. it makes sense to add type for things where type cannot be inferred otherwise it's just a noise | ||
- annotate_overrides | ||
# - avoid_annotating_with_dynamic # conflicts with always_specify_types | ||
# - avoid_as | ||
- avoid_bool_literals_in_conditional_expressions | ||
# - avoid_catches_without_on_clauses # we do this commonly | ||
# - avoid_catching_errors # we do this commonly | ||
# - avoid_classes_with_only_static_members # useless | ||
# - avoid_double_and_int_checks # only useful when targeting JS runtime | ||
- avoid_empty_else | ||
- avoid_field_initializers_in_const_classes | ||
- avoid_function_literals_in_foreach_calls | ||
# - avoid_implementing_value_types # not yet tested | ||
- avoid_init_to_null | ||
# - avoid_js_rounded_ints # only useful when targeting JS runtime | ||
- avoid_null_checks_in_equality_operators | ||
# - avoid_positional_boolean_parameters # not yet tested | ||
# - avoid_private_typedef_functions # we prefer having typedef (discussion in https://github.com/flutter/flutter/pull/16356) | ||
- avoid_relative_lib_imports | ||
- avoid_renaming_method_parameters | ||
- avoid_return_types_on_setters | ||
# - avoid_returning_null # there are plenty of valid reasons to return null | ||
# - avoid_returning_null_for_future # not yet tested | ||
- avoid_returning_null_for_void | ||
# - avoid_returning_this # there are plenty of valid reasons to return this | ||
# - avoid_setters_without_getters # not yet tested | ||
# - avoid_shadowing_type_parameters # not yet tested | ||
# - avoid_single_cascade_in_expression_statements # not yet tested | ||
- avoid_slow_async_io | ||
- avoid_types_as_parameter_names | ||
# - avoid_types_on_closure_parameters # conflicts with always_specify_types | ||
- avoid_unused_constructor_parameters | ||
- avoid_void_async | ||
- await_only_futures | ||
- camel_case_types | ||
- cancel_subscriptions | ||
# - cascade_invocations # not yet tested | ||
# - close_sinks # not reliable enough | ||
# - comment_references # blocked on https://github.com/flutter/flutter/issues/20765 | ||
# - constant_identifier_names # needs an opt-out https://github.com/dart-lang/linter/issues/204 | ||
- control_flow_in_finally | ||
# - curly_braces_in_flow_control_structures # not yet tested | ||
# - diagnostic_describe_all_properties # not yet tested | ||
# - directives_ordering # this is unnecessary | ||
- empty_catches | ||
- empty_constructor_bodies | ||
- empty_statements | ||
# - file_names # not yet tested | ||
- flutter_style_todos | ||
- hash_and_equals | ||
- implementation_imports | ||
# - invariant_booleans # too many false positives: https://github.com/dart-lang/linter/issues/811 | ||
- iterable_contains_unrelated_type | ||
# - join_return_with_assignment # not yet tested | ||
- library_names | ||
- library_prefixes | ||
# - lines_longer_than_80_chars # not yet tested | ||
- list_remove_unrelated_type | ||
# - literal_only_boolean_expressions # too many false positives: https://github.com/dart-lang/sdk/issues/34181 | ||
- no_adjacent_strings_in_list | ||
- no_duplicate_case_values | ||
# - non_constant_identifier_names | ||
# - null_closures # not yet tested | ||
# - omit_local_variable_types # opposite of always_specify_types | ||
# - one_member_abstracts # too many false positives | ||
# - only_throw_errors # https://github.com/flutter/flutter/issues/5792 | ||
- overridden_fields | ||
- package_api_docs | ||
- package_names | ||
- package_prefixed_library_names | ||
# - parameter_assignments # we do this commonly | ||
- prefer_adjacent_string_concatenation | ||
- prefer_asserts_in_initializer_lists | ||
# - prefer_asserts_with_message # not yet tested | ||
- prefer_collection_literals | ||
- prefer_conditional_assignment | ||
# - prefer_const_constructors # this gives very little perfomance improvement but more headache https://medium.com/nerd-for-tech/flutter-performance-analysis-of-const-constructor-d2a72fd8a043 | ||
# - prefer_const_constructors_in_immutables | ||
# - prefer_const_declarations | ||
# - prefer_const_literals_to_create_immutables | ||
# - prefer_constructors_over_static_methods # not yet tested | ||
- prefer_contains | ||
# - prefer_double_quotes # opposite of prefer_single_quotes | ||
- prefer_equal_for_default_values | ||
# - prefer_expression_function_bodies # conflicts with https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo#consider-using--for-short-functions-and-methods | ||
- prefer_final_fields | ||
# - prefer_final_in_for_each # not yet tested | ||
- prefer_final_locals | ||
# - prefer_for_elements_to_map_fromIterable # not yet tested | ||
- prefer_foreach | ||
# - prefer_function_declarations_over_variables # not yet tested | ||
- prefer_generic_function_type_aliases | ||
# - prefer_if_elements_to_conditional_expressions # not yet tested | ||
- prefer_if_null_operators | ||
- prefer_initializing_formals | ||
- prefer_inlined_adds | ||
# - prefer_int_literals # not yet tested | ||
# - prefer_interpolation_to_compose_strings # not yet tested | ||
- prefer_is_empty | ||
- prefer_is_not_empty | ||
- prefer_iterable_whereType | ||
# - prefer_mixin # https://github.com/dart-lang/language/issues/32 | ||
# - prefer_null_aware_operators # disable until NNBD, see https://github.com/flutter/flutter/pull/32711#issuecomment-492930932 | ||
# - prefer_relative_imports # this one again might be very subjective and if you have very strong opinions about this one then we can bring it back. I would rather use always_use_package_imports https://dart-lang.github.io/linter/lints/always_use_package_imports.html | ||
- prefer_single_quotes | ||
- prefer_spread_collections | ||
- prefer_typing_uninitialized_variables | ||
- prefer_void_to_null | ||
# - provide_deprecation_message # not yet tested | ||
# - public_member_api_docs # enabled on a case-by-case basis; see e.g. packages/analysis_options.yaml | ||
- recursive_getters | ||
- slash_for_doc_comments | ||
# - sort_child_properties_last # not yet tested | ||
# - sort_constructors_first | ||
# - sort_pub_dependencies this is annoying to do by hand every time | ||
# - sort_unnamed_constructors_first # this is annoying because it wants to put factory before private constructor in e.g tracking_point.dart | ||
- test_types_in_equals | ||
- throw_in_finally | ||
# - type_annotate_public_apis # subset of always_specify_types | ||
- type_init_formals | ||
# - unawaited_futures # too many false positives | ||
# - unnecessary_await_in_return # not yet tested | ||
- unnecessary_brace_in_string_interps | ||
- unnecessary_const | ||
- unnecessary_getters_setters | ||
# - unnecessary_lambdas # has false positives: https://github.com/dart-lang/linter/issues/498 | ||
- unnecessary_new | ||
- unnecessary_null_aware_assignments | ||
- unnecessary_null_in_if_null_operators | ||
- unnecessary_overrides | ||
- unnecessary_parenthesis | ||
- unnecessary_statements | ||
- unnecessary_this | ||
- unrelated_type_equality_checks | ||
# - unsafe_html # not yet tested | ||
- use_full_hex_values_for_flutter_colors | ||
# - use_function_type_syntax_for_parameters # not yet tested | ||
- use_rethrow_when_possible | ||
# - use_setters_to_change_properties # not yet tested | ||
# - use_string_buffers # has false positives: https://github.com/dart-lang/sdk/issues/34182 | ||
# - use_to_and_as_if_applicable # has false positives, so we prefer to catch this by code-review | ||
- valid_regexps | ||
# - void_checks # not yet tested |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
gradle-wrapper.jar | ||
/.gradle | ||
/captures/ | ||
/gradlew | ||
/gradlew.bat | ||
/local.properties | ||
GeneratedPluginRegistrant.java | ||
|
||
# Remember to never publicly share your keystore. | ||
# See https://flutter.dev/docs/deployment/android#reference-the-keystore-from-the-app | ||
key.properties | ||
**/*.keystore | ||
**/*.jks |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,73 @@ | ||
def localProperties = new Properties() | ||
def localPropertiesFile = rootProject.file('local.properties') | ||
if (localPropertiesFile.exists()) { | ||
localPropertiesFile.withReader('UTF-8') { reader -> | ||
localProperties.load(reader) | ||
} | ||
} | ||
|
||
def flutterRoot = localProperties.getProperty('flutter.sdk') | ||
if (flutterRoot == null) { | ||
throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") | ||
} | ||
|
||
def flutterVersionCode = localProperties.getProperty('flutter.versionCode') | ||
if (flutterVersionCode == null) { | ||
flutterVersionCode = '1' | ||
} | ||
|
||
def flutterVersionName = localProperties.getProperty('flutter.versionName') | ||
if (flutterVersionName == null) { | ||
flutterVersionName = '1.0' | ||
} | ||
|
||
apply plugin: 'com.android.application' | ||
apply plugin: 'kotlin-android' | ||
apply plugin: "org.jetbrains.kotlin.plugin.parcelize" | ||
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" | ||
|
||
android { | ||
compileSdkVersion 33 | ||
ndkVersion flutter.ndkVersion | ||
|
||
compileOptions { | ||
sourceCompatibility JavaVersion.VERSION_1_8 | ||
targetCompatibility JavaVersion.VERSION_1_8 | ||
} | ||
|
||
kotlinOptions { | ||
jvmTarget = '1.8' | ||
} | ||
|
||
sourceSets { | ||
main.java.srcDirs += 'src/main/kotlin' | ||
} | ||
|
||
defaultConfig { | ||
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). | ||
applicationId "com.rollingbeast" | ||
// You can update the following values to match your application needs. | ||
// For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-build-configuration. | ||
minSdkVersion 26 | ||
targetSdkVersion 33 | ||
versionCode flutterVersionCode.toInteger() | ||
versionName flutterVersionName | ||
} | ||
|
||
buildTypes { | ||
release { | ||
// TODO: Add your own signing config for the release build. | ||
// Signing with the debug keys for now, so `flutter run --release` works. | ||
signingConfig signingConfigs.debug | ||
} | ||
} | ||
} | ||
|
||
flutter { | ||
source '../..' | ||
} | ||
|
||
dependencies { | ||
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" | ||
implementation 'com.huawei.hms:location:6.7.0.300' | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
<manifest xmlns:android="http://schemas.android.com/apk/res/android" | ||
package="com.rollingbeast"> | ||
<!-- The INTERNET permission is required for development. Specifically, | ||
the Flutter tool needs it to communicate with the running application | ||
to allow setting breakpoints, to provide hot reload, etc. | ||
--> | ||
<uses-permission android:name="android.permission.INTERNET"/> | ||
</manifest> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,70 @@ | ||
<manifest xmlns:android="http://schemas.android.com/apk/res/android" | ||
package="com.rollingbeast"> | ||
|
||
<uses-permission android:name="android.permission.INTERNET"/> | ||
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> | ||
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> | ||
<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" /> | ||
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" /> | ||
|
||
<uses-permission android:name="android.permission.ACCESS_MEDIA_LOCATION" /> | ||
|
||
<uses-permission android:name="android.permission.ACTIVITY_RECOGNITION" /> | ||
<uses-permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS" /> | ||
|
||
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> | ||
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> | ||
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> | ||
|
||
<uses-permission android:name="android.permission.READ_PHONE_STATE" /> | ||
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> | ||
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> | ||
|
||
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" /> | ||
|
||
<application | ||
android:label="rolling_beast" | ||
android:usesCleartextTraffic="true" | ||
android:icon="@mipmap/ic_launcher"> | ||
<activity | ||
android:name=".MainActivity" | ||
android:launchMode="singleTop" | ||
android:exported="true" | ||
android:theme="@style/LaunchTheme" | ||
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode" | ||
android:hardwareAccelerated="true" | ||
android:windowSoftInputMode="adjustResize"> | ||
<!-- Specifies an Android theme to apply to this Activity as soon as | ||
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. --> | ||
<meta-data | ||
android:name="io.flutter.embedding.android.NormalTheme" | ||
android:resource="@style/NormalTheme" | ||
/> | ||
<!-- Displays an Android View that continues showing the launch screen | ||
Drawable until Flutter paints its first frame, then this splash | ||
screen fades out. A splash screen is useful to avoid any visual | ||
gap between the end of Android's launch screen and the painting of | ||
Flutter's first frame. --> | ||
<meta-data | ||
android:name="io.flutter.embedding.android.SplashScreenDrawable" | ||
android:resource="@drawable/launch_background" | ||
/> | ||
|
||
<intent-filter> | ||
<action android:name="android.intent.action.MAIN"/> | ||
<category android:name="android.intent.category.LAUNCHER"/> | ||
</intent-filter> | ||
</activity> | ||
<service | ||
android:name="com.huawei.location.service.BackGroundService" | ||
android:foregroundServiceType="location" /> | ||
<!-- <service android:name=".TrackingService" android:foregroundServiceType="location" />--> | ||
<!-- Don't delete the meta-data below. | ||
This is used by the Flutter tool to generate GeneratedPluginRegistrant.java --> | ||
<meta-data | ||
android:name="flutterEmbedding" | ||
android:value="2" /> | ||
</application> | ||
</manifest> |
Oops, something went wrong.