<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>README</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -1 +1,3 @@
 bin
+sdcard.img
+sdcard.img.lock</diff>
      <filename>.gitignore</filename>
    </modified>
    <modified>
      <diff>@@ -13,4 +13,24 @@
 	    android:layout_width=&quot;fill_parent&quot;
 	    android:layout_height=&quot;fill_parent&quot;
 	    android:visibility=&quot;gone&quot; /&gt;
+	&lt;RelativeLayout
+    	android:id=&quot;@+id/photo_button_container&quot;
+	    android:layout_width=&quot;fill_parent&quot;
+	    android:layout_height=&quot;wrap_content&quot;
+	    android:padding=&quot;10sp&quot;
+		android:layout_gravity=&quot;bottom&quot;
+		android:visibility=&quot;gone&quot;
+		android:background=&quot;#44000000&quot;&gt;
+	    &lt;Button
+	    	android:id=&quot;@+id/photo_save_photo_button&quot;
+		    android:layout_width=&quot;wrap_content&quot;
+		    android:layout_height=&quot;wrap_content&quot;
+		    android:text=&quot;@string/save_photo&quot; /&gt;
+	    &lt;Button
+	    	android:id=&quot;@+id/photo_discard_photo_button&quot;
+		    android:layout_width=&quot;wrap_content&quot;
+		    android:layout_height=&quot;wrap_content&quot;
+		    android:text=&quot;@string/discard&quot;
+		    android:layout_alignParentRight=&quot;true&quot; /&gt;
+	&lt;/RelativeLayout&gt;
 &lt;/FrameLayout&gt;
\ No newline at end of file</diff>
      <filename>pictures/res/layout/main.xml</filename>
    </modified>
    <modified>
      <diff>@@ -1,5 +1,6 @@
 &lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;
 &lt;resources&gt;
-    &lt;string name=&quot;hello&quot;&gt;Hello World, Camera&lt;/string&gt;
     &lt;string name=&quot;app_name&quot;&gt;Pictures&lt;/string&gt;
+    &lt;string name=&quot;save_photo&quot;&gt;Save Photo&lt;/string&gt;
+    &lt;string name=&quot;discard&quot;&gt;Discard&lt;/string&gt;
 &lt;/resources&gt;</diff>
      <filename>pictures/res/values/strings.xml</filename>
    </modified>
    <modified>
      <diff>@@ -14,15 +14,19 @@ public final class R {
         public static final int icon=0x7f020000;
     }
     public static final class id {
+        public static final int photo_button_container=0x7f050003;
         public static final int photo_camera_surface=0x7f050001;
+        public static final int photo_discard_photo_button=0x7f050005;
         public static final int photo_preview=0x7f050002;
+        public static final int photo_save_photo_button=0x7f050004;
         public static final int take_photo_root_view=0x7f050000;
     }
     public static final class layout {
         public static final int main=0x7f030000;
     }
     public static final class string {
-        public static final int app_name=0x7f040001;
-        public static final int hello=0x7f040000;
+        public static final int app_name=0x7f040000;
+        public static final int discard=0x7f040002;
+        public static final int save_photo=0x7f040001;
     }
 }</diff>
      <filename>pictures/src/com/w2e/pictures/R.java</filename>
    </modified>
    <modified>
      <diff>@@ -3,7 +3,10 @@ package com.w2e.pictures.activity;
 import com.w2e.pictures.R;
 
 import android.app.Activity;
+import android.content.Intent;
+import android.net.Uri;
 import android.os.Bundle;
+import android.provider.MediaStore;
 
 import android.graphics.Bitmap;
 import android.graphics.BitmapFactory;
@@ -14,6 +17,7 @@ import android.view.KeyEvent;
 import android.view.SurfaceHolder;
 import android.view.SurfaceView;
 import android.view.View;
