am 369978fd: am 62437b99: Windows SDK: copy SDK Setup.exe at root of SDK.
Merge commit '369978fd3167a19f3e2e303c8874b66e8429f25f'
* commit '369978fd3167a19f3e2e303c8874b66e8429f25f':
Windows SDK: copy SDK Setup.exe at root of SDK.
diff --git a/ide/emacs/android-common.el b/ide/emacs/android-common.el
new file mode 100644
index 0000000..7bf82a2
--- /dev/null
+++ b/ide/emacs/android-common.el
@@ -0,0 +1,173 @@
+;;; android-common.el --- Common functions/variables to dev Android in Emacs.
+;;
+;; 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.
+
+;;; Commentary:
+;;
+;; Variables to customize and common functions for the Android build
+;; support in Emacs.
+;; There should be no interactive function in this module.
+;;
+;; You need to have a proper buildspec.mk file in your root directory
+;; for this module to work (see $TOP/build/buildspec.mk.default).
+;; If the path the product's files/image uses an a product alias, you
+;; need to add a mapping in `android-product-alias-map'. For instance
+;; if TARGET_PRODUCT is foo but the build directory is out/target/product/bar,
+;; you need to add a mapping Target:foo -> Alias:bar
+;;
+
+;;; Code:
+
+(defgroup android nil
+ "Support for android development in Emacs."
+ :prefix "android-" ; Currently unused.
+ :tag "Android"
+ :group 'tools)
+
+;;;###autoload
+(defcustom android-compilation-jobs 2
+ "Number of jobs used to do a compilation (-j option of make)."
+ :type 'integer
+ :group 'android)
+
+;;;###autoload
+(defcustom android-product-alias-map nil
+ "Alist between product targets (declared in buildspec.mk) and actual
+ product build directory used by `android-product'.
+
+For instance if TARGET_PRODUCT is 'foo' but the build directory
+ is 'out/target/product/bar', you need to add a mapping Target:foo -> Alias:bar."
+ :type '(repeat (list (string :tag "Target")
+ (string :tag "Alias")))
+ :group 'android)
+
+(defconst android-output-buffer-name "*Android Output*"
+ "Name of the default buffer for the output of the commands.
+There is only one instance of such a buffer.")
+
+(defun android-find-build-tree-root ()
+ "Ascend the current path until the root of the android build tree is found.
+Similarly to the shell functions in envsetup.sh, for the root both ./Makefile
+and ./build/core/envsetup.mk are exiting files.
+Return the root of the build tree. Signal an error if not found."
+ (let ((default-directory default-directory))
+ (while (and (> (length default-directory) 2)
+ (not (file-exists-p (concat default-directory
+ "Makefile")))
+ (not (file-exists-p (concat default-directory
+ "build/core/envsetup.mk"))))
+ (setq default-directory
+ (substring default-directory 0
+ (string-match "[^/]+/$" default-directory))))
+ (if (> (length default-directory) 2)
+ default-directory
+ (error "Not in a valid android tree"))))
+
+(defun android-project-p ()
+ "Return nil if not in an android build tree."
+ (condition-case nil
+ (android-find-build-tree-root)
+ (error nil)))
+
+(defun android-host ()
+ "Return the <system>-<arch> string (e.g linux-x86).
+Only linux and darwin on x86 architectures are supported."
+ (or (string-match "x86" system-configuration)
+ (string-match "i386" system-configuration)
+ (error "Unknown arch"))
+ (or (and (string-match "darwin" system-configuration) "darwin-x86")
+ (and (string-match "linux" system-configuration) "linux-x86")
+ (error "Unknown system")))
+
+(defun android-product ()
+ "Return the product built according to the buildspec.mk.
+You must have buildspec.mk file in the top directory.
+
+Additional product aliases can be listed in `android-product-alias-map'
+if the product actually built is different from the one listed
+in buildspec.mk"
+ (save-excursion
+ (let* ((buildspec (concat (android-find-build-tree-root) "buildspec.mk"))
+ (product (with-current-buffer (find-file-noselect buildspec)
+ (goto-char (point-min))
+ (search-forward "TARGET_PRODUCT:=")
+ (buffer-substring-no-properties (point)
+ (scan-sexps (point) 1))))
+ (alias (assoc product android-product-alias-map)))
+ ; Post processing, adjust the names.
+ (if (not alias)
+ product
+ (nth 1 alias)))))
+
+(defun android-product-path ()
+ "Return the full path to the product directory.
+
+Additional product aliases can be added in `android-product-alias-map'
+if the product actually built is different from the one listed
+in buildspec.mk"
+ (let ((path (concat (android-find-build-tree-root) "out/target/product/"
+ (android-product))))
+ (when (not (file-exists-p path))
+ (error (format "%s does not exist. If product %s maps to another one,
+add an entry to android-product-map." path (android-product))))
+ path))
+
+(defun android-find-host-bin (binary)
+ "Return the full path to the host BINARY.
+Binaries don't depend on the device, just on the host type.
+Try first to locate BINARY in the out/host tree. Fallback using
+the shell exec PATH setup."
+ (if (android-project-p)
+ (let ((path (concat (android-find-build-tree-root) "out/host/"
+ (android-host) "/bin/" binary)))
+ (if (file-exists-p path)
+ path
+ (error (concat binary " is missing."))))
+ (executable-find binary)))
+
+(defun android-adb ()
+ "Return the path to the adb executable.
+If not in the build tree use the PATH env variable."
+ (android-find-host-bin "adb"))
+
+(defun android-fastboot ()
+ "Return the path to the fastboot executable.
+If not in the build tree use the PATH env variable."
+ ; For fastboot -p is the name of the product, *not* the full path to
+ ; its directory like adb requests sometimes.
+ (concat (android-find-host-bin "fastboot") " -p " (android-product)))
+
+(defun android-adb-command (command &optional product)
+ "Execute 'adb COMMAND'.
+If the optional PRODUCT is not nil, -p (android-product-path) is used
+when adb is invoked."
+ (when (get-buffer android-output-buffer-name)
+ (with-current-buffer android-output-buffer-name
+ (erase-buffer)))
+ (if product
+ (shell-command (concat (android-adb) " -p " (android-product-path)
+ " " command)
+ android-output-buffer-name)
+ (shell-command (concat (android-adb) " " command)
+ android-output-buffer-name)))
+
+(defun android-adb-shell-command (command)
+ "Execute 'adb shell COMMAND'."
+ (android-adb-command (concat " shell " command)
+ android-output-buffer-name))
+
+(provide 'android-common)
+
+;;; android-common.el ends here
diff --git a/ide/emacs/android-compile.el b/ide/emacs/android-compile.el
new file mode 100644
index 0000000..d0a2b7b
--- /dev/null
+++ b/ide/emacs/android-compile.el
@@ -0,0 +1,105 @@
+;;; android-compile.el --- Compile the Android source tree.
+;;
+;; 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.
+
+;;; Commentary:
+;;
+;; Helper functions to compile Android file within emacs.
+;; This module ignores 'build/envsetup.sh' and any enviroment set by the
+;; 'lunch' shell function.
+;; Instead it relies solely on 'buildspec.mk', remember that when you
+;; switch configuration.
+;;
+;; The only interactive function is 'android-compile'.
+;; In your .emacs load this file (e.g (require 'android-compile)) then:
+;;
+;; (add-hook 'c++-mode-hook 'android-compile)
+;; (add-hook 'java-mode-hook 'android-compile)
+;; and/or
+;; (global-set-key [f9] 'android-compile)
+;;
+;;
+;; TODO: Maybe we could cache the result of the compile function in
+;; buffer local vars.
+
+;;; Code:
+
+(require 'compile)
+(require 'android-common)
+
+(defun android-makefile-exists-p (directory)
+ "Return t if an Android makefile exists in DIRECTORY."
+ ; Test for Android.mk first: more likely.
+ (or (file-exists-p (concat directory "Android.mk"))
+ (file-exists-p (concat directory "Makefile"))))
+
+(defun android-find-makefile (topdir)
+ "Ascend the current path until an Android makefile is found.
+Makefiles are named Android.mk except in the root directory where
+the file is named Makefile.
+TOPDIR is the root directory of the build.
+Return a list with 2 elements (MAKEFILE_PATH IS_ROOT_MAKEFILE).
+MAKEFILE_PATH is the relative path of the makefile wrt TOPDIR.
+Signal an error if no Makefile was found."
+ ;; TODO: Could check that topdir is the start of default-directory.
+ (unless (> (length topdir) 2)
+ (error "Topdir invalid %s for current dir %s" topdir default-directory))
+ (let ((default-directory default-directory)
+ file)
+ ;; Ascend the path.
+ (while (and (> (length default-directory) (length topdir))
+ (not (android-makefile-exists-p default-directory)))
+ (setq default-directory
+ (substring default-directory 0
+ (string-match "[^/]+/$" default-directory))))
+
+ (when (not (android-makefile-exists-p default-directory))
+ (error "Not in a valid android tree"))
+
+ (if (string= default-directory topdir)
+ (list "Makefile" t)
+ ;; Remove the root dir at the start of the filename
+ (setq default-directory (substring default-directory (length topdir) nil))
+ (setq file (concat default-directory "Android.mk"))
+ (list file nil))))
+
+
+(defun android-compile ()
+ "Elisp equivalent of mm shell function.
+Walk up the path until a makefile is found and build it.
+You need to have a proper buildspec.mk in your top dir.
+
+Use `android-compilation-jobs' to control the number of jobs used
+in a compilation."
+ (interactive)
+ (if (android-project-p)
+ (let* ((topdir (android-find-build-tree-root))
+ (makefile (android-find-makefile topdir))
+ (options
+ (concat " -j " (number-to-string android-compilation-jobs))))
+ (unless (file-exists-p (concat topdir "buildspec.mk"))
+ (error "buildspec.mk missing in %s." topdir))
+ (set (make-local-variable 'compile-command)
+ (if (cadr makefile)
+ ;; The root Makefile is not invoked using ONE_SHOT_MAKEFILE.
+ (concat "make -C " topdir options) ; Build the whole image.
+ (concat "ONE_SHOT_MAKEFILE=" (car makefile)
+ " make -C " topdir options " files ")))
+ (if (interactive-p)
+ (call-interactively 'compile)))))
+
+(provide 'android-compile)
+
+;;; android-compile.el ends here
diff --git a/ide/emacs/android-host.el b/ide/emacs/android-host.el
new file mode 100644
index 0000000..d310e3a
--- /dev/null
+++ b/ide/emacs/android-host.el
@@ -0,0 +1,118 @@
+;;; android-host.el --- Module to use host binaries from an Android dev tree.
+;;
+;; 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.
+
+;;; Commentary:
+;;
+;; This module defines interactive functions to send the most common
+;; commands to a device.
+;;
+;; Currently only one device is supported.
+;;
+;; In your .emacs load this file (e.g (require 'android-host)) then
+;; you can either create new shortcuts e.g:
+;;
+;; (global-set-key [f8] 'android-adb-sync)
+;;
+;; or rely on autocompletion M-x and-sync will expand to
+;; M-x android-adb-sync
+;;
+;; By default the following key bindings are active:
+;; C-x a a android-adb-root
+;; C-x a r android-adb-remount
+;; C-x a s android-adb-sync
+;; C-x a b android-adb-shell-reboot-bootloader
+;; C-x a f android-fastboot-flashall
+;;
+;; android-fastboot-flashall is still work in progress, check the
+;; associated buffer (*Android Output*) for errors when you use it.
+
+;;; Code:
+
+(require 'android-common)
+
+(defvar android-host-command-map (make-sparse-keymap))
+
+(defun android-host-key-prefix-set (var val)
+ "Bind the keys shortcuts to the functions.i"
+ ;; TODO: This should go in a minor mode keymap instead of
+ ;; messing with the global one.
+ (define-key global-map (read-kbd-macro val) android-host-command-map)
+ (custom-set-default var val))
+
+(let ((map android-host-command-map))
+ (define-key map (kbd "a") 'android-adb-root)
+ (define-key map (kbd "r") 'android-adb-remount)
+ (define-key map (kbd "s") 'android-adb-sync)
+ (define-key map (kbd "b") 'android-adb-shell-reboot-bootloader)
+ (define-key map (kbd "f") 'android-fastboot-flashall))
+
+(defcustom android-host-key-prefix "C-x a"
+ "Prefix keystrokes for Android commands."
+ :group 'android
+ :type 'string
+ :set 'android-host-key-prefix-set)
+
+(defun android-adb-remount ()
+ "Execute 'adb remount'."
+ (interactive)
+ (android-adb-command "remount"))
+
+(defun android-adb-root ()
+ "Execute 'adb root'."
+ (interactive)
+ (android-adb-command "root"))
+
+(defun android-adb-shell-reboot-bootloader ()
+ "Execute 'adb shell reboot bootloader'."
+ (interactive)
+ (android-adb-shell-command "reboot bootloader"))
+
+(defun android-adb-sync ()
+ "Execute 'adb sync'."
+ (interactive)
+ (android-adb-command "sync" 'p))
+
+(defun android-fastboot-sentinel (process event)
+ "Called when the fastboot process is done."
+ ;; TODO: Should barf if the last lines are not:
+ ;; OKAY
+ ;; rebooting...
+ (princ
+ (format "Process: %s had the event `%s'" process event)))
+
+(defun android-fastboot-flashall (arg)
+ "Execute 'fastboot -p <product> flashall'.
+
+With no ARG, don't wipe the user data.
+With ARG, wipe the user data."
+ (interactive "P")
+ (when (get-buffer android-output-buffer-name)
+ (with-current-buffer android-output-buffer-name
+ (erase-buffer)))
+ (let ((proc
+ (if arg
+ (start-process-shell-command
+ "fastboot"
+ android-output-buffer-name
+ (concat (android-fastboot) " flashall -w"))
+ (start-process-shell-command
+ "fastboot" android-output-buffer-name
+ (concat (android-fastboot) " flashall")))))
+ (set-process-sentinel proc 'android-fastboot-sentinel)))
+
+
+(provide 'android-host)
+;;; android-host.el ends here
diff --git a/pdk/docs/compatibility/compatibility_toc.cs b/pdk/docs/compatibility/compatibility_toc.cs
new file mode 100644
index 0000000..3952495
--- /dev/null
+++ b/pdk/docs/compatibility/compatibility_toc.cs
@@ -0,0 +1,31 @@
+<script type="text/javascript" language="JavaScript">
+<!--
+function nothing() {}
+-->
+</script>
+
+<ul>
+ <li> <h2>Program Details </h2>
+ <ul>
+ <li><a href="">Program Overview</a></li>
+ <li><a href="">Getting Started</a></li>
+ <li><a href="">Contact Us</a></li>
+ </ul>
+ </li>
+
+ <li> <h2>Compatibility Tools </h2>
+ <ul>
+ <li><a href="">Compatibility Definition</a></li>
+ <li><a href="">Compatibility Test Suite</a></li>
+ <li><a href="">Compatibility FAQ</a></li>
+ <li><a href="">Downloads</a></li>
+ </ul>
+ </li>
+
+</ul>
+
+<script type="text/javascript">
+<!--
+ buildToggleLists();
+//-->
+</script>
diff --git a/pdk/docs/compatibility/index.jd b/pdk/docs/compatibility/index.jd
new file mode 100644
index 0000000..964fdf7
--- /dev/null
+++ b/pdk/docs/compatibility/index.jd
@@ -0,0 +1,11 @@
+home=true
+doc.type=compatibility
+@jd:body
+
+<div id="mainBodyFixed">
+
+<p>
+Compatibility start page goes here
+</p>
+
+</div>
diff --git a/pdk/docs/getsource/getsource_toc.cs b/pdk/docs/getsource/getsource_toc.cs
new file mode 100644
index 0000000..5332cdf
--- /dev/null
+++ b/pdk/docs/getsource/getsource_toc.cs
@@ -0,0 +1,26 @@
+<script type="text/javascript" language="JavaScript">
+<!--
+function nothing() {}
+-->
+</script>
+
+<ul>
+ <li> <h2>Work with the Code </h2>
+ <ul>
+ <li><a href="">...</a></li>
+ </ul>
+ </li>
+
+ <li> <h2>About the project </h2>
+ <ul>
+ <li><a href="">...</a></li>
+ </ul>
+ </li>
+
+</ul>
+
+<script type="text/javascript">
+<!--
+ buildToggleLists();
+//-->
+</script>
diff --git a/pdk/docs/getsource/index.jd b/pdk/docs/getsource/index.jd
new file mode 100644
index 0000000..08d1c25
--- /dev/null
+++ b/pdk/docs/getsource/index.jd
@@ -0,0 +1,11 @@
+home=true
+doc.type=getsource
+@jd:body
+
+<div id="mainBodyFixed">
+
+<p>
+Some new content about getting source goes here
+</p>
+
+</div>
diff --git a/pdk/docs/index.jd b/pdk/docs/index.jd
index 4175db7..d7077d5 100644
--- a/pdk/docs/index.jd
+++ b/pdk/docs/index.jd
@@ -36,25 +36,6 @@
<tr>
<td colspan="2"><div class="seperator"> </div></td>
</tr>
- <tr>
- <td class="imageCell"><a href="http://source.android.com"><img src="{@docRoot}assets/images/icon_contribute.jpg" style="padding:0" /></a></td>
- <td>
- <h2 class="green">Contribute</h2>
- <p>Android Open Source Project gives you access to the entire platform source.</p>
- <p><a href="http://source.android.com">Learn more »</a></p>
- </td>
- </tr>
- <tr>
- <td colspan="2"><div class="seperator"> </div></td>
- </tr>
- <tr>
- <td class="imageCell"><a href="http://www.youtube.com/user/androiddevelopers"><img src="{@docRoot}assets/images/video-droid.png" style="padding:0" /></a></td>
- <td>
- <h2 class="green">Watch</h2>
- <object width="150" height="140"><param name="movie" value="http://www.youtube.com/v/GARMe7Km_gk&hl=en&fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/GARMe7Km_gk&hl=en&fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="150" height="140"></embed></object>
- <p style="margin-top:1em"><a href="{@docRoot}videos/index.html">More Android videos »</a></p>
- </td>
- </tr>
</table>
</div>
diff --git a/samples/ApiDemos/res/layout/alert_dialog.xml b/samples/ApiDemos/res/layout/alert_dialog.xml
index ddd5cb6..741be33 100644
--- a/samples/ApiDemos/res/layout/alert_dialog.xml
+++ b/samples/ApiDemos/res/layout/alert_dialog.xml
@@ -41,6 +41,9 @@
<Button android:id="@+id/checkbox_button"
android:layout_width="fill_parent" android:layout_height="wrap_content"
android:text="@string/alert_dialog_multi_choice"/>
+ <Button android:id="@+id/checkbox_button2"
+ android:layout_width="fill_parent" android:layout_height="wrap_content"
+ android:text="@string/alert_dialog_multi_choice_cursor"/>
<Button android:id="@+id/text_entry_button"
android:layout_width="fill_parent" android:layout_height="wrap_content"
android:text="@string/alert_dialog_text_entry"/>
diff --git a/samples/ApiDemos/res/values/strings.xml b/samples/ApiDemos/res/values/strings.xml
index 2800bff..28267a5 100644
--- a/samples/ApiDemos/res/values/strings.xml
+++ b/samples/ApiDemos/res/values/strings.xml
@@ -270,6 +270,7 @@
<string name="alert_dialog_select_button">List dialog</string>
<string name="alert_dialog_single_choice">Single choice list</string>
<string name="alert_dialog_multi_choice">Repeat alarm</string>
+ <string name="alert_dialog_multi_choice_cursor">Send Call to VoiceMail</string>
<string name="alert_dialog_progress_button">Progress dialog</string>
<string name="alert_dialog_text_entry">Text Entry dialog</string>
<string name="alert_dialog_username">Name:</string>
diff --git a/samples/ApiDemos/src/com/example/android/apis/app/AlertDialogSamples.java b/samples/ApiDemos/src/com/example/android/apis/app/AlertDialogSamples.java
index fabdfc1..0ef79b3 100644
--- a/samples/ApiDemos/src/com/example/android/apis/app/AlertDialogSamples.java
+++ b/samples/ApiDemos/src/com/example/android/apis/app/AlertDialogSamples.java
@@ -28,6 +28,9 @@
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
+import android.widget.Toast;
+import android.database.Cursor;
+import android.provider.Contacts;
import com.example.android.apis.R;
@@ -60,6 +63,7 @@
private static final int DIALOG_SINGLE_CHOICE = 5;
private static final int DIALOG_MULTIPLE_CHOICE = 6;
private static final int DIALOG_TEXT_ENTRY = 7;
+ private static final int DIALOG_MULTIPLE_CHOICE_CURSOR = 8;
private static final int MAX_PROGRESS = 100;
@@ -193,6 +197,28 @@
}
})
.create();
+ case DIALOG_MULTIPLE_CHOICE_CURSOR:
+ String[] projection = new String[] {
+ Contacts.People._ID,
+ Contacts.People.NAME,
+ Contacts.People.SEND_TO_VOICEMAIL
+ };
+ Cursor cursor = managedQuery(Contacts.People.CONTENT_URI, projection, null, null, null);
+ return new AlertDialog.Builder(AlertDialogSamples.this)
+ .setIcon(R.drawable.ic_popup_reminder)
+ .setTitle(R.string.alert_dialog_multi_choice_cursor)
+ .setMultiChoiceItems(cursor,
+ Contacts.People.SEND_TO_VOICEMAIL,
+ Contacts.People.NAME,
+ new DialogInterface.OnMultiChoiceClickListener() {
+ public void onClick(DialogInterface dialog, int whichButton,
+ boolean isChecked) {
+ Toast.makeText(AlertDialogSamples.this,
+ "Readonly Demo Only - Data will not be updated",
+ Toast.LENGTH_SHORT).show();
+ }
+ })
+ .create();
case DIALOG_TEXT_ENTRY:
// This example shows how to add a custom layout to an AlertDialog
LayoutInflater factory = LayoutInflater.from(this);
@@ -281,6 +307,14 @@
}
});
+ /* Display a list of checkboxes, backed by a cursor */
+ Button checkBox2 = (Button) findViewById(R.id.checkbox_button2);
+ checkBox2.setOnClickListener(new OnClickListener() {
+ public void onClick(View v) {
+ showDialog(DIALOG_MULTIPLE_CHOICE_CURSOR);
+ }
+ });
+
/* Display a text entry dialog */
Button textEntry = (Button) findViewById(R.id.text_entry_button);
textEntry.setOnClickListener(new OnClickListener() {
diff --git a/samples/LunarLander/AndroidManifest.xml b/samples/LunarLander/AndroidManifest.xml
index 7fdc572..301291a 100644
--- a/samples/LunarLander/AndroidManifest.xml
+++ b/samples/LunarLander/AndroidManifest.xml
@@ -22,11 +22,11 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.android.lunarlander">
<application android:icon="@drawable/app_lunar_lander" android:label="@string/app_name">
- <activity android:name="LunarLander">
+ <activity android:name="LunarLander" android:theme="@android:style/Theme.NoTitleBar">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
- </activity>
+ </activity>
</application>
</manifest>
diff --git a/samples/LunarLander/src/com/example/android/lunarlander/LunarLander.java b/samples/LunarLander/src/com/example/android/lunarlander/LunarLander.java
index 7f54ff6..a4ffef5 100644
--- a/samples/LunarLander/src/com/example/android/lunarlander/LunarLander.java
+++ b/samples/LunarLander/src/com/example/android/lunarlander/LunarLander.java
@@ -124,9 +124,6 @@
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
- // turn off the window's title bar
- requestWindowFeature(Window.FEATURE_NO_TITLE);
-
// tell system to use the layout defined in our XML file
setContentView(R.layout.lunar_layout);
diff --git a/samples/Snake/AndroidManifest.xml b/samples/Snake/AndroidManifest.xml
index 174e8b4..36a9939 100644
--- a/samples/Snake/AndroidManifest.xml
+++ b/samples/Snake/AndroidManifest.xml
@@ -23,6 +23,7 @@
package="com.example.android.snake">
<application android:label="Snake on a Phone">
<activity android:name="Snake"
+ android:theme="@android:style/Theme.NoTitleBar"
android:screenOrientation="portrait"
android:configChanges="keyboardHidden|orientation">
<intent-filter>
diff --git a/samples/Snake/src/com/example/android/snake/Snake.java b/samples/Snake/src/com/example/android/snake/Snake.java
index 5fdc024..6306693 100644
--- a/samples/Snake/src/com/example/android/snake/Snake.java
+++ b/samples/Snake/src/com/example/android/snake/Snake.java
@@ -45,9 +45,6 @@
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
- // No Title bar
- requestWindowFeature(Window.FEATURE_NO_TITLE);
-
setContentView(R.layout.snake_layout);
mSnakeView = (SnakeView) findViewById(R.id.snake);
diff --git a/simulator/app/PropertyServer.cpp b/simulator/app/PropertyServer.cpp
index c94aa75..7a211ea 100644
--- a/simulator/app/PropertyServer.cpp
+++ b/simulator/app/PropertyServer.cpp
@@ -121,7 +121,6 @@
{ "init.svc.dbus", "running" },
{ "init.svc.pppd_gprs", "running" },
{ "adb.connected", "0" },
- //{ "use-adb-networking", "1" },
/*
{ "status.battery.state", "Slow" },
{ "status.battery.level", "5" },
diff --git a/tools/traceview/etc/traceview b/tools/traceview/etc/traceview
index 3d1771f..caac726 100755
--- a/tools/traceview/etc/traceview
+++ b/tools/traceview/etc/traceview
@@ -64,7 +64,7 @@
fi
while expr "x$1" : 'x-J' >/dev/null; do
- opt=`expr "$1" : '-J\(.*\)'`
+ opt=`expr "x$1" : 'x-J\(.*\)'`
javaOpts="${javaOpts} -${opt}"
shift
done