44import android .content .Context ;
55import android .content .Intent ;
66import android .graphics .Bitmap ;
7- import android .graphics .BitmapFactory ;
87import android .net .Uri ;
98import android .os .Build ;
109import android .os .Bundle ;
1110import android .preference .ListPreference ;
1211import android .preference .Preference ;
1312import android .preference .PreferenceFragment ;
1413import android .preference .PreferenceManager ;
14+ import android .util .TypedValue ;
1515import android .widget .Toast ;
1616
1717import com .ms .square .android .util .AppUtil ;
1818import com .ms .square .android .util .ToastMaster ;
1919import com .ms_square .android .design .overlay .BuildConfig ;
2020import com .ms_square .android .design .overlay .R ;
2121import com .ms_square .android .design .overlay .task .SafeAsyncTask ;
22+ import com .ms_square .android .design .overlay .util .ImageUtil ;
2223import com .ms_square .android .design .overlay .util .PrefUtil ;
2324import com .ms_square .android .design .overlay .view .ImagePreference ;
2425
@@ -36,6 +37,8 @@ public class SettingsFragment extends PreferenceFragment implements Preference.O
3637
3738 private ImagePreference mImagePreference ;
3839
40+ private int mImageSize ;
41+
3942 public static SettingsFragment newInstance () {
4043 SettingsFragment fragment = new SettingsFragment ();
4144 //Bundle args = new Bundle();
@@ -56,6 +59,11 @@ public void onCreate(Bundle savedInstanceState) {
5659
5760 mAppContext = getActivity ().getApplicationContext ();
5861
62+ // get listPreferredItemHeight value in pixel and set it to mImageSize
63+ TypedValue value = new TypedValue ();
64+ getActivity ().getTheme ().resolveAttribute (android .R .attr .listPreferredItemHeight , value , true );
65+ mImageSize = (int ) value .getDimension (getResources ().getDisplayMetrics ());
66+
5967 mImagePreference = (ImagePreference ) findPreference (PrefUtil .PREF_DESIGN_IMAGE_URI );
6068 mImagePreference .setOnPreferenceClickListener (this );
6169 // load image if already set
@@ -113,7 +121,7 @@ protected Bitmap onRun(Uri... params) {
113121 InputStream stream = null ;
114122 try {
115123 stream = mAppContext .getContentResolver ().openInputStream (params [0 ]);
116- bitmap = BitmapFactory . decodeStream (stream );
124+ bitmap = ImageUtil . decodeSampledBitmapFromStream (stream , mImageSize , mImageSize );
117125 } catch (FileNotFoundException fe ) {
118126 Timber .w ("File was not found:" + fe );
119127 } finally {
0 commit comments