Basic custom App name support (only when adding)

This commit is contained in:
Imran Remtulla
2022-09-25 02:39:41 -04:00
parent 12855370b0
commit 420cf487d4
2 changed files with 35 additions and 5 deletions

View File

@@ -22,6 +22,7 @@ class _AddAppPageState extends State<AddAppPage> {
String userInput = ''; String userInput = '';
AppSource? pickedSource; AppSource? pickedSource;
List<String> additionalData = []; List<String> additionalData = [];
String customName = '';
bool validAdditionalData = true; bool validAdditionalData = true;
@override @override
@@ -79,6 +80,9 @@ class _AddAppPageState extends State<AddAppPage> {
.doesSourceHaveRequiredAdditionalData( .doesSourceHaveRequiredAdditionalData(
source) source)
: true; : true;
if (source == null) {
customName = '';
}
} }
}); });
}, },
@@ -100,7 +104,8 @@ class _AddAppPageState extends State<AddAppPage> {
}); });
sourceProvider sourceProvider
.getApp(pickedSource!, userInput, .getApp(pickedSource!, userInput,
additionalData) additionalData,
customName: customName)
.then((app) { .then((app) {
var appsProvider = var appsProvider =
context.read<AppsProvider>(); context.read<AppsProvider>();
@@ -162,7 +167,30 @@ class _AddAppPageState extends State<AddAppPage> {
}); });
}, },
defaultValues: defaultValues:
pickedSource!.additionalDataDefaults) pickedSource!.additionalDataDefaults),
if (pickedSource != null)
Column(
crossAxisAlignment:
CrossAxisAlignment.stretch,
children: [
const SizedBox(
height: 8,
),
GeneratedForm(
items: [
[
GeneratedFormItem(
label: 'Custom App Name',
required: false)
]
],
onValueChanges: (values, valid) {
setState(() {
customName = values[0];
});
},
defaultValues: [customName])
]),
], ],
) )
else else

View File

@@ -176,8 +176,8 @@ class SourceProvider {
return false; return false;
} }
Future<App> getApp( Future<App> getApp(AppSource source, String url, List<String> additionalData,
AppSource source, String url, List<String> additionalData) async { {String customName = ''}) async {
String standardUrl = source.standardizeURL(makeUrlHttps(url)); String standardUrl = source.standardizeURL(makeUrlHttps(url));
AppNames names = source.getAppNames(standardUrl); AppNames names = source.getAppNames(standardUrl);
APKDetails apk = APKDetails apk =
@@ -186,7 +186,9 @@ class SourceProvider {
'${names.author.toLowerCase()}_${names.name.toLowerCase()}_${source.host}', '${names.author.toLowerCase()}_${names.name.toLowerCase()}_${source.host}',
standardUrl, standardUrl,
names.author[0].toUpperCase() + names.author.substring(1), names.author[0].toUpperCase() + names.author.substring(1),
names.name[0].toUpperCase() + names.name.substring(1), customName.trim().isNotEmpty
? customName
: names.name[0].toUpperCase() + names.name.substring(1),
null, null,
apk.version, apk.version,
apk.apkUrls, apk.apkUrls,