Finish adding Makefiles for the Notepad tutorial.

Add the missing makefiles for the non-solution versions of the tutorial
code.  Required providing missing imports in Notepadv2.  Also standardized
white spaces using Source > Correct Indentation in Eclipse and a few
manual changes.  This was done to minimize differences such as:

diff -r Notepadv1 Notepadv1Solution
diff -r Notepadv1Solution/src/com/android/demo/notepad1/ Notepadv2/src/com/android/demo/notepad2/

Change-Id: Ie8b10efd61f2200b3c741ea500a6924710ab54ed
diff --git a/tutorials/NotepadCodeLab/Notepadv1/Android.mk b/tutorials/NotepadCodeLab/Notepadv1/Android.mk
new file mode 100644
index 0000000..60beb2c
--- /dev/null
+++ b/tutorials/NotepadCodeLab/Notepadv1/Android.mk
@@ -0,0 +1,31 @@
+#
+# Copyright (C) 2009 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+LOCAL_PATH:= $(call my-dir)
+include $(CLEAR_VARS)
+
+# Only build apk if this package is added to CUSTOM_MODLUES in buildspec.mk
+LOCAL_MODULE_TAGS := optional
+
+# Only compile source java files in this apk.
+LOCAL_SRC_FILES := $(call all-java-files-under, src)
+
+LOCAL_PACKAGE_NAME := Notepadv1
+
+# Make the app build against the current SDK
+LOCAL_SDK_VERSION := current
+
+include $(BUILD_PACKAGE)
diff --git a/tutorials/NotepadCodeLab/Notepadv1/AndroidManifest.xml b/tutorials/NotepadCodeLab/Notepadv1/AndroidManifest.xml
index 33f30da..99023fe 100755
--- a/tutorials/NotepadCodeLab/Notepadv1/AndroidManifest.xml
+++ b/tutorials/NotepadCodeLab/Notepadv1/AndroidManifest.xml
@@ -1,5 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
-<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.android.demo.notepad1">
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+    package="com.android.demo.notepad1">
     <application android:icon="@drawable/icon">
         <activity android:name=".Notepadv1" android:label="@string/app_name">
             <intent-filter>
diff --git a/tutorials/NotepadCodeLab/Notepadv1/src/com/android/demo/notepad1/Notepadv1.java b/tutorials/NotepadCodeLab/Notepadv1/src/com/android/demo/notepad1/Notepadv1.java
index 43e7a77..df73f42 100755
--- a/tutorials/NotepadCodeLab/Notepadv1/src/com/android/demo/notepad1/Notepadv1.java
+++ b/tutorials/NotepadCodeLab/Notepadv1/src/com/android/demo/notepad1/Notepadv1.java
@@ -22,8 +22,8 @@
 import android.view.MenuItem;
 
 public class Notepadv1 extends Activity {
-	private int mNoteNumber = 1;
-    
+    private int mNoteNumber = 1;
+
     /** Called when the activity is first created. */
     @Override
     public void onCreate(Bundle savedInstanceState) {
diff --git a/tutorials/NotepadCodeLab/Notepadv1/src/com/android/demo/notepad1/NotesDbAdapter.java b/tutorials/NotepadCodeLab/Notepadv1/src/com/android/demo/notepad1/NotesDbAdapter.java
index 6f85bbd..a3295d6 100755
--- a/tutorials/NotepadCodeLab/Notepadv1/src/com/android/demo/notepad1/NotesDbAdapter.java
+++ b/tutorials/NotepadCodeLab/Notepadv1/src/com/android/demo/notepad1/NotesDbAdapter.java
@@ -43,13 +43,13 @@
     private static final String TAG = "NotesDbAdapter";
     private DatabaseHelper mDbHelper;
     private SQLiteDatabase mDb;
-    
+
     /**
      * Database creation sql statement
      */
     private static final String DATABASE_CREATE =
-            "create table notes (_id integer primary key autoincrement, "
-                    + "title text not null, body text not null);";
+        "create table notes (_id integer primary key autoincrement, "
+        + "title text not null, body text not null);";
 
     private static final String DATABASE_NAME = "data";
     private static final String DATABASE_TABLE = "notes";
@@ -102,7 +102,7 @@
         mDb = mDbHelper.getWritableDatabase();
         return this;
     }
-    
+
     public void close() {
         mDbHelper.close();
     }
@@ -158,9 +158,9 @@
 
         Cursor mCursor =
 
-                mDb.query(true, DATABASE_TABLE, new String[] {KEY_ROWID,
-                        KEY_TITLE, KEY_BODY}, KEY_ROWID + "=" + rowId, null,
-                        null, null, null, null);
+            mDb.query(true, DATABASE_TABLE, new String[] {KEY_ROWID,
+                    KEY_TITLE, KEY_BODY}, KEY_ROWID + "=" + rowId, null,
+                    null, null, null, null);
         if (mCursor != null) {
             mCursor.moveToFirst();
         }
diff --git a/tutorials/NotepadCodeLab/Notepadv1Solution/Android.mk b/tutorials/NotepadCodeLab/Notepadv1Solution/Android.mk
index 5375031..35bc577 100644
--- a/tutorials/NotepadCodeLab/Notepadv1Solution/Android.mk
+++ b/tutorials/NotepadCodeLab/Notepadv1Solution/Android.mk
@@ -17,6 +17,7 @@
 LOCAL_PATH:= $(call my-dir)
 include $(CLEAR_VARS)
 
+# Only build apk if this package is added to CUSTOM_MODLUES in buildspec.mk
 LOCAL_MODULE_TAGS := optional
 
 # Only compile source java files in this apk.
diff --git a/tutorials/NotepadCodeLab/Notepadv1Solution/res/layout/notes_row.xml b/tutorials/NotepadCodeLab/Notepadv1Solution/res/layout/notes_row.xml
index 6b1a65b..f28a41b 100755
--- a/tutorials/NotepadCodeLab/Notepadv1Solution/res/layout/notes_row.xml
+++ b/tutorials/NotepadCodeLab/Notepadv1Solution/res/layout/notes_row.xml
@@ -1,5 +1,4 @@
 <?xml version="1.0" encoding="utf-8"?>
-<TextView android:id="@+id/text1"
-    xmlns:android="http://schemas.android.com/apk/res/android"
+<TextView android:id="@+id/text1" xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="wrap_content"
-    android:layout_height="wrap_content"/>
\ No newline at end of file
+    android:layout_height="wrap_content"/>
diff --git a/tutorials/NotepadCodeLab/Notepadv1Solution/src/com/android/demo/notepad1/NotesDbAdapter.java b/tutorials/NotepadCodeLab/Notepadv1Solution/src/com/android/demo/notepad1/NotesDbAdapter.java
index 6f85bbd..a3295d6 100755
--- a/tutorials/NotepadCodeLab/Notepadv1Solution/src/com/android/demo/notepad1/NotesDbAdapter.java
+++ b/tutorials/NotepadCodeLab/Notepadv1Solution/src/com/android/demo/notepad1/NotesDbAdapter.java
@@ -43,13 +43,13 @@
     private static final String TAG = "NotesDbAdapter";
     private DatabaseHelper mDbHelper;
     private SQLiteDatabase mDb;
-    
+
     /**
      * Database creation sql statement
      */
     private static final String DATABASE_CREATE =
-            "create table notes (_id integer primary key autoincrement, "
-                    + "title text not null, body text not null);";
+        "create table notes (_id integer primary key autoincrement, "
+        + "title text not null, body text not null);";
 
     private static final String DATABASE_NAME = "data";
     private static final String DATABASE_TABLE = "notes";
@@ -102,7 +102,7 @@
         mDb = mDbHelper.getWritableDatabase();
         return this;
     }
