package com.mobilesorcery.sdk.html5.ui;
import org.eclipse.core.resources.IResource;
import com.mobilesorcery.sdk.core.MoSyncNatureTester;
import com.mobilesorcery.sdk.core.MoSyncProject;
import com.mobilesorcery.sdk.html5.Html5Plugin;
public class DebuggingEnableTester extends MoSyncNatureTester {
public final static String CAN_ENABLE_PROP = "canEnableDebugging";
public final static String CAN_DISABLE_PROP = "canDisableDebugging";
public boolean test(Object receiver, String property, Object[] args, Object expectedValue) {
MoSyncProject project = extractProject(receiver, property, args, expectedValue);
if (project == null) {
return false;
}
IResource localFilesFolder = project.getWrappedProject().getFolder(Html5Plugin.getHTML5Folder(project.getWrappedProject()));
boolean isPreparedForDebugging = localFilesFolder.exists();
boolean canEnable = !hasDebugSupport(project) && isPreparedForDebugging;
boolean canDisable = !canEnable && hasDebugSupport(project) && isPreparedForDebugging;
return CAN_ENABLE_PROP.equals(property) ? canEnable : canDisable;
}
public static boolean hasDebugSupport(MoSyncProject project) {
if (project == null) {
return false;
}
boolean hasSupport = Html5Plugin.getDefault().hasHTML5Support(project);
if (!hasSupport) {
return false;
}
if (!Html5Plugin.getDefault().hasHTML5PackagerBuildStep(project)) {
return false;
}
return Html5Plugin.getDefault().isJSODDEnabled(project);
}
}