Added OpenCV references and initialization code.
This commit is contained in:
@@ -15,9 +15,16 @@
|
||||
*/
|
||||
package ve.ucv.ciens.ccg.nxtar;
|
||||
|
||||
import org.opencv.android.BaseLoaderCallback;
|
||||
import org.opencv.android.CameraBridgeViewBase.CvCameraViewListener;
|
||||
import org.opencv.android.LoaderCallbackInterface;
|
||||
import org.opencv.android.OpenCVLoader;
|
||||
import org.opencv.core.Mat;
|
||||
|
||||
import ve.ucv.ciens.ccg.nxtar.interfaces.MulticastEnabler;
|
||||
import ve.ucv.ciens.ccg.nxtar.interfaces.Toaster;
|
||||
import android.content.Context;
|
||||
import android.content.pm.ActivityInfo;
|
||||
import android.net.wifi.WifiManager;
|
||||
import android.net.wifi.WifiManager.MulticastLock;
|
||||
import android.os.Bundle;
|
||||
@@ -27,8 +34,9 @@ import android.widget.Toast;
|
||||
import com.badlogic.gdx.Gdx;
|
||||
import com.badlogic.gdx.backends.android.AndroidApplication;
|
||||
import com.badlogic.gdx.backends.android.AndroidApplicationConfiguration;
|
||||
import com.badlogic.gdx.controllers.mappings.Ouya;
|
||||
|
||||
public class MainActivity extends AndroidApplication implements Toaster, MulticastEnabler{
|
||||
public class MainActivity extends AndroidApplication implements Toaster, MulticastEnabler, CvCameraViewListener{
|
||||
private static final String TAG = "NXTAR_ANDROID_MAIN";
|
||||
private static final String CLASS_NAME = MainActivity.class.getSimpleName();
|
||||
|
||||
@@ -36,11 +44,21 @@ public class MainActivity extends AndroidApplication implements Toaster, Multica
|
||||
private MulticastLock multicastLock;
|
||||
private Handler uiHandler;
|
||||
private Context uiContext;
|
||||
private boolean ocvOn;
|
||||
private BaseLoaderCallback loaderCallback;
|
||||
|
||||
@Override
|
||||
public void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
|
||||
ocvOn = false;
|
||||
|
||||
if(!Ouya.runningOnOuya){
|
||||
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
|
||||
}else{
|
||||
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
|
||||
}
|
||||
|
||||
uiHandler = new Handler();
|
||||
uiContext = this;
|
||||
wifiManager = (WifiManager)getSystemService(Context.WIFI_SERVICE);
|
||||
@@ -51,6 +69,23 @@ public class MainActivity extends AndroidApplication implements Toaster, Multica
|
||||
cfg.useCompass = false;
|
||||
cfg.useWakelock = true;
|
||||
|
||||
loaderCallback = new BaseLoaderCallback(this){
|
||||
@Override
|
||||
public void onManagerConnected(int status){
|
||||
switch(status){
|
||||
case LoaderCallbackInterface.SUCCESS:
|
||||
ocvOn = true;
|
||||
Toast.makeText(uiContext, R.string.ocv_success, Toast.LENGTH_LONG).show();
|
||||
break;
|
||||
default:
|
||||
Toast.makeText(uiContext, R.string.ocv_failed, Toast.LENGTH_LONG).show();
|
||||
Gdx.app.exit();
|
||||
break;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
OpenCVLoader.initAsync(OpenCVLoader.OPENCV_VERSION_2_4_7, this, loaderCallback);
|
||||
initialize(new NxtARCore(this), cfg);
|
||||
}
|
||||
|
||||
@@ -82,7 +117,7 @@ public class MainActivity extends AndroidApplication implements Toaster, Multica
|
||||
/////////////////////////////////////////
|
||||
@Override
|
||||
public void enableMulticast(){
|
||||
Gdx.app.debug(TAG, CLASS_NAME + ".enableMulticast() :: Requesting multicast lock.");
|
||||
Gdx.app.log(TAG, CLASS_NAME + ".enableMulticast() :: Requesting multicast lock.");
|
||||
multicastLock = wifiManager.createMulticastLock(TAG);
|
||||
multicastLock.setReferenceCounted(true);
|
||||
multicastLock.acquire();
|
||||
@@ -90,10 +125,33 @@ public class MainActivity extends AndroidApplication implements Toaster, Multica
|
||||
|
||||
@Override
|
||||
public void disableMulticast() {
|
||||
Gdx.app.debug(TAG, CLASS_NAME + ".disableMulticast() :: Releasing multicast lock.");
|
||||
Gdx.app.log(TAG, CLASS_NAME + ".disableMulticast() :: Releasing multicast lock.");
|
||||
if(multicastLock != null){
|
||||
multicastLock.release();
|
||||
multicastLock = null;
|
||||
}
|
||||
}
|
||||
|
||||
/////////////////////////////////////////////
|
||||
// CvCameraViewListener interface methods. //
|
||||
/////////////////////////////////////////////
|
||||
/**
|
||||
* <p>This method does nothing. It is here because it must be implemented in order to use OpenCV.</p>
|
||||
*/
|
||||
@Override
|
||||
public void onCameraViewStarted(int width, int height){ }
|
||||
|
||||
/**
|
||||
* <p>This method does nothing. It is here because it must be implemented in order to use OpenCV.</p>
|
||||
*/
|
||||
@Override
|
||||
public void onCameraViewStopped(){ }
|
||||
|
||||
/**
|
||||
* <p>This method does nothing. It is here because it must be implemented in order to use OpenCV.</p>
|
||||
*/
|
||||
@Override
|
||||
public Mat onCameraFrame(Mat inputFrame){
|
||||
return null;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user