-    
+
     public void close() {
         mDbHelper.close();
     }
@@ -158,9 +158,9 @@
 
         Cursor mCursor =
 
-                mDb.query(true, DATABASE_TABLE, new String[] {KEY_ROWID,
-                        KEY_TITLE, KEY_BODY}, KEY_ROWID + "=" + rowId, null,
-                        null, null, null, null);
+            mDb.query(true, DATABASE_TABLE, new String[] {KEY_ROWID,
+                    KEY_TITLE, KEY_BODY}, KEY_ROWID + "=" + rowId, null,
+                    null, null, null, null);
         if (mCursor != null) {
             mCursor.moveToFirst();
         }
diff --git a/tutorials/NotepadCodeLab/Notepadv2/Android.mk b/tutorials/NotepadCodeLab/Notepadv2/Android.mk
new file mode 100644
index 0000000..77a2b47
--- /dev/null
+++ b/tutorials/NotepadCodeLab/Notepadv2/Android.mk
@@ -0,0 +1,31 @@
+#
+# Copyright (C) 2009 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+LOCAL_PATH:= $(call my-dir)
+include $(CLEAR_VARS)
+
+# Only build apk if this package is added to CUSTOM_MODLUES in buildspec.mk
+LOCAL_MODULE_TAGS := optional
+
+# Only compile source java files in this apk.
+LOCAL_SRC_FILES := $(call all-java-files-under, src)
+
+LOCAL_PACKAGE_NAME := Notepadv2
+
+# Make the app build against the current SDK
+LOCAL_SDK_VERSION := current
+
+include $(BUILD_PACKAGE)
diff --git a/tutorials/NotepadCodeLab/Notepadv2/src/com/android/demo/notepad2/Notepadv2.java b/tutorials/NotepadCodeLab/Notepadv2/src/com/android/demo/notepad2/Notepadv2.java
index abfc538..c038180 100755
--- a/tutorials/NotepadCodeLab/Notepadv2/src/com/android/demo/notepad2/Notepadv2.java
+++ b/tutorials/NotepadCodeLab/Notepadv2/src/com/android/demo/notepad2/Notepadv2.java
@@ -20,9 +20,11 @@
 import android.content.Intent;
 import android.database.Cursor;
 import android.os.Bundle;
+import android.view.ContextMenu;
 import android.view.Menu;
 import android.view.MenuItem;
 import android.view.View;
+import android.view.ContextMenu.ContextMenuInfo;
 import android.widget.ListView;
 import android.widget.SimpleCursorAdapter;
 
diff --git a/tutorials/NotepadCodeLab/Notepadv2/src/com/android/demo/notepad2/NotesDbAdapter.java b/tutorials/NotepadCodeLab/Notepadv2/src/com/android/demo/notepad2/NotesDbAdapter.java
index 5bf51b1..50994ae 100755
--- a/tutorials/NotepadCodeLab/Notepadv2/src/com/android/demo/notepad2/NotesDbAdapter.java
+++ b/tutorials/NotepadCodeLab/Notepadv2/src/com/android/demo/notepad2/NotesDbAdapter.java
@@ -43,13 +43,13 @@
     private static final String TAG = "NotesDbAdapter";
     private DatabaseHelper mDbHelper;
     private SQLiteDatabase mDb;
-    
+
     /**
      * Database creation sql statement
      */
     private static final String DATABASE_CREATE =
-            "create table notes (_id integer primary key autoincrement, "
-                    + "title text not null, body text not null);";
+        "create table notes (_id integer primary key autoincrement, "
+        + "title text not null, body text not null);";
 
     private static final String DATABASE_NAME = "data";
     private static final String DATABASE_TABLE = "notes";
@@ -102,7 +102,7 @@
         mDb = mDbHelper.getWritableDatabase();
         return this;
     }
-    
+
     public void close() {
         mDbHelper.close();
     }
@@ -158,9 +158,9 @@
 
         Cursor mCursor =
 
