X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/blobdiff_plain/3816ceed7f6475a35bcf08cf8f60bef79fa800de..d5625e6cccd85dfb0f9e66a2da8f844341c96e2b:/src/com/owncloud/android/ui/preview/PreviewImageActivity.java diff --git a/src/com/owncloud/android/ui/preview/PreviewImageActivity.java b/src/com/owncloud/android/ui/preview/PreviewImageActivity.java index 86df4e33..c06f341f 100644 --- a/src/com/owncloud/android/ui/preview/PreviewImageActivity.java +++ b/src/com/owncloud/android/ui/preview/PreviewImageActivity.java @@ -24,6 +24,7 @@ import android.content.Intent; import android.content.IntentFilter; import android.content.ServiceConnection; import android.content.SharedPreferences; +import android.os.Build; import android.os.Bundle; import android.os.Handler; import android.os.IBinder; @@ -48,6 +49,7 @@ import com.owncloud.android.lib.common.operations.OnRemoteOperationListener; import com.owncloud.android.lib.common.operations.RemoteOperation; import com.owncloud.android.lib.common.operations.RemoteOperationResult; import com.owncloud.android.lib.common.operations.RemoteOperationResult.ResultCode; +import com.owncloud.android.lib.common.utils.Log_OC; import com.owncloud.android.operations.CreateShareOperation; import com.owncloud.android.operations.RemoveFileOperation; import com.owncloud.android.operations.UnshareLinkOperation; @@ -56,7 +58,6 @@ import com.owncloud.android.ui.activity.FileDisplayActivity; import com.owncloud.android.ui.activity.PinCodeActivity; import com.owncloud.android.ui.fragment.FileFragment; import com.owncloud.android.utils.DisplayUtils; -import com.owncloud.android.utils.Log_OC; /** @@ -83,8 +84,6 @@ ViewPager.OnPageChangeListener, OnRemoteOperationListener { private boolean mRequestWaitingForBinder; private DownloadFinishReceiver mDownloadFinishReceiver; - - //private boolean mFullScreen; private View mFullScreenAnchorView; @@ -104,18 +103,20 @@ ViewPager.OnPageChangeListener, OnRemoteOperationListener { // PIN CODE request if (getIntent().getExtras() != null && savedInstanceState == null && fromNotification()) { requestPinCode(); - } + } + + // Make sure we're running on Honeycomb or higher to use FullScreen and + // Immersive Mode + if (isHoneycombOrHigher()) { - //mFullScreen = true; - mFullScreenAnchorView = getWindow().getDecorView(); - // to keep our UI controls visibility in line with system bars visibility - mFullScreenAnchorView.setOnSystemUiVisibilityChangeListener( - new View.OnSystemUiVisibilityChangeListener() { + mFullScreenAnchorView = getWindow().getDecorView(); + // to keep our UI controls visibility in line with system bars + // visibility + mFullScreenAnchorView.setOnSystemUiVisibilityChangeListener(new View.OnSystemUiVisibilityChangeListener() { @SuppressLint("InlinedApi") - @Override - public void onSystemUiVisibilityChange(int flags) { - boolean visible = (flags & - View.SYSTEM_UI_FLAG_HIDE_NAVIGATION) == 0; + @Override + public void onSystemUiVisibilityChange(int flags) { + boolean visible = (flags & View.SYSTEM_UI_FLAG_HIDE_NAVIGATION) == 0; ActionBar actionBar = getSupportActionBar(); if (visible) { actionBar.show(); @@ -123,8 +124,9 @@ ViewPager.OnPageChangeListener, OnRemoteOperationListener { actionBar.hide(); } } - } - ); + }); + + } if (savedInstanceState != null) { mRequestWaitingForBinder = savedInstanceState.getBoolean(KEY_WAITING_FOR_BINDER); @@ -169,7 +171,9 @@ ViewPager.OnPageChangeListener, OnRemoteOperationListener { Handler mHideSystemUiHandler = new Handler() { @Override public void handleMessage(Message msg) { - hideSystemUI(mFullScreenAnchorView); + if (isHoneycombOrHigher()) { + hideSystemUI(mFullScreenAnchorView); + } getSupportActionBar().hide(); } }; @@ -186,11 +190,8 @@ ViewPager.OnPageChangeListener, OnRemoteOperationListener { super.onWindowFocusChanged(hasFocus); // When the window loses focus (e.g. the action overflow is shown), - // cancel any pending hide action. When the window gains focus, - // hide the system UI. - if (hasFocus) { - delayedHide(INITIAL_HIDE_DELAY); - } else { + // cancel any pending hide action. + if (!hasFocus) { mHideSystemUiHandler.removeMessages(0); } } @@ -319,7 +320,7 @@ ViewPager.OnPageChangeListener, OnRemoteOperationListener { @Override protected void onResume() { super.onResume(); - //Log.e(TAG, "ACTIVITY, ONRESUME"); + //Log_OC.e(TAG, "ACTIVITY, ONRESUME"); mDownloadFinishReceiver = new DownloadFinishReceiver(); IntentFilter filter = new IntentFilter(FileDownloader.getDownloadFinishMessage()); @@ -329,7 +330,7 @@ ViewPager.OnPageChangeListener, OnRemoteOperationListener { @Override protected void onPostResume() { - //Log.e(TAG, "ACTIVITY, ONPOSTRESUME"); + //Log_OC.e(TAG, "ACTIVITY, ONPOSTRESUME"); super.onPostResume(); } @@ -460,30 +461,34 @@ ViewPager.OnPageChangeListener, OnRemoteOperationListener { @SuppressLint("InlinedApi") public void toggleFullScreen() { - //ActionBar actionBar = getSupportActionBar(); - - boolean visible = ( - mFullScreenAnchorView.getSystemUiVisibility() - & View.SYSTEM_UI_FLAG_HIDE_NAVIGATION - ) == 0; + + if (isHoneycombOrHigher()) { - if (visible) { - hideSystemUI(mFullScreenAnchorView); - //actionBar.hide(); // propagated through OnSystemUiVisibilityChangeListener() - } else { - showSystemUI(mFullScreenAnchorView); - //actionBar.show(); // propagated through OnSystemUiVisibilityChangeListener() - } - /* - if (mFullScreen) { - actionBar.show(); - + boolean visible = (mFullScreenAnchorView.getSystemUiVisibility() + & View.SYSTEM_UI_FLAG_HIDE_NAVIGATION) == 0; + + if (visible) { + hideSystemUI(mFullScreenAnchorView); + // actionBar.hide(); // propagated through + // OnSystemUiVisibilityChangeListener() + } else { + showSystemUI(mFullScreenAnchorView); + // actionBar.show(); // propagated through + // OnSystemUiVisibilityChangeListener() + } + } else { - actionBar.hide(); - + + ActionBar actionBar = getSupportActionBar(); + if (!actionBar.isShowing()) { + actionBar.show(); + + } else { + actionBar.hide(); + + } + } - mFullScreen = !mFullScreen; - */ } @Override @@ -566,7 +571,17 @@ ViewPager.OnPageChangeListener, OnRemoteOperationListener { | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION // draw full window; Android >= 4.1 ); } - - + + /** + * Checks if OS version is Honeycomb one or higher + * + * @return boolean + */ + private boolean isHoneycombOrHigher() { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) { + return true; + } + return false; + } }