Skip to content
This repository was archived by the owner on Mar 2, 2018. It is now read-only.

Commit 755f024

Browse files
committed
-cantor sync
1 parent b27a730 commit 755f024

24 files changed

Lines changed: 151 additions & 96 deletions

File tree

AreaDescriptionJava/AndroidManifest.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
1818
package="com.projecttango.areadescriptionjava"
1919
android:versionCode="0"
20-
android:versionName="1.1" >
20+
android:versionName="0" >
2121

2222
<uses-sdk
2323
android:minSdkVersion="17"
Binary file not shown.

AreaDescriptionJava/project.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,6 @@
1111
#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt
1212

1313
# Project target.
14-
target=android-19
14+
target=android-20
1515
android.library.reference.1=../TangoUtils
1616
android.library.reference.2=../../../applications/android/tango-native-service-client-helperlib

AreaDescriptionJava/res/layout/uuid_listview.xml

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,7 @@
1616
android:layout_weight="1"
1717
android:background="#E6E6E6"
1818
android:text="@string/api_adfs"
19-
android:textSize="30sp"
20-
android:textStyle="italic" >
19+
android:textSize="30sp" >
2120
</TextView>
2221

2322
<TextView
@@ -26,8 +25,7 @@
2625
android:layout_weight="1"
2726
android:text="@string/application_adfs"
2827
android:textAllCaps="false"
29-
android:textSize="30sp"
30-
android:textStyle="italic" >
28+
android:textSize="30sp">
3129
</TextView>
3230
</LinearLayout>
3331

AreaDescriptionJava/res/values/strings.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@
4040
<string name="ok">OK</string>
4141
<string name="start_config">Start</string>
4242
<string name="manage_adfs">Manage ADFs</string>
43-
<string name="api_adfs">API ADFs:</string>
43+
<string name="api_adfs">Project Tango Local ADFs:</string>
4444
<string name="application_adfs">Application ADFs</string>
4545
<string name="uuid">UUID</string>
4646
<string name="tango_error">"Tango Exception! Try again!"</string>

AreaDescriptionJava/src/com/projecttango/areadescriptionjava/ADFUUIDListViewActivity.java

Lines changed: 29 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,13 @@ protected void onCreate(Bundle savedInstanceState) {
8585
registerForContextMenu(mAppSpaceUUIDListView);
8686
}
8787

88+
@Override
89+
public void onResume() {
90+
super.onResume();
91+
updateTangoAdfsListView();
92+
updateAppListView();
93+
}
94+
8895
@Override
8996
public void onCreateContextMenu(ContextMenu menu, View v,
9097
ContextMenuInfo menuInfo) {
@@ -116,10 +123,7 @@ public boolean onContextItemSelected(MenuItem item) {
116123
else if (itemName.equals(mAPISpaceMenuStrings[1])) {
117124
mADFDataSource.deleteADFandUpdateList(mUUIDList[info.position]);
118125
// Update the API ADF Listview
119-
mUUIDList = mADFDataSource.getFullUUIDList();
120-
mUUIDNames = mADFDataSource.getUUIDNames();
121-
mADFAdapter = new ADFUUIDArrayAdapter(this, mUUIDList, mUUIDNames);
122-
mUUIDListView.setAdapter(mADFAdapter);
126+
updateTangoAdfsListView();
123127
}
124128
// Export the ADF into application package folder and update the
125129
// Listview
@@ -138,11 +142,7 @@ else if (itemName.equals(mAppSpaceMenuStrings[0])) {
138142
File file = new File(mAppSpaceADFFolder + File.separator
139143
+ mAppSpaceUUIDList[info.position]);
140144
file.delete();
141-
// Update App space ADF ListView
142-
mAppSpaceUUIDList = getAppSpaceADFList();
143-
mAppSpaceADFAdapter = new ADFUUIDArrayAdapter(this,
144-
mAppSpaceUUIDList, null);
145-
mAppSpaceUUIDListView.setAdapter(mAppSpaceADFAdapter);
145+
updateAppListView();
146146
}
147147

148148
// Import an ADF into API private Storage and update the API ADF
@@ -170,18 +170,33 @@ protected void onActivityResult(int requestCode, int resultCode, Intent data) {
170170
.show();
171171
}
172172
}
173+
updateTangoAdfsListView();
174+
updateAppListView();
175+
}
176+
177+
/*
178+
* Gets the latest ADFs from Project Tango API storage and updates them in
179+
* the List View.
180+
*/
181+
private void updateTangoAdfsListView() {
182+
// Update API ADF Listview
183+
mUUIDList = mADFDataSource.getFullUUIDList();
184+
mUUIDNames = mADFDataSource.getUUIDNames();
185+
mADFAdapter = new ADFUUIDArrayAdapter(this, mUUIDList, mUUIDNames);
186+
mUUIDListView.setAdapter(mADFAdapter);
187+
}
173188

