@Override public StateResponseCode executeState() { try { ScheduleConfig config = null; Storage storage = CachingStorage.getInstance(); RequestScheduleAction action = new RequestScheduleAction(ctx); action.execute(); if (action.isSuccess()) { if (Constants.USE_LOCAL_CONFIG) { Logger.w(this.getClass(), "Using local config file"); config = ScheduleConfig.parseXml(ctx.getResources().openRawResource(R.raw.schedule_example)); } else { config = ScheduleConfig.parseXml(action.content); } storage.saveScheduleConfig(config); Logger.d(this, "obtained config from server and saved"); storage.dropExecutionQueue(); storage.dropParamsManager(); AppSettings.getInstance() .setWakeUpEnabledIfNull(config.testAlamType == TestAlarmType.WAKEUP); AppSettings.getInstance().setLocationTypeIfNull(config.locationType); AppSettings.getInstance() .saveLong("number_of_tests_schedueld", config.getNumberOfScheduledBatch()); if (config.dataCapDefault >= 0) { AppSettings.getInstance().saveDataCapFromConfig(config.dataCapDefault); } return StateResponseCode.OK; } } catch (Exception e) { Logger.e(this, "failed to download config", e); } return StateResponseCode.FAIL; }
private void populateInfo() { String value; if (MainService.isExecuting()) { value = getString(R.string.executing_now); } else { if (SK2AppSettings.getInstance().isServiceActivated()) { value = getString(R.string.yes); } else { value = getString(R.string.no); } } ((TextView) findViewById(R.id.tv_service_activated_value)).setText(value); if (SK2AppSettings.getInstance().isServiceEnabled()) { value = getString(R.string.enabled); } else { value = getString(R.string.disabled); } ((TextView) findViewById(R.id.tv_service_autotesting_value)).setText(value); ((TextView) findViewById(R.id.tv_service_status_value)) .setText(getString(SK2AppSettings.getSK2AppSettingsInstance().getState().sId)); String versionName = ""; try { versionName = this.getPackageManager().getPackageInfo(this.getPackageName(), 0).versionName; } catch (NameNotFoundException e) { SKLogger.e(this, "Error in getting app version name.", e); } ((TextView) findViewById(R.id.version)).setText(versionName); ScheduleConfig config = CachingStorage.getInstance().loadScheduleConfig(); String schedule_version = config == null ? "" : config.getConfigVersion(); ((TextView) findViewById(R.id.schedule_version)).setText(schedule_version); String nextTestScheduled = ""; if (MainService.isExecuting()) { nextTestScheduled = getString(R.string.executing_now); } else { long nextRunTime = SK2AppSettings.getInstance().getNextRunTime(); if (nextRunTime == SKConstants.NO_NEXT_RUN_TIME) { nextTestScheduled = getString(R.string.none); } else { nextTestScheduled = new SKDateFormat(this).UITime(nextRunTime); } } ((TextView) findViewById(R.id.tv_scheduledFor_value)).setText(nextTestScheduled); PhoneIdentityData phoneData = new PhoneIdentityDataCollector(this).collect(); if (!SK2AppSettings.getSK2AppSettingsInstance().anonymous) { ((TextView) findViewById(R.id.tv_imei_value)).setText(phoneData.imei + ""); ((TextView) findViewById(R.id.tv_imsi_value)).setText(phoneData.imsi + ""); ((TextView) findViewById(R.id.tv_unitId_value)) .setText(SK2AppSettings.getInstance().getUnitId()); } value = phoneData.manufacturer + "\n\r" + phoneData.model; ((TextView) findViewById(R.id.tv_phone_value)).setText(value); value = phoneData.osType + " v" + phoneData.osVersion; ((TextView) findViewById(R.id.tv_os_value)).setText(value); NetworkData networkData = new NetworkDataCollector(this).collect(); value = DCSConvertorUtil.convertPhoneType(networkData.phoneType); ((TextView) findViewById(R.id.tv_phone_type_value)).setText(value); value = getString(DCSConvertorUtil.networkTypeToStringId(networkData.networkType)); ((TextView) findViewById(R.id.tv_network_type_value)).setText(value); value = networkData.networkOperatorCode + "/" + networkData.networkOperatorName; ((TextView) findViewById(R.id.tv_network_operator_value)).setText(value); if (networkData.isRoaming) { value = getString(R.string.yes); } else { value = getString(R.string.no); } ((TextView) findViewById(R.id.tv_roaming_value)).setText(value); Location loc1 = ((LocationManager) getSystemService(LOCATION_SERVICE)) .getLastKnownLocation(LocationManager.GPS_PROVIDER); Location loc2 = ((LocationManager) getSystemService(LOCATION_SERVICE)) .getLastKnownLocation(LocationManager.NETWORK_PROVIDER); Location loc = null; if (loc1 != null && loc2 != null) { loc = loc1.getTime() > loc2.getTime() ? loc1 : loc2; } else { loc = loc1 == null ? loc2 : loc1; } if (loc != null) { ((TextView) findViewById(R.id.tv_loc_date_value)) .setText(new SKDateFormat(this).UITime(loc.getTime())); ((TextView) findViewById(R.id.tv_loc_provider_value)).setText(loc.getProvider()); ((TextView) findViewById(R.id.tv_loc_long_value)) .setText(String.format("%1.5f", loc.getLongitude())); ((TextView) findViewById(R.id.tv_loc_lat_value)) .setText(String.format("%1.5f", loc.getLatitude())); ((TextView) findViewById(R.id.tv_loc_acc_value)).setText(loc.getAccuracy() + " m"); } // Cells CellTowersData cellData = new CellTowersDataCollector(this).collect(); if (cellData.cellLocation instanceof GsmCellLocation) { GsmCellLocation gsmLocation = (GsmCellLocation) cellData.cellLocation; ((TextView) findViewById(R.id.tv_cell_tower_type_value)).setText("GSM"); ((TextView) findViewById(R.id.tv_cell_id_value)).setText("" + gsmLocation.getCid()); ((TextView) findViewById(R.id.tv_area_code_value)).setText("" + gsmLocation.getLac()); } else if (cellData.cellLocation instanceof CdmaCellLocation) { ((TextView) findViewById(R.id.tv_cell_tower_type_value)).setText("CDMA"); // CdmaCellLocation cdmaLocation = (CdmaCellLocation) cellLocation; // builder.append(CDMA); // builder.append(time/1000); // builder.append(cdmaLocation.getBaseStationId()); // builder.append(cdmaLocation.getBaseStationLatitude()); // builder.append(cdmaLocation.getBaseStationLongitude()); // builder.append(cdmaLocation.getNetworkId()); // builder.append(cdmaLocation.getSystemId()); } if (cellData.signal.isGsm()) { int signalStrength = SKGsmSignalStrength.getGsmSignalStrength(cellData.signal); value = DCSConvertorUtil.convertGsmSignalStrength(signalStrength); } else { value = cellData.signal.getCdmaDbm() + " dBm"; } ((TextView) findViewById(R.id.tv_signal_value)).setText(value); // Note: neighbors might be NULL... if (cellData.getNeighbors() != null) { for (NeighboringCellInfo info : cellData.getNeighbors()) { appendNeighborCellInfo(info); } } Util.initializeFonts(this); Util.overrideFonts(this, findViewById(android.R.id.content)); }