function getAndroidAssetSuffix(scale: number): string {
  switch (scale) {
    case 0.75: return 'ldpi';
    case 1: return 'mdpi';
    case 1.5: return 'hdpi';
    case 2: return 'xhdpi';
    case 3: return 'xxhdpi';
    case 4: return 'xxxhdpi';
  }
  throw new Error('no such scale');
}
FIXME: using number to represent discrete scale numbers is fragile in essence because of
floating point numbers imprecision.