-                mDb.query(true, DATABASE_TABLE, new String[] {KEY_ROWID,
-                        KEY_TITLE, KEY_BODY}, KEY_ROWID + "=" + rowId, null,
-                        null, null, null, null);
+            mDb.query(true, DATABASE_TABLE, new String[] {KEY_ROWID,
+                    KEY_TITLE, KEY_BODY}, KEY_ROWID + "=" + rowId, null,
+                    null, null, null, null);
         if (mCursor != null) {
             mCursor.moveToFirst();
         }
diff --git a/tutorials/NotepadCodeLab/Notepadv2Solution/Android.mk b/tutorials/NotepadCodeLab/Notepadv2Solution/Android.mk
index 8e48351..63961a3 100644
--- a/tutorials/NotepadCodeLab/Notepadv2Solution/Android.mk
+++ b/tutorials/NotepadCodeLab/Notepadv2Solution/Android.mk
@@ -17,6 +17,7 @@
 LOCAL_PATH:= $(call my-dir)
 include $(CLEAR_VARS)
 
+# Only build apk if this package is added to CUSTOM_MODLUES in buildspec.mk
 LOCAL_MODULE_TAGS := optional
 
 # Only compile source java files in this apk.
diff --git a/tutorials/NotepadCodeLab/Notepadv2Solution/AndroidManifest.xml b/tutorials/NotepadCodeLab/Notepadv2Solution/AndroidManifest.xml
index dbfc9d0..b86a741 100755
--- a/tutorials/NotepadCodeLab/Notepadv2Solution/AndroidManifest.xml
+++ b/tutorials/NotepadCodeLab/Notepadv2Solution/AndroidManifest.xml
@@ -7,6 +7,6 @@
                 <category android:name="android.intent.category.LAUNCHER" />
             </intent-filter>
         </activity>
-    	<activity android:name=".NoteEdit"></activity>
+        <activity android:name=".NoteEdit" />
     </application>
 </manifest> 
\ No newline at end of file
diff --git a/tutorials/NotepadCodeLab/Notepadv2Solution/src/com/android/demo/notepad2/NoteEdit.java b/tutorials/NotepadCodeLab/Notepadv2Solution/src/com/android/demo/notepad2/NoteEdit.java
index 6c5e664..8c9dccc 100755
--- a/tutorials/NotepadCodeLab/Notepadv2Solution/src/com/android/demo/notepad2/NoteEdit.java
+++ b/tutorials/NotepadCodeLab/Notepadv2Solution/src/com/android/demo/notepad2/NoteEdit.java
@@ -9,7 +9,7 @@
  *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.savedInstanceState
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
@@ -25,7 +25,7 @@
 
 public class NoteEdit extends Activity {
 
-	private EditText mTitleText;
+    private EditText mTitleText;
     private EditText mBodyText;
     private Long mRowId;
 
@@ -33,19 +33,19 @@
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         setContentView(R.layout.note_edit);
-       
+
         mTitleText = (EditText) findViewById(R.id.title);
         mBodyText = (EditText) findViewById(R.id.body);
-      
+
         Button confirmButton = (Button) findViewById(R.id.confirm);
-       
+
         mRowId = null;
         Bundle extras = getIntent().getExtras();
         if (extras != null) {
             String title = extras.getString(NotesDbAdapter.KEY_TITLE);
             String body = extras.getString(NotesDbAdapter.KEY_BODY);
             mRowId = extras.getLong(NotesDbAdapter.KEY_ROWID);
-          
+
             if (title != null) {
                 mTitleText.setText(title);
             }
@@ -53,24 +53,24 @@
                 mBodyText.setText(body);
             }
         }
-       
+
         confirmButton.setOnClickListener(new View.OnClickListener() {
 
             public void onClick(View view) {
                 Bundle bundle = new Bundle();
-               
+
                 bundle.putString(NotesDbAdapter.KEY_TITLE, mTitleText.getText().toString());
                 bundle.putString(NotesDbAdapter.KEY_BODY, mBodyText.getText().toString());
                 if (mRowId != null) {
                     bundle.putLong(NotesDbAdapter.KEY_ROWID, mRowId);
                 }
-                
+
                 Intent mIntent = new Intent();
                 mIntent.putExtras(bundle);
                 setResult(RESULT_OK, mIntent);
                 finish();
             }
-            
+
         });
     }
 }
diff --git a/tutorials/NotepadCodeLab/Notepadv2Solution/src/com/android/demo/notepad2/Notepadv2.java b/tutorials/NotepadCodeLab/Notepadv2Solution/src/com/android/demo/notepad2/Notepadv2.java
index 1b33982..c65806b 100755
--- a/tutorials/NotepadCodeLab/Notepadv2Solution/src/com/android/demo/notepad2/Notepadv2.java
+++ b/tutorials/NotepadCodeLab/Notepadv2Solution/src/com/android/demo/notepad2/Notepadv2.java
@@ -32,13 +32,13 @@
 public class Notepadv2 extends ListActivity {
     private static final int ACTIVITY_CREATE=0;
     private static final int ACTIVITY_EDIT=1;
-    
+
     private static final int INSERT_ID = Menu.FIRST;
     private static final int DELETE_ID = Menu.FIRST + 1;
 
     private NotesDbAdapter mDbHelper;
     private Cursor mNotesCursor;
-    
+
     /** Called when the activity is first created. */
     @Override
     public void onCreate(Bundle savedInstanceState) {
@@ -49,68 +49,69 @@
         fillData();
         registerForContextMenu(getListView());
     }
-    
+
     private void fillData() {
         // Get all of the rows from the database and create the item list
         mNotesCursor = mDbHelper.fetchAllNotes();
         startManagingCursor(mNotesCursor);
-        
+
         // Create an array to specify the fields we want to display in the list (only TITLE)
         String[] from = new String[]{NotesDbAdapter.KEY_TITLE};
-        
+
         // and an array of the fields we want to bind those fields to (in this case just text1)
         int[] to = new int[]{R.id.text1};
-        
+
         // Now create a simple cursor adapter and set it to display
         SimpleCursorAdapter notes = 
-        	    new SimpleCursorAdapter(this, R.layout.notes_row, mNotesCursor, from, to);
+            new SimpleCursorAdapter(this, R.layout.notes_row, mNotesCursor, from, to);
         setListAdapter(notes);
     }
-    
+
     @Override
     public boolean onCreateOptionsMenu(Menu menu) {
         super.onCreateOptionsMenu(menu);
-        menu.add(0, INSERT_ID,0, R.string.menu_insert);
+        menu.add(0, INSERT_ID, 0, R.string.menu_insert);
         return true;
     }
-    
+
     @Override
     public boolean onMenuItemSelected(int featureId, MenuItem item) {
         switch(item.getItemId()) {
-        case INSERT_ID:
-            createNote();
-            return true;
-	    }        
+            case INSERT_ID:
+                createNote();
+                return true;
+        }
+
         return super.onMenuItemSelected(featureId, item);
     }
 
     @Override
