Created
July 9, 2018 21:03
-
-
Save asafstr2/47a29203aebbb65d8c99ba39c8582b9e to your computer and use it in GitHub Desktop.
inventory finel
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
*.iml | |
.gradle | |
/local.properties | |
/.idea/libraries | |
/.idea/modules.xml | |
/.idea/workspace.xml | |
.DS_Store | |
/build | |
/captures | |
.externalNativeBuild |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#Mon Jul 02 02:42:21 IDT 2018 | |
gradle.version=4.4 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<component name="ProjectCodeStyleConfiguration"> | |
<code_scheme name="Project" version="173"> | |
<Objective-C-extensions> | |
<file> | |
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Import" /> | |
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Macro" /> | |
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Typedef" /> | |
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Enum" /> | |
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Constant" /> | |
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Global" /> | |
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Struct" /> | |
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="FunctionPredecl" /> | |
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Function" /> | |
</file> | |
<class> | |
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Property" /> | |
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Synthesize" /> | |
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="InitMethod" /> | |
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="StaticMethod" /> | |
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="InstanceMethod" /> | |
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="DeallocMethod" /> | |
</class> | |
<extensions> | |
<pair source="cpp" header="h" fileNamingConvention="NONE" /> | |
<pair source="c" header="h" fileNamingConvention="NONE" /> | |
</extensions> | |
</Objective-C-extensions> | |
</code_scheme> | |
</component> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="UTF-8"?> | |
<project version="4"> | |
<component name="GradleSettings"> | |
<option name="linkedExternalProjectsSettings"> | |
<GradleProjectSettings> | |
<option name="distributionType" value="DEFAULT_WRAPPED" /> | |
<option name="externalProjectPath" value="$PROJECT_DIR$" /> | |
<option name="modules"> | |
<set> | |
<option value="$PROJECT_DIR$" /> | |
<option value="$PROJECT_DIR$/app" /> | |
</set> | |
</option> | |
<option name="resolveModulePerSourceSet" value="false" /> | |
</GradleProjectSettings> | |
</option> | |
</component> | |
</project> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<component name="libraryTable"> | |
<library name="Gradle: android.arch.core:common:1.1.0@jar"> | |
<CLASSES> | |
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/android.arch.core/common/1.1.0/8007981f7d7540d89cd18471b8e5dcd2b4f99167/common-1.1.0.jar!/" /> | |
</CLASSES> | |
<JAVADOC /> | |
<SOURCES> | |
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/android.arch.core/common/1.1.0/f211e8f994b67f7ae2a1bc06e4f7b974ec72ee50/common-1.1.0-sources.jar!/" /> | |
</SOURCES> | |
</library> | |
</component> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<component name="libraryTable"> | |
<library name="Gradle: android.arch.core:runtime-1.1.0"> | |
<CLASSES> | |
<root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/runtime-1.1.0.aar/091bad74c70020da88e8f826615bba53/res" /> | |
<root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/runtime-1.1.0.aar/091bad74c70020da88e8f826615bba53/jars/classes.jar!/" /> | |
</CLASSES> | |
<JAVADOC /> | |
<SOURCES> | |
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/android.arch.core/runtime/1.1.0/62944187d3ae3e7a4644b50da4e7b63c605a696/runtime-1.1.0-sources.jar!/" /> | |
</SOURCES> | |
</library> | |
</component> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<component name="libraryTable"> | |
<library name="Gradle: android.arch.lifecycle:common:1.1.0@jar"> | |
<CLASSES> | |
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/android.arch.lifecycle/common/1.1.0/edf3f7bfb84a7521d0599efa3b0113a0ee90f85/common-1.1.0.jar!/" /> | |
</CLASSES> | |
<JAVADOC /> | |
<SOURCES> | |
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/android.arch.lifecycle/common/1.1.0/72f6113534923e49e8c032107ca638b97775c61b/common-1.1.0-sources.jar!/" /> | |
</SOURCES> | |
</library> | |
</component> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<component name="libraryTable"> | |
<library name="Gradle: android.arch.lifecycle:livedata-core-1.1.0"> | |
<CLASSES> | |
<root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/livedata-core-1.1.0.aar/5467372c5ea3a886c161826a1914bc90/res" /> | |
<root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/livedata-core-1.1.0.aar/5467372c5ea3a886c161826a1914bc90/jars/classes.jar!/" /> | |
</CLASSES> | |
<JAVADOC /> | |
<SOURCES> | |
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/android.arch.lifecycle/livedata-core/1.1.0/300f89e645a95de0bdc6d8833beeee6e3045df06/livedata-core-1.1.0-sources.jar!/" /> | |
</SOURCES> | |
</library> | |
</component> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<component name="libraryTable"> | |
<library name="Gradle: android.arch.lifecycle:runtime-1.1.0"> | |
<CLASSES> | |
<root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/runtime-1.1.0.aar/1a5160b6f3026a1faa37c08e98f6cd60/jars/classes.jar!/" /> | |
<root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/runtime-1.1.0.aar/1a5160b6f3026a1faa37c08e98f6cd60/res" /> | |
</CLASSES> | |
<JAVADOC /> | |
<SOURCES> | |
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/android.arch.lifecycle/runtime/1.1.0/a4b0d6b8e8f51c8f95d5a0641f81ffc13ab406c7/runtime-1.1.0-sources.jar!/" /> | |
</SOURCES> | |
</library> | |
</component> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<component name="libraryTable"> | |
<library name="Gradle: android.arch.lifecycle:viewmodel-1.1.0"> | |
<CLASSES> | |
<root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/viewmodel-1.1.0.aar/b749a8f3659c1589f7fc1adfc42e0519/res" /> | |
<root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/viewmodel-1.1.0.aar/b749a8f3659c1589f7fc1adfc42e0519/jars/classes.jar!/" /> | |
</CLASSES> | |
<JAVADOC /> | |
<SOURCES> | |
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/android.arch.lifecycle/viewmodel/1.1.0/e4c0c5d65f92ccad0b0148ac2f01b540ac7a711e/viewmodel-1.1.0-sources.jar!/" /> | |
</SOURCES> | |
</library> | |
</component> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<component name="libraryTable"> | |
<library name="Gradle: com.android.support:animated-vector-drawable-27.1.1"> | |
<CLASSES> | |
<root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/animated-vector-drawable-27.1.1.aar/c1022cd55a004d0a33c10fa4c0debcd4/res" /> | |
<root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/animated-vector-drawable-27.1.1.aar/c1022cd55a004d0a33c10fa4c0debcd4/jars/classes.jar!/" /> | |
</CLASSES> | |
<JAVADOC /> | |
<SOURCES> | |
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.support/animated-vector-drawable/27.1.1/a8f4121ade2fdfcc5cb20290a05333239fee05d7/animated-vector-drawable-27.1.1-sources.jar!/" /> | |
</SOURCES> | |
</library> | |
</component> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<component name="libraryTable"> | |
<library name="Gradle: com.android.support:appcompat-v7-27.1.1"> | |
<CLASSES> | |
<root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/appcompat-v7-27.1.1.aar/fc2429ff789db38b2ea4a63da90775f8/jars/classes.jar!/" /> | |
<root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/appcompat-v7-27.1.1.aar/fc2429ff789db38b2ea4a63da90775f8/res" /> | |
</CLASSES> | |
<JAVADOC /> | |
<SOURCES> | |
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.support/appcompat-v7/27.1.1/21d073509c5f8d25a1bf274067fa729a1fba8d75/appcompat-v7-27.1.1-sources.jar!/" /> | |
</SOURCES> | |
</library> | |
</component> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<component name="libraryTable"> | |
<library name="Gradle: com.android.support.constraint:constraint-layout-1.1.2"> | |
<CLASSES> | |
<root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/constraint-layout-1.1.2.aar/545bc87706a4ae1ef109fe35125bdc1f/jars/classes.jar!/" /> | |
<root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/constraint-layout-1.1.2.aar/545bc87706a4ae1ef109fe35125bdc1f/res" /> | |
</CLASSES> | |
<JAVADOC /> | |
<SOURCES /> | |
</library> | |
</component> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<component name="libraryTable"> | |
<library name="Gradle: com.android.support.constraint:constraint-layout-solver:1.1.2@jar"> | |
<CLASSES> | |
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.support.constraint/constraint-layout-solver/1.1.2/bfc967828daffc35ba01c9ee204d98b664930a0f/constraint-layout-solver-1.1.2.jar!/" /> | |
</CLASSES> | |
<JAVADOC /> | |
<SOURCES /> | |
</library> | |
</component> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<component name="libraryTable"> | |
<library name="Gradle: com.android.support:design-27.1.1"> | |
<CLASSES> | |
<root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/design-27.1.1.aar/2a5de4207a30876389b19a608f28032e/res" /> | |
<root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/design-27.1.1.aar/2a5de4207a30876389b19a608f28032e/jars/classes.jar!/" /> | |
</CLASSES> | |
<JAVADOC /> | |
<SOURCES> | |
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.support/design/27.1.1/6e10c7f954f63690f7846fb22352375cf1b9fbb4/design-27.1.1-sources.jar!/" /> | |
</SOURCES> | |
</library> | |
</component> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<component name="libraryTable"> | |
<library name="Gradle: com.android.support:recyclerview-v7-27.1.1"> | |
<CLASSES> | |
<root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/recyclerview-v7-27.1.1.aar/19b1c225906a0c269ad379e5a6b3e8e6/jars/classes.jar!/" /> | |
<root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/recyclerview-v7-27.1.1.aar/19b1c225906a0c269ad379e5a6b3e8e6/res" /> | |
</CLASSES> | |
<JAVADOC /> | |
<SOURCES> | |
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.support/recyclerview-v7/27.1.1/ad225a74247e675db0b05ea4f8b17202acbb7f9d/recyclerview-v7-27.1.1-sources.jar!/" /> | |
</SOURCES> | |
</library> | |
</component> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<component name="libraryTable"> | |
<library name="Gradle: com.android.support:support-annotations:27.1.1@jar"> | |
<CLASSES> | |
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.support/support-annotations/27.1.1/39ded76b5e1ce1c5b2688e1d25cdc20ecee32007/support-annotations-27.1.1.jar!/" /> | |
</CLASSES> | |
<JAVADOC /> | |
<SOURCES> | |
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.support/support-annotations/27.1.1/46bebf5bd40146178cb33c7678f3782a09dea6e4/support-annotations-27.1.1-sources.jar!/" /> | |
</SOURCES> | |
</library> | |
</component> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<component name="libraryTable"> | |
<library name="Gradle: com.android.support:support-compat-27.1.1"> | |
<CLASSES> | |
<root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/support-compat-27.1.1.aar/7096a75f00cce8e70c8dfc7ffe56e06c/jars/classes.jar!/" /> | |
<root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/support-compat-27.1.1.aar/7096a75f00cce8e70c8dfc7ffe56e06c/res" /> | |
</CLASSES> | |
<JAVADOC /> | |
<SOURCES> | |
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.support/support-compat/27.1.1/fe233277b6eae25ce5b2afab6daf55d73c86f0b9/support-compat-27.1.1-sources.jar!/" /> | |
</SOURCES> | |
</library> | |
</component> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<component name="libraryTable"> | |
<library name="Gradle: com.android.support:support-core-ui-27.1.1"> | |
<CLASSES> | |
<root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/support-core-ui-27.1.1.aar/169eef9f5b5e0c600e8ed8f7a972cbe7/res" /> | |
<root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/support-core-ui-27.1.1.aar/169eef9f5b5e0c600e8ed8f7a972cbe7/jars/classes.jar!/" /> | |
</CLASSES> | |
<JAVADOC /> | |
<SOURCES> | |
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.support/support-core-ui/27.1.1/266c369a3227be5afec33e11c964472269ff2a7c/support-core-ui-27.1.1-sources.jar!/" /> | |
</SOURCES> | |
</library> | |
</component> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<component name="libraryTable"> | |
<library name="Gradle: com.android.support:support-core-utils-27.1.1"> | |
<CLASSES> | |
<root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/support-core-utils-27.1.1.aar/d9ae1ac785e7a755af49a13839466db8/jars/classes.jar!/" /> | |
<root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/support-core-utils-27.1.1.aar/d9ae1ac785e7a755af49a13839466db8/res" /> | |
</CLASSES> | |
<JAVADOC /> | |
<SOURCES> | |
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.support/support-core-utils/27.1.1/8fb37fd2f8dbc23482865700d2c340ae030ea561/support-core-utils-27.1.1-sources.jar!/" /> | |
</SOURCES> | |
</library> | |
</component> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<component name="libraryTable"> | |
<library name="Gradle: com.android.support:support-fragment-27.1.1"> | |
<CLASSES> | |
<root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/support-fragment-27.1.1.aar/c1eb182903fea14063cb1b5b9841957a/jars/classes.jar!/" /> | |
<root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/support-fragment-27.1.1.aar/c1eb182903fea14063cb1b5b9841957a/res" /> | |
</CLASSES> | |
<JAVADOC /> | |
<SOURCES> | |
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.support/support-fragment/27.1.1/94732bda44fba11302c58e459b7c1f47e7521bf9/support-fragment-27.1.1-sources.jar!/" /> | |
</SOURCES> | |
</library> | |
</component> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<component name="libraryTable"> | |
<library name="Gradle: com.android.support:support-media-compat-27.1.1"> | |
<CLASSES> | |
<root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/support-media-compat-27.1.1.aar/b23534f64a7285a5f2b0df0c2bf1999c/jars/classes.jar!/" /> | |
<root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/support-media-compat-27.1.1.aar/b23534f64a7285a5f2b0df0c2bf1999c/res" /> | |
</CLASSES> | |
<JAVADOC /> | |
<SOURCES> | |
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.support/support-media-compat/27.1.1/3ab3f968d7cd675d2f97e67a3e9fc0ac63618f46/support-media-compat-27.1.1-sources.jar!/" /> | |
</SOURCES> | |
</library> | |
</component> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<component name="libraryTable"> | |
<library name="Gradle: com.android.support:support-v4-27.1.1"> | |
<CLASSES> | |
<root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/support-v4-27.1.1.aar/ed6180762a9345400db1899ed52934cc/jars/classes.jar!/" /> | |
<root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/support-v4-27.1.1.aar/ed6180762a9345400db1899ed52934cc/res" /> | |
</CLASSES> | |
<JAVADOC /> | |
<SOURCES> | |
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.support/support-v4/27.1.1/5b8f86fea035328fc9e8c660773037a3401ce25f/support-v4-27.1.1-sources.jar!/" /> | |
</SOURCES> | |
</library> | |
</component> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<component name="libraryTable"> | |
<library name="Gradle: com.android.support:support-vector-drawable-27.1.1"> | |
<CLASSES> | |
<root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/support-vector-drawable-27.1.1.aar/9293fc60580c694ee7916ae8f5ba4823/jars/classes.jar!/" /> | |
<root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/support-vector-drawable-27.1.1.aar/9293fc60580c694ee7916ae8f5ba4823/res" /> | |
</CLASSES> | |
<JAVADOC /> | |
<SOURCES> | |
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.support/support-vector-drawable/27.1.1/4b29cf2106c95afb3432bb0c4ec5a91e959717b2/support-vector-drawable-27.1.1-sources.jar!/" /> | |
</SOURCES> | |
</library> | |
</component> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<component name="libraryTable"> | |
<library name="Gradle: com.android.support.test.espresso:espresso-core-3.0.2"> | |
<CLASSES> | |
<root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/espresso-core-3.0.2.aar/ddce1ed1528c95d359a584fd416dcdae/jars/classes.jar!/" /> | |
<root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/espresso-core-3.0.2.aar/ddce1ed1528c95d359a584fd416dcdae/res" /> | |
</CLASSES> | |
<JAVADOC /> | |
<SOURCES> | |
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.support.test.espresso/espresso-core/3.0.2/433f4f601a3f3835691d80838dd7ff9414931b05/espresso-core-3.0.2-sources.jar!/" /> | |
</SOURCES> | |
</library> | |
</component> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<component name="libraryTable"> | |
<library name="Gradle: com.android.support.test.espresso:espresso-idling-resource-3.0.2"> | |
<CLASSES> | |
<root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/espresso-idling-resource-3.0.2.aar/f03c871a6936737c52595dcb85118fbf/res" /> | |
<root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/espresso-idling-resource-3.0.2.aar/f03c871a6936737c52595dcb85118fbf/jars/classes.jar!/" /> | |
</CLASSES> | |
<JAVADOC /> | |
<SOURCES> | |
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.support.test.espresso/espresso-idling-resource/3.0.2/6071e2b310c16836ba475a94df377e2f75928546/espresso-idling-resource-3.0.2-sources.jar!/" /> | |
</SOURCES> | |
</library> | |
</component> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<component name="libraryTable"> | |
<library name="Gradle: com.android.support.test:monitor-1.0.2"> | |
<CLASSES> | |
<root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/monitor-1.0.2.aar/4884961c5fe609cca36f91be8c7618cb/res" /> | |
<root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/monitor-1.0.2.aar/4884961c5fe609cca36f91be8c7618cb/jars/classes.jar!/" /> | |
</CLASSES> | |
<JAVADOC /> | |
<SOURCES> | |
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.support.test/monitor/1.0.2/5764301056100b445e9ba31df7d1b554a55450f6/monitor-1.0.2-sources.jar!/" /> | |
</SOURCES> | |
</library> | |
</component> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<component name="libraryTable"> | |
<library name="Gradle: com.android.support.test:runner-1.0.2"> | |
<CLASSES> | |
<root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/runner-1.0.2.aar/9032fb62b9c0fbbb7fbeededdebbc82f/res" /> | |
<root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/runner-1.0.2.aar/9032fb62b9c0fbbb7fbeededdebbc82f/jars/classes.jar!/" /> | |
</CLASSES> | |
<JAVADOC /> | |
<SOURCES> | |
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.support.test/runner/1.0.2/b2ce2342744a66e935dbc4a298259709a4c1f042/runner-1.0.2-sources.jar!/" /> | |
</SOURCES> | |
</library> | |
</component> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<component name="libraryTable"> | |
<library name="Gradle: com.android.support:transition-27.1.1"> | |
<CLASSES> | |
<root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/transition-27.1.1.aar/577639e0b717e5c3f2b718779a9203f8/jars/classes.jar!/" /> | |
<root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/transition-27.1.1.aar/577639e0b717e5c3f2b718779a9203f8/res" /> | |
</CLASSES> | |
<JAVADOC /> | |
<SOURCES> | |
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.support/transition/27.1.1/88ebe6765790253d410e51a3952571565f2040e9/transition-27.1.1-sources.jar!/" /> | |
</SOURCES> | |
</library> | |
</component> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<component name="libraryTable"> | |
<library name="Gradle: com.google.code.findbugs:jsr305:2.0.1@jar"> | |
<CLASSES> | |
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.google.code.findbugs/jsr305/2.0.1/516c03b21d50a644d538de0f0369c620989cd8f0/jsr305-2.0.1.jar!/" /> | |
</CLASSES> | |
<JAVADOC /> | |
<SOURCES /> | |
</library> | |
</component> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<component name="libraryTable"> | |
<library name="Gradle: com.squareup:javawriter:2.1.1@jar"> | |
<CLASSES> | |
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.squareup/javawriter/2.1.1/67ff45d9ae02e583d0f9b3432a5ebbe05c30c966/javawriter-2.1.1.jar!/" /> | |
</CLASSES> | |
<JAVADOC /> | |
<SOURCES> | |
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.squareup/javawriter/2.1.1/5b31387d839a5cdaf5b6de3990da01f7f2b963c5/javawriter-2.1.1-sources.jar!/" /> | |
</SOURCES> | |
</library> | |
</component> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<component name="libraryTable"> | |
<library name="Gradle: javax.inject:javax.inject:1@jar"> | |
<CLASSES> | |
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/javax.inject/javax.inject/1/6975da39a7040257bd51d21a231b76c915872d38/javax.inject-1.jar!/" /> | |
</CLASSES> | |
<JAVADOC /> | |
<SOURCES> | |
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/javax.inject/javax.inject/1/a00123f261762a7c5e0ec916a2c7c8298d29c400/javax.inject-1-sources.jar!/" /> | |
</SOURCES> | |
</library> | |
</component> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<component name="libraryTable"> | |
<library name="Gradle: junit:junit:4.12@jar"> | |
<CLASSES> | |
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/junit/junit/4.12/2973d150c0dc1fefe998f834810d68f278ea58ec/junit-4.12.jar!/" /> | |
</CLASSES> | |
<JAVADOC /> | |
<SOURCES> | |
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/junit/junit/4.12/a6c32b40bf3d76eca54e3c601e5d1470c86fcdfa/junit-4.12-sources.jar!/" /> | |
</SOURCES> | |
</library> | |
</component> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<component name="libraryTable"> | |
<library name="Gradle: net.sf.kxml:kxml2:2.3.0@jar"> | |
<CLASSES> | |
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/net.sf.kxml/kxml2/2.3.0/ccbc77a5fd907ef863c29f3596c6f54ffa4e9442/kxml2-2.3.0.jar!/" /> | |
</CLASSES> | |
<JAVADOC /> | |
<SOURCES> | |
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/net.sf.kxml/kxml2/2.3.0/309cd2cff7260e465792fda3dcbb063b730d8050/kxml2-2.3.0-sources.jar!/" /> | |
</SOURCES> | |
</library> | |
</component> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<component name="libraryTable"> | |
<library name="Gradle: org.hamcrest:hamcrest-core:1.3@jar"> | |
<CLASSES> | |
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.hamcrest/hamcrest-core/1.3/42a25dc3219429f0e5d060061f71acb49bf010a0/hamcrest-core-1.3.jar!/" /> | |
</CLASSES> | |
<JAVADOC /> | |
<SOURCES> | |
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.hamcrest/hamcrest-core/1.3/1dc37250fbc78e23a65a67fbbaf71d2e9cbc3c0b/hamcrest-core-1.3-sources.jar!/" /> | |
</SOURCES> | |
</library> | |
</component> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<component name="libraryTable"> | |
<library name="Gradle: org.hamcrest:hamcrest-integration:1.3@jar"> | |
<CLASSES> | |
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.hamcrest/hamcrest-integration/1.3/5de0c73fef18917cd85d0ab70bb23818685e4dfd/hamcrest-integration-1.3.jar!/" /> | |
</CLASSES> | |
<JAVADOC /> | |
<SOURCES> | |
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.hamcrest/hamcrest-integration/1.3/ae7787a563e6a1b1f17fd4ac43be3a3c8830cfda/hamcrest-integration-1.3-sources.jar!/" /> | |
</SOURCES> | |
</library> | |
</component> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<component name="libraryTable"> | |
<library name="Gradle: org.hamcrest:hamcrest-library:1.3@jar"> | |
<CLASSES> | |
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.hamcrest/hamcrest-library/1.3/4785a3c21320980282f9f33d0d1264a69040538f/hamcrest-library-1.3.jar!/" /> | |
</CLASSES> | |
<JAVADOC /> | |
<SOURCES> | |
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.hamcrest/hamcrest-library/1.3/47a7ee46628ab7133129cd7cef1e92657bc275e/hamcrest-library-1.3-sources.jar!/" /> | |
</SOURCES> | |
</library> | |
</component> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<component name="libraryTable"> | |
<library name="Gradle: org.jsoup:jsoup:1.10.1@jar"> | |
<CLASSES> | |
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.jsoup/jsoup/1.10.1/645f1ad2f6f4cbad1cde4c483eae71e4051be6ef/jsoup-1.10.1.jar!/" /> | |
</CLASSES> | |
<JAVADOC /> | |
<SOURCES> | |
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.jsoup/jsoup/1.10.1/ce0ad15b1c229332bfa078f58a440403dd4a73e7/jsoup-1.10.1-sources.jar!/" /> | |
</SOURCES> | |
</library> | |
</component> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="UTF-8"?> | |
<project version="4"> | |
<component name="NullableNotNullManager"> | |
<option name="myDefaultNullable" value="android.support.annotation.Nullable" /> | |
<option name="myDefaultNotNull" value="android.support.annotation.NonNull" /> | |
<option name="myNullables"> | |
<value> | |
<list size="5"> | |
<item index="0" class="java.lang.String" itemvalue="org.jetbrains.annotations.Nullable" /> | |
<item index="1" class="java.lang.String" itemvalue="javax.annotation.Nullable" /> | |
<item index="2" class="java.lang.String" itemvalue="javax.annotation.CheckForNull" /> | |
<item index="3" class="java.lang.String" itemvalue="edu.umd.cs.findbugs.annotations.Nullable" /> | |
<item index="4" class="java.lang.String" itemvalue="android.support.annotation.Nullable" /> | |
</list> | |
</value> | |
</option> | |
<option name="myNotNulls"> | |
<value> | |
<list size="4"> | |
<item index="0" class="java.lang.String" itemvalue="org.jetbrains.annotations.NotNull" /> | |
<item index="1" class="java.lang.String" itemvalue="javax.annotation.Nonnull" /> | |
<item index="2" class="java.lang.String" itemvalue="edu.umd.cs.findbugs.annotations.NonNull" /> | |
<item index="3" class="java.lang.String" itemvalue="android.support.annotation.NonNull" /> | |
</list> | |
</value> | |
</option> | |
</component> | |
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_7" project-jdk-name="1.8" project-jdk-type="JavaSDK"> | |
<output url="file://$PROJECT_DIR$/build/classes" /> | |
</component> | |
<component name="ProjectType"> | |
<option name="id" value="Android" /> | |
</component> | |
</project> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="UTF-8"?> | |
<project version="4"> | |
<component name="ProjectModuleManager"> | |
<modules> | |
<module fileurl="file://$PROJECT_DIR$/Inventory2.iml" filepath="$PROJECT_DIR$/Inventory2.iml" /> | |
<module fileurl="file://$PROJECT_DIR$/app/app.iml" filepath="$PROJECT_DIR$/app/app.iml" /> | |
</modules> | |
</component> | |
</project> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="UTF-8"?> | |
<project version="4"> | |
<component name="RunConfigurationProducerService"> | |
<option name="ignoredProducers"> | |
<set> | |
<option value="org.jetbrains.plugins.gradle.execution.test.runner.AllInPackageGradleConfigurationProducer" /> | |
<option value="org.jetbrains.plugins.gradle.execution.test.runner.TestClassGradleConfigurationProducer" /> | |
<option value="org.jetbrains.plugins.gradle.execution.test.runner.TestMethodGradleConfigurationProducer" /> | |
</set> | |
</option> | |
</component> | |
</project> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/build |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="UTF-8"?> | |
<module external.linked.project.id=":app" external.linked.project.path="$MODULE_DIR$" external.root.project.path="$MODULE_DIR$/.." external.system.id="GRADLE" type="JAVA_MODULE" version="4"> | |
<component name="FacetManager"> | |
<facet type="android-gradle" name="Android-Gradle"> | |
<configuration> | |
<option name="GRADLE_PROJECT_PATH" value=":app" /> | |
</configuration> | |
</facet> | |
<facet type="android" name="Android"> | |
<configuration> | |
<option name="SELECTED_BUILD_VARIANT" value="debug" /> | |
<option name="ASSEMBLE_TASK_NAME" value="assembleDebug" /> | |
<option name="COMPILE_JAVA_TASK_NAME" value="compileDebugSources" /> | |
<afterSyncTasks> | |
<task>generateDebugSources</task> | |
</afterSyncTasks> | |
<option name="ALLOW_USER_CONFIGURATION" value="false" /> | |
<option name="MANIFEST_FILE_RELATIVE_PATH" value="/src/main/AndroidManifest.xml" /> | |
<option name="RES_FOLDER_RELATIVE_PATH" value="/src/main/res" /> | |
<option name="RES_FOLDERS_RELATIVE_PATH" value="file://$MODULE_DIR$/src/main/res" /> | |
<option name="ASSETS_FOLDER_RELATIVE_PATH" value="/src/main/assets" /> | |
</configuration> | |
</facet> | |
</component> | |
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_7"> | |
<output url="file://$MODULE_DIR$/build/intermediates/classes/debug" /> | |
<output-test url="file://$MODULE_DIR$/build/intermediates/classes/test/debug" /> | |
<exclude-output /> | |
<content url="file://$MODULE_DIR$"> | |
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/apt/debug" isTestSource="false" generated="true" /> | |
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/r/debug" isTestSource="false" generated="true" /> | |
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/aidl/debug" isTestSource="false" generated="true" /> | |
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/buildConfig/debug" isTestSource="false" generated="true" /> | |
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/rs/debug" isTestSource="false" generated="true" /> | |
<sourceFolder url="file://$MODULE_DIR$/build/generated/res/rs/debug" type="java-resource" /> | |
<sourceFolder url="file://$MODULE_DIR$/build/generated/res/resValues/debug" type="java-resource" /> | |
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/apt/androidTest/debug" isTestSource="true" generated="true" /> | |
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/r/androidTest/debug" isTestSource="true" generated="true" /> | |
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/aidl/androidTest/debug" isTestSource="true" generated="true" /> | |
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/buildConfig/androidTest/debug" isTestSource="true" generated="true" /> | |
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/rs/androidTest/debug" isTestSource="true" generated="true" /> | |
<sourceFolder url="file://$MODULE_DIR$/build/generated/res/rs/androidTest/debug" type="java-test-resource" /> | |
<sourceFolder url="file://$MODULE_DIR$/build/generated/res/resValues/androidTest/debug" type="java-test-resource" /> | |
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/apt/test/debug" isTestSource="true" generated="true" /> | |
<sourceFolder url="file://$MODULE_DIR$/src/debug/res" type="java-resource" /> | |
<sourceFolder url="file://$MODULE_DIR$/src/debug/resources" type="java-resource" /> | |
<sourceFolder url="file://$MODULE_DIR$/src/debug/assets" type="java-resource" /> | |
<sourceFolder url="file://$MODULE_DIR$/src/debug/aidl" isTestSource="false" /> | |
<sourceFolder url="file://$MODULE_DIR$/src/debug/java" isTestSource="false" /> | |
<sourceFolder url="file://$MODULE_DIR$/src/debug/rs" isTestSource="false" /> | |
<sourceFolder url="file://$MODULE_DIR$/src/debug/shaders" isTestSource="false" /> | |
<sourceFolder url="file://$MODULE_DIR$/src/testDebug/res" type="java-test-resource" /> | |
<sourceFolder url="file://$MODULE_DIR$/src/testDebug/resources" type="java-test-resource" /> | |
<sourceFolder url="file://$MODULE_DIR$/src/testDebug/assets" type="java-test-resource" /> | |
<sourceFolder url="file://$MODULE_DIR$/src/testDebug/aidl" isTestSource="true" /> | |
<sourceFolder url="file://$MODULE_DIR$/src/testDebug/java" isTestSource="true" /> | |
<sourceFolder url="file://$MODULE_DIR$/src/testDebug/rs" isTestSource="true" /> | |
<sourceFolder url="file://$MODULE_DIR$/src/testDebug/shaders" isTestSource="true" /> | |
<sourceFolder url="file://$MODULE_DIR$/src/androidTestDebug/res" type="java-test-resource" /> | |
<sourceFolder url="file://$MODULE_DIR$/src/androidTestDebug/resources" type="java-test-resource" /> | |
<sourceFolder url="file://$MODULE_DIR$/src/androidTestDebug/assets" type="java-test-resource" /> | |
<sourceFolder url="file://$MODULE_DIR$/src/androidTestDebug/aidl" isTestSource="true" /> | |
<sourceFolder url="file://$MODULE_DIR$/src/androidTestDebug/java" isTestSource="true" /> | |
<sourceFolder url="file://$MODULE_DIR$/src/androidTestDebug/rs" isTestSource="true" /> | |
<sourceFolder url="file://$MODULE_DIR$/src/androidTestDebug/shaders" isTestSource="true" /> | |
<sourceFolder url="file://$MODULE_DIR$/src/main/res" type="java-resource" /> | |
<sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" /> | |
<sourceFolder url="file://$MODULE_DIR$/src/main/assets" type="java-resource" /> | |
<sourceFolder url="file://$MODULE_DIR$/src/main/aidl" isTestSource="false" /> | |
<sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" /> | |
<sourceFolder url="file://$MODULE_DIR$/src/main/rs" isTestSource="false" /> | |
<sourceFolder url="file://$MODULE_DIR$/src/main/shaders" isTestSource="false" /> | |
<sourceFolder url="file://$MODULE_DIR$/src/test/res" type="java-test-resource" /> | |
<sourceFolder url="file://$MODULE_DIR$/src/test/resources" type="java-test-resource" /> | |
<sourceFolder url="file://$MODULE_DIR$/src/test/assets" type="java-test-resource" /> | |
<sourceFolder url="file://$MODULE_DIR$/src/test/aidl" isTestSource="true" /> | |
<sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" /> | |
<sourceFolder url="file://$MODULE_DIR$/src/test/rs" isTestSource="true" /> | |
<sourceFolder url="file://$MODULE_DIR$/src/test/shaders" isTestSource="true" /> | |
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/res" type="java-test-resource" /> | |
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/resources" type="java-test-resource" /> | |
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/assets" type="java-test-resource" /> | |
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/aidl" isTestSource="true" /> | |
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/java" isTestSource="true" /> | |
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/rs" isTestSource="true" /> | |
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/shaders" isTestSource="true" /> | |
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/assets" /> | |
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/blame" /> | |
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/build-info" /> | |
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/builds" /> | |
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/check-manifest" /> | |
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/classes" /> | |
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental" /> | |
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental-classes" /> | |
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental-runtime-classes" /> | |
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental-verifier" /> | |
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/instant-run-apk" /> | |
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/instant-run-main-apk-res" /> | |
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/javaPrecompile" /> | |
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/jniLibs" /> | |
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/lint" /> | |
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/manifest-checker" /> | |
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/manifests" /> | |
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/prebuild" /> | |
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/reload-dex" /> | |
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/res" /> | |
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/resources" /> | |
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/rs" /> | |
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/shaders" /> | |
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/split-apk" /> | |
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/splits-support" /> | |
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/symbols" /> | |
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/transforms" /> | |
<excludeFolder url="file://$MODULE_DIR$/build/outputs" /> | |
<excludeFolder url="file://$MODULE_DIR$/build/tmp" /> | |
</content> | |
<orderEntry type="jdk" jdkName="Android API 27 Platform" jdkType="Android SDK" /> | |
<orderEntry type="sourceFolder" forTests="false" /> | |
<orderEntry type="library" name="Gradle: com.android.support:transition-27.1.1" level="project" /> | |
<orderEntry type="library" name="Gradle: com.android.support:support-v4-27.1.1" level="project" /> | |
<orderEntry type="library" scope="TEST" name="Gradle: com.android.support.test:runner-1.0.2" level="project" /> | |
<orderEntry type="library" name="Gradle: android.arch.lifecycle:common:1.1.0@jar" level="project" /> | |
<orderEntry type="library" name="Gradle: com.android.support:support-annotations:27.1.1@jar" level="project" /> | |
<orderEntry type="library" name="Gradle: org.jsoup:jsoup:1.10.1@jar" level="project" /> | |
<orderEntry type="library" name="Gradle: com.android.support:animated-vector-drawable-27.1.1" level="project" /> | |
<orderEntry type="library" name="Gradle: com.android.support:support-compat-27.1.1" level="project" /> | |
<orderEntry type="library" name="Gradle: android.arch.lifecycle:viewmodel-1.1.0" level="project" /> | |
<orderEntry type="library" name="Gradle: com.android.support:recyclerview-v7-27.1.1" level="project" /> | |
<orderEntry type="library" scope="TEST" name="Gradle: com.squareup:javawriter:2.1.1@jar" level="project" /> | |
<orderEntry type="library" name="Gradle: com.android.support:support-vector-drawable-27.1.1" level="project" /> | |
<orderEntry type="library" name="Gradle: com.android.support:support-media-compat-27.1.1" level="project" /> | |
<orderEntry type="library" name="Gradle: com.android.support:support-core-ui-27.1.1" level="project" /> | |
<orderEntry type="library" name="Gradle: com.android.support.constraint:constraint-layout-1.1.2" level="project" /> | |
<orderEntry type="library" name="Gradle: com.android.support:support-core-utils-27.1.1" level="project" /> | |
<orderEntry type="library" scope="TEST" name="Gradle: com.google.code.findbugs:jsr305:2.0.1@jar" level="project" /> | |
<orderEntry type="library" scope="TEST" name="Gradle: com.android.support.test.espresso:espresso-core-3.0.2" level="project" /> | |
<orderEntry type="library" scope="TEST" name="Gradle: javax.inject:javax.inject:1@jar" level="project" /> | |
<orderEntry type="library" name="Gradle: com.android.support:support-fragment-27.1.1" level="project" /> | |
<orderEntry type="library" scope="TEST" name="Gradle: junit:junit:4.12@jar" level="project" /> | |
<orderEntry type="library" name="Gradle: android.arch.core:runtime-1.1.0" level="project" /> | |
<orderEntry type="library" scope="TEST" name="Gradle: org.hamcrest:hamcrest-core:1.3@jar" level="project" /> | |
<orderEntry type="library" name="Gradle: com.android.support:design-27.1.1" level="project" /> | |
<orderEntry type="library" scope="TEST" name="Gradle: com.android.support.test:monitor-1.0.2" level="project" /> | |
<orderEntry type="library" name="Gradle: com.android.support:appcompat-v7-27.1.1" level="project" /> | |
<orderEntry type="library" scope="TEST" name="Gradle: com.android.support.test.espresso:espresso-idling-resource-3.0.2" level="project" /> | |
<orderEntry type="library" name="Gradle: com.android.support.constraint:constraint-layout-solver:1.1.2@jar" level="project" /> | |
<orderEntry type="library" name="Gradle: android.arch.lifecycle:livedata-core-1.1.0" level="project" /> | |
<orderEntry type="library" scope="TEST" name="Gradle: org.hamcrest:hamcrest-library:1.3@jar" level="project" /> | |
<orderEntry type="library" scope="TEST" name="Gradle: org.hamcrest:hamcrest-integration:1.3@jar" level="project" /> | |
<orderEntry type="library" name="Gradle: android.arch.core:common:1.1.0@jar" level="project" /> | |
<orderEntry type="library" scope="TEST" name="Gradle: net.sf.kxml:kxml2:2.3.0@jar" level="project" /> | |
<orderEntry type="library" name="Gradle: android.arch.lifecycle:runtime-1.1.0" level="project" /> | |
</component> | |
</module> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
apply plugin: 'com.android.application' | |
android { | |
compileSdkVersion 27 | |
defaultConfig { | |
applicationId "com.example.android.inventory2" | |
minSdkVersion 22 | |
targetSdkVersion 27 | |
versionCode 1 | |
versionName "1.0" | |
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" | |
} | |
buildTypes { | |
release { | |
minifyEnabled false | |
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' | |
} | |
} | |
} | |
dependencies { | |
implementation 'org.jsoup:jsoup:1.10.1' | |
implementation fileTree(dir: 'libs', include: ['*.jar']) | |
implementation 'com.android.support:appcompat-v7:27.1.1' | |
implementation 'com.android.support.constraint:constraint-layout:1.1.2' | |
testImplementation 'junit:junit:4.12' | |
androidTestImplementation 'com.android.support.test:runner:1.0.2' | |
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2' | |
implementation 'com.android.support:design:27.1.1' | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Add project specific ProGuard rules here. | |
# You can control the set of applied configuration files using the | |
# proguardFiles setting in build.gradle. | |
# | |
# For more details, see | |
# http://developer.android.com/guide/developing/tools/proguard.html | |
# If your project uses WebView with JS, uncomment the following | |
# and specify the fully qualified class name to the JavaScript interface | |
# class: | |
#-keepclassmembers class fqcn.of.javascript.interface.for.webview { | |
# public *; | |
#} | |
# Uncomment this to preserve the line number information for | |
# debugging stack traces. | |
#-keepattributes SourceFile,LineNumberTable | |
# If you keep the line number information, uncomment this to | |
# hide the original source file name. | |
#-renamesourcefileattribute SourceFile |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="utf-8"?> | |
<manifest package="com.example.android.inventory2" | |
xmlns:android="http://schemas.android.com/apk/res/android"> | |
<application | |
android:allowBackup="true" | |
android:icon="@mipmap/ic_launcher" | |
android:label="@string/app_name" | |
android:supportsRtl="true" | |
android:theme="@style/AppTheme"> | |
<activity | |
android:name=".CatalogActivity" | |
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=".EditorActivity" | |
android:theme="@style/EditorTheme" | |
android:parentActivityName=".CatalogActivity" > | |
<!-- Parent activity meta-data to support 4.0 and lower --> | |
<meta-data | |
android:name="android.support.PARENT_ACTIVITY" | |
android:value=".CatalogActivity" /> | |
</activity> | |
<provider | |
android:name=".data.StoreProvider" | |
android:authorities="com.example.android.inventory2" | |
android:exported="false" /> | |
</application> | |
</manifest> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package com.example.android.inventory2; | |
import android.app.LoaderManager; | |
import android.content.ContentUris; | |
import android.content.ContentValues; | |
import android.content.CursorLoader; | |
import android.content.Intent; | |
import android.content.Loader; | |
import android.database.Cursor; | |
import android.net.Uri; | |
import android.os.Bundle; | |
import android.support.design.widget.FloatingActionButton; | |
import android.support.v4.widget.SwipeRefreshLayout; | |
import android.support.v7.app.AppCompatActivity; | |
import android.view.Menu; | |
import android.view.MenuItem; | |
import android.view.View; | |
import android.widget.AdapterView; | |
import android.widget.ListView; | |
import android.widget.Toast; | |
import com.example.android.inventory2.data.StoreContract.ProductEntry; | |
import com.example.android.inventory2.data.StoreDbHelper; | |
public class CatalogActivity extends AppCompatActivity implements | |
LoaderManager.LoaderCallbacks<Cursor> { | |
private static final int PRODUCT_LOADER = 0; | |
StoreCursorAdapter mCursorAdapter; | |
@Override | |
protected void onCreate(Bundle savedInstanceState) { | |
super.onCreate(savedInstanceState); | |
setContentView(R.layout.activity_catalog); | |
FloatingActionButton fab = findViewById(R.id.fab); | |
fab.setOnClickListener(new View.OnClickListener() { | |
@Override | |
public void onClick(View view) { | |
Intent intent = new Intent(CatalogActivity.this, EditorActivity.class); | |
startActivity(intent); | |
} | |
}); | |
ListView petListView = findViewById(R.id.list); | |
View emptyView = findViewById(R.id.empty_view); | |
petListView.setEmptyView(emptyView); | |
mCursorAdapter = new StoreCursorAdapter(this, null); | |
petListView.setAdapter(mCursorAdapter); | |
petListView.setOnItemClickListener(new AdapterView.OnItemClickListener() { | |
@Override | |
public void onItemClick(AdapterView<?> adapterView, View view, int position, long id) { | |
Intent intent = new Intent(CatalogActivity.this, EditorActivity.class); | |
Uri currentproductUri = ContentUris.withAppendedId(ProductEntry.CONTENT_URI, id); | |
intent.setData(currentproductUri); | |
startActivity(intent); | |
} | |
}); | |
getLoaderManager().initLoader(PRODUCT_LOADER, null, this); | |
SwipeRefreshLayout swipe = findViewById(R.id.swiperefresh); | |
swipe.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() { | |
@Override | |
public void onRefresh() { | |
SwipeRefreshLayout swipe = findViewById(R.id.swiperefresh); | |
getLoaderManager().initLoader(PRODUCT_LOADER, null, CatalogActivity.this); | |
Toast.makeText(getApplicationContext(), R.string.refreshed_successfully, Toast.LENGTH_LONG).show(); | |
swipe.setRefreshing(false); | |
} | |
} | |
); | |
} | |
private void insertPet() { | |
ContentValues values = new ContentValues(); | |
values.put(ProductEntry.COLUMN_PRODUCT_NAME, "earphones"); | |
values.put(ProductEntry.COLUMN_PRICE, 10); | |
values.put(ProductEntry.COLUMN_SUPPLIER_NAME, "JBL"); | |
values.put(ProductEntry.COLUMN_SUPPLIER_PHONE_NUMBER, "0549012568"); | |
values.put(ProductEntry.COLUMN_QUANTITY, 7); | |
getContentResolver().insert(ProductEntry.CONTENT_URI, values); | |
} | |
private void deleteAllProducts() { | |
StoreDbHelper mDbHelper; | |
mDbHelper = new StoreDbHelper(this); | |
mDbHelper.delete(); | |
mCursorAdapter.swapCursor(null); | |
} | |
@Override | |
public boolean onCreateOptionsMenu(Menu menu) { | |
getMenuInflater().inflate(R.menu.menu_catalog, menu); | |
return true; | |
} | |
@Override | |
public boolean onOptionsItemSelected(MenuItem item) { | |
switch (item.getItemId()) { | |
case R.id.action_insert_dummy_data: | |
insertPet(); | |
return true; | |
case R.id.action_delete_all_entries: | |
deleteAllProducts(); | |
return true; | |
} | |
return super.onOptionsItemSelected(item); | |
} | |
@Override | |
public Loader<Cursor> onCreateLoader(int i, Bundle bundle) { | |
String[] projection = { | |
ProductEntry._ID, | |
ProductEntry.COLUMN_PRODUCT_NAME, | |
ProductEntry.COLUMN_SUPPLIER_NAME, | |
ProductEntry.COLUMN_QUANTITY, | |
ProductEntry.COLUMN_PRICE, | |
ProductEntry.COLUMN_SUPPLIER_PHONE_NUMBER | |
}; | |
return new CursorLoader(this, // Parent activity context | |
ProductEntry.CONTENT_URI, // Provider content URI to query | |
projection, // Columns to include in the resulting Cursor | |
null, // No selection clause | |
null, // No selection arguments | |
null); // Default sort order | |
} | |
@Override | |
public void onLoadFinished(Loader<Cursor> loader, Cursor data) { | |
mCursorAdapter.swapCursor(data); | |
} | |
@Override | |
public void onLoaderReset(Loader<Cursor> loader) { | |
mCursorAdapter.swapCursor(null); | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
* Copyright (C) 2016 The Android Open Source Project | |
* | |
* Licensed under the Apache License, Version 2.0 (the "License"); | |
* you may not use this file except in compliance with the License. | |
* You may obtain a copy of the License at | |
* | |
* http://www.apache.org/licenses/LICENSE-2.0 | |
* | |
* Unless required by applicable law or agreed to in writing, software | |
* distributed under the License is distributed on an "AS IS" BASIS, | |
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
* See the License for the specific language governing permissions and | |
* limitations under the License. | |
*/ | |
package com.example.android.inventory2.data; | |
import android.content.ContentResolver; | |
import android.net.Uri; | |
import android.provider.BaseColumns; | |
public final class StoreContract { | |
private StoreContract() { | |
} | |
public static final class ProductEntry implements BaseColumns { | |
public static final String CONTENT_AUTHORITY = "com.example.android.inventory2"; | |
public static final Uri BASE_CONTENT_URI = Uri.parse("content://" + CONTENT_AUTHORITY); | |
public static final String PATH_STORE = "inventory"; | |
public static final Uri CONTENT_URI = Uri.withAppendedPath(BASE_CONTENT_URI, PATH_STORE); | |
public static final String CONTENT_LIST_TYPE = | |
ContentResolver.CURSOR_DIR_BASE_TYPE + "/" + CONTENT_AUTHORITY + "/" + PATH_STORE; | |
public static final String CONTENT_ITEM_TYPE = | |
ContentResolver.CURSOR_ITEM_BASE_TYPE + "/" + CONTENT_AUTHORITY + "/" + PATH_STORE; | |
public final static String TABLE_NAME = "inventory"; | |
public final static String _ID = BaseColumns._ID; | |
public final static String COLUMN_PRODUCT_NAME = "product_name"; | |
public final static String COLUMN_SUPPLIER_NAME = "supplier_name"; | |
public final static String COLUMN_SUPPLIER_PHONE_NUMBER = "supplier_phone_number"; | |
public final static String COLUMN_QUANTITY = "quantity"; | |
public final static String COLUMN_PRICE = "price"; | |
public static final String DELETE = " DROP TABLE " + TABLE_NAME; | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
* Copyright (C) 2016 The Android Open Source Project | |
* | |
* Licensed under the Apache License, Version 2.0 (the "License"); | |
* you may not use this file except in compliance with the License. | |
* You may obtain a copy of the License at | |
* | |
* http://www.apache.org/licenses/LICENSE-2.0 | |
* | |
* Unless required by applicable law or agreed to in writing, software | |
* distributed under the License is distributed on an "AS IS" BASIS, | |
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
* See the License for the specific language governing permissions and | |
* limitations under the License. | |
*/ | |
package com.example.android.inventory2.data; | |
import android.content.Context; | |
import android.database.sqlite.SQLiteDatabase; | |
import android.database.sqlite.SQLiteOpenHelper; | |
import com.example.android.inventory2.data.StoreContract.ProductEntry; | |
public class StoreDbHelper extends SQLiteOpenHelper { | |
private static final String DATABASE_NAME = "store.db"; | |
private static final int DATABASE_VERSION = 1; | |
public StoreDbHelper(Context context) { | |
super(context, DATABASE_NAME, null, DATABASE_VERSION); | |
} | |
@Override | |
public void onCreate(SQLiteDatabase db) { | |
String SQL_CREATE_INVENTORY_TABLE = "CREATE TABLE " + ProductEntry.TABLE_NAME + " (" | |
+ ProductEntry._ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " | |
+ ProductEntry.COLUMN_PRODUCT_NAME + " TEXT NOT NULL, " | |
+ ProductEntry.COLUMN_SUPPLIER_NAME + " TEXT NOT NULL, " | |
+ ProductEntry.COLUMN_QUANTITY + " INTEGER NOT NULL, " | |
+ ProductEntry.COLUMN_PRICE + " INTEGER NOT NULL, " | |
+ ProductEntry.COLUMN_SUPPLIER_PHONE_NUMBER + " TEXT NOT NULL );"; | |
db.execSQL(SQL_CREATE_INVENTORY_TABLE); | |
} | |
@Override | |
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { | |
db.execSQL(ProductEntry.DELETE); | |
onCreate(db); | |
} | |
public void delete() { | |
SQLiteDatabase db = getWritableDatabase(); | |
db.execSQL(ProductEntry.DELETE); | |
onCreate(db); | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
* Copyright (C) 2016 The Android Open Source Project | |
* | |
* Licensed under the Apache License, Version 2.0 (the "License"); | |
* you may not use this file except in compliance with the License. | |
* You may obtain a copy of the License at | |
* | |
* http://www.apache.org/licenses/LICENSE-2.0 | |
* | |
* Unless required by applicable law or agreed to in writing, software | |
* distributed under the License is distributed on an "AS IS" BASIS, | |
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
* See the License for the specific language governing permissions and | |
* limitations under the License. | |
*/ | |
package com.example.android.inventory2.data; | |
import android.content.ContentProvider; | |
import android.content.ContentUris; | |
import android.content.ContentValues; | |
import android.content.UriMatcher; | |
import android.database.Cursor; | |
import android.database.sqlite.SQLiteDatabase; | |
import android.net.Uri; | |
import android.support.annotation.NonNull; | |
import android.text.TextUtils; | |
import android.util.Log; | |
import android.widget.Toast; | |
import com.example.android.inventory2.R; | |
import com.example.android.inventory2.data.StoreContract.ProductEntry; | |
import java.util.Objects; | |
/** | |
* {@link ContentProvider} for Pets app. | |
*/ | |
public class StoreProvider extends ContentProvider { | |
public static final String LOG_TAG = StoreProvider.class.getSimpleName(); | |
private static final int INVENTORY = 100; | |
private static final int INVENTORY_ID = 101; | |
private static final UriMatcher sUriMatcher = new UriMatcher(UriMatcher.NO_MATCH); | |
private StoreDbHelper mDbHelper; | |
static { | |
sUriMatcher.addURI(StoreContract.ProductEntry.CONTENT_AUTHORITY, StoreContract.ProductEntry.PATH_STORE, INVENTORY); | |
sUriMatcher.addURI(StoreContract.ProductEntry.CONTENT_AUTHORITY, StoreContract.ProductEntry.PATH_STORE + "/#", INVENTORY_ID); | |
} | |
@Override | |
public boolean onCreate() { | |
mDbHelper = new StoreDbHelper(getContext()); | |
return true; | |
} | |
//gets URI ,projection(returning list of all column chosen in it), selection+selection args for returning specifeid raw,null,null,null) returning courser of the data specified if URI contains selection of ID will auto qurry for it | |
@Override | |
public Cursor query(@NonNull Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder) { | |
SQLiteDatabase database = mDbHelper.getReadableDatabase(); | |
Cursor cursor; | |
int match = sUriMatcher.match(uri); | |
switch (match) { | |
case INVENTORY: | |
cursor = database.query(StoreContract.ProductEntry.TABLE_NAME, projection, selection, selectionArgs, | |
null, null, sortOrder); | |
break; | |
case INVENTORY_ID: | |
selection = StoreContract.ProductEntry._ID + "=?"; | |
selectionArgs = new String[] { String.valueOf(ContentUris.parseId(uri)) }; | |
cursor = database.query(ProductEntry.TABLE_NAME, projection, selection, selectionArgs, | |
null, null, sortOrder); | |
break; | |
default: | |
throw new IllegalArgumentException("Cannot query unknown URI " + uri); | |
} | |
cursor.setNotificationUri(Objects.requireNonNull(getContext()).getContentResolver(), uri); | |
return cursor; | |
} | |
//since new input no need to check for ID in selection+selection args | |
@Override | |
public Uri insert(@NonNull Uri uri, ContentValues contentValues) { | |
final int match = sUriMatcher.match(uri); | |
switch (match) { | |
case INVENTORY: | |
return insertInventory(uri, contentValues); | |
default: | |
throw new IllegalArgumentException("Insertion is not supported for " + uri); | |
} | |
} | |
private Uri insertInventory(Uri uri, ContentValues values) { | |
String product_name = values.getAsString(StoreContract.ProductEntry.COLUMN_PRODUCT_NAME); | |
if (product_name == null|| TextUtils.isEmpty(product_name)) { | |
Toast.makeText(getContext(), R.string.name_is_required, Toast.LENGTH_SHORT).show(); | |
return null; | |
} | |
String supplier_name = values.getAsString(ProductEntry.COLUMN_SUPPLIER_NAME); | |
if (supplier_name == null|| TextUtils.isEmpty(supplier_name)) { | |
Toast.makeText(getContext(), R.string.supplier_is_required, Toast.LENGTH_SHORT).show(); | |
return null; } | |
Integer supplier_phone_number = values.getAsInteger(StoreContract.ProductEntry.COLUMN_SUPPLIER_PHONE_NUMBER); | |
if (supplier_phone_number == null ) { | |
Toast.makeText(getContext(), R.string.phone_is_required, Toast.LENGTH_SHORT).show(); | |
return null; } | |
Integer quantity = values.getAsInteger(StoreContract.ProductEntry.COLUMN_QUANTITY); | |
if (quantity != null && quantity < 0) { | |
Toast.makeText(getContext(), R.string.requires_valid_quantity, Toast.LENGTH_SHORT).show(); | |
return null; | |
} | |
Integer price = values.getAsInteger(ProductEntry.COLUMN_PRICE); | |
if (price != null && price < 0) { | |
Toast.makeText(getContext(), R.string.requires_valid_price, Toast.LENGTH_SHORT).show(); | |
return null; | |
} | |
SQLiteDatabase database = mDbHelper.getWritableDatabase(); | |
long id = database.insert(StoreContract.ProductEntry.TABLE_NAME, null, values); | |
if (id == -1) { | |
Log.e(LOG_TAG, "Failed to insert row for " + uri); | |
return null; | |
} | |
Objects.requireNonNull(getContext()).getContentResolver().notifyChange(uri, null); | |
return ContentUris.withAppendedId(uri, id); | |
} | |
@Override | |
public int update(@NonNull Uri uri, ContentValues contentValues, String selection, String[] selectionArgs) { | |
Log.d("TAG1", " Store provider URI : "+uri.toString()+"\n"); | |
final int match = sUriMatcher.match(uri); | |
switch (match) { | |
case INVENTORY: | |
return updateProduct(uri, contentValues, selection, selectionArgs); | |
case INVENTORY_ID: | |
selection = StoreContract.ProductEntry._ID + "=?"; | |
selectionArgs = new String[] { String.valueOf(ContentUris.parseId(uri)) }; | |
return updateProduct(uri, contentValues, selection, selectionArgs); | |
default: | |
throw new IllegalArgumentException("Update is not supported for " + uri); | |
} | |
} | |
private int updateProduct(Uri uri, ContentValues values, String selection, String[] selectionArgs) { | |
if (values.containsKey(StoreContract.ProductEntry.COLUMN_PRODUCT_NAME)) { | |
String name = values.getAsString(StoreContract.ProductEntry.COLUMN_PRODUCT_NAME); | |
if (name == null) { | |
throw new IllegalArgumentException(" requires a name"); | |
} | |
} | |
if (values.containsKey(ProductEntry.COLUMN_SUPPLIER_NAME)) { | |
String supllierName = values.getAsString(ProductEntry.COLUMN_SUPPLIER_NAME); | |
if (supllierName == null ) { | |
throw new IllegalArgumentException(" requires valid phone number"); | |
} | |
} | |
if (values.containsKey(StoreContract.ProductEntry.COLUMN_QUANTITY)) { | |
Integer quantity = values.getAsInteger(StoreContract.ProductEntry.COLUMN_QUANTITY); | |
Log.d("TAG1", " Store provider quantity : "+quantity.toString()+"\n"); | |
if (quantity < 0) { | |
throw new IllegalArgumentException("requires valid quantity"); | |
} | |
} | |
if (values.containsKey(ProductEntry.COLUMN_PRICE)) { | |
Integer price = values.getAsInteger(ProductEntry.COLUMN_PRICE); | |
if (price != null && price < 0) { | |
throw new IllegalArgumentException("requires valid quantity"); | |
} | |
} | |
if (values.containsKey(ProductEntry.COLUMN_SUPPLIER_PHONE_NUMBER)) { | |
Integer supllierPhoneNumber = values.getAsInteger(ProductEntry.COLUMN_SUPPLIER_PHONE_NUMBER); | |
if (supllierPhoneNumber != null && supllierPhoneNumber < 0) { | |
throw new IllegalArgumentException("requires valid quantity"); | |
} | |
} | |
if (values.size() == 0) { | |
return 0; | |
} | |
SQLiteDatabase database = mDbHelper.getWritableDatabase(); | |
database.update(StoreContract.ProductEntry.TABLE_NAME, values, selection, selectionArgs); | |
if (values.size() != 0) { | |
Objects.requireNonNull(getContext()).getContentResolver().notifyChange(uri, null); | |
} | |
return values.size(); | |
} | |
@Override | |
public int delete(@NonNull Uri uri, String selection, String[] selectionArgs) { | |
// Get writeable database | |
SQLiteDatabase database = mDbHelper.getWritableDatabase(); | |
// Track the number of rows that were deleted | |
int rowsDeleted; | |
final int match = sUriMatcher.match(uri); | |
switch (match) { | |
case INVENTORY: | |
// Delete all rows that match the selection and selection args | |
rowsDeleted = database.delete(StoreContract.ProductEntry.TABLE_NAME, selection, selectionArgs); | |
break; | |
case INVENTORY_ID: | |
// Delete a single row given by the ID in the URI | |
selection = StoreContract.ProductEntry._ID + "=?"; | |
selectionArgs = new String[] { String.valueOf(ContentUris.parseId(uri)) }; | |
rowsDeleted = database.delete(StoreContract.ProductEntry.TABLE_NAME, selection, selectionArgs); | |
break; | |
default: | |
throw new IllegalArgumentException("Deletion is not supported for " + uri); | |
} | |
// If 1 or more rows were deleted, then notify all listeners that the data at the | |
// given URI has changed | |
if (rowsDeleted != 0) { | |
Objects.requireNonNull(getContext()).getContentResolver().notifyChange(uri, null); | |
} | |
// Return the number of rows deleted | |
return rowsDeleted; | |
} | |
@Override | |
public String getType(@NonNull Uri uri) { | |
final int match = sUriMatcher.match(uri); | |
switch (match) { | |
case INVENTORY: | |
return StoreContract.ProductEntry.CONTENT_LIST_TYPE; | |
case INVENTORY_ID: | |
return ProductEntry.CONTENT_ITEM_TYPE; | |
default: | |
throw new IllegalStateException("Unknown URI " + uri + " with match " + match); | |
} | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
* Copyright (C) 2016 The Android Open Source Project | |
* | |
* Licensed under the Apache License, Version 2.0 (the "License"); | |
* you may not use this file except in compliance with the License. | |
* You may obtain a copy of the License at | |
* | |
* http://www.apache.org/licenses/LICENSE-2.0 | |
* | |
* Unless required by applicable law or agreed to in writing, software | |
* distributed under the License is distributed on an "AS IS" BASIS, | |
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
* See the License for the specific language governing permissions and | |
* limitations under the License. | |
*/ | |
package com.example.android.inventory2; | |
import android.annotation.SuppressLint; | |
import android.app.AlertDialog; | |
import android.app.LoaderManager; | |
import android.content.ContentValues; | |
import android.content.CursorLoader; | |
import android.content.DialogInterface; | |
import android.content.Intent; | |
import android.content.Loader; | |
import android.database.Cursor; | |
import android.net.Uri; | |
import android.os.Bundle; | |
import android.support.v4.app.NavUtils; | |
import android.support.v7.app.AppCompatActivity; | |
import android.text.TextUtils; | |
import android.view.Menu; | |
import android.view.MenuItem; | |
import android.view.MotionEvent; | |
import android.view.View; | |
import android.widget.Button; | |
import android.widget.EditText; | |
import android.widget.ImageButton; | |
import android.widget.Toast; | |
import com.example.android.inventory2.data.StoreContract; | |
import com.example.android.inventory2.data.StoreContract.ProductEntry; | |
public class EditorActivity extends AppCompatActivity implements | |
LoaderManager.LoaderCallbacks<Cursor> { | |
private static final int EXISTING_PRODUCT_LOADER = 0; | |
private Uri mCurrentProductUri; | |
private EditText mProductNameEditText; | |
private EditText mSupplierNmaeEditText; | |
private EditText mQuantityText; | |
private EditText mPrice; | |
private EditText mSupllierPhonenumber; | |
private boolean mProductHasChanged = false; | |
private View.OnTouchListener mTouchListener = new View.OnTouchListener() { | |
@SuppressLint("ClickableViewAccessibility") | |
@Override | |
public boolean onTouch(View view, MotionEvent motionEvent) { | |
mProductHasChanged = true; | |
return false; | |
} | |
}; | |
@SuppressLint("ClickableViewAccessibility") | |
@Override | |
protected void onCreate(Bundle savedInstanceState) { | |
super.onCreate(savedInstanceState); | |
setContentView(R.layout.activity_editor); | |
Intent intent = getIntent(); | |
mCurrentProductUri = intent.getData(); | |
if (mCurrentProductUri == null) { | |
setTitle(getString(R.string.editor_activity_title_new_item)); | |
invalidateOptionsMenu(); | |
} else { | |
setTitle(getString(R.string.editor_activity_title_edit_product)); | |
getLoaderManager().initLoader(EXISTING_PRODUCT_LOADER, null, this); | |
} | |
mProductNameEditText = findViewById(R.id.product_name_edit); | |
mSupplierNmaeEditText = findViewById(R.id.supplier_name_edit); | |
mQuantityText = findViewById(R.id.quantity_edit); | |
mPrice = findViewById(R.id.price_edit); | |
mSupllierPhonenumber = findViewById(R.id.supplier_phone_number_edit); | |
final Button increse = findViewById(R.id.increse); | |
final ImageButton dialer = findViewById(R.id.supplier_phone_number_button); | |
final Button decrese = findViewById(R.id.decrese); | |
dialer.setOnClickListener(new View.OnClickListener() { | |
public void onClick(View v) { | |
dialContactPhone(); | |
} | |
}); | |
increse.setOnClickListener(new View.OnClickListener() { | |
public void onClick(View v) { | |
increase(); | |
} | |
}); | |
decrese.setOnClickListener(new View.OnClickListener() { | |
public void onClick(View v) { | |
decrese(); | |
} | |
}); | |
mProductNameEditText.setOnTouchListener(mTouchListener); | |
mSupplierNmaeEditText.setOnTouchListener(mTouchListener); | |
mQuantityText.setOnTouchListener(mTouchListener); | |
mPrice.setOnTouchListener(mTouchListener); | |
mSupllierPhonenumber.setOnTouchListener(mTouchListener); | |
increse.setOnTouchListener(mTouchListener); | |
decrese.setOnTouchListener(mTouchListener); | |
} | |
private void saveProduct() { | |
String productName = mProductNameEditText.getText().toString().trim(); | |
String supplierName = mSupplierNmaeEditText.getText().toString().trim(); | |
String quantity = mQuantityText.getText().toString().trim(); | |
String price = mPrice.getText().toString().trim(); | |
String supplierPhoneNumber = mSupllierPhonenumber.getText().toString().trim(); | |
if (mCurrentProductUri == null && TextUtils.isEmpty(productName) && TextUtils.isEmpty(supplierName) && | |
TextUtils.isEmpty(quantity) && TextUtils.isEmpty(price) && TextUtils.isEmpty(supplierPhoneNumber)) { | |
return; | |
} | |
ContentValues values = new ContentValues(); | |
values.put(StoreContract.ProductEntry.COLUMN_PRODUCT_NAME, productName); | |
values.put(StoreContract.ProductEntry.COLUMN_SUPPLIER_NAME, supplierName); | |
values.put(ProductEntry.COLUMN_QUANTITY, quantity); | |
values.put(ProductEntry.COLUMN_PRICE, price); | |
values.put(ProductEntry.COLUMN_SUPPLIER_PHONE_NUMBER, supplierPhoneNumber); | |
if (mCurrentProductUri == null) { | |
Uri newUri = getContentResolver().insert(ProductEntry.CONTENT_URI, values); | |
if (newUri == null) { | |
Toast.makeText(this, getString(R.string.editor_insert_product_failed), | |
Toast.LENGTH_SHORT).show(); | |
} else { | |
Toast.makeText(this, getString(R.string.editor_insert_product_successful), | |
Toast.LENGTH_SHORT).show(); | |
} | |
} else { | |
int rowsAffected = getContentResolver().update(mCurrentProductUri, values, null, null); | |
if (rowsAffected == 0) { | |
Toast.makeText(this, getString(R.string.editor_update_product_failed), | |
Toast.LENGTH_SHORT).show(); | |
} else { | |
Toast.makeText(this, getString(R.string.editor_update_product_successful), | |
Toast.LENGTH_SHORT).show(); | |
} | |
} | |
} | |
@Override | |
public boolean onCreateOptionsMenu(Menu menu) { | |
getMenuInflater().inflate(R.menu.menu_editor, menu); | |
return true; | |
} | |
@Override | |
public boolean onPrepareOptionsMenu(Menu menu) { | |
super.onPrepareOptionsMenu(menu); | |
if (mCurrentProductUri == null) { | |
MenuItem menuItem = menu.findItem(R.id.action_delete); | |
menuItem.setVisible(false); | |
} | |
return true; | |
} | |
@Override | |
public boolean onOptionsItemSelected(MenuItem item) { | |
switch (item.getItemId()) { | |
case R.id.action_save: | |
saveProduct(); | |
finish(); | |
return true; | |
case R.id.action_delete: | |
showDeleteConfirmationDialog(); | |
return true; | |
case android.R.id.home: | |
if (!mProductHasChanged) { | |
NavUtils.navigateUpFromSameTask(EditorActivity.this); | |
return true; | |
} | |
DialogInterface.OnClickListener discardButtonClickListener = | |
new DialogInterface.OnClickListener() { | |
@Override | |
public void onClick(DialogInterface dialogInterface, int i) { | |
NavUtils.navigateUpFromSameTask(EditorActivity.this); | |
} | |
}; | |
showUnsavedChangesDialog(discardButtonClickListener); | |
return true; | |
} | |
return super.onOptionsItemSelected(item); | |
} | |
@Override | |
public void onBackPressed() { | |
if (!mProductHasChanged) { | |
super.onBackPressed(); | |
return; | |
} | |
DialogInterface.OnClickListener discardButtonClickListener = | |
new DialogInterface.OnClickListener() { | |
@Override | |
public void onClick(DialogInterface dialogInterface, int i) { | |
finish(); | |
} | |
}; | |
showUnsavedChangesDialog(discardButtonClickListener); | |
} | |
@Override | |
public Loader<Cursor> onCreateLoader(int i, Bundle bundle) { | |
return new CursorLoader(this, mCurrentProductUri, null, null, null, null); | |
} | |
@Override | |
public void onLoadFinished(Loader<Cursor> loader, Cursor cursor) { | |
if (cursor == null || cursor.getCount() < 1) { | |
return; | |
} | |
if (cursor.moveToFirst()) { | |
int productNameColumnIndex = cursor.getColumnIndex(ProductEntry.COLUMN_PRODUCT_NAME); | |
int supllierNameColumnIndex = cursor.getColumnIndex(ProductEntry.COLUMN_SUPPLIER_NAME); | |
int quantityColumnIndex = cursor.getColumnIndex(ProductEntry.COLUMN_QUANTITY); | |
int priceColumnIndex = cursor.getColumnIndex(ProductEntry.COLUMN_PRICE); | |
int supplierPhonenumberColumnIndex = cursor.getColumnIndex(ProductEntry.COLUMN_SUPPLIER_PHONE_NUMBER); | |
String productName = cursor.getString(productNameColumnIndex); | |
String supplierName = cursor.getString(supllierNameColumnIndex); | |
String quantity = cursor.getString(quantityColumnIndex); | |
String price = cursor.getString(priceColumnIndex); | |
String supplierPhoneNumber = cursor.getString(supplierPhonenumberColumnIndex); | |
mProductNameEditText.setText(productName); | |
mSupplierNmaeEditText.setText(supplierName); | |
mQuantityText.setText(quantity); | |
mPrice.setText(price); | |
mSupllierPhonenumber.setText(supplierPhoneNumber); | |
} | |
} | |
@Override | |
public void onLoaderReset(Loader<Cursor> loader) { | |
mProductNameEditText.setText(""); | |
mSupplierNmaeEditText.setText(""); | |
mQuantityText.setText(""); | |
mPrice.setText(""); | |
mSupllierPhonenumber.setText(""); | |
} | |
private void showUnsavedChangesDialog( | |
DialogInterface.OnClickListener discardButtonClickListener) { | |
AlertDialog.Builder builder = new AlertDialog.Builder(this); | |
builder.setMessage(R.string.unsaved_changes_dialog_msg); | |
builder.setPositiveButton(R.string.discard, discardButtonClickListener); | |
builder.setNegativeButton(R.string.keep_editing, new DialogInterface.OnClickListener() { | |
public void onClick(DialogInterface dialog, int id) { | |
if (dialog != null) { | |
dialog.dismiss(); | |
} | |
} | |
}); | |
AlertDialog alertDialog = builder.create(); | |
alertDialog.show(); | |
} | |
private void showDeleteConfirmationDialog() { | |
AlertDialog.Builder builder = new AlertDialog.Builder(this); | |
builder.setMessage(R.string.delete_dialog_msg); | |
builder.setPositiveButton(R.string.delete, new DialogInterface.OnClickListener() { | |
public void onClick(DialogInterface dialog, int id) { | |
deleteProduct(); | |
} | |
}); | |
builder.setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() { | |
public void onClick(DialogInterface dialog, int id) { | |
if (dialog != null) { | |
dialog.dismiss(); | |
} | |
} | |
}); | |
AlertDialog alertDialog = builder.create(); | |
alertDialog.show(); | |
} | |
private void deleteProduct() { | |
if (mCurrentProductUri != null) { | |
int rowsDeleted = getContentResolver().delete(mCurrentProductUri, null, null); | |
if (rowsDeleted == 0) { | |
Toast.makeText(this, getString(R.string.editor_delete_product_failed), | |
Toast.LENGTH_SHORT).show(); | |
} else { | |
Toast.makeText(this, getString(R.string.editor_delete_product_successful), | |
Toast.LENGTH_SHORT).show(); | |
} | |
} | |
finish(); | |
} | |
public void dialContactPhone() { | |
String supplierPhoneNumber = mSupllierPhonenumber.getText().toString().trim(); | |
startActivity(new Intent(Intent.ACTION_DIAL, Uri.fromParts("tel", supplierPhoneNumber, null))); | |
} | |
@SuppressLint("SetTextI18n") | |
public void increase() { | |
String quantity2 = mQuantityText.getText().toString(); | |
if (!TextUtils.isEmpty(quantity2)) { | |
int quantity = Integer.parseInt(mQuantityText.getText().toString()); | |
quantity++; | |
mQuantityText.setText(Integer.toString(quantity)); | |
} else { | |
Toast.makeText(this, getString(R.string.plaese_enter_value), Toast.LENGTH_SHORT).show(); | |
} | |
} | |
@SuppressLint("SetTextI18n") | |
public void decrese() { | |
String quantity2 = mQuantityText.getText().toString(); | |
if (!TextUtils.isEmpty(quantity2)) { | |
int quantity = Integer.parseInt(mQuantityText.getText().toString()); | |
if (quantity > 0 && mQuantityText != null) { | |
quantity--; | |
mQuantityText.setText(Integer.toString(quantity)); | |
} else { | |
Toast.makeText(this, getString(R.string.cant_be_under_0), Toast.LENGTH_SHORT).show(); | |
} | |
} else { | |
Toast.makeText(this, getString(R.string.plaese_enter_value), Toast.LENGTH_SHORT).show(); | |
} | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
* Copyright (C) 2016 The Android Open Source Project | |
* | |
* Licensed under the Apache License, Version 2.0 (the "License"); | |
* you may not use this file except in compliance with the License. | |
* You may obtain a copy of the License at | |
* | |
* http://www.apache.org/licenses/LICENSE-2.0 | |
* | |
* Unless required by applicable law or agreed to in writing, software | |
* distributed under the License is distributed on an "AS IS" BASIS, | |
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
* See the License for the specific language governing permissions and | |
* limitations under the License. | |
*/ | |
package com.example.android.inventory2; | |
import android.content.ContentUris; | |
import android.content.ContentValues; | |
import android.content.Context; | |
import android.database.Cursor; | |
import android.net.Uri; | |
import android.view.LayoutInflater; | |
import android.view.View; | |
import android.view.ViewGroup; | |
import android.widget.Button; | |
import android.widget.CursorAdapter; | |
import android.widget.TextView; | |
import android.widget.Toast; | |
import com.example.android.inventory2.data.StoreContract; | |
public class StoreCursorAdapter extends CursorAdapter { | |
StoreCursorAdapter(Context context, Cursor c) { | |
super(context, c, 0 ); | |
} | |
@Override | |
public View newView(Context context, Cursor cursor, ViewGroup parent) { | |
return LayoutInflater.from(context).inflate(R.layout.list_item, parent, false); | |
} | |
@Override | |
public void bindView(View view, final Context context, Cursor cursor) { | |
TextView productNameTextView = view.findViewById(R.id.product_name); | |
TextView supplierNameTextView = view.findViewById(R.id.supplier_name); | |
TextView supplierPhoneNumberTextView = view.findViewById(R.id.supplier_phone_number); | |
TextView quantityTextView = view.findViewById(R.id.quantity); | |
TextView priceTextView = view.findViewById(R.id.price); | |
final Button sale = view.findViewById(R.id.sale); | |
int storeProductColumnIndex = cursor.getColumnIndex(StoreContract.ProductEntry.COLUMN_PRODUCT_NAME); | |
int supplierNameColumnIndex = cursor.getColumnIndex(StoreContract.ProductEntry.COLUMN_SUPPLIER_NAME); | |
int supplierPhoneNumberColumnIndex = cursor.getColumnIndex(StoreContract.ProductEntry.COLUMN_SUPPLIER_PHONE_NUMBER); | |
final int quantityColumnIndex = cursor.getColumnIndex(StoreContract.ProductEntry.COLUMN_QUANTITY); | |
int priceColumnIndex = cursor.getColumnIndex(StoreContract.ProductEntry.COLUMN_PRICE); | |
int idColumnIndex = cursor.getColumnIndex(StoreContract.ProductEntry._ID); | |
String currentProductName = cursor.getString(storeProductColumnIndex); | |
String currentSupplierName = cursor.getString(supplierNameColumnIndex); | |
String currentSupplierPhoneNumber = cursor.getString(supplierPhoneNumberColumnIndex); | |
final int currentQuantity = cursor.getInt(quantityColumnIndex); | |
String currentprice = cursor.getString(priceColumnIndex); | |
final int currentId = cursor.getInt(idColumnIndex); | |
productNameTextView.setText(currentProductName); | |
supplierNameTextView.setText(currentSupplierName); | |
supplierPhoneNumberTextView.setText(currentSupplierPhoneNumber); | |
quantityTextView.setText(Integer.toString(currentQuantity)); | |
priceTextView.setText(currentprice); | |
sale.setOnClickListener(new View.OnClickListener() { | |
@Override | |
public void onClick(View v) { | |
if (currentQuantity > 0) { | |
final Uri mCurrentProductUri = ContentUris.withAppendedId(StoreContract.ProductEntry.CONTENT_URI, currentId); | |
int mid = currentQuantity; | |
mid--; | |
ContentValues values = new ContentValues(); | |
values.put(StoreContract.ProductEntry.COLUMN_QUANTITY, mid); | |
context.getContentResolver().update(mCurrentProductUri, values, null, null); | |
} else { | |
Toast.makeText(context, R.string.product_out_of_stock, Toast.LENGTH_SHORT).show(); | |
} | |
} | |
}); | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<vector xmlns:android="http://schemas.android.com/apk/res/android" | |
xmlns:aapt="http://schemas.android.com/aapt" | |
android:width="108dp" | |
android:height="108dp" | |
android:viewportHeight="108" | |
android:viewportWidth="108"> | |
<path | |
android:fillType="evenOdd" | |
android:pathData="M32,64C32,64 38.39,52.99 44.13,50.95C51.37,48.37 70.14,49.57 70.14,49.57L108.26,87.69L108,109.01L75.97,107.97L32,64Z" | |
android:strokeColor="#00000000" | |
android:strokeWidth="1"> | |
<aapt:attr name="android:fillColor"> | |
<gradient | |
android:endX="78.5885" | |
android:endY="90.9159" | |
android:startX="48.7653" | |
android:startY="61.0927" | |
android:type="linear"> | |
<item | |
android:color="#44000000" | |
android:offset="0.0" /> | |
<item | |
android:color="#00000000" | |
android:offset="1.0" /> | |
</gradient> | |
</aapt:attr> | |
</path> | |
<path | |
android:fillColor="#FFFFFF" | |
android:fillType="nonZero" | |
android:pathData="M66.94,46.02L66.94,46.02C72.44,50.07 76,56.61 76,64L32,64C32,56.61 35.56,50.11 40.98,46.06L36.18,41.19C35.45,40.45 35.45,39.3 36.18,38.56C36.91,37.81 38.05,37.81 38.78,38.56L44.25,44.05C47.18,42.57 50.48,41.71 54,41.71C57.48,41.71 60.78,42.57 63.68,44.05L69.11,38.56C69.84,37.81 70.98,37.81 71.71,38.56C72.44,39.3 72.44,40.45 71.71,41.19L66.94,46.02ZM62.94,56.92C64.08,56.92 65,56.01 65,54.88C65,53.76 64.08,52.85 62.94,52.85C61.8,52.85 60.88,53.76 60.88,54.88C60.88,56.01 61.8,56.92 62.94,56.92ZM45.06,56.92C46.2,56.92 47.13,56.01 47.13,54.88C47.13,53.76 46.2,52.85 45.06,52.85C43.92,52.85 43,53.76 43,54.88C43,56.01 43.92,56.92 45.06,56.92Z" | |
android:strokeColor="#00000000" | |
android:strokeWidth="1" /> | |
</vector> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="utf-8"?> | |
<vector xmlns:android="http://schemas.android.com/apk/res/android" | |
android:width="108dp" | |
android:height="108dp" | |
android:viewportHeight="108" | |
android:viewportWidth="108"> | |
<path | |
android:fillColor="#26A69A" | |
android:pathData="M0,0h108v108h-108z" /> | |
<path | |
android:fillColor="#00000000" | |
android:pathData="M9,0L9,108" | |
android:strokeColor="#33FFFFFF" | |
android:strokeWidth="0.8" /> | |
<path | |
android:fillColor="#00000000" | |
android:pathData="M19,0L19,108" | |
android:strokeColor="#33FFFFFF" | |
android:strokeWidth="0.8" /> | |
<path | |
android:fillColor="#00000000" | |
android:pathData="M29,0L29,108" | |
android:strokeColor="#33FFFFFF" | |
android:strokeWidth="0.8" /> | |
<path | |
android:fillColor="#00000000" | |
android:pathData="M39,0L39,108" | |
android:strokeColor="#33FFFFFF" | |
android:strokeWidth="0.8" /> | |
<path | |
android:fillColor="#00000000" | |
android:pathData="M49,0L49,108" | |
android:strokeColor="#33FFFFFF" | |
android:strokeWidth="0.8" /> | |
<path | |
android:fillColor="#00000000" | |
android:pathData="M59,0L59,108" | |
android:strokeColor="#33FFFFFF" | |
android:strokeWidth="0.8" /> | |
<path | |
android:fillColor="#00000000" | |
android:pathData="M69,0L69,108" | |
android:strokeColor="#33FFFFFF" | |
android:strokeWidth="0.8" /> | |
<path | |
android:fillColor="#00000000" | |
android:pathData="M79,0L79,108" | |
android:strokeColor="#33FFFFFF" | |
android:strokeWidth="0.8" /> | |
<path | |
android:fillColor="#00000000" | |
android:pathData="M89,0L89,108" | |
android:strokeColor="#33FFFFFF" | |
android:strokeWidth="0.8" /> | |
<path | |
android:fillColor="#00000000" | |
android:pathData="M99,0L99,108" | |
android:strokeColor="#33FFFFFF" | |
android:strokeWidth="0.8" /> | |
<path | |
android:fillColor="#00000000" | |
android:pathData="M0,9L108,9" | |
android:strokeColor="#33FFFFFF" | |
android:strokeWidth="0.8" /> | |
<path | |
android:fillColor="#00000000" | |
android:pathData="M0,19L108,19" | |
android:strokeColor="#33FFFFFF" | |
android:strokeWidth="0.8" /> | |
<path | |
android:fillColor="#00000000" | |
android:pathData="M0,29L108,29" | |
android:strokeColor="#33FFFFFF" | |
android:strokeWidth="0.8" /> | |
<path | |
android:fillColor="#00000000" | |
android:pathData="M0,39L108,39" | |
android:strokeColor="#33FFFFFF" | |
android:strokeWidth="0.8" /> | |
<path | |
android:fillColor="#00000000" | |
android:pathData="M0,49L108,49" | |
android:strokeColor="#33FFFFFF" | |
android:strokeWidth="0.8" /> | |
<path | |
android:fillColor="#00000000" | |
android:pathData="M0,59L108,59" | |
android:strokeColor="#33FFFFFF" | |
android:strokeWidth="0.8" /> | |
<path | |
android:fillColor="#00000000" | |
android:pathData="M0,69L108,69" | |
android:strokeColor="#33FFFFFF" | |
android:strokeWidth="0.8" /> | |
<path | |
android:fillColor="#00000000" | |
android:pathData="M0,79L108,79" | |
android:strokeColor="#33FFFFFF" | |
android:strokeWidth="0.8" /> | |
<path | |
android:fillColor="#00000000" | |
android:pathData="M0,89L108,89" | |
android:strokeColor="#33FFFFFF" | |
android:strokeWidth="0.8" /> | |
<path | |
android:fillColor="#00000000" | |
android:pathData="M0,99L108,99" | |
android:strokeColor="#33FFFFFF" | |
android:strokeWidth="0.8" /> | |
<path | |
android:fillColor="#00000000" | |
android:pathData="M19,29L89,29" | |
android:strokeColor="#33FFFFFF" | |
android:strokeWidth="0.8" /> | |
<path | |
android:fillColor="#00000000" | |
android:pathData="M19,39L89,39" | |
android:strokeColor="#33FFFFFF" | |
android:strokeWidth="0.8" /> | |
<path | |
android:fillColor="#00000000" | |
android:pathData="M19,49L89,49" | |
android:strokeColor="#33FFFFFF" | |
android:strokeWidth="0.8" /> | |
<path | |
android:fillColor="#00000000" | |
android:pathData="M19,59L89,59" | |
android:strokeColor="#33FFFFFF" | |
android:strokeWidth="0.8" /> | |
<path | |
android:fillColor="#00000000" | |
android:pathData="M19,69L89,69" | |
android:strokeColor="#33FFFFFF" | |
android:strokeWidth="0.8" /> | |
<path | |
android:fillColor="#00000000" | |
android:pathData="M19,79L89,79" | |
android:strokeColor="#33FFFFFF" | |
android:strokeWidth="0.8" /> | |
<path | |
android:fillColor="#00000000" | |
android:pathData="M29,19L29,89" | |
android:strokeColor="#33FFFFFF" | |
android:strokeWidth="0.8" /> | |
<path | |
android:fillColor="#00000000" | |
android:pathData="M39,19L39,89" | |
android:strokeColor="#33FFFFFF" | |
android:strokeWidth="0.8" /> | |
<path | |
android:fillColor="#00000000" | |
android:pathData="M49,19L49,89" | |
android:strokeColor="#33FFFFFF" | |
android:strokeWidth="0.8" /> | |
<path | |
android:fillColor="#00000000" | |
android:pathData="M59,19L59,89" | |
android:strokeColor="#33FFFFFF" | |
android:strokeWidth="0.8" /> | |
<path | |
android:fillColor="#00000000" | |
android:pathData="M69,19L69,89" | |
android:strokeColor="#33FFFFFF" | |
android:strokeWidth="0.8" /> | |
<path | |
android:fillColor="#00000000" | |
android:pathData="M79,19L79,89" | |
android:strokeColor="#33FFFFFF" | |
android:strokeWidth="0.8" /> | |
</vector> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="utf-8"?> | |
<!-- Copyright (C) 2016 The Android Open Source Project | |
Licensed under the Apache License, Version 2.0 (the "License"); | |
you may not use this file except in compliance with the License. | |
You may obtain a copy of the License at | |
http://www.apache.org/licenses/LICENSE-2.0 | |
Unless required by applicable law or agreed to in writing, software | |
distributed under the License is distributed on an "AS IS" BASIS, | |
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
See the License for the specific language governing permissions and | |
limitations under the License. | |
--> | |
<!-- Layout for the list of inventory --> | |
<RelativeLayout | |
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" | |
android:layout_width="match_parent" | |
android:layout_height="match_parent" | |
android:background="@color/yellow_editor" | |
tools:context=".CatalogActivity"> | |
<android.support.v4.widget.SwipeRefreshLayout xmlns:android="http://schemas.android.com/apk/res/android" | |
android:id="@+id/swiperefresh" | |
android:layout_width="match_parent" | |
android:layout_height="match_parent"> | |
<ListView | |
android:id="@+id/list" | |
android:layout_width="match_parent" | |
android:layout_height="match_parent"/> | |
</android.support.v4.widget.SwipeRefreshLayout> | |
<!-- Empty view for the list --> | |
<RelativeLayout | |
android:id="@+id/empty_view" | |
android:layout_width="match_parent" | |
android:layout_height="match_parent" | |
android:background="@color/yellow" | |
android:layout_centerInParent="true"> | |
<ImageView | |
android:id="@+id/empty_shelter_image" | |
android:layout_width="wrap_content" | |
android:layout_height="wrap_content" | |
android:scaleType="fitStart" | |
android:src="@drawable/productempty" | |
android:contentDescription="@string/image_for_empty_page" /> | |
<TextView | |
android:id="@+id/empty_title_text" | |
android:layout_width="wrap_content" | |
android:layout_height="wrap_content" | |
android:layout_below="@+id/empty_shelter_image" | |
android:layout_centerHorizontal="true" | |
android:fontFamily="sans-serif-medium" | |
android:paddingTop="16dp" | |
android:text="@string/empty_view_title_text" | |
android:textAppearance="?android:textAppearanceMedium"/> | |
<TextView | |
android:id="@+id/empty_subtitle_text" | |
android:layout_width="wrap_content" | |
android:layout_height="wrap_content" | |
android:layout_below="@+id/empty_title_text" | |
android:layout_centerHorizontal="true" | |
android:fontFamily="sans-serif" | |
android:paddingTop="8dp" | |
android:text="@string/empty_view_subtitle_text" | |
android:textAppearance="?android:textAppearanceSmall" | |
android:textColor="#A2AAB0"/> | |
</RelativeLayout> | |
<android.support.design.widget.FloatingActionButton | |
android:id="@+id/fab" | |
android:layout_width="wrap_content" | |
android:layout_height="wrap_content" | |
android:layout_alignParentBottom="true" | |
android:layout_alignParentEnd="true" | |
android:layout_margin="@dimen/fab_margin" | |
android:src="@drawable/productfab" | |
app:backgroundTint="@android:color/holo_blue_bright" /> | |
</RelativeLayout> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="utf-8"?> | |
<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:background="@color/yellow_editor" | |
android:orientation="vertical" | |
android:padding="@dimen/activity_margin" | |
tools:context=".EditorActivity"> | |
<ImageView | |
android:layout_width="wrap_content" | |
android:layout_height="wrap_content" | |
android:src="@drawable/producttop" | |
tools:ignore="product top" | |
android:contentDescription="@string/product_top" /> | |
<LinearLayout | |
android:layout_width="match_parent" | |
android:layout_height="wrap_content" | |
android:orientation="horizontal"> | |
<TextView | |
style="@style/CategoryStyle" | |
android:text="@string/product_name" /> | |
<LinearLayout | |
android:layout_width="0dp" | |
android:layout_height="wrap_content" | |
android:layout_weight="2" | |
android:orientation="vertical" | |
android:paddingStart="4dp" | |
tools:ignore="RtlSymmetry"> | |
<EditText | |
android:id="@+id/product_name_edit" | |
style="@style/EditorFieldStyle" | |
android:inputType="textCapWords" | |
android:hint="@string/please_enter_product_name" | |
/> | |
</LinearLayout> | |
</LinearLayout> | |
<LinearLayout | |
android:layout_width="match_parent" | |
android:layout_height="wrap_content" | |
android:orientation="horizontal"> | |
<TextView | |
style="@style/CategoryStyle" | |
android:text="@string/supplier_name" /> | |
<LinearLayout | |
android:layout_width="0dp" | |
android:layout_height="wrap_content" | |
android:layout_weight="2" | |
android:orientation="vertical" | |
android:paddingStart="4dp" | |
tools:ignore="RtlSymmetry"> | |
<EditText | |
android:id="@+id/supplier_name_edit" | |
style="@style/EditorFieldStyle" | |
android:hint="@string/please_enter_supplier_name" | |
android:inputType="textCapSentences" /> | |
</LinearLayout> | |
</LinearLayout> | |
<LinearLayout | |
android:layout_width="match_parent" | |
android:layout_height="wrap_content" | |
android:orientation="horizontal"> | |
<TextView | |
style="@style/CategoryStyle" | |
android:text="@string/quantity" /> | |
<Button | |
android:id="@+id/increse" | |
android:layout_width="40dp" | |
android:layout_height="40dp" | |
android:text="+" /> | |
<LinearLayout | |
android:layout_width="0dp" | |
android:layout_height="wrap_content" | |
android:layout_weight="2" | |
android:orientation="vertical" | |
android:paddingStart="4dp" | |
tools:ignore="RtlSymmetry"> | |
<EditText | |
android:id="@+id/quantity_edit" | |
style="@style/EditorFieldStyle" | |
android:inputType="number" | |
android:text="@string/_0" | |
android:hint="@string/please_enter_quantity" | |
/> | |
</LinearLayout> | |
<Button | |
android:id="@+id/decrese" | |
android:layout_width="40dp" | |
android:layout_height="40dp" | |
android:text="-" /> | |
</LinearLayout> | |
<LinearLayout | |
android:layout_width="match_parent" | |
android:layout_height="wrap_content" | |
android:orientation="horizontal"> | |
<TextView | |
style="@style/CategoryStyle" | |
android:text="@string/price" /> | |
<LinearLayout | |
android:layout_width="0dp" | |
android:layout_height="wrap_content" | |
android:layout_weight="2" | |
android:orientation="vertical" | |
android:paddingStart="4dp" | |
tools:ignore="RtlSymmetry"> | |
<EditText | |
android:id="@+id/price_edit" | |
style="@style/EditorFieldStyle" | |
android:inputType="number" | |
android:hint="@string/please_enter_price" | |
/> | |
</LinearLayout> | |
</LinearLayout> | |
<LinearLayout | |
android:layout_width="match_parent" | |
android:layout_height="wrap_content" | |
android:orientation="horizontal"> | |
<TextView | |
style="@style/CategoryStyle" | |
android:text="@string/supplier_phone_number" /> | |
<LinearLayout | |
android:layout_width="0dp" | |
android:layout_height="wrap_content" | |
android:layout_weight="2" | |
android:orientation="vertical" | |
android:paddingStart="4dp" | |
tools:ignore="RtlSymmetry"> | |
<EditText | |
android:id="@+id/supplier_phone_number_edit" | |
style="@style/EditorFieldStyle" | |
android:inputType="phone" | |
android:hint="@string/please_enter_supplier_phone_number" | |
/> | |
</LinearLayout> | |
<ImageButton | |
android:id="@+id/supplier_phone_number_button" | |
android:layout_width="50dp" | |
android:layout_height="50dp" | |
android:scaleType="centerCrop" | |
android:src="@drawable/dailer" | |
android:text="@string/contact_supplier" | |
android:contentDescription="@string/contact_supplier" /> | |
</LinearLayout> | |
<ImageView | |
android:layout_width="match_parent" | |
android:layout_height="wrap_content" | |
android:scaleType="fitXY" | |
android:src="@drawable/producteditorimage" | |
android:contentDescription="@string/product_editor_image" /> | |
</LinearLayout> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="utf-8"?> | |
<LinearLayout | |
xmlns:android="http://schemas.android.com/apk/res/android" | |
android:layout_width="match_parent" | |
android:layout_height="wrap_content" | |
android:descendantFocusability="blocksDescendants" | |
android:orientation="vertical" | |
android:padding="@dimen/activity_margin"> | |
<LinearLayout | |
android:layout_width="match_parent" | |
android:layout_height="wrap_content" | |
android:orientation="vertical" | |
android:padding="@dimen/activity_margin"> | |
<TextView | |
android:id="@+id/product_name" | |
android:layout_width="wrap_content" | |
android:layout_height="wrap_content" | |
android:fontFamily="sans-serif-medium" | |
android:textAppearance="?android:textAppearanceMedium" | |
android:textColor="#2B3D4D" | |
/> | |
<TextView | |
android:id="@+id/supplier_name" | |
android:layout_width="wrap_content" | |
android:layout_height="wrap_content" | |
android:fontFamily="sans-serif" | |
android:textAppearance="?android:textAppearanceSmall" | |
android:textColor="#AEB6BD" | |
/> | |
<TextView | |
android:id="@+id/supplier_phone_number" | |
android:layout_width="wrap_content" | |
android:layout_height="wrap_content" | |
android:fontFamily="sans-serif" | |
android:textAppearance="?android:textAppearanceSmall" | |
android:textColor="#AEB6BD" | |
/> | |
<TextView | |
android:id="@+id/quantity" | |
android:layout_width="wrap_content" | |
android:layout_height="wrap_content" | |
android:fontFamily="sans-serif" | |
android:textAppearance="?android:textAppearanceSmall" | |
android:textColor="#AEB6BD" | |
/> | |
<TextView | |
android:id="@+id/price" | |
android:layout_width="wrap_content" | |
android:layout_height="wrap_content" | |
android:fontFamily="sans-serif" | |
android:textAppearance="?android:textAppearanceSmall" | |
android:textColor="#AEB6BD" | |
/> | |
</LinearLayout> | |
<Button | |
android:id="@+id/sale" | |
android:layout_width="wrap_content" | |
android:layout_height="wrap_content" | |
android:fontFamily="sans-serif" | |
android:textAppearance="?android:textAppearanceSmall" | |
android:textColor="#AEB6BD" | |
android:text="sale"/> | |
</LinearLayout> | |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="utf-8"?> | |
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android"> | |
<background android:drawable="@drawable/ic_launcher_background" /> | |
<foreground android:drawable="@drawable/ic_launcher_foreground" /> | |
</adaptive-icon> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="utf-8"?> | |
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android"> | |
<background android:drawable="@drawable/ic_launcher_background" /> | |
<foreground android:drawable="@drawable/ic_launcher_foreground" /> | |
</adaptive-icon> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="utf-8"?> | |
<resources> | |
<color name="colorPrimary">#F0514B</color> | |
<color name="colorPrimaryDark">#C0403C</color> | |
<color name="colorAccent">#F0514B</color> | |
<color name="editorColorPrimary">#2D3640</color> | |
<color name="editorColorPrimaryDark">#394450</color> | |
<color name="yellow">#f0cd6e</color> | |
<color name="yellow_editor">#7bf0cd6e</color> | |
</resources> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<resources> | |
<dimen name="fab_margin">16dp</dimen> | |
<dimen name="activity_margin">16dp</dimen> | |
</resources> | |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="utf-8"?> | |
<resources> | |
<string name="app_name">products</string> | |
<string name="action_insert_dummy_data">Insert Dummy Data</string> | |
<string name="action_delete_all_entries">Delete All products</string> | |
<string name="empty_view_title_text">It\'s a bit lonely here…</string> | |
<string name="empty_view_subtitle_text">Get started by adding a product</string> | |
<string name="editor_activity_title_new_item">Add product</string> | |
<string name="editor_activity_title_edit_product">Edit product</string> | |
<string name="action_save">Save</string> | |
<string name="action_delete">Delete</string> | |
<string name="editor_insert_product_successful">product saved</string> | |
<string name="editor_insert_product_failed">Error with saving product</string> | |
<string name="editor_update_product_successful">product updated</string> | |
<string name="editor_update_product_failed">Error with updating product</string> | |
<string name="unsaved_changes_dialog_msg">Discard your changes and quit editing?</string> | |
<string name="discard">Discard</string> | |
<string name="keep_editing">Keep Editing</string> | |
<string name="editor_delete_product_successful">product deleted</string> | |
<string name="editor_delete_product_failed">Error with deleting product</string> | |
<string name="delete_dialog_msg">Delete this product?</string> | |
<string name="delete">Delete</string> | |
<string name="cancel">Cancel</string> | |
<string name="refreshed_successfully">refreshed successfully</string> | |
<string name="quantity_zero">quantity is zero</string> | |
<string name="product_out_of_stock">product can\'t be zero need to add some more</string> | |
<string name="cant_be_under_0">can\'t be under 0</string> | |
<string name="name_is_required">Name is required</string> | |
<string name="number_is_required">Number is required</string> | |
<string name="phone_is_required">phone is required</string> | |
<string name="supplier_is_required">supplier is required</string> | |
<string name="requires_valid_quantity">requires valid quantity</string> | |
<string name="requires_valid_price"> requires valid price</string> | |
<string name="plaese_enter_value">plaese enter value</string> | |
<string name="quantity">quantity</string> | |
<string name="product_name">product name</string> | |
<string name="supplier_name">supplier name</string> | |
<string name="supplier_phone_number">supplier phone number</string> | |
<string name="product_top">product top</string> | |
<string name="product_editor_image">product editor image</string> | |
<string name="contact_supplier">contact supplier</string> | |
<string name="_0">0</string> | |
<string name="please_enter_product_name">please enter product name</string> | |
<string name="please_enter_supplier_name">please enter supplier name</string> | |
<string name="please_enter_quantity">please enter quantity</string> | |
<string name="price">price</string> | |
<string name="please_enter_price">please enter price</string> | |
<string name="please_enter_supplier_phone_number">please enter supplier phone number</string> | |
<string name="image_for_empty_page">image for empty page</string> | |
</resources> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="utf-8"?> | |
<!-- Copyright (C) 2016 The Android Open Source Project | |
Licensed under the Apache License, Version 2.0 (the "License"); | |
you may not use this file except in compliance with the License. | |
You may obtain a copy of the License at | |
http://www.apache.org/licenses/LICENSE-2.0 | |
Unless required by applicable law or agreed to in writing, software | |
distributed under the License is distributed on an "AS IS" BASIS, | |
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
See the License for the specific language governing permissions and | |
limitations under the License. | |
--> | |
<resources> | |
<!-- Base application theme --> | |
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> | |
<item name="colorPrimary">@color/colorPrimary</item> | |
<item name="colorPrimaryDark">@color/colorPrimaryDark</item> | |
<item name="colorAccent">@color/colorAccent</item> | |
</style> | |
<!-- Theme of the editor --> | |
<style name="EditorTheme" parent="Theme.AppCompat.Light.DarkActionBar"> | |
<item name="colorPrimary">@color/editorColorPrimary</item> | |
<item name="colorPrimaryDark">@color/editorColorPrimaryDark</item> | |
<item name="colorAccent">@color/colorAccent</item> | |
</style> | |
<!-- Style for a category in the editor --> | |
<style name="CategoryStyle"> | |
<item name="android:layout_height">wrap_content</item> | |
<item name="android:layout_width">0dp</item> | |
<item name="android:layout_weight">1</item> | |
<item name="android:paddingTop">16dp</item> | |
<item name="android:textColor">@color/colorAccent</item> | |
<item name="android:fontFamily">sans-serif-medium</item> | |
<item name="android:textAppearance">?android:textAppearanceSmall</item> | |
</style> | |
<!-- Style for an EditText field in the editor --> | |
<style name="EditorFieldStyle"> | |
<item name="android:layout_height">wrap_content</item> | |
<item name="android:layout_width">match_parent</item> | |
<item name="android:fontFamily">sans-serif-light</item> | |
<item name="android:textAppearance">?android:textAppearanceMedium</item> | |
</style> | |
<!-- Style for the measurement units for an EditText field in the editor --> | |
<style name="EditorUnitsStyle"> | |
<item name="android:layout_height">wrap_content</item> | |
<item name="android:layout_width">wrap_content</item> | |
<item name="android:layout_alignParentRight">true</item> | |
<item name="android:paddingRight">16dp</item> | |
<item name="android:paddingTop">16dp</item> | |
<item name="android:textAppearance">?android:textAppearanceSmall</item> | |
</style> | |
</resources> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Top-level build file where you can add configuration options common to all sub-projects/modules. | |
buildscript { | |
repositories { | |
google() | |
jcenter() | |
} | |
dependencies { | |
classpath 'com.android.tools.build:gradle:3.1.2' | |
// NOTE: Do not place your application dependencies here; they belong | |
// in the individual module build.gradle files | |
} | |
} | |
allprojects { | |
repositories { | |
google() | |
jcenter() | |
} | |
} | |
task clean(type: Delete) { | |
delete rootProject.buildDir | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Project-wide Gradle settings. | |
# IDE (e.g. Android Studio) users: | |
# Gradle settings configured through the IDE *will override* | |
# any settings specified in this file. | |
# For more details on how to configure your build environment visit | |
# http://www.gradle.org/docs/current/userguide/build_environment.html | |
# Specifies the JVM arguments used for the daemon process. | |
# The setting is particularly useful for tweaking memory settings. | |
org.gradle.jvmargs=-Xmx1536m | |
# When configured, Gradle will run in incubating parallel mode. | |
# This option should only be used with decoupled projects. More details, visit | |
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects | |
# org.gradle.parallel=true |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#Mon Jul 02 02:41:22 IDT 2018 | |
distributionBase=GRADLE_USER_HOME | |
distributionPath=wrapper/dists | |
zipStoreBase=GRADLE_USER_HOME | |
zipStorePath=wrapper/dists | |
distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.zip |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env sh | |
############################################################################## | |
## | |
## Gradle start up script for UN*X | |
## | |
############################################################################## | |
# Attempt to set APP_HOME | |
# Resolve links: $0 may be a link | |
PRG="$0" | |
# Need this for relative symlinks. | |
while [ -h "$PRG" ] ; do | |
ls=`ls -ld "$PRG"` | |
link=`expr "$ls" : '.*-> \(.*\)$'` | |
if expr "$link" : '/.*' > /dev/null; then | |
PRG="$link" | |
else | |
PRG=`dirname "$PRG"`"/$link" | |
fi | |
done | |
SAVED="`pwd`" | |
cd "`dirname \"$PRG\"`/" >/dev/null | |
APP_HOME="`pwd -P`" | |
cd "$SAVED" >/dev/null | |
APP_NAME="Gradle" | |
APP_BASE_NAME=`basename "$0"` | |
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. | |
DEFAULT_JVM_OPTS="" | |
# Use the maximum available, or set MAX_FD != -1 to use that value. | |
MAX_FD="maximum" | |
warn () { | |
echo "$*" | |
} | |
die () { | |
echo | |
echo "$*" | |
echo | |
exit 1 | |
} | |
# OS specific support (must be 'true' or 'false'). | |
cygwin=false | |
msys=false | |
darwin=false | |
nonstop=false | |
case "`uname`" in | |
CYGWIN* ) | |
cygwin=true | |
;; | |
Darwin* ) | |
darwin=true | |
;; | |
MINGW* ) | |
msys=true | |
;; | |
NONSTOP* ) | |
nonstop=true | |
;; | |
esac | |
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar | |
# Determine the Java command to use to start the JVM. | |
if [ -n "$JAVA_HOME" ] ; then | |
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then | |
# IBM's JDK on AIX uses strange locations for the executables | |
JAVACMD="$JAVA_HOME/jre/sh/java" | |
else | |
JAVACMD="$JAVA_HOME/bin/java" | |
fi | |
if [ ! -x "$JAVACMD" ] ; then | |
die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME | |
Please set the JAVA_HOME variable in your environment to match the | |
location of your Java installation." | |
fi | |
else | |
JAVACMD="java" | |
which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. | |
Please set the JAVA_HOME variable in your environment to match the | |
location of your Java installation." | |
fi | |
# Increase the maximum file descriptors if we can. | |
if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then | |
MAX_FD_LIMIT=`ulimit -H -n` | |
if [ $? -eq 0 ] ; then | |
if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then | |
MAX_FD="$MAX_FD_LIMIT" | |
fi | |
ulimit -n $MAX_FD | |
if [ $? -ne 0 ] ; then | |
warn "Could not set maximum file descriptor limit: $MAX_FD" | |
fi | |
else | |
warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" | |
fi | |
fi | |
# For Darwin, add options to specify how the application appears in the dock | |
if $darwin; then | |
GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" | |
fi | |
# For Cygwin, switch paths to Windows format before running java | |
if $cygwin ; then | |
APP_HOME=`cygpath --path --mixed "$APP_HOME"` | |
CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` | |
JAVACMD=`cygpath --unix "$JAVACMD"` | |
# We build the pattern for arguments to be converted via cygpath | |
ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` | |
SEP="" | |
for dir in $ROOTDIRSRAW ; do | |
ROOTDIRS="$ROOTDIRS$SEP$dir" | |
SEP="|" | |
done | |
OURCYGPATTERN="(^($ROOTDIRS))" | |
# Add a user-defined pattern to the cygpath arguments | |
if [ "$GRADLE_CYGPATTERN" != "" ] ; then | |
OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" | |
fi | |
# Now convert the arguments - kludge to limit ourselves to /bin/sh | |
i=0 | |
for arg in "$@" ; do | |
CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` | |
CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option | |
if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition | |
eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` | |
else | |
eval `echo args$i`="\"$arg\"" | |
fi | |
i=$((i+1)) | |
done | |
case $i in | |
(0) set -- ;; | |
(1) set -- "$args0" ;; | |
(2) set -- "$args0" "$args1" ;; | |
(3) set -- "$args0" "$args1" "$args2" ;; | |
(4) set -- "$args0" "$args1" "$args2" "$args3" ;; | |
(5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; | |
(6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; | |
(7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; | |
(8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; | |
(9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; | |
esac | |
fi | |
# Escape application args | |
save () { | |
for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done | |
echo " " | |
} | |
APP_ARGS=$(save "$@") | |
# Collect all arguments for the java command, following the shell quoting and substitution rules | |
eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" | |
# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong | |
if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then | |
cd "$(dirname "$0")" | |
fi | |
exec "$JAVACMD" "$@" |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@if "%DEBUG%" == "" @echo off | |
@rem ########################################################################## | |
@rem | |
@rem Gradle startup script for Windows | |
@rem | |
@rem ########################################################################## | |
@rem Set local scope for the variables with windows NT shell | |
if "%OS%"=="Windows_NT" setlocal | |
set DIRNAME=%~dp0 | |
if "%DIRNAME%" == "" set DIRNAME=. | |
set APP_BASE_NAME=%~n0 | |
set APP_HOME=%DIRNAME% | |
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. | |
set DEFAULT_JVM_OPTS= | |
@rem Find java.exe | |
if defined JAVA_HOME goto findJavaFromJavaHome | |
set JAVA_EXE=java.exe | |
%JAVA_EXE% -version >NUL 2>&1 | |
if "%ERRORLEVEL%" == "0" goto init | |
echo. | |
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. | |
echo. | |
echo Please set the JAVA_HOME variable in your environment to match the | |
echo location of your Java installation. | |
goto fail | |
:findJavaFromJavaHome | |
set JAVA_HOME=%JAVA_HOME:"=% | |
set JAVA_EXE=%JAVA_HOME%/bin/java.exe | |
if exist "%JAVA_EXE%" goto init | |
echo. | |
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% | |
echo. | |
echo Please set the JAVA_HOME variable in your environment to match the | |
echo location of your Java installation. | |
goto fail | |
:init | |
@rem Get command-line arguments, handling Windows variants | |
if not "%OS%" == "Windows_NT" goto win9xME_args | |
:win9xME_args | |
@rem Slurp the command line arguments. | |
set CMD_LINE_ARGS= | |
set _SKIP=2 | |
:win9xME_args_slurp | |
if "x%~1" == "x" goto execute | |
set CMD_LINE_ARGS=%* | |
:execute | |
@rem Setup the command line | |
set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar | |
@rem Execute Gradle | |
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% | |
:end | |
@rem End local scope for the variables with windows NT shell | |
if "%ERRORLEVEL%"=="0" goto mainEnd | |
:fail | |
rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of | |
rem the _cmd.exe /c_ return code! | |
if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 | |
exit /b 1 | |
:mainEnd | |
if "%OS%"=="Windows_NT" endlocal | |
:omega |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="UTF-8"?> | |
<module external.linked.project.id="Inventory2" external.linked.project.path="$MODULE_DIR$" external.root.project.path="$MODULE_DIR$" external.system.id="GRADLE" type="JAVA_MODULE" version="4"> | |
<component name="FacetManager"> | |
<facet type="java-gradle" name="Java-Gradle"> | |
<configuration> | |
<option name="BUILD_FOLDER_PATH" value="$MODULE_DIR$/build" /> | |
<option name="BUILDABLE" value="false" /> | |
</configuration> | |
</facet> | |
</component> | |
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_7" inherit-compiler-output="true"> | |
<exclude-output /> | |
<content url="file://$MODULE_DIR$"> | |
<excludeFolder url="file://$MODULE_DIR$/.gradle" /> | |
</content> | |
<orderEntry type="inheritedJdk" /> | |
<orderEntry type="sourceFolder" forTests="false" /> | |
</component> | |
</module> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
## This file is automatically generated by Android Studio. | |
# Do not modify this file -- YOUR CHANGES WILL BE ERASED! | |
# | |
# This file should *NOT* be checked into Version Control Systems, | |
# as it contains information specific to your local configuration. | |
# | |
# Location of the SDK. This is only used by Gradle. | |
# For customization when using a Version Control System, please read the | |
# header note. | |
sdk.dir=C\:\\Users\\asafs\\AppData\\Local\\Android\\Sdk |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
include ':app' |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment