diff options
author | Owen Lin <owenlin@google.com> | 2012-06-20 16:54:24 +0800 |
---|---|---|
committer | Owen Lin <owenlin@google.com> | 2012-06-22 12:32:04 +0800 |
commit | 5d095edd840841440b029b4adc6e4fc2261d9bd6 (patch) | |
tree | 3a00c30faf947c3584efe6481e5f31367654f134 /src/com/android | |
parent | 13dd0735edee26b5699cbf2abedcebec32e962ca (diff) | |
download | android_packages_apps_Camera2-5d095edd840841440b029b4adc6e4fc2261d9bd6.tar.gz android_packages_apps_Camera2-5d095edd840841440b029b4adc6e4fc2261d9bd6.tar.bz2 android_packages_apps_Camera2-5d095edd840841440b029b4adc6e4fc2261d9bd6.zip |
Guard the use of SYSTEM_UI_FLAG_XXXX with TargetApi
bug: 6698718
Change-Id: I6962f0128ce2bd57658b7f3b77d2bc150eff1f60
Diffstat (limited to 'src/com/android')
-rw-r--r-- | src/com/android/gallery3d/app/MovieActivity.java | 18 | ||||
-rw-r--r-- | src/com/android/gallery3d/app/MoviePlayer.java | 66 | ||||
-rw-r--r-- | src/com/android/gallery3d/ui/GLRootView.java | 16 |
3 files changed, 65 insertions, 35 deletions
diff --git a/src/com/android/gallery3d/app/MovieActivity.java b/src/com/android/gallery3d/app/MovieActivity.java index 78fe1ee78..5f4db1d13 100644 --- a/src/com/android/gallery3d/app/MovieActivity.java +++ b/src/com/android/gallery3d/app/MovieActivity.java @@ -16,6 +16,7 @@ package com.android.gallery3d.app; +import android.annotation.TargetApi; import android.app.ActionBar; import android.app.Activity; import android.content.AsyncQueryHandler; @@ -27,6 +28,7 @@ import android.graphics.Bitmap; import android.graphics.drawable.BitmapDrawable; import android.media.AudioManager; import android.net.Uri; +import android.os.Build; import android.os.Bundle; import android.provider.MediaStore; import android.provider.OpenableColumns; @@ -39,6 +41,7 @@ import android.view.WindowManager; import android.widget.ShareActionProvider; import com.android.gallery3d.R; +import com.android.gallery3d.common.ApiHelper; import com.android.gallery3d.common.Utils; /** @@ -59,6 +62,15 @@ public class MovieActivity extends Activity { private Uri mUri; private boolean mTreatUpAsBack; + @TargetApi(Build.VERSION_CODES.JELLY_BEAN) + private void setSystemUiVisibility(View rootView) { + if (ApiHelper.HAS_VIEW_SYSTEM_UI_FLAG_LAYOUT_STABLE) { + rootView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_STABLE + | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN + | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION); + } + } + @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -68,9 +80,9 @@ public class MovieActivity extends Activity { setContentView(R.layout.movie_view); View rootView = findViewById(R.id.movie_view_root); - rootView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_STABLE - | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN - | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION); + + setSystemUiVisibility(rootView); + Intent intent = getIntent(); initializeActionBar(intent); mFinishOnCompletion = intent.getBooleanExtra( diff --git a/src/com/android/gallery3d/app/MoviePlayer.java b/src/com/android/gallery3d/app/MoviePlayer.java index ea12e4b7e..c0f0ce739 100644 --- a/src/com/android/gallery3d/app/MoviePlayer.java +++ b/src/com/android/gallery3d/app/MoviePlayer.java @@ -16,6 +16,7 @@ package com.android.gallery3d.app; +import android.annotation.TargetApi; import android.app.AlertDialog; import android.content.BroadcastReceiver; import android.content.Context; @@ -28,6 +29,7 @@ import android.graphics.Color; import android.media.AudioManager; import android.media.MediaPlayer; import android.net.Uri; +import android.os.Build; import android.os.Bundle; import android.os.Handler; import android.view.KeyEvent; @@ -37,6 +39,7 @@ import android.view.ViewGroup; import android.widget.VideoView; import com.android.gallery3d.R; +import com.android.gallery3d.common.ApiHelper; import com.android.gallery3d.common.BlobCache; import com.android.gallery3d.util.CacheManager; import com.android.gallery3d.util.GalleryUtils; @@ -149,6 +152,37 @@ public class MoviePlayer implements } }, BLACK_TIMEOUT); + setOnSystemUiVisibilityChangeListener(); + // Hide system UI by default + showSystemUi(false); + + mAudioBecomingNoisyReceiver = new AudioBecomingNoisyReceiver(); + mAudioBecomingNoisyReceiver.register(); + + Intent i = new Intent(SERVICECMD); + i.putExtra(CMDNAME, CMDPAUSE); + movieActivity.sendBroadcast(i); + + if (savedInstance != null) { // this is a resumed activity + mVideoPosition = savedInstance.getInt(KEY_VIDEO_POSITION, 0); + mResumeableTime = savedInstance.getLong(KEY_RESUMEABLE_TIME, Long.MAX_VALUE); + mVideoView.start(); + mVideoView.suspend(); + mHasPaused = true; + } else { + final Integer bookmark = mBookmarker.getBookmark(mUri); + if (bookmark != null) { + showResumeDialog(movieActivity, bookmark); + } else { + startVideo(); + } + } + } + + @TargetApi(Build.VERSION_CODES.JELLY_BEAN) + private void setOnSystemUiVisibilityChangeListener() { + if (!ApiHelper.HAS_VIEW_SYSTEM_UI_FLAG_HIDE_NAVIGATION) return; + // When the user touches the screen or uses some hard key, the framework // will change system ui visibility from invisible to visible. We show // the media control and enable system UI (e.g. ActionBar) to be visible at this point @@ -177,37 +211,15 @@ public class MoviePlayer implements } } }); - - // Hide system UI by default - showSystemUi(false); - - mAudioBecomingNoisyReceiver = new AudioBecomingNoisyReceiver(); - mAudioBecomingNoisyReceiver.register(); - - Intent i = new Intent(SERVICECMD); - i.putExtra(CMDNAME, CMDPAUSE); - movieActivity.sendBroadcast(i); - - if (savedInstance != null) { // this is a resumed activity - mVideoPosition = savedInstance.getInt(KEY_VIDEO_POSITION, 0); - mResumeableTime = savedInstance.getLong(KEY_RESUMEABLE_TIME, Long.MAX_VALUE); - mVideoView.start(); - mVideoView.suspend(); - mHasPaused = true; - } else { - final Integer bookmark = mBookmarker.getBookmark(mUri); - if (bookmark != null) { - showResumeDialog(movieActivity, bookmark); - } else { - startVideo(); - } - } } + @TargetApi(Build.VERSION_CODES.JELLY_BEAN) private void showSystemUi(boolean visible) { + if (!ApiHelper.HAS_VIEW_SYSTEM_UI_FLAG_LAYOUT_STABLE) return; + int flag = View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION - | View.SYSTEM_UI_FLAG_LAYOUT_STABLE; + | View.SYSTEM_UI_FLAG_LAYOUT_STABLE; if (!visible) { flag |= View.SYSTEM_UI_FLAG_LOW_PROFILE | View.SYSTEM_UI_FLAG_FULLSCREEN | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION; @@ -497,7 +509,7 @@ class Bookmarker { DataInputStream dis = new DataInputStream( new ByteArrayInputStream(data)); - String uriString = dis.readUTF(dis); + String uriString = DataInputStream.readUTF(dis); int bookmark = dis.readInt(); int duration = dis.readInt(); diff --git a/src/com/android/gallery3d/ui/GLRootView.java b/src/com/android/gallery3d/ui/GLRootView.java index 99ed8cb42..2068520aa 100644 --- a/src/com/android/gallery3d/ui/GLRootView.java +++ b/src/com/android/gallery3d/ui/GLRootView.java @@ -16,10 +16,12 @@ package com.android.gallery3d.ui; +import android.annotation.TargetApi; import android.content.Context; import android.graphics.Matrix; import android.graphics.PixelFormat; import android.opengl.GLSurfaceView; +import android.os.Build; import android.os.Process; import android.os.SystemClock; import android.util.AttributeSet; @@ -29,6 +31,7 @@ import android.view.View; import com.android.gallery3d.R; import com.android.gallery3d.anim.CanvasAnimation; +import com.android.gallery3d.common.ApiHelper; import com.android.gallery3d.common.Utils; import com.android.gallery3d.util.GalleryUtils; import com.android.gallery3d.util.Profile; @@ -536,12 +539,15 @@ public class GLRootView extends GLSurfaceView } @Override + @TargetApi(Build.VERSION_CODES.JELLY_BEAN) public void setLightsOutMode(boolean enabled) { - int flags = enabled - ? SYSTEM_UI_FLAG_LOW_PROFILE - | SYSTEM_UI_FLAG_FULLSCREEN - | SYSTEM_UI_FLAG_LAYOUT_STABLE - : 0; + int flags = 0; + if (enabled) { + flags = SYSTEM_UI_FLAG_LOW_PROFILE; + if (ApiHelper.HAS_VIEW_SYSTEM_UI_FLAG_LAYOUT_STABLE) { + flags |= (SYSTEM_UI_FLAG_FULLSCREEN | SYSTEM_UI_FLAG_LAYOUT_STABLE); + } + } setSystemUiVisibility(flags); } |