-	public void onCreateContextMenu(ContextMenu menu, View v,
-			ContextMenuInfo menuInfo) {
-		super.onCreateContextMenu(menu, v, menuInfo);
+    public void onCreateContextMenu(ContextMenu menu, View v,
+            ContextMenuInfo menuInfo) {
+        super.onCreateContextMenu(menu, v, menuInfo);
         menu.add(0, DELETE_ID, 0, R.string.menu_delete);
-	}
+    }
 
     @Override
-	public boolean onContextItemSelected(MenuItem item) {
-		switch(item.getItemId()) {
-    	case DELETE_ID:
-    		AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo();
-	        mDbHelper.deleteNote(info.id);
-	        fillData();
-	        return true;
-		}
-		return super.onContextItemSelected(item);
-	}
-
-	private void createNote() {
-    	Intent i = new Intent(this, NoteEdit.class);
-    	 startActivityForResult(i, ACTIVITY_CREATE);
+    public boolean onContextItemSelected(MenuItem item) {
+        switch(item.getItemId()) {
+            case DELETE_ID:
+                AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo();
+                mDbHelper.deleteNote(info.id);
+                fillData();
+                return true;
+        }
+        return super.onContextItemSelected(item);
     }
-    
+
+    private void createNote() {
+        Intent i = new Intent(this, NoteEdit.class);
+        startActivityForResult(i, ACTIVITY_CREATE);
+    }
+
     @Override
     protected void onListItemClick(ListView l, View v, int position, long id) {
-    	super.onListItemClick(l, v, position, id);
+        super.onListItemClick(l, v, position, id);
         Cursor c = mNotesCursor;
         c.moveToPosition(position);
         Intent i = new Intent(this, NoteEdit.class);
@@ -127,21 +128,21 @@
         super.onActivityResult(requestCode, resultCode, intent);
         Bundle extras = intent.getExtras();
         switch(requestCode) {
-        case ACTIVITY_CREATE:
-            String title = extras.getString(NotesDbAdapter.KEY_TITLE);
-            String body = extras.getString(NotesDbAdapter.KEY_BODY);
-            mDbHelper.createNote(title, body);
-            fillData();
-            break;
-        case ACTIVITY_EDIT:
-            Long rowId = extras.getLong(NotesDbAdapter.KEY_ROWID);
-            if (rowId != null) {
-                String editTitle = extras.getString(NotesDbAdapter.KEY_TITLE);
-                String editBody = extras.getString(NotesDbAdapter.KEY_BODY);
-                mDbHelper.updateNote(rowId, editTitle, editBody);
-            }
-            fillData();
-            break;
+            case ACTIVITY_CREATE:
+                String title = extras.getString(NotesDbAdapter.KEY_TITLE);
+                String body = extras.getString(NotesDbAdapter.KEY_BODY);
+                mDbHelper.createNote(title, body);
+                fillData();
+                break;
+            case ACTIVITY_EDIT:
+                Long rowId = extras.getLong(NotesDbAdapter.KEY_ROWID);
+                if (rowId != null) {
+                    String editTitle = extras.getString(NotesDbAdapter.KEY_TITLE);
+                    String editBody = extras.getString(NotesDbAdapter.KEY_BODY);
+                    mDbHelper.updateNote(rowId, editTitle, editBody);
+                }
+                fillData();
+                break;
         }
     }
 }
diff --git a/tutorials/NotepadCodeLab/Notepadv2Solution/src/com/android/demo/notepad2/NotesDbAdapter.java b/tutorials/NotepadCodeLab/Notepadv2Solution/src/com/android/demo/notepad2/NotesDbAdapter.java
index 5bf51b1..50994ae 100755
--- a/tutorials/NotepadCodeLab/Notepadv2Solution/src/com/android/demo/notepad2/NotesDbAdapter.java
+++ b/tutorials/NotepadCodeLab/Notepadv2Solution/src/com/android/demo/notepad2/NotesDbAdapter.java
@@ -43,13 +43,13 @@
     private static final String TAG = "NotesDbAdapter";
     private DatabaseHelper mDbHelper;
     private SQLiteDatabase mDb;
-    
+
     /**
      * Database creation sql statement
      */
     private static final String DATABASE_CREATE =
-            "create table notes (_id integer primary key autoincrement, "
-                    + "title text not null, body text not null);";
+        "create table notes (_id integer primary key autoincrement, "
+        + "title text not null, body text not null);";
 
     private static final String DATABASE_NAME = "data";
     private static final String DATABASE_TABLE = "notes";
@@ -102,7 +102,7 @@
         mDb = mDbHelper.getWritableDatabase();
         return this;
     }
-    
+
     public void close() {
         mDbHelper.close();
     }
@@ -158,9 +158,9 @@
 
         Cursor mCursor =
 
-                mDb.query(true, DATABASE_TABLE, new String[] {KEY_ROWID,
-                        KEY_TITLE, KEY_BODY}, KEY_ROWID + "=" + rowId, null,
-                        null, null, null, null);
+            mDb.query(true, DATABASE_TABLE, new String[] {KEY_ROWID,
+                    KEY_TITLE, KEY_BODY}, KEY_ROWID + "=" + rowId, null,
+                    null, null, null, null);
         if (mCursor != null) {
             mCursor.moveToFirst();
         }
