@@ -807,40 +807,44 @@ static Image parseBgImage(Resources theme, String val) {
807807 }
808808
809809 private static Map <String , Integer > bgTypes () {
810- if (bgTypes == null ) {
811- bgTypes = new HashMap <String , Integer >();
812- Object [] types = new Object []{
813- "image_aligned_bottom" , (int ) Style .BACKGROUND_IMAGE_ALIGNED_BOTTOM ,
814- "image_aligned_top" , (int ) Style .BACKGROUND_IMAGE_ALIGNED_TOP ,
815- "image_aligned_bottom_right" , (int ) Style .BACKGROUND_IMAGE_ALIGNED_BOTTOM_RIGHT ,
816- "image_aligned_bottom_left" , (int ) Style .BACKGROUND_IMAGE_ALIGNED_BOTTOM_LEFT ,
817- "image_aligned_top_right" , (int ) Style .BACKGROUND_IMAGE_ALIGNED_TOP_RIGHT ,
818- "image_aligned_top_left" , (int ) Style .BACKGROUND_IMAGE_ALIGNED_TOP_LEFT ,
819- "image_aligned_left" , (int ) Style .BACKGROUND_IMAGE_ALIGNED_LEFT ,
820- "image_aligned_right" , (int ) Style .BACKGROUND_IMAGE_ALIGNED_RIGHT ,
821- "image_aligned_center" , (int ) Style .BACKGROUND_IMAGE_ALIGNED_CENTER ,
822- "image_scaled" , (int ) Style .BACKGROUND_IMAGE_SCALED ,
823- "image_scaled_fill" , (int ) Style .BACKGROUND_IMAGE_SCALED_FILL ,
824- "image_scaled_fit" , (int ) Style .BACKGROUND_IMAGE_SCALED_FIT ,
825- "image_tile_both" , (int ) Style .BACKGROUND_IMAGE_TILE_BOTH ,
826- "image_tile_horizontal" , (int ) Style .BACKGROUND_IMAGE_TILE_HORIZONTAL ,
827- "image_tile_vertical" , (int ) Style .BACKGROUND_IMAGE_TILE_VERTICAL ,
828- "image_tile_horizontal_align_bottom" , (int ) Style .BACKGROUND_IMAGE_TILE_HORIZONTAL_ALIGN_BOTTOM ,
829- "image_tile_horizontal_align_top" , (int ) Style .BACKGROUND_IMAGE_TILE_HORIZONTAL_ALIGN_TOP ,
830- "image_tile_horizontal_align_center" , (int ) Style .BACKGROUND_IMAGE_TILE_HORIZONTAL_ALIGN_CENTER ,
831- "image_tile_vertical_align_left" , (int ) Style .BACKGROUND_IMAGE_TILE_VERTICAL_ALIGN_LEFT ,
832- "image_tile_vertical_align_right" , (int ) Style .BACKGROUND_IMAGE_TILE_VERTICAL_ALIGN_RIGHT ,
833- "image_tile_vertical_align_center" , (int ) Style .BACKGROUND_IMAGE_TILE_VERTICAL_ALIGN_CENTER ,
834- "gradient_radial" , (int ) Style .BACKGROUND_GRADIENT_RADIAL ,
835- "gradient_linear_horizontal" , (int ) Style .BACKGROUND_GRADIENT_LINEAR_HORIZONTAL ,
836- "gradient_linear_vertical" , (int ) Style .BACKGROUND_GRADIENT_LINEAR_VERTICAL ,
837- "none" , (int ) Style .BACKGROUND_NONE
838- };
839- int len = types .length ;
840- for (int i = 0 ; i < len ; i += 2 ) {
841- bgTypes .put ((String ) types [i ], (Integer ) types [i + 1 ]);
810+ if (bgTypes != null ) {
811+ return bgTypes ;
812+ }
813+ synchronized (StyleParser .class ) {
814+ if (bgTypes == null ) {
815+ bgTypes = new HashMap <String , Integer >();
816+ Object [] types = new Object []{
817+ "image_aligned_bottom" , (int ) Style .BACKGROUND_IMAGE_ALIGNED_BOTTOM ,
818+ "image_aligned_top" , (int ) Style .BACKGROUND_IMAGE_ALIGNED_TOP ,
819+ "image_aligned_bottom_right" , (int ) Style .BACKGROUND_IMAGE_ALIGNED_BOTTOM_RIGHT ,
820+ "image_aligned_bottom_left" , (int ) Style .BACKGROUND_IMAGE_ALIGNED_BOTTOM_LEFT ,
821+ "image_aligned_top_right" , (int ) Style .BACKGROUND_IMAGE_ALIGNED_TOP_RIGHT ,
822+ "image_aligned_top_left" , (int ) Style .BACKGROUND_IMAGE_ALIGNED_TOP_LEFT ,
823+ "image_aligned_left" , (int ) Style .BACKGROUND_IMAGE_ALIGNED_LEFT ,
824+ "image_aligned_right" , (int ) Style .BACKGROUND_IMAGE_ALIGNED_RIGHT ,
825+ "image_aligned_center" , (int ) Style .BACKGROUND_IMAGE_ALIGNED_CENTER ,
826+ "image_scaled" , (int ) Style .BACKGROUND_IMAGE_SCALED ,
827+ "image_scaled_fill" , (int ) Style .BACKGROUND_IMAGE_SCALED_FILL ,
828+ "image_scaled_fit" , (int ) Style .BACKGROUND_IMAGE_SCALED_FIT ,
829+ "image_tile_both" , (int ) Style .BACKGROUND_IMAGE_TILE_BOTH ,
830+ "image_tile_horizontal" , (int ) Style .BACKGROUND_IMAGE_TILE_HORIZONTAL ,
831+ "image_tile_vertical" , (int ) Style .BACKGROUND_IMAGE_TILE_VERTICAL ,
832+ "image_tile_horizontal_align_bottom" , (int ) Style .BACKGROUND_IMAGE_TILE_HORIZONTAL_ALIGN_BOTTOM ,
833+ "image_tile_horizontal_align_top" , (int ) Style .BACKGROUND_IMAGE_TILE_HORIZONTAL_ALIGN_TOP ,
834+ "image_tile_horizontal_align_center" , (int ) Style .BACKGROUND_IMAGE_TILE_HORIZONTAL_ALIGN_CENTER ,
835+ "image_tile_vertical_align_left" , (int ) Style .BACKGROUND_IMAGE_TILE_VERTICAL_ALIGN_LEFT ,
836+ "image_tile_vertical_align_right" , (int ) Style .BACKGROUND_IMAGE_TILE_VERTICAL_ALIGN_RIGHT ,
837+ "image_tile_vertical_align_center" , (int ) Style .BACKGROUND_IMAGE_TILE_VERTICAL_ALIGN_CENTER ,
838+ "gradient_radial" , (int ) Style .BACKGROUND_GRADIENT_RADIAL ,
839+ "gradient_linear_horizontal" , (int ) Style .BACKGROUND_GRADIENT_LINEAR_HORIZONTAL ,
840+ "gradient_linear_vertical" , (int ) Style .BACKGROUND_GRADIENT_LINEAR_VERTICAL ,
841+ "none" , (int ) Style .BACKGROUND_NONE
842+ };
843+ int len = types .length ;
844+ for (int i = 0 ; i < len ; i += 2 ) {
845+ bgTypes .put ((String ) types [i ], (Integer ) types [i + 1 ]);
846+ }
842847 }
843-
844848 }
845849 return bgTypes ;
846850 }
0 commit comments