A complete 3D game development suite written purely in Java.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
jmonkeyengine/sdk/jme3-android/src/com/jme3/gde/android/AndroidImportantFiles.java

84 lines
3.1 KiB

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package com.jme3.gde.android;
import com.jme3.gde.core.importantfiles.ImportantFiles;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import org.netbeans.api.project.Project;
import org.openide.filesystems.FileObject;
import org.openide.loaders.DataObject;
import org.openide.loaders.DataObjectNotFoundException;
import org.openide.nodes.Node;
import org.openide.util.Exceptions;
import org.openide.xml.XMLUtil;
import org.w3c.dom.Document;
import org.xml.sax.InputSource;
/**
*
* @author normenhansen
*/
@org.openide.util.lookup.ServiceProvider(service = ImportantFiles.class)
public class AndroidImportantFiles implements ImportantFiles {
@Override
public Node[] getNodes(Project project) {
FileObject manifest = project.getProjectDirectory().getFileObject("mobile/AndroidManifest.xml");
String mainActivity = "mobile/src";
if (manifest != null) {
InputStream in = null;
try {
in = manifest.getInputStream();
Document configuration = XMLUtil.parse(new InputSource(in), false, false, null, null);
mainActivity = "mobile/src/" + configuration.getDocumentElement().getAttribute("package").replaceAll("\\.", "/") + "/MainActivity.java";
} catch (Exception ex) {
Exceptions.printStackTrace(ex);
} finally {
try {
if (in != null) {
in.close();
}
} catch (IOException ex) {
Exceptions.printStackTrace(ex);
}
}
}
ArrayList<Node> list = new ArrayList<Node>();
try {
FileObject mainAct = project.getProjectDirectory().getFileObject(mainActivity);
if (mainAct != null) {
Node node = DataObject.find(mainAct).getNodeDelegate();
node.setDisplayName("Android Main Activity");
list.add(node);
}
FileObject manif = project.getProjectDirectory().getFileObject("mobile/AndroidManifest.xml");
if (manif != null) {
Node node = DataObject.find(manif).getNodeDelegate();
node.setDisplayName("Android Manifest");
list.add(node);
}
FileObject buildProp = project.getProjectDirectory().getFileObject("mobile/ant.properties");
if (buildProp != null) {
Node node = DataObject.find(buildProp).getNodeDelegate();
node.setDisplayName("Android Properties");
list.add(node);
}
} catch (DataObjectNotFoundException ex) {
Exceptions.printStackTrace(ex);
}
return list.toArray(new Node[list.size()]);
}
@Override
public boolean hasFiles(Project proj) {
if (proj.getProjectDirectory().getFileObject("mobile/AndroidManifest.xml") != null) {
return true;
}
return false;
}
}