Convert static app shortcuts to dynamic

Will allow user customization in the future (colors, choosing which show up in list, etc.)
This commit is contained in:
Adrian Campos 2017-03-09 10:45:44 -08:00 committed by Karim Abou Zeid
commit 43a2f319fc
10 changed files with 216 additions and 93 deletions

View file

@ -117,37 +117,3 @@ dependencies {
compile 'com.jakewharton:butterknife:8.5.1'
annotationProcessor 'com.jakewharton:butterknife-compiler:8.5.1'
}
// Add support for placeholders in resource files.
// Required so that packagename can be referenced in xml. https://code.google.com/p/android/issues/detail?id=69224#c12
def replacePlaceholdersInFile(basePath, fileName, placeholders) {
def file = new File(basePath, fileName);
if (!file.exists()) {
logger.quiet("Unable to replace placeholders in " + file.toString() + ". File cannot be found.")
return;
}
logger.debug("Replacing placeholders in " + file.toString())
logger.debug("Placeholders: " + placeholders.toString())
def content = file.getText('UTF-8')
placeholders.each { entry ->
content = content.replaceAll("\\\$\\{${entry.key}\\}", entry.value)
}
file.write(content, 'UTF-8')
}
afterEvaluate {
android.applicationVariants.all { variant ->
variant.outputs.each { output ->
output.processResources.doFirst {
// prepare placeholder map from manifestPlaceholders including applicationId placeholder
def placeholders = variant.mergedFlavor.manifestPlaceholders + [applicationId: variant.applicationId]
replacePlaceholdersInFile(resDir, 'xml/launcher_shortcuts.xml', placeholders)
}
}
}
}