@@ -208,30 +208,30 @@ class IconPackLoader(context: Context) {
208
208
209
209
val pathStr = parser.getAttributeValue(null , XML_ATTR_ICON_PATH )
210
210
val pathData = pathStr ? : overriden?.pathData ? : " "
211
- val drawableResId = parser.getAttributeValue(null , XML_ATTR_ICON_DRAWABLE_RES_ID )
212
- ?.let { parseIconDrawableId (it) } ? : overriden?.drawableResId
211
+ val srcStr = parser.getAttributeValue(null , XML_ATTR_ICON_SRC )
212
+ val srcId = srcStr ?.let { parseDrawableId (it) } ? : overriden?.srcId
213
213
214
- if (pathData.isBlank() && drawableResId == null )
215
- parseError(" Icon ID $id has no path data and no valid drawableResId" )
214
+ if (pathData.isBlank() && srcId == null ) {
215
+ parseError(" Icon ID $id has no path data and no drawable resource specified." )
216
+ }
216
217
217
218
val width = parser.getPositiveInt(XML_ATTR_ICON_WIDTH ) { " Invalid icon width '$it '." } ? : packWidth
218
219
val height = parser.getPositiveInt(XML_ATTR_ICON_HEIGHT ) { " Invalid icon height '$it '." } ? : packHeight
219
220
220
- return Icon (id, catgId, tags, pathData, width, height, drawableResId )
221
+ return Icon (id, catgId, tags, pathData, width, height, srcId )
221
222
}
222
223
223
- private fun parseIconDrawableId (drawableIdString : String ): Int? {
224
- return if (drawableIdString.startsWith(' @' )) {
225
- if (drawableIdString.startsWith(" @drawable/" )) {
226
- context.resources.getIdentifier(
227
- drawableIdString.substring(10 ), " drawable" , context.packageName)
224
+ private fun parseDrawableId (str : String ) =
225
+ if (str.startsWith(' @' )) {
226
+ if (str.startsWith(" @drawable/" )) {
227
+ context.resources.getIdentifier(
228
+ str.substring(10 ), " drawable" , context.packageName)
229
+ } else {
230
+ str.substring(1 ).toIntOrNull()
231
+ }
228
232
} else {
229
- drawableIdString.substring( 1 ).toIntOrNull()
233
+ null
230
234
}
231
- } else {
232
- null
233
- }
234
- }
235
235
236
236
/* *
237
237
* Load tags of a [pack].
@@ -357,7 +357,7 @@ class IconPackLoader(context: Context) {
357
357
private const val XML_ATTR_ICON_PATH = " path"
358
358
private const val XML_ATTR_ICON_WIDTH = " width"
359
359
private const val XML_ATTR_ICON_HEIGHT = " height"
360
- private const val XML_ATTR_ICON_DRAWABLE_RES_ID = " drawableResId "
360
+ private const val XML_ATTR_ICON_SRC = " src "
361
361
362
362
private const val XML_TAG_TAG = " tag"
363
363
private const val XML_TAG_ALIAS = " alias"
0 commit comments