title: BitmapFactory Unable to decode stream
body: <p>Hey I am not sure why this keeps coming up every time I select an image in my gallery?</p>
  
  <p>Here is the code:</p>
  
  <pre><code>if (v == uploadImageButton) {
                          // below allows you to open the phones gallery
                          Intent intent = new Intent();
                          intent.setType("image/*");
                          intent.setAction(Intent.ACTION_GET_CONTENT);
                          startActivityForResult(
                                          Intent.createChooser(intent, "Complete action using"), 1);
                  }
  
  
  public void onActivityResult(int requestCode, int resultCode, Intent data) {
                  if (resultCode == RESULT_OK &amp;&amp; requestCode == 1 &amp;&amp; null != data) {
                          // Bitmap photo = (Bitmap) data.getData().getPath();
                          Uri selectedImageUri = data.getData();
                          String[] filePathColumn = { MediaStore.Images.Media.DATA };
  
                          Cursor cursor = getContentResolver().query(selectedImageUri,
                                          filePathColumn, null, null, null);
                          cursor.moveToFirst();
  
                          int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
                          String picturePath = cursor.getString(columnIndex);
                          cursor.close();
                          Log.e("Picture", picturePath);
                          decodeFile(picturePath);
                  }
          }
  
  
  public void decodeFile(String filePath) {
                  // TODO Auto-generated method stub
                  // Decode image size
                  BitmapFactory.Options o = new BitmapFactory.Options();
                  o.inJustDecodeBounds = true;
                  BitmapFactory.decodeFile(filePath, o);
  
                  // the new size we want to scale to
                  final int REQUIRED_SIZE = 1024;
  
                  // Find the correct scale value. It should be the power of 2.
                  int width_tmp = o.outWidth, height_tmp = o.outHeight;
                  int scale = 1;
                  while (true) {
                          if (width_tmp &lt; REQUIRED_SIZE &amp;&amp; height_tmp &lt; REQUIRED_SIZE) {
                                  break;
                          }
                          width_tmp /= 2;
                          height_tmp /= 2;
                          scale *= 2;
                  }
  
                  // decode with inSampleSize
                  BitmapFactory.Options o2 = new BitmapFactory.Options();
                  o2.inSampleSize = scale;
                  Bitmap bitmap = BitmapFactory.decodeFile(filePath, o2);
  
                  imageview.setImageBitmap(bitmap);
          }
  </code></pre>
  
  <p>Error:</p>
  
  <pre><code>01-17 23:18:04.642: D/Documents(25157): onFinished() [content://com.android.providers.media.documents/document/image%3A901]
  01-17 23:18:04.682: E/BitmapFactory(24993): Unable to decode stream: java.lang.NullPointerException
  01-17 23:18:04.682: E/BitmapFactory(24993): Unable to decode stream: java.lang.NullPointerException
  01-17 23:18:09.732: I/InputReader(766): Reconfiguring input devices.  changes=0x00000004
  01-17 23:18:09.732: I/InputReader(766): Device reconfigured: id=4, name='touch_dev', size 1080x1920, orientation 3, mode 1, display id 0
  </code></pre>