AI 144568: am: CL 144567 am: CL 144565 Improve the JetBoy samples
- use theme instead of window feature to remove titlebar
- remove useless Layouts
- Make custom view works in layout editor.
- remove some warnings
Original author: xav
Merged from: //branches/cupcake/...
Original author: android-build
Automated import of CL 144568
diff --git a/samples/JetBoy/AndroidManifest.xml b/samples/JetBoy/AndroidManifest.xml
index ccd3518..bba069d 100755
--- a/samples/JetBoy/AndroidManifest.xml
+++ b/samples/JetBoy/AndroidManifest.xml
@@ -1,38 +1,37 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- 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.
+
+ 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.
-->
<!-- This file describes the code in the JetBoy package, which is
- used by the system to determine how to start the application and
- integrate it with the rest of the system. -->
-
-
-
+ used by the system to determine how to start the application and
+ integrate it with the rest of the system. -->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
- package="com.example.android.jetboy"
- android:versionCode="1"
- android:versionName="1.0.0">
- <application android:icon="@drawable/icon" android:label="@string/app_name">
- <activity android:name=".JetBoy"
- android:label="@string/app_name"
- android:screenOrientation="landscape">
- <intent-filter>
- <action android:name="android.intent.action.MAIN" />
- <category android:name="android.intent.category.LAUNCHER" />
- </intent-filter>
- </activity>
- </application>
-<uses-sdk android:minSdkVersion="3"></uses-sdk>
-</manifest>
\ No newline at end of file
+ package="com.example.android.jetboy" android:versionCode="1"
+ android:versionName="1.0.0">
+ <application android:icon="@drawable/icon"
+ android:label="@string/app_name"
+ android:theme="@android:style/Theme.NoTitleBar">
+ <activity android:name=".JetBoy"
+ android:label="@string/app_name"
+ android:screenOrientation="landscape">
+ <intent-filter>
+ <action android:name="android.intent.action.MAIN" />
+ <category
+ android:name="android.intent.category.LAUNCHER" />
+ </intent-filter>
+ </activity>
+ </application>
+ <uses-sdk android:minSdkVersion="3"></uses-sdk>
+</manifest>
diff --git a/samples/JetBoy/res/layout/main.xml b/samples/JetBoy/res/layout/main.xml
index b5309db..ea2277f 100755
--- a/samples/JetBoy/res/layout/main.xml
+++ b/samples/JetBoy/res/layout/main.xml
@@ -1,93 +1,31 @@
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent">
-
- <com.example.android.jetboy.JetBoyView
- android:id="@+id/JetBoyView"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"/>
-
- <LinearLayout
- android:layout_width="fill_parent" android:layout_height="wrap_content"
- android:layout_gravity="top" android:gravity="center_horizontal"
- android:orientation="horizontal">
-
- <TextView
- android:id="@+id/text"
- android:text="@string/helpText"
- style="@style/helpText"
- android:visibility="invisible"
- android:layout_width="300px"
- android:layout_height="300px"
- android:layout_centerInParent="true"
- android:gravity="left"
- android:background="#88ffffff"
- />
-
- </LinearLayout>
-
- <LinearLayout
- android:layout_width="fill_parent" android:layout_height="wrap_content"
- android:layout_gravity="bottom" android:gravity="center_horizontal"
- android:orientation="horizontal">
-
- <Button android:id="@+id/Button01"
- android:text="@string/start"
- style="@style/ButtonText"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:clickable="true"
- android:cursorVisible="true">
- </Button>
-
-
-
+ android:layout_width="fill_parent"
+ android:layout_height="fill_parent">
- </LinearLayout>
-
- <LinearLayout
- android:layout_width="fill_parent" android:layout_height="wrap_content"
- android:layout_gravity="bottom" android:gravity="center_horizontal"
- android:orientation="horizontal">
- <Button android:id="@+id/Button02"
- android:text="@string/retry"
- style="@style/ButtonText"
- android:visibility="invisible"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:clickable="true"
- android:cursorVisible="true">
- </Button>
-
- <!--Button android:id="@+id/Button03"
- android:text="@string/restart"
- style="@style/ButtonText"
- android:visibility="invisible"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:clickable="true"
- android:cursorVisible="true">
- </Button-->
-
- </LinearLayout>
-
-
- <LinearLayout
- android:layout_width="fill_parent" android:layout_height="wrap_content"
- android:layout_gravity="top" android:gravity="right"
- android:orientation="horizontal">
-
- <TextView
- android:id="@+id/timer"
- android:text="@string/timer"
- style="@style/timerText"
- android:visibility="invisible"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:gravity="right"
- android:background="#000000"
- android:textSize="24sp"/>
-
- </LinearLayout>
+ <com.example.android.jetboy.JetBoyView android:id="@+id/JetBoyView"
+ android:layout_width="fill_parent"
+ android:layout_height="fill_parent" />
+
+ <TextView android:id="@+id/text" android:text="@string/helpText"
+ style="@style/helpText" android:visibility="invisible"
+ android:layout_width="300px" android:layout_height="300px"
+ android:background="#7Fffffff" android:layout_gravity="center" />
+
+ <Button android:id="@+id/Button01" android:text="@string/start"
+ style="@style/ButtonText" android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center_horizontal|bottom" />
+
+ <Button android:id="@+id/Button02" android:text="@string/retry"
+ style="@style/ButtonText" android:visibility="invisible"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center_horizontal|bottom" />
+
+ <TextView android:id="@+id/timer" android:text="@string/timer"
+ style="@style/timerText" android:visibility="invisible"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="top|right" android:background="#000000" />
</FrameLayout>
diff --git a/samples/JetBoy/src/com/example/android/jetboy/JetBoy.java b/samples/JetBoy/src/com/example/android/jetboy/JetBoy.java
index ac12d3c..88693af 100755
--- a/samples/JetBoy/src/com/example/android/jetboy/JetBoy.java
+++ b/samples/JetBoy/src/com/example/android/jetboy/JetBoy.java
@@ -25,7 +25,6 @@
import android.util.Log;
import android.view.KeyEvent;
import android.view.View;
-import android.view.Window;
import android.widget.Button;
import android.widget.TextView;
@@ -55,12 +54,8 @@
* @param savedInstanceState - The previous instance of this app
*/
public void onCreate(Bundle savedInstanceState) {
-
super.onCreate(savedInstanceState);
- // turn off the window's title bar
- requestWindowFeature(Window.FEATURE_NO_TITLE);
-
setContentView(R.layout.main);
// get handles to the JetView from XML and the JET thread.
@@ -91,9 +86,8 @@
* @param v The object which has been clicked
*/
public void onClick(View v) {
-
// this is the first screen
- if (mJetBoyThread.getGameState() == mJetBoyThread.STATE_START) {
+ if (mJetBoyThread.getGameState() == JetBoyThread.STATE_START) {
mButton.setText("PLAY!");
mTextView.setVisibility(View.VISIBLE);
@@ -102,7 +96,7 @@
}
// we have entered game play, now we about to start running
- else if (mJetBoyThread.getGameState() == mJetBoyThread.STATE_PLAY) {
+ else if (mJetBoyThread.getGameState() == JetBoyThread.STATE_PLAY) {
mButton.setVisibility(View.INVISIBLE);
mTextView.setVisibility(View.INVISIBLE);
mTimerView.setVisibility(View.VISIBLE);
diff --git a/samples/JetBoy/src/com/example/android/jetboy/JetBoyView.java b/samples/JetBoy/src/com/example/android/jetboy/JetBoyView.java
index 72142a9..c51f661 100755
--- a/samples/JetBoy/src/com/example/android/jetboy/JetBoyView.java
+++ b/samples/JetBoy/src/com/example/android/jetboy/JetBoyView.java
@@ -174,7 +174,6 @@
// in this game 80 is used for sending asteroid
// 82 is used as game time for 1/4 note beat.
private final String mSendEvent = "80";
-
private final String mTimerEvent = "82";
// used to track beat for synch of mute/unmute actions
@@ -1360,38 +1359,41 @@
holder.addCallback(this);
// create thread only; it's started in surfaceCreated()
- thread = new JetBoyThread(holder, context, new Handler() {
-
- public void handleMessage(Message m) {
-
- mTimerView.setText(m.getData().getString("text"));
-
- //ok so maybe it isn't really a "lose"
- //this bit was borrowed from lunar lander and then evolved.
- //too close to deadline to mess with now.
- if (m.getData().getString("STATE_LOSE") != null) {
- //mButtonRestart.setVisibility(View.VISIBLE);
- mButtonRetry.setVisibility(View.VISIBLE);
-
- mTimerView.setVisibility(View.INVISIBLE);
-
- mTextView.setVisibility(View.VISIBLE);
-
- Log.d(TAG, "the total was " + mHitTotal);
-
- if (mHitTotal >= mSuccessThreshold) {
- mTextView.setText(R.string.winText);
- } else {
- mTextView.setText("Sorry, You Lose! You got " + mHitTotal
- + ". You need 50 to win.");
+ // except if used in the layout editor.
+ if (isInEditMode() == false) {
+ thread = new JetBoyThread(holder, context, new Handler() {
+
+ public void handleMessage(Message m) {
+
+ mTimerView.setText(m.getData().getString("text"));
+
+ //ok so maybe it isn't really a "lose"
+ //this bit was borrowed from lunar lander and then evolved.
+ //too close to deadline to mess with now.
+ if (m.getData().getString("STATE_LOSE") != null) {
+ //mButtonRestart.setVisibility(View.VISIBLE);
+ mButtonRetry.setVisibility(View.VISIBLE);
+
+ mTimerView.setVisibility(View.INVISIBLE);
+
+ mTextView.setVisibility(View.VISIBLE);
+
+ Log.d(TAG, "the total was " + mHitTotal);
+
+ if (mHitTotal >= mSuccessThreshold) {
+ mTextView.setText(R.string.winText);
+ } else {
+ mTextView.setText("Sorry, You Lose! You got " + mHitTotal
+ + ". You need 50 to win.");
+ }
+
+ mTimerView.setText("1:12");
+ mTextView.setHeight(20);
+
}
-
- mTimerView.setText("1:12");
- mTextView.setHeight(20);
-
- }
- }//end handle msg
- });
+ }//end handle msg
+ });
+ }
setFocusable(true); // make sure we get key events