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 = '';
AppSource? pickedSource;
List<String> additionalData = [];
String customName = '';
bool validAdditionalData = true;
@override
@@ -79,6 +80,9 @@ class _AddAppPageState extends State<AddAppPage> {
.doesSourceHaveRequiredAdditionalData(
source)
: true;
if (source == null) {
customName = '';
}
}
});
},
@@ -100,7 +104,8 @@ class _AddAppPageState extends State<AddAppPage> {
});
sourceProvider
.getApp(pickedSource!, userInput,
additionalData)
additionalData,
customName: customName)
.then((app) {
var appsProvider =
context.read<AppsProvider>();
@@ -162,7 +167,30 @@ class _AddAppPageState extends State<AddAppPage> {
});
},
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

View File

@@ -176,8 +176,8 @@ class SourceProvider {
return false;
}
Future<App> getApp(
AppSource source, String url, List<String> additionalData) async {
Future<App> getApp(AppSource source, String url, List<String> additionalData,
{String customName = ''}) async {
String standardUrl = source.standardizeURL(makeUrlHttps(url));
AppNames names = source.getAppNames(standardUrl);
APKDetails apk =
@@ -186,7 +186,9 @@ class SourceProvider {
'${names.author.toLowerCase()}_${names.name.toLowerCase()}_${source.host}',
standardUrl,
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,
apk.version,
apk.apkUrls,