X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/blobdiff_plain/25718e7992ac273156f58d679ffc2cf3dad0c3c3..dde5e5575cd7358ebed3390ca384e78bf9e3d17b:/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 216dff5b..5cbacfcf 100644 --- a/src/com/owncloud/android/ui/preview/PreviewImageActivity.java +++ b/src/com/owncloud/android/ui/preview/PreviewImageActivity.java @@ -8,7 +8,7 @@ * it under the terms of the GNU General Public License version 2, * as published by the Free Software Foundation. * - * This program is distributed in the hope that it will be useful, + * This program is distributed in the hd that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. @@ -26,12 +26,15 @@ import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.content.ServiceConnection; +import android.graphics.drawable.ColorDrawable; import android.os.Build; import android.os.Bundle; import android.os.Handler; import android.os.IBinder; import android.os.Message; +import android.support.v4.view.GravityCompat; import android.support.v4.view.ViewPager; +import android.support.v4.widget.DrawerLayout; import android.support.v7.app.ActionBar; import android.view.MenuItem; import android.view.View; @@ -53,6 +56,7 @@ import com.owncloud.android.lib.common.operations.RemoteOperationResult.ResultCo 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.SynchronizeFileOperation; import com.owncloud.android.operations.UnshareLinkOperation; import com.owncloud.android.ui.activity.FileActivity; import com.owncloud.android.ui.activity.FileDisplayActivity; @@ -63,9 +67,9 @@ import com.owncloud.android.utils.DisplayUtils; /** * Holds a swiping galley where image files contained in an ownCloud directory are shown */ -public class PreviewImageActivity extends FileActivity implements - FileFragment.ContainerActivity, -ViewPager.OnPageChangeListener, OnRemoteOperationListener { +public class PreviewImageActivity extends FileActivity implements + FileFragment.ContainerActivity, + ViewPager.OnPageChangeListener, OnRemoteOperationListener { public static final int DIALOG_SHORT_WAIT = 0; @@ -90,16 +94,21 @@ ViewPager.OnPageChangeListener, OnRemoteOperationListener { @Override protected void onCreate(Bundle savedInstanceState) { + requestWindowFeature(Window.FEATURE_ACTION_BAR_OVERLAY); + super.onCreate(savedInstanceState); - requestWindowFeature(Window.FEATURE_ACTION_BAR_OVERLAY); setContentView(R.layout.preview_image_activity); - + + // Navigation Drawer + initDrawer(); + + // ActionBar ActionBar actionBar = getSupportActionBar(); - actionBar.setIcon(DisplayUtils.getSeasonalIconId()); - actionBar.setDisplayHomeAsUpEnabled(true); + updateActionBarTitleAndHomeButton(null); actionBar.hide(); + // Make sure we're running on Honeycomb or higher to use FullScreen and // Immersive Mode if (isHoneycombOrHigher()) { @@ -107,7 +116,8 @@ ViewPager.OnPageChangeListener, OnRemoteOperationListener { mFullScreenAnchorView = getWindow().getDecorView(); // to keep our UI controls visibility in line with system bars // visibility - mFullScreenAnchorView.setOnSystemUiVisibilityChangeListener(new View.OnSystemUiVisibilityChangeListener() { + mFullScreenAnchorView.setOnSystemUiVisibilityChangeListener + (new View.OnSystemUiVisibilityChangeListener() { @SuppressLint("InlinedApi") @Override public void onSystemUiVisibilityChange(int flags) { @@ -115,12 +125,17 @@ ViewPager.OnPageChangeListener, OnRemoteOperationListener { ActionBar actionBar = getSupportActionBar(); if (visible) { actionBar.show(); + mDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_UNLOCKED); } else { actionBar.hide(); + mDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED); } } }); + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { + getWindow().setStatusBarColor(getResources().getColor(R.color.owncloud_blue_dark_transparent)); + } } if (savedInstanceState != null) { @@ -140,8 +155,11 @@ ViewPager.OnPageChangeListener, OnRemoteOperationListener { // should not be necessary parentFolder = getStorageManager().getFileByPath(OCFile.ROOT_PATH); } + + // TODO Enable when "On Device" is recovered ? mPreviewImagePagerAdapter = new PreviewImagePagerAdapter(getSupportFragmentManager(), - parentFolder, getAccount(), getStorageManager()); + parentFolder, getAccount(), getStorageManager()/*, MainApp.getOnlyOnDevice()*/); + mViewPager = (ExtendedViewPager) findViewById(R.id.fragmentPager); int position = mHasSavedPosition ? mSavedPosition : mPreviewImagePagerAdapter.getFilePosition(getFile()); @@ -220,6 +238,9 @@ ViewPager.OnPageChangeListener, OnRemoteOperationListener { } else if (operation instanceof RemoveFileOperation) { finish(); + } else if (operation instanceof SynchronizeFileOperation) { + onSynchronizeFileOperationFinish((SynchronizeFileOperation) operation, result); + } } @@ -249,6 +270,14 @@ ViewPager.OnPageChangeListener, OnRemoteOperationListener { } } + private void onSynchronizeFileOperationFinish(SynchronizeFileOperation operation, + RemoteOperationResult result) { + if (result.isSuccess()) { + invalidateOptionsMenu(); + } + + } + @Override protected ServiceConnection newTransferenceServiceConnection() { return new PreviewImageServiceConnection(); @@ -312,7 +341,11 @@ ViewPager.OnPageChangeListener, OnRemoteOperationListener { switch(item.getItemId()){ case android.R.id.home: - backToDisplayActivity(); + if (mDrawerLayout.isDrawerOpen(GravityCompat.START)) { + mDrawerLayout.closeDrawer(GravityCompat.START); + } else { + backToDisplayActivity(); + } returnValue = true; break; default: @@ -396,6 +429,7 @@ ViewPager.OnPageChangeListener, OnRemoteOperationListener { } else { OCFile currentFile = mPreviewImagePagerAdapter.getFileAt(position); getSupportActionBar().setTitle(currentFile.getFileName()); + mDrawerToggle.setDrawerIndicatorEnabled(false); if (!currentFile.isDown()) { if (!mPreviewImagePagerAdapter.pendingErrorAt(position)) { requestForDownload(currentFile); @@ -500,9 +534,11 @@ ViewPager.OnPageChangeListener, OnRemoteOperationListener { ActionBar actionBar = getSupportActionBar(); if (!actionBar.isShowing()) { actionBar.show(); + mDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_UNLOCKED); } else { actionBar.hide(); + mDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED); } @@ -577,7 +613,7 @@ ViewPager.OnPageChangeListener, OnRemoteOperationListener { /** * Checks if OS version is Honeycomb one or higher - * + * * @return boolean */ private boolean isHoneycombOrHigher() { @@ -586,4 +622,10 @@ ViewPager.OnPageChangeListener, OnRemoteOperationListener { } return false; } + + @Override + public void allFilesOption(){ + backToDisplayActivity(); + super.allFilesOption(); + } }