/[projects]/android/Side9/src/dk/thoerup/side9/ImageAdapter.java
ViewVC logotype

Diff of /android/Side9/src/dk/thoerup/side9/ImageAdapter.java

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1012 by torben, Sun Jun 27 10:41:10 2010 UTC revision 1013 by torben, Tue Aug 10 07:01:40 2010 UTC
# Line 1  Line 1 
1  package dk.thoerup.side9;  package dk.thoerup.side9;
2    
3  import java.io.File;  import java.io.File;
4    import java.io.FileOutputStream;
5  import java.io.FilenameFilter;  import java.io.FilenameFilter;
6    import java.io.IOException;
7  import java.util.ArrayList;  import java.util.ArrayList;
8    
9  import android.content.Context;  import android.content.Context;
10  import android.graphics.Bitmap;  import android.graphics.Bitmap;
11  import android.graphics.BitmapFactory;  import android.graphics.BitmapFactory;
12    import android.graphics.Bitmap.CompressFormat;
13    import android.net.Uri;
14  import android.os.Environment;  import android.os.Environment;
15  import android.util.DisplayMetrics;  import android.util.DisplayMetrics;
16    import android.util.Log;
17  import android.view.View;  import android.view.View;
18  import android.view.ViewGroup;  import android.view.ViewGroup;
19  import android.view.WindowManager;  import android.view.WindowManager;
# Line 42  public class ImageAdapter extends BaseAd Line 47  public class ImageAdapter extends BaseAd
47    
48          File files[] = root.listFiles( new ExtensionFilter("jpg") );          File files[] = root.listFiles( new ExtensionFilter("jpg") );
49                    
50          for (File f : files) {            
51              Bitmap bmp = BitmapFactory.decodeFile( f.getPath() );          String thumbPath =  path + "/.thumb/";
52              Bitmap scaled =  Bitmap.createScaledBitmap(bmp, bmp.getWidth()/4, bmp.getHeight()/4, true);          
53                        File thumbDir = new File(thumbPath);
54                  mBitmapPaths.add(  f.getPath() );          if (! thumbDir.exists()) {
55                  mBitmaps.add(scaled);                  thumbDir.mkdirs();
56            }
57            
58            
59            for (File f : files) {
60    
61                    String fileName = f.getName();
62                    File thumb = new File ( thumbPath + fileName );
63                    
64                    if (! thumb.exists()) {
65                            Bitmap bmp = BitmapFactory.decodeFile( f.getPath() );
66                            Bitmap scaled =  Bitmap.createScaledBitmap(bmp, bmp.getWidth()/4, bmp.getHeight()/4, true);
67                            mBitmaps.add(scaled);
68                            try {
69                                    FileOutputStream fos = new FileOutputStream(thumb);
70                                    scaled.compress(CompressFormat.JPEG, 90, fos);                          
71                                    
72                            } catch (IOException e) {
73                                    Log.e("Side9", "error", e);
74                            }
75                            
76                    } else {
77                            Bitmap thumbBmp = BitmapFactory.decodeFile( thumb.getPath());
78                            mBitmaps.add(thumbBmp);
79                    }
80                            mBitmapPaths.add(  f.getPath() );            
81                    
82          }          }
83                    
84          size = getSize();          size = getSize();
85      }      }
86    
87      public int getCount() {      public int getCount() {
88          return mBitmaps.size();          return mBitmapPaths.size();
89      }      }
90    
91      public Object getItem(int position) {      public Object getItem(int position) {
# Line 96  public class ImageAdapter extends BaseAd Line 127  public class ImageAdapter extends BaseAd
127              imageView = (ImageView) convertView;              imageView = (ImageView) convertView;
128          }          }
129    
130            //imageView.setImageURI(  Uri.parse(mThumbPaths.get(position)) );
131          imageView.setImageBitmap( mBitmaps.get(position) );          imageView.setImageBitmap( mBitmaps.get(position) );
132          return imageView;          return imageView;
133      }      }

Legend:
Removed from v.1012  
changed lines
  Added in v.1013

  ViewVC Help
Powered by ViewVC 1.1.20