test_class.declarator: testInstanceFile = new File("/storage/emulated/0/odk/INSTANCES/testForm/testForm.xml")
test_class.modifier: private final
test_class.original_string: private final File testInstanceFile = new File("/storage/emulated/0/odk/INSTANCES/testForm/testForm.xml");
test_class.type: File
test_class.var_name: testInstanceFile
test_class.declarator: testAuditConfig = new AuditConfig("high-priority", "10", "60", false)
test_class.modifier: private final
test_class.original_string: private final AuditConfig testAuditConfig = new AuditConfig("high-priority", "10", "60", false);
test_class.type: AuditConfig
test_class.var_name: testAuditConfig
test_class.declarator: testAuditConfigWithNullValues = new AuditConfig("high-priority", "10", null, false)
test_class.modifier: private final
test_class.original_string: private final AuditConfig testAuditConfigWithNullValues = new AuditConfig("high-priority", "10", null, false);
test_class.type: AuditConfig
test_class.var_name: testAuditConfigWithNullValues
test_class.file: collect_app/src/test/java/org/odk/collect/android/utilities/AuditEventLoggerTest.java
test_class.identifier: AuditEventLoggerTest
test_case.body: @Test
      public void logEventTest() {
          AuditEventLogger auditEventLogger = new AuditEventLogger(testInstanceFile, testAuditConfig);
  
          auditEventLogger.logEvent(BEGINNING_OF_FORM, false); //shouldn't be logged
          auditEventLogger.logEvent(QUESTION, false);
          auditEventLogger.getAuditEvents().get(auditEventLogger.getAuditEvents().size() - 1).setEnd(1548156710000L);
          auditEventLogger.logEvent(GROUP, false);
          auditEventLogger.getAuditEvents().get(auditEventLogger.getAuditEvents().size() - 1).setEnd(1548156770000L);
          auditEventLogger.logEvent(PROMPT_NEW_REPEAT, false);
          auditEventLogger.getAuditEvents().get(auditEventLogger.getAuditEvents().size() - 1).setEnd(1548156830000L);
          auditEventLogger.logEvent(REPEAT, false); //shouldn't be logged
          auditEventLogger.logEvent(END_OF_FORM, false);
          auditEventLogger.logEvent(FORM_START, false);
          auditEventLogger.logEvent(FORM_RESUME, false);
          auditEventLogger.logEvent(FORM_SAVE, false);
          auditEventLogger.logEvent(FORM_FINALIZE, false);
          auditEventLogger.logEvent(HIERARCHY, false);
          auditEventLogger.getAuditEvents().get(auditEventLogger.getAuditEvents().size() - 1).setEnd(1548156890000L);
          auditEventLogger.logEvent(SAVE_ERROR, false);
          auditEventLogger.logEvent(FINALIZE_ERROR, false);
          auditEventLogger.logEvent(CONSTRAINT_ERROR, false);
          auditEventLogger.logEvent(DELETE_REPEAT, false);
          auditEventLogger.logEvent(GOOGLE_PLAY_SERVICES_NOT_AVAILABLE, false);
          auditEventLogger.logEvent(LOCATION_PERMISSIONS_GRANTED, false);
          auditEventLogger.logEvent(LOCATION_PERMISSIONS_NOT_GRANTED, false);
          auditEventLogger.logEvent(LOCATION_TRACKING_ENABLED, false);
          auditEventLogger.logEvent(LOCATION_TRACKING_DISABLED, false);
          auditEventLogger.logEvent(LOCATION_PROVIDERS_ENABLED, false);
          auditEventLogger.logEvent(LOCATION_PROVIDERS_DISABLED, false);
          auditEventLogger.logEvent(UNKNOWN_EVENT_TYPE, false);
  
          assertEquals(21, auditEventLogger.getAuditEvents().size());
      }
