mirror of
https://github.com/ImranR98/Obtainium.git
synced 2025-11-09 17:43:29 +01:00
Compare commits
9 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b665b739f6 | ||
|
|
faaab3f038 | ||
|
|
3853cca7e5 | ||
|
|
006c39f1d0 | ||
|
|
44950032f7 | ||
|
|
0ba2ec04f1 | ||
|
|
a909e47201 | ||
|
|
9fc4a07889 | ||
|
|
fdabd96288 |
2
.flutter
2
.flutter
Submodule .flutter updated: 9f455d2486...adc9010625
@@ -1,8 +1,8 @@
|
||||
{
|
||||
"invalidURLForSource": "El URL de la aplicación {} no es válido",
|
||||
"invalidURLForSource": "La URL de la aplicación {} no es válida",
|
||||
"noReleaseFound": "No se ha encontrado una versión válida",
|
||||
"noVersionFound": "No se ha podido determinar la versión",
|
||||
"urlMatchesNoSource": "El URL no coincide con ninguna fuente conocida",
|
||||
"urlMatchesNoSource": "La URL no coincide con ninguna fuente conocida",
|
||||
"cantInstallOlderVersion": "No se puede instalar una versión previa de la aplicación",
|
||||
"appIdMismatch": "El ID del paquete descargado no coincide con el ID de la aplicación instalada",
|
||||
"functionNotImplemented": "Esta clase no ha implementado esta función",
|
||||
@@ -29,7 +29,7 @@
|
||||
"uname": "Nombre de usuario",
|
||||
"wrongArgNum": "Número de argumentos provistos inválido",
|
||||
"xIsTrackOnly": "{} es de 'sólo seguimiento'",
|
||||
"source": "origen",
|
||||
"source": "fuente",
|
||||
"app": "Aplicación",
|
||||
"appsFromSourceAreTrackOnly": "Las aplicaciones de este origen son solo para seguimiento.",
|
||||
"youPickedTrackOnly": "Debe seleccionar la opción de 'solo para seguimiento'.",
|
||||
@@ -41,7 +41,7 @@
|
||||
"appSourceURL": "URL origen de la aplicación",
|
||||
"error": "Error",
|
||||
"add": "Añadir",
|
||||
"searchSomeSourcesLabel": "Buscar (solo algunas fuentes)",
|
||||
"searchSomeSourcesLabel": "Buscar (solo en algunas fuentes)",
|
||||
"search": "Buscar",
|
||||
"additionalOptsFor": "Opciones adicionales para {}",
|
||||
"supportedSources": "Fuentes admitidas",
|
||||
@@ -105,7 +105,7 @@
|
||||
"importedAppsIdDisclaimer": "Las aplicaciones importadas podrían mostrarse incorrectamente como «No instalada».\nPara solucionarlo, reinstálelas a través de Obtainium.\nEsto no debería afectar a los datos de las aplicaciones.\n\nSolo afecta a los URL y a los métodos de importación mediante terceros.",
|
||||
"importErrors": "Errores de Importación",
|
||||
"importedXOfYApps": "{} de {} aplicaciones importadas.",
|
||||
"followingURLsHadErrors": "Los URL siguientes han tenido problemas:",
|
||||
"followingURLsHadErrors": "Las URL siguientes han tenido problemas:",
|
||||
"selectURL": "Seleccionar URL",
|
||||
"selectURLs": "Seleccionar URLs",
|
||||
"pick": "Escoger",
|
||||
@@ -291,7 +291,7 @@
|
||||
"checkingForUpdatesNotifChannel": "Buscando actualizaciones",
|
||||
"onlyCheckInstalledOrTrackOnlyApps": "Comprobar actualizaciones solo para apps instaladas o en seguimiento",
|
||||
"supportFixedAPKURL": "Soporte para URLs fijas de APK",
|
||||
"selectX": "Elija {}",
|
||||
"selectX": "Seleccionar {}",
|
||||
"parallelDownloads": "Permitir descargas paralelas",
|
||||
"useShizuku": "Usar Shizuku o Sui para instalar",
|
||||
"shizukuBinderNotFound": "Shizuku no funciona",
|
||||
|
||||
@@ -337,8 +337,8 @@
|
||||
"fgServiceNotice": "Ez az értesítés a háttérben történő frissítésellenőrzéshez szükséges (a rendszer beállításaiban elrejthető).",
|
||||
"excludeSecrets": "Érzékeny adatok (például: személyes hozzáférési tokenek) kihagyása",
|
||||
"GHReqPrefix": "„sky22333/hubproxy” példány a GitHub lekérdezéséhez",
|
||||
"includeZips": "ZIP fájlok belefoglalása",
|
||||
"zippedApkFilterRegEx": "APK-k szűrése a ZIP-en belül",
|
||||
"includeZips": "ZIP-fájlok belefoglalása",
|
||||
"zippedApkFilterRegEx": "APK-fájlok szűrése a ZIP-fájlon belül",
|
||||
"removeAppQuestion": {
|
||||
"one": "Eltávolítja az alkalmazást?",
|
||||
"other": "Eltávolítja az alkalmazásokat?"
|
||||
|
||||
@@ -405,7 +405,7 @@ class GitHub extends AppSource {
|
||||
findReleaseAssetUrls(dynamic release) =>
|
||||
(release['assets'] as List<dynamic>?)?.map((e) {
|
||||
var ext = e['name'].toString().toLowerCase().split('.').last;
|
||||
var url = !(ext == 'apk' || (includeZips && ext == 'zip'))
|
||||
var url = !(ext == 'apk' || ext == 'xapk' || (includeZips && ext == 'zip'))
|
||||
? (e['browser_download_url'] ?? e['url'])
|
||||
: (e['url'] ?? e['browser_download_url']);
|
||||
url = undoGHProxyMod(url, sourceConfigSettingValues);
|
||||
@@ -550,7 +550,7 @@ class GitHub extends AppSource {
|
||||
.toLowerCase()
|
||||
.split('.')
|
||||
.last;
|
||||
return ext == 'apk' || (includeZips && ext == 'zip');
|
||||
return ext == 'apk' || ext == 'xapk' || (includeZips && ext == 'zip');
|
||||
}).toList();
|
||||
|
||||
var filteredApkUrls = filterApks(
|
||||
|
||||
@@ -86,7 +86,11 @@ class RuStore extends AppSource {
|
||||
postBody: {"appId": appDetails['appId'], "firstInstall": true},
|
||||
);
|
||||
var downloadDetails = (await decodeJsonBody(res1.bodyBytes))['body'];
|
||||
if (res1.statusCode != 200 || downloadDetails['downloadUrls'][0]['url'] == null) {
|
||||
try {
|
||||
if (res1.statusCode != 200 || downloadDetails['downloadUrls'][0]['url'] == null) {
|
||||
throw NoAPKError();
|
||||
}
|
||||
} catch (e) {
|
||||
throw NoAPKError();
|
||||
}
|
||||
|
||||
|
||||
@@ -498,6 +498,10 @@ Future<PackageInfo?> getInstalledInfo(
|
||||
return null;
|
||||
}
|
||||
|
||||
Future<Directory> getAppStorageDir() async =>
|
||||
await getExternalStorageDirectory() ??
|
||||
await getApplicationDocumentsDirectory();
|
||||
|
||||
class AppsProvider with ChangeNotifier {
|
||||
// In memory App state (should always be kept in sync with local storage versions)
|
||||
Map<String, AppInMemory> apps = {};
|
||||
@@ -534,15 +538,11 @@ class AppsProvider with ChangeNotifier {
|
||||
iconsCacheDir.createSync();
|
||||
}
|
||||
} else {
|
||||
APKDir = Directory(
|
||||
'${(await getExternalStorageDirectory())!.path}/apks',
|
||||
);
|
||||
APKDir = Directory('${(await getAppStorageDir()).path}/apks');
|
||||
if (!APKDir.existsSync()) {
|
||||
APKDir.createSync();
|
||||
}
|
||||
iconsCacheDir = Directory(
|
||||
'${(await getExternalStorageDirectory())!.path}/icons',
|
||||
);
|
||||
iconsCacheDir = Directory('${(await getAppStorageDir()).path}/icons');
|
||||
if (!iconsCacheDir.existsSync()) {
|
||||
iconsCacheDir.createSync();
|
||||
}
|
||||
@@ -1002,7 +1002,7 @@ class AppsProvider with ChangeNotifier {
|
||||
}
|
||||
|
||||
Future<String> getStorageRootPath() async {
|
||||
return '/${(await getExternalStorageDirectory())!.uri.pathSegments.sublist(0, 3).join('/')}';
|
||||
return '/${(await getAppStorageDir()).uri.pathSegments.sublist(0, 3).join('/')}';
|
||||
}
|
||||
|
||||
Future<void> moveObbFile(File file, String appId) async {
|
||||
@@ -1449,7 +1449,7 @@ class AppsProvider with ChangeNotifier {
|
||||
|
||||
Future<Directory> getAppsDir() async {
|
||||
Directory appsDir = Directory(
|
||||
'${(await getExternalStorageDirectory())!.path}/app_data',
|
||||
'${(await getAppStorageDir()).path}/app_data',
|
||||
);
|
||||
if (!appsDir.existsSync()) {
|
||||
appsDir.createSync();
|
||||
|
||||
@@ -9,7 +9,6 @@ import 'package:obtainium/app_sources/github.dart';
|
||||
import 'package:obtainium/main.dart';
|
||||
import 'package:obtainium/providers/apps_provider.dart';
|
||||
import 'package:obtainium/providers/source_provider.dart';
|
||||
import 'package:path_provider/path_provider.dart';
|
||||
import 'package:permission_handler/permission_handler.dart';
|
||||
import 'package:shared_preferences/shared_preferences.dart';
|
||||
import 'package:shared_storage/shared_storage.dart' as saf;
|
||||
@@ -35,7 +34,7 @@ class SettingsProvider with ChangeNotifier {
|
||||
// Not done in constructor as we want to be able to await it
|
||||
Future<void> initializeSettings() async {
|
||||
prefs = await SharedPreferences.getInstance();
|
||||
defaultAppDir = (await getExternalStorageDirectory())!.path;
|
||||
defaultAppDir = (await getAppStorageDir()).path;
|
||||
notifyListeners();
|
||||
}
|
||||
|
||||
|
||||
68
pubspec.lock
68
pubspec.lock
@@ -176,18 +176,18 @@ packages:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: cross_file
|
||||
sha256: "7caf6a750a0c04effbb52a676dce9a4a592e10ad35c34d6d2d0e4811160d5670"
|
||||
sha256: "942a4791cd385a68ccb3b32c71c427aba508a1bb949b86dff2adbe4049f16239"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "0.3.4+2"
|
||||
version: "0.3.5"
|
||||
crypto:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: crypto
|
||||
sha256: "1e445881f28f22d6140f181e07737b22f1e099a5e1ff94b0af2f9e4a463f4855"
|
||||
sha256: c8ea0233063ba03258fbcf2ca4d6dadfefe14f02fab57702265467a19f27fadf
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "3.0.6"
|
||||
version: "3.0.7"
|
||||
csslib:
|
||||
dependency: transitive
|
||||
description:
|
||||
@@ -216,10 +216,10 @@ packages:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: device_info_plus
|
||||
sha256: "49413c8ca514dea7633e8def233b25efdf83ec8522955cc2c0e3ad802927e7c6"
|
||||
sha256: dd0e8e02186b2196c7848c9d394a5fd6e5b57a43a546082c5820b1ec72317e33
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "12.1.0"
|
||||
version: "12.2.0"
|
||||
device_info_plus_platform_interface:
|
||||
dependency: transitive
|
||||
description:
|
||||
@@ -304,18 +304,18 @@ packages:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: flex_color_picker
|
||||
sha256: "8f753a1a026a13ea5cc5eddbae3ceb886f2537569ab2e5208efb1e3bb5af72ff"
|
||||
sha256: f5b0b53d4ae0d59b1e28dfc21d5398e5028cf8e764518e491a52fd050aa23881
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "3.7.1"
|
||||
version: "3.7.2"
|
||||
flex_seed_scheme:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: flex_seed_scheme
|
||||
sha256: b06d8b367b84cbf7ca5c5603c858fa5edae88486c4e4da79ac1044d73b6c62ec
|
||||
sha256: "828291a5a4d4283590541519d8b57821946660ac61d2e07d955f81cfcab22e5d"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "3.5.1"
|
||||
version: "3.6.1"
|
||||
flutter:
|
||||
dependency: "direct main"
|
||||
description: flutter
|
||||
@@ -482,10 +482,10 @@ packages:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: flutter_plugin_android_lifecycle
|
||||
sha256: c2fe1001710127dfa7da89977a08d591398370d099aacdaa6d44da7eb14b8476
|
||||
sha256: "306f0596590e077338312f38837f595c04f28d6cdeeac392d3d74df2f0003687"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.0.31"
|
||||
version: "2.0.32"
|
||||
flutter_test:
|
||||
dependency: transitive
|
||||
description: flutter
|
||||
@@ -676,18 +676,18 @@ packages:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: path_provider_android
|
||||
sha256: "3b4c1fc3aa55ddc9cd4aa6759984330d5c8e66aa7702a6223c61540dc6380c37"
|
||||
sha256: e122c5ea805bb6773bb12ce667611265980940145be920cd09a4b0ec0285cb16
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.2.19"
|
||||
version: "2.2.20"
|
||||
path_provider_foundation:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: path_provider_foundation
|
||||
sha256: "16eef174aacb07e09c351502740fa6254c165757638eba1e9116b0a781201bbd"
|
||||
sha256: efaec349ddfc181528345c56f8eda9d6cccd71c177511b132c6a0ddaefaa2738
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.4.2"
|
||||
version: "2.4.3"
|
||||
path_provider_linux:
|
||||
dependency: transitive
|
||||
description:
|
||||
@@ -796,10 +796,10 @@ packages:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: pointer_interceptor_ios
|
||||
sha256: a6906772b3205b42c44614fcea28f818b1e5fdad73a4ca742a7bd49818d9c917
|
||||
sha256: "03c5fa5896080963ab4917eeffda8d28c90f22863a496fb5ba13bc10943e40e4"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "0.10.1"
|
||||
version: "0.10.1+1"
|
||||
pointer_interceptor_platform_interface:
|
||||
dependency: transitive
|
||||
description:
|
||||
@@ -828,10 +828,10 @@ packages:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: share_plus
|
||||
sha256: "3424e9d5c22fd7f7590254ba09465febd6f8827c8b19a44350de4ac31d92d3a6"
|
||||
sha256: "14c8860d4de93d3a7e53af51bff479598c4e999605290756bbbe45cf65b37840"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "12.0.0"
|
||||
version: "12.0.1"
|
||||
share_plus_platform_interface:
|
||||
dependency: transitive
|
||||
description:
|
||||
@@ -860,10 +860,10 @@ packages:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: shared_preferences_foundation
|
||||
sha256: "6a52cfcdaeac77cad8c97b539ff688ccfc458c007b4db12be584fbe5c0e49e03"
|
||||
sha256: "1c33a907142607c40a7542768ec9badfd16293bac51da3a4482623d15845f88b"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.5.4"
|
||||
version: "2.5.5"
|
||||
shared_preferences_linux:
|
||||
dependency: transitive
|
||||
description:
|
||||
@@ -927,14 +927,6 @@ packages:
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "1.10.1"
|
||||
sprintf:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: sprintf
|
||||
sha256: "1fc9ffe69d4df602376b52949af107d8f5703b77cda567c4d7d86a0693120f23"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "7.0.0"
|
||||
sqflite:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
@@ -1067,10 +1059,10 @@ packages:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: url_launcher_ios
|
||||
sha256: d80b3f567a617cb923546034cc94bfe44eb15f989fe670b37f26abdb9d939cb7
|
||||
sha256: "6b63f1441e4f653ae799166a72b50b1767321ecc263a57aadf825a7a2a5477d9"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "6.3.4"
|
||||
version: "6.3.5"
|
||||
url_launcher_linux:
|
||||
dependency: transitive
|
||||
description:
|
||||
@@ -1083,10 +1075,10 @@ packages:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: url_launcher_macos
|
||||
sha256: c043a77d6600ac9c38300567f33ef12b0ef4f4783a2c1f00231d2b1941fea13f
|
||||
sha256: "8262208506252a3ed4ff5c0dc1e973d2c0e0ef337d0a074d35634da5d44397c9"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "3.2.3"
|
||||
version: "3.2.4"
|
||||
url_launcher_platform_interface:
|
||||
dependency: transitive
|
||||
description:
|
||||
@@ -1115,10 +1107,10 @@ packages:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: uuid
|
||||
sha256: a5be9ef6618a7ac1e964353ef476418026db906c4facdedaa299b7a2e71690ff
|
||||
sha256: a11b666489b1954e01d992f3d601b1804a33937b5a8fe677bd26b8a9f96f96e8
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "4.5.1"
|
||||
version: "4.5.2"
|
||||
vector_math:
|
||||
dependency: transitive
|
||||
description:
|
||||
@@ -1171,10 +1163,10 @@ packages:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: webview_flutter_wkwebview
|
||||
sha256: fea63576b3b7e02b2df8b78ba92b48ed66caec2bb041e9a0b1cbd586d5d80bfd
|
||||
sha256: "5de608fdea144d4370c21d4c80f0528135529e0180aa129790064c345e457a43"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "3.23.1"
|
||||
version: "3.23.2"
|
||||
win32:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
||||
@@ -16,7 +16,7 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev
|
||||
# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
|
||||
# In Windows, build-name is used as the major, minor, and patch parts
|
||||
# of the product and file versions while build-number is used as the build suffix.
|
||||
version: 1.2.7+2323
|
||||
version: 1.2.8+2324
|
||||
|
||||
environment:
|
||||
sdk: ^3.8.1
|
||||
|
||||
Reference in New Issue
Block a user