From: Luke Owncloud Date: Mon, 5 Aug 2013 14:34:21 +0000 (+0200) Subject: added official NEW_PICTURE receiver (supported by Android since SDK 14). X-Git-Tag: oc-android-1.4.6~12^2~4 X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/commitdiff_plain/01cc23802f9dff9637fa0d148fc68c28c2e3f185 added official NEW_PICTURE receiver (supported by Android since SDK 14). old (unofficial) receiver still works, as well. this enables instant upload for all Android 4 devices (also HTC!) and has no effect on older devices. --- diff --git a/AndroidManifest.xml b/AndroidManifest.xml index afb89145..452143c0 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -163,7 +163,10 @@ + + + diff --git a/src/com/owncloud/android/files/InstantUploadBroadcastReceiver.java b/src/com/owncloud/android/files/InstantUploadBroadcastReceiver.java index 1f09b9b7..593ccd64 100644 --- a/src/com/owncloud/android/files/InstantUploadBroadcastReceiver.java +++ b/src/com/owncloud/android/files/InstantUploadBroadcastReceiver.java @@ -44,13 +44,18 @@ public class InstantUploadBroadcastReceiver extends BroadcastReceiver { private static String TAG = "PhotoTakenBroadcastReceiver"; private static final String[] CONTENT_PROJECTION = { Media.DATA, Media.DISPLAY_NAME, Media.MIME_TYPE, Media.SIZE }; - private static String NEW_PHOTO_ACTION = "com.android.camera.NEW_PICTURE"; + //Unofficial action, works for most devices but not HTC. See: https://github.com/owncloud/android/issues/6 + private static String NEW_PHOTO_ACTION_INOFFICIAL = "com.android.camera.NEW_PICTURE"; + //Officially supported action since SDK 14: http://developer.android.com/reference/android/hardware/Camera.html#ACTION_NEW_PICTURE + private static String NEW_PHOTO_ACTION = "android.hardware.action.NEW_PICTURE"; @Override public void onReceive(Context context, Intent intent) { Log_OC.d(TAG, "Received: " + intent.getAction()); if (intent.getAction().equals(android.net.ConnectivityManager.CONNECTIVITY_ACTION)) { handleConnectivityAction(context, intent); + } else if (intent.getAction().equals(NEW_PHOTO_ACTION_INOFFICIAL)) { + handleNewPhotoAction(context, intent); } else if (intent.getAction().equals(NEW_PHOTO_ACTION)) { handleNewPhotoAction(context, intent); } else if (intent.getAction().equals(FileUploader.UPLOAD_FINISH_MESSAGE)) { @@ -74,7 +79,7 @@ public class InstantUploadBroadcastReceiver extends BroadcastReceiver { private void handleNewPhotoAction(Context context, Intent intent) { if (!instantUploadEnabled(context)) { - Log_OC.d(TAG, "Instant upload disabled, abording uploading"); + Log_OC.d(TAG, "Instant upload disabled, aborting uploading"); return; }