diff --git a/tutorials/NotepadCodeLab/Notepadv3/Android.mk b/tutorials/NotepadCodeLab/Notepadv3/Android.mk
new file mode 100644
index 0000000..c9f319e
--- /dev/null
+++ b/tutorials/NotepadCodeLab/Notepadv3/Android.mk
@@ -0,0 +1,31 @@
+#
+# Copyright (C) 2009 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+LOCAL_PATH:= $(call my-dir)
+include $(CLEAR_VARS)
+
+# Only build apk if this package is added to CUSTOM_MODLUES in buildspec.mk
+LOCAL_MODULE_TAGS := optional
+
+# Only compile source java files in this apk.
+LOCAL_SRC_FILES := $(call all-java-files-under, src)
+
+LOCAL_PACKAGE_NAME := Notepadv3
+
+# Make the app build against the current SDK
+LOCAL_SDK_VERSION := current
+
+include $(BUILD_PACKAGE)
diff --git a/tutorials/NotepadCodeLab/Notepadv3/AndroidManifest.xml b/tutorials/NotepadCodeLab/Notepadv3/AndroidManifest.xml
index adb07ff..06e1645 100755
--- a/tutorials/NotepadCodeLab/Notepadv3/AndroidManifest.xml
+++ b/tutorials/NotepadCodeLab/Notepadv3/AndroidManifest.xml
@@ -7,6 +7,6 @@
                 <category android:name="android.intent.category.LAUNCHER" />
             </intent-filter>
         </activity>
-        <activity android:name=".NoteEdit"/>
+        <activity android:name=".NoteEdit" />
     </application>
 </manifest> 
\ No newline at end of file
diff --git a/tutorials/NotepadCodeLab/Notepadv3/src/com/android/demo/notepad3/NoteEdit.java b/tutorials/NotepadCodeLab/Notepadv3/src/com/android/demo/notepad3/NoteEdit.java
index af3a234..dee7ff4 100755
--- a/tutorials/NotepadCodeLab/Notepadv3/src/com/android/demo/notepad3/NoteEdit.java
+++ b/tutorials/NotepadCodeLab/Notepadv3/src/com/android/demo/notepad3/NoteEdit.java
@@ -25,7 +25,7 @@
 
 public class NoteEdit extends Activity {
 
-	private EditText mTitleText;
+    private EditText mTitleText;
     private EditText mBodyText;
     private Long mRowId;
 
@@ -33,19 +33,19 @@
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         setContentView(R.layout.note_edit);
-       
+
         mTitleText = (EditText) findViewById(R.id.title);
         mBodyText = (EditText) findViewById(R.id.body);
-      
+
         Button confirmButton = (Button) findViewById(R.id.confirm);
-       
+
         mRowId = null;
         Bundle extras = getIntent().getExtras();
         if (extras != null) {
             String title = extras.getString(NotesDbAdapter.KEY_TITLE);
             String body = extras.getString(NotesDbAdapter.KEY_BODY);
             mRowId = extras.getLong(NotesDbAdapter.KEY_ROWID);
-          
+
             if (title != null) {
                 mTitleText.setText(title);
             }
@@ -53,24 +53,24 @@
                 mBodyText.setText(body);
             }
         }
-       
+
         confirmButton.setOnClickListener(new View.OnClickListener() {
 
             public void onClick(View view) {
                 Bundle bundle = new Bundle();
-               
+
                 bundle.putString(NotesDbAdapter.KEY_TITLE, mTitleText.getText().toString());
                 bundle.putString(NotesDbAdapter.KEY_BODY, mBodyText.getText().toString());
                 if (mRowId != null) {
                     bundle.putLong(NotesDbAdapter.KEY_ROWID, mRowId);
                 }
-               
+
                 Intent mIntent = new Intent();
                 mIntent.putExtras(bundle);
                 setResult(RESULT_OK, mIntent);
                 finish();
             }
-          
+
         });
     }
 }
diff --git a/tutorials/NotepadCodeLab/Notepadv3/src/com/android/demo/notepad3/Notepadv3.java b/tutorials/NotepadCodeLab/Notepadv3/src/com/android/demo/notepad3/Notepadv3.java
index f50f371..0ed8ed6 100755
--- a/tutorials/NotepadCodeLab/Notepadv3/src/com/android/demo/notepad3/Notepadv3.java
+++ b/tutorials/NotepadCodeLab/Notepadv3/src/com/android/demo/notepad3/Notepadv3.java
@@ -1,7 +1,7 @@
 /*
  * Copyright (C) 2008 Google Inc.
  *
- * Licensed under the Apache License, Version 2.0 (the "License")savedInstanceState;
+ * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
  *
@@ -32,13 +32,13 @@
 public class Notepadv3 extends ListActivity {
     private static final int ACTIVITY_CREATE=0;
     private static final int ACTIVITY_EDIT=1;
-    
+
     private static final int INSERT_ID = Menu.FIRST;
     private static final int DELETE_ID = Menu.FIRST + 1;
 
     private NotesDbAdapter mDbHelper;
     private Cursor mNotesCursor;
-    
+
     /** Called when the activity is first created. */
     @Override
     public void onCreate(Bundle savedInstanceState) {
@@ -49,24 +49,24 @@
         fillData();
         registerForContextMenu(getListView());
     }
-    
+
     private void fillData() {
         // Get all of the rows from the database and create the item list
         mNotesCursor = mDbHelper.fetchAllNotes();
         startManagingCursor(mNotesCursor);
-        
+
         // Create an array to specify the fields we want to display in the list (only TITLE)
         String[] from = new String[]{NotesDbAdapter.KEY_TITLE};
-        
+
         // and an array of the fields we want to bind those fields to (in this case just text1)
         int[] to = new int[]{R.id.text1};
-        
+
         // Now create a simple cursor adapter and set it to display
         SimpleCursorAdapter notes = 
-        	    new SimpleCursorAdapter(this, R.layout.notes_row, mNotesCursor, from, to);
+            new SimpleCursorAdapter(this, R.layout.notes_row, mNotesCursor, from, to);
         setListAdapter(notes);
     }