+import android.widget.Button;
 import android.widget.ImageView;
 
 public class CameraActivity extends Activity implements SurfaceHolder.Callback {
@@ -24,10 +28,11 @@ public class CameraActivity extends Activity implements SurfaceHolder.Callback {
 	private SurfaceView surface;
 	private SurfaceHolder surfaceHolder;
 	protected Bitmap	currentBitmap;
-	protected Bitmap	scaledBitmap;
 	protected ImageView	previewImageView;
-
+	private Button savePhotoButton;
+	private Button discardPhotoButton;
 	private boolean inPreviewMode;
+	private View buttonContainer;
 
     @Override
     public void onCreate(Bundle icicle) {
@@ -58,12 +63,15 @@ public class CameraActivity extends Activity implements SurfaceHolder.Callback {
 	}
 
 	private void showBitmapPreview() {
-		surface.setVisibility(View.GONE);
+		surface.setVisibility(View.VISIBLE);
 		previewImageView.setVisibility(View.VISIBLE);
 		previewImageView.setImageBitmap(currentBitmap);
+		buttonContainer.setVisibility(View.VISIBLE);
 	}
 	
 	private void showCameraPreview() {
+		buttonContainer.setVisibility(View.GONE);
+		surface.setVisibility(View.GONE);
 		previewImageView.setVisibility(View.GONE);
 		surface.setVisibility(View.VISIBLE);
 		previewImageView.setImageBitmap(null);
@@ -75,6 +83,20 @@ public class CameraActivity extends Activity implements SurfaceHolder.Callback {
 		camera.startPreview();
 	}
 
+    protected void saveCurrentPhoto() {
+		String photoPath = MediaStore.Images.Media.insertImage(
+				getContentResolver(), currentBitmap, &quot;A Sweet Picture&quot;, &quot;A Sweet Picture&quot;
+			);
+		if (photoPath == null) {
+			Log.e(getClass().getName(),
+			        &quot;Error saving photo to image library&quot;);
+			return;
+		} else {
+			Uri photoURI = Uri.parse(photoPath);
+			sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, photoURI));
+		}
+	}
+
     public void surfaceCreated(SurfaceHolder holder) {
         Log.e(LOG_TAG, &quot;opening camera&quot;);
         camera = Camera.open();
@@ -110,12 +132,27 @@ public class CameraActivity extends Activity implements SurfaceHolder.Callback {
 	protected void setUpViews() {
 		previewImageView = (ImageView)findViewById(R.id.photo_preview);
         surface = (SurfaceView)findViewById(R.id.photo_camera_surface);
+        savePhotoButton = (Button)findViewById(R.id.photo_save_photo_button);
+        discardPhotoButton = (Button)findViewById(R.id.photo_discard_photo_button);
+        buttonContainer = findViewById(R.id.photo_button_container);
         surfaceHolder = surface.getHolder();
         surfaceHolder.addCallback(this);
         surfaceHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
+        
+        savePhotoButton.setOnClickListener(new View.OnClickListener() {
+			public void onClick(View v) {
+				saveCurrentPhoto();
+			}
+        });
+        
+        discardPhotoButton.setOnClickListener(new View.OnClickListener() {
+			public void onClick(View v) {
+				discardPhoto();
+			}
+        });
 	}
 	
-    protected void discardPhoto() {
+	protected void discardPhoto() {
     	showCameraPreview();
     }
     </diff>
      <filename>pictures/src/com/w2e/pictures/activity/CameraActivity.java</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>d5e72d19be44367a813378a4a70ca1537f3265a7</id>
    </parent>
  </parents>
  <author>
    <name>Tony Hillerson</name>
    <email>tony.hillerson@effectiveui.com</email>
  </author>
  <url>http://github.com/thillerson/first_android_experience/commit/f795bd0ef8dfaea35dc3c56e66c95e150a426ad8</url>
  <id>f795bd0ef8dfaea35dc3c56e66c95e150a426ad8</id>
  <committed-date>2009-03-30T16:40:48-07:00</committed-date>
  <authored-date>2009-03-30T16:40:48-07:00</authored-date>
  <message>added sample camera activity</message>
  <tree>3039819a26e9d733f41ec6d571da7c0fa15b7df4</tree>
  <committer>
    <name>Tony Hillerson</name>
    <email>tony.hillerson@effectiveui.com</email>
  </committer>
</commit>