189+
/*
190+
* Gets the latest ADFs from application package folder and updates them in
191+
* the List View.
192+
*/
193+
private void updateAppListView() {
174194
// Update App space ADF Listview
175195
mAppSpaceUUIDList = getAppSpaceADFList();
176196
mAppSpaceADFAdapter = new ADFUUIDArrayAdapter(this, mAppSpaceUUIDList,
177197
null);
178198
mAppSpaceUUIDListView.setAdapter(mAppSpaceADFAdapter);
179199

180-
// Update API ADF Listview
181-
mUUIDList = mADFDataSource.getFullUUIDList();
182-
mUUIDNames = mADFDataSource.getUUIDNames();
183-
mADFAdapter = new ADFUUIDArrayAdapter(this, mUUIDList, mUUIDNames);
184-
mUUIDListView.setAdapter(mADFAdapter);
185200
}
186201

187202
/*

AreaDescriptionJava/src/com/projecttango/areadescriptionjava/ADRenderer.java

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,8 @@
4141
*/
4242
public class ADRenderer extends Renderer implements GLSurfaceView.Renderer {
4343

44-
private Trajectory mTrajectory;
44+
private Trajectory mGreenTrajectory;
45+
private Trajectory mBlueTrajectory;
4546
private CameraFrustum mCameraFrustum;
4647
private CameraFrustumAndAxis mCameraFrustumAndAxis;
4748
private Grid mFloorGrid;
@@ -55,7 +56,12 @@ public void onSurfaceCreated(GL10 gl, EGLConfig config) {
5556
mCameraFrustum = new CameraFrustum();
5657
mFloorGrid = new Grid();
5758
mCameraFrustumAndAxis = new CameraFrustumAndAxis();
58-
mTrajectory = new Trajectory(3);
59+
mGreenTrajectory = new Trajectory(3);
60+
mGreenTrajectory.setColor(
61+
new float[] { 0.39f, 0.56f, 0.03f, 1.0f});
62+
mBlueTrajectory = new Trajectory(3);
63+
mBlueTrajectory.setColor(
64+
new float[] { 0.22f, 0.28f, 0.67f, 1.0f});
5965
// Construct the initial view matrix
6066
Matrix.setIdentityM(mViewMatrix, 0);
6167
Matrix.setLookAtM(mViewMatrix, 0, 5f, 5f, 5f, 0f, 0f, 0f, 0f, 1f, 0f);
@@ -74,7 +80,8 @@ public void onSurfaceChanged(GL10 gl, int width, int height) {
7480
@Override
7581
public void onDrawFrame(GL10 gl) {
7682
GLES20.glClear(GLES20.GL_COLOR_BUFFER_BIT | GLES20.GL_DEPTH_BUFFER_BIT);
77-
mTrajectory.draw(getViewMatrix(), mProjectionMatrix);
83+
mGreenTrajectory.draw(getViewMatrix(), mProjectionMatrix);
84+
mBlueTrajectory.draw(getViewMatrix(), mProjectionMatrix);
7885
mFloorGrid.draw(getViewMatrix(), mProjectionMatrix);
7986
mCameraFrustumAndAxis.draw(getViewMatrix(), mProjectionMatrix);
8087
}
@@ -87,8 +94,12 @@ public CameraFrustumAndAxis getCameraFrustumAndAxis() {
8794
return mCameraFrustumAndAxis;
8895
}
8996

90-
public Trajectory getTrajectory() {
91-
return mTrajectory;
97+
public Trajectory getBlueTrajectory() {
98+
return mBlueTrajectory;
99+
}
100+
101+
public Trajectory getGreenTrajectory() {
102+
return mGreenTrajectory;
92103
}
93104

94105
}

AreaDescriptionJava/src/com/projecttango/areadescriptionjava/AreaDescription.java

Lines changed: 22 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,10 @@ public class AreaDescription extends Activity implements View.OnClickListener,
8686
private int mStart2DevicePoseCount;
8787
private int mAdf2DevicePoseCount;
8888
private int mAdf2StartPoseCount;
89-
89+
private int mStart2DevicePreviousPoseStatus;
90+
private int mAdf2DevicePreviousPoseStatus;
91+
private int mAdf2StartPreviousPoseStatus;
92+
9093
private double mStart2DevicePoseDelta;
9194
private double mAdf2DevicePoseDelta;
9295
private double mAdf2StartPoseDelta;
@@ -249,24 +252,25 @@ public void onPoseAvailable(TangoPoseData pose) {
249252

250253
// Update the text views with Pose info.
251254
updateTextViewWith(pose);
255+
float[] translation = pose.getTranslationAsFloats();
252256
boolean updateRenderer = false;
253257
if (mIsRelocalized) {
254258
if (pose.baseFrame == TangoPoseData.COORDINATE_FRAME_AREA_DESCRIPTION
255259
&& pose.targetFrame == TangoPoseData.COORDINATE_FRAME_DEVICE) {
256260
updateRenderer = true;
261+
mRenderer.getGreenTrajectory().updateTrajectory(translation);
257262
}
258263
} else {
259264
if (pose.baseFrame == TangoPoseData.COORDINATE_FRAME_START_OF_SERVICE
260265
&& pose.targetFrame == TangoPoseData.COORDINATE_FRAME_DEVICE) {
261266
updateRenderer = true;
267+
mRenderer.getBlueTrajectory().updateTrajectory(translation);
262268
}
263269
}
264270

265271
// Update the trajectory, model matrix, and view matrix, then
266272
// render the scene again
267273
if (updateRenderer) {
268-
float[] translation = pose.getTranslationAsFloats();
269-
mRenderer.getTrajectory().updateTrajectory(translation);
270274
mRenderer.getModelMatCalculator().updateModelMatrix(
271275
translation, pose.getRotationAsFloats());
272276
mRenderer.updateViewMatrix();
@@ -353,6 +357,10 @@ public void run() {
353357

354358
if (pose.baseFrame == TangoPoseData.COORDINATE_FRAME_AREA_DESCRIPTION
355359
&& pose.targetFrame == TangoPoseData.COORDINATE_FRAME_DEVICE) {
360+
if(mAdf2DevicePreviousPoseStatus != pose.statusCode){
361+
mAdf2DevicePoseCount = 0;
362+
}
363+
mAdf2DevicePreviousPoseStatus = pose.statusCode;
356364
mAdf2DevicePoseCount++;
357365
mAdf2DevicePoseDelta = (pose.timestamp - mAdf2DevicePreviousPoseTimeStamp)
358366
* SECONDS_TO_MILLI;
@@ -368,6 +376,10 @@ public void run() {
368376

369377
if (pose.baseFrame == TangoPoseData.COORDINATE_FRAME_START_OF_SERVICE
370378
&& pose.targetFrame == TangoPoseData.COORDINATE_FRAME_DEVICE) {
379+
if(mStart2DevicePreviousPoseStatus != pose.statusCode){
380+
mStart2DevicePoseCount = 0;
381+
}
382+
mStart2DevicePreviousPoseStatus = pose.statusCode;
371383
mStart2DevicePoseCount++;
372384
mStart2DevicePoseDelta = (pose.timestamp - mStart2DevicePreviousPoseTimeStamp)
373385
* SECONDS_TO_MILLI;
@@ -384,6 +396,10 @@ public void run() {
384396

385397
if (pose.baseFrame == TangoPoseData.COORDINATE_FRAME_AREA_DESCRIPTION
386398
&& pose.targetFrame == TangoPoseData.COORDINATE_FRAME_START_OF_SERVICE) {
399+
if(mAdf2StartPreviousPoseStatus != pose.statusCode){
400+
mAdf2StartPoseCount = 0;
401+
}
402+
mAdf2StartPreviousPoseStatus = pose.statusCode;
387403
mAdf2StartPoseCount++;
388404
mAdf2StartPoseDelta = (pose.timestamp - mAdf2StartPreviousPoseTimeStamp)
389405
* SECONDS_TO_MILLI;
@@ -398,13 +414,9 @@ public void run() {
398414
if (pose.statusCode == TangoPoseData.POSE_VALID) {
399415
mIsRelocalized = true;
400416
// Set the color to green
401-
mRenderer.getTrajectory().setColor(
402-
new float[] { 0.39f, 0.56f, 0.03f, 1.0f });
403417
} else {
404418
mIsRelocalized = false;
405419
// Set the color blue
406-
mRenderer.getTrajectory().setColor(
407-
new float[] { 0.22f, 0.28f, 0.67f, 1.0f });
408420
}
409421
}
410422
}
@@ -443,6 +455,9 @@ protected void onResume() {
443455
} catch (TangoErrorException e) {
444456
Toast.makeText(getApplicationContext(), R.string.tango_error,
445457
Toast.LENGTH_SHORT).show();
458+
} catch (SecurityException e){
459+
Toast.makeText(getApplicationContext(), R.string.no_permissions,
460+
Toast.LENGTH_SHORT).show();
446461
}
447462
try {
448463
mTango.connect(mConfig);

MotionTrackingJava/AndroidManifest.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
1818
package="com.projecttango.motiontrackingjava"
1919
android:versionCode="0"
20-
android:versionName="1.1" >
20+
android:versionName="0" >
2121

2222
<uses-sdk
2323
android:minSdkVersion="17"
Binary file not shown.

0 commit comments

Comments
 (0)