diff options
| author | Dianne Hackborn <hackbod@google.com> | 2009-07-24 17:14:15 -0700 |
|---|---|---|
| committer | Dianne Hackborn <hackbod@google.com> | 2009-07-24 17:30:00 -0700 |
| commit | 676902e287228d73af6b8f4e0a69601c268a19b8 (patch) | |
| tree | b71516b92e21c2892ddba33f86c929118488778b /samples/Home | |
| parent | ed0b01a71788ad366fc731f38c591937f8f92251 (diff) | |
| download | android_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.java | 30 |
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); |
