From: David A. Velasco Date: Thu, 5 Jul 2012 14:38:59 +0000 (+0200) Subject: Fixing null pointers when finding out MIME types from extensions X-Git-Tag: oc-android-1.4.3~307 X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/commitdiff_plain/494ebd608fb3f69afd58310cfe1eb1ab9a136447 Fixing null pointers when finding out MIME types from extensions --- diff --git a/AndroidManifest.xml b/AndroidManifest.xml index c656db44..281844be 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -18,7 +18,7 @@ --> + android:versionName="0.1.148B" xmlns:android="http://schemas.android.com/apk/res/android"> diff --git a/src/eu/alefzero/owncloud/files/PhotoTakenBroadcastReceiver.java b/src/eu/alefzero/owncloud/files/PhotoTakenBroadcastReceiver.java index 93149426..c89a825c 100644 --- a/src/eu/alefzero/owncloud/files/PhotoTakenBroadcastReceiver.java +++ b/src/eu/alefzero/owncloud/files/PhotoTakenBroadcastReceiver.java @@ -111,7 +111,7 @@ public class PhotoTakenBroadcastReceiver extends BroadcastReceiver { Intent upload_intent = new Intent(context, InstantUploadService.class); Account account = new Account(account_name, AccountAuthenticator.ACCOUNT_TYPE); - String mimeType; + String mimeType = null; try { mimeType = MimeTypeMap.getSingleton() .getMimeTypeFromExtension( @@ -119,8 +119,9 @@ public class PhotoTakenBroadcastReceiver extends BroadcastReceiver { } catch (IndexOutOfBoundsException e) { Log.e(TAG, "Trying to find out MIME type of a file without extension: " + f.getName()); - mimeType = "application/octet-stream"; } + if (mimeType == null) + mimeType = "application/octet-stream"; upload_intent.putExtra(InstantUploadService.KEY_ACCOUNT, account); upload_intent.putExtra(InstantUploadService.KEY_FILE_PATH, file_path); diff --git a/src/eu/alefzero/owncloud/files/services/FileUploader.java b/src/eu/alefzero/owncloud/files/services/FileUploader.java index 68ddafb7..71c4258a 100644 --- a/src/eu/alefzero/owncloud/files/services/FileUploader.java +++ b/src/eu/alefzero/owncloud/files/services/FileUploader.java @@ -158,7 +158,7 @@ public class FileUploader extends Service implements OnDatatransferProgressListe for (int i = 0; i < mLocalPaths.length; ++i) { - String mimeType; + String mimeType = null; try { mimeType = MimeTypeMap.getSingleton() .getMimeTypeFromExtension( @@ -166,8 +166,9 @@ public class FileUploader extends Service implements OnDatatransferProgressListe .lastIndexOf('.') + 1)); } catch (IndexOutOfBoundsException e) { Log.e(TAG, "Trying to find out MIME type of a file without extension: " + mLocalPaths[i]); - mimeType = "application/octet-stream"; } + if (mimeType == null) + mimeType = "application/octet-stream"; mCurrentIndexUpload = i; if (wc.putFile(mLocalPaths[i], mRemotePaths[i], mimeType)) { diff --git a/src/eu/alefzero/owncloud/ui/fragment/FileDetailFragment.java b/src/eu/alefzero/owncloud/ui/fragment/FileDetailFragment.java index 533809fb..505ff6c7 100644 --- a/src/eu/alefzero/owncloud/ui/fragment/FileDetailFragment.java +++ b/src/eu/alefzero/owncloud/ui/fragment/FileDetailFragment.java @@ -280,7 +280,7 @@ public class FileDetailFragment extends SherlockFragment implements try { Intent i = new Intent(Intent.ACTION_VIEW); mimeType = MimeTypeMap.getSingleton().getMimeTypeFromExtension(storagePath.substring(storagePath.lastIndexOf('.') + 1)); - if (mimeType != mFile.getMimetype()) { + if (mimeType != null && !mimeType.equals(mFile.getMimetype())) { i.setDataAndType(Uri.parse("file://"+mFile.getStoragePath()), mimeType); i.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION | Intent.FLAG_GRANT_WRITE_URI_PERMISSION); startActivity(i);