Merge branch 'subtree'
[fanfix.git] / src / be / nikiroo / utils / ImageUtils.java
index 37d73191a52307641ef67f48bcd3f839786607f2..fb869294f2029bd1c0fd7f4a64680259ca4bc4b0 100644 (file)
@@ -190,16 +190,28 @@ public abstract class ImageUtils {
                return set_flag;
        }
 
+       /**
+        * Check that the class can operate (for instance, that all the required
+        * libraries or frameworks are present).
+        * 
+        * @return TRUE if it works
+        */
+       abstract protected boolean check();
+
        /**
         * Create a new {@link ImageUtils}.
         * 
         * @return the {@link ImageUtils}
         */
        private static ImageUtils newObject() {
-               for (String clazz : new String[] { "be.nikiroo.utils.ui.ImageUtilsAwt" }) {
+               for (String clazz : new String[] { "be.nikiroo.utils.ui.ImageUtilsAwt",
+                               "be.nikiroo.utils.android.ImageUtilsAndroid" }) {
                        try {
-                               return (ImageUtils) SerialUtils.createObject(clazz);
-                       } catch (Exception e) {
+                               ImageUtils obj = (ImageUtils) SerialUtils.createObject(clazz);
+                               if (obj.check()) {
+                                       return obj;
+                               }
+                       } catch (Throwable e) {
                        }
                }