<!-- Flags to setup the authentication methods available in the app -->
<string name="auth_method_oauth2">off</string>
- <string name="auth_method_saml_web_sso">off</string>
+ <string name="auth_method_saml_web_sso">on</string>
+ <!-- Flags to enable/disable some features -->
+ <string name = "send_files_to_other_apps">on</string>
+
+
<!-- Colors -->
<color name="login_background_color">#FFFFFF</color>
<color name="login_logo_background_color">#FFFFFF</color>
package com.owncloud.android.authentication;
+import java.io.ByteArrayInputStream;
import java.lang.ref.WeakReference;
+import java.security.cert.Certificate;
+import java.security.cert.CertificateException;
+import java.security.cert.CertificateFactory;
+import java.security.cert.X509Certificate;
- import com.owncloud.android.R;
- import com.owncloud.android.ui.dialog.SslUntrustedCertDialog;
+import com.owncloud.android.lib.common.network.NetworkUtils;
+import com.actionbarsherlock.app.SherlockFragmentActivity;
- import com.owncloud.android.ui.dialog.SslUntrustedCertDialog.OnSslUntrustedCertListener;
+import com.owncloud.android.ui.dialog.SslUntrustedCertDialogABSTRACT;
import com.owncloud.android.utils.Log_OC;
+import android.content.Context;
import android.graphics.Bitmap;
+import android.net.http.SslCertificate;
import android.net.http.SslError;
+import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
+import android.support.v4.app.FragmentManager;
+import android.support.v4.app.FragmentTransaction;
import android.view.KeyEvent;
import android.view.View;
import android.webkit.CookieManager;
import com.owncloud.android.authentication.AuthenticatorActivity;
import com.owncloud.android.datamodel.FileDataStorageManager;
import com.owncloud.android.datamodel.OCFile;
--import com.owncloud.android.lib.common.accounts.AccountUtils.Constants;
import com.owncloud.android.lib.common.operations.RemoteOperationResult;
import com.owncloud.android.operations.SynchronizeFolderOperation;
import com.owncloud.android.operations.UpdateOCVersionOperation;
import android.accounts.Account;
--import android.accounts.AccountManager;
import android.accounts.AccountsException;
import android.app.Notification;
import android.app.NotificationManager;
import android.app.Activity;
import android.content.ClipData;
import android.content.Intent;
--import android.os.Build;
import android.os.Bundle;
import android.text.ClipboardManager;
import android.widget.Toast;
private boolean mSyncInProgress = false;
//private boolean mRefreshSharesInProgress = false;
+ private String DIALOG_UNTRUSTED_CERT;
++
+ private OCFile mWaitingToSend;
@Override
protected void onCreate(Bundle savedInstanceState) {
mRefreshSharesInProgress = true;
}
*/
+
+ /**
+ * Show untrusted cert dialog
+ */
+ public void showUntrustedCertDialog(RemoteOperationResult result) {
+ // Show a dialog with the certificate info
+ SslUntrustedCertDialog dialog = SslUntrustedCertDialog.newInstance(result, this);
+ FragmentManager fm = getSupportFragmentManager();
+ FragmentTransaction ft = fm.beginTransaction();
+ dialog.show(ft, DIALOG_UNTRUSTED_CERT);
+
+ }
+
+ /**
+ * Dismiss untrusted cert dialog
+ */
+ public void dismissUntrustedCertDialog(){
+ Fragment frag = getSupportFragmentManager().findFragmentByTag(DIALOG_UNTRUSTED_CERT);
+ if (frag != null) {
+ SslUntrustedCertDialog dialog = (SslUntrustedCertDialog) frag;
+ dialog.dismiss();
+ }
+ }
+
+ @Override
+ public void onCancelCertificate() {
+ // TODO Auto-generated method stub
+
+ }
+ /**
+ * Requests the download of the received {@link OCFile} , updates the UI
+ * to monitor the download progress and prepares the activity to send the file
+ * when the download finishes.
+ *
+ * @param file {@link OCFile} to download and preview.
+ */
+ @Override
+ public void startDownloadForSending(OCFile file) {
+ mWaitingToSend = file;
+ requestForDownload(mWaitingToSend);
+ boolean hasSecondFragment = (getSecondFragment()!= null);
+ updateFragmentsVisibility(hasSecondFragment);
+ }
+
+ private void requestForDownload(OCFile file) {
+ Account account = getAccount();
+ if (!mDownloaderBinder.isDownloading(account, file)) {
+ Intent i = new Intent(this, FileDownloader.class);
+ i.putExtra(FileDownloader.EXTRA_ACCOUNT, account);
+ i.putExtra(FileDownloader.EXTRA_FILE, file);
+ startService(i);
+ }
+ }
+
+ private void sendDownloadedFile(){
+ getFileOperationsHelper().sendDownloadedFile(mWaitingToSend, this);
+ mWaitingToSend = null;
+ }
+
}