package com.owncloud.android.ui.activity;
import android.accounts.Account;
-import android.app.Activity;
import android.app.Dialog;
import android.app.ProgressDialog;
import android.content.BroadcastReceiver;
private FileDataStorageManager mStorageManager;
private DownloadFinishReceiver mDownloadFinishReceiver;
+
+ private Configuration mNewConfigurationChangeToApplyOnStart;
+
+ private boolean mStarted;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
+ mStarted = false;
mFile = getIntent().getParcelableExtra(FileDetailFragment.EXTRA_FILE);
mAccount = getIntent().getParcelableExtra(FileDetailFragment.EXTRA_ACCOUNT);
ft.commit();
}
+ @Override
+ public void onActivityResult (int requestCode, int resultCode, Intent data) {
+ Log_OC.e(TAG, "onActivityResult");
+ super.onActivityResult(requestCode, resultCode, data);
+ }
@Override
public void onConfigurationChanged (Configuration newConfig) {
super.onConfigurationChanged(newConfig);
+ if (mStarted) {
+ checkConfigurationChange(newConfig);
+ } else {
+ mNewConfigurationChangeToApplyOnStart = newConfig;
+ }
+ }
+
+
+ @Override
+ protected void onSaveInstanceState(Bundle outState) {
+ super.onSaveInstanceState(outState);
+ outState.putBoolean(KEY_WAITING_TO_PREVIEW, mWaitingToPreview);
+ }
+
+
+ @Override
+ public void onStart() {
+ super.onStart();
+ Log_OC.e(TAG, "onStart");
+ if (mNewConfigurationChangeToApplyOnStart != null) {
+ checkConfigurationChange(mNewConfigurationChangeToApplyOnStart);
+ mNewConfigurationChangeToApplyOnStart = null;
+ }
+ mStarted = true;
+ }
+
+ private void checkConfigurationChange(Configuration newConfig) {
finish();
Intent intent = null;
if ((newConfig.screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK) >= Configuration.SCREENLAYOUT_SIZE_LARGE
}
startActivity(intent);
}
-
-
+
@Override
- protected void onSaveInstanceState(Bundle outState) {
- super.onSaveInstanceState(outState);
- outState.putBoolean(KEY_WAITING_TO_PREVIEW, mWaitingToPreview);
+ public void onStop() {
+ super.onStop();
+ Log_OC.e(TAG, "onStop");
+ mStarted = false;
}
-
-
@Override
public void onPause() {
super.onPause();
+ Log_OC.e(TAG, "onPause");
if (mDownloadFinishReceiver != null) {
unregisterReceiver(mDownloadFinishReceiver);
mDownloadFinishReceiver = null;
@Override
public void onResume() {
super.onResume();
+ Log_OC.e(TAG, "onResume");
// TODO this is probably unnecessary
Fragment fragment = getSupportFragmentManager().findFragmentByTag(FileDetailFragment.FTAG);
if (fragment != null && fragment instanceof FileDetailFragment) {
@Override
public void onDestroy() {
super.onDestroy();
+ Log_OC.e(TAG, "onDestroy");
if (mDownloadConnection != null) {
unbindService(mDownloadConnection);
mDownloadConnection = null;
private OCFile mWaitingToPreview;
private Handler mHandler;
+
+ private Configuration mNewConfigurationChangeToApplyOnStart;
+ private boolean mStarted;
@Override
public void onCreate(Bundle savedInstanceState) {
Log_OC.d(getClass().toString(), "onCreate() start");
super.onCreate(savedInstanceState);
+ mStarted = false;
/// Load of parameters from received intent
Account account = getIntent().getParcelableExtra(FileDetailFragment.EXTRA_ACCOUNT);
@Override
public void onConfigurationChanged (Configuration newConfig) {
super.onConfigurationChanged(newConfig);
-
- FileFragment fragment = (FileFragment) getSupportFragmentManager().findFragmentByTag(FileDetailFragment.FTAG);
- if (fragment != null
- && fragment.getFile() != null
- && (newConfig.screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK) >= Configuration.SCREENLAYOUT_SIZE_LARGE
- && newConfig.orientation != Configuration.ORIENTATION_LANDSCAPE) {
-
- onFileClick(fragment.getFile(), true);
- FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
- transaction.remove((Fragment)fragment);
- transaction.commit();
-
+ if (mStarted) {
+ checkConfigurationChange(newConfig);
} else {
- finish();
- Intent intent = new Intent(this, FileDisplayActivity.class);
- intent .putExtra(FileDetailFragment.EXTRA_FILE, mCurrentDir);
- intent .putExtra(FileDetailFragment.EXTRA_ACCOUNT, AccountUtils.getCurrentOwnCloudAccount(this));
- startActivity(intent);
+ mNewConfigurationChangeToApplyOnStart = newConfig;
}
}
@Override
+ public void onStart() {
+ super.onStart();
+ if (mNewConfigurationChangeToApplyOnStart != null) {
+ checkConfigurationChange(mNewConfigurationChangeToApplyOnStart);
+ mNewConfigurationChangeToApplyOnStart = null;
+ }
+ mStarted = true;
+ }
+
+ @Override
+ public void onStop() {
+ super.onStop();
+ mStarted = false;
+ }
+
+
+ private void checkConfigurationChange(Configuration newConfig) {
+ FileFragment fragment = (FileFragment) getSupportFragmentManager().findFragmentByTag(FileDetailFragment.FTAG);
+ if (fragment != null
+ && fragment.getFile() != null
+ && (newConfig.screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK) >= Configuration.SCREENLAYOUT_SIZE_LARGE
+ && newConfig.orientation != Configuration.ORIENTATION_LANDSCAPE) {
+
+ onFileClick(fragment.getFile(), true);
+ FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
+ transaction.remove((Fragment)fragment);
+ transaction.commit();
+
+ } else {
+ finish();
+ Intent intent = new Intent(this, FileDisplayActivity.class);
+ intent .putExtra(FileDetailFragment.EXTRA_FILE, mCurrentDir);
+ intent .putExtra(FileDetailFragment.EXTRA_ACCOUNT, AccountUtils.getCurrentOwnCloudAccount(this));
+ if (fragment != null && fragment.getFile() != null )
+ startActivity(intent);
+ }
+ }
+
+
+ @Override
public void onDestroy() {
super.onDestroy();
if (mDownloadConnection != null)
* Called, when the user selected something for uploading
*/
public void onActivityResult(int requestCode, int resultCode, Intent data) {
+ super.onActivityResult(requestCode, resultCode, data);
if (requestCode == ACTION_SELECT_CONTENT_FROM_APPS && (resultCode == RESULT_OK || resultCode == UploadFilesActivity.RESULT_OK_AND_MOVE)) {
requestSimpleUpload(data, resultCode);
import android.content.DialogInterface;
import android.content.Intent;
import android.content.ServiceConnection;
+import android.content.res.Configuration;
import android.media.MediaPlayer;
import android.media.MediaPlayer.OnCompletionListener;
import android.media.MediaPlayer.OnErrorListener;
import com.owncloud.android.ui.fragment.FileDetailFragment;
import com.owncloud.android.ui.fragment.FileFragment;
+import com.owncloud.android.Log_OC;
import com.owncloud.android.R;
import eu.alefzero.webdav.WebdavClient;
import eu.alefzero.webdav.WebdavUtils;
private MediaServiceConnection mMediaServiceConnection = null;
private VideoHelper mVideoHelper;
private boolean mAutoplay;
+ public boolean mPrepared;
private static final String TAG = PreviewMediaFragment.class.getSimpleName();
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
super.onCreateView(inflater, container, savedInstanceState);
+ Log_OC.e(TAG, "onCreateView");
+
mView = inflater.inflate(R.layout.file_preview, container, false);
@Override
public void onAttach(Activity activity) {
super.onAttach(activity);
+ Log_OC.e(TAG, "onAttach");
+
if (!(activity instanceof FileFragment.ContainerActivity))
throw new ClassCastException(activity.toString() + " must implement " + FileFragment.ContainerActivity.class.getSimpleName());
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
+ Log_OC.e(TAG, "onActivityCreated");
mStorageManager = new FileDataStorageManager(mAccount, getActivity().getApplicationContext().getContentResolver());
if (savedInstanceState != null) {
@Override
public void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
+ Log_OC.e(TAG, "onSaveInstanceState");
+
outState.putParcelable(PreviewMediaFragment.EXTRA_FILE, mFile);
outState.putParcelable(PreviewMediaFragment.EXTRA_ACCOUNT, mAccount);
@Override
public void onStart() {
super.onStart();
+ Log_OC.e(TAG, "onStart");
if (mFile != null) {
if (mFile.isAudio()) {
}
mMediaController.setEnabled(true);
mMediaController.updatePausePlay();
+ mPrepared = true;
}
@Override
+ public void onPause() {
+ super.onPause();
+ Log_OC.e(TAG, "onPause");
+ }
+
+ @Override
+ public void onResume() {
+ super.onResume();
+ Log_OC.e(TAG, "onResume");
+ }
+
+ @Override
+ public void onDestroy() {
+ super.onDestroy();
+ Log_OC.e(TAG, "onDestroy");
+ }
+
+ @Override
public void onStop() {
+ Log_OC.e(TAG, "onStop");
super.onStop();
-
+
+ mPrepared = false;
if (mMediaServiceConnection != null) {
Log.d(TAG, "Unbinding from MediaService ...");
if (mMediaServiceBinder != null && mMediaController != null) {
startActivityForResult(i, 0);
}
+ @Override
+ public void onConfigurationChanged (Configuration newConfig) {
+ Log_OC.e(TAG, "onConfigurationChanged " + this);
+ }
@Override
public void onActivityResult (int requestCode, int resultCode, Intent data) {
+ Log_OC.e(TAG, "onActivityResult " + this);
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == Activity.RESULT_OK) {
mSavedPlaybackPosition = data.getExtras().getInt(PreviewVideoActivity.EXTRA_START_POSITION);
public int getPosition() {
- mSavedPlaybackPosition = mVideoPreview.getCurrentPosition();
+ if (mPrepared) {
+ mSavedPlaybackPosition = mVideoPreview.getCurrentPosition();
+ }
+ Log_OC.e(TAG, "getting position: " + mSavedPlaybackPosition);
return mSavedPlaybackPosition;
}
public boolean isPlaying() {
- mAutoplay = mVideoPreview.isPlaying();
+ if (mPrepared) {
+ mAutoplay = mVideoPreview.isPlaying();
+ }
return mAutoplay;
}