summaryrefslogtreecommitdiffstats
path: root/samples/Home
diff options
context:
space:
mode:
authorDianne Hackborn <hackbod@google.com>2009-07-24 17:14:15 -0700
committerDianne Hackborn <hackbod@google.com>2009-07-24 17:30:00 -0700
commit676902e287228d73af6b8f4e0a69601c268a19b8 (patch)
treeb71516b92e21c2892ddba33f86c929118488778b /samples/Home
parented0b01a71788ad366fc731f38c591937f8f92251 (diff)
downloadandroid_development-676902e287228d73af6b8f4e0a69601c268a19b8.tar.gz
android_development-676902e287228d73af6b8f4e0a69601c268a19b8.tar.bz2
android_development-676902e287228d73af6b8f4e0a69601c268a19b8.zip
Deal with canceled keys.
Diffstat (limited to 'samples/Home')
-rw-r--r--samples/Home/src/com/example/android/home/Home.java30
1 files changed, 29 insertions, 1 deletions
diff --git a/samples/Home/src/com/example/android/home/Home.java b/samples/Home/src/com/example/android/home/Home.java
index c23f7b85f..7cae87ece 100644
--- a/samples/Home/src/com/example/android/home/Home.java
+++ b/samples/Home/src/com/example/android/home/Home.java
@@ -110,6 +110,9 @@ public class Home extends Activity {
private boolean mBlockAnimation;
+ private boolean mHomeDown;
+ private boolean mBackDown;
+
private View mShowApplications;
private CheckBox mShowApplicationsCheck;
@@ -396,19 +399,44 @@ public class Home extends Activity {
}
@Override
+ public void onWindowFocusChanged(boolean hasFocus) {
+ super.onWindowFocusChanged(hasFocus);
+ if (!hasFocus) {
+ mBackDown = mHomeDown = false;
+ }
+ }
+
+ @Override
public boolean dispatchKeyEvent(KeyEvent event) {
if (event.getAction() == KeyEvent.ACTION_DOWN) {
switch (event.getKeyCode()) {
case KeyEvent.KEYCODE_BACK:
+ mBackDown = true;
return true;
case KeyEvent.KEYCODE_HOME:
+ mHomeDown = true;
+ return true;
+ }
+ } else if (event.getAction() == KeyEvent.ACTION_UP) {
+ switch (event.getKeyCode()) {
+ case KeyEvent.KEYCODE_BACK:
+ if (!event.isCanceled()) {
+ // Do BACK behavior.
+ }
+ mBackDown = true;
+ return true;
+ case KeyEvent.KEYCODE_HOME:
+ if (!event.isCanceled()) {
+ // Do HOME behavior.
+ }
+ mHomeDown = true;
return true;
}
}
return super.dispatchKeyEvent(event);
}
-
+
@Override
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);