From: David A. Velasco Date: Tue, 28 Apr 2015 12:20:17 +0000 (+0200) Subject: Merge branch 'develop' into pinEnhancement X-Git-Tag: test~19^2~18 X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/commitdiff_plain/802a1646160051a507853ef09e680139833fb142?hp=--cc Merge branch 'develop' into pinEnhancement Conflicts SOLVED: src/com/owncloud/android/ui/activity/FileDisplayActivity.java src/com/owncloud/android/ui/activity/Preferences.java src/com/owncloud/android/ui/activity/Uploader.java src/com/owncloud/android/ui/fragment/OCFileListFragment.java --- 802a1646160051a507853ef09e680139833fb142 diff --cc res/xml/preferences.xml index 70c24fc3,ac369847..18cb398f --- a/res/xml/preferences.xml +++ b/res/xml/preferences.xml @@@ -27,20 -27,23 +27,22 @@@ android:title="@string/prefs_select_oc_account" android:summary="@string/prefs_summary_select_oc_account" / --> - + - - - + - + + diff --cc src/com/owncloud/android/ui/activity/FileDisplayActivity.java index e4168ba5,83a49024..793f904a --- a/src/com/owncloud/android/ui/activity/FileDisplayActivity.java +++ b/src/com/owncloud/android/ui/activity/FileDisplayActivity.java @@@ -157,11 -146,13 +147,15 @@@ OnSslUntrustedCertListener, OnEnforceab private boolean mSyncInProgress = false; - private String DIALOG_UNTRUSTED_CERT; - + private static String DIALOG_UNTRUSTED_CERT = "DIALOG_UNTRUSTED_CERT"; + private static String DIALOG_CREATE_FOLDER = "DIALOG_CREATE_FOLDER"; + private static String DIALOG_UPLOAD_SOURCE = "DIALOG_UPLOAD_SOURCE"; + private static String DIALOG_CERT_NOT_SAVED = "DIALOG_CERT_NOT_SAVED"; + + private OCFile mWaitingToSend; + + private Boolean mUnlocked = false; @Override protected void onCreate(Bundle savedInstanceState) { @@@ -801,15 -795,9 +798,15 @@@ @Override protected void onResume() { + Log_OC.d(TAG, "onResume() start"); super.onResume(); - Log_OC.e(TAG, "onResume() start"); - + + if (PinCheck.checkIfPinEntry()){ + Intent i = new Intent(MainApp.getAppContext(), PinCodeActivity.class); + i.putExtra(PinCodeActivity.EXTRA_ACTIVITY, "FileDisplayActivity"); + startActivity(i); + } + // refresh list of files refreshListOfFilesFragment(); @@@ -855,149 -843,9 +852,10 @@@ mDownloadFinishReceiver = null; } - + PinCheck.setUnlockTimestamp(); - Log_OC.d(TAG, "onPause() end"); - super.onPause(); - } - - - @Override - protected Dialog onCreateDialog(int id) { - Dialog dialog = null; - AlertDialog.Builder builder; - switch (id) { - case DIALOG_SHORT_WAIT: { - ProgressDialog working_dialog = new ProgressDialog(this); - working_dialog.setMessage(getResources().getString( - R.string.wait_a_moment)); - working_dialog.setIndeterminate(true); - working_dialog.setCancelable(false); - dialog = working_dialog; - break; - } - case DIALOG_CHOOSE_UPLOAD_SOURCE: { - - - String[] allTheItems = { getString(R.string.actionbar_upload_files), - getString(R.string.actionbar_upload_from_apps) }; - - builder = new AlertDialog.Builder(this); - builder.setTitle(R.string.actionbar_upload); - builder.setItems(allTheItems, new DialogInterface.OnClickListener() { - public void onClick(DialogInterface dialog, int item) { - if (item == 0) { - // if (!mDualPane) { - Intent action = new Intent(FileDisplayActivity.this, UploadFilesActivity.class); - action.putExtra(UploadFilesActivity.EXTRA_ACCOUNT, FileDisplayActivity.this.getAccount()); - startActivityForResult(action, ACTION_SELECT_MULTIPLE_FILES); - // } else { - // TODO create and handle new fragment - // LocalFileListFragment - // } - } 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+, Jelly Bean - if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2) { - action.putExtra(Intent.EXTRA_ALLOW_MULTIPLE, true); - } - startActivityForResult(Intent.createChooser(action, getString(R.string.upload_chooser_title)), - ACTION_SELECT_CONTENT_FROM_APPS); - } - } - }); - dialog = builder.create(); - break; - } - case DIALOG_CERT_NOT_SAVED: { - builder = new AlertDialog.Builder(this); - builder.setMessage(getResources().getString(R.string.ssl_validator_not_saved)); - builder.setCancelable(false); - builder.setPositiveButton(R.string.common_ok, new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { - dialog.dismiss(); - }; - }); - dialog = builder.create(); - break; - } - default: - dialog = null; - } + - return dialog; - } - - /** - * Translates a content URI of an content to a physical path on the disk - * - * @param uri The URI to resolve - * @return The path to the content or null if it could not be found - */ - public String getPath(Uri uri) { - final boolean isKitKatOrLater = Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT; - - // DocumentProvider - if (isKitKatOrLater && DocumentsContract.isDocumentUri(getApplicationContext(), uri)) { - // ExternalStorageProvider - if (UriUtils.isExternalStorageDocument(uri)) { - final String docId = DocumentsContract.getDocumentId(uri); - final String[] split = docId.split(":"); - final String type = split[0]; - - if ("primary".equalsIgnoreCase(type)) { - return Environment.getExternalStorageDirectory() + "/" + split[1]; - } - } - // DownloadsProvider - else if (UriUtils.isDownloadsDocument(uri)) { - - final String id = DocumentsContract.getDocumentId(uri); - final Uri contentUri = ContentUris.withAppendedId(Uri.parse("content://downloads/public_downloads"), - Long.valueOf(id)); - - return UriUtils.getDataColumn(getApplicationContext(), contentUri, null, null); - } - // MediaProvider - else if (UriUtils.isMediaDocument(uri)) { - final String docId = DocumentsContract.getDocumentId(uri); - final String[] split = docId.split(":"); - final String type = split[0]; - - Uri contentUri = null; - if ("image".equals(type)) { - contentUri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI; - } else if ("video".equals(type)) { - contentUri = MediaStore.Video.Media.EXTERNAL_CONTENT_URI; - } else if ("audio".equals(type)) { - contentUri = MediaStore.Audio.Media.EXTERNAL_CONTENT_URI; - } - - final String selection = "_id=?"; - final String[] selectionArgs = new String[] { split[1] }; - - return UriUtils.getDataColumn(getApplicationContext(), contentUri, selection, selectionArgs); - } - // Documents providers returned as content://... - else if (UriUtils.isContentDocument(uri)) { - return uri.toString(); - } - } - // MediaStore (and general) - else if ("content".equalsIgnoreCase(uri.getScheme())) { - - // Return the remote address - if (UriUtils.isGooglePhotosUri(uri)) - return uri.getLastPathSegment(); - - return UriUtils.getDataColumn(getApplicationContext(), uri, null, null); - } - // File - else if ("file".equalsIgnoreCase(uri.getScheme())) { - return uri.getPath(); - } - return null; + super.onPause(); + Log_OC.d(TAG, "onPause() end"); } /** diff --cc src/com/owncloud/android/ui/activity/Preferences.java index 368158d0,70ca9dee..ef9e39a7 --- a/src/com/owncloud/android/ui/activity/Preferences.java +++ b/src/com/owncloud/android/ui/activity/Preferences.java @@@ -50,10 -58,14 +58,15 @@@ import com.owncloud.android.MainApp import com.owncloud.android.R; import com.owncloud.android.authentication.AccountUtils; import com.owncloud.android.authentication.AuthenticatorActivity; +import com.owncloud.android.authentication.PinCheck; + import com.owncloud.android.datamodel.FileDataStorageManager; import com.owncloud.android.datamodel.OCFile; import com.owncloud.android.db.DbHandler; + import com.owncloud.android.files.FileOperationsHelper; + import com.owncloud.android.files.services.FileDownloader; + import com.owncloud.android.files.services.FileUploader; import com.owncloud.android.lib.common.utils.Log_OC; + import com.owncloud.android.services.OperationsService; import com.owncloud.android.ui.RadioButtonPreference; import com.owncloud.android.utils.DisplayUtils; diff --cc src/com/owncloud/android/ui/activity/Uploader.java index 77bf0242,9dc0fbf9..d36e1cb1 --- a/src/com/owncloud/android/ui/activity/Uploader.java +++ b/src/com/owncloud/android/ui/activity/Uploader.java @@@ -60,12 -64,16 +64,18 @@@ import com.actionbarsherlock.view.MenuI import com.owncloud.android.MainApp; import com.owncloud.android.R; import com.owncloud.android.authentication.AccountAuthenticator; +import com.owncloud.android.authentication.PinCheck; +import com.owncloud.android.datamodel.FileDataStorageManager; import com.owncloud.android.datamodel.OCFile; import com.owncloud.android.files.services.FileUploader; + import com.owncloud.android.lib.common.operations.RemoteOperation; + import com.owncloud.android.lib.common.operations.RemoteOperationResult; import com.owncloud.android.lib.common.utils.Log_OC; + import com.owncloud.android.operations.CreateFolderOperation; + import com.owncloud.android.ui.dialog.CreateFolderDialogFragment; import com.owncloud.android.utils.DisplayUtils; + import com.owncloud.android.utils.ErrorMessageAdapter; + /** * This can be used to upload things to an ownCloud instance. @@@ -92,18 -98,24 +100,31 @@@ public class Uploader extends FileActiv private final static int REQUEST_CODE_SETUP_ACCOUNT = 0; + private final static String KEY_PARENTS = "PARENTS"; + private final static String KEY_FILE = "FILE"; + private final static String KEY_ACCOUNT_SELECTED = "ACCOUNT_SELECTED"; + @Override protected void onCreate(Bundle savedInstanceState) { + prepareStreamsToUpload(); + + if (savedInstanceState == null) { + mParents = new Stack(); + mAccountSelected = false; + } else { + mParents = (Stack) savedInstanceState.getSerializable(KEY_PARENTS); + mFile = savedInstanceState.getParcelable(KEY_FILE); + mAccountSelected = savedInstanceState.getBoolean(KEY_ACCOUNT_SELECTED); + } super.onCreate(savedInstanceState); - mParents = new Stack(); - + + // Check Pin entry + if (PinCheck.checkIfPinEntry()){ + Intent i = new Intent(MainApp.getAppContext(), PinCodeActivity.class); + i.putExtra(PinCodeActivity.EXTRA_ACTIVITY, "ownCloudUploader"); + startActivity(i); + } + ActionBar actionBar = getSupportActionBar(); actionBar.setIcon(DisplayUtils.getSeasonalIconId());