-    
+
     @Override
     public boolean onCreateOptionsMenu(Menu menu) {
         super.onCreateOptionsMenu(menu);
@@ -77,38 +77,38 @@
     @Override
     public boolean onMenuItemSelected(int featureId, MenuItem item) {
         switch(item.getItemId()) {
-        case INSERT_ID:
-            createNote();
-            return true;
+            case INSERT_ID:
+                createNote();
+                return true;
         }
-       
+
         return super.onMenuItemSelected(featureId, item);
     }
-	
-    @Override
-	public void onCreateContextMenu(ContextMenu menu, View v,
-			ContextMenuInfo menuInfo) {
-		super.onCreateContextMenu(menu, v, menuInfo);
-        menu.add(0, DELETE_ID, 0, R.string.menu_delete);
-	}
 
     @Override
-	public boolean onContextItemSelected(MenuItem item) {
-		switch(item.getItemId()) {
-    	case DELETE_ID:
-    		AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo();
-	        mDbHelper.deleteNote(info.id);
-	        fillData();
-	        return true;
-		}
-		return super.onContextItemSelected(item);
-	}
-	
+    public void onCreateContextMenu(ContextMenu menu, View v,
+            ContextMenuInfo menuInfo) {
+        super.onCreateContextMenu(menu, v, menuInfo);
+        menu.add(0, DELETE_ID, 0, R.string.menu_delete);
+    }
+
+    @Override
+    public boolean onContextItemSelected(MenuItem item) {
+        switch(item.getItemId()) {
+            case DELETE_ID:
+                AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo();
+                mDbHelper.deleteNote(info.id);
+                fillData();
+                return true;
+        }
+        return super.onContextItemSelected(item);
+    }
+
     private void createNote() {
         Intent i = new Intent(this, NoteEdit.class);
         startActivityForResult(i, ACTIVITY_CREATE);
     }
-    
+
     @Override
     protected void onListItemClick(ListView l, View v, int position, long id) {
         super.onListItemClick(l, v, position, id);
@@ -117,9 +117,9 @@
         Intent i = new Intent(this, NoteEdit.class);
         i.putExtra(NotesDbAdapter.KEY_ROWID, id);
         i.putExtra(NotesDbAdapter.KEY_TITLE, c.getString(
-        		c.getColumnIndexOrThrow(NotesDbAdapter.KEY_TITLE)));
+                c.getColumnIndexOrThrow(NotesDbAdapter.KEY_TITLE)));
         i.putExtra(NotesDbAdapter.KEY_BODY, c.getString(
-        		c.getColumnIndexOrThrow(NotesDbAdapter.KEY_BODY)));
+                c.getColumnIndexOrThrow(NotesDbAdapter.KEY_BODY)));
         startActivityForResult(i, ACTIVITY_EDIT);
     }
 
@@ -128,21 +128,21 @@
         super.onActivityResult(requestCode, resultCode, intent);
         Bundle extras = intent.getExtras();
         switch(requestCode) {
-        case ACTIVITY_CREATE:
-            String title = extras.getString(NotesDbAdapter.KEY_TITLE);
-            String body = extras.getString(NotesDbAdapter.KEY_BODY);
-            mDbHelper.createNote(title, body);
-            fillData();
-            break;
-        case ACTIVITY_EDIT:
-            Long rowId = extras.getLong(NotesDbAdapter.KEY_ROWID);
-            if (rowId != null) {
-                String editTitle = extras.getString(NotesDbAdapter.KEY_TITLE);
-                String editBody = extras.getString(NotesDbAdapter.KEY_BODY);
-                mDbHelper.updateNote(rowId, editTitle, editBody);
-            }
-            fillData();
-            break;
+            case ACTIVITY_CREATE:
+                String title = extras.getString(NotesDbAdapter.KEY_TITLE);
+                String body = extras.getString(NotesDbAdapter.KEY_BODY);
+                mDbHelper.createNote(title, body);
+                fillData();
+                break;
+            case ACTIVITY_EDIT:
+                Long rowId = extras.getLong(NotesDbAdapter.KEY_ROWID);
+                if (rowId != null) {
+                    String editTitle = extras.getString(NotesDbAdapter.KEY_TITLE);
+                    String editBody = extras.getString(NotesDbAdapter.KEY_BODY);
+                    mDbHelper.updateNote(rowId, editTitle, editBody);
+                }
+                fillData();
+                break;
         }
     }
 }
diff --git a/tutorials/NotepadCodeLab/Notepadv3/src/com/android/demo/notepad3/NotesDbAdapter.java b/tutorials/NotepadCodeLab/Notepadv3/src/com/android/demo/notepad3/NotesDbAdapter.java
index 61ad046..38ee1c0 100755
--- a/tutorials/NotepadCodeLab/Notepadv3/src/com/android/demo/notepad3/NotesDbAdapter.java
+++ b/tutorials/NotepadCodeLab/Notepadv3/src/com/android/demo/notepad3/NotesDbAdapter.java
@@ -43,13 +43,13 @@
     private static final String TAG = "NotesDbAdapter";
     private DatabaseHelper mDbHelper;
     private SQLiteDatabase mDb;
-    
+
     /**
      * Database creation sql statement
      */
     private static final String DATABASE_CREATE =
-            "create table notes (_id integer primary key autoincrement, "
-                    + "title text not null, body text not null);";
+        "create table notes (_id integer primary key autoincrement, "
+        + "title text not null, body text not null);";
 
     private static final String DATABASE_NAME = "data";
     private static final String DATABASE_TABLE = "notes";
