Browse Source

ContentSharing: minor tweaks.

tags/2021-05-28
Lukasz Kozakiewicz 7 years ago
parent
commit
4a6ecffd91
2 changed files with 16 additions and 2 deletions
  1. +1
    -1
      modules/juce_gui_basics/filebrowser/juce_ContentSharer.h
  2. +15
    -1
      modules/juce_gui_basics/native/juce_android_ContentSharer.cpp

+ 1
- 1
modules/juce_gui_basics/filebrowser/juce_ContentSharer.h View File

@@ -76,7 +76,7 @@ public:
g.fillEllipse (20, 20, 300, 200); g.fillEllipse (20, 20, 300, 200);
Array<Image> images; Array<Image> images;
images.add (myImage); images.add (myImage);
ContentSharer::getInstance()->shareImages (images);
ContentSharer::getInstance()->shareImages (images, myCallback);
@endcode @endcode
Upon completion you will receive a callback with a sharing result. Note: Upon completion you will receive a callback with a sharing result. Note:


+ 15
- 1
modules/juce_gui_basics/native/juce_android_ContentSharer.cpp View File

@@ -613,7 +613,7 @@ private:
void filesPrepared (jobject fileUris, const StringArray& mimeTypes) void filesPrepared (jobject fileUris, const StringArray& mimeTypes)
{ {
auto env = getEnv();
auto* env = getEnv();
auto intent = LocalRef<jobject> (env->NewObject (AndroidIntent, AndroidIntent.constructor)); auto intent = LocalRef<jobject> (env->NewObject (AndroidIntent, AndroidIntent.constructor));
env->CallObjectMethod (intent, AndroidIntent.setAction, env->CallObjectMethod (intent, AndroidIntent.setAction,
@@ -698,6 +698,9 @@ private:
static StringArray javaStringArrayToJuceStringArray (const LocalRef<jobjectArray>& javaArray) static StringArray javaStringArrayToJuceStringArray (const LocalRef<jobjectArray>& javaArray)
{ {
if (javaArray.get() == 0)
return {};
auto* env = getEnv(); auto* env = getEnv();
const int size = env->GetArrayLength (javaArray.get()); const int size = env->GetArrayLength (javaArray.get());
@@ -744,6 +747,17 @@ private:
ParcelFileDescriptor.open, ParcelFileDescriptor.open,
javaFile.get(), modeReadOnly)); javaFile.get(), modeReadOnly));
auto exception = LocalRef<jobject> (env->ExceptionOccurred());
if (exception != 0)
{
// Failed to create file descriptor. Have you provided a valid file path/resource name?
jassertfalse;
env->ExceptionClear();
return nullptr;
}
assetFileDescriptors.add (GlobalRef (LocalRef<jobject> (env->NewObject (AssetFileDescriptor, assetFileDescriptors.add (GlobalRef (LocalRef<jobject> (env->NewObject (AssetFileDescriptor,
AssetFileDescriptor.constructor, AssetFileDescriptor.constructor,
parcelFileDescriptor.get(), parcelFileDescriptor.get(),


Loading…
Cancel
Save