|
@@ -25,6 +25,8 @@ import android.accounts.Account;
|
|
|
import android.accounts.AccountManager;
|
|
|
import android.accounts.AuthenticatorException;
|
|
|
import android.accounts.OperationCanceledException;
|
|
|
+import android.annotation.SuppressLint;
|
|
|
+import android.annotation.TargetApi;
|
|
|
import android.app.AlertDialog;
|
|
|
import android.app.Dialog;
|
|
|
import android.app.ProgressDialog;
|
|
@@ -41,6 +43,7 @@ import android.content.SyncRequest;
|
|
|
import android.content.res.Resources.NotFoundException;
|
|
|
import android.database.Cursor;
|
|
|
import android.net.Uri;
|
|
|
+import android.os.Build;
|
|
|
import android.os.Bundle;
|
|
|
import android.os.IBinder;
|
|
|
import android.preference.PreferenceManager;
|
|
@@ -593,13 +596,23 @@ OnSslUntrustedCertListener, OnEnforceableRefreshListener {
|
|
|
|
|
|
/**
|
|
|
* Called, when the user selected something for uploading
|
|
|
+ *
|
|
|
*/
|
|
|
+ @TargetApi(Build.VERSION_CODES.JELLY_BEAN)
|
|
|
protected 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);
|
|
|
-
|
|
|
+ //getClipData is only supported on api level 16+
|
|
|
+ if (data.getData() == null && Build.VERSION.SDK_INT >= 16){
|
|
|
+ for( int i = 0; i < data.getClipData().getItemCount(); i++){
|
|
|
+ Intent intent = new Intent();
|
|
|
+ intent.setData(data.getClipData().getItemAt(i).getUri());
|
|
|
+ requestSimpleUpload(intent, resultCode);
|
|
|
+ }
|
|
|
+ }else {
|
|
|
+ requestSimpleUpload(data, resultCode);
|
|
|
+ }
|
|
|
} else if (requestCode == ACTION_SELECT_MULTIPLE_FILES && (resultCode == RESULT_OK || resultCode == UploadFilesActivity.RESULT_OK_AND_MOVE)) {
|
|
|
requestMultipleUpload(data, resultCode);
|
|
|
|
|
@@ -838,6 +851,10 @@ OnSslUntrustedCertListener, OnEnforceableRefreshListener {
|
|
|
} else if (item == 1) {
|
|
|
Intent action = new Intent(Intent.ACTION_GET_CONTENT);
|
|
|
action = action.setType("*/*").addCategory(Intent.CATEGORY_OPENABLE);
|
|
|
+ //Intent.EXTRA_ALLOW_MULTIPLE is only supported on api level 18+
|
|
|
+ if(Build.VERSION.SDK_INT >= 18) {
|
|
|
+ action.putExtra(Intent.EXTRA_ALLOW_MULTIPLE, true);
|
|
|
+ }
|
|
|
startActivityForResult(Intent.createChooser(action, getString(R.string.upload_chooser_title)),
|
|
|
ACTION_SELECT_CONTENT_FROM_APPS);
|
|
|
}
|