Merge remote-tracking branch 'remotes/upstream/master' into beta
authortobiasKaminsky <tobias@kaminsky.me>
Fri, 13 Nov 2015 16:39:24 +0000 (17:39 +0100)
committertobiasKaminsky <tobias@kaminsky.me>
Fri, 13 Nov 2015 16:39:24 +0000 (17:39 +0100)
53 files changed:
1  2 
res/layout/ssl_untrusted_cert_layout.xml
res/values-ar/strings.xml
res/values-az/strings.xml
res/values-bg-rBG/strings.xml
res/values-bn-rBD/strings.xml
res/values-ca/strings.xml
res/values-cs-rCZ/strings.xml
res/values-da/strings.xml
res/values-de-rDE/strings.xml
res/values-de/strings.xml
res/values-el/strings.xml
res/values-en-rGB/strings.xml
res/values-eo/strings.xml
res/values-es-rAR/strings.xml
res/values-es/strings.xml
res/values-et-rEE/strings.xml
res/values-eu/strings.xml
res/values-fi-rFI/strings.xml
res/values-fr/strings.xml
res/values-gl/strings.xml
res/values-he/strings.xml
res/values-hu-rHU/strings.xml
res/values-id/strings.xml
res/values-it/strings.xml
res/values-ja-rJP/strings.xml
res/values-ko/strings.xml
res/values-lb/strings.xml
res/values-lt-rLT/strings.xml
res/values-mk/strings.xml
res/values-nb-rNO/strings.xml
res/values-nl/strings.xml
res/values-oc/strings.xml
res/values-pl/strings.xml
res/values-pt-rBR/strings.xml
res/values-pt-rPT/strings.xml
res/values-ro/strings.xml
res/values-ru/strings.xml
res/values-sk-rSK/strings.xml
res/values-sl/strings.xml
res/values-sr/strings.xml
res/values-sv/strings.xml
res/values-th-rTH/strings.xml
res/values-tr/strings.xml
res/values-uk/strings.xml
res/values-zh-rCN/strings.xml
res/values-zh-rTW/strings.xml
res/values/strings.xml
src/com/owncloud/android/datamodel/FileDataStorageManager.java
src/com/owncloud/android/datamodel/OCFile.java
src/com/owncloud/android/files/FileMenuFilter.java
src/com/owncloud/android/operations/RefreshFolderOperation.java
src/com/owncloud/android/ui/preview/PreviewMediaFragment.java
src/com/owncloud/android/ui/preview/PreviewVideoActivity.java

Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
@@@ -279,10 -266,10 +277,10 @@@ public class PreviewMediaFragment exten
      @Override
      public void onStart() {
          super.onStart();
-         Log_OC.e(TAG, "onStart");
+         Log_OC.v(TAG, "onStart");
  
          OCFile file = getFile();
 -        if (file != null && file.isDown()) {
 +        if (file != null) {
              if (file.isAudio()) {
                  bindMediaService();
  
  
          // load the video file in the video player ; 
          // when done, VideoHelper#onPrepared() will be called
-         mVideoPreview.setVideoPath(mUri);
 +        if (getFile().isDown()) {
 +            mUri = getFile().getStoragePath();
 +        } else {
 +            Context context = MainApp.getAppContext();
 +            Account account = mContainerActivity.getStorageManager().getAccount();
 +
 +            mUri = generateUrlWithCredentials(account, context, getFile());
 +        }
 +
+         mVideoPreview.setVideoURI(getFile().getStorageUri());
      }
  
 +    public static String generateUrlWithCredentials(Account account, Context context, OCFile file){
 +        OwnCloudAccount ocAccount = null;
 +        try {
 +            ocAccount = new OwnCloudAccount(account, context);
 +
 +            final ClientGenerationTask task = new ClientGenerationTask();
 +            task.execute(ocAccount);
 +
 +            OwnCloudClient mClient = task.get();
 +            String url = AccountUtils.constructFullURLForAccount(context, account) + Uri.encode(file.getRemotePath(), "/");
 +            OwnCloudCredentials credentials = mClient.getCredentials();
 +
 +            return url.replace("//", "//" + credentials.getUsername() + ":" + credentials.getAuthToken() + "@");
 +
 +        } catch (AccountUtils.AccountNotFoundException e) {
 +            e.printStackTrace();
 +
 +        } catch (InterruptedException e) {
 +            e.printStackTrace();
 +        } catch (ExecutionException e) {
 +            e.printStackTrace();
 +        }
 +        return "";
 +    }
 +
 +    public static class ClientGenerationTask extends AsyncTask<Object, Void, OwnCloudClient> {
 +        @Override
 +        protected OwnCloudClient doInBackground(Object... params) {
 +            Object account = params[0];
 +            if (account instanceof OwnCloudAccount){
 +                try {
 +                    OwnCloudAccount ocAccount = (OwnCloudAccount) account;
 +                    return OwnCloudClientManagerFactory.getDefaultSingleton().
 +                            getClientFor(ocAccount, MainApp.getAppContext());
 +                } catch (AccountUtils.AccountNotFoundException e) {
 +                    e.printStackTrace();
 +                } catch (OperationCanceledException e) {
 +                    e.printStackTrace();
 +                } catch (AuthenticatorException e) {
 +                    e.printStackTrace();
 +                } catch (IOException e) {
 +                    e.printStackTrace();
 +                }
 +            }
 +
 +            return null;
 +        }
 +    }
 +
  
      private class VideoHelper implements OnCompletionListener, OnPreparedListener, OnErrorListener {
  
           */
          @Override
          public boolean onError(MediaPlayer mp, int what, int extra) {
 -            Log_OC.e(TAG, "Error in video playback, what = " + what + ", extra = " + extra);
 -            if (mVideoPreview.getWindowToken() != null) {
 -                String message = MediaService.getMessageForMediaError(
 -                        getActivity(), what, extra);
 -                new AlertDialog.Builder(getActivity())
 -                        .setMessage(message)
 -                        .setPositiveButton(android.R.string.VideoView_error_button,
 -                                new DialogInterface.OnClickListener() {
 -                                    public void onClick(DialogInterface dialog, int whichButton) {
 -                                        dialog.dismiss();
 -                                        VideoHelper.this.onCompletion(null);
 -                                    }
 -                                })
 -                        .setCancelable(false)
 -                        .show();
 -            }
 +            MediaService.streamWithExternalApp(mUri, getActivity()).show();
              return true;
          }
 -
      }
  
 -
      @Override
      public void onPause() {
-         Log_OC.e(TAG, "onPause");
+         Log_OC.v(TAG, "onPause");
          super.onPause();
      }
  
@@@ -204,14 -203,19 +203,14 @@@ public class PreviewVideoActivity exten
              file = getStorageManager().getFileById(file.getFileId()); 
              if (file != null) {
                  if (file.isDown()) {
-                     mVideoPlayer.setVideoPath(file.getStoragePath());
-                     
+                     mVideoPlayer.setVideoURI(file.getStorageUri());
                  } else {
 -                    // not working yet
                      String url;
 -                    try {
 -                        url = AccountUtils.constructFullURLForAccount(this, getAccount()) + file.getRemotePath();
 -                        mVideoPlayer.setVideoURI(Uri.parse(url));
 -                    } catch (AccountNotFoundException e) {
 -                        onError(null, MediaService.OC_MEDIA_ERROR, R.string.media_err_no_account);
 -                    }
 +                    url = PreviewMediaFragment.generateUrlWithCredentials(getAccount(), getApplicationContext(), getFile());
 +                    mVideoPlayer.setVideoURI(Uri.parse(url));
                  }
-                 
                  // create and prepare control panel for the user
                  mMediaController = new MediaController(this);
                  mMediaController.setMediaPlayer(mVideoPlayer);