Assorted error handling and messaging.

This commit is contained in:
2013-12-16 16:01:22 -04:30
parent 1b88c67ec1
commit 5c2cff3c54
5 changed files with 42 additions and 12 deletions

View File

@@ -45,5 +45,6 @@
<string name="serv_wait">Por favor espere, buscando dispositivo de control</string>
<string name="serv_connected">Conectado con el dispositivo de control</string>
<string name="serv_fail">Falló la conexión con el dispositivo de control</string>
<string name="cam_fail">La cámara es null!</string>
</resources>

View File

@@ -45,5 +45,6 @@
<string name="serv_wait">Please wait, looking for control device</string>
<string name="serv_connected">Connected with the control device</string>
<string name="serv_fail">Could no connect with the control device</string>
<string name="cam_fail">Camera is null!</string>
</resources>

View File

@@ -19,6 +19,7 @@ import ve.ucv.ciens.ccg.nxtcam.camera.CameraPreview;
import ve.ucv.ciens.ccg.nxtcam.network.ImageTransferThread;
import ve.ucv.ciens.ccg.nxtcam.network.LCPThread;
import ve.ucv.ciens.ccg.nxtcam.utils.Logger;
import ve.ucv.ciens.ccg.nxtcam.utils.ProjectConstants;
import android.app.Activity;
import android.content.Intent;
import android.hardware.Camera;
@@ -110,6 +111,13 @@ public class CamActivity extends Activity{
imThread = null;
}
@Override
public void onBackPressed(){
Intent result = new Intent();
setResult(Activity.RESULT_OK, result);
finish();
}
/******************
* My own methods *
******************/
@@ -122,7 +130,9 @@ public class CamActivity extends Activity{
Logger.log_d(TAG, CLASS_NAME + ".startCameraPreview() :: Camera and content view set.");
}else{
Logger.log_wtf(TAG, CLASS_NAME + ".startCameraPreview() :: CAMERA IS NULL!");
System.exit(1);
Intent result = new Intent();
setResult(ProjectConstants.RESULT_CAMERA_FAILURE, result);
finish();
}
}

View File

@@ -60,6 +60,7 @@ public class MainActivity extends Activity implements WifiOnDialogListener, Conn
private final String TAG = "NXTCAM_MAIN";
private final String CLASS_NAME = MainActivity.class.getSimpleName();
private static final int REQUEST_ENABLE_BT = 1;
private static final int REQUEST_CAM_ACTIVITY = 2;
// Gui components
private Button startButton;
@@ -73,6 +74,7 @@ public class MainActivity extends Activity implements WifiOnDialogListener, Conn
// Variables.
private boolean wifiOnByMe;
private boolean btOnByMe;
private boolean changingActivity;
@Override
protected void onCreate(Bundle savedInstanceState) {
@@ -82,6 +84,7 @@ public class MainActivity extends Activity implements WifiOnDialogListener, Conn
// Set up fields.
wifiOnByMe = false;
btOnByMe = false;
changingActivity = false;
// Set up gui components.
startButton = (Button)findViewById(R.id.startButton);
@@ -115,11 +118,12 @@ public class MainActivity extends Activity implements WifiOnDialogListener, Conn
public void onPause(){
super.onPause();
if(btManager.isBTEnabled() && btOnByMe)
btManager.disableBT();
if(wifiManager.isWifiEnabled() && wifiOnByMe)
setWifi(false);
if(!changingActivity){
if(btManager.isBTEnabled() && btOnByMe)
btManager.disableBT();
if(wifiManager.isWifiEnabled() && wifiOnByMe)
setWifi(false);
}
}
@Override
@@ -142,11 +146,18 @@ public class MainActivity extends Activity implements WifiOnDialogListener, Conn
}
protected void onActivityResult(int request, int result, Intent data){
if(request == REQUEST_ENABLE_BT && result == RESULT_OK){
if(!wifiManager.isWifiEnabled())
enableWifi();
}else{
Toast.makeText(this, R.string.bt_on_fail, Toast.LENGTH_LONG).show();
if(request == REQUEST_ENABLE_BT){
if(result == RESULT_OK){
if(!wifiManager.isWifiEnabled())
enableWifi();
}else{
Toast.makeText(this, R.string.bt_on_fail, Toast.LENGTH_SHORT).show();
}
}else if(request == REQUEST_CAM_ACTIVITY){
changingActivity = false;
if(result == ProjectConstants.RESULT_CAMERA_FAILURE){
Toast.makeText(this, R.string.cam_fail, Toast.LENGTH_SHORT).show();
}
}
}
@@ -160,8 +171,9 @@ public class MainActivity extends Activity implements WifiOnDialogListener, Conn
if(serverFound){
Logger.log_d(TAG, CLASS_NAME + ".startCamActivity() :: Launching camera activity.");
Intent intent = new Intent(this, CamActivity.class);
changingActivity = true;
intent.putExtra("address", ipAddress);
startActivity(intent);
startActivityForResult(intent, REQUEST_CAM_ACTIVITY);
}else{
Logger.log_d(TAG, CLASS_NAME + ".startCamActivity() :: Cannot launch camera activity.");
Toast.makeText(this, R.string.badIpToast, Toast.LENGTH_SHORT).show();

View File

@@ -17,7 +17,10 @@ package ve.ucv.ciens.ccg.nxtcam.utils;
import java.util.UUID;
import android.app.Activity;
public abstract class ProjectConstants {
// Network related constants.
public static final int SERVER_UDP_PORT = 8889;
public static final int SERVER_TCP_PORT_1 = 9989;
public static final int SERVER_TCP_PORT_2 = 9990;
@@ -25,5 +28,8 @@ public abstract class ProjectConstants {
public static final String OUI_LEGO = "00:16:53";
public static final String MULTICAST_ADDRESS = "230.0.0.1";
// Activity results.
public static final int RESULT_CAMERA_FAILURE = Activity.RESULT_FIRST_USER + 1;
public static final boolean DEBUG = true;
}