diff options
author | Daniel Sandler <dsandler@google.com> | 2011-07-22 12:34:33 -0400 |
---|---|---|
committer | Daniel Sandler <dsandler@google.com> | 2011-07-28 15:18:32 -0400 |
commit | 60ee25643e0a7b8841063a4e97b0f18c51807e91 (patch) | |
tree | f950442b0657ea89b9e4fb93361a612dd36dab29 /tests/StatusBar | |
parent | 2043b01b207aae3458da395bc6d501d76e59425c (diff) | |
download | frameworks_base-60ee25643e0a7b8841063a4e97b0f18c51807e91.zip frameworks_base-60ee25643e0a7b8841063a4e97b0f18c51807e91.tar.gz frameworks_base-60ee25643e0a7b8841063a4e97b0f18c51807e91.tar.bz2 |
The fullest of fullscreen modes.
View.setSystemUiVisibility() now properly accepts a
bitfield, including:
* SYSTEM_UI_FLAG_LOW_PROFILE: "lights out mode"
(previously known, erroneously, as STATUS_BAR_HIDDEN)
* SYSTEM_UI_FLAG_HIDE_NAVIGATION: for when you need every
single pixel on a device that also has a navigation bar
These flags are painstakingly aggregated across the entire
view hierarchy and carefully delivered to the status bar
service, which in turn gently passes them along to the bar
implementation.
To really get access to the whole screen, you need to use
HIDE_NAVIGATION in conjunction with FLAG_FULLSCREEN and
FLAG_LAYOUT_IN_SCREEN. See development/samples/Overscan for
an example of how to do this.
Change-Id: I5fbfe009d9ceebbbf71db73f14a7008ea7c1d4da
Diffstat (limited to 'tests/StatusBar')
-rw-r--r-- | tests/StatusBar/src/com/android/statusbartest/StatusBarTest.java | 52 |
1 files changed, 37 insertions, 15 deletions
diff --git a/tests/StatusBar/src/com/android/statusbartest/StatusBarTest.java b/tests/StatusBar/src/com/android/statusbartest/StatusBarTest.java index e75a079..da5f488 100644 --- a/tests/StatusBar/src/com/android/statusbartest/StatusBarTest.java +++ b/tests/StatusBar/src/com/android/statusbartest/StatusBarTest.java @@ -48,6 +48,8 @@ public class StatusBarTest extends TestActivity StatusBarManager mStatusBarManager; NotificationManager mNotificationManager; Handler mHandler = new Handler(); + int mUiVisibility = 0; + View mListView; View.OnSystemUiVisibilityChangeListener mOnSystemUiVisibilityChangeListener = new View.OnSystemUiVisibilityChangeListener() { @@ -69,32 +71,52 @@ public class StatusBarTest extends TestActivity return mTests; } + @Override + public void onResume() { + super.onResume(); + + mListView = findViewById(android.R.id.list); + mListView.setOnSystemUiVisibilityChangeListener(mOnSystemUiVisibilityChangeListener); + } + private Test[] mTests = new Test[] { - new Test("DISABLE_NAVIGATION") { + new Test("toggle LOW_PROFILE (lights out)") { public void run() { - View v = findViewById(android.R.id.list); - v.setSystemUiVisibility(View.STATUS_BAR_DISABLE_NAVIGATION); + if (0 != (mUiVisibility & View.SYSTEM_UI_FLAG_LOW_PROFILE)) { + mUiVisibility &= ~View.SYSTEM_UI_FLAG_LOW_PROFILE; + } else { + mUiVisibility |= View.SYSTEM_UI_FLAG_LOW_PROFILE; + } + mListView.setSystemUiVisibility(mUiVisibility); } }, - new Test("STATUS_BAR_HIDDEN") { + new Test("toggle HIDE_NAVIGATION") { public void run() { - View v = findViewById(android.R.id.list); - v.setOnSystemUiVisibilityChangeListener(mOnSystemUiVisibilityChangeListener); - v.setSystemUiVisibility(View.STATUS_BAR_HIDDEN); + if (0 != (mUiVisibility & View.SYSTEM_UI_FLAG_HIDE_NAVIGATION)) { + mUiVisibility &= ~View.SYSTEM_UI_FLAG_HIDE_NAVIGATION; + } else { + mUiVisibility |= View.SYSTEM_UI_FLAG_HIDE_NAVIGATION; + } + mListView.setSystemUiVisibility(mUiVisibility); + } }, - new Test("STATUS_BAR_VISIBLE") { + new Test("clear SYSTEM_UI_FLAGs") { public void run() { - View v = findViewById(android.R.id.list); - v.setOnSystemUiVisibilityChangeListener(mOnSystemUiVisibilityChangeListener); - v.setSystemUiVisibility(View.STATUS_BAR_VISIBLE); + mUiVisibility = 0; + mListView.setSystemUiVisibility(mUiVisibility); } }, - new Test("no setSystemUiVisibility") { +// new Test("no setSystemUiVisibility") { +// public void run() { +// View v = findViewById(android.R.id.list); +// v.setOnSystemUiVisibilityChangeListener(null); +// v.setSystemUiVisibility(View.SYSTEM_UI_FLAG_VISIBLE); +// } +// }, + new Test("DISABLE_NAVIGATION") { public void run() { - View v = findViewById(android.R.id.list); - v.setOnSystemUiVisibilityChangeListener(null); - v.setSystemUiVisibility(View.STATUS_BAR_VISIBLE); + mListView.setSystemUiVisibility(View.STATUS_BAR_DISABLE_NAVIGATION); } }, new Test("Double Remove") { |