test_case.class_method_signature: AuditEventLoggerTest.logEventTest()
test_case.full_signature: @Test public void logEventTest()
test_case.identifier: logEventTest
test_case.invocations: logEvent logEvent setEnd get getAuditEvents size getAuditEvents logEvent setEnd get getAuditEvents size getAuditEvents logEvent setEnd get getAuditEvents size getAuditEvents logEvent logEvent logEvent logEvent logEvent logEvent logEvent setEnd get getAuditEvents size getAuditEvents logEvent logEvent logEvent logEvent logEvent logEvent logEvent logEvent logEvent logEvent logEvent logEvent assertEquals size getAuditEvents
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void logEventTest()
focal_class.declarator: locations = new ArrayList<>()
focal_class.modifier: private
focal_class.original_string: private List<Location> locations = new ArrayList<>();
focal_class.type: List<Location>
focal_class.var_name: locations
focal_class.declarator: saveTask
focal_class.modifier: private static
focal_class.original_string: private static AsyncTask saveTask;
focal_class.type: AsyncTask
focal_class.var_name: saveTask
focal_class.declarator: auditEvents = new ArrayList<>()
focal_class.modifier: private
focal_class.original_string: private ArrayList<AuditEvent> auditEvents = new ArrayList<>();
focal_class.type: ArrayList<AuditEvent>
focal_class.var_name: auditEvents
focal_class.declarator: auditFile
focal_class.modifier: private
focal_class.original_string: private File auditFile;
focal_class.type: File
focal_class.var_name: auditFile
focal_class.declarator: surveyOpenTime
focal_class.modifier: private
focal_class.original_string: private long surveyOpenTime;
focal_class.type: long
focal_class.var_name: surveyOpenTime
focal_class.declarator: surveyOpenElapsedTime
focal_class.modifier: private
focal_class.original_string: private long surveyOpenElapsedTime;
focal_class.type: long
focal_class.var_name: surveyOpenElapsedTime
focal_class.declarator: auditConfig
focal_class.modifier: private final
focal_class.original_string: private final AuditConfig auditConfig;
focal_class.type: AuditConfig
focal_class.var_name: auditConfig
focal_class.file: collect_app/src/main/java/org/odk/collect/android/utilities/AuditEventLogger.java
focal_class.identifier: AuditEventLogger
focal_class.class_method_signature: AuditEventLogger.AuditEventLogger(File instanceFile, AuditConfig auditConfig)
focal_class.full_signature: public  AuditEventLogger(File instanceFile, AuditConfig auditConfig)
focal_class.identifier: AuditEventLogger
focal_class.modifiers: public
focal_class.parameters: (File instanceFile, AuditConfig auditConfig)
focal_class.signature:  AuditEventLogger(File instanceFile, AuditConfig auditConfig)
focal_class.class_method_signature: AuditEventLogger.logEvent(AuditEvent.AuditEventType eventType, boolean writeImmediatelyToDisk)
focal_class.full_signature: public void logEvent(AuditEvent.AuditEventType eventType, boolean writeImmediatelyToDisk)
focal_class.identifier: logEvent
focal_class.modifiers: public
focal_class.parameters: (AuditEvent.AuditEventType eventType, boolean writeImmediatelyToDisk)
focal_class.return: void
focal_class.signature: void logEvent(AuditEvent.AuditEventType eventType, boolean writeImmediatelyToDisk)
focal_class.class_method_signature: AuditEventLogger.logEvent(AuditEvent.AuditEventType eventType, FormIndex formIndex,
                           boolean writeImmediatelyToDisk, String questionAnswer)
focal_class.full_signature: public void logEvent(AuditEvent.AuditEventType eventType, FormIndex formIndex,
                           boolean writeImmediatelyToDisk, String questionAnswer)
focal_class.identifier: logEvent
focal_class.modifiers: public
focal_class.parameters: (AuditEvent.AuditEventType eventType, FormIndex formIndex,
                           boolean writeImmediatelyToDisk, String questionAnswer)
focal_class.return: void
focal_class.signature: void logEvent(AuditEvent.AuditEventType eventType, FormIndex formIndex,
                           boolean writeImmediatelyToDisk, String questionAnswer)
