Beruflich Dokumente
Kultur Dokumente
xml
<component name="CopyrightManager">
<settings default="" />
</component>
Scopes
scope_settings.xml
<component name="DependencyValidationManager">
<state>
<option name="SKIP_IMPORT_STATEMENTS" value="false" />
</state>
</component>
.name
DagingSapi3
compiler.xml
encodings.xml
misc.xml
modules.xml
vcs.xml
workspace.xml
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="AndroidLayouts">
<shared>
<config />
</shared>
</component>
<component name="ChangeListManager">
<list default="true" id="7a789915-958f-4d81-9c61-
bd90438c373a" name="Default" comment="" />
<ignored path="DagingSapi3.iws" />
<ignored path=".idea/workspace.xml" />
<option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
<option name="TRACKING_ENABLED" value="true" />
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false"
/>
<option name="LAST_RESOLUTION" value="IGNORE" />
</component>
<component name="ChangesViewManager" flattened_view="true"
show_ignored="false" />
<component name="CreatePatchCommitExecutor">
<option name="PATCH_PATH" value="" />
</component>
<component name="ExecutionTargetManager"
SELECTED_TARGET="default_target" />
<component name="FavoritesManager">
<favorites_list name="DagingSapi3" />
</component>
<component name="FileEditorManager">
<leaf>
<file leaf-file-name="workspace.xml" pinned="false"
current-in-tab="true">
<entry file="file://$PROJECT_DIR$/.idea/workspace.xml">
<provider selected="true" editor-type-id="text-
editor">
<state vertical-scroll-proportion="0.8142077">
<caret line="742" column="10" selection-start-
line="742" selection-start-column="10" selection-end-line="742"
selection-end-column="10" />
<folding />
</state>
</provider>
</entry>
</file>
</leaf>
</component>
<component name="FindManager">
<FindUsagesManager>
<setting name="OPEN_NEW_TAB" value="true" />
</FindUsagesManager>
</component>
<component name="GradleLocalSettings">
<option name="externalProjectsViewState">
<projects_view />
</option>
</component>
<component name="IdeDocumentHistory">
<option name="CHANGED_PATHS">
<list>
<option value="$PROJECT_DIR$/.idea/workspace.xml" />
</list>
</option>
</component>
<component name="MavenImportPreferences">
<option name="generalSettings">
<MavenGeneralSettings>
<option name="mavenHome" value="Bundled (Maven 3)" />
</MavenGeneralSettings>
</option>
</component>
<component name="MavenProjectNavigator">
<treeState />
</component>
<component name="NamedScopeManager">
<order />
</component>
<component name="ProjectFrameBounds">
<option name="x" value="-8" />
<option name="y" value="-8" />
<option name="width" value="1382" />
<option name="height" value="744" />
</component>
<component name="ProjectLevelVcsManager"
settingsEditedManually="false">
<OptionsSetting value="true" id="Add" />
<OptionsSetting value="true" id="Remove" />
<OptionsSetting value="true" id="Checkout" />
<OptionsSetting value="true" id="Update" />
<OptionsSetting value="true" id="Status" />
<OptionsSetting value="true" id="Edit" />
<ConfirmationsSetting value="0" id="Add" />
<ConfirmationsSetting value="0" id="Remove" />
</component>
<component name="ProjectReloadState">
<option name="STATE" value="0" />
</component>
<component name="ProjectView">
<navigator currentView="ProjectPane" proportions=""
version="1">
<flattenPackages />
<showMembers />
<showModules />
<showLibraryContents />
<hideEmptyPackages />
<abbreviatePackageNames />
<autoscrollToSource />
<autoscrollFromSource />
<sortByType />
</navigator>
<panes>
<pane id="PackagesPane" />
<pane id="Scope" />
<pane id="ProjectPane">
<subPane>
<PATH>
<PATH_ELEMENT>
<option name="myItemId" value="DagingSapi3" />
<option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjec
tNode" />
</PATH_ELEMENT>
</PATH>
<PATH>
<PATH_ELEMENT>
<option name="myItemId" value="DagingSapi3" />
<option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjec
tNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="DagingSapi3" />
<option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode"
/>
</PATH_ELEMENT>
</PATH>
<PATH>
<PATH_ELEMENT>
<option name="myItemId" value="DagingSapi3" />
<option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjec
tNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="DagingSapi3" />
<option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode"
/>
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="DagingSapi3" />
<option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode"
/>
</PATH_ELEMENT>
</PATH>
<PATH>
<PATH_ELEMENT>
<option name="myItemId" value="DagingSapi3" />
<option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjec
tNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="DagingSapi3" />
<option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode"
/>
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="DagingSapi3" />
<option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode"
/>
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value=".idea" />
<option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode"
/>
</PATH_ELEMENT>
</PATH>
<PATH>
<PATH_ELEMENT>
<option name="myItemId" value="DagingSapi3" />
<option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjec
tNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="DagingSapi3" />
<option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode"
/>
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="DagingSapi3" />
<option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode"
/>
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value=".idea" />
<option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode"
/>
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="copyright" />
<option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode"
/>
</PATH_ELEMENT>
</PATH>
<PATH>
<PATH_ELEMENT>
<option name="myItemId" value="DagingSapi3" />
<option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjec
tNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="DagingSapi3" />
<option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode"
/>
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="DagingSapi3" />
<option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode"
/>
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value=".gradle" />
<option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode"
/>
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="2.2.1" />
<option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode"
/>
</PATH_ELEMENT>
</PATH>
<PATH>
<PATH_ELEMENT>
<option name="myItemId" value="DagingSapi3" />
<option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjec
tNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="DagingSapi3" />
<option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode"
/>
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value=".idea" />
<option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode"
/>
</PATH_ELEMENT>
</PATH>
<PATH>
<PATH_ELEMENT>
<option name="myItemId" value="DagingSapi3" />
<option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjec
tNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="DagingSapi3" />
<option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode"
/>
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value=".idea" />
<option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode"
/>
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="scopes" />
<option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode"
/>
</PATH_ELEMENT>
</PATH>
<PATH>
<PATH_ELEMENT>
<option name="myItemId" value="DagingSapi3" />
<option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjec
tNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="DagingSapi3" />
<option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode"
/>
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value=".idea" />
<option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode"
/>
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="copyright" />
<option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode"
/>
</PATH_ELEMENT>
</PATH>
</subPane>
</pane>
<pane id="AndroidView">
<subPane />
</pane>
<pane id="Scratches" />
</panes>
</component>
<component name="PropertiesComponent">
<property name="GoToClass.includeLibraries" value="false" />
<property name="GoToClass.toSaveIncludeLibraries"
value="false" />
<property name="GoToFile.includeJavaFiles" value="false" />
<property name="MemberChooser.sorted" value="false" />
<property name="MemberChooser.showClasses" value="true" />
<property name="MemberChooser.copyJavadoc" value="false" />
<property name="last_opened_file_path" value="$PROJECT_DIR$"
/>
<property name="FullScreen" value="false" />
<property name="settings.editor.selected.configurable"
value="preferences.lookFeel" />
<property name="settings.editor.splitter.proportion"
value="0.2" />
</component>
<component name="RunManager">
<configuration default="true"
type="AndroidRunConfigurationType" factoryName="Android
Application">
<module name="" />
<option name="ACTIVITY_CLASS" value="" />
<option name="MODE" value="default_activity" />
<option name="DEPLOY" value="true" />
<option name="ARTIFACT_NAME" value="" />
<option name="TARGET_SELECTION_MODE" value="EMULATOR" />
<option name="USE_LAST_SELECTED_DEVICE" value="false" />
<option name="PREFERRED_AVD" value="" />
<option name="USE_COMMAND_LINE" value="true" />
<option name="COMMAND_LINE" value="" />
<option name="WIPE_USER_DATA" value="false" />
<option name="DISABLE_BOOT_ANIMATION" value="false" />
<option name="NETWORK_SPEED" value="full" />
<option name="NETWORK_LATENCY" value="none" />
<option name="CLEAR_LOGCAT" value="false" />
<option name="SHOW_LOGCAT_AUTOMATICALLY" value="true" />
<option name="FILTER_LOGCAT_AUTOMATICALLY" value="true" />
<option name="SELECTED_CLOUD_MATRIX_CONFIGURATION_ID"
value="0" />
<option name="SELECTED_CLOUD_MATRIX_PROJECT_ID" value=""
/>
<option name="SELECTED_CLOUD_DEVICE_CONFIGURATION_ID"
value="0" />
<option name="SELECTED_CLOUD_DEVICE_PROJECT_ID" value=""
/>
<option name="IS_VALID_CLOUD_MATRIX_SELECTION"
value="false" />
<option name="INVALID_CLOUD_MATRIX_SELECTION_ERROR"
value="" />
<option name="IS_VALID_CLOUD_DEVICE_SELECTION"
value="false" />
<option name="INVALID_CLOUD_DEVICE_SELECTION_ERROR"
value="" />
<option name="CLOUD_DEVICE_SERIAL_NUMBER" value="" />
<method />
</configuration>
<configuration default="true"
type="AndroidTestRunConfigurationType" factoryName="Android
Tests">
<module name="" />
<option name="TESTING_TYPE" value="0" />
<option name="INSTRUMENTATION_RUNNER_CLASS" value="" />
<option name="METHOD_NAME" value="" />
<option name="CLASS_NAME" value="" />
<option name="PACKAGE_NAME" value="" />
<option name="TARGET_SELECTION_MODE" value="EMULATOR" />
<option name="USE_LAST_SELECTED_DEVICE" value="false" />
<option name="PREFERRED_AVD" value="" />
<option name="USE_COMMAND_LINE" value="true" />
<option name="COMMAND_LINE" value="" />
<option name="WIPE_USER_DATA" value="false" />
<option name="DISABLE_BOOT_ANIMATION" value="false" />
<option name="NETWORK_SPEED" value="full" />
<option name="NETWORK_LATENCY" value="none" />
<option name="CLEAR_LOGCAT" value="false" />
<option name="SHOW_LOGCAT_AUTOMATICALLY" value="true" />
<option name="FILTER_LOGCAT_AUTOMATICALLY" value="true" />
<option name="SELECTED_CLOUD_MATRIX_CONFIGURATION_ID"
value="0" />
<option name="SELECTED_CLOUD_MATRIX_PROJECT_ID" value=""
/>
<option name="SELECTED_CLOUD_DEVICE_CONFIGURATION_ID"
value="0" />
<option name="SELECTED_CLOUD_DEVICE_PROJECT_ID" value=""
/>
<option name="IS_VALID_CLOUD_MATRIX_SELECTION"
value="false" />
<option name="INVALID_CLOUD_MATRIX_SELECTION_ERROR"
value="" />
<option name="IS_VALID_CLOUD_DEVICE_SELECTION"
value="false" />
<option name="INVALID_CLOUD_DEVICE_SELECTION_ERROR"
value="" />
<option name="CLOUD_DEVICE_SERIAL_NUMBER" value="" />
<method />
</configuration>
<configuration default="true" type="Application"
factoryName="Application">
<extension name="coverage" enabled="false" merge="false"
sample_coverage="true" runner="idea" />
<option name="MAIN_CLASS_NAME" />
<option name="VM_PARAMETERS" />
<option name="PROGRAM_PARAMETERS" />
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false"
/>
<option name="ALTERNATIVE_JRE_PATH" />
<option name="ENABLE_SWING_INSPECTOR" value="false" />
<option name="ENV_VARIABLES" />
<option name="PASS_PARENT_ENVS" value="true" />
<module name="" />
<envs />
<method />
</configuration>
<configuration default="true" type="GradleRunConfiguration"
factoryName="Gradle">
<ExternalSystemSettings>
<option name="executionName" />
<option name="externalProjectPath" />
<option name="externalSystemIdString" value="GRADLE" />
<option name="scriptParameters" />
<option name="taskDescriptions">
<list />
</option>
<option name="taskNames">
<list />
</option>
<option name="vmOptions" />
</ExternalSystemSettings>
<method />
</configuration>
<configuration default="true" type="JUnit"
factoryName="JUnit">
<extension name="coverage" enabled="false" merge="false"
sample_coverage="true" runner="idea" />
<module name="" />
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false"
/>
<option name="ALTERNATIVE_JRE_PATH" />
<option name="PACKAGE_NAME" />
<option name="MAIN_CLASS_NAME" />
<option name="METHOD_NAME" />
<option name="TEST_OBJECT" value="class" />
<option name="VM_PARAMETERS" value="-ea" />
<option name="PARAMETERS" />
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
<option name="ENV_VARIABLES" />
<option name="PASS_PARENT_ENVS" value="true" />
<option name="TEST_SEARCH_SCOPE">
<value defaultName="moduleWithDependencies" />
</option>
<envs />
<patterns />
<method />
</configuration>
<configuration default="true" type="JarApplication"
factoryName="JAR Application">
<extension name="coverage" enabled="false" merge="false"
sample_coverage="true" runner="idea" />
<envs />
<method />
</configuration>
<configuration default="true" type="Remote"
factoryName="Remote">
<option name="USE_SOCKET_TRANSPORT" value="true" />
<option name="SERVER_MODE" value="false" />
<option name="SHMEM_ADDRESS" value="javadebug" />
<option name="HOST" value="localhost" />
<option name="PORT" value="5005" />
<method />
</configuration>
<configuration default="true" type="TestNG"
factoryName="TestNG">
<extension name="coverage" enabled="false" merge="false"
sample_coverage="true" runner="idea" />
<module name="" />
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false"
/>
<option name="ALTERNATIVE_JRE_PATH" />
<option name="SUITE_NAME" />
<option name="PACKAGE_NAME" />
<option name="MAIN_CLASS_NAME" />
<option name="METHOD_NAME" />
<option name="GROUP_NAME" />
<option name="TEST_OBJECT" value="CLASS" />
<option name="VM_PARAMETERS" value="-ea" />
<option name="PARAMETERS" />
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
<option name="OUTPUT_DIRECTORY" />
<option name="ANNOTATION_TYPE" />
<option name="ENV_VARIABLES" />
<option name="PASS_PARENT_ENVS" value="true" />
<option name="TEST_SEARCH_SCOPE">
<value defaultName="moduleWithDependencies" />
</option>
<option name="USE_DEFAULT_REPORTERS" value="false" />
<option name="PROPERTIES_FILE" />
<envs />
<properties />
<listeners />
<method />
</configuration>
<configuration name="<template>" type="Applet"
default="true" selected="false">
<option name="MAIN_CLASS_NAME" />
<option name="HTML_FILE_NAME" />
<option name="HTML_USED" value="false" />
<option name="WIDTH" value="400" />
<option name="HEIGHT" value="300" />
<option name="POLICY_FILE"
value="$APPLICATION_HOME_DIR$/bin/appletviewer.policy" />
<option name="VM_PARAMETERS" />
</configuration>
<configuration name="<template>"
type="#org.jetbrains.idea.devkit.run.PluginConfigurationType"
default="true" selected="false">
<option name="VM_PARAMETERS" value="-Xmx512m -Xms256m -
XX:MaxPermSize=250m -ea" />
</configuration>
<configuration name="<template>" type="WebApp"
default="true" selected="false">
<Host>localhost</Host>
<Port>5050</Port>
</configuration>
</component>
<component name="ShelveChangesManager" show_recycled="false"
/>
<component name="SvnConfiguration">
<configuration />
</component>
<component name="TaskManager">
<task active="true" id="Default" summary="Default task">
<changelist id="7a789915-958f-4d81-9c61-bd90438c373a"
name="Default" comment="" />
<created>1428850208966</created>
<option name="number" value="Default" />
<updated>1428850208966</updated>
</task>
<servers />
</component>
<component name="ToolWindowManager">
<frame x="-8" y="-8" width="1382" height="744" extended-
state="0" />
<editor active="true" />
<layout>
<window_info id="Palette	" active="false" anchor="left"
auto_hide="false" internal_type="DOCKED" type="DOCKED"
visible="false" weight="0.33" sideWeight="0.5" order="2"
side_tool="false" content_ui="tabs" />
<window_info id="Designer" active="false" anchor="right"
auto_hide="false" internal_type="DOCKED" type="DOCKED"
visible="false" weight="0.33" sideWeight="0.5" order="3"
side_tool="false" content_ui="tabs" />
<window_info id="Terminal" active="false" anchor="bottom"
auto_hide="false" internal_type="DOCKED" type="DOCKED"
visible="false" weight="0.33" sideWeight="0.5" order="13"
side_tool="false" content_ui="tabs" />
<window_info id="Captures" active="false" anchor="left"
auto_hide="false" internal_type="DOCKED" type="DOCKED"
visible="false" weight="0.33" sideWeight="0.5" order="3"
side_tool="false" content_ui="tabs" />
<window_info id="Event Log" active="false" anchor="bottom"
auto_hide="false" internal_type="DOCKED" type="DOCKED"
visible="true" weight="0.018707482" sideWeight="0.5" order="7"
side_tool="true" content_ui="tabs" />
<window_info id="Favorites" active="false" anchor="left"
auto_hide="false" internal_type="DOCKED" type="DOCKED"
visible="false" weight="0.33" sideWeight="0.5" order="3"
side_tool="true" content_ui="tabs" />
<window_info id="Version Control" active="false"
anchor="bottom" auto_hide="false" internal_type="DOCKED"
type="DOCKED" visible="false" weight="0.33" sideWeight="0.5"
order="8" side_tool="false" content_ui="tabs" />
<window_info id="Build Variants" active="false"
anchor="left" auto_hide="false" internal_type="DOCKED"
type="DOCKED" visible="false" weight="0.33" sideWeight="0.5"
order="3" side_tool="true" content_ui="tabs" />
<window_info id="Gradle Console" active="false"
anchor="bottom" auto_hide="false" internal_type="DOCKED"
type="DOCKED" visible="false" weight="0.33" sideWeight="0.5"
order="10" side_tool="true" content_ui="tabs" />
<window_info id="Android" active="false" anchor="bottom"
auto_hide="false" internal_type="DOCKED" type="DOCKED"
visible="false" weight="0.33" sideWeight="0.5" order="7"
side_tool="false" content_ui="tabs" />
<window_info id="TODO" active="false" anchor="bottom"
auto_hide="false" internal_type="DOCKED" type="DOCKED"
visible="false" weight="0.33" sideWeight="0.5" order="6"
side_tool="false" content_ui="tabs" />
<window_info id="Structure" active="false" anchor="left"
auto_hide="false" internal_type="DOCKED" type="DOCKED"
visible="false" weight="0.25" sideWeight="0.5" order="1"
side_tool="false" content_ui="tabs" />
<window_info id="Maven Projects" active="false"
anchor="right" auto_hide="false" internal_type="DOCKED"
type="DOCKED" visible="false" weight="0.125972" sideWeight="0.5"
order="4" side_tool="false" content_ui="tabs" />
<window_info id="Application Servers" active="false"
anchor="bottom" auto_hide="false" internal_type="DOCKED"
type="DOCKED" visible="false" weight="0.33" sideWeight="0.5"
order="11" side_tool="false" content_ui="tabs" />
<window_info id="Project" active="false" anchor="left"
auto_hide="false" internal_type="DOCKED" type="DOCKED"
visible="true" weight="0.39409986" sideWeight="0.5" order="0"
side_tool="false" content_ui="combo" />
<window_info id="Changes" active="false" anchor="bottom"
auto_hide="false" internal_type="DOCKED" type="DOCKED"
visible="false" weight="0.33" sideWeight="0.5" order="9"
side_tool="false" content_ui="tabs" />
<window_info id="Ant Build" active="false" anchor="right"
auto_hide="false" internal_type="DOCKED" type="DOCKED"
visible="false" weight="0.25" sideWeight="0.5" order="1"
side_tool="false" content_ui="tabs" />
<window_info id="Run" active="false" anchor="bottom"
auto_hide="false" internal_type="DOCKED" type="DOCKED"
visible="false" weight="0.33" sideWeight="0.5" order="2"
side_tool="false" content_ui="tabs" />
<window_info id="Hierarchy" active="false" anchor="right"
auto_hide="false" internal_type="DOCKED" type="DOCKED"
visible="false" weight="0.25" sideWeight="0.5" order="2"
side_tool="false" content_ui="combo" />
<window_info id="Memory Monitor" active="false"
anchor="bottom" auto_hide="false" internal_type="DOCKED"
type="DOCKED" visible="false" weight="0.33" sideWeight="0.5"
order="12" side_tool="true" content_ui="tabs" />
<window_info id="Cvs" active="false" anchor="bottom"
auto_hide="false" internal_type="DOCKED" type="DOCKED"
visible="false" weight="0.25" sideWeight="0.5" order="4"
side_tool="false" content_ui="tabs" />
<window_info id="Preview" active="false" anchor="right"
auto_hide="false" internal_type="DOCKED" type="DOCKED"
visible="false" weight="0.24886535" sideWeight="0.5" order="4"
side_tool="false" content_ui="tabs" />
<window_info id="Message" active="false" anchor="bottom"
auto_hide="false" internal_type="DOCKED" type="DOCKED"
visible="false" weight="0.33" sideWeight="0.5" order="0"
side_tool="false" content_ui="tabs" />
<window_info id="Find" active="false" anchor="bottom"
auto_hide="false" internal_type="DOCKED" type="DOCKED"
visible="false" weight="0.33" sideWeight="0.5" order="1"
side_tool="false" content_ui="tabs" />
<window_info id="Debug" active="false" anchor="bottom"
auto_hide="false" internal_type="DOCKED" type="DOCKED"
visible="false" weight="0.4" sideWeight="0.5" order="3"
side_tool="false" content_ui="tabs" />
<window_info id="Commander" active="false" anchor="right"
auto_hide="false" internal_type="SLIDING" type="SLIDING"
visible="false" weight="0.4" sideWeight="0.5" order="0"
side_tool="false" content_ui="tabs" />
<window_info id="Inspection" active="false"
anchor="bottom" auto_hide="false" internal_type="DOCKED"
type="DOCKED" visible="false" weight="0.4" sideWeight="0.5"
order="5" side_tool="false" content_ui="tabs" />
</layout>
</component>
<component name="Vcs.Log.UiProperties">
<option name="RECENTLY_FILTERED_USER_GROUPS">
<collection />
</option>
<option name="RECENTLY_FILTERED_BRANCH_GROUPS">
<collection />
</option>
</component>
<component name="VcsContentAnnotationSettings">
<option name="myLimit" value="2678400000" />
</component>
<component name="XDebuggerManager">
<breakpoint-manager />
<watches-manager />
</component>
<component name="editorHistoryManager">
<entry
file="file://$PROJECT_DIR$/.idea/copyright/profiles_settings.xml
">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="0" column="0" selection-start-line="0"
selection-start-column="0" selection-end-line="0" selection-end-
column="0" />
<folding />
</state>
</provider>
</entry>
<entry
file="file://$PROJECT_DIR$/DagingSapi3/app/src/main/java/irman/d
agingsapi/glcm/ClassLabel.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="0" column="0" selection-start-line="0"
selection-start-column="0" selection-end-line="0" selection-end-
column="0" />
</state>
</provider>
</entry>
<entry
file="file://$PROJECT_DIR$/DagingSapi3/app/src/main/java/irman/d
agingsapi/glcm/Feature.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="15" column="21" selection-start-line="15"
selection-start-column="21" selection-end-line="15" selection-
end-column="21" />
</state>
</provider>
</entry>
<entry
file="file://$PROJECT_DIR$/DagingSapi3/app/src/main/java/irman/d
agingsapi/glcm/FeatureExtraction.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="0" column="0" selection-start-line="0"
selection-start-column="0" selection-end-line="0" selection-end-
column="0" />
</state>
</provider>
</entry>
<entry
file="file://$PROJECT_DIR$/DagingSapi3/app/src/main/java/irman/d
agingsapi/glcm/GLCM.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="0" column="0" selection-start-line="0"
selection-start-column="0" selection-end-line="0" selection-end-
column="0" />
</state>
</provider>
</entry>
<entry
file="file://$PROJECT_DIR$/DagingSapi3/app/src/main/AndroidManif
est.xml">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="1" column="25" selection-start-line="1"
selection-start-column="25" selection-end-line="1" selection-
end-column="25" />
</state>
</provider>
</entry>
<entry
file="file://$PROJECT_DIR$/DagingSapi3/.idea/copyright/profiles_
settings.xml">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="0" column="0" selection-start-line="0"
selection-start-column="0" selection-end-line="0" selection-end-
column="0" />
</state>
</provider>
</entry>
<entry
file="file://$PROJECT_DIR$/DagingSapi3/app/src/main/res/layout/a
ctivity_capture_image.xml">
<provider editor-type-id="android-designer">
<state />
</provider>
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="0" column="29" selection-start-line="0"
selection-start-column="29" selection-end-line="0" selection-
end-column="29" />
</state>
</provider>
</entry>
<entry
file="file://$PROJECT_DIR$/DagingSapi3/app/src/main/res/layout/a
ctivity_main.xml">
<provider selected="true" editor-type-id="android-
designer">
<state />
</provider>
<provider editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="0" column="0" selection-start-line="0"
selection-start-column="0" selection-end-line="0" selection-end-
column="0" />
</state>
</provider>
</entry>
<entry
file="file://$PROJECT_DIR$/DagingSapi3/app/src/main/java/irman/d
agingsapi/glcm/GLCM.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="0" column="0" selection-start-line="0"
selection-start-column="0" selection-end-line="0" selection-end-
column="0" />
</state>
</provider>
</entry>
<entry
file="file://$PROJECT_DIR$/DagingSapi3/app/src/main/AndroidManif
est.xml">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="1" column="25" selection-start-line="1"
selection-start-column="25" selection-end-line="1" selection-
end-column="25" />
</state>
</provider>
</entry>
<entry
file="file://$PROJECT_DIR$/DagingSapi3/.idea/copyright/profiles_
settings.xml">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="0" column="0" selection-start-line="0"
selection-start-column="0" selection-end-line="0" selection-end-
column="0" />
</state>
</provider>
</entry>
<entry
file="file://$PROJECT_DIR$/DagingSapi3/app/src/main/res/layout/a
ctivity_capture_image.xml">
<provider editor-type-id="android-designer">
<state />
</provider>
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="0" column="29" selection-start-line="0"
selection-start-column="29" selection-end-line="0" selection-
end-column="29" />
</state>
</provider>
</entry>
<entry
file="file://$PROJECT_DIR$/DagingSapi3/app/src/main/res/layout/a
ctivity_main.xml">
<provider selected="true" editor-type-id="android-
designer">
<state />
</provider>
<provider editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="0" column="0" selection-start-line="0"
selection-start-column="0" selection-end-line="0" selection-end-
column="0" />
</state>
</provider>
</entry>
<entry
file="file://$PROJECT_DIR$/DagingSapi3/app/src/main/java/irman/d
agingsapi/glcm/ClassLabel.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="0" column="0" selection-start-line="0"
selection-start-column="0" selection-end-line="0" selection-end-
column="0" />
</state>
</provider>
</entry>
<entry
file="file://$PROJECT_DIR$/DagingSapi3/app/src/main/AndroidManif
est.xml">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="1" column="25" selection-start-line="1"
selection-start-column="25" selection-end-line="1" selection-
end-column="25" />
</state>
</provider>
</entry>
<entry
file="file://$PROJECT_DIR$/DagingSapi3/.idea/copyright/profiles_
settings.xml">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="0" column="0" selection-start-line="0"
selection-start-column="0" selection-end-line="0" selection-end-
column="0" />
</state>
</provider>
</entry>
<entry
file="file://$PROJECT_DIR$/DagingSapi3/app/src/main/res/layout/a
ctivity_capture_image.xml">
<provider editor-type-id="android-designer">
<state />
</provider>
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="0" column="29" selection-start-line="0"
selection-start-column="29" selection-end-line="0" selection-
end-column="29" />
</state>
</provider>
</entry>
<entry
file="file://$PROJECT_DIR$/DagingSapi3/app/src/main/AndroidManif
est.xml">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="1" column="25" selection-start-line="1"
selection-start-column="25" selection-end-line="1" selection-
end-column="25" />
</state>
</provider>
</entry>
<entry
file="file://$PROJECT_DIR$/DagingSapi3/.idea/copyright/profiles_
settings.xml">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="0" column="0" selection-start-line="0"
selection-start-column="0" selection-end-line="0" selection-end-
column="0" />
</state>
</provider>
</entry>
<entry
file="file://$PROJECT_DIR$/DagingSapi3/app/src/main/AndroidManif
est.xml">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="0" column="0" selection-start-line="0"
selection-start-column="0" selection-end-line="0" selection-end-
column="0" />
</state>
</provider>
</entry>
<entry
file="file://$PROJECT_DIR$/DagingSapi3/app/src/main/res/layout/a
ctivity_capture_image.xml">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="0" column="29" selection-start-line="0"
selection-start-column="29" selection-end-line="0" selection-
end-column="29" />
</state>
</provider>
</entry>
<entry
file="file://$PROJECT_DIR$/DagingSapi3/app/src/main/res/layout/a
ctivity_nbcapture_prediction.xml">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.14782609">
<caret line="3" column="40" selection-start-line="3"
selection-start-column="40" selection-end-line="3" selection-
end-column="40" />
</state>
</provider>
</entry>
<entry
file="file://$PROJECT_DIR$/DagingSapi3/app/src/main/res/layout/a
ctivity_capture_image.xml">
<provider editor-type-id="android-designer">
<state />
</provider>
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="0" column="29" selection-start-line="0"
selection-start-column="29" selection-end-line="0" selection-
end-column="29" />
</state>
</provider>
</entry>
<entry
file="file://$PROJECT_DIR$/DagingSapi3/app/src/main/res/layout/a
ctivity_main.xml">
<provider selected="true" editor-type-id="android-
designer">
<state />
</provider>
<provider editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="0" column="0" selection-start-line="0"
selection-start-column="0" selection-end-line="0" selection-end-
column="0" />
</state>
</provider>
</entry>
<entry
file="file://$PROJECT_DIR$/DagingSapi3/app/src/main/AndroidManif
est.xml">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="20" column="17" selection-start-line="20"
selection-start-column="17" selection-end-line="20" selection-
end-column="17" />
</state>
</provider>
</entry>
<entry
file="file://$PROJECT_DIR$/DagingSapi3/app/src/main/java/irman/d
agingsapi/glcm/Feature.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="15" column="21" selection-start-line="15"
selection-start-column="21" selection-end-line="15" selection-
end-column="21" />
</state>
</provider>
</entry>
<entry
file="file://$PROJECT_DIR$/DagingSapi3/app/src/main/java/irman/d
agingsapi/glcm/FeatureExtraction.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="0" column="0" selection-start-line="0"
selection-start-column="0" selection-end-line="0" selection-end-
column="0" />
</state>
</provider>
</entry>
<entry
file="file://$PROJECT_DIR$/DagingSapi3/app/src/main/java/irman/d
agingsapi/glcm/ClassLabel.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="0" column="0" selection-start-line="0"
selection-start-column="0" selection-end-line="0" selection-end-
column="0" />
</state>
</provider>
</entry>
<entry
file="file://$PROJECT_DIR$/DagingSapi3/app/src/main/java/irman/d
agingsapi/glcm/GLCM.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="36" column="16" selection-start-line="36"
selection-start-column="16" selection-end-line="36" selection-
end-column="16" />
</state>
</provider>
</entry>
<entry
file="file://$PROJECT_DIR$/DagingSapi3/.idea/copyright/profiles_
settings.xml">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.061930783">
<caret line="2" column="12" selection-start-line="2"
selection-start-column="12" selection-end-line="2" selection-
end-column="12" />
<folding />
</state>
</provider>
</entry>
<entry
file="file://$PROJECT_DIR$/.idea/copyright/profiles_settings.xml
">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="2" column="12" selection-start-line="2"
selection-start-column="12" selection-end-line="2" selection-
end-column="12" />
<folding />
</state>
</provider>
</entry>
<entry
file="file://$PROJECT_DIR$/.idea/scopes/scope_settings.xml">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="1" column="1" selection-start-line="0"
selection-start-column="0" selection-end-line="4" selection-end-
column="12" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/.idea/.name">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="0" column="3" selection-start-line="0"
selection-start-column="0" selection-end-line="0" selection-end-
column="11" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/.idea/compiler.xml">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="4" column="15" selection-start-line="0"
selection-start-column="0" selection-end-line="23" selection-
end-column="0" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/.idea/DagingSapi3.iml">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="0" column="0" selection-start-line="0"
selection-start-column="0" selection-end-line="23" selection-
end-column="9" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/.idea/misc.xml">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="0" column="0" selection-start-line="0"
selection-start-column="0" selection-end-line="5" selection-end-
column="0" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/.idea/encodings.xml">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="0" column="0" selection-start-line="0"
selection-start-column="0" selection-end-line="5" selection-end-
column="0" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/.idea/modules.xml">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="0" column="0" selection-start-line="0"
selection-start-column="0" selection-end-line="9" selection-end-
column="0" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/.idea/vcs.xml">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="0" column="0" selection-start-line="0"
selection-start-column="0" selection-end-line="7" selection-end-
column="0" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/.idea/workspace.xml">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.8142077">
<caret line="742" column="10" selection-start-
line="742" selection-start-column="10" selection-end-line="742"
selection-end-column="10" />
<folding />
</state>
</provider>
</entry>
</component>
</project>
profiles_settings.xml
<component name="CopyrightManager">
<settings default="" />
</component>
budi.xml
<component name="CopyrightManager">
<settings default="" />
</component>
appcompat_v7_21_0_2.xml
<component name="libraryTable">
<library name="appcompat-v7-21.0.2">
<CLASSES>
<root
url="file:///mnt/budi/Devel/android/DagingSapi3/app/build/interm
ediates/exploded-aar/com.android.support/appcompat-
v7/21.0.2/res" />
<root
url="jar:///mnt/budi/Devel/android/DagingSapi3/app/build/interme
diates/exploded-aar/com.android.support/appcompat-
v7/21.0.2/classes.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</component>
support_annotations_21_0_2.xml
<component name="libraryTable">
<library name="support-annotations-21.0.2">
<CLASSES>
<root url="jar:///mnt/budi/Software/bin/adt-bundle-linux-
x86_64-
20130219/sdk/extras/android/m2repository/com/android/support/sup
port-annotations/21.0.2/support-annotations-21.0.2.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar:///mnt/budi/Software/bin/adt-bundle-linux-
x86_64-
20130219/sdk/extras/android/m2repository/com/android/support/sup
port-annotations/21.0.2/support-annotations-21.0.2-
sources.jar!/" />
</SOURCES>
</library>
</component>
support_v4_21_0_2.xml
<component name="libraryTable">
<library name="support-v4-21.0.2">
<CLASSES>
<root
url="jar:///mnt/budi/Devel/android/DagingSapi3/app/build/interme
diates/exploded-aar/com.android.support/support-
v4/21.0.2/classes.jar!/" />
<root
url="file:///mnt/budi/Devel/android/DagingSapi3/app/build/interm
ediates/exploded-aar/com.android.support/support-v4/21.0.2/res"
/>
<root
url="jar:///mnt/budi/Devel/android/DagingSapi3/app/build/interme
diates/exploded-aar/com.android.support/support-
v4/21.0.2/libs/internal_impl-21.0.2.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar:///mnt/budi/Software/bin/adt-bundle-linux-
x86_64-
20130219/sdk/extras/android/m2repository/com/android/support/sup
port-v4/21.0.2/support-v4-21.0.2-sources.jar!/" />
</SOURCES>
</library>
</component>
scope_settings.xml
<component name="DependencyValidationManager">
<state>
<option name="SKIP_IMPORT_STATEMENTS" value="false" />
</state>
</component>
DagingSapi
compiler.xml
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="CompilerConfiguration">
<option name="DEFAULT_COMPILER" value="Javac" />
<resourceExtensions />
<wildcardResourcePatterns>
<entry name="!?*.java" />
<entry name="!?*.form" />
<entry name="!?*.class" />
<entry name="!?*.groovy" />
<entry name="!?*.scala" />
<entry name="!?*.flex" />
<entry name="!?*.kt" />
<entry name="!?*.clj" />
</wildcardResourcePatterns>
<annotationProcessing>
<profile default="true" name="Default" enabled="false">
<processorPath useClasspath="true" />
</profile>
</annotationProcessing>
</component>
</project>
encodings.xml
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Encoding" useUTFGuessing="true"
native2AsciiForPropertiesFiles="false" />
</project>
gradle.xml
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="GradleSettings">
<option name="linkedExternalProjectsSettings">
<GradleProjectSettings>
<option name="distributionType" value="LOCAL" />
<option name="externalProjectPath" value="$PROJECT_DIR$"
/>
<option name="gradleHome"
value="$APPLICATION_HOME_DIR$/gradle/gradle-2.2.1" />
<option name="modules">
<set>
<option value="/mnt/budi/Devel/android/DagingSapi3"
/>
<option
value="/mnt/budi/Devel/android/DagingSapi3/app" />
</set>
</option>
</GradleProjectSettings>
</option>
</component>
</project>
misc.xml
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="EntryPointsManager">
<entry_points version="2.0" />
</component>
<component name="ProjectInspectionProfilesVisibleTreeState">
<entry key="Project Default">
<profile-state>
<expanded-state>
<State>
<id />
</State>
</expanded-state>
<selected-state>
<State>
<id>Abstraction issues</id>
</State>
</selected-state>
</profile-state>
</entry>
</component>
<component name="ProjectRootManager" version="2"
languageLevel="JDK_1_7" assert-keyword="true" jdk-15="true"
project-jdk-name="1.7" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/build/classes" />
</component>
<component name="masterDetails">
<states>
<state key="ScopeChooserConfigurable.UI">
<settings>
<splitter-proportions>
<option name="proportions">
<list>
<option value="0.2" />
</list>
</option>
</splitter-proportions>
</settings>
</state>
</states>
</component>
</project>
modules.xml
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module
fileurl="file:///mnt/budi/Devel/android/DagingSapi3/DagingSapi3.
iml"
filepath="/mnt/budi/Devel/android/DagingSapi3/DagingSapi3.iml"
/>
<module
fileurl="file:///mnt/budi/Devel/android/DagingSapi3/app/app.iml"
filepath="/mnt/budi/Devel/android/DagingSapi3/app/app.iml" />
</modules>
</component>
</project>
vcs.xml
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="" vcs="" />
</component>
</project>
workspace.xml
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="AndroidConfiguredLogFilters">
<filters>
<filter>
<option name="logLevel" value="verbose" />
<option name="logMessagePattern" value="" />
<option name="logTagPattern" value="" />
<option name="name" value="app: irman.dagingsapi" />
<option name="packageNamePattern"
value="irman.dagingsapi" />
<option name="pid" value="" />
</filter>
</filters>
</component>
<component name="AndroidLayouts">
<shared>
<config />
</shared>
</component>
<component name="AndroidLogFilters">
<option name="TOOL_WINDOW_CUSTOM_FILTER"
value="CapturePredictionImage" />
<option name="TOOL_WINDOW_CONFIGURED_FILTER" value="app:
irman.dagingsapi" />
</component>
<component name="ChangeListManager">
<list default="true" id="4400ae06-6e58-4086-b88c-
87c8598fc463" name="Default" comment="" />
<ignored path="DagingSapi.iws" />
<ignored path=".idea/workspace.xml" />
<option name="TRACKING_ENABLED" value="true" />
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false"
/>
<option name="LAST_RESOLUTION" value="IGNORE" />
</component>
<component name="ChangesViewManager" flattened_view="true"
show_ignored="false" />
<component name="CreatePatchCommitExecutor">
<option name="PATCH_PATH" value="" />
</component>
<component name="DaemonCodeAnalyzer">
<disable_hints />
</component>
<component name="ExecutionTargetManager"
SELECTED_TARGET="default_target" />
<component name="FavoritesManager">
<favorites_list name="DagingSapi" />
</component>
<component name="FileEditorManager">
<leaf>
<file leaf-file-name="MainActivity.java" pinned="true"
current="false" current-in-tab="false">
<entry
file="file:///mnt/budi/Devel/android/DagingSapi3/app/src/main/ja
va/irman/dagingsapi/MainActivity.java">
<provider selected="true" editor-type-id="text-
editor">
<state vertical-scroll-proportion="0.0" vertical-
offset="1856" max-vertical-offset="2412">
<caret line="102" column="43" selection-start-
line="102" selection-start-column="43" selection-end-line="102"
selection-end-column="43" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="GLCMProcessActivity.java"
pinned="false" current="false" current-in-tab="false">
<entry
file="file:///mnt/budi/Devel/android/DagingSapi3/app/src/main/ja
va/irman/dagingsapi/GLCMProcessActivity.java">
<provider selected="true" editor-type-id="text-
editor">
<state vertical-scroll-proportion="0.0" vertical-
offset="758" max-vertical-offset="4338">
<caret line="43" column="13" selection-start-
line="43" selection-start-column="13" selection-end-line="43"
selection-end-column="13" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="NBCapturePredictionActivity.java"
pinned="false" current="true" current-in-tab="true">
<entry
file="file:///mnt/budi/Devel/android/DagingSapi3/app/src/main/ja
va/irman/dagingsapi/NBCapturePredictionActivity.java">
<provider selected="true" editor-type-id="text-
editor">
<state vertical-scroll-proportion="7.4784174"
vertical-offset="324" max-vertical-offset="5076">
<caret line="338" column="12" selection-start-
line="338" selection-start-column="12" selection-end-line="338"
selection-end-column="12" />
<folding>
<element
signature="method#onCreate#0;class#NBCapturePredictionActivity#0
" expanded="true" />
<element signature="e#4524#5052#0"
expanded="true" />
<element signature="e#4833#4980#0"
expanded="true" />
<element signature="e#4965#4966#0"
expanded="true" />
<element signature="e#5045#5046#0"
expanded="true" />
<element
signature="method#cropImage#0;class#NBCapturePredictionActivity#
0" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file leaf-file-name="NBPredictionResultActivity.java"
pinned="false" current="false" current-in-tab="false">
<entry
file="file:///mnt/budi/Devel/android/DagingSapi3/app/src/main/ja
va/irman/dagingsapi/NBPredictionResultActivity.java">
<provider selected="true" editor-type-id="text-
editor">
<state vertical-scroll-proportion="0.0" vertical-
offset="0" max-vertical-offset="936">
<caret line="34" column="62" selection-start-
line="34" selection-start-column="62" selection-end-line="34"
selection-end-column="62" />
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file leaf-file-name="activity_nbprediction_result.xml"
pinned="false" current="false" current-in-tab="false">
<entry
file="file:///mnt/budi/Devel/android/DagingSapi3/app/src/main/re
s/layout/activity_nbprediction_result.xml">
<provider selected="true" editor-type-id="text-
editor">
<state vertical-scroll-proportion="-4.3448277"
vertical-offset="0" max-vertical-offset="864">
<caret line="7" column="44" selection-start-
line="7" selection-start-column="44" selection-end-line="7"
selection-end-column="44" />
<folding>
<element signature="e#886#907#0" expanded="true"
/>
</folding>
</state>
</provider>
<provider editor-type-id="android-designer">
<state />
</provider>
</entry>
</file>
<file leaf-file-name="FeatureExtraction.java"
pinned="false" current="false" current-in-tab="false">
<entry
file="file:///mnt/budi/Devel/android/DagingSapi3/app/src/main/ja
va/irman/dagingsapi/glcm/FeatureExtraction.java">
<provider selected="true" editor-type-id="text-
editor">
<state vertical-scroll-proportion="0.0" vertical-
offset="234" max-vertical-offset="4896">
<caret line="13" column="13" selection-start-
line="13" selection-start-column="13" selection-end-line="13"
selection-end-column="13" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="Probability.java" pinned="false"
current="false" current-in-tab="false">
<entry
file="file:///mnt/budi/Devel/android/DagingSapi3/app/src/main/ja
va/irman/dagingsapi/naivebayes/Probability.java">
<provider selected="true" editor-type-id="text-
editor">
<state vertical-scroll-proportion="0.0" vertical-
offset="1116" max-vertical-offset="1278">
<caret line="62" column="25" selection-start-
line="62" selection-start-column="25" selection-end-line="62"
selection-end-column="25" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="NBTrainingActivity.java"
pinned="false" current="false" current-in-tab="false">
<entry
file="file:///mnt/budi/Devel/android/DagingSapi3/app/src/main/ja
va/irman/dagingsapi/NBTrainingActivity.java">
<provider selected="true" editor-type-id="text-
editor">
<state vertical-scroll-proportion="0.0" vertical-
offset="2772" max-vertical-offset="3582">
<caret line="154" column="74" selection-start-
line="154" selection-start-column="74" selection-end-line="154"
selection-end-column="74" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="Dataset.java" pinned="false"
current="false" current-in-tab="false">
<entry
file="file:///mnt/budi/Devel/android/DagingSapi3/app/src/main/ja
va/irman/dagingsapi/sqlhelpers/Dataset.java">
<provider selected="true" editor-type-id="text-
editor">
<state vertical-scroll-proportion="0.0" vertical-
offset="1854" max-vertical-offset="2772">
<caret line="103" column="39" selection-start-
line="103" selection-start-column="39" selection-end-line="103"
selection-end-column="39" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="Gaussian.java" pinned="false"
current="false" current-in-tab="false">
<entry
file="file:///mnt/budi/Devel/android/DagingSapi3/app/src/main/ja
va/irman/dagingsapi/naivebayes/Gaussian.java">
<provider selected="true" editor-type-id="text-
editor">
<state vertical-scroll-proportion="0.0" vertical-
offset="1316" max-vertical-offset="2358">
<caret line="139" column="17" selection-start-
line="139" selection-start-column="17" selection-end-line="139"
selection-end-column="17" />
<folding>
<element
signature="method#calcAndReturn#0;class#Gaussian#0"
expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
</leaf>
</component>
<component name="FindManager">
<FindUsagesManager>
<setting name="OPEN_NEW_TAB" value="true" />
</FindUsagesManager>
</component>
<component name="GradleLocalSettings">
<option name="tasksExpandState">
<map>
<entry key="" value="true" />
</map>
</option>
<option name="availableProjects">
<map>
<entry>
<key>
<ExternalProjectPojo>
<option name="name" value="DagingSapi3" />
<option name="path" value="$PROJECT_DIR$" />
</ExternalProjectPojo>
</key>
<value>
<list>
<ExternalProjectPojo>
<option name="name" value=":app" />
<option name="path"
value="/mnt/budi/Devel/android/DagingSapi3/app" />
</ExternalProjectPojo>
<ExternalProjectPojo>
<option name="name" value="DagingSapi3" />
<option name="path"
value="/mnt/budi/Devel/android/DagingSapi3" />
</ExternalProjectPojo>
</list>
</value>
</entry>
</map>
</option>
<option name="availableTasks">
<map>
<entry key="/mnt/budi/Devel/android/DagingSapi3/app">
<value>
<list>
<ExternalTaskPojo>
<option name="description" value="Displays the
Android dependencies of the project" />
<option name="linkedExternalProjectPath"
value="/mnt/budi/Devel/android/DagingSapi3/app" />
<option name="name" value="androidDependencies"
/>
</ExternalTaskPojo>
<ExternalTaskPojo>
<option name="description" value="Assembles all
variants of all applications and secondary packages." />
<option name="linkedExternalProjectPath"
value="/mnt/budi/Devel/android/DagingSapi3/app" />
<option name="name" value="assemble" />
</ExternalTaskPojo>
<ExternalTaskPojo>
<option name="description" value="Assembles all
Debug builds" />
<option name="linkedExternalProjectPath"
value="/mnt/budi/Devel/android/DagingSapi3/app" />
<option name="name" value="assembleDebug" />
</ExternalTaskPojo>
<ExternalTaskPojo>
<option name="description" value="Assembles the
Test build for the Debug build" />
<option name="linkedExternalProjectPath"
value="/mnt/budi/Devel/android/DagingSapi3/app" />
<option name="name" value="assembleDebugTest" />
</ExternalTaskPojo>
<ExternalTaskPojo>
<option name="description" value="Assembles all
Release builds" />
<option name="linkedExternalProjectPath"
value="/mnt/budi/Devel/android/DagingSapi3/app" />
<option name="name" value="assembleRelease" />
</ExternalTaskPojo>
<ExternalTaskPojo>
<option name="description" value="Assembles and
tests this project." />
<option name="linkedExternalProjectPath"
value="/mnt/budi/Devel/android/DagingSapi3/app" />
<option name="name" value="build" />
</ExternalTaskPojo>
<ExternalTaskPojo>
<option name="description" value="Assembles and
tests this project and all projects that depend on it." />
<option name="linkedExternalProjectPath"
value="/mnt/budi/Devel/android/DagingSapi3/app" />
<option name="name" value="buildDependents" />
</ExternalTaskPojo>
<ExternalTaskPojo>
<option name="description" value="Assembles and
tests this project and all projects it depends on." />
<option name="linkedExternalProjectPath"
value="/mnt/budi/Devel/android/DagingSapi3/app" />
<option name="name" value="buildNeeded" />
</ExternalTaskPojo>
<ExternalTaskPojo>
<option name="description" value="Runs all
checks." />
<option name="linkedExternalProjectPath"
value="/mnt/budi/Devel/android/DagingSapi3/app" />
<option name="name" value="check" />
</ExternalTaskPojo>
<ExternalTaskPojo>
<option name="linkedExternalProjectPath"
value="/mnt/budi/Devel/android/DagingSapi3/app" />
<option name="name" value="checkDebugManifest"
/>
</ExternalTaskPojo>
<ExternalTaskPojo>
<option name="linkedExternalProjectPath"
value="/mnt/budi/Devel/android/DagingSapi3/app" />
<option name="name" value="checkReleaseManifest"
/>
</ExternalTaskPojo>
<ExternalTaskPojo>
<option name="description" value="Deletes the
build directory." />
<option name="linkedExternalProjectPath"
value="/mnt/budi/Devel/android/DagingSapi3/app" />
<option name="name" value="clean" />
</ExternalTaskPojo>
<ExternalTaskPojo>
<option name="linkedExternalProjectPath"
value="/mnt/budi/Devel/android/DagingSapi3/app" />
<option name="name" value="compileDebugAidl" />
</ExternalTaskPojo>
<ExternalTaskPojo>
<option name="linkedExternalProjectPath"
value="/mnt/budi/Devel/android/DagingSapi3/app" />
<option name="name" value="compileDebugJava" />
</ExternalTaskPojo>
<ExternalTaskPojo>
<option name="linkedExternalProjectPath"
value="/mnt/budi/Devel/android/DagingSapi3/app" />
<option name="name" value="compileDebugNdk" />
</ExternalTaskPojo>
<ExternalTaskPojo>
<option name="linkedExternalProjectPath"
value="/mnt/budi/Devel/android/DagingSapi3/app" />
<option name="name"
value="compileDebugRenderscript" />
</ExternalTaskPojo>
<ExternalTaskPojo>
<option name="linkedExternalProjectPath"
value="/mnt/budi/Devel/android/DagingSapi3/app" />
<option name="name" value="compileDebugSources"
/>
</ExternalTaskPojo>
<ExternalTaskPojo>
<option name="linkedExternalProjectPath"
value="/mnt/budi/Devel/android/DagingSapi3/app" />
<option name="name" value="compileDebugTestAidl"
/>
</ExternalTaskPojo>
<ExternalTaskPojo>
<option name="linkedExternalProjectPath"
value="/mnt/budi/Devel/android/DagingSapi3/app" />
<option name="name" value="compileDebugTestJava"
/>
</ExternalTaskPojo>
<ExternalTaskPojo>
<option name="linkedExternalProjectPath"
value="/mnt/budi/Devel/android/DagingSapi3/app" />
<option name="name" value="compileDebugTestNdk"
/>
</ExternalTaskPojo>
<ExternalTaskPojo>
<option name="linkedExternalProjectPath"
value="/mnt/budi/Devel/android/DagingSapi3/app" />
<option name="name"
value="compileDebugTestRenderscript" />
</ExternalTaskPojo>
<ExternalTaskPojo>
<option name="linkedExternalProjectPath"
value="/mnt/budi/Devel/android/DagingSapi3/app" />
<option name="name"
value="compileDebugTestSources" />
</ExternalTaskPojo>
<ExternalTaskPojo>
<option name="linkedExternalProjectPath"
value="/mnt/budi/Devel/android/DagingSapi3/app" />
<option name="name" value="compileLint" />
</ExternalTaskPojo>
<ExternalTaskPojo>
<option name="linkedExternalProjectPath"
value="/mnt/budi/Devel/android/DagingSapi3/app" />
<option name="name" value="compileReleaseAidl"
/>
</ExternalTaskPojo>
<ExternalTaskPojo>
<option name="linkedExternalProjectPath"
value="/mnt/budi/Devel/android/DagingSapi3/app" />
<option name="name" value="compileReleaseJava"
/>
</ExternalTaskPojo>
<ExternalTaskPojo>
<option name="linkedExternalProjectPath"
value="/mnt/budi/Devel/android/DagingSapi3/app" />
<option name="name" value="compileReleaseNdk" />
</ExternalTaskPojo>
<ExternalTaskPojo>
<option name="linkedExternalProjectPath"
value="/mnt/budi/Devel/android/DagingSapi3/app" />
<option name="name"
value="compileReleaseRenderscript" />
</ExternalTaskPojo>
<ExternalTaskPojo>
<option name="linkedExternalProjectPath"
value="/mnt/budi/Devel/android/DagingSapi3/app" />
<option name="name"
value="compileReleaseSources" />
</ExternalTaskPojo>
<ExternalTaskPojo>
<option name="description" value="Installs and
runs the tests for Build 'debug' on connected devices." />
<option name="linkedExternalProjectPath"
value="/mnt/budi/Devel/android/DagingSapi3/app" />
<option name="name" value="connectedAndroidTest"
/>
</ExternalTaskPojo>
<ExternalTaskPojo>
<option name="description" value="Runs all
device checks on currently connected devices." />
<option name="linkedExternalProjectPath"
value="/mnt/budi/Devel/android/DagingSapi3/app" />
<option name="name" value="connectedCheck" />
</ExternalTaskPojo>
<ExternalTaskPojo>
<option name="description" value="Runs all
device checks using Device Providers and Test Servers." />
<option name="linkedExternalProjectPath"
value="/mnt/budi/Devel/android/DagingSapi3/app" />
<option name="name" value="deviceCheck" />
</ExternalTaskPojo>
<ExternalTaskPojo>
<option name="linkedExternalProjectPath"
value="/mnt/budi/Devel/android/DagingSapi3/app" />
<option name="name" value="dexDebug" />
</ExternalTaskPojo>
<ExternalTaskPojo>
<option name="linkedExternalProjectPath"
value="/mnt/budi/Devel/android/DagingSapi3/app" />
<option name="name" value="dexDebugTest" />
</ExternalTaskPojo>
<ExternalTaskPojo>
<option name="linkedExternalProjectPath"
value="/mnt/budi/Devel/android/DagingSapi3/app" />
<option name="name" value="dexRelease" />
</ExternalTaskPojo>
<ExternalTaskPojo>
<option name="linkedExternalProjectPath"
value="/mnt/budi/Devel/android/DagingSapi3/app" />
<option name="name" value="generateDebugAssets"
/>
</ExternalTaskPojo>
<ExternalTaskPojo>
<option name="linkedExternalProjectPath"
value="/mnt/budi/Devel/android/DagingSapi3/app" />
<option name="name"
value="generateDebugBuildConfig" />
</ExternalTaskPojo>
<ExternalTaskPojo>
<option name="linkedExternalProjectPath"
value="/mnt/budi/Devel/android/DagingSapi3/app" />
<option name="name"
value="generateDebugResValues" />
</ExternalTaskPojo>
<ExternalTaskPojo>
<option name="linkedExternalProjectPath"
value="/mnt/budi/Devel/android/DagingSapi3/app" />
<option name="name"
value="generateDebugResources" />
</ExternalTaskPojo>
<ExternalTaskPojo>
<option name="linkedExternalProjectPath"
value="/mnt/budi/Devel/android/DagingSapi3/app" />
<option name="name" value="generateDebugSources"
/>
</ExternalTaskPojo>
<ExternalTaskPojo>
<option name="linkedExternalProjectPath"
value="/mnt/budi/Devel/android/DagingSapi3/app" />
<option name="name"
value="generateDebugTestAssets" />
</ExternalTaskPojo>
<ExternalTaskPojo>
<option name="linkedExternalProjectPath"
value="/mnt/budi/Devel/android/DagingSapi3/app" />
<option name="name"
value="generateDebugTestBuildConfig" />
</ExternalTaskPojo>
<ExternalTaskPojo>
<option name="linkedExternalProjectPath"
value="/mnt/budi/Devel/android/DagingSapi3/app" />
<option name="name"
value="generateDebugTestResValues" />
</ExternalTaskPojo>
<ExternalTaskPojo>
<option name="linkedExternalProjectPath"
value="/mnt/budi/Devel/android/DagingSapi3/app" />
<option name="name"
value="generateDebugTestResources" />
</ExternalTaskPojo>
<ExternalTaskPojo>
<option name="linkedExternalProjectPath"
value="/mnt/budi/Devel/android/DagingSapi3/app" />
<option name="name"
value="generateDebugTestSources" />
</ExternalTaskPojo>
<ExternalTaskPojo>
<option name="linkedExternalProjectPath"
value="/mnt/budi/Devel/android/DagingSapi3/app" />
<option name="name"
value="generateReleaseAssets" />
</ExternalTaskPojo>
<ExternalTaskPojo>
<option name="linkedExternalProjectPath"
value="/mnt/budi/Devel/android/DagingSapi3/app" />
<option name="name"
value="generateReleaseBuildConfig" />
</ExternalTaskPojo>
<ExternalTaskPojo>
<option name="linkedExternalProjectPath"
value="/mnt/budi/Devel/android/DagingSapi3/app" />
<option name="name"
value="generateReleaseResValues" />
</ExternalTaskPojo>
<ExternalTaskPojo>
<option name="linkedExternalProjectPath"
value="/mnt/budi/Devel/android/DagingSapi3/app" />
<option name="name"
value="generateReleaseResources" />
</ExternalTaskPojo>
<ExternalTaskPojo>
<option name="linkedExternalProjectPath"
value="/mnt/budi/Devel/android/DagingSapi3/app" />
<option name="name"
value="generateReleaseSources" />
</ExternalTaskPojo>
<ExternalTaskPojo>
<option name="description" value="Installs the
Debug build" />
<option name="linkedExternalProjectPath"
value="/mnt/budi/Devel/android/DagingSapi3/app" />
<option name="name" value="installDebug" />
</ExternalTaskPojo>
<ExternalTaskPojo>
<option name="description" value="Installs the
Test build for the Debug build" />
<option name="linkedExternalProjectPath"
value="/mnt/budi/Devel/android/DagingSapi3/app" />
<option name="name" value="installDebugTest" />
</ExternalTaskPojo>
<ExternalTaskPojo>
<option name="description" value="Runs lint on
all variants." />
<option name="linkedExternalProjectPath"
value="/mnt/budi/Devel/android/DagingSapi3/app" />
<option name="name" value="lint" />
</ExternalTaskPojo>
<ExternalTaskPojo>
<option name="description" value="Runs lint on
the Debug build" />
<option name="linkedExternalProjectPath"
value="/mnt/budi/Devel/android/DagingSapi3/app" />
<option name="name" value="lintDebug" />
</ExternalTaskPojo>
<ExternalTaskPojo>
<option name="description" value="Runs lint on
the Release build" />
<option name="linkedExternalProjectPath"
value="/mnt/budi/Devel/android/DagingSapi3/app" />
<option name="name" value="lintRelease" />
</ExternalTaskPojo>
<ExternalTaskPojo>
<option name="description" value="Runs lint on
just the fatal issues in the Release build" />
<option name="linkedExternalProjectPath"
value="/mnt/budi/Devel/android/DagingSapi3/app" />
<option name="name" value="lintVitalRelease" />
</ExternalTaskPojo>
<ExternalTaskPojo>
<option name="linkedExternalProjectPath"
value="/mnt/budi/Devel/android/DagingSapi3/app" />
<option name="name" value="mergeDebugAssets" />
</ExternalTaskPojo>
<ExternalTaskPojo>
<option name="linkedExternalProjectPath"
value="/mnt/budi/Devel/android/DagingSapi3/app" />
<option name="name" value="mergeDebugResources"
/>
</ExternalTaskPojo>
<ExternalTaskPojo>
<option name="linkedExternalProjectPath"
value="/mnt/budi/Devel/android/DagingSapi3/app" />
<option name="name" value="mergeDebugTestAssets"
/>
</ExternalTaskPojo>
<ExternalTaskPojo>
<option name="linkedExternalProjectPath"
value="/mnt/budi/Devel/android/DagingSapi3/app" />
<option name="name"
value="mergeDebugTestResources" />
</ExternalTaskPojo>
<ExternalTaskPojo>
<option name="linkedExternalProjectPath"
value="/mnt/budi/Devel/android/DagingSapi3/app" />
<option name="name" value="mergeReleaseAssets"
/>
</ExternalTaskPojo>
<ExternalTaskPojo>
<option name="linkedExternalProjectPath"
value="/mnt/budi/Devel/android/DagingSapi3/app" />
<option name="name"
value="mergeReleaseResources" />
</ExternalTaskPojo>
<ExternalTaskPojo>
<option name="linkedExternalProjectPath"
value="/mnt/budi/Devel/android/DagingSapi3/app" />
<option name="name" value="packageDebug" />
</ExternalTaskPojo>
<ExternalTaskPojo>
<option name="linkedExternalProjectPath"
value="/mnt/budi/Devel/android/DagingSapi3/app" />
<option name="name" value="packageDebugTest" />
</ExternalTaskPojo>
<ExternalTaskPojo>
<option name="linkedExternalProjectPath"
value="/mnt/budi/Devel/android/DagingSapi3/app" />
<option name="name" value="packageRelease" />
</ExternalTaskPojo>
<ExternalTaskPojo>
<option name="linkedExternalProjectPath"
value="/mnt/budi/Devel/android/DagingSapi3/app" />
<option name="name" value="preBuild" />
</ExternalTaskPojo>
<ExternalTaskPojo>
<option name="linkedExternalProjectPath"
value="/mnt/budi/Devel/android/DagingSapi3/app" />
<option name="name" value="preDebugBuild" />
</ExternalTaskPojo>
<ExternalTaskPojo>
<option name="linkedExternalProjectPath"
value="/mnt/budi/Devel/android/DagingSapi3/app" />
<option name="name" value="preDebugTestBuild" />
</ExternalTaskPojo>
<ExternalTaskPojo>
<option name="linkedExternalProjectPath"
value="/mnt/budi/Devel/android/DagingSapi3/app" />
<option name="name" value="preDexDebug" />
</ExternalTaskPojo>
<ExternalTaskPojo>
<option name="linkedExternalProjectPath"
value="/mnt/budi/Devel/android/DagingSapi3/app" />
<option name="name" value="preDexDebugTest" />
</ExternalTaskPojo>
<ExternalTaskPojo>
<option name="linkedExternalProjectPath"
value="/mnt/budi/Devel/android/DagingSapi3/app" />
<option name="name" value="preDexRelease" />
</ExternalTaskPojo>
<ExternalTaskPojo>
<option name="linkedExternalProjectPath"
value="/mnt/budi/Devel/android/DagingSapi3/app" />
<option name="name" value="preReleaseBuild" />
</ExternalTaskPojo>
<ExternalTaskPojo>
<option name="description" value="Prepare
com.android.support:appcompat-v7:21.0.2" />
<option name="linkedExternalProjectPath"
value="/mnt/budi/Devel/android/DagingSapi3/app" />
<option name="name"
value="prepareComAndroidSupportAppcompatV72102Library" />
</ExternalTaskPojo>
<ExternalTaskPojo>
<option name="description" value="Prepare
com.android.support:support-v4:21.0.2" />
<option name="linkedExternalProjectPath"
value="/mnt/budi/Devel/android/DagingSapi3/app" />
<option name="name"
value="prepareComAndroidSupportSupportV42102Library" />
</ExternalTaskPojo>
<ExternalTaskPojo>
<option name="linkedExternalProjectPath"
value="/mnt/budi/Devel/android/DagingSapi3/app" />
<option name="name"
value="prepareDebugDependencies" />
</ExternalTaskPojo>
<ExternalTaskPojo>
<option name="linkedExternalProjectPath"
value="/mnt/budi/Devel/android/DagingSapi3/app" />
<option name="name"
value="prepareDebugTestDependencies" />
</ExternalTaskPojo>
<ExternalTaskPojo>
<option name="linkedExternalProjectPath"
value="/mnt/budi/Devel/android/DagingSapi3/app" />
<option name="name"
value="prepareReleaseDependencies" />
</ExternalTaskPojo>
<ExternalTaskPojo>
<option name="linkedExternalProjectPath"
value="/mnt/budi/Devel/android/DagingSapi3/app" />
<option name="name" value="processDebugJavaRes"
/>
</ExternalTaskPojo>
<ExternalTaskPojo>
<option name="linkedExternalProjectPath"
value="/mnt/budi/Devel/android/DagingSapi3/app" />
<option name="name" value="processDebugManifest"
/>
</ExternalTaskPojo>
<ExternalTaskPojo>
<option name="linkedExternalProjectPath"
value="/mnt/budi/Devel/android/DagingSapi3/app" />
<option name="name"
value="processDebugResources" />
</ExternalTaskPojo>
<ExternalTaskPojo>
<option name="linkedExternalProjectPath"
value="/mnt/budi/Devel/android/DagingSapi3/app" />
<option name="name"
value="processDebugTestJavaRes" />
</ExternalTaskPojo>
<ExternalTaskPojo>
<option name="linkedExternalProjectPath"
value="/mnt/budi/Devel/android/DagingSapi3/app" />
<option name="name"
value="processDebugTestManifest" />
</ExternalTaskPojo>
<ExternalTaskPojo>
<option name="linkedExternalProjectPath"
value="/mnt/budi/Devel/android/DagingSapi3/app" />
<option name="name"
value="processDebugTestResources" />
</ExternalTaskPojo>
<ExternalTaskPojo>
<option name="linkedExternalProjectPath"
value="/mnt/budi/Devel/android/DagingSapi3/app" />
<option name="name"
value="processReleaseJavaRes" />
</ExternalTaskPojo>
<ExternalTaskPojo>
<option name="linkedExternalProjectPath"
value="/mnt/budi/Devel/android/DagingSapi3/app" />
<option name="name"
value="processReleaseManifest" />
</ExternalTaskPojo>
<ExternalTaskPojo>
<option name="linkedExternalProjectPath"
value="/mnt/budi/Devel/android/DagingSapi3/app" />
<option name="name"
value="processReleaseResources" />
</ExternalTaskPojo>
<ExternalTaskPojo>
<option name="description" value="Displays the
signing info for each variant" />
<option name="linkedExternalProjectPath"
value="/mnt/budi/Devel/android/DagingSapi3/app" />
<option name="name" value="signingReport" />
</ExternalTaskPojo>
<ExternalTaskPojo>
<option name="description" value="Uninstall all
applications." />
<option name="linkedExternalProjectPath"
value="/mnt/budi/Devel/android/DagingSapi3/app" />
<option name="name" value="uninstallAll" />
</ExternalTaskPojo>
<ExternalTaskPojo>
<option name="description" value="Uninstalls the
Debug build" />
<option name="linkedExternalProjectPath"
value="/mnt/budi/Devel/android/DagingSapi3/app" />
<option name="name" value="uninstallDebug" />
</ExternalTaskPojo>
<ExternalTaskPojo>
<option name="description" value="Uninstalls the
Test build for the Debug build" />
<option name="linkedExternalProjectPath"
value="/mnt/budi/Devel/android/DagingSapi3/app" />
<option name="name" value="uninstallDebugTest"
/>
</ExternalTaskPojo>
<ExternalTaskPojo>
<option name="description" value="Uninstalls the
Release build" />
<option name="linkedExternalProjectPath"
value="/mnt/budi/Devel/android/DagingSapi3/app" />
<option name="name" value="uninstallRelease" />
</ExternalTaskPojo>
<ExternalTaskPojo>
<option name="linkedExternalProjectPath"
value="/mnt/budi/Devel/android/DagingSapi3/app" />
<option name="name" value="validateDebugSigning"
/>
</ExternalTaskPojo>
<ExternalTaskPojo>
<option name="linkedExternalProjectPath"
value="/mnt/budi/Devel/android/DagingSapi3/app" />
<option name="name" value="zipalignDebug" />
</ExternalTaskPojo>
</list>
</value>
</entry>
</map>
</option>
<option name="modificationStamps">
<map>
<entry key="$PROJECT_DIR$" value="4266755282831" />
</map>
</option>
<option name="projectBuildClasspath">
<map>
<entry key="$PROJECT_DIR$">
<value>
<ExternalProjectBuildClasspathPojo>
<option name="modulesBuildClasspath">
<map>
<entry
key="/mnt/budi/Devel/android/DagingSapi3">
<value>
<ExternalModuleBuildClasspathPojo>
<option name="entries">
<list>
<option
value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/to
ols/build/gradle/1.0.0/gradle-1.0.0-sources.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/to
ols/build/gradle/1.0.0/gradle-1.0.0.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/to
ols/lint/lint/24.0.0/lint-24.0.0-sources.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/to
ols/lint/lint/24.0.0/lint-24.0.0.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/to
ols/build/builder/1.0.0/builder-1.0.0-sources.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/to
ols/build/builder/1.0.0/builder-1.0.0.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/m2repository/net/sf/proguar
d/proguard-gradle/5.1/proguard-gradle-5.1-sources.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/m2repository/net/sf/proguar
d/proguard-gradle/5.1/proguard-gradle-5.1.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/m2repository/org/eclipse/jd
t/core/compiler/ecj/4.2.2/ecj-4.2.2-sources.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/m2repository/org/eclipse/jd
t/core/compiler/ecj/4.2.2/ecj-4.2.2.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/to
ols/lint/lint-checks/24.0.0/lint-checks-24.0.0-sources.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/to
ols/lint/lint-checks/24.0.0/lint-checks-24.0.0.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/to
ols/sdk-common/24.0.0/sdk-common-24.0.0-sources.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/to
ols/sdk-common/24.0.0/sdk-common-24.0.0.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/m2repository/org/bouncycast
le/bcprov-jdk15on/1.48/bcprov-jdk15on-1.48-sources.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/m2repository/org/bouncycast
le/bcprov-jdk15on/1.48/bcprov-jdk15on-1.48.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/to
ols/sdklib/24.0.0/sdklib-24.0.0-sources.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/to
ols/sdklib/24.0.0/sdklib-24.0.0.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/to
ols/common/24.0.0/common-24.0.0-sources.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/to
ols/common/24.0.0/common-24.0.0.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/squareup/j
avawriter/2.5.0/javawriter-2.5.0-sources.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/squareup/j
avawriter/2.5.0/javawriter-2.5.0.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/to
ols/build/builder-test-api/1.0.0/builder-test-api-1.0.0-
sources.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/to
ols/build/builder-test-api/1.0.0/builder-test-api-1.0.0.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/to
ols/ddms/ddmlib/24.0.0/ddmlib-24.0.0-sources.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/to
ols/ddms/ddmlib/24.0.0/ddmlib-24.0.0.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/to
ols/build/manifest-merger/24.0.0/manifest-merger-24.0.0-
sources.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/to
ols/build/manifest-merger/24.0.0/manifest-merger-24.0.0.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/to
ols/build/builder-model/1.0.0/builder-model-1.0.0-sources.jar"
/>
<option
value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/to
ols/build/builder-model/1.0.0/builder-model-1.0.0.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/m2repository/org/bouncycast
le/bcpkix-jdk15on/1.48/bcpkix-jdk15on-1.48-sources.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/m2repository/org/bouncycast
le/bcpkix-jdk15on/1.48/bcpkix-jdk15on-1.48.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/m2repository/net/sf/proguar
d/proguard-base/5.1/proguard-base-5.1-sources.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/m2repository/net/sf/proguar
d/proguard-base/5.1/proguard-base-5.1.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/to
ols/lint/lint-api/24.0.0/lint-api-24.0.0-sources.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/to
ols/lint/lint-api/24.0.0/lint-api-24.0.0.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/m2repository/org/ow2/asm/as
m-analysis/4.0/asm-analysis-4.0-sources.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/m2repository/org/ow2/asm/as
m-analysis/4.0/asm-analysis-4.0.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/to
ols/dvlib/24.0.0/dvlib-24.0.0-sources.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/to
ols/dvlib/24.0.0/dvlib-24.0.0.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/m2repository/org/apache/htt
pcomponents/httpclient/4.1.1/httpclient-4.1.1-sources.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/m2repository/org/apache/htt
pcomponents/httpclient/4.1.1/httpclient-4.1.1.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/m2repository/org/apache/htt
pcomponents/httpmime/4.1/httpmime-4.1-sources.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/m2repository/org/apache/htt
pcomponents/httpmime/4.1/httpmime-4.1.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/to
ols/layoutlib/layoutlib-api/24.0.0/layoutlib-api-24.0.0-
sources.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/to
ols/layoutlib/layoutlib-api/24.0.0/layoutlib-api-24.0.0.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/m2repository/org/apache/com
mons/commons-compress/1.8.1/commons-compress-1.8.1-sources.jar"
/>
<option
value="$APPLICATION_HOME_DIR$/gradle/m2repository/org/apache/com
mons/commons-compress/1.8.1/commons-compress-1.8.1.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/google/gua
va/guava/17.0/guava-17.0-sources.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/google/gua
va/guava/17.0/guava-17.0.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/m2repository/net/sf/kxml/kx
ml2/2.3.0/kxml2-2.3.0-sources.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/m2repository/net/sf/kxml/kx
ml2/2.3.0/kxml2-2.3.0.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/m2repository/org/ow2/asm/as
m/4.0/asm-4.0-sources.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/m2repository/org/ow2/asm/as
m/4.0/asm-4.0.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/to
ols/external/lombok/lombok-ast/0.2.2/lombok-ast-0.2.2-
sources.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/to
ols/external/lombok/lombok-ast/0.2.2/lombok-ast-0.2.2.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/m2repository/org/ow2/asm/as
m-tree/4.0/asm-tree-4.0-sources.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/m2repository/org/ow2/asm/as
m-tree/4.0/asm-tree-4.0.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/m2repository/org/apache/htt
pcomponents/httpcore/4.1/httpcore-4.1-sources.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/m2repository/org/apache/htt
pcomponents/httpcore/4.1/httpcore-4.1.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/m2repository/commons-
logging/commons-logging/1.1.1/commons-logging-1.1.1-sources.jar"
/>
<option
value="$APPLICATION_HOME_DIR$/gradle/m2repository/commons-
logging/commons-logging/1.1.1/commons-logging-1.1.1.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/m2repository/commons-
codec/commons-codec/1.4/commons-codec-1.4-sources.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/m2repository/commons-
codec/commons-codec/1.4/commons-codec-1.4.jar" />
</list>
</option>
<option name="path"
value="/mnt/budi/Devel/android/DagingSapi3" />
</ExternalModuleBuildClasspathPojo>
</value>
</entry>
<entry
key="/mnt/budi/Devel/android/DagingSapi3/app">
<value>
<ExternalModuleBuildClasspathPojo>
<option name="entries">
<list>
<option
value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/to
ols/build/gradle/1.0.0/gradle-1.0.0-sources.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/to
ols/build/gradle/1.0.0/gradle-1.0.0.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/to
ols/lint/lint/24.0.0/lint-24.0.0-sources.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/to
ols/lint/lint/24.0.0/lint-24.0.0.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/to
ols/build/builder/1.0.0/builder-1.0.0-sources.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/to
ols/build/builder/1.0.0/builder-1.0.0.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/m2repository/net/sf/proguar
d/proguard-gradle/5.1/proguard-gradle-5.1-sources.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/m2repository/net/sf/proguar
d/proguard-gradle/5.1/proguard-gradle-5.1.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/m2repository/org/eclipse/jd
t/core/compiler/ecj/4.2.2/ecj-4.2.2-sources.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/m2repository/org/eclipse/jd
t/core/compiler/ecj/4.2.2/ecj-4.2.2.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/to
ols/lint/lint-checks/24.0.0/lint-checks-24.0.0-sources.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/to
ols/lint/lint-checks/24.0.0/lint-checks-24.0.0.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/to
ols/sdk-common/24.0.0/sdk-common-24.0.0-sources.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/to
ols/sdk-common/24.0.0/sdk-common-24.0.0.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/m2repository/org/bouncycast
le/bcprov-jdk15on/1.48/bcprov-jdk15on-1.48-sources.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/m2repository/org/bouncycast
le/bcprov-jdk15on/1.48/bcprov-jdk15on-1.48.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/to
ols/sdklib/24.0.0/sdklib-24.0.0-sources.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/to
ols/sdklib/24.0.0/sdklib-24.0.0.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/to
ols/common/24.0.0/common-24.0.0-sources.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/to
ols/common/24.0.0/common-24.0.0.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/squareup/j
avawriter/2.5.0/javawriter-2.5.0-sources.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/squareup/j
avawriter/2.5.0/javawriter-2.5.0.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/to
ols/build/builder-test-api/1.0.0/builder-test-api-1.0.0-
sources.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/to
ols/build/builder-test-api/1.0.0/builder-test-api-1.0.0.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/to
ols/ddms/ddmlib/24.0.0/ddmlib-24.0.0-sources.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/to
ols/ddms/ddmlib/24.0.0/ddmlib-24.0.0.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/to
ols/build/manifest-merger/24.0.0/manifest-merger-24.0.0-
sources.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/to
ols/build/manifest-merger/24.0.0/manifest-merger-24.0.0.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/to
ols/build/builder-model/1.0.0/builder-model-1.0.0-sources.jar"
/>
<option
value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/to
ols/build/builder-model/1.0.0/builder-model-1.0.0.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/m2repository/org/bouncycast
le/bcpkix-jdk15on/1.48/bcpkix-jdk15on-1.48-sources.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/m2repository/org/bouncycast
le/bcpkix-jdk15on/1.48/bcpkix-jdk15on-1.48.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/m2repository/net/sf/proguar
d/proguard-base/5.1/proguard-base-5.1-sources.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/m2repository/net/sf/proguar
d/proguard-base/5.1/proguard-base-5.1.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/to
ols/lint/lint-api/24.0.0/lint-api-24.0.0-sources.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/to
ols/lint/lint-api/24.0.0/lint-api-24.0.0.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/m2repository/org/ow2/asm/as
m-analysis/4.0/asm-analysis-4.0-sources.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/m2repository/org/ow2/asm/as
m-analysis/4.0/asm-analysis-4.0.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/to
ols/dvlib/24.0.0/dvlib-24.0.0-sources.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/to
ols/dvlib/24.0.0/dvlib-24.0.0.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/m2repository/org/apache/htt
pcomponents/httpclient/4.1.1/httpclient-4.1.1-sources.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/m2repository/org/apache/htt
pcomponents/httpclient/4.1.1/httpclient-4.1.1.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/m2repository/org/apache/htt
pcomponents/httpmime/4.1/httpmime-4.1-sources.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/m2repository/org/apache/htt
pcomponents/httpmime/4.1/httpmime-4.1.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/to
ols/layoutlib/layoutlib-api/24.0.0/layoutlib-api-24.0.0-
sources.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/to
ols/layoutlib/layoutlib-api/24.0.0/layoutlib-api-24.0.0.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/m2repository/org/apache/com
mons/commons-compress/1.8.1/commons-compress-1.8.1-sources.jar"
/>
<option
value="$APPLICATION_HOME_DIR$/gradle/m2repository/org/apache/com
mons/commons-compress/1.8.1/commons-compress-1.8.1.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/google/gua
va/guava/17.0/guava-17.0-sources.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/google/gua
va/guava/17.0/guava-17.0.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/m2repository/net/sf/kxml/kx
ml2/2.3.0/kxml2-2.3.0-sources.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/m2repository/net/sf/kxml/kx
ml2/2.3.0/kxml2-2.3.0.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/m2repository/org/ow2/asm/as
m/4.0/asm-4.0-sources.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/m2repository/org/ow2/asm/as
m/4.0/asm-4.0.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/to
ols/external/lombok/lombok-ast/0.2.2/lombok-ast-0.2.2-
sources.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/to
ols/external/lombok/lombok-ast/0.2.2/lombok-ast-0.2.2.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/m2repository/org/ow2/asm/as
m-tree/4.0/asm-tree-4.0-sources.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/m2repository/org/ow2/asm/as
m-tree/4.0/asm-tree-4.0.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/m2repository/org/apache/htt
pcomponents/httpcore/4.1/httpcore-4.1-sources.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/m2repository/org/apache/htt
pcomponents/httpcore/4.1/httpcore-4.1.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/m2repository/commons-
logging/commons-logging/1.1.1/commons-logging-1.1.1-sources.jar"
/>
<option
value="$APPLICATION_HOME_DIR$/gradle/m2repository/commons-
logging/commons-logging/1.1.1/commons-logging-1.1.1.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/m2repository/commons-
codec/commons-codec/1.4/commons-codec-1.4-sources.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/m2repository/commons-
codec/commons-codec/1.4/commons-codec-1.4.jar" />
<option
value="/mnt/budi/Software/bin/adt-bundle-linux-x86_64-
20130219/sdk/extras/android/m2repository/com/android/support/app
compat-v7/21.0.2/appcompat-v7-21.0.2.aar" />
<option
value="/mnt/budi/Software/bin/adt-bundle-linux-x86_64-
20130219/sdk/extras/android/m2repository/com/android/support/sup
port-v4/21.0.2/support-v4-21.0.2.aar" />
<option
value="/mnt/budi/Software/bin/adt-bundle-linux-x86_64-
20130219/sdk/extras/android/m2repository/com/android/support/sup
port-annotations/21.0.2/support-annotations-21.0.2.jar" />
</list>
</option>
<option name="path"
value="/mnt/budi/Devel/android/DagingSapi3/app" />
</ExternalModuleBuildClasspathPojo>
</value>
</entry>
</map>
</option>
<option name="name" value="app" />
<option name="projectBuildClasspath">
<list>
<option
value="$APPLICATION_HOME_DIR$/gradle/gradle-2.2.1/lib/ant-
launcher-1.9.3.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/gradle-2.2.1/lib/gradle-
core-2.2.1.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/gradle-2.2.1/lib/gradle-ui-
2.2.1.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/gradle-2.2.1/lib/gradle-
launcher-2.2.1.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/gradle-2.2.1/lib/gradle-
open-api-2.2.1.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/gradle-2.2.1/lib/gradle-
base-services-groovy-2.2.1.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/gradle-2.2.1/lib/gradle-
native-2.2.1.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/gradle-2.2.1/lib/gradle-
base-services-2.2.1.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/gradle-2.2.1/lib/gradle-
cli-2.2.1.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/gradle-2.2.1/lib/groovy-
all-2.3.6.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/gradle-2.2.1/lib/gradle-
docs-2.2.1.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/gradle-2.2.1/lib/gradle-
resources-2.2.1.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/gradle-2.2.1/lib/gradle-
messaging-2.2.1.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/gradle-2.2.1/lib/gradle-
wrapper-2.2.1.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/gradle-2.2.1/lib/ant-
1.9.3.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/gradle-2.2.1/lib/gradle-
model-core-2.2.1.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/gradle-2.2.1/lib/gradle-
model-groovy-2.2.1.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/gradle-2.2.1/lib/gradle-
tooling-api-2.2.1.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/gradle-
2.2.1/lib/plugins/gradle-plugins-2.2.1.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/gradle-
2.2.1/lib/plugins/gradle-plugin-use-2.2.1.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/gradle-
2.2.1/lib/plugins/gradle-sonar-2.2.1.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/gradle-
2.2.1/lib/plugins/ivy-2.2.0.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/gradle-
2.2.1/lib/plugins/gradle-signing-2.2.1.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/gradle-
2.2.1/lib/plugins/gradle-platform-base-2.2.1.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/gradle-
2.2.1/lib/plugins/gradle-platform-native-2.2.1.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/gradle-
2.2.1/lib/plugins/gradle-scala-2.2.1.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/gradle-
2.2.1/lib/plugins/gradle-resources-http-2.2.1.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/gradle-
2.2.1/lib/plugins/gradle-cunit-2.2.1.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/gradle-
2.2.1/lib/plugins/gradle-diagnostics-2.2.1.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/gradle-
2.2.1/lib/plugins/gradle-language-java-2.2.1.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/gradle-
2.2.1/lib/plugins/gradle-platform-jvm-2.2.1.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/gradle-
2.2.1/lib/plugins/gradle-language-groovy-2.2.1.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/gradle-
2.2.1/lib/plugins/gradle-code-quality-2.2.1.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/gradle-
2.2.1/lib/plugins/gradle-maven-2.2.1.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/gradle-
2.2.1/lib/plugins/gradle-build-init-2.2.1.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/gradle-
2.2.1/lib/plugins/gradle-announce-2.2.1.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/gradle-
2.2.1/lib/plugins/gradle-jacoco-2.2.1.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/gradle-
2.2.1/lib/plugins/gradle-jetty-2.2.1.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/gradle-
2.2.1/lib/plugins/gradle-ear-2.2.1.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/gradle-
2.2.1/lib/plugins/gradle-dependency-management-2.2.1.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/gradle-
2.2.1/lib/plugins/gradle-reporting-2.2.1.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/gradle-
2.2.1/lib/plugins/gradle-plugin-development-2.2.1.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/gradle-
2.2.1/lib/plugins/gradle-javascript-2.2.1.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/gradle-
2.2.1/lib/plugins/gradle-publish-2.2.1.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/gradle-
2.2.1/lib/plugins/gradle-language-native-2.2.1.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/gradle-
2.2.1/lib/plugins/gradle-ide-native-2.2.1.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/gradle-
2.2.1/lib/plugins/gradle-ivy-2.2.1.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/gradle-
2.2.1/lib/plugins/gradle-language-jvm-2.2.1.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/gradle-
2.2.1/lib/plugins/gradle-ide-2.2.1.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/gradle-
2.2.1/lib/plugins/ant-antlr-1.9.3.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/gradle-
2.2.1/lib/plugins/gradle-antlr-2.2.1.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/gradle-
2.2.1/lib/plugins/gradle-osgi-2.2.1.jar" />
<option
value="$APPLICATION_HOME_DIR$/gradle/gradle-
2.2.1/lib/plugins/gradle-build-comparison-2.2.1.jar" />
<option
value="$PROJECT_DIR$/buildSrc/src/main/java" />
<option
value="$PROJECT_DIR$/buildSrc/src/main/groovy" />
</list>
</option>
</ExternalProjectBuildClasspathPojo>
</value>
</entry>
</map>
</option>
</component>
<component name="IdeDocumentHistory">
<option name="changedFiles">
<list>
<option
value="/mnt/budi/Devel/android/DagingSapi3/app/src/main/java/irm
an/dagingsapi/glcm/ClassLabel.java" />
<option
value="/mnt/budi/Devel/android/DagingSapi3/app/src/main/java/irm
an/dagingsapi/sqlhelpers/TrainingDataSource.java" />
<option
value="/mnt/budi/Devel/android/DagingSapi3/app/src/main/java/irm
an/dagingsapi/TrainingNBActivity.java" />
<option
value="/mnt/budi/Devel/android/DagingSapi3/app/src/main/java/irm
an/dagingsapi/glcm/OccurrenceAt0.java" />
<option
value="/mnt/budi/Devel/android/DagingSapi3/app/src/main/java/irm
an/dagingsapi/utils/FileLog.java" />
<option
value="/mnt/budi/Devel/android/DagingSapi3/app/src/main/java/irm
an/dagingsapi/ProcessGLCMActivity.java" />
<option
value="/mnt/budi/Devel/android/DagingSapi3/app/src/main/java/irm
an/dagingsapi/naivebayes/NaiveBayesPriorProb.java" />
<option
value="/mnt/budi/Devel/android/DagingSapi3/app/src/main/java/irm
an/dagingsapi/naivebayes/NBResult.java" />
<option
value="/mnt/budi/Devel/android/DagingSapi3/app/src/main/res/layo
ut/activity_nbprediction.xml" />
<option
value="/mnt/budi/Devel/android/DagingSapi3/app/src/main/java/irm
an/dagingsapi/naivebayes/PostProbability.java" />
<option
value="/mnt/budi/Devel/android/DagingSapi3/app/src/main/java/irm
an/dagingsapi/glcm/Feature.java" />
<option
value="/mnt/budi/Devel/android/DagingSapi3/app/src/main/java/irm
an/dagingsapi/glcm/FeatureMap.java" />
<option
value="/mnt/budi/Devel/android/DagingSapi3/app/src/main/java/irm
an/dagingsapi/glcm/FeatureList.java" />
<option
value="/mnt/budi/Devel/android/DagingSapi3/app/src/main/java/irm
an/dagingsapi/sqlhelpers/ProbabilityDS.java" />
<option
value="/mnt/budi/Devel/android/DagingSapi3/app/src/main/java/irm
an/dagingsapi/naivebayes/NaiveBayes.java" />
<option
value="/mnt/budi/Devel/android/DagingSapi3/app/src/main/res/layo
ut/activity_nbtraining.xml" />
<option
value="/mnt/budi/Devel/android/DagingSapi3/app/src/main/AndroidM
anifest.xml" />
<option
value="/mnt/budi/Devel/android/DagingSapi3/app/src/main/java/irm
an/dagingsapi/naivebayes/GaussianDS.java" />
<option
value="/mnt/budi/Devel/android/DagingSapi3/app/src/main/java/irm
an/dagingsapi/sqlhelpers/Gaussian.java" />
<option
value="/mnt/budi/Devel/android/DagingSapi3/app/src/main/java/irm
an/dagingsapi/NBPredictionActivity.java" />
<option
value="/mnt/budi/Devel/android/DagingSapi3/app/src/main/res/layo
ut/activity_nbcapture_prediction.xml" />
<option
value="/mnt/budi/Devel/android/DagingSapi3/app/src/main/java/irm
an/dagingsapi/camerahelper/CameraPreview.java" />
<option
value="/mnt/budi/Devel/android/DagingSapi3/app/src/main/java/irm
an/dagingsapi/utils/SimpleImage.java" />
<option
value="/mnt/budi/Devel/android/DagingSapi3/app/src/main/java/irm
an/dagingsapi/naivebayes/NaiveBayesPredictionOnly.java" />
<option
value="/mnt/budi/Devel/android/DagingSapi3/app/src/main/res/valu
es/array.xml" />
<option
value="/mnt/budi/Devel/android/DagingSapi3/app/src/main/res/valu
es/arrays.xml" />
<option
value="/mnt/budi/Devel/android/DagingSapi3/app/src/main/res/layo
ut/activity_capture_image.xml" />
<option
value="/mnt/budi/Devel/android/DagingSapi3/app/src/main/res/layo
ut/activity_main.xml" />
<option
value="/mnt/budi/Devel/android/DagingSapi3/app/src/main/java/irm
an/dagingsapi/CaptureImageActivity.java" />
<option
value="/mnt/budi/Devel/android/DagingSapi3/app/src/main/res/layo
ut/activity_process_glcm.xml" />
<option
value="/mnt/budi/Devel/android/DagingSapi3/app/src/main/java/irm
an/dagingsapi/sqlhelpers/TrainingDataset.java" />
<option
value="/mnt/budi/Devel/android/DagingSapi3/app/src/main/java/irm
an/dagingsapi/sqlhelpers/Dataset.java" />
<option
value="/mnt/budi/Devel/android/DagingSapi3/app/src/main/res/layo
ut/activity_training_nb.xml" />
<option
value="/mnt/budi/Devel/android/DagingSapi3/app/src/main/java/irm
an/dagingsapi/naivebayes/GaussianValue.java" />
<option
value="/mnt/budi/Devel/android/DagingSapi3/app/src/main/java/irm
an/dagingsapi/sqlhelpers/TrainingResultDataset.java" />
<option
value="/mnt/budi/Devel/android/DagingSapi3/app/src/main/java/irm
an/dagingsapi/naivebayes/NaiveBayesPrediction.java" />
<option
value="/mnt/budi/Devel/android/DagingSapi3/app/src/main/java/irm
an/dagingsapi/glcm/FeatureExtraction.java" />
<option
value="/mnt/budi/Devel/android/DagingSapi3/app/src/main/java/irm
an/dagingsapi/utils/SimpleMatrix.java" />
<option
value="/mnt/budi/Devel/android/DagingSapi3/app/src/main/java/irm
an/dagingsapi/MainActivity.java" />
<option
value="/mnt/budi/Devel/android/DagingSapi3/app/src/main/java/irm
an/dagingsapi/glcm/Occurrence.java" />
<option
value="/mnt/budi/Devel/android/DagingSapi3/app/src/main/java/irm
an/dagingsapi/glcm/GLCM.java" />
<option
value="/mnt/budi/Devel/android/DagingSapi3/app/src/main/java/irm
an/dagingsapi/GLCMProcessActivity.java" />
<option
value="/mnt/budi/Devel/android/DagingSapi3/app/src/main/java/irm
an/dagingsapi/sqlhelpers/DBHelper.java" />
<option
value="/mnt/budi/Devel/android/DagingSapi3/app/src/main/java/irm
an/dagingsapi/sqlhelpers/TrainingDatasetDS.java" />
<option
value="/mnt/budi/Devel/android/DagingSapi3/app/src/main/java/irm
an/dagingsapi/NBTrainingActivity.java" />
<option
value="/mnt/budi/Devel/android/DagingSapi3/app/src/main/java/irm
an/dagingsapi/naivebayes/Probability.java" />
<option
value="/mnt/budi/Devel/android/DagingSapi3/app/src/main/java/irm
an/dagingsapi/sqlhelpers/GaussianDS.java" />
<option
value="/mnt/budi/Devel/android/DagingSapi3/app/src/main/java/irm
an/dagingsapi/naivebayes/Gaussian.java" />
<option
value="/mnt/budi/Devel/android/DagingSapi3/app/src/main/java/irm
an/dagingsapi/NBCapturePredictionActivity.java" />
<option
value="/mnt/budi/Devel/android/DagingSapi3/app/src/main/java/irm
an/dagingsapi/NBPredictionResultActivity.java" />
<option
value="/mnt/budi/Devel/android/DagingSapi3/app/src/main/res/layo
ut/activity_nbprediction_result.xml" />
</list>
</option>
</component>
<component name="ProjectFrameBounds">
<option name="x" value="-1" />
<option name="y" value="28" />
<option name="width" value="1368" />
<option name="height" value="741" />
</component>
<component name="ProjectLevelVcsManager"
settingsEditedManually="false">
<OptionsSetting value="true" id="Add" />
<OptionsSetting value="true" id="Remove" />
<OptionsSetting value="true" id="Checkout" />
<OptionsSetting value="true" id="Update" />
<OptionsSetting value="true" id="Status" />
<OptionsSetting value="true" id="Edit" />
<ConfirmationsSetting value="0" id="Add" />
<ConfirmationsSetting value="0" id="Remove" />
</component>
<component name="ProjectReloadState">
<option name="STATE" value="0" />
</component>
<component name="ProjectView">
<navigator currentView="ProjectPane" proportions=""
version="1">
<flattenPackages />
<showMembers />
<showModules />
<showLibraryContents />
<hideEmptyPackages />
<abbreviatePackageNames />
<autoscrollToSource />
<autoscrollFromSource />
<sortByType />
</navigator>
<panes>
<pane id="PackagesPane" />
<pane id="Scope" />
<pane id="ProjectPane">
<subPane>
<PATH>
<PATH_ELEMENT>
<option name="myItemId" value="DagingSapi" />
<option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjec
tNode" />
</PATH_ELEMENT>
</PATH>
<PATH>
<PATH_ELEMENT>
<option name="myItemId" value="DagingSapi" />
<option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjec
tNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="DagingSapi3" />
<option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode"
/>
</PATH_ELEMENT>
</PATH>
<PATH>
<PATH_ELEMENT>
<option name="myItemId" value="DagingSapi" />
<option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjec
tNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="DagingSapi3" />
<option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode"
/>
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="app" />
<option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode"
/>
</PATH_ELEMENT>
</PATH>
<PATH>
<PATH_ELEMENT>
<option name="myItemId" value="DagingSapi" />
<option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjec
tNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="DagingSapi3" />
<option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode"
/>
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="app" />
<option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode"
/>
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="src" />
<option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode"
/>
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="main" />
<option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode"
/>
</PATH_ELEMENT>
</PATH>
<PATH>
<PATH_ELEMENT>
<option name="myItemId" value="DagingSapi" />
<option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjec
tNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="DagingSapi3" />
<option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode"
/>
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="app" />
<option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode"
/>
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="src" />
<option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode"
/>
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="main" />
<option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode"
/>
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="res" />
<option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode"
/>
</PATH_ELEMENT>
</PATH>
<PATH>
<PATH_ELEMENT>
<option name="myItemId" value="DagingSapi" />
<option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjec
tNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="DagingSapi3" />
<option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode"
/>
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="app" />
<option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode"
/>
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="src" />
<option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode"
/>
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="main" />
<option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode"
/>
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="res" />
<option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode"
/>
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="layout" />
<option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode"
/>
</PATH_ELEMENT>
</PATH>
<PATH>
<PATH_ELEMENT>
<option name="myItemId" value="DagingSapi" />
<option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjec
tNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="DagingSapi3" />
<option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode"
/>
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="app" />
<option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode"
/>
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="src" />
<option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode"
/>
</PATH_ELEMENT>
</PATH>
</subPane>
</pane>
<pane id="AndroidView" />
</panes>
</component>
<component name="PropertiesComponent">
<property name="GoToClass.includeLibraries" value="false" />
<property name="GoToClass.toSaveIncludeLibraries"
value="false" />
<property name="GoToFile.includeJavaFiles" value="false" />
<property name="MemberChooser.sorted" value="false" />
<property name="MemberChooser.showClasses" value="true" />
<property name="MemberChooser.copyJavadoc" value="false" />
<property name="options.lastSelected"
value="preferences.keymap" />
<property name="options.splitter.main.proportions"
value="0.3" />
<property name="options.splitter.details.proportions"
value="0.2" />
<property name="options.searchVisible" value="true" />
<property name="recentsLimit" value="5" />
<property name="ANDROID_EXTENDED_DEVICE_CHOOSER_SERIALS"
value="0123456789ABCDEF" />
<property name="OverrideImplement.combined" value="true" />
<property name="OverrideImplement.overriding.sorted"
value="false" />
</component>
<component name="RecentsManager">
<key name="android.template.packageName">
<recent name="irman.dagingsapi" />
</key>
<key name="android.template.parentActivityClass">
<recent name="" />
</key>
</component>
<component name="RunManager" selected="Android
Application.app">
<configuration default="true"
type="AndroidTestRunConfigurationType" factoryName="Android
Tests">
<module name="" />
<option name="TESTING_TYPE" value="0" />
<option name="INSTRUMENTATION_RUNNER_CLASS" value="" />
<option name="METHOD_NAME" value="" />
<option name="CLASS_NAME" value="" />
<option name="PACKAGE_NAME" value="" />
<option name="TARGET_SELECTION_MODE" value="EMULATOR" />
<option name="USE_LAST_SELECTED_DEVICE" value="false" />
<option name="PREFERRED_AVD" value="" />
<option name="USE_COMMAND_LINE" value="true" />
<option name="COMMAND_LINE" value="" />
<option name="WIPE_USER_DATA" value="false" />
<option name="DISABLE_BOOT_ANIMATION" value="false" />
<option name="NETWORK_SPEED" value="full" />
<option name="NETWORK_LATENCY" value="none" />
<option name="CLEAR_LOGCAT" value="false" />
<option name="SHOW_LOGCAT_AUTOMATICALLY" value="true" />
<option name="FILTER_LOGCAT_AUTOMATICALLY" value="true" />
<method />
</configuration>
<configuration default="true" type="Remote"
factoryName="Remote">
<option name="USE_SOCKET_TRANSPORT" value="true" />
<option name="SERVER_MODE" value="false" />
<option name="SHMEM_ADDRESS" value="javadebug" />
<option name="HOST" value="localhost" />
<option name="PORT" value="5005" />
<method />
</configuration>
<configuration default="true" type="TestNG"
factoryName="TestNG">
<module name="" />
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false"
/>
<option name="ALTERNATIVE_JRE_PATH" />
<option name="SUITE_NAME" />
<option name="PACKAGE_NAME" />
<option name="MAIN_CLASS_NAME" />
<option name="METHOD_NAME" />
<option name="GROUP_NAME" />
<option name="TEST_OBJECT" value="CLASS" />
<option name="VM_PARAMETERS" value="-ea" />
<option name="PARAMETERS" />
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
<option name="OUTPUT_DIRECTORY" />
<option name="ANNOTATION_TYPE" />
<option name="ENV_VARIABLES" />
<option name="PASS_PARENT_ENVS" value="true" />
<option name="TEST_SEARCH_SCOPE">
<value defaultName="moduleWithDependencies" />
</option>
<option name="USE_DEFAULT_REPORTERS" value="false" />
<option name="PROPERTIES_FILE" />
<envs />
<properties />
<listeners />
<method />
</configuration>
<configuration default="true" type="Application"
factoryName="Application">
<option name="MAIN_CLASS_NAME" />
<option name="VM_PARAMETERS" />
<option name="PROGRAM_PARAMETERS" />
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false"
/>
<option name="ALTERNATIVE_JRE_PATH" />
<option name="ENABLE_SWING_INSPECTOR" value="false" />
<option name="ENV_VARIABLES" />
<option name="PASS_PARENT_ENVS" value="true" />
<module name="" />
<envs />
<method />
</configuration>
<configuration default="true" type="JUnit"
factoryName="JUnit">
<module name="" />
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false"
/>
<option name="ALTERNATIVE_JRE_PATH" />
<option name="PACKAGE_NAME" />
<option name="MAIN_CLASS_NAME" />
<option name="METHOD_NAME" />
<option name="TEST_OBJECT" value="class" />
<option name="VM_PARAMETERS" value="-ea" />
<option name="PARAMETERS" />
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
<option name="ENV_VARIABLES" />
<option name="PASS_PARENT_ENVS" value="true" />
<option name="TEST_SEARCH_SCOPE">
<value defaultName="moduleWithDependencies" />
</option>
<envs />
<patterns />
<method />
</configuration>
<configuration default="true"
type="AndroidRunConfigurationType" factoryName="Android
Application">
<module name="" />
<option name="ACTIVITY_CLASS" value="" />
<option name="MODE" value="default_activity" />
<option name="DEPLOY" value="true" />
<option name="ARTIFACT_NAME" value="" />
<option name="TARGET_SELECTION_MODE" value="EMULATOR" />
<option name="USE_LAST_SELECTED_DEVICE" value="false" />
<option name="PREFERRED_AVD" value="" />
<option name="USE_COMMAND_LINE" value="true" />
<option name="COMMAND_LINE" value="" />
<option name="WIPE_USER_DATA" value="false" />
<option name="DISABLE_BOOT_ANIMATION" value="false" />
<option name="NETWORK_SPEED" value="full" />
<option name="NETWORK_LATENCY" value="none" />
<option name="CLEAR_LOGCAT" value="false" />
<option name="SHOW_LOGCAT_AUTOMATICALLY" value="true" />
<option name="FILTER_LOGCAT_AUTOMATICALLY" value="true" />
<method />
</configuration>
<configuration default="false" name="app"
type="AndroidRunConfigurationType" factoryName="Android
Application">
<module name="app" />
<option name="ACTIVITY_CLASS" value="" />
<option name="MODE" value="default_activity" />
<option name="DEPLOY" value="true" />
<option name="ARTIFACT_NAME" value="" />
<option name="TARGET_SELECTION_MODE" value="SHOW_DIALOG"
/>
<option name="USE_LAST_SELECTED_DEVICE" value="true" />
<option name="PREFERRED_AVD" value="" />
<option name="USE_COMMAND_LINE" value="true" />
<option name="COMMAND_LINE" value="" />
<option name="WIPE_USER_DATA" value="false" />
<option name="DISABLE_BOOT_ANIMATION" value="false" />
<option name="NETWORK_SPEED" value="full" />
<option name="NETWORK_LATENCY" value="none" />
<option name="CLEAR_LOGCAT" value="false" />
<option name="SHOW_LOGCAT_AUTOMATICALLY" value="true" />
<option name="FILTER_LOGCAT_AUTOMATICALLY" value="true" />
<RunnerSettings RunnerId="AndroidDebugRunner" />
<ConfigurationWrapper RunnerId="AndroidDebugRunner" />
<method />
</configuration>
<list size="1">
<item index="0" class="java.lang.String"
itemvalue="Android Application.app" />
</list>
<configuration name="<template>" type="Applet"
default="true" selected="false">
<option name="MAIN_CLASS_NAME" />
<option name="HTML_FILE_NAME" />
<option name="HTML_USED" value="false" />
<option name="WIDTH" value="400" />
<option name="HEIGHT" value="300" />
<option name="POLICY_FILE"
value="$APPLICATION_HOME_DIR$/bin/appletviewer.policy" />
<option name="VM_PARAMETERS" />
</configuration>
<configuration name="<template>"
type="#org.jetbrains.idea.devkit.run.PluginConfigurationType"
default="true" selected="false">
<option name="VM_PARAMETERS" value="-Xmx512m -Xms256m -
XX:MaxPermSize=250m -ea" />
</configuration>
<configuration name="<template>" type="WebApp"
default="true" selected="false">
<Host>localhost</Host>
<Port>5050</Port>
</configuration>
</component>
<component name="ShelveChangesManager" show_recycled="false"
/>
<component name="SliceManager">
<option name="analysisUIOptions">
<AnalysisUIOptions />
</option>
</component>
<component name="SvnConfiguration">
<configuration />
</component>
<component name="TaskManager">
<task active="true" id="Default" summary="Default task">
<changelist id="4400ae06-6e58-4086-b88c-87c8598fc463"
name="Default" comment="" />
<created>1422251761471</created>
<updated>1422251761471</updated>
</task>
<servers />
</component>
<component name="ToolWindowManager">
<frame x="-1" y="28" width="1368" height="741" extended-
state="6" />
<editor active="true" />
<layout>
<window_info id="Palette	" active="false" anchor="left"
auto_hide="false" internal_type="DOCKED" type="DOCKED"
visible="false" weight="0.33" sideWeight="0.5" order="2"
side_tool="false" content_ui="tabs" />
<window_info id="Changes" active="false" anchor="bottom"
auto_hide="false" internal_type="DOCKED" type="DOCKED"
visible="false" weight="0.33" sideWeight="0.5" order="7"
side_tool="false" content_ui="tabs" />
<window_info id="Designer" active="false" anchor="right"
auto_hide="false" internal_type="DOCKED" type="DOCKED"
visible="false" weight="0.33" sideWeight="0.5" order="3"
side_tool="false" content_ui="tabs" />
<window_info id="Preview" active="false" anchor="right"
auto_hide="false" internal_type="DOCKED" type="DOCKED"
visible="false" weight="0.33" sideWeight="0.5" order="3"
side_tool="false" content_ui="tabs" />
<window_info id="Terminal" active="false" anchor="bottom"
auto_hide="false" internal_type="DOCKED" type="DOCKED"
visible="false" weight="0.32881355" sideWeight="0.5" order="7"
side_tool="false" content_ui="tabs" />
<window_info id="Debug" active="false" anchor="bottom"
auto_hide="false" internal_type="DOCKED" type="DOCKED"
visible="false" weight="0.4" sideWeight="0.5" order="3"
side_tool="false" content_ui="tabs" />
<window_info id="Event Log" active="false" anchor="bottom"
auto_hide="false" internal_type="DOCKED" type="DOCKED"
visible="false" weight="0.5" sideWeight="0.5" order="7"
side_tool="true" content_ui="tabs" />
<window_info id="Favorites" active="false" anchor="left"
auto_hide="false" internal_type="DOCKED" type="DOCKED"
visible="false" weight="0.33" sideWeight="0.5" order="2"
side_tool="true" content_ui="tabs" />
<window_info id="Version Control" active="false"
anchor="bottom" auto_hide="false" internal_type="DOCKED"
type="DOCKED" visible="false" weight="0.33" sideWeight="0.5"
order="7" side_tool="false" content_ui="tabs" />
<window_info id="Gradle Console" active="false"
anchor="bottom" auto_hide="false" internal_type="DOCKED"
type="DOCKED" visible="false" weight="0.5" sideWeight="0.5"
order="7" side_tool="true" content_ui="tabs" />
<window_info id="Build Variants" active="false"
anchor="left" auto_hide="false" internal_type="DOCKED"
type="DOCKED" visible="false" weight="0.33" sideWeight="0.5"
order="2" side_tool="true" content_ui="tabs" />
<window_info id="Messages" active="false" anchor="bottom"
auto_hide="false" internal_type="DOCKED" type="DOCKED"
visible="false" weight="0.32764506" sideWeight="0.5" order="7"
side_tool="false" content_ui="tabs" />
<window_info id="Android" active="false" anchor="bottom"
auto_hide="false" internal_type="DOCKED" type="DOCKED"
visible="false" weight="0.5802048" sideWeight="0.5" order="7"
side_tool="false" content_ui="tabs" x="0" y="426" width="1322"
height="285" />
<window_info id="Gradle" active="false" anchor="right"
auto_hide="false" internal_type="DOCKED" type="DOCKED"
visible="false" weight="0.33" sideWeight="0.5" order="3"
side_tool="false" content_ui="tabs" />
<window_info id="TODO" active="false" anchor="bottom"
auto_hide="false" internal_type="DOCKED" type="DOCKED"
visible="false" weight="0.33" sideWeight="0.5" order="6"
side_tool="false" content_ui="tabs" />
<window_info id="Structure" active="false" anchor="left"
auto_hide="false" internal_type="DOCKED" type="DOCKED"
visible="false" weight="0.24962178" sideWeight="0.5" order="1"
side_tool="false" content_ui="tabs" />
<window_info id="Commander" active="false" anchor="right"
auto_hide="false" internal_type="SLIDING" type="SLIDING"
visible="false" weight="0.4" sideWeight="0.5" order="0"
side_tool="false" content_ui="tabs" />
<window_info id="Maven Projects" active="false"
anchor="right" auto_hide="false" internal_type="DOCKED"
type="DOCKED" visible="false" weight="0.33" sideWeight="0.5"
order="3" side_tool="false" content_ui="tabs" />
<window_info id="Application Servers" active="false"
anchor="bottom" auto_hide="false" internal_type="DOCKED"
type="DOCKED" visible="false" weight="0.33" sideWeight="0.5"
order="7" side_tool="false" content_ui="tabs" />
<window_info id="Project" active="false" anchor="left"
auto_hide="false" internal_type="DOCKED" type="DOCKED"
visible="false" weight="0.24962178" sideWeight="0.5" order="0"
side_tool="false" content_ui="combo" />
<window_info id="Run" active="false" anchor="bottom"
auto_hide="false" internal_type="DOCKED" type="DOCKED"
visible="false" weight="0.32764506" sideWeight="0.5" order="2"
side_tool="false" content_ui="tabs" />
<window_info id="Memory Monitor" active="false"
anchor="bottom" auto_hide="false" internal_type="DOCKED"
type="DOCKED" visible="false" weight="0.32881355"
sideWeight="0.5" order="7" side_tool="true" content_ui="tabs" />
<window_info id="Ant Build" active="false" anchor="right"
auto_hide="false" internal_type="DOCKED" type="DOCKED"
visible="false" weight="0.25" sideWeight="0.5" order="1"
side_tool="false" content_ui="tabs" />
<window_info id="Hierarchy" active="false" anchor="right"
auto_hide="false" internal_type="DOCKED" type="DOCKED"
visible="false" weight="0.24962178" sideWeight="0.5" order="2"
side_tool="false" content_ui="combo" />
<window_info id="Cvs" active="false" anchor="bottom"
auto_hide="false" internal_type="DOCKED" type="DOCKED"
visible="false" weight="0.25" sideWeight="0.5" order="4"
side_tool="false" content_ui="tabs" />
<window_info id="Palette" active="false" anchor="right"
auto_hide="false" internal_type="DOCKED" type="DOCKED"
visible="false" weight="0.33" sideWeight="0.5" order="3"
side_tool="false" content_ui="tabs" />
<window_info id="Message" active="false" anchor="bottom"
auto_hide="false" internal_type="DOCKED" type="DOCKED"
visible="false" weight="0.33" sideWeight="0.5" order="0"
side_tool="false" content_ui="tabs" />
<window_info id="Find" active="false" anchor="bottom"
auto_hide="false" internal_type="DOCKED" type="DOCKED"
visible="false" weight="0.32764506" sideWeight="0.5" order="1"
side_tool="false" content_ui="tabs" />
<window_info id="Inspection" active="false"
anchor="bottom" auto_hide="false" internal_type="DOCKED"
type="DOCKED" visible="false" weight="0.4" sideWeight="0.5"
order="5" side_tool="false" content_ui="tabs" />
</layout>
</component>
<component name="Vcs.Log.UiProperties">
<option name="RECENTLY_FILTERED_USER_GROUPS">
<collection />
</option>
<option name="RECENTLY_FILTERED_BRANCH_GROUPS">
<collection />
</option>
</component>
<component name="VcsContentAnnotationSettings">
<option name="myLimit" value="2678400000" />
</component>
<component name="VcsManagerConfiguration">
<option name="myTodoPanelSettings">
<TodoPanelSettings />
</option>
</component>
<component name="XDebuggerManager">
<breakpoint-manager>
<option name="time" value="3" />
</breakpoint-manager>
</component>
<component name="editorHistoryManager">
<entry
file="file:///mnt/budi/Devel/android/DagingSapi3/app/src/main/re
s/values/strings.xml">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-
offset="252" max-vertical-offset="414">
<caret line="14" column="19" selection-start-line="14"
selection-start-column="19" selection-end-line="14" selection-
end-column="19" />
</state>
</provider>
</entry>
<entry
file="file:///mnt/budi/Devel/android/DagingSapi3/app/src/main/ja
va/irman/dagingsapi/utils/ImageScanner.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.25714287" vertical-
offset="0" max-vertical-offset="560">
<caret line="8" column="27" selection-start-line="8"
selection-start-column="27" selection-end-line="8" selection-
end-column="27" />
</state>
</provider>
</entry>
<entry
file="file:///mnt/budi/Devel/android/DagingSapi3/app/src/main/ja
va/irman/dagingsapi/sqlhelpers/TestDataset.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-
offset="0" max-vertical-offset="324">
<caret line="9" column="32" selection-start-line="9"
selection-start-column="32" selection-end-line="9" selection-
end-column="32" />
</state>
</provider>
</entry>
<entry
file="file:///mnt/budi/Devel/android/DagingSapi3/app/src/main/ja
va/irman/dagingsapi/sqlhelpers/PredictionDataset.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-
offset="0" max-vertical-offset="306">
<caret line="9" column="0" selection-start-line="9"
selection-start-column="0" selection-end-line="9" selection-end-
column="0" />
</state>
</provider>
</entry>
<entry
file="file:///mnt/budi/Devel/android/DagingSapi3/app/src/main/ja
va/irman/dagingsapi/sqlhelpers/NBTrainingResult.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-
offset="0" max-vertical-offset="324">
<caret line="9" column="33" selection-start-line="9"
selection-start-column="33" selection-end-line="9" selection-
end-column="33" />
</state>
</provider>
</entry>
<entry
file="file:///mnt/budi/Devel/android/DagingSapi3/app/src/main/ja
va/irman/dagingsapi/utils/FileLogger.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.44285715" vertical-
offset="58" max-vertical-offset="648">
<caret line="23" column="0" selection-start-line="23"
selection-start-column="0" selection-end-line="23" selection-
end-column="0" />
</state>
</provider>
</entry>
<entry
file="file:///mnt/budi/Devel/android/DagingSapi3/app/src/main/ja
va/irman/dagingsapi/glcm/ClassLabel.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-
offset="0" max-vertical-offset="558">
<caret line="20" column="23" selection-start-line="20"
selection-start-column="23" selection-end-line="20" selection-
end-column="23" />
</state>
</provider>
</entry>
<entry
file="file:///mnt/budi/Devel/android/DagingSapi3/app/src/main/ja
va/irman/dagingsapi/utils/Param.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.225" vertical-
offset="0" max-vertical-offset="560">
<caret line="8" column="13" selection-start-line="8"
selection-start-column="13" selection-end-line="8" selection-
end-column="13" />
</state>
</provider>
</entry>
<entry
file="file:///mnt/budi/Devel/android/DagingSapi3/app/src/main/ja
va/irman/dagingsapi/naivebayes/PostProbability.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.86785716" vertical-
offset="0" max-vertical-offset="630">
<caret line="41" column="26" selection-start-line="41"
selection-start-column="26" selection-end-line="41" selection-
end-column="26" />
</state>
</provider>
</entry>
<entry
file="file:///mnt/budi/Devel/android/DagingSapi3/app/src/main/re
s/layout/activity_nbprediction.xml">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.66101694" vertical-
offset="45" max-vertical-offset="576">
<caret line="22" column="34" selection-start-line="22"
selection-start-column="34" selection-end-line="22" selection-
end-column="34" />
</state>
</provider>
<provider editor-type-id="android-designer">
<state />
</provider>
</entry>
<entry
file="file:///mnt/budi/Devel/android/DagingSapi3/app/src/main/ja
va/irman/dagingsapi/sqlhelpers/Datasets.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.225" vertical-
offset="0" max-vertical-offset="576">
<caret line="7" column="22" selection-start-line="7"
selection-start-column="22" selection-end-line="7" selection-
end-column="22" />
</state>
</provider>
</entry>
<entry
file="file:///mnt/budi/Devel/android/DagingSapi3/app/src/main/ja
va/irman/dagingsapi/glcm/FeatureMap.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-
offset="0" max-vertical-offset="630">
<caret line="26" column="21" selection-start-line="26"
selection-start-column="21" selection-end-line="26" selection-
end-column="21" />
</state>
</provider>
</entry>
<entry
file="file:///mnt/budi/Devel/android/DagingSapi3/app/src/main/ja
va/irman/dagingsapi/sqlhelpers/TrainingDataSource.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.2625" vertical-
offset="969" max-vertical-offset="1836">
<caret line="124" column="0" selection-start-
line="124" selection-start-column="0" selection-end-line="124"
selection-end-column="0" />
</state>
</provider>
</entry>
<entry
file="file:///mnt/budi/Devel/android/DagingSapi3/app/src/main/ja
va/irman/dagingsapi/sqlhelpers/ProbabilityDS.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-
offset="772" max-vertical-offset="1440">
<caret line="60" column="0" selection-start-line="60"
selection-start-column="0" selection-end-line="60" selection-
end-column="0" />
</state>
</provider>
</entry>
<entry
file="file:///mnt/budi/Devel/android/DagingSapi3/app/src/main/ja
va/irman/dagingsapi/glcm/Feature.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-
offset="38" max-vertical-offset="648">
<caret line="2" column="3" selection-start-line="2"
selection-start-column="3" selection-end-line="2" selection-end-
column="3" />
</state>
</provider>
</entry>
<entry
file="file:///mnt/budi/Devel/android/DagingSapi3/app/src/main/ja
va/irman/dagingsapi/utils/SimpleImage.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-
offset="252" max-vertical-offset="1098">
<caret line="31" column="52" selection-start-line="31"
selection-start-column="52" selection-end-line="31" selection-
end-column="52" />
</state>
</provider>
</entry>
<entry
file="file:///mnt/budi/Devel/android/DagingSapi3/app/src/main/ja
va/irman/dagingsapi/naivebayes/NaiveBayesPredictionOnly.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-
offset="0" max-vertical-offset="270">
<caret line="7" column="0" selection-start-line="7"
selection-start-column="0" selection-end-line="7" selection-end-
column="0" />
</state>
</provider>
</entry>
<entry
file="file:///mnt/budi/Devel/android/DagingSapi3/app/src/main/ja
va/irman/dagingsapi/naivebayes/NaiveBayesTrain.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-
offset="0" max-vertical-offset="270">
<caret line="5" column="30" selection-start-line="5"
selection-start-column="30" selection-end-line="5" selection-
end-column="30" />
</state>
</provider>
</entry>
<entry
file="file:///mnt/budi/Devel/android/DagingSapi3/app/src/main/re
s/values/arrays.xml">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.097122304"
vertical-offset="0" max-vertical-offset="556">
<caret line="3" column="25" selection-start-line="3"
selection-start-column="25" selection-end-line="3" selection-
end-column="25" />
</state>
</provider>
</entry>
<entry
file="file:///mnt/budi/Devel/android/DagingSapi3/app/src/main/re
s/layout/activity_main.xml">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.81973433" vertical-
offset="576" max-vertical-offset="1170">
<caret line="56" column="40" selection-start-line="56"
selection-start-column="40" selection-end-line="56" selection-
end-column="40" />
</state>
</provider>
<provider editor-type-id="android-designer">
<state />
</provider>
</entry>
<entry
file="file:///mnt/budi/Devel/android/DagingSapi3/app/src/main/ja
va/irman/dagingsapi/camerahelper/CameraPreview.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="-0.29496402"
vertical-offset="290" max-vertical-offset="846">
<caret line="11" column="13" selection-start-line="11"
selection-start-column="13" selection-end-line="11" selection-
end-column="13" />
</state>
</provider>
</entry>
<entry
file="file:///mnt/budi/Devel/android/DagingSapi3/app/src/main/ja
va/irman/dagingsapi/CaptureImageActivity.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.44964027" vertical-
offset="470" max-vertical-offset="2826">
<caret line="66" column="56" selection-start-line="66"
selection-start-column="56" selection-end-line="66" selection-
end-column="56" />
</state>
</provider>
</entry>
<entry
file="file:///mnt/budi/Devel/android/DagingSapi3/app/src/main/re
s/layout/activity_nbcapture_prediction.xml">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.59013283" vertical-
offset="283" max-vertical-offset="972">
<caret line="33" column="37" selection-start-line="33"
selection-start-column="37" selection-end-line="33" selection-
end-column="37" />
</state>
</provider>
<provider editor-type-id="android-designer">
<state />
</provider>
</entry>
<entry
file="file:///mnt/budi/Devel/android/DagingSapi3/app/src/main/re
s/layout/activity_capture_image.xml">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.23908919" vertical-
offset="0" max-vertical-offset="990">
<caret line="7" column="16" selection-start-line="7"
selection-start-column="16" selection-end-line="7" selection-
end-column="16" />
</state>
</provider>
<provider editor-type-id="android-designer">
<state />
</provider>
</entry>
<entry
file="file:///mnt/budi/Devel/android/DagingSapi3/app/src/main/ja
va/irman/dagingsapi/NBPredictionActivity.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="-1.2661871" vertical-
offset="794" max-vertical-offset="1944">
<caret line="39" column="13" selection-start-line="39"
selection-start-column="13" selection-end-line="39" selection-
end-column="13" />
</state>
</provider>
</entry>
<entry
file="file:///mnt/budi/Devel/android/DagingSapi3/app/src/main/re
s/layout/activity_process_glcm.xml">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.63187855" vertical-
offset="999" max-vertical-offset="1566">
<caret line="74" column="0" selection-start-line="74"
selection-start-column="0" selection-end-line="74" selection-
end-column="0" />
</state>
</provider>
<provider editor-type-id="android-designer">
<state />
</provider>
</entry>
<entry
file="file:///mnt/budi/Devel/android/DagingSapi3/app/src/main/re
s/layout/activity_training_nb.xml">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.62428844" vertical-
offset="85" max-vertical-offset="756">
<caret line="23" column="33" selection-start-line="23"
selection-start-column="33" selection-end-line="23" selection-
end-column="33" />
</state>
</provider>
<provider editor-type-id="android-designer">
<state />
</provider>
</entry>
<entry
file="file:///mnt/budi/Devel/android/DagingSapi3/app/src/main/ja
va/irman/dagingsapi/naivebayes/NBResult.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.2266187" vertical-
offset="0" max-vertical-offset="556">
<caret line="10" column="13" selection-start-line="10"
selection-start-column="13" selection-end-line="10" selection-
end-column="13" />
</state>
</provider>
</entry>
<entry
file="file:///mnt/budi/Devel/android/DagingSapi3/app/src/main/ja
va/irman/dagingsapi/naivebayes/GaussianValue.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="1.4856116" vertical-
offset="20" max-vertical-offset="990">
<caret line="70" column="0" selection-start-line="70"
selection-start-column="0" selection-end-line="70" selection-
end-column="0" />
</state>
</provider>
</entry>
<entry
file="file:///mnt/budi/Devel/android/DagingSapi3/app/src/main/ja
va/irman/dagingsapi/naivebayes/NaiveBayes.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="-0.073741004"
vertical-offset="185" max-vertical-offset="2160">
<caret line="8" column="35" selection-start-line="8"
selection-start-column="35" selection-end-line="8" selection-
end-column="35" />
</state>
</provider>
</entry>
<entry
file="file:///mnt/budi/Devel/android/DagingSapi3/app/src/main/ja
va/irman/dagingsapi/utils/FileLog.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="1.026616" vertical-
offset="0" max-vertical-offset="486">
<caret line="29" column="25" selection-start-line="29"
selection-start-column="25" selection-end-line="29" selection-
end-column="25" />
</state>
</provider>
</entry>
<entry
file="file:///mnt/budi/Devel/android/DagingSapi3/app/src/main/ja
va/irman/dagingsapi/glcm/GLCM.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.4856115" vertical-
offset="3078" max-vertical-offset="4230">
<caret line="217" column="35" selection-start-
line="217" selection-start-column="35" selection-end-line="217"
selection-end-column="35" />
</state>
</provider>
</entry>
<entry
file="file:///mnt/budi/Devel/android/DagingSapi3/app/src/main/ja
va/irman/dagingsapi/glcm/Occurrence.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.097122304"
vertical-offset="558" max-vertical-offset="1800">
<caret line="34" column="68" selection-start-line="34"
selection-start-column="68" selection-end-line="34" selection-
end-column="68" />
</state>
</provider>
</entry>
<entry
file="file:///mnt/budi/Devel/android/DagingSapi3/app/src/main/ja
va/irman/dagingsapi/utils/SimpleMatrix.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.7428058" vertical-
offset="613" max-vertical-offset="1926">
<caret line="90" column="71" selection-start-line="90"
selection-start-column="71" selection-end-line="90" selection-
end-column="71" />
</state>
</provider>
</entry>
<entry
file="file:///mnt/budi/Devel/android/DagingSapi3/app/src/main/An
droidManifest.xml">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.4208633" vertical-
offset="0" max-vertical-offset="1044">
<caret line="13" column="10" selection-start-line="13"
selection-start-column="10" selection-end-line="13" selection-
end-column="10" />
<folding />
</state>
</provider>
</entry>
<entry
file="file:///mnt/budi/Devel/android/DagingSapi3/app/src/main/ja
va/irman/dagingsapi/sqlhelpers/DBHelper.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-
offset="1026" max-vertical-offset="1602">
<caret line="76" column="0" selection-start-line="76"
selection-start-column="0" selection-end-line="76" selection-
end-column="0" />
</state>
</provider>
</entry>
<entry
file="file:///mnt/budi/Devel/android/DagingSapi3/app/src/main/ja
va/irman/dagingsapi/sqlhelpers/TrainingDatasetDS.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-
offset="1787" max-vertical-offset="2556">
<caret line="144" column="0" selection-start-
line="144" selection-start-column="0" selection-end-line="144"
selection-end-column="0" />
</state>
</provider>
</entry>
<entry
file="file:///mnt/budi/Devel/android/DagingSapi3/app/src/main/ja
va/irman/dagingsapi/sqlhelpers/TrainingDataset.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.44964027" vertical-
offset="344" max-vertical-offset="900">
<caret line="39" column="69" selection-start-line="39"
selection-start-column="69" selection-end-line="39" selection-
end-column="69" />
</state>
</provider>
</entry>
<entry
file="file:///mnt/budi/Devel/android/DagingSapi3/app/src/main/ja
va/irman/dagingsapi/naivebayes/NaiveBayesPriorProb.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.2266187" vertical-
offset="0" max-vertical-offset="556">
<caret line="13" column="13" selection-start-line="13"
selection-start-column="13" selection-end-line="13" selection-
end-column="13" />
</state>
</provider>
</entry>
<entry
file="file:///mnt/budi/Devel/android/DagingSapi3/app/src/main/ja
va/irman/dagingsapi/sqlhelpers/GaussianDS.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-
offset="488" max-vertical-offset="1584">
<caret line="66" column="44" selection-start-line="66"
selection-start-column="44" selection-end-line="66" selection-
end-column="44" />
<folding />
</state>
</provider>
</entry>
<entry
file="file:///mnt/budi/Devel/android/DagingSapi3/app/src/main/ja
va/irman/dagingsapi/glcm/FeatureExtraction.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-
offset="918" max-vertical-offset="1926">
<caret line="13" column="13" selection-start-line="13"
selection-start-column="13" selection-end-line="13" selection-
end-column="13" />
<folding />
</state>
</provider>
</entry>
<entry
file="file:///mnt/budi/Devel/android/DagingSapi3/app/src/main/ja
va/irman/dagingsapi/naivebayes/NaiveBayesPrediction.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="1.6780576" vertical-
offset="507" max-vertical-offset="2142">
<caret line="125" column="43" selection-start-
line="125" selection-start-column="43" selection-end-line="125"
selection-end-column="43" />
</state>
</provider>
</entry>
<entry
file="file:///mnt/budi/Devel/android/DagingSapi3/app/src/main/ja
va/irman/dagingsapi/naivebayes/Probability.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-
offset="308" max-vertical-offset="972">
<caret line="62" column="25" selection-start-line="62"
selection-start-column="25" selection-end-line="62" selection-
end-column="25" />
<folding />
</state>
</provider>
</entry>
<entry
file="file:///mnt/budi/Devel/android/DagingSapi3/app/src/main/ja
va/irman/dagingsapi/NBTrainingActivity.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-
offset="1660" max-vertical-offset="2502">
<caret line="154" column="74" selection-start-
line="154" selection-start-column="74" selection-end-line="154"
selection-end-column="74" />
<folding />
</state>
</provider>
</entry>
<entry
file="file:///mnt/budi/Devel/android/DagingSapi3/app/src/main/ja
va/irman/dagingsapi/sqlhelpers/Dataset.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-
offset="722" max-vertical-offset="1278">
<caret line="103" column="39" selection-start-
line="103" selection-start-column="39" selection-end-line="103"
selection-end-column="39" />
<folding />
</state>
</provider>
</entry>
<entry
file="file:///mnt/budi/Devel/android/DagingSapi3/app/src/main/ja
va/irman/dagingsapi/naivebayes/Gaussian.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-
offset="1802" max-vertical-offset="2358">
<caret line="139" column="17" selection-start-
line="139" selection-start-column="17" selection-end-line="139"
selection-end-column="17" />
<folding>
<element
signature="method#calcAndReturn#0;class#Gaussian#0"
expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry
file="file:///mnt/budi/Devel/android/DagingSapi3/app/src/main/ja
va/irman/dagingsapi/MainActivity.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-
offset="1836" max-vertical-offset="2556">
<caret line="102" column="43" selection-start-
line="102" selection-start-column="43" selection-end-line="102"
selection-end-column="43" />
<folding />
</state>
</provider>
</entry>
<entry
file="file:///mnt/budi/Devel/android/DagingSapi3/app/src/main/ja
va/irman/dagingsapi/GLCMProcessActivity.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-
offset="758" max-vertical-offset="4338">
<caret line="43" column="13" selection-start-line="43"
selection-start-column="13" selection-end-line="43" selection-
end-column="13" />
<folding />
</state>
</provider>
</entry>
<entry
file="file:///mnt/budi/Devel/android/DagingSapi3/app/src/main/re
s/layout/activity_nbprediction_result.xml">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="-4.3448277" vertical-
offset="0" max-vertical-offset="864">
<caret line="7" column="44" selection-start-line="7"
selection-start-column="44" selection-end-line="7" selection-
end-column="44" />
<folding>
<element signature="e#886#907#0" expanded="true" />
</folding>
</state>
</provider>
<provider editor-type-id="android-designer">
<state />
</provider>
</entry>
<entry
file="file:///mnt/budi/Devel/android/DagingSapi3/app/src/main/ja
va/irman/dagingsapi/NBPredictionResultActivity.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-
offset="200" max-vertical-offset="810">
<caret line="34" column="62" selection-start-line="34"
selection-start-column="62" selection-end-line="34" selection-
end-column="62" />
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry
file="file:///mnt/budi/Devel/android/DagingSapi3/app/src/main/ja
va/irman/dagingsapi/NBCapturePredictionActivity.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="7.4784174" vertical-
offset="324" max-vertical-offset="5076">
<caret line="338" column="12" selection-start-
line="338" selection-start-column="12" selection-end-line="338"
selection-end-column="12" />
<folding>
<element
signature="method#onCreate#0;class#NBCapturePredictionActivity#0
" expanded="true" />
<element signature="e#4524#5052#0" expanded="true"
/>
<element signature="e#4833#4980#0" expanded="true"
/>
<element signature="e#4965#4966#0" expanded="true"
/>
<element signature="e#5045#5046#0" expanded="true"
/>
<element
signature="method#cropImage#0;class#NBCapturePredictionActivity#
0" expanded="true" />
</folding>
</state>
</provider>
</entry>
</component>
</project>
BuildConfig.java
/**
* Automatically generated file. DO NOT MODIFY
*/
package irman.dagingsapi;
BuildConfig.java
/**
* Automatically generated file. DO NOT MODIFY
*/
package irman.dagingsapi.test;
R.java
/* AUTO-GENERATED FILE. DO NOT MODIFY.
*
* This class was automatically generated by the
* aapt tool from the resource data it found. It
* should not be modified by hand.
*/
package irman.dagingsapi;
};
/** Attributes that can be used with a ActionMode.
<p>Includes the following attributes:</p>
<table>
<colgroup align="left" />
<colgroup align="left" />
<tr><th>Attribute</th><th>Description</th></tr>
<tr><td><code>{@link #ActionMode_background
irman.dagingsapi:background}</code></td><td></td></tr>
<tr><td><code>{@link #ActionMode_backgroundSplit
irman.dagingsapi:backgroundSplit}</code></td><td></td></tr>
<tr><td><code>{@link #ActionMode_closeItemLayout
irman.dagingsapi:closeItemLayout}</code></td><td></td></tr>
<tr><td><code>{@link #ActionMode_height
irman.dagingsapi:height}</code></td><td></td></tr>
<tr><td><code>{@link #ActionMode_subtitleTextStyle
irman.dagingsapi:subtitleTextStyle}</code></td><td></td></tr>
<tr><td><code>{@link #ActionMode_titleTextStyle
irman.dagingsapi:titleTextStyle}</code></td><td></td></tr>
</table>
@see #ActionMode_background
@see #ActionMode_backgroundSplit
@see #ActionMode_closeItemLayout
@see #ActionMode_height
@see #ActionMode_subtitleTextStyle
@see #ActionMode_titleTextStyle
*/
public static final int[] ActionMode = {
0x7f010001, 0x7f010007, 0x7f010008, 0x7f01000c,
0x7f01000e, 0x7f01001c
};
/**
<p>This symbol is the offset where the {@link
irman.dagingsapi.R.attr#background}
attribute's value can be found in the {@link
#ActionMode} array.
CameraPreview.class
//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by Fernflower decompiler)
//
package irman.dagingsapi.camerahelper;
import android.content.Context;
import android.hardware.Camera;
import android.util.Log;
import android.view.SurfaceHolder;
import android.view.SurfaceView;
import android.view.SurfaceHolder.Callback;
import android.view.View.MeasureSpec;
try {
this.camera.setPreviewDisplay(this.holder);
} catch (Exception var2) {
if(this.camera != null) {
this.camera.release();
}
this.camera = null;
}
this.setAspectRatio(this.mWidth, this.mHeight);
try {
this.camera.setPreviewDisplay(this.holder);
this.camera.startPreview();
} catch (Exception var2) {
Log.d("Camera", "Error starting camera preview:
" + var2.getMessage());
}
}
}
}
}
Glcm
ClassLabel.class
//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by Fernflower decompiler)
//
package irman.dagingsapi.glcm;
Feature.class
//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by Fernflower decompiler)
//
package irman.dagingsapi.glcm;
public Feature() {
}
FeatureExtraction.class
//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by Fernflower decompiler)
//
package irman.dagingsapi.glcm;
import irman.dagingsapi.glcm.Feature;
import irman.dagingsapi.glcm.GLCM;
import irman.dagingsapi.sqlhelpers.Dataset;
import irman.dagingsapi.utils.SimpleMatrix;
import java.math.BigDecimal;
import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
while(i$.hasNext()) {
int eachFeature = ((Integer)i$.next()).intValue();
this.calculate(eachFeature);
}
val = Double.valueOf(this.df.format(val)).doubleValue();
this.featureValues[feature] = val;
return val;
}
return val;
}
return val;
}
int row;
int col;
for(row = 1; row < this.mRows; ++row) {
for(col = 1; col < this.mCols; ++col) {
mean_rows += (double)(row - 1) *
this.mMatrix.get(row, col);
mean_cols += (double)(col - 1) *
this.mMatrix.get(row, col);
}
}
return val;
}
return val;
}
return features;
}
}
FeatureMap.class
//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by Fernflower decompiler)
//
package irman.dagingsapi.glcm;
public class FeatureMap {
String id;
String label;
int colId;
GLCM.class
//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by Fernflower decompiler)
//
package irman.dagingsapi.glcm;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Color;
import irman.dagingsapi.glcm.Occurrence;
import irman.dagingsapi.utils.Param;
import irman.dagingsapi.utils.SimpleImage;
import irman.dagingsapi.utils.SimpleMatrix;
import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.Iterator;
import java.util.List;
public class GLCM {
SimpleMatrix mGrayscaleMatrix;
SimpleMatrix mMatrix;
SimpleMatrix mOccurrence;
SimpleImage mImageSource;
Bitmap mImage;
int mImageWidth;
int mImageHeight;
int degree = 0;
int d = 1;
int nbit = 4;
String mFilename = "";
List<Integer> graylevels = new ArrayList();
final int DEG_0 = 0;
final int DEG_45 = 1;
final int DEG_90 = 2;
final int DEG_135 = 3;
DecimalFormat df = new DecimalFormat("#.0000");
public GLCM() {
}
if(!this.graylevels.contains(Integer.valueOf(gray))) {
this.graylevels.add(Integer.valueOf(gray));
}
}
}
for(Iterator i$ = this.graylevels.iterator();
i$.hasNext(); ++i) {
int eachGray = ((Integer)i$.next()).intValue();
this.mMatrix.put(0, i, (double)eachGray);
this.mMatrix.put(i, 0, (double)eachGray);
}
this.mOccurrence = tmp;
this.mapOccurrenceToResult(tmp);
}
for(Iterator i$ = this.graylevels.iterator();
i$.hasNext(); ++row) {
int poi = ((Integer)i$.next()).intValue();
int col = 1;
return lines;
}
return lines;
}
Occurrence.class
//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by Fernflower decompiler)
//
package irman.dagingsapi.glcm;
import irman.dagingsapi.utils.SimpleMatrix;
import java.util.ArrayList;
import java.util.List;
return tmpMatrix;
}
return tmpMatrix;
}
return tmpMatrix;
}
}
Naivebayes
Gaussian.class
//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by Fernflower decompiler)
//
package irman.dagingsapi.naivebayes;
import android.content.ContentValues;
import android.content.Context;
import android.util.Log;
import irman.dagingsapi.glcm.ClassLabel;
import irman.dagingsapi.glcm.Feature;
import irman.dagingsapi.naivebayes.GaussianValue;
import irman.dagingsapi.sqlhelpers.Dataset;
import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
String classLabel;
for(Iterator i$ = this.classes.iterator(); i$.hasNext();
this.datasetCount +=
((List)this.mListDatasetPerClass.get(classLabel)).size()) {
classLabel = (String)i$.next();
}
String classLabel;
for(Iterator i$ = this.classes.iterator(); i$.hasNext();
this.datasetCount +=
((List)this.mListDatasetPerClass.get(classLabel)).size()) {
classLabel = (String)i$.next();
}
while(i$.hasNext()) {
String classLabel = (String)i$.next();
this.mListTrainingDataset =
(List)this.mListDatasetPerClass.get(classLabel);
double datasetPerClassCount =
(double)this.mListTrainingDataset.size();
Iterator i$1 = this.features.iterator();
while(i$1.hasNext()) {
Feature f = (Feature)i$1.next();
GaussianValue gaussianValue = new
GaussianValue();
gaussianValue.setLabel(classLabel);
gaussianValue.setFeature(f.getId());
double zigmaPerFeature = 0.0D;
Dataset data;
for(Iterator zigmaVariant2 =
this.mListTrainingDataset.iterator(); zigmaVariant2.hasNext();
zigmaPerFeature += data.getFeature(f.getId())) {
data = (Dataset)zigmaVariant2.next();
}
gaussianValue.setMean(Double.valueOf(this.numberFormat.format(me
an)).doubleValue());
double zigmaVariant21 = 0.0D;
double tmp;
for(Iterator i$2 =
this.mListTrainingDataset.iterator(); i$2.hasNext();
zigmaVariant21 += tmp) {
Dataset data1 = (Dataset)i$2.next();
tmp = data1.getFeature(f.getId()) - mean;
tmp *= tmp;
}
variant2 = zigmaVariant21 /
(datasetPerClassCount - 1.0D);
variant = Math.sqrt(variant2);
gaussianValue.setVariant2(Double.valueOf(this.numberFormat.forma
t(variant2)).doubleValue());
gaussianValue.setVariant(Double.valueOf(this.numberFormat.format
(variant)).doubleValue());
this.mListGaussianValues.add(gaussianValue);
}
}
try {
Iterator e = this.mListGaussianValues.iterator();
while(e.hasNext()) {
GaussianValue gaussianValue =
(GaussianValue)e.next();
ContentValues values = new ContentValues();
values.put(this.KEY_CLASS,
gaussianValue.label2);
values.put(this.KEY_FEATURE,
gaussianValue.feature2);
values.put(this.KEY_MEAN,
Double.valueOf(gaussianValue.mean));
values.put(this.KEY_VARIANT,
Double.valueOf(gaussianValue.varian));
values.put(this.KEY_VARIANT2,
Double.valueOf(gaussianValue.varian2));
listGaussianValue.add(values);
}
} catch (Exception var5) {
Log.d("Gaussian", var5.getMessage());
}
return listGaussianValue;
}
}
GaussianValue.class
//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by Fernflower decompiler)
//
package irman.dagingsapi.naivebayes;
import irman.dagingsapi.glcm.ClassLabel;
import irman.dagingsapi.glcm.Feature;
import java.text.DecimalFormat;
public GaussianValue() {
}
package irman.dagingsapi.naivebayes;
import android.content.ContentValues;
import android.database.Cursor;
import irman.dagingsapi.glcm.ClassLabel;
import irman.dagingsapi.sqlhelpers.Dataset;
import irman.dagingsapi.utils.Param;
import java.util.Iterator;
import java.util.List;
public NaiveBayes() {
}
NaiveBayesPrediction.class
//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by Fernflower decompiler)
//
package irman.dagingsapi.naivebayes;
import android.util.Log;
import irman.dagingsapi.glcm.ClassLabel;
import irman.dagingsapi.glcm.Feature;
import irman.dagingsapi.naivebayes.PostProbability;
import irman.dagingsapi.naivebayes.Probability;
import irman.dagingsapi.sqlhelpers.Dataset;
import irman.dagingsapi.sqlhelpers.TrainingDataset;
import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
public NaiveBayesPrediction() {
this.seedData();
}
List probs;
for(Iterator i$ = this.mListClasses.iterator();
i$.hasNext(); this.datasetCount += probs.size()) {
ClassLabel classLabel = (ClassLabel)i$.next();
probs =
(List)this.mListProbabilityPerClass.get(classLabel.key);
}
}
public void setProbabilitiesValues(List<Probability>
probabilities) {
}
for(Iterator i$ = this.mListClasses.iterator();
i$.hasNext(); this.mListPostProbabilities.add(postProb)) {
ClassLabel classLabel = (ClassLabel)i$.next();
List probs =
(List)this.mListProbabilityPerClass.get(classLabel.key);
double probByClass = (double)probs.size() /
(double)this.datasetCount;
this.mProbabilityByClass.put(classLabel.key,
Double.valueOf(df.format(probByClass)));
postProb = new PostProbability();
double resultValue = 1.0D;
Iterator postProbValue = probs.iterator();
while(postProbValue.hasNext()) {
Probability prob =
(Probability)postProbValue.next();
resultValue *= prob.value;
Log.d("NBPrediction", "Prob value: " +
String.valueOf(prob.value));
}
NaiveBayesPredictionOnly.class
//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by Fernflower decompiler)
//
package irman.dagingsapi.naivebayes;
NaiveBayesPriorProb.class
//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by Fernflower decompiler)
//
package irman.dagingsapi.naivebayes;
import irman.dagingsapi.glcm.ClassLabel;
import irman.dagingsapi.glcm.Feature;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
Iterator i$;
ClassLabel classLabel;
for(i$ = this.mLabels.iterator(); i$.hasNext();
totalSample += classLabel.count) {
classLabel = (ClassLabel)i$.next();
}
i$ = this.mLabels.iterator();
while(i$.hasNext()) {
classLabel = (ClassLabel)i$.next();
prioProbValue.put(classLabel.key,
Double.valueOf((double)(classLabel.count / totalSample)));
}
return prioProbValue;
}
}
NaiveBayesTrain.class
//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by Fernflower decompiler)
//
package irman.dagingsapi.naivebayes;
NBResult.class
//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by Fernflower decompiler)
//
package irman.dagingsapi.naivebayes;
import irman.dagingsapi.glcm.ClassLabel;
import irman.dagingsapi.naivebayes.Probability;
import java.util.List;
public NBResult() {
}
}
PostProbability.class
//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by Fernflower decompiler)
//
package irman.dagingsapi.naivebayes;
import irman.dagingsapi.glcm.ClassLabel;
public PostProbability() {
}
Dataset.class
//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by Fernflower decompiler)
//
package irman.dagingsapi.sqlhelpers;
import android.database.Cursor;
import android.util.Log;
import irman.dagingsapi.glcm.ClassLabel;
import irman.dagingsapi.glcm.Feature;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
public Dataset() {
}
while(i$.hasNext()) {
Feature f = (Feature)i$.next();
this.featureValues.put(f.getLabel(),
Double.valueOf(f.getValue()));
}
return added;
}
Feature f;
for(Iterator i$ = listFeatures.iterator(); i$.hasNext();
this.featureValues.put(f.getId(), Double.valueOf(f.getValue())))
{
f = (Feature)i$.next();
if(this.addFeature(f)) {
++countAdded;
}
}
while(sqliteData.moveToNext()) {
Dataset singleDataset = new Dataset();
singleDataset.setId(sqliteData.getString(0));
singleDataset.setClassLabel2(sqliteData.getString(1));
ArrayList features = new ArrayList();
Feature feature = new Feature("energy", "Energi",
sqliteData.getDouble(2));
features.add(feature);
feature = new Feature("entropy", "Entropi",
sqliteData.getDouble(3));
features.add(feature);
feature = new Feature("contrast", "Kontras",
sqliteData.getDouble(4));
features.add(feature);
feature = new Feature("correlation", "Korelasi",
sqliteData.getDouble(5));
features.add(feature);
feature = new Feature("homogenity", "Homogenitas",
sqliteData.getDouble(6));
features.add(feature);
singleDataset.addFeatures(features);
listDataset.add(singleDataset);
}
return listDataset;
}
}
Datasets.class
//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by Fernflower decompiler)
//
package irman.dagingsapi.sqlhelpers;
import irman.dagingsapi.glcm.ClassLabel;
public Datasets() {
}
}
DBHelper.class
//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by Fernflower decompiler)
//
package irman.dagingsapi.sqlhelpers;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
GaussianDS.class
//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by Fernflower decompiler)
//
package irman.dagingsapi.sqlhelpers;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.util.Log;
import irman.dagingsapi.naivebayes.GaussianValue;
import irman.dagingsapi.sqlhelpers.DBHelper;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
while(i$.hasNext()) {
ContentValues newRow = (ContentValues)i$.next();
this.db.insert(this.TABLE_NAME, (String)null,
newRow);
Log.d(this.TAG, "New rows added.");
}
while(i$.hasNext()) {
GaussianValue eachValue =
(GaussianValue)i$.next();
if(eachValue.getLabel().equals(className) &&
eachValue.getFeature2().equals(featureName)) {
val = eachValue;
break;
}
}
}
return val;
}
while(!this.rows.isAfterLast()) {
this.listGaussianValues.add(this.mapToDataset(this.rows));
this.rows.moveToNext();
}
gaussianValue.setFeature(data.getString(this.COL_FEATURE));
gaussianValue.setMean(Double.valueOf(data.getString(this.COL_MEA
N)).doubleValue());
gaussianValue.setVariant(Double.valueOf(data.getString(this.COL_
VARIANT)).doubleValue());
gaussianValue.setVariant2(Double.valueOf(data.getString(this.COL
_VARIANT2)).doubleValue());
return gaussianValue;
}
}
NBTrainingResult.class
//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by Fernflower decompiler)
//
package irman.dagingsapi.sqlhelpers;
import irman.dagingsapi.glcm.ClassLabel;
import irman.dagingsapi.sqlhelpers.Datasets;
public NBTrainingResult() {
}
}
PredictionDataset.class
//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by Fernflower decompiler)
//
package irman.dagingsapi.sqlhelpers;
import irman.dagingsapi.sqlhelpers.Datasets;
ProbabilityDS.class
//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by Fernflower decompiler)
//
package irman.dagingsapi.sqlhelpers;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.util.Log;
import irman.dagingsapi.glcm.FeatureMap;
import irman.dagingsapi.naivebayes.Probability;
import irman.dagingsapi.sqlhelpers.DBHelper;
import java.util.ArrayList;
import java.util.List;
while(!rows.isAfterLast()) {
Probability data = this.mapToDataset(rows);
probabilities.add(data);
rows.moveToNext();
}
return probabilities;
}
TestDataset.class
//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by Fernflower decompiler)
//
package irman.dagingsapi.sqlhelpers;
import irman.dagingsapi.glcm.ClassLabel;
import irman.dagingsapi.sqlhelpers.Datasets;
public TestDataset() {
}
}
TrainingDataset.class
//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by Fernflower decompiler)
//
package irman.dagingsapi.sqlhelpers;
import android.content.ContentValues;
import irman.dagingsapi.glcm.ClassLabel;
import irman.dagingsapi.glcm.Feature;
import irman.dagingsapi.glcm.FeatureExtraction;
import irman.dagingsapi.sqlhelpers.Datasets;
import irman.dagingsapi.utils.Param;
public TrainingDataset() {
}
TrainingDatasetDS.class
//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by Fernflower decompiler)
//
package irman.dagingsapi.sqlhelpers;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.util.Log;
import irman.dagingsapi.glcm.Feature;
import irman.dagingsapi.glcm.FeatureMap;
import irman.dagingsapi.sqlhelpers.DBHelper;
import irman.dagingsapi.sqlhelpers.Dataset;
import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
try {
String e = "";
this.rows = this.db.query(this.TABLE,
(String[])null, (String)null, (String[])null, (String)null,
(String)null, (String)null);
this.rows.moveToFirst();
while(!this.rows.isAfterLast()) {
this.listDataset.add(this.mapToDataset(this.rows));
String dataClass =
this.rows.getString(this.KEY_CLASS);
if(!e.equals(dataClass)) {
this.listClasses.add(dataClass);
}
e = dataClass;
++this.datasetCount;
this.rows.moveToNext();
}
} catch (Exception var3) {
Log.d("TrainingDatasetDS", var3.getMessage());
}
return this.listDataset;
}
while(i$.hasNext()) {
String classLabel = (String)i$.next();
ArrayList tmpPerClass = new ArrayList();
Iterator i$1 = dataset.iterator();
while(i$1.hasNext()) {
Dataset data = (Dataset)i$1.next();
if(data.getClassLabel2().equals(classLabel)) {
tmpPerClass.add(data);
}
}
datasetPerClass.put(classLabel, tmpPerClass);
}
return datasetPerClass;
}
data.setClassLabel2(sqliteData.getString(this.KEY_CLASS));
data.setId(sqliteData.getString(this.KEY_ID));
ArrayList features = new ArrayList();
Iterator i$ = this.featureMap.iterator();
while(i$.hasNext()) {
FeatureMap fmap = (FeatureMap)i$.next();
Feature feature = new Feature(fmap.getId(),
fmap.getLabel(), sqliteData.getDouble(fmap.getColId()));
Log.d(this.TAG, "Val: " +
sqliteData.getDouble(fmap.getColId()));
features.add(feature);
}
data.addFeatures(features);
return data;
}
TrainingDataSource.class
//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by Fernflower decompiler)
//
package irman.dagingsapi.sqlhelpers;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.widget.Toast;
import irman.dagingsapi.glcm.ClassLabel;
import irman.dagingsapi.sqlhelpers.DBHelper;
import java.util.Iterator;
import java.util.List;
try {
this.db = this.dbHelper.getWritableDatabase();
} catch (Exception var4) {
Toast.makeText(context, var4.getMessage(),
1).show();
}
}
public void close() {
try {
this.db.close();
} catch (Exception var2) {
Toast.makeText(this.mContext, var2.getMessage(),
1).show();
}
return true;
}
while(i$.hasNext()) {
ContentValues data = (ContentValues)i$.next();
if(this.insert(data)) {
++count;
}
}
return count;
}
return (List)labels;
}
}
Utils
BuildConfig.class
//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by Fernflower decompiler)
//
package irman.dagingsapi;
public BuildConfig() {
}
}
CaptureImageActivity.class
//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by Fernflower decompiler)
//
package irman.dagingsapi;
import android.app.ProgressDialog;
import android.hardware.Camera;
import android.hardware.Camera.Parameters;
import android.hardware.Camera.PictureCallback;
import android.hardware.Camera.PreviewCallback;
import android.hardware.Camera.ShutterCallback;
import android.os.Bundle;
import android.os.Environment;
import android.os.Handler;
import android.support.v7.app.ActionBar;
import android.support.v7.app.ActionBarActivity;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.FrameLayout;
import android.widget.Toast;
import irman.dagingsapi.camerahelper.CameraPreview;
import irman.dagingsapi.utils.SimpleImage;
import java.io.File;
import java.io.FileOutputStream;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
CaptureImageActivity.this.mCamera.takePicture((ShutterCallback)n
ull, (PictureCallback)null,
CaptureImageActivity.this.captureImage);
CaptureImageActivity.this.progress.setTitle("Process");
CaptureImageActivity.this.progress.setMessage("Saving
image...");
CaptureImageActivity.this.progress.show();
}
};
private PictureCallback captureImage = new PictureCallback()
{
public void onPictureTaken(final byte[] data, Camera
camera) {
Log.d("CaptureImage", "Saving image...");
Handler saveImageHandler = new Handler();
Runnable saveImageRunnable = new Runnable() {
public void run() {
CaptureImageActivity.this.saveImage(data);
}
};
saveImageHandler.post(saveImageRunnable);
}
};
public CaptureImageActivity() {
}
this.btnCaptureImage.setOnClickListener(this.captureImageListene
r);
this.mPreviewHolder =
(FrameLayout)this.findViewById(2131296319);
this.progress = new ProgressDialog(this);
}
try {
cam = Camera.open();
} catch (Exception var2) {
Log.d("Kamera", "Tidak bisa mengakses kamera. " +
var2.getMessage());
}
return cam;
}
this.mCamParameters = this.mCamera.getParameters();
if(this.getResources().getConfiguration().orientation !=
2) {
this.mCamParameters.set("orientation", "portrait");
this.mCamera.setDisplayOrientation(90);
} else {
this.mCamParameters.set("orientation", "landscape");
this.mCamera.setDisplayOrientation(0);
}
this.mCamParameters.setPictureSize(320, 240);
this.mCamera.setParameters(this.mCamParameters);
this.mPreview = new CameraPreview(this, this.mCamera);
this.mPreviewHolder.addView(this.mPreview);
}
}
}
GLCMProcessActivity.class
//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by Fernflower decompiler)
//
package irman.dagingsapi;
import android.app.ProgressDialog;
import android.app.AlertDialog.Builder;
import android.content.ContentValues;
import android.database.sqlite.SQLiteDatabase;
import android.os.AsyncTask;
import android.os.Bundle;
import android.os.Environment;
import android.support.v7.app.ActionBar;
import android.support.v7.app.ActionBarActivity;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.Spinner;
import android.widget.Toast;
import irman.dagingsapi.MainActivity;
import irman.dagingsapi.glcm.FeatureExtraction;
import irman.dagingsapi.glcm.GLCM;
import irman.dagingsapi.sqlhelpers.DBHelper;
import irman.dagingsapi.utils.FileLog;
import java.io.File;
import java.io.FileFilter;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
GLCMProcessActivity.this.progress.setTitle("Processing");
GLCMProcessActivity.this.progress.setMessage("Reading
images...");
GLCMProcessActivity.this.progress.show();
GLCMProcessActivity.ScanImages e =
GLCMProcessActivity.this.new ScanImages(null);
e.execute(new String[0]);
} catch (Exception var3) {
Toast.makeText(GLCMProcessActivity.this.getBaseContext(),
"ProcessGLCM: " + var3.getMessage(), 1).show();
}
}
};
private OnClickListener setupGLCMParameter = new
OnClickListener() {
public void onClick(View v) {
GLCMProcessActivity.this.degree =
GLCMProcessActivity.this.degrees[GLCMProcessActivity.this.inputD
egree.getSelectedItemPosition()];
GLCMProcessActivity.this.d =
Integer.valueOf(GLCMProcessActivity.this.inputDistance.getText()
.toString()).intValue();
Toast.makeText(GLCMProcessActivity.this.getBaseContext(),
"Parameter set! Click button Proses GLCM! to start the
process.", 1).show();
}
};
FileFilter filterImageOnly = new FileFilter() {
public boolean accept(File pathname) {
return
pathname.getAbsolutePath().matches(".*\\.(jpg|JPG)");
}
};
public GLCMProcessActivity() {
}
this.btnSetupGLCM.setOnClickListener(this.setupGLCMParameter);
this.inputDistance =
(EditText)this.findViewById(2131296332);
this.outputLog =
(EditText)this.findViewById(2131296337);
this.inputDegree =
(Spinner)this.findViewById(2131296334);
this.btnProcess = (Button)this.findViewById(2131296336);
this.btnProcess.setOnClickListener(this.processGLCM);
this.init();
}
int var16;
String db;
for(Iterator dbHelper =
GLCMProcessActivity.this.classLists.iterator();
dbHelper.hasNext(); e = e + "Data kelas " + db + " : " + var16 +
"\n") {
db = (String)dbHelper.next();
File i$ = new
File(Environment.getExternalStoragePublicDirectory("/"),
"dagingSapi/trainingImages/" + db);
GLCMProcessActivity.this.images.put(db,
i$.listFiles(GLCMProcessActivity.this.filterImageOnly));
var16 =
((File[])GLCMProcessActivity.this.images.get(db)).length;
}
e = e + "---------------------------------------
-------------\n";
DBHelper var17 = new
DBHelper(GLCMProcessActivity.this.getApplicationContext());
SQLiteDatabase var18 =
var17.getWritableDatabase();
var18.delete("dataset_training", (String)null,
(String[])null);
Iterator var19 =
GLCMProcessActivity.this.classLists.iterator();
while(var19.hasNext()) {
String eachClass = (String)var19.next();
File[] arr$ =
(File[])GLCMProcessActivity.this.images.get(eachClass);
int len$ = arr$.length;
FileLog.append(GLCMProcessActivity.this.logFile,
e);
var18.close();
this.publishProgress(new String[]{e});
return "OK";
} catch (Exception var15) {
return "FAIL";
}
}
GLCMProcessActivity.this.outputLog.setText(GLCMProcessActivity.t
his.outputLog.getText() + update[0]);
} else {
GLCMProcessActivity.this.outputLog.setText(GLCMProcessActivity.t
his.outputLog.getText() + "\n" + update[0]);
}
Toast.makeText(GLCMProcessActivity.this.getApplicationContext(),
"ScanImages: " + result, 1).show();
}
GLCMProcessActivity.this.progress.dismiss();
}
}
}
MainActivity.class
//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by Fernflower decompiler)
//
package irman.dagingsapi;
import android.app.AlertDialog;
import android.app.AlertDialog.Builder;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.os.Environment;
import android.support.v7.app.ActionBar;
import android.support.v7.app.ActionBarActivity;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.RelativeLayout;
import irman.dagingsapi.CaptureImageActivity;
import irman.dagingsapi.GLCMProcessActivity;
import irman.dagingsapi.NBCapturePredictionActivity;
import irman.dagingsapi.NBTrainingActivity;
import irman.dagingsapi.utils.FileLogger;
import java.io.File;
import java.io.FileWriter;
import java.text.SimpleDateFormat;
import java.util.Date;
MainActivity.this.startActivity(processGLCMActivity);
}
};
private OnClickListener processTrainingNB = new
OnClickListener() {
public void onClick(View v) {
Intent intent = new
Intent(MainActivity.this.getBaseContext(),
NBTrainingActivity.class);
intent.putExtra("logFile",
MainActivity.this.logFile);
MainActivity.this.startActivity(intent);
}
};
private OnClickListener processPredictionNB = new
OnClickListener() {
public void onClick(View v) {
Intent processNBPrediction = new
Intent(MainActivity.this.getBaseContext(),
NBCapturePredictionActivity.class);
processNBPrediction.putExtra("logFile",
MainActivity.this.logFile);
MainActivity.this.startActivity(processNBPrediction);
}
};
public MainActivity() {
}
btnCaptureImage.setOnClickListener(this.processCaptureImages);
Button btnProcessGLCM =
(Button)this.findViewById(2131296323);
btnProcessGLCM.setOnClickListener(this.processGLCM);
Button btnTrainingNB =
(Button)this.findViewById(2131296324);
btnTrainingNB.setOnClickListener(this.processTrainingNB);
Button btnPredictionNB =
(Button)this.findViewById(2131296325);
btnPredictionNB.setOnClickListener(this.processPredictionNB);
this.init();
}
try {
File folderLogs = new
File(Environment.getExternalStoragePublicDirectory(""),
"dagingSapi/logs");
folderLogs.mkdirs();
File logFile = new File(folderLogs.getPath() +
File.separator + "LOG_" + this.timeStamp + ".txt");
FileLogger fileLogger = new FileLogger(logFile);
fileLogger.writeLine("Init()");
fileLogger.writeLine("Log file is " +
logFile.getPath());
fileLogger.close();
this.logFile = logFile.getPath();
} catch (Exception var5) {
Log.d(this.TAG, var5.getMessage());
}
}
}
NBCapturePredictionActivity.class
//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by Fernflower decompiler)
//
package irman.dagingsapi;
import android.app.ProgressDialog;
import android.content.Intent;
import android.hardware.Camera;
import android.hardware.Camera.Parameters;
import android.hardware.Camera.PictureCallback;
import android.hardware.Camera.PreviewCallback;
import android.hardware.Camera.ShutterCallback;
import android.os.Bundle;
import android.os.Environment;
import android.os.Handler;
import android.support.v7.app.ActionBar;
import android.support.v7.app.ActionBarActivity;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.FrameLayout;
import irman.dagingsapi.NBPredictionResultActivity;
import irman.dagingsapi.camerahelper.CameraPreview;
import irman.dagingsapi.glcm.FeatureExtraction;
import irman.dagingsapi.glcm.GLCM;
import irman.dagingsapi.naivebayes.GaussianValue;
import irman.dagingsapi.naivebayes.Probability;
import irman.dagingsapi.sqlhelpers.GaussianDS;
import irman.dagingsapi.sqlhelpers.TrainingDatasetDS;
import irman.dagingsapi.utils.SimpleImage;
import java.io.File;
import java.io.FileOutputStream;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
NBCapturePredictionActivity.this.mCamera.takePicture((ShutterCal
lback)null, (PictureCallback)null,
NBCapturePredictionActivity.this.captureImage);
NBCapturePredictionActivity.this.progress.setTitle("Process");
NBCapturePredictionActivity.this.progress.setMessage("Saving
image...");
NBCapturePredictionActivity.this.progress.show();
}
};
private PictureCallback captureImage = new PictureCallback()
{
public void onPictureTaken(final byte[] data, Camera
camera) {
Log.d(NBCapturePredictionActivity.this.TAG, "Saving
image...");
Handler saveImageHandler = new Handler();
Runnable saveImageRunnable = new Runnable() {
public void run() {
NBCapturePredictionActivity.this.saveImage(data);
}
};
saveImageHandler.post(saveImageRunnable);
}
};
public NBCapturePredictionActivity() {
}
this.btnCaptureImage.setOnClickListener(this.captureImageListene
r);
this.mPreviewHolder =
(FrameLayout)this.findViewById(2131296319);
this.progress = new ProgressDialog(this);
}
try {
cam = Camera.open();
} catch (Exception var2) {
Log.d("Kamera", "Tidak bisa mengakses kamera. " +
var2.getMessage());
}
return cam;
}
this.mCamParameters = this.mCamera.getParameters();
if(this.getResources().getConfiguration().orientation !=
2) {
this.mCamParameters.set("orientation", "portrait");
this.mCamera.setDisplayOrientation(90);
} else {
this.mCamParameters.set("orientation", "landscape");
this.mCamera.setDisplayOrientation(0);
}
this.mCamParameters.setPictureSize(320, 240);
this.mCamera.setParameters(this.mCamParameters);
this.mPreview = new CameraPreview(this, this.mCamera);
this.mPreviewHolder.addView(this.mPreview);
}
while(ds2.hasNext()) {
String dataset = (String)ds2.next();
ArrayList probs = new ArrayList();
double tmp = 1.0D;
Iterator datasetCount = features.iterator();
while(datasetCount.hasNext()) {
String max = (String)datasetCount.next();
Probability prob = new Probability();
GaussianValue gaussianValue =
ds.get(dataset, max);
if(null != gaussianValue) {
prob.setClassName(dataset);
prob.setFeatureName(max);
double predictedClass =
gaussianValue.getVarian();
double eachClass =
gaussianValue.getMean();
double varian2 =
gaussianValue.getVarian2();
double featureVal =
fe.getFeatureValue(features.indexOf(max));
double value = 1.0D /
Math.sqrt(6.283185307179586D) * predictedClass * Math.exp(-1.0D
* Math.pow(featureVal - eachClass, 2.0D) / 2.0D * varian2);
Log.d(this.TAG, "Feature Value:" +
featureVal);
Log.d(this.TAG, "Varian:" +
predictedClass);
Log.d(this.TAG, "Mean:" + eachClass);
Log.d(this.TAG, "Varian2:" + varian2);
Log.d(this.TAG, "Each Prob Value (" +
dataset + ", " + max + ") = " + value);
Log.d(this.TAG, "-----------------------
--------------------------------------------");
prob.setValue(value);
probs.add(prob);
}
}
Probability max1;
for(datasetCount = probs.iterator();
datasetCount.hasNext(); tmp *= max1.getValue()) {
max1 = (Probability)datasetCount.next();
}
priorProbPerClass.put(dataset,
Double.valueOf(tmp));
Log.d(this.TAG, "Final Prob value for class " +
dataset + " = " + tmp);
Log.d(this.TAG, "-------------------------------
------------------------------------");
probabilityPerFeaturePerClass.put(dataset,
probs);
}
ds.close();
TrainingDatasetDS ds21 = new
TrainingDatasetDS(this.getBaseContext());
ds21.open();
Map dataset1 = ds21.getAllPerClass();
int datasetCount1 = ds21.getDatasetCount();
double max2 = 0.0D;
String predictedClass1 = "";
Iterator result = this.listClass.iterator();
while(result.hasNext()) {
String eachClass1 = (String)result.next();
double priorProb =
(double)((List)dataset1.get(eachClass1)).size() /
(double)datasetCount1;
double postProb = priorProb *
((Double)priorProbPerClass.get(eachClass1)).doubleValue();
if(postProb > max2) {
predictedClass1 = eachClass1;
max2 = postProb;
}
}
ds21.close();
Log.d(this.TAG, "Prediction Result: " +
predictedClass1 + " (" + max2 + ")");
this.progress.dismiss();
Intent result1 = new Intent(this.getBaseContext(),
NBPredictionResultActivity.class);
result1.putExtra("predictedClass", predictedClass1);
result1.putExtra("finalValue", max2);
this.startActivity(result1);
} catch (Exception var33) {
Log.d(this.TAG, "Exception: " + var33.getMessage());
}
NBPredictionActivity.class
//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by Fernflower decompiler)
//
package irman.dagingsapi;
import android.app.ProgressDialog;
import android.database.sqlite.SQLiteDatabase;
import android.os.AsyncTask;
import android.os.Bundle;
import android.support.v7.app.ActionBar;
import android.support.v7.app.ActionBarActivity;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import irman.dagingsapi.glcm.ClassLabel;
import irman.dagingsapi.glcm.FeatureMap;
import irman.dagingsapi.glcm.GLCM;
import irman.dagingsapi.naivebayes.NaiveBayesPrediction;
import irman.dagingsapi.naivebayes.PostProbability;
import irman.dagingsapi.sqlhelpers.DBHelper;
import irman.dagingsapi.sqlhelpers.Dataset;
import irman.dagingsapi.sqlhelpers.ProbabilityDS;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
NBPredictionActivity.this.progressDialog.setTitle("Processing");
NBPredictionActivity.this.progressDialog.setMessage("Prediction
is running...");
NBPredictionActivity.this.progressDialog.show();
NBPredictionActivity.NBPredictionTask predictionTask
= NBPredictionActivity.this.new NBPredictionTask(null);
predictionTask.execute(new String[0]);
}
};
public NBPredictionActivity() {
}
this.btnProcessPrediction.setOnClickListener(this.processPredict
ionListener);
this.progressDialog = new ProgressDialog(this);
this.featureMaps.add(new FeatureMap("energy", "Energi",
3));
this.featureMaps.add(new FeatureMap("entropy",
"Entropi", 4));
this.featureMaps.add(new FeatureMap("contrast",
"Kontras", 5));
this.featureMaps.add(new FeatureMap("correlation",
"Korelasi", 6));
this.featureMaps.add(new FeatureMap("homogenity",
"Homogenitas", 7));
}
PostProbability postProb;
for(Iterator i$ = postProbs.iterator();
i$.hasNext(); resultString = resultString + "P(" +
postProb.getClassLabel().label + " | " + input.getId() + ") = "
+ postProb.getValue() + "\n") {
postProb = (PostProbability)i$.next();
}
if(NBPredictionActivity.this.progressDialog.isShowing()) {
NBPredictionActivity.this.progressDialog.dismiss();
}
NBPredictionActivity.this.editPredictionLog.setText(result);
}
}
}
NBPredictionResultActivity.class
//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by Fernflower decompiler)
//
package irman.dagingsapi;
import android.os.Bundle;
import android.support.v7.app.ActionBar;
import android.support.v7.app.ActionBarActivity;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.TextView;
import java.text.DecimalFormat;
public NBPredictionResultActivity() {
}
NBTrainingActivity.class
//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by Fernflower decompiler)
//
package irman.dagingsapi;
import android.app.ProgressDialog;
import android.os.AsyncTask;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import irman.dagingsapi.naivebayes.Gaussian;
import irman.dagingsapi.naivebayes.GaussianValue;
import irman.dagingsapi.sqlhelpers.Dataset;
import irman.dagingsapi.sqlhelpers.GaussianDS;
import irman.dagingsapi.sqlhelpers.TrainingDatasetDS;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
NBTrainingActivity.this.progress.setTitle("Progress");
NBTrainingActivity.this.progress.setMessage("Memuat
dataset...");
NBTrainingActivity.this.progress.show();
NBTrainingActivity.this.btnStartTraining.setEnabled(false);
NBTrainingActivity.TaskLoadTrainingDataset
taskLoadTrainingDataset = NBTrainingActivity.this.new
TaskLoadTrainingDataset(null);
taskLoadTrainingDataset.execute(new String[0]);
}
};
private OnClickListener startTraining = new
OnClickListener() {
public void onClick(View v) {
NBTrainingActivity.this.progress.setTitle("Progress");
NBTrainingActivity.this.progress.setMessage("Training...");
NBTrainingActivity.this.progress.show();
NBTrainingActivity.TaskTrainingNB taskTrainingNB =
NBTrainingActivity.this.new TaskTrainingNB(null);
taskTrainingNB.execute(new String[0]);
}
};
public NBTrainingActivity() {
}
this.btnCheckDataset.setOnClickListener(this.checkDataset);
this.btnStartTraining =
(Button)this.findViewById(2131296339);
this.btnStartTraining.setOnClickListener(this.startTraining);
this.outputLog =
(EditText)this.findViewById(2131296337);
this.progress = new ProgressDialog(this);
this.init();
}
for(Iterator ds = gaussianValues.iterator();
ds.hasNext(); result = result + "-------------------------------
------------------\n") {
GaussianValue val = (GaussianValue)ds.next();
result = result + "Mean(" + val.getLabel() + ",
" + val.getFeature2() + ") = " + val.getMean() + "\n";
result = result + "Varian2(" + val.getLabel() +
", " + val.getFeature2() + ") = " + val.getVarian2() + "\n";
result = result + "Varian(" + val.getLabel() +
", " + val.getFeature2() + ") = " + val.getVarian() + "\n";
}
NBTrainingActivity.this.outputLog.setText(NBTrainingActivity.thi
s.outputLog.getText() + result);
NBTrainingActivity.this.progress.dismiss();
}
NBTrainingActivity.this.outputLog.setText(NBTrainingActivity.thi
s.outputLog.getText() + update[0]);
} else {
NBTrainingActivity.this.outputLog.setText(NBTrainingActivity.thi
s.outputLog.getText() + "\n" + update[0]);
}
}
}
NBTrainingActivity.this.btnStartTraining.setEnabled(true);
}
}
}
}
R.class
//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by Fernflower decompiler)
//
package irman.dagingsapi;
public styleable() {
}
}
public style() {
}
}
public string() {
}
}
public menu() {
}
}
public layout() {
}
}
public integer() {
}
}
public id() {
}
}
public static final class drawable {
public static final int abc_ab_share_pack_holo_dark =
2130837504;
public static final int abc_ab_share_pack_holo_light =
2130837505;
public static final int abc_btn_check_material =
2130837506;
public static final int abc_btn_check_to_on_mtrl_000 =
2130837507;
public static final int abc_btn_check_to_on_mtrl_015 =
2130837508;
public static final int abc_btn_radio_material =
2130837509;
public static final int abc_btn_radio_to_on_mtrl_000 =
2130837510;
public static final int abc_btn_radio_to_on_mtrl_015 =
2130837511;
public static final int abc_btn_switch_to_on_mtrl_00001
= 2130837512;
public static final int abc_btn_switch_to_on_mtrl_00012
= 2130837513;
public static final int abc_cab_background_internal_bg =
2130837514;
public static final int abc_cab_background_top_material
= 2130837515;
public static final int
abc_cab_background_top_mtrl_alpha = 2130837516;
public static final int abc_edit_text_material =
2130837517;
public static final int abc_ic_ab_back_mtrl_am_alpha =
2130837518;
public static final int abc_ic_clear_mtrl_alpha =
2130837519;
public static final int
abc_ic_commit_search_api_mtrl_alpha = 2130837520;
public static final int abc_ic_go_search_api_mtrl_alpha
= 2130837521;
public static final int abc_ic_menu_copy_mtrl_am_alpha =
2130837522;
public static final int abc_ic_menu_cut_mtrl_alpha =
2130837523;
public static final int
abc_ic_menu_moreoverflow_mtrl_alpha = 2130837524;
public static final int abc_ic_menu_paste_mtrl_am_alpha
= 2130837525;
public static final int abc_ic_menu_selectall_mtrl_alpha
= 2130837526;
public static final int abc_ic_menu_share_mtrl_alpha =
2130837527;
public static final int abc_ic_search_api_mtrl_alpha =
2130837528;
public static final int
abc_ic_voice_search_api_mtrl_alpha = 2130837529;
public static final int abc_item_background_holo_dark =
2130837530;
public static final int abc_item_background_holo_light =
2130837531;
public static final int abc_list_divider_mtrl_alpha =
2130837532;
public static final int abc_list_focused_holo =
2130837533;
public static final int abc_list_longpressed_holo =
2130837534;
public static final int abc_list_pressed_holo_dark =
2130837535;
public static final int abc_list_pressed_holo_light =
2130837536;
public static final int
abc_list_selector_background_transition_holo_dark = 2130837537;
public static final int
abc_list_selector_background_transition_holo_light = 2130837538;
public static final int
abc_list_selector_disabled_holo_dark = 2130837539;
public static final int
abc_list_selector_disabled_holo_light = 2130837540;
public static final int abc_list_selector_holo_dark =
2130837541;
public static final int abc_list_selector_holo_light =
2130837542;
public static final int abc_menu_hardkey_panel_mtrl_mult
= 2130837543;
public static final int abc_popup_background_mtrl_mult =
2130837544;
public static final int abc_spinner_mtrl_am_alpha =
2130837545;
public static final int abc_switch_thumb_material =
2130837546;
public static final int abc_switch_track_mtrl_alpha =
2130837547;
public static final int abc_tab_indicator_material =
2130837548;
public static final int abc_tab_indicator_mtrl_alpha =
2130837549;
public static final int
abc_textfield_activated_mtrl_alpha = 2130837550;
public static final int abc_textfield_default_mtrl_alpha
= 2130837551;
public static final int
abc_textfield_search_activated_mtrl_alpha = 2130837552;
public static final int
abc_textfield_search_default_mtrl_alpha = 2130837553;
public static final int abc_textfield_search_material =
2130837554;
public static final int ic_launcher = 2130837555;
public static final int rect7273 = 2130837556;
public drawable() {
}
}
public dimen() {
}
}
public color() {
}
}
public static final class bool {
public static final int abc_action_bar_embed_tabs =
2131099648;
public static final int abc_action_bar_embed_tabs_pre_jb
= 2131099649;
public static final int
abc_action_bar_expanded_action_views_exclusive = 2131099650;
public static final int abc_config_actionMenuItemAllCaps
= 2131099651;
public static final int
abc_config_allowActionMenuItemTextWithIcon = 2131099652;
public static final int
abc_config_showMenuShortcutsWhenKeyboardPresent = 2131099653;
public bool() {
}
}
public attr() {
}
}
public array() {
}
}
public anim() {
}
}
}
Src
ApplicationTest.java
package irman.dagingsapi;
import android.app.Application;
import android.test.ApplicationTestCase;
/**
* <a
href="http://d.android.com/tools/testing/testing_android.html">T
esting Fundamentals</a>
*/
public class ApplicationTest extends
ApplicationTestCase<Application> {
public ApplicationTest() {
super(Application.class);
}
}
camerahelper
CameraPreview.java
package irman.dagingsapi.camerahelper;
import android.content.Context;
import android.hardware.Camera;
import android.util.Log;
import android.view.SurfaceHolder;
import android.view.SurfaceView;
/**
* Created by budi on 19/03/15.
*/
public class CameraPreview extends SurfaceView implements
SurfaceHolder.Callback {
SurfaceHolder holder;
Camera camera;
private int mRatioWidth = 0;
private int mRatioHeight = 0;
this.camera = camera;
@Override
public void surfaceCreated(SurfaceHolder holder) {
Log.d(TAG, "SurfaceCreated");
preparePreview();
}
@Override
public void surfaceChanged(SurfaceHolder holder, int format,
int width, int height) {
Log.d(TAG, "SurfaceChanged");
if (camera != null) {
startPreview();
}
}
@Override
public void surfaceDestroyed(SurfaceHolder holder) {
Log.d(TAG, "SurfaceDestroyed");
stopPreview();
}
if (holder.getSurface() == null){
// preview surface does not exist
return;
}
@Override
protected void onMeasure(int widthMeasureSpec, int
heightMeasureSpec) {
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
ClassLabel.java
package irman.dagingsapi.glcm;
import java.util.HashMap;
import java.util.Map;
/**
* Created by budi on 31/01/15.
*/
public class ClassLabel {
public String key;
public String label;
public int count = 0;
Feature.java
package irman.dagingsapi.glcm;
/**
* Created by budi on 08/03/15.
*/
public class Feature {
public Feature() { }
FeatureExtraction.java
package irman.dagingsapi.glcm;
import java.math.BigDecimal;
import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.List;
import irman.dagingsapi.sqlhelpers.Dataset;
import irman.dagingsapi.utils.SimpleMatrix;
/**
* Created by budi on 28/01/15.
*/
public class FeatureExtraction {
double[] featureValues;
GLCM mGlcm;
SimpleMatrix mMatrix;
init();
}
featureValues[ENERGY] = 0;
featureValues[ENTROPY] = 0;
featureValues[CONTRAST] = 0;
featureValues[CORRELATION] = 0;
featureValues[HOMOGENITY] = 0;
mRows = mMatrix.getRows();
mCols = mMatrix.getCols();
}
}
/**
* Calculate all features
*/
public void calculateFeatures() {
for(int feature = 0; feature < 5; feature++) {
calculate(feature);
}
}
/**
* Calculate selected feature(s) only
* @param selectedFeatures
*/
public void calculateFeatures(List<Integer>
selectedFeatures) {
for(int eachFeature : selectedFeatures) {
calculate(eachFeature);
}
}
double val = 0;
switch (feature) {
case ENERGY:
val = new BigDecimal( calculateEnergy()
).doubleValue();
break;
case ENTROPY:
val = calculateEntropy();
break;
case CONTRAST:
val = calculateContrast();
break;
case CORRELATION:
val = calculateCorrelation();
break;
case HOMOGENITY:
val = calculateHomogeneity();
break;
default:
break;
}
featureValues[feature] = val;
return val;
}
/**
* Calculate Energy
* @return
*/
private double calculateEnergy() {
double val = 0;
/*
untuk menghitung probability setelah proses gaussian
double x = 15 - 38.55; x = x * x;
double y = 2 * 1960.255;
return val;
}
/**
* Calculate Entropy
* @return
*/
private double calculateEntropy() {
if (matrixVal != 0.0) {
// jurnal Genetic Algorithm to find optimal
GLCM features
val += matrixVal * Math.log(matrixVal);
}
}
}
return -1 * val;
}
/**
* Calculate Contrast
* @return
*/
private double calculateContrast() {
double val = 0;
int realRow = 0, realCol = 0;
double value = 0.0;
return val;
}
/**
* Calculate Correlation
* @return
*/
private double calculateCorrelation() {
double val = 0;
double mean_rows = 0, mean_cols = 0, var_rows = 0,
var_cols = 0;
// variance
for(int row = 1; row < mRows; row++) {
for(int col = 1; col < mCols; col++) {
var_rows += (row - 1 - mean_rows) * (row - 1 -
mean_rows) * mMatrix.get(row, col);
var_cols += (col - 1 - mean_cols) * (col - 1 -
mean_cols) * mMatrix.get(row, col);
}
}
// feature
for(int row = 1; row < mRows; row++) {
for(int col = 1; col < mCols; col++) {
val += (1 - mean_rows) * (col - 1 - mean_cols) *
mMatrix.get(row, col) / (var_rows * var_cols);
}
}
return val;
}
/**
* Calculate Homogeneity
* @return
*/
private double calculateHomogeneity() {
double val = 0;
int realRow = 0, realCol = 0;
realCol = col - 1;
return val;
}
return featureDataset;
}
return features;
}
}
FeatureMap.java
package irman.dagingsapi.glcm;
/**
* Created by budi on 14/03/15.
*/
public class FeatureMap {
String id;
String label;
int colId;
GLCM.java
package irman.dagingsapi.glcm;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Color;
import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import irman.dagingsapi.utils.FileLog;
import irman.dagingsapi.utils.Param;
import irman.dagingsapi.utils.SimpleImage;
import irman.dagingsapi.utils.SimpleMatrix;
/**
* Created by budi on 28/01/15.
*/
public class GLCM {
SimpleMatrix mOccurrence;
// input image
SimpleImage mImageSource;
Bitmap mImage;
// list of graylevels
// glcm parameter
int degree = 0;
int d = 1;
int nbit = 4;
public GLCM() { }
init();
}
init();
}
mImageWidth = mImage.getWidth();
mImageHeight = mImage.getHeight();
calculateGrayscaleMatrix(nbit);
}
R = Color.red(mImage.getPixel(col, row));
G = Color.green(mImage.getPixel(col, row));
B = Color.blue(mImage.getPixel(col, row));
if (!graylevels.contains(gray)) {
graylevels.add(gray);
}
}
}
int i = 1;
for(int eachGray : graylevels) {
mMatrix.put(0, i, eachGray);
mMatrix.put(i, 0, eachGray);
i++;
}
calculateGLCM();
}
normalize();
}
// logger.write("Function: calculateOccurrence");
// logger.write(" Menghitung matrix occurrence dari
citra sumber/matrix array dari fungsi calculateGraylevels.");
if (degree == DEG_0) {
tmp = occurrence.at0Deg();
}
else if (degree == DEG_45) {
mOccurrence = tmp;
mapOccurrenceToResult(tmp);
int row = 1;
for(int poi : graylevels) {
int col = 1;
for(int neighbor : graylevels) {
col++;
}
row++;
}
}
/*
private void mapOccurrenceToResult(SimpleMatrix mat) {
int rowValue, colValue;
int grayCount = graylevels.size();
mMatrix.symetric();
lines += "\n";
}
return lines;
}
/**
* Convert glcm matrix into rows x cols friendly display
*
* @return
*/
public String getStringMatrix() {
String lines = "";
return lines;
}
@Override
public int compare(Integer lhs, Integer rhs) {
return lhs.compareTo(rhs);
}
}
}
Occurrence.java
package irman.dagingsapi.glcm;
import java.util.ArrayList;
import java.util.List;
import irman.dagingsapi.utils.SimpleMatrix;
/**
* Created by budi on 20/02/15.
*/
public class Occurrence {
SimpleMatrix mImageMatrix;
int d; // distance
int maxGray = 0;
return tmpMatrix;
}
return tmpMatrix;
}
return tmpMatrix;
}
}
naivebayes
Gaussian.java
package irman.dagingsapi.naivebayes;
import android.content.ContentValues;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.util.Log;
import java.sql.SQLException;
import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import irman.dagingsapi.MainActivity;
import irman.dagingsapi.glcm.ClassLabel;
import irman.dagingsapi.glcm.Feature;
import irman.dagingsapi.sqlhelpers.DBHelper;
import irman.dagingsapi.sqlhelpers.Dataset;
import irman.dagingsapi.sqlhelpers.GaussianDS;
import irman.dagingsapi.sqlhelpers.TrainingDataset;
import irman.dagingsapi.utils.SimpleMatrix;
/**
* Created by budi on 08/03/15.
*
* Proses distribusi Gaussian untuk fitur2 dengan nilai numerik.
* (Buku Data Mining - Konsep dan Aplikasi Menggunakan MATLAB,
hal 62-65)
*
* Perhitungan distribusi dilakukan setiap ada perubahan dataset
training,
* karena mempengaruhi nilai mean dan varian.
*
* Nilai distribusi disimpan di database internal (sqlite), yg
nantinya digunakan
* ketika akan melakukan test/klasifikasi.
*
* Jumlah baris di tabel sesuai jumlah kelas yg ada. Contoh:
*
* | kelas | mean | varian | varian2 |
* -------------------------------------------------------
* | C1 | 38.5 | 44.275 | 1960.255 |
* | C2 | 4.425 | 4.8624 | 23.6425 |
* -------------------------------------------------------
*/
public class Gaussian {
List<Dataset> mListTrainingDataset;
List<GaussianValue> mListGaussianValues = new ArrayList<>();
// get classlabel
List<ClassLabel> classLabels = new ArrayList<>();
List<String> classes = new ArrayList<>();
List<Feature> features = new ArrayList<>();
Context mContext;
/**
* Hitung gaussian value.
*/
public void calc() {
gaussianValue.setLabel(classLabel);
gaussianValue.setFeature( f.getId() );
double zigmaPerFeature = 0;
zigmaVariant2 += tmp;
}
gaussianValue.setVariant2( Double.valueOf(
numberFormat.format(variant2) ) );
gaussianValue.setVariant( Double.valueOf(
numberFormat.format(variant) ) );
mListGaussianValues.add(gaussianValue);
}
}
/**
* Hitung gaussian dan return list dari masing2 gaussian
values
* @return
*/
public List<GaussianValue> calcAndReturn() {
calc();
return mListGaussianValues;
}
try {
for(GaussianValue gaussianValue :
mListGaussianValues) {
values.put(KEY_CLASS, gaussianValue.label2);
values.put(KEY_FEATURE, gaussianValue.feature2);
values.put(KEY_MEAN, gaussianValue.mean);
values.put(KEY_VARIANT, gaussianValue.varian);
values.put(KEY_VARIANT2, gaussianValue.varian2);
listGaussianValue.add(values);
}
} catch(Exception e) {
Log.d("Gaussian", e.getMessage());
}
return listGaussianValue;
}
}
GaussianValue.java
package irman.dagingsapi.naivebayes;
import java.text.DecimalFormat;
import irman.dagingsapi.glcm.ClassLabel;
import irman.dagingsapi.glcm.Feature;
/**
* Created by budi on 08/03/15.
*/
public class GaussianValue {
public GaussianValue() {
NaiveBayes.java
package irman.dagingsapi.naivebayes;
import android.content.ContentValues;
import android.database.Cursor;
import java.util.List;
import irman.dagingsapi.glcm.ClassLabel;
import irman.dagingsapi.sqlhelpers.Dataset;
import irman.dagingsapi.utils.Param;
/**
* Created by budi on 31/01/15.
*/
public class NaiveBayes {
Cursor mDataset;
List<ContentValues> trainingResult;
List<Dataset> mListTrainingDataset;
Param mParam;
/**
* Create new NB object
*/
public NaiveBayes() { }
/**
* Create new object and set local dataset with the one
passed in constructor.
* calling method setDataset with the argument.
* @param dataset
*/
public NaiveBayes(Cursor dataset) {
setDataset(dataset);
}
/**
* Set current local dataset with the one passed in.
* @param datasets
*/
public void setDataset(Cursor datasets) {
mDataset = datasets;
}
/*
public void setTrainingDataset(Cursor datasets) {
while(mDataset.moveToNext()) {
TrainingDataset data = new TrainingDataset();
if ( knownClasses.indexOf(label) == -1 ) {
knownClasses.add( label );
}
data.features[Datasets.FEATURE_ENERGY] =
Double.valueOf( mDataset.getString(5) );
data.features[Datasets.FEATURE_ENTROPY] =
Double.valueOf(mDataset.getString(5));
data.features[Datasets.FEATURE_CONTRAST] =
Double.valueOf(mDataset.getString(5));
data.features[Datasets.FEATURE_CORRELATION] =
Double.valueOf(mDataset.getString(5));
data.features[Datasets.FEATURE_HOMOGENITY] =
Double.valueOf(mDataset.getString(5));
mListTrainingDataset.add(data);
}
}
*/
public void setParameter(Param param) {
mParam = param;
}
/**
* Train dataset acquired from setDataset
* This method called static method train with parameter
private dataset variable
* This method sould compute and result n-rows, where n is
number of classes
*/
public void train() {
/*
for(TrainingDataset data : mListTrainingDataset) {
trainingResult.add()
}
*/
}
}
}
/**
* Train dataset which is passed as argument
*
*/
/*
public static void train(Cursor datasets) {
while (datasets.moveToNext()) {
}
}
*/
/*
public NBResult predict(PredictionDataset data, Param param)
{
prediction.run();
predictionResult = prediction.getResult();
return predictionResult;
}
*/
}
NaiveBayesPrediction.java
package irman.dagingsapi.naivebayes;
import android.util.Log;
import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import irman.dagingsapi.glcm.ClassLabel;
import irman.dagingsapi.glcm.Feature;
import irman.dagingsapi.sqlhelpers.Dataset;
import irman.dagingsapi.sqlhelpers.TrainingDataset;
/**
* Created by budi on 01/02/15.
*/
public class NaiveBayesPrediction {
public NaiveBayesPrediction() {
seedData();
}
mListClasses.add(C1);
mListClasses.add(C2);
mListProbabilityPerClass.put(C1.key, probs1);
mListProbabilityPerClass.put(C2.key, probs2);
datasetCount += probs.size();
}
/**
* Prediction goes here
* @return
*/
public void run() {
double resultValue;
mProbabilityByClass.put(classLabel.key,
Double.valueOf( df.format(probByClass) ) );
postProb.setClassLabel(classLabel);
postProb.setValue(postProbValue);
mListPostProbabilities.add(postProb);
}
}
/**
* Get data post probability tertinggi/hasil prediksi
* @return
*/
public PostProbability getPostProbabilityResult() {
return highestProbability;
}
/**
* Get list dari hasil perhitungan post probability
* @return
*/
public List<PostProbability> getPostProbabilityResultList()
{
return mListPostProbabilities;
}
}
NaiveBayesPredictionOnly.java
package irman.dagingsapi.naivebayes;
/**
* Created by budi on 19/03/15.
*/
public class NaiveBayesPredictionOnly {
NaiveBayesPriorProb.java
package irman.dagingsapi.naivebayes;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import irman.dagingsapi.glcm.ClassLabel;
import irman.dagingsapi.glcm.Feature;
import irman.dagingsapi.sqlhelpers.Datasets;
/**
* Created by budi on 01/02/15.
*/
public class NaiveBayesPriorProb {
List<ClassLabel> mLabels;
public ClassLabel label;
public Feature feature;
// total sample
int totalSample = 0;
for(ClassLabel classLabel : mLabels) {
totalSample += classLabel.count;
}
return prioProbValue;
}
}
NaiveBayesTrain.java
package irman.dagingsapi.naivebayes;
/**
* Created by budi on 01/02/15.
*/
public class NaiveBayesTrain {
}
}
NBResult.java
package irman.dagingsapi.naivebayes;
import java.util.List;
import irman.dagingsapi.glcm.ClassLabel;
import irman.dagingsapi.glcm.Feature;
/**
* Created by budi on 01/02/15.
*/
public class NBResult {
PostProbability.java
package irman.dagingsapi.naivebayes;
import irman.dagingsapi.glcm.ClassLabel;
/**
* Created by budi on 12/03/15.
*/
public class PostProbability {
ClassLabel mClassLabel;
double mValue = 0;
String resultText = "";
public PostProbability() { }
Probability.java
package irman.dagingsapi.naivebayes;
import irman.dagingsapi.glcm.ClassLabel;
import irman.dagingsapi.glcm.Feature;
/**
* Created by budi on 09/03/15.
*/
public class Probability {
ClassLabel label;
Feature feature;
String featureName;
String className;
double value = 0;
public Probability() { }
Dataset.java
package irman.dagingsapi.sqlhelpers;
import android.database.Cursor;
import android.util.Log;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import irman.dagingsapi.glcm.ClassLabel;
import irman.dagingsapi.glcm.Feature;
/**
* Created by budi on 29/01/15.
*/
public class Dataset {
String id;
ClassLabel classLabel;
String classLabel2;
ClassLabel predictedClassLabel;
Map<String, Double> featureValues = new HashMap<>();
List<Feature> features = new ArrayList<>();
public Dataset() { }
if ( !features.contains(feature) ) {
features.add(feature);
added = true;
}
else {
Log.d("Dataset", "Feature already exists.");
}
return added;
}
int countAdded = 0;
for(Feature f : listFeatures) {
if ( addFeature(f) ) {
countAdded++;
}
featureValues.put(f.getId(), f.getValue());
}
}
Dataset singleDataset;
List<Feature> features;
Feature feature;
while(sqliteData.moveToNext()) {
singleDataset = new Dataset();
singleDataset.setId( sqliteData.getString(0) ); //
id
singleDataset.setClassLabel2(sqliteData.getString(1)); // class
label
singleDataset.addFeatures(features);
listDataset.add(singleDataset);
}
return listDataset;
}
}
Datasets.java
package irman.dagingsapi.sqlhelpers;
import irman.dagingsapi.glcm.ClassLabel;
/**
* Created by budi on 01/02/15.
*/
public abstract class Datasets {
// degree
public int degree = 0;
// distance
public int distance = 1;
// features values
final public static int FEATURE_ENERGY = 0;
final public static int FEATURE_ENTROPY = 1;
final public static int FEATURE_CONTRAST = 2;
final public static int FEATURE_CORRELATION = 3;
final public static int FEATURE_HOMOGENITY = 4;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
/**
* Created by budi on 29/01/15.
*/
public class DBHelper extends SQLiteOpenHelper {
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL(CREATE_TABLE_DATASET_TRAINING);
db.execSQL(CREATE_TABLE_RESULT_TRAINING);
db.execSQL(CREATE_TABLE_RESULT_PREDICTION);
db.execSQL(CREATE_TABLE_GAUSSIANVALUES);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int
newVersion) {
}
}
GaussianDS.java
package irman.dagingsapi.sqlhelpers;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.util.Log;
import java.util.ArrayList;
import java.util.List;
import irman.dagingsapi.glcm.Feature;
import irman.dagingsapi.naivebayes.Gaussian;
import irman.dagingsapi.naivebayes.GaussianValue;
/**
* Created by budi on 16/03/15.
*/
public class GaussianDS {
SQLiteDatabase db;
DBHelper dbHelper;
if (listGaussianValues.size() > 0) {
eachValue.getFeature2().equals(featureName) ) {
val = eachValue;
break;
}
}
}
return val;
}
public void getAll() {
rows.moveToFirst();
while( !rows.isAfterLast() ) {
listGaussianValues.add( mapToDataset(rows) );
rows.moveToNext();
}
gaussianValue.setLabel( data.getString(COL_CLASS) );
gaussianValue.setFeature( data.getString(COL_FEATURE) );
gaussianValue.setMean( Double.valueOf(
data.getString(COL_MEAN) ) );
gaussianValue.setVariant( Double.valueOf(
data.getString(COL_VARIANT) ) );
gaussianValue.setVariant2( Double.valueOf(
data.getString(COL_VARIANT2) ) );
return gaussianValue;
}
}
NBTrainingResult.java
package irman.dagingsapi.sqlhelpers;
import irman.dagingsapi.glcm.ClassLabel;
/**
* Created by budi on 01/02/15.
*/
public class NBTrainingResult extends Datasets {
PredictionDataset.java
package irman.dagingsapi.sqlhelpers;
import irman.dagingsapi.glcm.ClassLabel;
/**
* Created by budi on 01/02/15.
*/
public class PredictionDataset extends Datasets {
ProbabilityDS.java
package irman.dagingsapi.sqlhelpers;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.util.Log;
import java.util.ArrayList;
import java.util.List;
import irman.dagingsapi.glcm.Feature;
import irman.dagingsapi.glcm.FeatureMap;
import irman.dagingsapi.naivebayes.Probability;
/**
* Created by budi on 14/03/15.
*/
public class ProbabilityDS {
SQLiteDatabase db;
DBHelper dbHelper;
String TABLE = "training_dataset";
int KEY_ID = 1;
int KEY_CLASS = 2;
List<FeatureMap> featureMaps = new ArrayList<>();
rows.moveToFirst();
while( !rows.isAfterLast() ) {
Probability data = mapToDataset(rows);
probabilities.add(data);
rows.moveToNext();
}
return probabilities;
}
public Probability mapToDataset(Cursor sqliteData) {
return data;
}
}
TestDataset.java
package irman.dagingsapi.sqlhelpers;
import irman.dagingsapi.glcm.ClassLabel;
/**
* Created by budi on 01/02/15.
*/
public class TestDataset extends Datasets {
TrainingDataset.java
package irman.dagingsapi.sqlhelpers;
import android.content.ContentValues;
import irman.dagingsapi.GLCMProcessActivity;
import irman.dagingsapi.glcm.ClassLabel;
import irman.dagingsapi.glcm.Feature;
import irman.dagingsapi.glcm.FeatureExtraction;
import irman.dagingsapi.utils.Param;
/**
* Created by budi on 30/01/15.
*/
public class TrainingDataset extends Datasets {
public TrainingDataset() { }
double value = 0;
return value;
}
}
TrainingDatasetDS.java
package irman.dagingsapi.sqlhelpers;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.util.Log;
import android.widget.Toast;
import java.sql.SQLException;
import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import irman.dagingsapi.glcm.ClassLabel;
import irman.dagingsapi.glcm.Feature;
import irman.dagingsapi.glcm.FeatureMap;
/**
* Created by budi on 14/03/15.
*/
public class TrainingDatasetDS {
SQLiteDatabase db;
DBHelper dbHelper;
String TABLE = "dataset_training";
int KEY_ID = 1;
int KEY_CLASS = 2;
Cursor rows;
List<Dataset> listDataset = new ArrayList<>();
List<String> listClasses = new ArrayList<>();
int datasetCount = 0;
/**
*
* @return
*/
public List<Dataset> getAll() {
try {
rows.moveToFirst();
while (!rows.isAfterLast()) {
// Dataset data = ;
listDataset.add( mapToDataset(rows) );
if ( !currentClasss.equals( dataClass ) ) {
listClasses.add(dataClass);
}
currentClasss = dataClass;
datasetCount++;
rows.moveToNext();
}
} catch(Exception e) {
Log.d("TrainingDatasetDS", e.getMessage());
}
return listDataset;
}
List<Dataset> tmpPerClass;
if ( data.getClassLabel2().equals(classLabel) )
{
tmpPerClass.add(data);
}
}
datasetPerClass.put(classLabel, tmpPerClass);
}
return datasetPerClass;
data.setClassLabel2( sqliteData.getString(KEY_CLASS) );
data.setId( sqliteData.getString(KEY_ID) );
List<Feature> features = new ArrayList<>();
Feature feature;
for(FeatureMap fmap : featureMap) {
feature = new Feature(
fmap.getId(),
fmap.getLabel(),
sqliteData.getDouble(fmap.getColId())
);
features.add(feature);
}
data.addFeatures(features);
return data;
}
TrainingDataSource.java
package irman.dagingsapi.sqlhelpers;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.widget.Toast;
import java.util.List;
import java.util.Map;
import irman.dagingsapi.glcm.ClassLabel;
import irman.dagingsapi.glcm.FeatureExtraction;
/**
* Created by budi on 29/01/15.
*/
public class TrainingDataSource {
Context mContext;
DBHelper dbHelper;
SQLiteDatabase db;
List<ContentValues> queue;
String mTableName;
Cursor rows;
/**
* Create new object, with context from activity and a table
name
* tableName made the class flexible so that it can be used
for other table.
*
* @param context
* @param tableName
*/
public TrainingDataSource(Context context, String tableName)
{
mContext = context;
try {
db = dbHelper.getWritableDatabase();
} catch (Exception e) {
Toast.makeText(context, e.getMessage(),
Toast.LENGTH_LONG).show();
}
}
/**
* Close connection to db
*/
public void close() {
try {
db.close();
} catch(Exception e) {
Toast.makeText(mContext, e.getMessage(),
Toast.LENGTH_LONG).show();
}
/**
* Add a record to queue.
* @param values
*/
public void queue(ContentValues values) {
queue.add(values);
}
/**
* Clear all record in table
*/
public boolean clearTable() {
return db.delete(mTableName, null, null) == 0 ? true :
false;
}
/**
* Insert single data to database
* @param values formatted key-value pair of single record
* @return
*/
public boolean insert(ContentValues values) {
return true;
}
return true;
}
/**
* Insert all data in queue to database
*/
public int insertQueue() {
int count = 0;
return count;
}
return rows.getCount();
}
if (labelsQuery.getCount() > 0) {
String label;
while(labelsQuery.moveToNext()) {
if ( -1 == labels.indexOf(label) ) {
return labels;
}
}
utils
CaptureImageActivity.java
package irman.dagingsapi;
import android.app.ProgressDialog;
import android.content.res.Configuration;
import android.hardware.Camera;
import android.os.Environment;
import android.os.Handler;
import android.support.v7.app.ActionBar;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.FrameLayout;
import android.widget.Toast;
import java.io.File;
import java.io.FileOutputStream;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import irman.dagingsapi.camerahelper.CameraPreview;
import irman.dagingsapi.glcm.GLCM;
import irman.dagingsapi.naivebayes.NaiveBayesPrediction;
import irman.dagingsapi.utils.SimpleImage;
Button btnCaptureImage;
String savedImagePath = "dagingSapi/trainingImages/";
FrameLayout mPreviewHolder;
Camera mCamera;
Camera.Parameters mCamParameters;
CameraPreview mPreview;
ProgressDialog progress;
ActionBar actionBar;
List<String> classLists;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_capture_image);
// ambil dari DB
classLists = new ArrayList<>();
classLists.add("Sapi");
classLists.add("Babi");
savedImagePath += classLists.get(selectedClass);
actionBar = getSupportActionBar();
actionBar.hide();
btnCaptureImage = (Button)
findViewById(R.id.btn_capture_prediction_image);
btnCaptureImage.setOnClickListener(captureImageListener);
mPreviewHolder = (FrameLayout)
findViewById(R.id.camera_preview);
@Override
public void onResume() {
super.onResume();
setupCamera();
}
@Override
public void onPause() {
super.onPause();
releaseCamera();
}
try {
cam = Camera.open();
} catch (Exception e) {
Log.d("Kamera", "Tidak bisa mengakses kamera. " +
e.getMessage());
}
return cam;
}
if (mCamera == null) {
mCamera = getCameraInstance();
}
// adjust orientation
mCamParameters = mCamera.getParameters();
if (this.getResources().getConfiguration().orientation
!= Configuration.ORIENTATION_LANDSCAPE) {
mCamParameters.set("orientation", "portrait");
mCamera.setDisplayOrientation(90);
}
else {
mCamParameters.set("orientation", "landscape");
mCamera.setDisplayOrientation(0);
}
mCamParameters.setPictureSize(320, 240);
mCamera.setParameters(mCamParameters);
/**
* Release camera
*/
public void releaseCamera() {
mCamera.stopPreview();
mCamera.setPreviewCallback(null);
mCamera.release();
mCamera = null;
mPreview.getHolder().removeCallback(mPreview);
}
/**
* Capture image when button pressed
*/
private View.OnClickListener captureImageListener = new
View.OnClickListener() {
@Override
public void onClick(View v) {
mCamera.takePicture(null, null, captureImage);
progress.setTitle("Process");
progress.setMessage("Saving image...");
progress.show();
}
};
saveImageHandler.post(saveImageRunnable);
}
};
/**
* Save image to temp dir, then crop (with another
activity/library)
* @param imageData
*/
private void saveImage(byte[] imageData) {
try {
Environment.getExternalStoragePublicDirectory("/"),
savedImagePath);
outputDir.mkdirs();
// cropImage(imageFile.getPath());
progress.dismiss();
continueTakingPictures();
} catch (Exception e) {
Log.d(TAG, "Exception: " + e.getMessage());
}
}
GLCMProcessActivity.java
package irman.dagingsapi;
import android.app.AlertDialog;
import android.app.ProgressDialog;
import android.content.ContentValues;
import android.content.DialogInterface;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.os.AsyncTask;
import android.os.Bundle;
import android.os.Environment;
import android.support.v7.app.ActionBar;
import android.support.v7.app.ActionBarActivity;
import android.util.Log;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.RelativeLayout;
import android.widget.Spinner;
import android.widget.Toast;
import java.io.File;
import java.io.FileFilter;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import irman.dagingsapi.glcm.FeatureExtraction;
import irman.dagingsapi.glcm.GLCM;
import irman.dagingsapi.sqlhelpers.DBHelper;
import irman.dagingsapi.sqlhelpers.Dataset;
import irman.dagingsapi.sqlhelpers.TrainingDataSource;
import irman.dagingsapi.sqlhelpers.TrainingDataset;
import irman.dagingsapi.utils.FileLog;
import irman.dagingsapi.utils.FileLogger;
import irman.dagingsapi.utils.Param;
ProgressDialog progress;
Builder alertBuilder;
// images
Map<String, File[]> images = new HashMap<>();
// available degrees
final int DEG_0 = 0;
final int DEG_45 = 1;
final int DEG_90 = 2;
final int DEG_135 = 3;
// glcm parameter
int degree = DEG_0; // default degree at 0
int degrees[] = {0, 45, 90, 135};
int d = 1;
int nbit = 4;
// features
public final static int FEATURE_ENERGY = 0;
public final static int FEATURE_ENTROPY = 1;
public final static int FEATURE_CONTRAST = 2;
public final static int FEATURE_CORRELATION = 3;
public final static int FEATURE_HOMOGENITY = 4;
// classes
String[] classLabels;
ActionBar actionBar;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_process_glcm);
// remove actionbar
actionBar = getSupportActionBar();
actionBar.hide();
// set background
LinearLayout ll = (LinearLayout)
findViewById(R.id.glcm_layout);
ll.setBackgroundResource(R.drawable.rect7273);
/// init
init();
}
/**
* Open log file, write some
*/
private void init() {
try {
classLabels = MainActivity.CLASSES;
classLists.add("Sapi");
classLists.add("Babi");
ArrayAdapter<CharSequence> adapterDegreeOptions =
ArrayAdapter.createFromResource(
this, R.array.degrees,
android.R.layout.simple_spinner_item);
adapterDegreeOptions.setDropDownViewResource(android.R.layout.si
mple_spinner_dropdown_item);
inputDegree.setAdapter(adapterDegreeOptions);
useFeatures.add(FEATURE_ENERGY);
useFeatures.add(FEATURE_ENTROPY);
useFeatures.add(FEATURE_CONTRAST);
useFeatures.add(FEATURE_CORRELATION);
useFeatures.add(FEATURE_HOMOGENITY);
// folderTrainingImages = new
File(MainActivity.FOLDER_TRAINING_IMAGES_C1);
} catch (Exception e) {
Toast.makeText(getBaseContext(), "Init: " +
e.getMessage(), Toast.LENGTH_LONG).show();
// outputLog.setText(e.);
}
}
@Override
public void onClick(View v) {
try {
outputLog.setText("");
progress.setTitle("Processing");
progress.setMessage("Reading images...");
progress.show();
} catch (Exception e) {
Toast.makeText(getBaseContext(), "ProcessGLCM: "
+ e.getMessage(), Toast.LENGTH_LONG).show();
}
}
};
@Override
protected String doInBackground(String... params) {
try {
Environment.getExternalStoragePublicDirectory("/"),
"dagingSapi/trainingImages/" +
eachClass);
images.put(eachClass,
folderTrainingImages.listFiles(filterImageOnly));
imageCount = images.get(eachClass).length;
msg += "Data kelas " + eachClass + " : " +
imageCount + "\n";
msg += "----------------------------------------
------------\n";
// prepare connection to DB
DBHelper dbHelper = new DBHelper(
getApplicationContext() );
SQLiteDatabase db =
dbHelper.getWritableDatabase();
// delete all record in db
db.delete("dataset_training", null, null);
for(File currentImage :
images.get(eachClass)) {
// calculate glcm
GLCM glcm = new GLCM(
currentImage.getPath() );
glcm.calculateGLCM();
db.insert("dataset_training", null,
row);
Log.d(TAG, "Image " +
currentImage.getName() + " processed and saved into db.");
msg += "--------------------------------
------------------------\n\n";
}
}
db.close();
publishProgress(msg);
return "OK";
} catch(Exception e) {
// Toast.makeText(getBaseContext(),
e.getMessage(), Toast.LENGTH_LONG).show();
// Log.d(TAG, e.getMessage());
}
return "FAIL";
@Override
protected void onProgressUpdate(String... update) {
// update output log view
if (update.length > 1) {
outputLog.setText( outputLog.getText() +
update[0] );
}
else {
outputLog.setText( outputLog.getText() + "\n" +
update[0] );
}
}
@Override
protected void onPostExecute(String result) {
if (result.equals("OK")) {
}
else {
Toast.makeText(getApplicationContext(),
"ScanImages: " + result, Toast.LENGTH_LONG).show();
}
progress.dismiss();
}
};
@Override
protected String doInBackground(Map... params) {
GLCM glcm;
String matrix = "";
File folderLog = new
File(Environment.getExternalStoragePublicDirectory(""),
MainActivity.FOLDER_TRAINING_LOGS);
nbit = 5;
int i = 1;
for(String classLabel : classLabels) {
// if found some
publishProgress("Processing class label : " +
classLabel);
publishProgress("There are " +
trainingImages.length + " images.");
publishProgress("");
i = 1;
for (File trainingImage : trainingImages) {
publishProgress("Processing image #" + i +
": " + trainingImage.getPath());
param.put("imageID",
trainingImage.getName());
publishProgress("Menghitung GLCM..");
glcm.calculateGLCM(param);
publishProgress("Convert to string..");
matrix = glcm.getStringMatrix();
// publishProgress("converted", "1");
//publishProgress(matrix);
FileLog.append(folderLog + "/log_" +
classLabel + "_" + i + ".txt", matrix);
i++;
}
if ( ds.clearTable() ) {
publishProgress("OK.", "1");
}
else {
publishProgress("FAIL", "1");
return null;
}
return null;
}
@Override
protected void onPostExecute(String result) {
outputLog.setText( outputLog.getText() + "\n" +
result + "\nProses GLCM berhenti.");
Toast.makeText(getApplicationContext(), "Proses
selesai.", Toast.LENGTH_LONG).show();
}
@Override
protected void onProgressUpdate(String... update) {
// update output log view
if (update.length > 1) {
outputLog.setText( outputLog.getText() +
update[0] );
}
else {
outputLog.setText( outputLog.getText() + "\n" +
update[0] );
}
progress.dismiss();
}
}
*/
@Override
public void onClick(View v) {
// set parameter based on user inputs
degree = degrees[
inputDegree.getSelectedItemPosition() ];
d = Integer.valueOf(
inputDistance.getText().toString() );
Toast.makeText(getBaseContext(),
"Parameter set! Click button Proses GLCM! to
start the process.",
Toast.LENGTH_LONG).show();
}
};
MainActivity.java
package irman.dagingsapi;
import android.app.AlertDialog;
import android.app.DialogFragment;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.os.Environment;
import android.support.v7.app.ActionBar;
import android.support.v7.app.ActionBarActivity;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.RelativeLayout;
import android.widget.Toast;
import java.io.File;
import java.io.FileWriter;
import java.text.SimpleDateFormat;
import java.util.Date;
import irman.dagingsapi.utils.FileLogger;
FileWriter fileLogger;
ActionBar actionBar;
// classes
final static String[] CLASSES = {"C1", "C2"};
final static String FOLDER_TRAINING_IMAGES_C1 =
"dagingSapi/trainingImages/C1";
final static String FOLDER_TRAINING_IMAGES_C2 =
"dagingSapi/trainingImages/C2";
final static String FOLDER_TRAINING_IMAGES_C3 =
"dagingSapi/trainingImages/C3";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
actionBar = getSupportActionBar();
actionBar.hide();
btnCaptureImage.setOnClickListener(processCaptureImages);
init();
}
/**
* Check/create folder to store data
* Create log file of activities
*/
private void init() {
timeStamp = new
SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date());
try {
File folderTrainingImages;
/*
folderTrainingImages = new
File(Environment.getExternalStoragePublicDirectory(""),
FOLDER_TRAINING_IMAGES_C1);
folderTrainingImages.mkdirs();
folderTrainingImages = new
File(Environment.getExternalStoragePublicDirectory(""),
FOLDER_TRAINING_IMAGES_C2);
folderTrainingImages.mkdirs();
folderTrainingImages = new
File(Environment.getExternalStoragePublicDirectory(""),
FOLDER_TRAINING_IMAGES_C3);
folderTrainingImages.mkdirs();
*/
fileLogger.writeLine("Init()");
fileLogger.writeLine("Log file is " +
logFile.getPath());
fileLogger.close();
this.logFile = logFile.getPath();
} catch (Exception e) {
Log.d(TAG, e.getMessage());
}
}
/**
* Open ProcessGLCMActivity
* Let the rest handled by it.
*/
private View.OnClickListener processCaptureImages = new
View.OnClickListener() {
@Override
public void onClick(View v) {
builder.setTitle("Pilih kelas")
.setItems(R.array.kelas, new
DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface
dialog, int which) {
Intent i = new
Intent(getBaseContext(), CaptureImageActivity.class);
i.putExtra("logFile", logFile);
i.putExtra("selectedClass", which);
startActivity(i);
}
});
/**
* Open ProcessGLCMActivity
* Let the rest handled by it.
*/
private View.OnClickListener processGLCM = new
View.OnClickListener() {
@Override
public void onClick(View v) {
Intent processGLCMActivity = new
Intent(getBaseContext(), GLCMProcessActivity.class);
processGLCMActivity.putExtra("logFile", logFile);
startActivity(processGLCMActivity);
}
};
/**
* Open TrainingNBActivity
* Let the rest handled by it.
*/
private View.OnClickListener processTrainingNB = new
View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(getBaseContext(),
NBTrainingActivity.class);
intent.putExtra("logFile", logFile);
startActivity(intent);
}
};
/**
* Open ProcessGLCMActivity
* Let the rest handled by it.
*/
private View.OnClickListener processPredictionNB = new
View.OnClickListener() {
@Override
public void onClick(View v) {
Intent processNBPrediction = new
Intent(getBaseContext(), NBCapturePredictionActivity.class);
processNBPrediction.putExtra("logFile", logFile);
startActivity(processNBPrediction);
}
};
NBCapturePredictionActivity.java
package irman.dagingsapi;
import android.app.ProgressDialog;
import android.content.Intent;
import android.content.res.Configuration;
import android.hardware.Camera;
import android.os.Environment;
import android.os.Handler;
import android.support.v7.app.ActionBar;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.FrameLayout;
import java.io.File;
import java.io.FileOutputStream;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import irman.dagingsapi.camerahelper.CameraPreview;
import irman.dagingsapi.glcm.FeatureExtraction;
import irman.dagingsapi.glcm.GLCM;
import irman.dagingsapi.naivebayes.GaussianValue;
import irman.dagingsapi.naivebayes.NaiveBayes;
import irman.dagingsapi.naivebayes.NaiveBayesPrediction;
import irman.dagingsapi.naivebayes.PostProbability;
import irman.dagingsapi.naivebayes.Probability;
import irman.dagingsapi.sqlhelpers.Dataset;
import irman.dagingsapi.sqlhelpers.GaussianDS;
import irman.dagingsapi.sqlhelpers.TrainingDatasetDS;
import irman.dagingsapi.utils.SimpleImage;
Button btnCaptureImage;
ActionBar actionBar;
FrameLayout mPreviewHolder;
Camera mCamera;
Camera.Parameters mCamParameters;
CameraPreview mPreview;
ProgressDialog progress;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_nbcapture_prediction);
actionBar = getSupportActionBar();
actionBar.hide();
btnCaptureImage = (Button)
findViewById(R.id.btn_capture_prediction_image);
btnCaptureImage.setOnClickListener(captureImageListener);
mPreviewHolder = (FrameLayout)
findViewById(R.id.camera_preview);
@Override
public void onResume() {
super.onResume();
setupCamera();
}
@Override
public void onPause() {
super.onPause();
releaseCamera();
}
try {
cam = Camera.open();
} catch (Exception e) {
Log.d("Kamera", "Tidak bisa mengakses kamera. " +
e.getMessage());
}
return cam;
}
if (mCamera == null) {
mCamera = getCameraInstance();
}
// adjust orientation
mCamParameters = mCamera.getParameters();
if (this.getResources().getConfiguration().orientation
!= Configuration.ORIENTATION_LANDSCAPE) {
mCamParameters.set("orientation", "portrait");
mCamera.setDisplayOrientation(90);
}
else {
mCamParameters.set("orientation", "landscape");
mCamera.setDisplayOrientation(0);
}
mCamParameters.setPictureSize(320, 240);
mCamera.setParameters(mCamParameters);
/**
* Release camera
*/
public void releaseCamera() {
mCamera.stopPreview();
mCamera.setPreviewCallback(null);
mCamera.release();
mCamera = null;
mPreview.getHolder().removeCallback(mPreview);
}
/**
* Capture image when button pressed
*/
private View.OnClickListener captureImageListener = new
View.OnClickListener() {
@Override
public void onClick(View v) {
mCamera.takePicture(null, null, captureImage);
progress.setTitle("Process");
progress.setMessage("Saving image...");
progress.show();
}
};
saveImageHandler.post(saveImageRunnable);
}
};
/**
* Save image to temp dir, then crop (with another
activity/library)
* @param imageData
*/
private void saveImage(byte[] imageData) {
try {
// cropImage(imageFile.getPath());
// do glcm calculation
progress.setMessage("Calculating GLCM...");
GLCM glcm = new GLCM(imageFile.getPath());
glcm.calculateGLCM();
progress.setMessage("Calculating Features...");
// get features
// @todo please, complete the FE class!! copy from
previous dummy project!
// now we have glcm for current image
// first, create an FE object from glcm
FeatureExtraction fe = new FeatureExtraction(glcm);
// then, we calculate each feature
fe.calculateFeatures();
progress.setMessage("Predicting...");
// 1. get gaussian values dari database
GaussianDS ds = new GaussianDS(getBaseContext());
ds.open();
// ds.close();
Map<String, List<Probability>>
probabilityPerFeaturePerClass = new HashMap<>();
Map<String, Double> priorProbPerClass = new
HashMap<>();
List<Probability> probs;
Probability prob;
double tmp;
GaussianValue gaussianValue =
ds.get(eachClass, eachFeature);
if (null != gaussianValue) {
prob.setClassName(eachClass);
prob.setFeatureName(eachFeature);
double varian =
gaussianValue.getVarian();
double mean = gaussianValue.getMean();
double varian2 =
gaussianValue.getVarian2();
double featureVal = fe.getFeatureValue(
features.indexOf(eachFeature) );
Log.d(TAG, "----------------------------
---------------------------------------");
prob.setValue(value);
probs.add(prob);
}
priorProbPerClass.put(eachClass, tmp);
probabilityPerFeaturePerClass.put(eachClass,
probs);
}
ds.close();
double max = 0;
String predictedClass = "";
for(String eachClass : listClass) {
ds2.close();
progress.dismiss();
result.putExtra("predictedClass", predictedClass);
result.putExtra("finalValue", max);
startActivity(result);
} catch (Exception e) {
Log.d(TAG, "Exception: " + e.getMessage());
}
}
/**
* Call crop activity
*/
private void cropImage(String imagePath) {
/*
Intent crop = new Intent(getApplicationContext(),
TrainingCapturePreview.class);
crop.putExtra("imagePath", imagePath);
startActivity(crop);
finish();
*/
}
NBPredictionActivity.java
package irman.dagingsapi;
import android.app.ProgressDialog;
import android.content.ContentResolver;
import android.database.CharArrayBuffer;
import android.database.ContentObserver;
import android.database.Cursor;
import android.database.DataSetObserver;
import android.database.sqlite.SQLiteDatabase;
import android.net.Uri;
import android.os.AsyncTask;
import android.support.v7.app.ActionBar;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import java.util.ArrayList;
import java.util.List;
import irman.dagingsapi.glcm.ClassLabel;
import irman.dagingsapi.glcm.Feature;
import irman.dagingsapi.glcm.FeatureMap;
import irman.dagingsapi.glcm.GLCM;
import irman.dagingsapi.naivebayes.NBResult;
import irman.dagingsapi.naivebayes.NaiveBayes;
import irman.dagingsapi.naivebayes.NaiveBayesPrediction;
import irman.dagingsapi.naivebayes.PostProbability;
import irman.dagingsapi.naivebayes.Probability;
import irman.dagingsapi.sqlhelpers.DBHelper;
import irman.dagingsapi.sqlhelpers.Dataset;
import irman.dagingsapi.sqlhelpers.ProbabilityDS;
import irman.dagingsapi.sqlhelpers.TrainingDatasetDS;
public class NBPredictionActivity extends ActionBarActivity {
Button btnProcessPrediction;
EditText editPredictionLog;
ProgressDialog progressDialog;
ActionBar actionBar;
SQLiteDatabase db;
DBHelper dbHelper;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_nbprediction);
actionBar = getSupportActionBar();
actionBar.hide();
btnProcessPrediction = (Button)
findViewById(R.id.btn_process_prediction2);
editPredictionLog = (EditText)
findViewById(R.id.edt_prediction_log);
btnProcessPrediction.setOnClickListener(processPredictionListene
r);
progressDialog.setTitle("Processing");
progressDialog.setMessage("Prediction is
running...");
progressDialog.show();
@Override
protected String doInBackground(String... params) {
input.setId("INPUT_001");
input.addFeatures(features);
// @todo training should be in another activity
// NaiveBayes naiveBayes = new NaiveBayes();
// naiveBayes.setClassList(classLabelList);
// naiveBayes.train(trainingDataset);
// update log
String resultString = "";
resultString += "\n";
resultString += "Hasil prediksi, " + input.getId() +
" termasuk kelas: \n";
resultString +=
highestProbability.getClassLabel().label;
resultString += " (" + highestProbability.getValue()
+ ")";
return resultString;
}
@Override
protected void onPostExecute(String result) {
if (progressDialog.isShowing()) {
progressDialog.dismiss();
}
editPredictionLog.setText(result);
}
}
}
NBPredictionResultActivity.java
package irman.dagingsapi;
import android.support.v7.app.ActionBar;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.TextView;
import java.text.DecimalFormat;
ActionBar actionBar;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_nbprediction_result);
actionBar = getSupportActionBar();
actionBar.hide();
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar
if it is present.
getMenuInflater().inflate(R.menu.menu_nbprediction_result,
menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar
will
// automatically handle clicks on the Home/Up button, so
long
// as you specify a parent activity in
AndroidManifest.xml.
int id = item.getItemId();
//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
}
NBTrainingActivity.java
package irman.dagingsapi;
import android.app.ProgressDialog;
import android.os.AsyncTask;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import irman.dagingsapi.naivebayes.Gaussian;
import irman.dagingsapi.naivebayes.GaussianValue;
import irman.dagingsapi.sqlhelpers.Dataset;
import irman.dagingsapi.sqlhelpers.GaussianDS;
import irman.dagingsapi.sqlhelpers.TrainingDatasetDS;
TrainingDatasetDS ds;
Map<String, List<Dataset>> listDataset = new HashMap<>();
List<String> datasetClasses;
int datasetCount = 0;
ProgressDialog progress;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_training_nb);
btnCheckDataset = (Button)
findViewById(R.id.btn_check_dataset);
btnCheckDataset.setOnClickListener(checkDataset);
btnStartTraining = (Button)
findViewById(R.id.btn_start_training_nb);
btnStartTraining.setOnClickListener(startTraining);
init();
}
private void init() {
@Override
public void onClick(View v) {
// start asynctask to load dataset
progress.setTitle("Progress");
progress.setMessage("Memuat dataset...");
progress.show();
btnStartTraining.setEnabled(false);
TaskLoadTrainingDataset taskLoadTrainingDataset =
new TaskLoadTrainingDataset();
taskLoadTrainingDataset.execute();
}
};
@Override
public void onClick(View v) {
progress.setTitle("Progress");
progress.setMessage("Training...");
progress.show();
@Override
protected String doInBackground(String... params) {
listDataset = ds.getAllPerClass();
datasetCount = ds.getDatasetCount();
datasetClasses = ds.getListClasses();
if (datasetCount > 0) {
/*
for(String eachClass : datasetClasses) {
for(Dataset eachData :
listDataset.get(eachClass)) {
// btnStartTraining.setEnabled(true);
} else {
resultText = "Dataset kosong!\nCapture citra dan
proses GLCM terlebih dahulu.";
}
ds.close();
return resultText;
}
@Override
protected void onPostExecute(String result) {
outputLog.setText(result);
if (progress.isShowing()) {
progress.dismiss();
btnStartTraining.setEnabled(true);
}
}
};
@Override
protected String doInBackground(String... params) {
result += "-------------------------------------
------------\n";
}
ds.clearTable();
ds.save( gaussian.getListDataset() );
ds.close();
return result;
}
@Override
protected void onPostExecute(String result) {
outputLog.setText( outputLog.getText() + result);
progress.dismiss();
}
@Override
protected void onProgressUpdate(String... update) {
if (update.length > 1) {
outputLog.setText(outputLog.getText() +
update[0]);
}
else {
outputLog.setText(outputLog.getText() + "\n" +
update[0]);
}
}
}
}
res
layout
activity_capture_image.xml
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="#00000000"
tools:context="irman.dagingsapi.CaptureImageActivity">
<FrameLayout
android:id="@+id/camera_preview"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true" />
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:padding="8dp"
android:background="#3333">
<!--
<mehdi.sakout.fancybuttons.FancyButton
android:id="@+id/training_btn_capture"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:padding="16dp"
android:rotation="90.0"
fancy:textColor="#FFFFFF"
fancy:textSize="@dimen/button_text_size"
fancy:defaultColor="#7ab800"
fancy:fontIconResource=""
fancy:fontIconSize="20sp"
fancy:focusColor="#9bd823"
fancy:radius="32dp" /> -->
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/btn_capture_prediction_image"
android:text="OK"
android:rotation="90.0"
/>
</RelativeLayout>
</LinearLayout>
activity_main.xml
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="128dp"
android:paddingBottom="@dimen/activity_vertical_margin"
android:id="@+id/main_layout"
tools:context=".MainActivity"
>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:id="@+id/btn_capture_images"
android:text="Capture Citra" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/btn_capture_images"
android:layout_centerHorizontal="true"
android:id="@+id/btn_process_glcm"
android:text="Proses GLCM" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/btn_process_glcm"
android:layout_centerHorizontal="true"
android:id="@+id/btn_process_training"
android:text="Training" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/btn_process_training"
android:layout_centerHorizontal="true"
android:id="@+id/btn_process_prediction"
android:text="Prediksi" />
<!--
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/btn_process_prediction"
android:layout_centerHorizontal="true"
android:layout_marginTop="32dp"
android:id="@+id/btn_cleardata"
android:text="Clear Data" /> -->
</RelativeLayout>
activity_nbcapture_prediction.xml
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="#000000" >
<FrameLayout
android:id="@+id/camera_preview"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true" />
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:padding="8dp"
android:background="#3333">
<!--
<mehdi.sakout.fancybuttons.FancyButton
android:id="@+id/training_btn_capture"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:padding="16dp"
android:rotation="90.0"
fancy:textColor="#FFFFFF"
fancy:textSize="@dimen/button_text_size"
fancy:defaultColor="#7ab800"
fancy:fontIconResource=""
fancy:fontIconSize="20sp"
fancy:focusColor="#9bd823"
fancy:radius="32dp" /> -->
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/btn_capture_prediction_image"
android:text="OK"
android:rotation="90.0"
/>
</RelativeLayout>
</LinearLayout>
activity_nbprediction.xml
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
tools:context="irman.dagingsapi.NBPredictionActivity">
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/btn_process_prediction2"
android:text="Prediksi!!" />
<EditText
android:layout_width="fill_parent"
android:layout_height="300dp"
android:layout_below="@id/btn_process_prediction2"
android:focusable="false"
android:editable="false"
android:singleLine="false"
android:id="@+id/edt_prediction_log"/>
</RelativeLayout>
activity_nbprediction_result.xml
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
android:orientation="vertical"
android:layout_gravity="center_vertical"
tools:context="irman.dagingsapi.NBPredictionResultActivity">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:textSize="16sp"
android:textAlignment="center"
<TextView
android:text="@string/hello_world"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:textSize="28sp"
android:textAlignment="center"
android:id="@+id/txt_result" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:textAlignment="center"
android:id="@+id/txt_result_value"/>
</LinearLayout>
activity_process_glcm.xml
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="128dp"
android:paddingBottom="@dimen/activity_vertical_margin"
android:orientation="vertical"
android:id="@+id/glcm_layout"
tools:context="irman.dagingsapi.GLCMProcessActivity">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:text="Jarak/d"
android:id="@+id/label_d" />
<EditText
android:layout_width="50dp"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:text="1"
android:id="@+id/input_d" />
</RelativeLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:text="Sudut/degree"
android:id="@+id/label_degree" />
<Spinner
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:id="@+id/input_degree" />
</RelativeLayout>
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:id="@+id/btn_setup_glcm"
android:text="Atur Parameter GLCM" />
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:id="@+id/btn_start_processing_glcm"
android:text="Proses GLCM!" />
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:focusable="false"
android:editable="false"
android:id="@+id/output_log"
android:textSize="10sp"
</LinearLayout>
activity_training_nb.xml
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
tools:context="irman.dagingsapi.NBTrainingActivity">
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/btn_check_dataset"
android:text="Check Dataset" />
<EditText
android:layout_width="fill_parent"
android:layout_height="240dp"
android:layout_below="@id/btn_check_dataset"
android:id="@+id/output_log"
android:text="Log goes here..."
android:textSize="11sp"
android:editable="false" />
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@id/output_log"
android:id="@+id/btn_start_training_nb"
android:text="Mulai Training Naive Bayes!"
android:enabled="false" />
</RelativeLayout>
Menu
menu_capture_image.xml
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
tools:context="irman.dagingsapi.CaptureImageActivity">
<item android:id="@+id/action_settings"
android:title="@string/action_settings"
android:orderInCategory="100" app:showAsAction="never"
/>
</menu>
menu_main.xml
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
tools:context=".MainActivity">
<item android:id="@+id/action_settings"
android:title="@string/action_settings"
android:orderInCategory="100" app:showAsAction="never"
/>
</menu>
menu_nbcapture_prediction.xml
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
tools:context="irman.dagingsapi.NBCapturePredictionActivity">
<item android:id="@+id/action_settings"
android:title="@string/action_settings"
android:orderInCategory="100" app:showAsAction="never"
/>
</menu>
menu_nbprediction.xml
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
tools:context="irman.dagingsapi.NBPredictionActivity">
<item android:id="@+id/action_settings"
android:title="@string/action_settings"
android:orderInCategory="100" app:showAsAction="never"
/>
</menu>
menu_nbprediction_result.xml
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
tools:context="irman.dagingsapi.NBPredictionResultActivity">
<item android:id="@+id/action_settings"
android:title="@string/action_settings"
android:orderInCategory="100" app:showAsAction="never"
/>
</menu>
menu_nbtraining.xml
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
tools:context="irman.dagingsapi.NBTrainingActivity">
<item android:id="@+id/action_settings"
android:title="@string/action_settings"
android:orderInCategory="100" app:showAsAction="never"
/>
</menu>
menu_process_glcm.xml
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
tools:context="irman.dagingsapi.GLCMProcessActivity">
<item android:id="@+id/action_settings"
android:title="@string/action_settings"
android:orderInCategory="100" app:showAsAction="never"
/>
</menu>
menu_training_nb.xml
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
tools:context="irman.dagingsapi.NBTrainingActivity">
<item android:id="@+id/action_settings"
android:title="@string/action_settings"
android:orderInCategory="100" app:showAsAction="never"
/>
</menu>
Values
arrays.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="kelas">
<item>Sapi</item>
<item>Babi</item>
</string-array>
</resources>
dimens.xml
<resources>
<!-- Default screen margins, per the Android Design
guidelines. -->
<dimen name="activity_horizontal_margin">16dp</dimen>
<dimen name="activity_vertical_margin">16dp</dimen>
</resources>
strings.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">DagingSapi</string>
<string name="hello_world">Hello world!</string>
<string name="action_settings">Settings</string>
<string name="title_activity_process_glcm">Proses
GLCM</string>
<string-array name="degrees">
<item>0</item>
<item>45</item>
<item>90</item>
<item>135</item>
</string-array>
</resources>
styles.xml
<resources>
</resources>
values-w820dp
dimens.xml
<resources>
<!-- Example customization of dimensions originally defined
in res/values/dimens.xml
(such as screen margins) for screens with more than
820dp of available width. This
would include 7" and 10" devices in landscape (~960dp
and ~1280dp respectively). -->
<dimen name="activity_horizontal_margin">64dp</dimen>
</resources>
AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest
xmlns:android="http://schemas.android.com/apk/res/android"
package="irman.dagingsapi" >
<uses-sdk
android:minSdkVersion="15"
android:targetSdkVersion="21" />
<uses-permission
android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission
android:name="android.permission.READ_PHONE_STATE" />
<uses-permission
android:name="android.permission.READ_EXTERNAL_STORAGE"
android:maxSdkVersion="18" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action
android:name="android.intent.action.MAIN" />
<category
android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".GLCMProcessActivity"
android:label="@string/title_activity_process_glcm"
>
</activity>
<activity
android:name=".NBTrainingActivity"
android:label="@string/title_activity_training_nb" >
</activity>
<activity
android:name=".NBPredictionActivity"
android:label="@string/title_activity_nbprediction"
>
</activity>
<activity
android:name=".NBCapturePredictionActivity"
android:label="@string/title_activity_nbcapture_prediction" >
</activity>
<activity
android:name=".CaptureImageActivity"
android:label="@string/title_activity_capture_image"
>
</activity>
<activity
android:name=".NBPredictionResultActivity"
android:label="@string/title_activity_nbprediction_result" >
</activity>
</application>
</manifest>