1 /*
2  * Copyright (C) 2010 The Android Open Source Project
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 package com.android.gallery3d.app;
18 
19 import android.content.Context;
20 import android.content.res.Resources;
21 
22 import com.android.gallery3d.R;
23 import com.android.gallery3d.ui.AlbumSetSlotRenderer;
24 import com.android.gallery3d.ui.SlotView;
25 
26 final class Config {
27     public static class AlbumSetPage {
28         private static AlbumSetPage sInstance;
29 
30         public SlotView.Spec slotViewSpec;
31         public AlbumSetSlotRenderer.LabelSpec labelSpec;
32         public int paddingTop;
33         public int paddingBottom;
34         public int placeholderColor;
35 
get(Context context)36         public static synchronized AlbumSetPage get(Context context) {
37             if (sInstance == null) {
38                 sInstance = new AlbumSetPage(context);
39             }
40             return sInstance;
41         }
42 
AlbumSetPage(Context context)43         private AlbumSetPage(Context context) {
44             Resources r = context.getResources();
45 
46             placeholderColor = r.getColor(R.color.albumset_placeholder);
47 
48             slotViewSpec = new SlotView.Spec();
49             slotViewSpec.rowsLand = r.getInteger(R.integer.albumset_rows_land);
50             slotViewSpec.rowsPort = r.getInteger(R.integer.albumset_rows_port);
51             slotViewSpec.slotGap = r.getDimensionPixelSize(R.dimen.albumset_slot_gap);
52             slotViewSpec.slotHeightAdditional = 0;
53 
54             paddingTop = r.getDimensionPixelSize(R.dimen.albumset_padding_top);
55             paddingBottom = r.getDimensionPixelSize(R.dimen.albumset_padding_bottom);
56 
57             labelSpec = new AlbumSetSlotRenderer.LabelSpec();
58             labelSpec.labelBackgroundHeight = r.getDimensionPixelSize(
59                     R.dimen.albumset_label_background_height);
60             labelSpec.titleOffset = r.getDimensionPixelSize(
61                     R.dimen.albumset_title_offset);
62             labelSpec.countOffset = r.getDimensionPixelSize(
63                     R.dimen.albumset_count_offset);
64             labelSpec.titleFontSize = r.getDimensionPixelSize(
65                     R.dimen.albumset_title_font_size);
66             labelSpec.countFontSize = r.getDimensionPixelSize(
67                     R.dimen.albumset_count_font_size);
68             labelSpec.leftMargin = r.getDimensionPixelSize(
69                     R.dimen.albumset_left_margin);
70             labelSpec.titleRightMargin = r.getDimensionPixelSize(
71                     R.dimen.albumset_title_right_margin);
72             labelSpec.iconSize = r.getDimensionPixelSize(
73                     R.dimen.albumset_icon_size);
74             labelSpec.backgroundColor = r.getColor(
75                     R.color.albumset_label_background);
76             labelSpec.titleColor = r.getColor(R.color.albumset_label_title);
77             labelSpec.countColor = r.getColor(R.color.albumset_label_count);
78         }
79     }
80 
81     public static class AlbumPage {
82         private static AlbumPage sInstance;
83 
84         public SlotView.Spec slotViewSpec;
85         public int placeholderColor;
86 
get(Context context)87         public static synchronized AlbumPage get(Context context) {
88             if (sInstance == null) {
89                 sInstance = new AlbumPage(context);
90             }
91             return sInstance;
92         }
93 
AlbumPage(Context context)94         private AlbumPage(Context context) {
95             Resources r = context.getResources();
96 
97             placeholderColor = r.getColor(R.color.album_placeholder);
98 
99             slotViewSpec = new SlotView.Spec();
100             slotViewSpec.rowsLand = r.getInteger(R.integer.album_rows_land);
101             slotViewSpec.rowsPort = r.getInteger(R.integer.album_rows_port);
102             slotViewSpec.slotGap = r.getDimensionPixelSize(R.dimen.album_slot_gap);
103         }
104     }
105 
106     public static class ManageCachePage extends AlbumSetPage {
107         private static ManageCachePage sInstance;
108 
109         public final int cachePinSize;
110         public final int cachePinMargin;
111 
get(Context context)112         public static synchronized ManageCachePage get(Context context) {
113             if (sInstance == null) {
114                 sInstance = new ManageCachePage(context);
115             }
116             return sInstance;
117         }
118 
ManageCachePage(Context context)119         public ManageCachePage(Context context) {
120             super(context);
121             Resources r = context.getResources();
122             cachePinSize = r.getDimensionPixelSize(R.dimen.cache_pin_size);
123             cachePinMargin = r.getDimensionPixelSize(R.dimen.cache_pin_margin);
124         }
125     }
126 }
127 
128