@@ -102,7 +102,7 @@
         mDb = mDbHelper.getWritableDatabase();
         return this;
     }
-    
+
     public void close() {
         mDbHelper.close();
     }
@@ -158,9 +158,9 @@
 
         Cursor mCursor =
 
-                mDb.query(true, DATABASE_TABLE, new String[] {KEY_ROWID,
-                        KEY_TITLE, KEY_BODY}, KEY_ROWID + "=" + rowId, null,
-                        null, null, null, null);
+            mDb.query(true, DATABASE_TABLE, new String[] {KEY_ROWID,
+                    KEY_TITLE, KEY_BODY}, KEY_ROWID + "=" + rowId, null,
+                    null, null, null, null);
         if (mCursor != null) {
             mCursor.moveToFirst();
         }
diff --git a/tutorials/NotepadCodeLab/Notepadv3Solution/Android.mk b/tutorials/NotepadCodeLab/Notepadv3Solution/Android.mk
index 177164e..d8a6ea5 100644
--- a/tutorials/NotepadCodeLab/Notepadv3Solution/Android.mk
+++ b/tutorials/NotepadCodeLab/Notepadv3Solution/Android.mk
@@ -17,6 +17,7 @@
 LOCAL_PATH:= $(call my-dir)
 include $(CLEAR_VARS)
 
+# Only build apk if this package is added to CUSTOM_MODLUES in buildspec.mk
 LOCAL_MODULE_TAGS := optional
 
 # Only compile source java files in this apk.
diff --git a/tutorials/NotepadCodeLab/Notepadv3Solution/AndroidManifest.xml b/tutorials/NotepadCodeLab/Notepadv3Solution/AndroidManifest.xml
index adb07ff..06e1645 100755
--- a/tutorials/NotepadCodeLab/Notepadv3Solution/AndroidManifest.xml
+++ b/tutorials/NotepadCodeLab/Notepadv3Solution/AndroidManifest.xml
@@ -7,6 +7,6 @@
                 <category android:name="android.intent.category.LAUNCHER" />
             </intent-filter>
         </activity>
-        <activity android:name=".NoteEdit"/>
+        <activity android:name=".NoteEdit" />
     </application>
 </manifest> 
\ No newline at end of file
diff --git a/tutorials/NotepadCodeLab/Notepadv3Solution/src/com/android/demo/notepad3/NoteEdit.java b/tutorials/NotepadCodeLab/Notepadv3Solution/src/com/android/demo/notepad3/NoteEdit.java
index f5eb6c4..eabb07a 100755
--- a/tutorials/NotepadCodeLab/Notepadv3Solution/src/com/android/demo/notepad3/NoteEdit.java
+++ b/tutorials/NotepadCodeLab/Notepadv3Solution/src/com/android/demo/notepad3/NoteEdit.java
@@ -25,7 +25,7 @@
 
 public class NoteEdit extends Activity {
 
-	private EditText mTitleText;
+    private EditText mTitleText;
     private EditText mBodyText;
     private Long mRowId;
     private NotesDbAdapter mDbHelper;
@@ -36,63 +36,62 @@
         mDbHelper = new NotesDbAdapter(this);
         mDbHelper.open();
         setContentView(R.layout.note_edit);
-        
-       
+
+
         mTitleText = (EditText) findViewById(R.id.title);
         mBodyText = (EditText) findViewById(R.id.body);
-      
+
         Button confirmButton = (Button) findViewById(R.id.confirm);
-       
         mRowId = (savedInstanceState == null) ? null :
             (Long) savedInstanceState.getSerializable(NotesDbAdapter.KEY_ROWID);
 		if (mRowId == null) {
-			Bundle extras = getIntent().getExtras();            
-			mRowId = extras != null ? extras.getLong(NotesDbAdapter.KEY_ROWID) 
+			Bundle extras = getIntent().getExtras();
+			mRowId = extras != null ? extras.getLong(NotesDbAdapter.KEY_ROWID)
 									: null;
 		}
 
 		populateFields();
-		
+
         confirmButton.setOnClickListener(new View.OnClickListener() {
 
-        	public void onClick(View view) {
-        	    setResult(RESULT_OK);
-        	    finish();
-        	}
-          
+            public void onClick(View view) {
+                setResult(RESULT_OK);
+                finish();
+            }
+
         });
     }
-    
+
     private void populateFields() {
         if (mRowId != null) {
             Cursor note = mDbHelper.fetchNote(mRowId);
             startManagingCursor(note);
             mTitleText.setText(note.getString(
-    	            note.getColumnIndexOrThrow(NotesDbAdapter.KEY_TITLE)));
+                    note.getColumnIndexOrThrow(NotesDbAdapter.KEY_TITLE)));
             mBodyText.setText(note.getString(
                     note.getColumnIndexOrThrow(NotesDbAdapter.KEY_BODY)));
         }
     }
-    
+
     @Override
     protected void onSaveInstanceState(Bundle outState) {
         super.onSaveInstanceState(outState);
         saveState();
         outState.putSerializable(NotesDbAdapter.KEY_ROWID, mRowId);
     }
-    
+
     @Override
     protected void onPause() {
         super.onPause();
         saveState();
     }
-    
+
     @Override
     protected void onResume() {
         super.onResume();
         populateFields();
     }
-    
+
     private void saveState() {
         String title = mTitleText.getText().toString();
         String body = mBodyText.getText().toString();
@@ -106,5 +105,5 @@
             mDbHelper.updateNote(mRowId, title, body);
         }
     }
-    
+
 }
