🔨 Upgrade android gradle project
This commit is contained in:
parent
010a49251c
commit
d943275ed5
@ -11,7 +11,7 @@ plugins {
|
|||||||
android {
|
android {
|
||||||
namespace = "dev.solsynth.solian"
|
namespace = "dev.solsynth.solian"
|
||||||
compileSdk = flutter.compileSdkVersion
|
compileSdk = flutter.compileSdkVersion
|
||||||
ndkVersion = "27.0.12077973"
|
ndkVersion = "29.0.13113456"
|
||||||
|
|
||||||
compileOptions {
|
compileOptions {
|
||||||
sourceCompatibility = JavaVersion.VERSION_17
|
sourceCompatibility = JavaVersion.VERSION_17
|
||||||
|
@ -1,5 +0,0 @@
|
|||||||
package dev.solsynth.solian
|
|
||||||
|
|
||||||
import io.flutter.embedding.android.FlutterActivity
|
|
||||||
|
|
||||||
class MainActivity : FlutterActivity()
|
|
@ -0,0 +1,14 @@
|
|||||||
|
package dev.solsynth.solian
|
||||||
|
|
||||||
|
import io.flutter.embedding.android.FlutterActivity
|
||||||
|
import io.flutter.embedding.engine.FlutterEngine
|
||||||
|
import io.flutter.plugins.sharedpreferences.LegacySharedPreferencesPlugin
|
||||||
|
|
||||||
|
class MainActivity : FlutterActivity()
|
||||||
|
{
|
||||||
|
override fun configureFlutterEngine(flutterEngine: FlutterEngine) {
|
||||||
|
super.configureFlutterEngine(flutterEngine)
|
||||||
|
// https://github.com/flutter/flutter/issues/153075#issuecomment-2693189362
|
||||||
|
flutterEngine.plugins.add(LegacySharedPreferencesPlugin())
|
||||||
|
}
|
||||||
|
}
|
@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME
|
|||||||
distributionPath=wrapper/dists
|
distributionPath=wrapper/dists
|
||||||
zipStoreBase=GRADLE_USER_HOME
|
zipStoreBase=GRADLE_USER_HOME
|
||||||
zipStorePath=wrapper/dists
|
zipStorePath=wrapper/dists
|
||||||
distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.2-all.zip
|
distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-all.zip
|
||||||
|
@ -18,7 +18,7 @@ pluginManagement {
|
|||||||
|
|
||||||
plugins {
|
plugins {
|
||||||
id("dev.flutter.flutter-plugin-loader") version "1.0.0"
|
id("dev.flutter.flutter-plugin-loader") version "1.0.0"
|
||||||
id("com.android.application") version "8.7.0" apply false
|
id("com.android.application") version "8.10.1" apply false
|
||||||
// START: FlutterFire Configuration
|
// START: FlutterFire Configuration
|
||||||
id("com.google.gms.google-services") version("4.3.15") apply false
|
id("com.google.gms.google-services") version("4.3.15") apply false
|
||||||
// END: FlutterFire Configuration
|
// END: FlutterFire Configuration
|
||||||
|
@ -308,5 +308,7 @@
|
|||||||
"accountDataExportRequested": "Data export requested. You'll receive an email when it's ready.",
|
"accountDataExportRequested": "Data export requested. You'll receive an email when it's ready.",
|
||||||
"accountDeletionDescription": "Permanently delete your account and all your data",
|
"accountDeletionDescription": "Permanently delete your account and all your data",
|
||||||
"accountSettingsHelp": "Account Settings Help",
|
"accountSettingsHelp": "Account Settings Help",
|
||||||
"accountSettingsHelpContent": "This page allows you to manage your account security, privacy, and other settings. If you need assistance, please contact support."
|
"accountSettingsHelpContent": "This page allows you to manage your account security, privacy, and other settings. If you need assistance, please contact support.",
|
||||||
|
"unauthorized": "Unauthorized",
|
||||||
|
"unauthorizedHint": "You're not signed in or session expired, please sign in again."
|
||||||
}
|
}
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
import 'package:dio/dio.dart';
|
||||||
import 'package:easy_localization/easy_localization.dart';
|
import 'package:easy_localization/easy_localization.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:gap/gap.dart';
|
import 'package:gap/gap.dart';
|
||||||
@ -7,11 +8,8 @@ import 'package:styled_widget/styled_widget.dart';
|
|||||||
class ResponseErrorWidget extends StatelessWidget {
|
class ResponseErrorWidget extends StatelessWidget {
|
||||||
final dynamic error;
|
final dynamic error;
|
||||||
final VoidCallback onRetry;
|
final VoidCallback onRetry;
|
||||||
const ResponseErrorWidget({
|
|
||||||
super.key,
|
const ResponseErrorWidget({super.key, required this.error, required this.onRetry});
|
||||||
required this.error,
|
|
||||||
required this.onRetry,
|
|
||||||
});
|
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
@ -20,14 +18,33 @@ class ResponseErrorWidget extends StatelessWidget {
|
|||||||
children: [
|
children: [
|
||||||
const Icon(Symbols.error_outline, size: 48),
|
const Icon(Symbols.error_outline, size: 48),
|
||||||
const Gap(4),
|
const Gap(4),
|
||||||
ConstrainedBox(
|
if (error is DioException && error.response?.statusCode == 401)
|
||||||
constraints: const BoxConstraints(maxWidth: 320),
|
ConstrainedBox(
|
||||||
child: Text(
|
constraints: const BoxConstraints(maxWidth: 320),
|
||||||
error.toString(),
|
child: Column(
|
||||||
textAlign: TextAlign.center,
|
children: [
|
||||||
style: const TextStyle(color: Color(0xFF757575)),
|
Text(
|
||||||
),
|
'unauthorized'.tr(),
|
||||||
).center(),
|
textAlign: TextAlign.center,
|
||||||
|
style: const TextStyle(color: Color(0xFF757575)),
|
||||||
|
).bold(),
|
||||||
|
Text(
|
||||||
|
'unauthorizedHint'.tr(),
|
||||||
|
textAlign: TextAlign.center,
|
||||||
|
style: const TextStyle(color: Color(0xFF757575)),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
).center()
|
||||||
|
else
|
||||||
|
ConstrainedBox(
|
||||||
|
constraints: const BoxConstraints(maxWidth: 320),
|
||||||
|
child: Text(
|
||||||
|
error.toString(),
|
||||||
|
textAlign: TextAlign.center,
|
||||||
|
style: const TextStyle(color: Color(0xFF757575)),
|
||||||
|
),
|
||||||
|
).center(),
|
||||||
const Gap(8),
|
const Gap(8),
|
||||||
TextButton(onPressed: onRetry, child: const Text('retry').tr()),
|
TextButton(onPressed: onRetry, child: const Text('retry').tr()),
|
||||||
],
|
],
|
||||||
|
12
pubspec.lock
12
pubspec.lock
@ -77,10 +77,10 @@ packages:
|
|||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
name: auto_route
|
name: auto_route
|
||||||
sha256: eae18fcd3e3762eb6074a3560c0f411d1e36bd9f8d3eed9c15ed1c577e8d1815
|
sha256: b8c036fa613a98a759cf0fdcba26e62f4985dcbff01a5e760ab411e8554bbaf0
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "10.1.0"
|
version: "10.1.0+1"
|
||||||
auto_route_generator:
|
auto_route_generator:
|
||||||
dependency: "direct dev"
|
dependency: "direct dev"
|
||||||
description:
|
description:
|
||||||
@ -205,10 +205,10 @@ packages:
|
|||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: built_value
|
name: built_value
|
||||||
sha256: ea90e81dc4a25a043d9bee692d20ed6d1c4a1662a28c03a96417446c093ed6b4
|
sha256: "082001b5c3dc495d4a42f1d5789990505df20d8547d42507c29050af6933ee27"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "8.9.5"
|
version: "8.10.1"
|
||||||
cached_network_image:
|
cached_network_image:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
@ -589,10 +589,10 @@ packages:
|
|||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: file_selector_macos
|
name: file_selector_macos
|
||||||
sha256: "271ab9986df0c135d45c3cdb6bd0faa5db6f4976d3e4b437cf7d0f258d941bfc"
|
sha256: "8c9250b2bd2d8d4268e39c82543bacbaca0fda7d29e0728c3c4bbb7c820fd711"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.9.4+2"
|
version: "0.9.4+3"
|
||||||
file_selector_platform_interface:
|
file_selector_platform_interface:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user