focal_class.class_method_signature: AuditEventLogger.addLocationCoordinatesToAuditEvent(AuditEvent auditEvent)
focal_class.full_signature: private void addLocationCoordinatesToAuditEvent(AuditEvent auditEvent)
focal_class.identifier: addLocationCoordinatesToAuditEvent
focal_class.modifiers: private
focal_class.parameters: (AuditEvent auditEvent)
focal_class.return: void
focal_class.signature: void addLocationCoordinatesToAuditEvent(AuditEvent auditEvent)
focal_class.class_method_signature: AuditEventLogger.addNewValueToQuestionAuditEvent(AuditEvent aev, FormController formController)
focal_class.full_signature: private void addNewValueToQuestionAuditEvent(AuditEvent aev, FormController formController)
focal_class.identifier: addNewValueToQuestionAuditEvent
focal_class.modifiers: private
focal_class.parameters: (AuditEvent aev, FormController formController)
focal_class.return: void
focal_class.signature: void addNewValueToQuestionAuditEvent(AuditEvent aev, FormController formController)
focal_class.class_method_signature: AuditEventLogger.isDuplicateOfLastLocationEvent(AuditEvent.AuditEventType eventType)
focal_class.full_signature:  boolean isDuplicateOfLastLocationEvent(AuditEvent.AuditEventType eventType)
focal_class.identifier: isDuplicateOfLastLocationEvent
focal_class.parameters: (AuditEvent.AuditEventType eventType)
focal_class.return: boolean
focal_class.signature: boolean isDuplicateOfLastLocationEvent(AuditEvent.AuditEventType eventType)
focal_class.class_method_signature: AuditEventLogger.isDuplicatedIntervalEvent(AuditEvent newAuditEvent)
focal_class.full_signature: private boolean isDuplicatedIntervalEvent(AuditEvent newAuditEvent)
focal_class.identifier: isDuplicatedIntervalEvent
focal_class.modifiers: private
focal_class.parameters: (AuditEvent newAuditEvent)
focal_class.return: boolean
focal_class.signature: boolean isDuplicatedIntervalEvent(AuditEvent newAuditEvent)
focal_class.class_method_signature: AuditEventLogger.exitView()
focal_class.full_signature: public void exitView()
focal_class.identifier: exitView
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void exitView()
focal_class.class_method_signature: AuditEventLogger.manageSavedEvents()
focal_class.full_signature: private void manageSavedEvents()
focal_class.identifier: manageSavedEvents
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void manageSavedEvents()
focal_class.class_method_signature: AuditEventLogger.setIntervalEventFinalParameters(AuditEvent aev, long end)
focal_class.full_signature: private void setIntervalEventFinalParameters(AuditEvent aev, long end)
focal_class.identifier: setIntervalEventFinalParameters
focal_class.modifiers: private
focal_class.parameters: (AuditEvent aev, long end)
focal_class.return: void
focal_class.signature: void setIntervalEventFinalParameters(AuditEvent aev, long end)
focal_class.class_method_signature: AuditEventLogger.shouldBeIgnored(AuditEvent.AuditEventType eventType)
focal_class.full_signature: private boolean shouldBeIgnored(AuditEvent.AuditEventType eventType)
focal_class.identifier: shouldBeIgnored
focal_class.modifiers: private
focal_class.parameters: (AuditEvent.AuditEventType eventType)
focal_class.return: boolean
focal_class.signature: boolean shouldBeIgnored(AuditEvent.AuditEventType eventType)
focal_class.class_method_signature: AuditEventLogger.shouldEventBeLogged(AuditEvent aev)
focal_class.full_signature: private boolean shouldEventBeLogged(AuditEvent aev)
focal_class.identifier: shouldEventBeLogged
focal_class.modifiers: private
focal_class.parameters: (AuditEvent aev)
focal_class.return: boolean
focal_class.signature: boolean shouldEventBeLogged(AuditEvent aev)
focal_class.class_method_signature: AuditEventLogger.writeEvents()
focal_class.full_signature: private void writeEvents()
focal_class.identifier: writeEvents
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void writeEvents()
focal_class.class_method_signature: AuditEventLogger.getEventTime()
focal_class.full_signature: private long getEventTime()
focal_class.identifier: getEventTime
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: long
focal_class.signature: long getEventTime()
focal_class.class_method_signature: AuditEventLogger.addLocation(Location location)
focal_class.full_signature: public void addLocation(Location location)
focal_class.identifier: addLocation
focal_class.modifiers: public
focal_class.parameters: (Location location)
focal_class.return: void
focal_class.signature: void addLocation(Location location)
focal_class.class_method_signature: AuditEventLogger.getMostAccurateLocation(long currentTime)
focal_class.full_signature: @Nullable Location getMostAccurateLocation(long currentTime)
focal_class.identifier: getMostAccurateLocation
focal_class.modifiers: @Nullable
focal_class.parameters: (long currentTime)
focal_class.return: Location
focal_class.signature: Location getMostAccurateLocation(long currentTime)
focal_class.class_method_signature: AuditEventLogger.removeExpiredLocations(long currentTime)
focal_class.full_signature: private void removeExpiredLocations(long currentTime)
focal_class.identifier: removeExpiredLocations
focal_class.modifiers: private
focal_class.parameters: (long currentTime)
focal_class.return: void
focal_class.signature: void removeExpiredLocations(long currentTime)
focal_class.class_method_signature: AuditEventLogger.isAuditEnabled()
focal_class.full_signature:  boolean isAuditEnabled()
focal_class.identifier: isAuditEnabled
focal_class.parameters: ()
focal_class.return: boolean
focal_class.signature: boolean isAuditEnabled()
focal_class.class_method_signature: AuditEventLogger.getAuditEvents()
focal_class.full_signature:  ArrayList<AuditEvent> getAuditEvents()
focal_class.identifier: getAuditEvents
focal_class.parameters: ()
focal_class.return: ArrayList<AuditEvent>
focal_class.signature: ArrayList<AuditEvent> getAuditEvents()
focal_class.class_method_signature: AuditEventLogger.getLocations()
focal_class.full_signature:  List<Location> getLocations()
focal_class.identifier: getLocations
focal_class.parameters: ()
focal_class.return: List<Location>
focal_class.signature: List<Location> getLocations()
focal_method.body: public void logEvent(AuditEvent.AuditEventType eventType, boolean writeImmediatelyToDisk) {
          logEvent(eventType, null, writeImmediatelyToDisk, null);
      }
focal_method.class_method_signature: AuditEventLogger.logEvent(AuditEvent.AuditEventType eventType, boolean writeImmediatelyToDisk)
focal_method.full_signature: public void logEvent(AuditEvent.AuditEventType eventType, boolean writeImmediatelyToDisk)
focal_method.identifier: logEvent
focal_method.invocations: logEvent
focal_method.modifiers: public
focal_method.parameters: (AuditEvent.AuditEventType eventType, boolean writeImmediatelyToDisk)
focal_method.return: void
focal_method.signature: void logEvent(AuditEvent.AuditEventType eventType, boolean writeImmediatelyToDisk)