diff --git a/tutorials/NotepadCodeLab/Notepadv3Solution/src/com/android/demo/notepad3/Notepadv3.java b/tutorials/NotepadCodeLab/Notepadv3Solution/src/com/android/demo/notepad3/Notepadv3.java
index 7f99037..1e15694 100755
--- a/tutorials/NotepadCodeLab/Notepadv3Solution/src/com/android/demo/notepad3/Notepadv3.java
+++ b/tutorials/NotepadCodeLab/Notepadv3Solution/src/com/android/demo/notepad3/Notepadv3.java
@@ -1,7 +1,7 @@
 /*
  * Copyright (C) 2008 Google Inc.
  *
- * Licensed under the Apache License, Version 2.0 (the "License")savedInstanceState;
+ * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
  *
@@ -32,12 +32,12 @@
 public class Notepadv3 extends ListActivity {
     private static final int ACTIVITY_CREATE=0;
     private static final int ACTIVITY_EDIT=1;
-    
+
     private static final int INSERT_ID = Menu.FIRST;
     private static final int DELETE_ID = Menu.FIRST + 1;
 
     private NotesDbAdapter mDbHelper;
-    
+
     /** Called when the activity is first created. */
     @Override
     public void onCreate(Bundle savedInstanceState) {
@@ -48,23 +48,23 @@
         fillData();
         registerForContextMenu(getListView());
     }
-    
+
     private void fillData() {
         Cursor notesCursor = mDbHelper.fetchAllNotes();
         startManagingCursor(notesCursor);
-        
+
         // Create an array to specify the fields we want to display in the list (only TITLE)
         String[] from = new String[]{NotesDbAdapter.KEY_TITLE};
-        
+
         // and an array of the fields we want to bind those fields to (in this case just text1)
         int[] to = new int[]{R.id.text1};
-        
+
         // Now create a simple cursor adapter and set it to display
         SimpleCursorAdapter notes = 
-        	    new SimpleCursorAdapter(this, R.layout.notes_row, notesCursor, from, to);
+            new SimpleCursorAdapter(this, R.layout.notes_row, notesCursor, from, to);
         setListAdapter(notes);
     }
-    
+
     @Override
     public boolean onCreateOptionsMenu(Menu menu) {
         super.onCreateOptionsMenu(menu);
@@ -75,38 +75,38 @@
     @Override
     public boolean onMenuItemSelected(int featureId, MenuItem item) {
         switch(item.getItemId()) {
-        case INSERT_ID:
-            createNote();
-            return true;
+            case INSERT_ID:
+                createNote();
+                return true;
         }
-       
+
         return super.onMenuItemSelected(featureId, item);
     }
-	
-    @Override
-	public void onCreateContextMenu(ContextMenu menu, View v,
-			ContextMenuInfo menuInfo) {
-		super.onCreateContextMenu(menu, v, menuInfo);
-        menu.add(0, DELETE_ID, 0, R.string.menu_delete);
-	}
 
     @Override
-	public boolean onContextItemSelected(MenuItem item) {
-		switch(item.getItemId()) {
-    	case DELETE_ID:
-    		AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo();
-	        mDbHelper.deleteNote(info.id);
-	        fillData();
-	        return true;
-		}
-		return super.onContextItemSelected(item);
-	}
-	
+    public void onCreateContextMenu(ContextMenu menu, View v,
+            ContextMenuInfo menuInfo) {
+        super.onCreateContextMenu(menu, v, menuInfo);
+        menu.add(0, DELETE_ID, 0, R.string.menu_delete);
+    }
+
+    @Override
+    public boolean onContextItemSelected(MenuItem item) {
+        switch(item.getItemId()) {
+            case DELETE_ID:
+                AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo();
+                mDbHelper.deleteNote(info.id);
+                fillData();
+                return true;
+        }
+        return super.onContextItemSelected(item);
+    }
+
     private void createNote() {
         Intent i = new Intent(this, NoteEdit.class);
         startActivityForResult(i, ACTIVITY_CREATE);
     }
-    
+
     @Override
     protected void onListItemClick(ListView l, View v, int position, long id) {
         super.onListItemClick(l, v, position, id);
@@ -116,8 +116,7 @@
     }
 
     @Override
-    protected void onActivityResult(int requestCode, int resultCode, 
-                                    Intent intent) {
+    protected void onActivityResult(int requestCode, int resultCode, Intent intent) {
         super.onActivityResult(requestCode, resultCode, intent);
         fillData();
     }
diff --git a/tutorials/NotepadCodeLab/Notepadv3Solution/src/com/android/demo/notepad3/NotesDbAdapter.java b/tutorials/NotepadCodeLab/Notepadv3Solution/src/com/android/demo/notepad3/NotesDbAdapter.java
index 61ad046..38ee1c0 100755
--- a/tutorials/NotepadCodeLab/Notepadv3Solution/src/com/android/demo/notepad3/NotesDbAdapter.java
+++ b/tutorials/NotepadCodeLab/Notepadv3Solution/src/com/android/demo/notepad3/NotesDbAdapter.java
@@ -43,13 +43,13 @@
     private static final String TAG = "NotesDbAdapter";
     private DatabaseHelper mDbHelper;
     private SQLiteDatabase mDb;
-    
+
     /**
      * Database creation sql statement
      */
     private static final String DATABASE_CREATE =
-            "create table notes (_id integer primary key autoincrement, "
-                    + "title text not null, body text not null);";
+        "create table notes (_id integer primary key autoincrement, "
+        + "title text not null, body text not null);";
 
     private static final String DATABASE_NAME = "data";
     private static final String DATABASE_TABLE = "notes";
@@ -102,7 +102,7 @@
         mDb = mDbHelper.getWritableDatabase();
         return this;
     }
-    
+
     public void close() {
         mDbHelper.close();
     }
@@ -158,9 +158,9 @@
 
         Cursor mCursor =
 
-                mDb.query(true, DATABASE_TABLE, new String[] {KEY_ROWID,
-                        KEY_TITLE, KEY_BODY}, KEY_ROWID + "=" + rowId, null,
-                        null, null, null, null);
+            mDb.query(true, DATABASE_TABLE, new String[] {KEY_ROWID,
+                    KEY_TITLE, KEY_BODY}, KEY_ROWID + "=" + rowId, null,
+                    null, null, null, null);
         if (mCursor != null) {
             mCursor.moveToFirst();
         }