diff --git a/extras/Introjucer/Source/Project Saving/jucer_ProjectSaver.h b/extras/Introjucer/Source/Project Saving/jucer_ProjectSaver.h index 4cd74d8ad5..3bd1ccea30 100644 --- a/extras/Introjucer/Source/Project Saving/jucer_ProjectSaver.h +++ b/extras/Introjucer/Source/Project Saving/jucer_ProjectSaver.h @@ -94,7 +94,7 @@ public: { if (! generatedCodeFolder.createDirectory()) { - errors.add ("Couldn't create folder: " + generatedCodeFolder.getFullPathName()); + addError ("Couldn't create folder: " + generatedCodeFolder.getFullPathName()); return Project::Item (project, ValueTree::invalid); } @@ -141,7 +141,7 @@ public: { if (! FileHelpers::overwriteFileWithNewDataIfDifferent (f, newData)) { - errors.add ("Can't write to file: " + f.getFullPathName()); + addError ("Can't write to file: " + f.getFullPathName()); return false; } @@ -372,7 +372,7 @@ private: } else { - errors.add ("Can't create binary resources file: " + binaryDataCpp.getFullPathName()); + addError ("Can't create binary resources file: " + binaryDataCpp.getFullPathName()); } } else @@ -417,11 +417,11 @@ private: void writeProjects (const OwnedArray& modules) { + ThreadPool threadPool (4, false, 30000); + // keep a copy of the basic generated files group, as each exporter may modify it. const ValueTree originalGeneratedGroup (generatedFilesGroup.state.createCopy()); - ThreadPool threadPool (4, false, 30000); - for (Project::ExporterIterator exporter (project); exporter.next();) { if (exporter->getTargetFolder().createDirectory()) diff --git a/extras/JuceDemo/Builds/Android/src/com/juce/JuceDemo.java b/extras/JuceDemo/Builds/Android/src/com/juce/JuceDemo.java index 535a5bf86e..395a40db96 100644 --- a/extras/JuceDemo/Builds/Android/src/com/juce/JuceDemo.java +++ b/extras/JuceDemo/Builds/Android/src/com/juce/JuceDemo.java @@ -492,4 +492,9 @@ public final class JuceDemo extends Activity return null; } + + public final void launchURL (String url) + { + startActivity (new Intent (Intent.ACTION_VIEW, Uri.parse (url))); + } } diff --git a/modules/juce_core/native/java/JuceAppActivity.java b/modules/juce_core/native/java/JuceAppActivity.java index ddb1fe8585..de324f94ec 100644 --- a/modules/juce_core/native/java/JuceAppActivity.java +++ b/modules/juce_core/native/java/JuceAppActivity.java @@ -492,4 +492,9 @@ public final class JuceAppActivity extends Activity return null; } + + public final void launchURL (String url) + { + startActivity (new Intent (Intent.ACTION_VIEW, Uri.parse (url))); + } } diff --git a/modules/juce_core/native/juce_android_Files.cpp b/modules/juce_core/native/juce_android_Files.cpp index 2ea7c314f0..d75d20c6ab 100644 --- a/modules/juce_core/native/juce_android_Files.cpp +++ b/modules/juce_core/native/juce_android_Files.cpp @@ -228,10 +228,10 @@ bool DirectoryIterator::NativeIterator::next (String& filenameFound, //============================================================================== bool Process::openDocument (const String& fileName, const String& parameters) { - + const LocalRef t (javaString (fileName)); + android.activity.callVoidMethod (JuceAppActivity.launchURL, t.get()); } void File::revealToUser() const { - } diff --git a/modules/juce_core/native/juce_android_JNIHelpers.h b/modules/juce_core/native/juce_android_JNIHelpers.h index 70ded199b5..f8d841b8fb 100644 --- a/modules/juce_core/native/juce_android_JNIHelpers.h +++ b/modules/juce_core/native/juce_android_JNIHelpers.h @@ -342,6 +342,7 @@ extern ThreadLocalJNIEnvHolder threadLocalJNIEnvHolder; METHOD (excludeClipRegion, "excludeClipRegion", "(Landroid/graphics/Canvas;FFFF)V") \ METHOD (renderGlyph, "renderGlyph", "(CLandroid/graphics/Paint;Landroid/graphics/Matrix;Landroid/graphics/Rect;)[I") \ STATICMETHOD (createHTTPStream, "createHTTPStream", "(Ljava/lang/String;Z[BLjava/lang/String;ILjava/lang/StringBuffer;)L" JUCE_ANDROID_ACTIVITY_CLASSPATH "$HTTPStream;") \ + METHOD (launchURL, "launchURL", "(Ljava/lang/String;)V") \ METHOD (showMessageBox, "showMessageBox", "(Ljava/lang/String;Ljava/lang/String;J)V") \ METHOD (showOkCancelBox, "showOkCancelBox", "(Ljava/lang/String;Ljava/lang/String;J)V") \ METHOD (showYesNoCancelBox, "showYesNoCancelBox", "(Ljava/lang/String;Ljava/lang/String;J)V") \