Search in sources :

Example 1 with PhoneMetaData

use of org.eyeseetea.malariacare.phonemetadata.PhoneMetaData in project pictureapp by EyeSeeTea.

the class ConvertToSDKVisitor method logEmptySurveyException.

public static void logEmptySurveyException(Survey survey) {
    PhoneMetaData phoneMetaData = Session.getPhoneMetaData();
    String info = String.format("Survey: %s\nPhoneMetaData: %s\nAPI: %s", survey.toString(), phoneMetaData == null ? "" : phoneMetaData.getPhone_metaData(), Build.VERSION.RELEASE);
    Crashlytics.logException(new Throwable(info));
}
Also used : PhoneMetaData(org.eyeseetea.malariacare.phonemetadata.PhoneMetaData)

Example 2 with PhoneMetaData

use of org.eyeseetea.malariacare.phonemetadata.PhoneMetaData in project pictureapp by EyeSeeTea.

the class BaseActivity method onRequestPermissionsResult.

/**
     * Its called on the requestPermission results, if the user accepts the permissions it request
     * the Phone permission and gets the phoneMetadata
     */
@Override
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
    if (Permissions.processAnswer(requestCode, permissions, grantResults)) {
        EyeSeeTeaApplication.permissions.requestNextPermission();
        if (EyeSeeTeaApplication.permissions.areAllPermissionsGranted()) {
            PhoneMetaData phoneMetaData = getPhoneMetadata();
            Session.setPhoneMetaData(phoneMetaData);
        }
    } else {
        onDestroy();
    }
}
Also used : PhoneMetaData(org.eyeseetea.malariacare.phonemetadata.PhoneMetaData)

Example 3 with PhoneMetaData

use of org.eyeseetea.malariacare.phonemetadata.PhoneMetaData in project pictureapp by EyeSeeTea.

the class ConvertToSDKVisitor method buildControlDataElements.

/**
     * Builds several datavalues from the mainScore of the survey
     */
private void buildControlDataElements(Survey survey, EventExtended event) {
    //save phonemetadata
    PhoneMetaData phoneMetaData = Session.getPhoneMetaData();
    buildAndSaveDataValue((PreferencesState.getInstance().getContext().getString(R.string.control_data_element_phone_metadata)), phoneMetaData.getPhone_metaData(), event);
    //save Time capture
    if (PreferencesState.getInstance().getContext().getString(R.string.control_data_element_datetime_capture) != null && !PreferencesState.getInstance().getContext().getString(R.string.control_data_element_datetime_capture).equals("")) {
        buildAndSaveDataValue(PreferencesState.getInstance().getContext().getString(R.string.control_data_element_datetime_capture), EventExtended.format(survey.getCompletionDate(), EventExtended.DHIS2_GMT_DATE_FORMAT), event);
    }
    //save Time Sent
    if (PreferencesState.getInstance().getContext().getString(R.string.control_data_element_datetime_sent) != null && !PreferencesState.getInstance().getContext().getString(R.string.control_data_element_datetime_sent).equals("")) {
        buildAndSaveDataValue(PreferencesState.getInstance().getContext().getString(R.string.control_data_element_datetime_sent), EventExtended.format(new Date(), EventExtended.DHIS2_GMT_DATE_FORMAT), event);
    }
}
Also used : PhoneMetaData(org.eyeseetea.malariacare.phonemetadata.PhoneMetaData) Date(java.util.Date)

Example 4 with PhoneMetaData

use of org.eyeseetea.malariacare.phonemetadata.PhoneMetaData in project pictureapp by EyeSeeTea.

the class BaseActivity method getPhoneMetadata.

PhoneMetaData getPhoneMetadata() {
    PhoneMetaData phoneMetaData = new PhoneMetaData();
    TelephonyManager phoneManagerMetaData = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
    String imei = phoneManagerMetaData.getDeviceId();
    String phone = phoneManagerMetaData.getLine1Number();
    String serial = phoneManagerMetaData.getSimSerialNumber();
    phoneMetaData.setImei(imei);
    phoneMetaData.setPhone_number(phone);
    phoneMetaData.setPhone_serial(serial);
    phoneMetaData.setBuild_number(Utils.getCommitHash(getApplicationContext()));
    return phoneMetaData;
}
Also used : PhoneMetaData(org.eyeseetea.malariacare.phonemetadata.PhoneMetaData) TelephonyManager(android.telephony.TelephonyManager) SpannableString(android.text.SpannableString)

Example 5 with PhoneMetaData

use of org.eyeseetea.malariacare.phonemetadata.PhoneMetaData in project pictureapp by EyeSeeTea.

the class PushClient method prepareCompositeScores.

private JSONArray prepareCompositeScores(JSONArray values) throws Exception {
    //Cleans score
    ScoreRegister.clear();
    //Prepare scores info
    List<CompositeScore> compositeScoreList = ScoreRegister.loadCompositeScores(survey);
    //1 CompositeScore -> 1 dataValue
    for (CompositeScore compositeScore : compositeScoreList) {
        values.put(prepareValue(compositeScore));
    }
    PhoneMetaData phoneMetaData = Session.getPhoneMetaData();
    values.put(prepareDataElementValue((PreferencesState.getInstance().getContext().getString(R.string.control_data_element_phone_metadata)), phoneMetaData.getPhone_metaData()));
    if (PreferencesState.getInstance().getContext().getString(R.string.control_data_element_datetime_capture) != null && !PreferencesState.getInstance().getContext().getString(R.string.control_data_element_datetime_capture).equals("")) {
        values.put(prepareDataElementValue(PreferencesState.getInstance().getContext().getString(R.string.control_data_element_datetime_capture), EventExtended.format(survey.getCompletionDate(), EventExtended.AMERICAN_DATE_FORMAT)));
    }
    if (PreferencesState.getInstance().getContext().getString(R.string.control_data_element_datetime_sent) != null && !PreferencesState.getInstance().getContext().getString(R.string.control_data_element_datetime_sent).equals("")) {
        values.put(prepareDataElementValue(PreferencesState.getInstance().getContext().getString(R.string.control_data_element_datetime_sent), EventExtended.format(new Date(), EventExtended.AMERICAN_DATE_FORMAT)));
    }
    return values;
}
Also used : CompositeScore(org.eyeseetea.malariacare.data.database.model.CompositeScore) PhoneMetaData(org.eyeseetea.malariacare.phonemetadata.PhoneMetaData) Date(java.util.Date)

Aggregations

PhoneMetaData (org.eyeseetea.malariacare.phonemetadata.PhoneMetaData)5 Date (java.util.Date)2 TelephonyManager (android.telephony.TelephonyManager)1 SpannableString (android.text.SpannableString)1 CompositeScore (org.eyeseetea.malariacare.data.database.model.CompositeScore)1