diff --git a/.env.example b/.env.example new file mode 100644 index 00000000..4ead69a3 --- /dev/null +++ b/.env.example @@ -0,0 +1,3 @@ +sentryDSN= +apiKey= +appId= \ No newline at end of file diff --git a/.github/workflows/release-build.yml b/.github/workflows/release-build.yml index 0d3afbf6..13fb3be9 100644 --- a/.github/workflows/release-build.yml +++ b/.github/workflows/release-build.yml @@ -22,7 +22,7 @@ jobs: - uses: SpicyPizza/create-envfile@v1 with: envkey_sentryDSN: ${{ secrets.SENTRY_DSN }} - evykey_apiKey: ${{ secrets.API_KEY }} + envkey_apiKey: ${{ secrets.API_KEY }} envkey_appId: ${{ secrets.APP_ID }} - name: Set up Flutter run: flutter pub get diff --git a/.gitignore b/.gitignore index f77a9227..bbdde477 100644 --- a/.gitignore +++ b/.gitignore @@ -138,5 +138,4 @@ Firebase related .firebase # Environment variables -android/app/google-services.json -/lib/utils/env_class.g.dart \ No newline at end of file +android/app/google-services.json \ No newline at end of file diff --git a/lib/firebase_options.dart b/lib/firebase_options.dart index b4dc294e..4f612e7a 100644 --- a/lib/firebase_options.dart +++ b/lib/firebase_options.dart @@ -3,7 +3,7 @@ import 'package:firebase_core/firebase_core.dart' show FirebaseOptions; import 'package:flutter/foundation.dart' show defaultTargetPlatform, kIsWeb, TargetPlatform; -import 'package:revanced_manager/utils/env_class.dart'; +import 'package:flutter_dotenv/flutter_dotenv.dart'; /// Default [FirebaseOptions] for use with your Firebase apps. /// @@ -54,8 +54,8 @@ class DefaultFirebaseOptions { } static FirebaseOptions android = FirebaseOptions( - apiKey: Env.apiKey, - appId: Env.appId, + apiKey: dotenv.env['apiKey'] ?? '', + appId: dotenv.env['appId'] ?? '', messagingSenderId: '1006104807752', projectId: 'revanced-manager', storageBucket: 'revanced-manager.appspot.com', diff --git a/lib/main.dart b/lib/main.dart index 4862ea73..8288bf36 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -9,14 +9,15 @@ import 'package:revanced_manager/services/patcher_api.dart'; import 'package:revanced_manager/services/revanced_api.dart'; import 'package:revanced_manager/ui/theme/dynamic_theme_builder.dart'; import 'package:revanced_manager/ui/views/navigation/navigation_view.dart'; -import 'package:revanced_manager/utils/env_class.dart'; import 'package:stacked_themes/stacked_themes.dart'; import 'package:sentry_flutter/sentry_flutter.dart'; import 'package:timezone/data/latest.dart' as tz; import 'package:firebase_core/firebase_core.dart'; import 'firebase_options.dart'; +import 'package:flutter_dotenv/flutter_dotenv.dart'; Future main() async { + await dotenv.load(fileName: ".env"); await ThemeManager.initialise(); await setupLocator(); WidgetsFlutterBinding.ensureInitialized(); @@ -45,7 +46,7 @@ Future main() async { await SentryFlutter.init( (options) { options - ..dsn = isSentryEnabled ? Env.sentryDSN : '' + ..dsn = isSentryEnabled ? dotenv.env['sentryDSN'] : '' ..environment = 'alpha' ..release = '0.1' ..tracesSampleRate = 1.0 diff --git a/lib/utils/env_class.dart b/lib/utils/env_class.dart deleted file mode 100644 index dd056e9e..00000000 --- a/lib/utils/env_class.dart +++ /dev/null @@ -1,15 +0,0 @@ -import 'package:envied/envied.dart'; - -part 'env_class.g.dart'; - -@Envied() -abstract class Env { - @EnviedField(varName: 'sentryDSN') - static String sentryDSN = _Env.sentryDSN; - - @EnviedField(varName: 'apiKey') - static String apiKey = _Env.apiKey; - - @EnviedField(varName: 'appId') - static String appId = _Env.appId; -} diff --git a/pubspec.yaml b/pubspec.yaml index 824a6c40..b92ea37f 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -73,9 +73,9 @@ dependencies: url_launcher: ^6.1.5 wakelock: ^0.6.2 sentry_dio: ^6.12.2 - envied: ^0.2.3 firebase_core: ^1.24.0 firebase_crashlytics: ^2.9.0 + flutter_dotenv: ^5.0.2 dev_dependencies: json_serializable: ^6.3.1 @@ -85,7 +85,6 @@ dev_dependencies: flutter_test: sdk: flutter injectable_generator: ^1.5.4 - envied_generator: ^0.2.3