devbox setup, dep upgrades, lint fixes, Android build fixes

- Add devbox.json pinning Flutter 3.35.7, Android SDK (Nix flake),
  openjdk17, just, openssl
- Add android/nix-android-sdk/ Nix flake + flake.lock + Android Studio
  config script
- Add justfile with build/get/upgrade/icons/analyze/rebuild recipes
- flutter pub upgrade --major-versions: file_picker ^11, google_fonts ^8,
  permission_handler ^12, share_plus ^12, flutter_lints ^6 (+71 transitive)
- Fix file_picker v11 API: FilePicker.platform → FilePicker.getDirectoryPath()
- Fix all 37 analyzer issues: deprecated APIs (window, WillPopScope, Share,
  SvgPicture color), async BuildContext guards, key constructors, private
  createState() return types, unused locals, print → debugPrint, etc.
- Hook _handleCommand into onSubmitted for : prefix commands
- Android: Gradle 8.3→8.11.1, AGP 8.2.2→8.9.1, KGP 1.8.22→2.2.20,
  compileSdk/targetSdk 34→36, namespace auto-derivation for library modules,
  kotlin.compiler.execution.strategy=in-process

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
randogoth 2026-06-19 17:08:29 +03:00
parent 9dbd638fa8
commit fc6c69db24
19 changed files with 1287 additions and 383 deletions

8
lib/main.dart Normal file → Executable file
View file

@ -14,12 +14,14 @@ void main() async {
final license = await rootBundle.loadString('google_fonts/OFL.txt');
yield LicenseEntryWithLineBreaks(['google_fonts'], license);
});
runApp(MuzzleVelocityApp());
runApp(const MuzzleVelocityApp());
}
class MuzzleVelocityApp extends StatefulWidget {
const MuzzleVelocityApp({super.key});
@override
_MuzzleVelocityAppState createState() => _MuzzleVelocityAppState();
State<MuzzleVelocityApp> createState() => _MuzzleVelocityAppState();
}
class _MuzzleVelocityAppState extends State<MuzzleVelocityApp> {
@ -31,7 +33,7 @@ class _MuzzleVelocityAppState extends State<MuzzleVelocityApp> {
super.initState();
// Ensure the correct theme mode is set on startup
_themeMode =
WidgetsBinding.instance.window.platformBrightness == Brightness.dark
WidgetsBinding.instance.platformDispatcher.platformBrightness == Brightness.dark
? ThemeMode.dark
: ThemeMode.light;
}