package de.onyxbits.dummydroid;
public class SoftwareForm extends PropertyForm implements DummyDroidProperties {
/**
*
*/
private static final long serialVersionUID = 1L;
public SoftwareForm(NavigateAction forwardAction, NavigateAction backwardAction) {
super(forwardAction, backwardAction);
}
@Override
protected String[] listProperties() {
return new String[] {
"ro.build.version.sdk",
"ro.bootloader",
"ro.opengles.version",
"gsm.version.baseband" };
}
@Override
protected String getInitialValue(String pn) {
if (pn.equals("ro.build.version.sdk")) {
return "" + formData.getAndroidBuildProtoBuilder().getSdkVersion();
}
if (pn.equals("ro.bootloader")) {
return formData.getAndroidBuildProtoBuilder().getBootloader();
}
if (pn.equals("ro.opengles.version")) {
return "" + formData.getDeviceConfigurationProtoBuilder().getGlEsVersion();
}
if (pn.equals("gsm.version.baseband")) {
return formData.getAndroidBuildProtoBuilder().getRadio();
}
return null;
}
@Override
public void commitForm() {
validateIntOrEmpty("ro.build.version.sdk", "ro.opengles.version");
if (getProperty("gsm.version.baseband").length() == 0) {
formData.getAndroidBuildProtoBuilder().clearRadio();
}
if (getProperty("ro.bootloader").length() == 0) {
formData.getAndroidBuildProtoBuilder().clearBootloader();
}
if (isEmpty("gsm.version.baseband")) {
formData.getAndroidBuildProtoBuilder().clearRadio();
}
else {
formData.getAndroidBuildProtoBuilder().setRadio(getProperty("gsm.version.baseband"));
}
if (isEmpty("ro.bootloader")) {
formData.getAndroidBuildProtoBuilder().clearBootloader();
}
else {
formData.getAndroidBuildProtoBuilder().setBootloader(getProperty("ro.bootloader"));
}
if (isEmpty("ro.build.version.sdk")) {
formData.getAndroidBuildProtoBuilder().clearSdkVersion();
formData.getAndroidBuildProtoBuilder().clearGoogleServices();
}
else {
int sdk = Integer.parseInt(getProperty("ro.build.version.sdk"));
formData.getAndroidBuildProtoBuilder().setSdkVersion(sdk);
formData.getAndroidBuildProtoBuilder().setGoogleServices(sdk);
}
if (isEmpty("ro.opengles.version")) {
formData.getDeviceConfigurationProtoBuilder().clearGlEsVersion();
}
else {
int gl = Integer.parseInt(getProperty("ro.opengles.version"));
formData.getDeviceConfigurationProtoBuilder().setGlEsVersion(gl);
}
}
}