~oppen/gra

d0a7b0d9a75d7ef3b5a02f5a42fae5089e3d47c1 — Öppen 4 days ago a32c57b
moving to viewmodel
33 files changed, 287 insertions(+), 53 deletions(-)

M .gradle/6.1.1/fileHashes/fileHashes.lock
M .gradle/buildOutputCleanup/buildOutputCleanup.lock
M .gradle/buildOutputCleanup/outputFiles.bin
M .gradle/checksums/checksums.lock
M .gradle/checksums/md5-checksums.bin
M .gradle/checksums/sha1-checksums.bin
M .idea/caches/build_file_checksums.ser
M .idea/codeStyles/Project.xml
R .idea/libraries/{Gradle__androidx_activity_activity_1_0_0_aar.xml => Gradle__androidx_activity_activity_1_1_0_aar.xml}
A .idea/libraries/Gradle__androidx_activity_activity_ktx_1_1_0_aar.xml
R .idea/libraries/{Gradle__androidx_arch_core_core_runtime_2_0_0_aar.xml => Gradle__androidx_arch_core_core_runtime_2_1_0_aar.xml}
R .idea/libraries/{Gradle__androidx_lifecycle_lifecycle_common_2_1_0_jar.xml => Gradle__androidx_lifecycle_lifecycle_common_2_2_0_jar.xml}
R .idea/libraries/{Gradle__androidx_lifecycle_lifecycle_livedata_2_0_0_aar.xml => Gradle__androidx_lifecycle_lifecycle_livedata_2_2_0_aar.xml}
R .idea/libraries/{Gradle__androidx_lifecycle_lifecycle_livedata_core_2_0_0_aar.xml => Gradle__androidx_lifecycle_lifecycle_livedata_core_2_2_0_aar.xml}
A .idea/libraries/Gradle__androidx_lifecycle_lifecycle_livedata_core_ktx_2_2_0_aar.xml
A .idea/libraries/Gradle__androidx_lifecycle_lifecycle_livedata_ktx_2_2_0_aar.xml
R .idea/libraries/{Gradle__androidx_lifecycle_lifecycle_runtime_2_1_0_aar.xml => Gradle__androidx_lifecycle_lifecycle_runtime_2_2_0_aar.xml}
A .idea/libraries/Gradle__androidx_lifecycle_lifecycle_runtime_ktx_2_2_0_aar.xml
R .idea/libraries/{Gradle__androidx_lifecycle_lifecycle_viewmodel_2_1_0_aar.xml => Gradle__androidx_lifecycle_lifecycle_viewmodel_2_2_0_aar.xml}
A .idea/libraries/Gradle__androidx_lifecycle_lifecycle_viewmodel_ktx_2_2_0_aar.xml
A .idea/libraries/Gradle__androidx_lifecycle_lifecycle_viewmodel_savedstate_1_0_0_aar.xml
A .idea/libraries/Gradle__org_jetbrains_kotlinx_kotlinx_coroutines_android_1_3_0_jar.xml
A .idea/libraries/Gradle__org_jetbrains_kotlinx_kotlinx_coroutines_core_1_3_0_jar.xml
M .idea/modules/app/app.iml
M app/build.gradle
M app/src/main/AndroidManifest.xml
M app/src/main/java/Extensions.kt
M app/src/main/java/oppen/editor/io/FileDatasource.kt
A app/src/main/java/oppen/gra/GraActivity.kt
A app/src/main/java/oppen/gra/GraRepository.kt
A app/src/main/java/oppen/gra/GraState.kt
A app/src/main/java/oppen/gra/GraViewModel.kt
A app/src/main/res/layout/activity_gra.xml
M .gradle/6.1.1/fileHashes/fileHashes.lock => .gradle/6.1.1/fileHashes/fileHashes.lock +0 -0

M .gradle/buildOutputCleanup/buildOutputCleanup.lock => .gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0

M .gradle/buildOutputCleanup/outputFiles.bin => .gradle/buildOutputCleanup/outputFiles.bin +0 -0

M .gradle/checksums/checksums.lock => .gradle/checksums/checksums.lock +0 -0

M .gradle/checksums/md5-checksums.bin => .gradle/checksums/md5-checksums.bin +0 -0

M .gradle/checksums/sha1-checksums.bin => .gradle/checksums/sha1-checksums.bin +0 -0

M .idea/caches/build_file_checksums.ser => .idea/caches/build_file_checksums.ser +0 -0

M .idea/codeStyles/Project.xml => .idea/codeStyles/Project.xml +6 -0
@@ 1,5 1,6 @@
<component name="ProjectCodeStyleConfiguration">
  <code_scheme name="Project" version="173">
    <option name="RIGHT_MARGIN" value="1000" />
    <JetCodeStyleSettings>
      <option name="CODE_STYLE_DEFAULTS" value="KOTLIN_OFFICIAL" />
    </JetCodeStyleSettings>


@@ 117,6 118,11 @@
    </codeStyleSettings>
    <codeStyleSettings language="kotlin">
      <option name="CODE_STYLE_DEFAULTS" value="KOTLIN_OFFICIAL" />
      <indentOptions>
        <option name="INDENT_SIZE" value="2" />
        <option name="CONTINUATION_INDENT_SIZE" value="4" />
        <option name="TAB_SIZE" value="2" />
      </indentOptions>
    </codeStyleSettings>
  </code_scheme>
</component>
\ No newline at end of file

R .idea/libraries/Gradle__androidx_activity_activity_1_0_0_aar.xml => .idea/libraries/Gradle__androidx_activity_activity_1_1_0_aar.xml +5 -5
@@ 1,13 1,13 @@
<component name="libraryTable">
  <library name="Gradle: androidx.activity:activity:1.0.0@aar">
  <library name="Gradle: androidx.activity:activity:1.1.0@aar">
    <CLASSES>
      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/bff36bc4e02dfaee5c7164290ef20d82/jetified-activity-1.0.0/AndroidManifest.xml" />
      <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/bff36bc4e02dfaee5c7164290ef20d82/jetified-activity-1.0.0/jars/classes.jar!/" />
      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/bff36bc4e02dfaee5c7164290ef20d82/jetified-activity-1.0.0/res" />
      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/3eafe3fde2b5317db266f32afd7f3971/jetified-activity-1.1.0/AndroidManifest.xml" />
      <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/3eafe3fde2b5317db266f32afd7f3971/jetified-activity-1.1.0/jars/classes.jar!/" />
      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/3eafe3fde2b5317db266f32afd7f3971/jetified-activity-1.1.0/res" />
    </CLASSES>
    <JAVADOC />
    <SOURCES>
      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.activity/activity/1.0.0/28eb83e6a29ac3fbb87aa632cfa0e644a313f491/activity-1.0.0-sources.jar!/" />
      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.activity/activity/1.1.0/4ee68d89e86e4d40bd44c0e2efe7e63716320932/activity-1.1.0-sources.jar!/" />
    </SOURCES>
  </library>
</component>
\ No newline at end of file

A .idea/libraries/Gradle__androidx_activity_activity_ktx_1_1_0_aar.xml => .idea/libraries/Gradle__androidx_activity_activity_ktx_1_1_0_aar.xml +13 -0
@@ 0,0 1,13 @@
<component name="libraryTable">
  <library name="Gradle: androidx.activity:activity-ktx:1.1.0@aar">
    <CLASSES>
      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/e0b05edbebd52d33e28cc5d2968acf93/jetified-activity-ktx-1.1.0/AndroidManifest.xml" />
      <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/e0b05edbebd52d33e28cc5d2968acf93/jetified-activity-ktx-1.1.0/jars/classes.jar!/" />
      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/e0b05edbebd52d33e28cc5d2968acf93/jetified-activity-ktx-1.1.0/res" />
    </CLASSES>
    <JAVADOC />
    <SOURCES>
      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.activity/activity-ktx/1.1.0/8725ce304372d4bab29388b64d09ec683fd4292e/activity-ktx-1.1.0-sources.jar!/" />
    </SOURCES>
  </library>
</component>
\ No newline at end of file

R .idea/libraries/Gradle__androidx_arch_core_core_runtime_2_0_0_aar.xml => .idea/libraries/Gradle__androidx_arch_core_core_runtime_2_1_0_aar.xml +5 -5
@@ 1,13 1,13 @@
<component name="libraryTable">
  <library name="Gradle: androidx.arch.core:core-runtime:2.0.0@aar">
  <library name="Gradle: androidx.arch.core:core-runtime:2.1.0@aar">
    <CLASSES>
      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/301b24e132125372aa16c4a1925edafd/core-runtime-2.0.0/AndroidManifest.xml" />
      <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/301b24e132125372aa16c4a1925edafd/core-runtime-2.0.0/jars/classes.jar!/" />
      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/301b24e132125372aa16c4a1925edafd/core-runtime-2.0.0/res" />
      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/d907a1c285744b9225b1b0c07dcf8b3a/core-runtime-2.1.0/AndroidManifest.xml" />
      <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/d907a1c285744b9225b1b0c07dcf8b3a/core-runtime-2.1.0/jars/classes.jar!/" />
      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/d907a1c285744b9225b1b0c07dcf8b3a/core-runtime-2.1.0/res" />
    </CLASSES>
    <JAVADOC />
    <SOURCES>
      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.arch.core/core-runtime/2.0.0/bc41b287c95bc50a3cd27cb1b7cfb301805ba7f1/core-runtime-2.0.0-sources.jar!/" />
      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.arch.core/core-runtime/2.1.0/f19886651c9946b39f83d8c184fd0e2ce9f43c16/core-runtime-2.1.0-sources.jar!/" />
    </SOURCES>
  </library>
</component>
\ No newline at end of file

R .idea/libraries/Gradle__androidx_lifecycle_lifecycle_common_2_1_0_jar.xml => .idea/libraries/Gradle__androidx_lifecycle_lifecycle_common_2_2_0_jar.xml +3 -3
@@ 1,11 1,11 @@
<component name="libraryTable">
  <library name="Gradle: androidx.lifecycle:lifecycle-common:2.1.0@jar">
  <library name="Gradle: androidx.lifecycle:lifecycle-common:2.2.0@jar">
    <CLASSES>
      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.lifecycle/lifecycle-common/2.1.0/c67e7807d9cd6c329b9d0218b2ec4e505dd340b7/lifecycle-common-2.1.0.jar!/" />
      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.lifecycle/lifecycle-common/2.2.0/4ef09a745007778eef83b92f8f23987a8ea59496/lifecycle-common-2.2.0.jar!/" />
    </CLASSES>
    <JAVADOC />
    <SOURCES>
      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.lifecycle/lifecycle-common/2.1.0/ff1470ebad448355d3722c637c85d5174b584f38/lifecycle-common-2.1.0-sources.jar!/" />
      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.lifecycle/lifecycle-common/2.2.0/d38861c5e1656c5eb1890b1fa149510f38aa5d42/lifecycle-common-2.2.0-sources.jar!/" />
    </SOURCES>
  </library>
</component>
\ No newline at end of file

R .idea/libraries/Gradle__androidx_lifecycle_lifecycle_livedata_2_0_0_aar.xml => .idea/libraries/Gradle__androidx_lifecycle_lifecycle_livedata_2_2_0_aar.xml +5 -5
@@ 1,13 1,13 @@
<component name="libraryTable">
  <library name="Gradle: androidx.lifecycle:lifecycle-livedata:2.0.0@aar">
  <library name="Gradle: androidx.lifecycle:lifecycle-livedata:2.2.0@aar">
    <CLASSES>
      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/307d173032a158273c493d87899c3d81/lifecycle-livedata-2.0.0/AndroidManifest.xml" />
      <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/307d173032a158273c493d87899c3d81/lifecycle-livedata-2.0.0/jars/classes.jar!/" />
      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/307d173032a158273c493d87899c3d81/lifecycle-livedata-2.0.0/res" />
      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/36e57a9bcb45f26ead77454312c8d9c0/lifecycle-livedata-2.2.0/AndroidManifest.xml" />
      <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/36e57a9bcb45f26ead77454312c8d9c0/lifecycle-livedata-2.2.0/jars/classes.jar!/" />
      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/36e57a9bcb45f26ead77454312c8d9c0/lifecycle-livedata-2.2.0/res" />
    </CLASSES>
    <JAVADOC />
    <SOURCES>
      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.lifecycle/lifecycle-livedata/2.0.0/740ce61935bd789380c01178bd8ce402402ebd2f/lifecycle-livedata-2.0.0-sources.jar!/" />
      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.lifecycle/lifecycle-livedata/2.2.0/9849dd6833f7e999169e4f9d48949cc92bf58b50/lifecycle-livedata-2.2.0-sources.jar!/" />
    </SOURCES>
  </library>
</component>
\ No newline at end of file

R .idea/libraries/Gradle__androidx_lifecycle_lifecycle_livedata_core_2_0_0_aar.xml => .idea/libraries/Gradle__androidx_lifecycle_lifecycle_livedata_core_2_2_0_aar.xml +5 -5
@@ 1,13 1,13 @@
<component name="libraryTable">
  <library name="Gradle: androidx.lifecycle:lifecycle-livedata-core:2.0.0@aar">
  <library name="Gradle: androidx.lifecycle:lifecycle-livedata-core:2.2.0@aar">
    <CLASSES>
      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/cced0c371a3acf4f6bee2caf613fb595/lifecycle-livedata-core-2.0.0/AndroidManifest.xml" />
      <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/cced0c371a3acf4f6bee2caf613fb595/lifecycle-livedata-core-2.0.0/jars/classes.jar!/" />
      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/cced0c371a3acf4f6bee2caf613fb595/lifecycle-livedata-core-2.0.0/res" />
      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/508cb8ce9d2b7ad3e3f90e65dfa68adf/lifecycle-livedata-core-2.2.0/AndroidManifest.xml" />
      <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/508cb8ce9d2b7ad3e3f90e65dfa68adf/lifecycle-livedata-core-2.2.0/jars/classes.jar!/" />
      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/508cb8ce9d2b7ad3e3f90e65dfa68adf/lifecycle-livedata-core-2.2.0/res" />
    </CLASSES>
    <JAVADOC />
    <SOURCES>
      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.lifecycle/lifecycle-livedata-core/2.0.0/c158207594782b42f3a2e08a5a029eb3319e4404/lifecycle-livedata-core-2.0.0-sources.jar!/" />
      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.lifecycle/lifecycle-livedata-core/2.2.0/6dcd7f31093b360c4a8bced748159e6fd237ba52/lifecycle-livedata-core-2.2.0-sources.jar!/" />
    </SOURCES>
  </library>
</component>
\ No newline at end of file

A .idea/libraries/Gradle__androidx_lifecycle_lifecycle_livedata_core_ktx_2_2_0_aar.xml => .idea/libraries/Gradle__androidx_lifecycle_lifecycle_livedata_core_ktx_2_2_0_aar.xml +13 -0
@@ 0,0 1,13 @@
<component name="libraryTable">
  <library name="Gradle: androidx.lifecycle:lifecycle-livedata-core-ktx:2.2.0@aar">
    <CLASSES>
      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/908b655aeaa2477087f23e5b78b74adb/jetified-lifecycle-livedata-core-ktx-2.2.0/AndroidManifest.xml" />
      <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/908b655aeaa2477087f23e5b78b74adb/jetified-lifecycle-livedata-core-ktx-2.2.0/jars/classes.jar!/" />
      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/908b655aeaa2477087f23e5b78b74adb/jetified-lifecycle-livedata-core-ktx-2.2.0/res" />
    </CLASSES>
    <JAVADOC />
    <SOURCES>
      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.lifecycle/lifecycle-livedata-core-ktx/2.2.0/7aa8d50b21a293f7a525ec84869c421a963b0188/lifecycle-livedata-core-ktx-2.2.0-sources.jar!/" />
    </SOURCES>
  </library>
</component>
\ No newline at end of file

A .idea/libraries/Gradle__androidx_lifecycle_lifecycle_livedata_ktx_2_2_0_aar.xml => .idea/libraries/Gradle__androidx_lifecycle_lifecycle_livedata_ktx_2_2_0_aar.xml +13 -0
@@ 0,0 1,13 @@
<component name="libraryTable">
  <library name="Gradle: androidx.lifecycle:lifecycle-livedata-ktx:2.2.0@aar">
    <CLASSES>
      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/45b96913cbd15b2c97451091c10e8f55/jetified-lifecycle-livedata-ktx-2.2.0/AndroidManifest.xml" />
      <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/45b96913cbd15b2c97451091c10e8f55/jetified-lifecycle-livedata-ktx-2.2.0/jars/classes.jar!/" />
      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/45b96913cbd15b2c97451091c10e8f55/jetified-lifecycle-livedata-ktx-2.2.0/res" />
    </CLASSES>
    <JAVADOC />
    <SOURCES>
      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.lifecycle/lifecycle-livedata-ktx/2.2.0/cf14c53d6d424fadcf5334860b11d1733ae8a422/lifecycle-livedata-ktx-2.2.0-sources.jar!/" />
    </SOURCES>
  </library>
</component>
\ No newline at end of file

R .idea/libraries/Gradle__androidx_lifecycle_lifecycle_runtime_2_1_0_aar.xml => .idea/libraries/Gradle__androidx_lifecycle_lifecycle_runtime_2_2_0_aar.xml +5 -5
@@ 1,13 1,13 @@
<component name="libraryTable">
  <library name="Gradle: androidx.lifecycle:lifecycle-runtime:2.1.0@aar">
  <library name="Gradle: androidx.lifecycle:lifecycle-runtime:2.2.0@aar">
    <CLASSES>
      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/af9a81a6906c2db99fd1e0e1f09f536a/lifecycle-runtime-2.1.0/AndroidManifest.xml" />
      <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/af9a81a6906c2db99fd1e0e1f09f536a/lifecycle-runtime-2.1.0/jars/classes.jar!/" />
      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/af9a81a6906c2db99fd1e0e1f09f536a/lifecycle-runtime-2.1.0/res" />
      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/6db9061b695e520cb11ba7cbd42c9c6e/lifecycle-runtime-2.2.0/AndroidManifest.xml" />
      <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/6db9061b695e520cb11ba7cbd42c9c6e/lifecycle-runtime-2.2.0/jars/classes.jar!/" />
      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/6db9061b695e520cb11ba7cbd42c9c6e/lifecycle-runtime-2.2.0/res" />
    </CLASSES>
    <JAVADOC />
    <SOURCES>
      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.lifecycle/lifecycle-runtime/2.1.0/533a0cd1a095abbdfd08a49c4d34bd0713977034/lifecycle-runtime-2.1.0-sources.jar!/" />
      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.lifecycle/lifecycle-runtime/2.2.0/bac4e407cc35ca0fcd4c3c18d699fa632475b019/lifecycle-runtime-2.2.0-sources.jar!/" />
    </SOURCES>
  </library>
</component>
\ No newline at end of file

A .idea/libraries/Gradle__androidx_lifecycle_lifecycle_runtime_ktx_2_2_0_aar.xml => .idea/libraries/Gradle__androidx_lifecycle_lifecycle_runtime_ktx_2_2_0_aar.xml +13 -0
@@ 0,0 1,13 @@
<component name="libraryTable">
  <library name="Gradle: androidx.lifecycle:lifecycle-runtime-ktx:2.2.0@aar">
    <CLASSES>
      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/c84b3262badc7233cd5bae54179b3f4b/jetified-lifecycle-runtime-ktx-2.2.0/AndroidManifest.xml" />
      <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/c84b3262badc7233cd5bae54179b3f4b/jetified-lifecycle-runtime-ktx-2.2.0/jars/classes.jar!/" />
      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/c84b3262badc7233cd5bae54179b3f4b/jetified-lifecycle-runtime-ktx-2.2.0/res" />
    </CLASSES>
    <JAVADOC />
    <SOURCES>
      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.lifecycle/lifecycle-runtime-ktx/2.2.0/d830dc45563157582e0075c25cd10d6cf8d21755/lifecycle-runtime-ktx-2.2.0-sources.jar!/" />
    </SOURCES>
  </library>
</component>
\ No newline at end of file

R .idea/libraries/Gradle__androidx_lifecycle_lifecycle_viewmodel_2_1_0_aar.xml => .idea/libraries/Gradle__androidx_lifecycle_lifecycle_viewmodel_2_2_0_aar.xml +5 -5
@@ 1,13 1,13 @@
<component name="libraryTable">
  <library name="Gradle: androidx.lifecycle:lifecycle-viewmodel:2.1.0@aar">
  <library name="Gradle: androidx.lifecycle:lifecycle-viewmodel:2.2.0@aar">
    <CLASSES>
      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/f64f55facd47fff4cc5648d323dc2660/lifecycle-viewmodel-2.1.0/AndroidManifest.xml" />
      <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/f64f55facd47fff4cc5648d323dc2660/lifecycle-viewmodel-2.1.0/jars/classes.jar!/" />
      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/f64f55facd47fff4cc5648d323dc2660/lifecycle-viewmodel-2.1.0/res" />
      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/ced47f9f6d0fb2435b2e2ee0a5e8217b/lifecycle-viewmodel-2.2.0/AndroidManifest.xml" />
      <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/ced47f9f6d0fb2435b2e2ee0a5e8217b/lifecycle-viewmodel-2.2.0/jars/classes.jar!/" />
      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/ced47f9f6d0fb2435b2e2ee0a5e8217b/lifecycle-viewmodel-2.2.0/res" />
    </CLASSES>
    <JAVADOC />
    <SOURCES>
      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.lifecycle/lifecycle-viewmodel/2.1.0/bfd86b9887c2343516f82bed91acbab34a45841d/lifecycle-viewmodel-2.1.0-sources.jar!/" />
      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.lifecycle/lifecycle-viewmodel/2.2.0/4f90404dd52d3162217bf329db5afb32d373ec63/lifecycle-viewmodel-2.2.0-sources.jar!/" />
    </SOURCES>
  </library>
</component>
\ No newline at end of file

A .idea/libraries/Gradle__androidx_lifecycle_lifecycle_viewmodel_ktx_2_2_0_aar.xml => .idea/libraries/Gradle__androidx_lifecycle_lifecycle_viewmodel_ktx_2_2_0_aar.xml +13 -0
@@ 0,0 1,13 @@
<component name="libraryTable">
  <library name="Gradle: androidx.lifecycle:lifecycle-viewmodel-ktx:2.2.0@aar">
    <CLASSES>
      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/179b12ffa089a5c20f2d01b1740949fe/jetified-lifecycle-viewmodel-ktx-2.2.0/AndroidManifest.xml" />
      <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/179b12ffa089a5c20f2d01b1740949fe/jetified-lifecycle-viewmodel-ktx-2.2.0/jars/classes.jar!/" />
      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/179b12ffa089a5c20f2d01b1740949fe/jetified-lifecycle-viewmodel-ktx-2.2.0/res" />
    </CLASSES>
    <JAVADOC />
    <SOURCES>
      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.lifecycle/lifecycle-viewmodel-ktx/2.2.0/3bc5992b0bb49e2d7ce92d34c45e54e1795cc03b/lifecycle-viewmodel-ktx-2.2.0-sources.jar!/" />
    </SOURCES>
  </library>
</component>
\ No newline at end of file

A .idea/libraries/Gradle__androidx_lifecycle_lifecycle_viewmodel_savedstate_1_0_0_aar.xml => .idea/libraries/Gradle__androidx_lifecycle_lifecycle_viewmodel_savedstate_1_0_0_aar.xml +13 -0
@@ 0,0 1,13 @@
<component name="libraryTable">
  <library name="Gradle: androidx.lifecycle:lifecycle-viewmodel-savedstate:1.0.0@aar">
    <CLASSES>
      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/16426091f5e889f926e02756ee50ff37/jetified-lifecycle-viewmodel-savedstate-1.0.0/AndroidManifest.xml" />
      <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/16426091f5e889f926e02756ee50ff37/jetified-lifecycle-viewmodel-savedstate-1.0.0/jars/classes.jar!/" />
      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/16426091f5e889f926e02756ee50ff37/jetified-lifecycle-viewmodel-savedstate-1.0.0/res" />
    </CLASSES>
    <JAVADOC />
    <SOURCES>
      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.lifecycle/lifecycle-viewmodel-savedstate/1.0.0/32a6c5006bb0f1315da92589f3598355b838c5cf/lifecycle-viewmodel-savedstate-1.0.0-sources.jar!/" />
    </SOURCES>
  </library>
</component>
\ No newline at end of file

A .idea/libraries/Gradle__org_jetbrains_kotlinx_kotlinx_coroutines_android_1_3_0_jar.xml => .idea/libraries/Gradle__org_jetbrains_kotlinx_kotlinx_coroutines_android_1_3_0_jar.xml +13 -0
@@ 0,0 1,13 @@
<component name="libraryTable">
  <library name="Gradle: org.jetbrains.kotlinx:kotlinx-coroutines-android:1.3.0@jar">
    <CLASSES>
      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlinx/kotlinx-coroutines-android/1.3.0/804a29e0b22cfb30e04487574ad1cb888daa716d/kotlinx-coroutines-android-1.3.0.jar!/" />
    </CLASSES>
    <JAVADOC>
      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlinx/kotlinx-coroutines-android/1.3.0/a5b6897df3209e45430a0ee9cd88ec395737d302/kotlinx-coroutines-android-1.3.0-javadoc.jar!/" />
    </JAVADOC>
    <SOURCES>
      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlinx/kotlinx-coroutines-android/1.3.0/392fb03efbcff9124afe8aaa460a00aa2247880/kotlinx-coroutines-android-1.3.0-sources.jar!/" />
    </SOURCES>
  </library>
</component>
\ No newline at end of file

A .idea/libraries/Gradle__org_jetbrains_kotlinx_kotlinx_coroutines_core_1_3_0_jar.xml => .idea/libraries/Gradle__org_jetbrains_kotlinx_kotlinx_coroutines_core_1_3_0_jar.xml +13 -0
@@ 0,0 1,13 @@
<component name="libraryTable">
  <library name="Gradle: org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.0@jar">
    <CLASSES>
      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlinx/kotlinx-coroutines-core/1.3.0/36fa8555d92456448ec19e64b00be830df9a7fb5/kotlinx-coroutines-core-1.3.0.jar!/" />
    </CLASSES>
    <JAVADOC>
      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlinx/kotlinx-coroutines-core/1.3.0/8fdb244b797a9318128367d854452bf9db99c417/kotlinx-coroutines-core-1.3.0-javadoc.jar!/" />
    </JAVADOC>
    <SOURCES>
      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlinx/kotlinx-coroutines-core/1.3.0/23a4e24d487cf4838494193e8bbf52f332006557/kotlinx-coroutines-core-1.3.0-sources.jar!/" />
    </SOURCES>
  </library>
</component>
\ No newline at end of file

M .idea/modules/app/app.iml => .idea/modules/app/app.iml +22 -13
@@ 25,16 25,17 @@
      </configuration>
    </facet>
    <facet type="kotlin-language" name="Kotlin">
      <configuration version="3" platform="JVM 1.6" allPlatforms="JVM [1.6]" useProjectSettings="false">
      <configuration version="3" platform="JVM 1.8" allPlatforms="JVM [1.8]" useProjectSettings="false">
        <compilerSettings>
          <option name="additionalArguments" value="-Xallow-no-source-files" />
        </compilerSettings>
        <compilerArguments>
          <option name="destination" value="$MODULE_DIR$/../../../app/build/tmp/kotlin-classes/debug" />
          <option name="classpath" value="$USER_HOME$/.gradle/caches/transforms-2/files-2.1/a8480d2b9e1bb53a15dcb62a60d81980/jetified-kotlin-android-extensions-runtime-1.3.72.jar:/home/oppen/.gradle/caches/transforms-2/files-2.1/0648310d8c15672d278e42c08bcf974d/jetified-kotlin-stdlib-jdk7-1.3.72.jar:/home/oppen/.gradle/caches/transforms-2/files-2.1/8871b09cf338a400162230304bdce6f3/jetified-core-ktx-1.3.1-api.jar:/home/oppen/.gradle/caches/transforms-2/files-2.1/ad91982927e0dbb6677637b32b826be5/jetified-okio-jvm-2.6.0.jar:/home/oppen/.gradle/caches/transforms-2/files-2.1/5072c9b64d04332c1904bbeb1fcb014a/jetified-kotlin-stdlib-1.3.72.jar:/home/oppen/.gradle/caches/transforms-2/files-2.1/9558b50ba8567b56222aa02b5d29361f/jetified-kotlin-stdlib-common-1.3.72.jar:/home/oppen/.gradle/caches/transforms-2/files-2.1/49ceafcb063134ff005a8f478cfdec78/jetified-annotations-13.0.jar:/home/oppen/.gradle/caches/transforms-2/files-2.1/750028f379cdd46992e629e74561ec88/material-1.3.0-alpha02-api.jar:/home/oppen/.gradle/caches/transforms-2/files-2.1/79a4050df21b314e800ffab87117e7be/constraintlayout-2.0.0-beta7-api.jar:/home/oppen/.gradle/caches/transforms-2/files-2.1/f5093721966d600bc487116cdf3869d3/appcompat-1.1.0-api.jar:/home/oppen/.gradle/caches/transforms-2/files-2.1/2bc1f37f54c0670b1810bee12a85ad37/jetified-core-4.3.1-api.jar:/home/oppen/.gradle/caches/transforms-2/files-2.1/0eddc0563ec0d7c8b91e382fac1e673c/jetified-viewpager2-1.0.0-api.jar:/home/oppen/.gradle/caches/transforms-2/files-2.1/7a9aff0e0fefaf000d7a2343ad6b7861/fragment-1.1.0-api.jar:/home/oppen/.gradle/caches/transforms-2/files-2.1/eb471e6632017646a8ee5eb3f35182d6/jetified-appcompat-resources-1.1.0-api.jar:/home/oppen/.gradle/caches/transforms-2/files-2.1/847a6f1592af9bf159daa525fabe04f1/drawerlayout-1.0.0-api.jar:/home/oppen/.gradle/caches/transforms-2/files-2.1/3e5e232f9d09f1d61e647ac8f7599f1f/coordinatorlayout-1.1.0-api.jar:/home/oppen/.gradle/caches/transforms-2/files-2.1/2cdc7153921e6c9507697b8528efef0b/dynamicanimation-1.0.0-api.jar:/home/oppen/.gradle/caches/transforms-2/files-2.1/269bf742c9350153accf0788bcff1640/recyclerview-1.1.0-api.jar:/home/oppen/.gradle/caches/transforms-2/files-2.1/de1ff5517c3d8517db78a833f187a28c/transition-1.2.0-api.jar:/home/oppen/.gradle/caches/transforms-2/files-2.1/5aa24cd76867e635fcdb86f2da3702da/vectordrawable-animated-1.1.0-api.jar:/home/oppen/.gradle/caches/transforms-2/files-2.1/c21ffcda6dc1868bb7feea585480bb1c/vectordrawable-1.1.0-api.jar:/home/oppen/.gradle/caches/transforms-2/files-2.1/3c0558e2a1ba855cdfeba247908048f6/viewpager-1.0.0-api.jar:/home/oppen/.gradle/caches/transforms-2/files-2.1/1133db6c530ca5182964bdc62c64690a/legacy-support-core-utils-1.0.0-api.jar:/home/oppen/.gradle/caches/transforms-2/files-2.1/1c6082661b288175391fee8502e59691/loader-1.0.0-api.jar:/home/oppen/.gradle/caches/transforms-2/files-2.1/b0af7c04cf1379927cc58c7f8d67dc2f/jetified-activity-1.0.0-api.jar:/home/oppen/.gradle/caches/transforms-2/files-2.1/3d1aa0524f0da0dca418e17a55db576c/customview-1.0.0-api.jar:/home/oppen/.gradle/caches/transforms-2/files-2.1/3f4761cbc86c7180513f9dbb82724ee7/core-1.3.1-api.jar:/home/oppen/.gradle/caches/transforms-2/files-2.1/975afad3cf7585e15ff94b97fb75100d/cursoradapter-1.0.0-api.jar:/home/oppen/.gradle/caches/transforms-2/files-2.1/1da58b30d2329210125bf1179cb7e554/versionedparcelable-1.1.0-api.jar:/home/oppen/.gradle/caches/modules-2/files-2.1/androidx.collection/collection/1.1.0/1f27220b47669781457de0d600849a5de0e89909/collection-1.1.0.jar:/home/oppen/.gradle/caches/transforms-2/files-2.1/69d09ba325d59c503b713d3197ae0b36/cardview-1.0.0-api.jar:/home/oppen/.gradle/caches/transforms-2/files-2.1/31b69ced94934011c376d119bdab2fd0/lifecycle-runtime-2.1.0-api.jar:/home/oppen/.gradle/caches/transforms-2/files-2.1/3486bf75d343469a7c7014ea4a66cd7d/lifecycle-viewmodel-2.1.0-api.jar:/home/oppen/.gradle/caches/transforms-2/files-2.1/b85700ef34ac36edb72eb608e8d885a5/jetified-savedstate-1.0.0-api.jar:/home/oppen/.gradle/caches/transforms-2/files-2.1/a834453f0499e9fa4c4d506111f2f33d/lifecycle-livedata-2.0.0-api.jar:/home/oppen/.gradle/caches/transforms-2/files-2.1/649a7ba01c427e963fa92d357cd57e0e/lifecycle-livedata-core-2.0.0-api.jar:/home/oppen/.gradle/caches/modules-2/files-2.1/androidx.lifecycle/lifecycle-common/2.1.0/c67e7807d9cd6c329b9d0218b2ec4e505dd340b7/lifecycle-common-2.1.0.jar:/home/oppen/.gradle/caches/transforms-2/files-2.1/01fd18add81840c2ec956606baeee1ca/core-runtime-2.0.0-api.jar:/home/oppen/.gradle/caches/modules-2/files-2.1/androidx.arch.core/core-common/2.1.0/b3152fc64428c9354344bd89848ecddc09b6f07e/core-common-2.1.0.jar:/home/oppen/.gradle/caches/transforms-2/files-2.1/63d304e05197462dba5ace927d3346bd/interpolator-1.0.0-api.jar:/home/oppen/.gradle/caches/transforms-2/files-2.1/ea470ee4cc093be89ac6d76fa5fbfc40/documentfile-1.0.0-api.jar:/home/oppen/.gradle/caches/transforms-2/files-2.1/30dda5eda5de292da601074323b2a684/localbroadcastmanager-1.0.0-api.jar:/home/oppen/.gradle/caches/transforms-2/files-2.1/4fc0e0dd5e5963748aca17b705b2e6f3/print-1.0.0-api.jar:/home/oppen/.gradle/caches/modules-2/files-2.1/androidx.annotation/annotation/1.1.0/e3a6fb2f40e3a3842e6b7472628ba4ce416ea4c8/annotation-1.1.0.jar:/home/oppen/.gradle/caches/modules-2/files-2.1/androidx.constraintlayout/constraintlayout-solver/2.0.0-beta7/3bcef826a5dd45ffcb47d32042ece40dd90a598f/constraintlayout-solver-2.0.0-beta7.jar:/home/oppen/.gradle/caches/transforms-2/files-2.1/f6a00c24343de83bd65f46ff7e5e8e43/jetified-annotation-experimental-1.0.0-api.jar:/home/oppen/.gradle/caches/transforms-2/files-2.1/9f4f5562386cdc734104eb03de84c7c1/jetified-commonmark-0.13.0.jar:/home/oppen/Android/Sdk/platforms/android-29/android.jar" />
          <option name="classpath" value="$USER_HOME$/.gradle/caches/transforms-2/files-2.1/a8480d2b9e1bb53a15dcb62a60d81980/jetified-kotlin-android-extensions-runtime-1.3.72.jar:/home/oppen/.gradle/caches/transforms-2/files-2.1/bfea24ace57c6e95c627700937ab822f/jetified-lifecycle-livedata-ktx-2.2.0-api.jar:/home/oppen/.gradle/caches/transforms-2/files-2.1/a744dae49a356874c3704d97cec5a651/jetified-activity-ktx-1.1.0-api.jar:/home/oppen/.gradle/caches/transforms-2/files-2.1/7c4bec2d28075cd7f835bd2e2c68f7cd/jetified-lifecycle-viewmodel-ktx-2.2.0-api.jar:/home/oppen/.gradle/caches/transforms-2/files-2.1/0648310d8c15672d278e42c08bcf974d/jetified-kotlin-stdlib-jdk7-1.3.72.jar:/home/oppen/.gradle/caches/transforms-2/files-2.1/8871b09cf338a400162230304bdce6f3/jetified-core-ktx-1.3.1-api.jar:/home/oppen/.gradle/caches/transforms-2/files-2.1/ad91982927e0dbb6677637b32b826be5/jetified-okio-jvm-2.6.0.jar:/home/oppen/.gradle/caches/transforms-2/files-2.1/1750d23fd05df1841e106c17abd831f3/jetified-lifecycle-runtime-ktx-2.2.0-api.jar:/home/oppen/.gradle/caches/transforms-2/files-2.1/7a87e890b70eb624f001dfa424700855/jetified-kotlinx-coroutines-android-1.3.0.jar:/home/oppen/.gradle/caches/transforms-2/files-2.1/c69e5dec7af5ab9586ced82a489f49a6/jetified-kotlinx-coroutines-core-1.3.0.jar:/home/oppen/.gradle/caches/transforms-2/files-2.1/f750cd1fc09cba72e023060a572ae670/jetified-lifecycle-livedata-core-ktx-2.2.0-api.jar:/home/oppen/.gradle/caches/transforms-2/files-2.1/5072c9b64d04332c1904bbeb1fcb014a/jetified-kotlin-stdlib-1.3.72.jar:/home/oppen/.gradle/caches/transforms-2/files-2.1/9558b50ba8567b56222aa02b5d29361f/jetified-kotlin-stdlib-common-1.3.72.jar:/home/oppen/.gradle/caches/transforms-2/files-2.1/49ceafcb063134ff005a8f478cfdec78/jetified-annotations-13.0.jar:/home/oppen/.gradle/caches/transforms-2/files-2.1/750028f379cdd46992e629e74561ec88/material-1.3.0-alpha02-api.jar:/home/oppen/.gradle/caches/transforms-2/files-2.1/79a4050df21b314e800ffab87117e7be/constraintlayout-2.0.0-beta7-api.jar:/home/oppen/.gradle/caches/transforms-2/files-2.1/f5093721966d600bc487116cdf3869d3/appcompat-1.1.0-api.jar:/home/oppen/.gradle/caches/transforms-2/files-2.1/0eddc0563ec0d7c8b91e382fac1e673c/jetified-viewpager2-1.0.0-api.jar:/home/oppen/.gradle/caches/transforms-2/files-2.1/7a9aff0e0fefaf000d7a2343ad6b7861/fragment-1.1.0-api.jar:/home/oppen/.gradle/caches/transforms-2/files-2.1/2cdc7153921e6c9507697b8528efef0b/dynamicanimation-1.0.0-api.jar:/home/oppen/.gradle/caches/transforms-2/files-2.1/1133db6c530ca5182964bdc62c64690a/legacy-support-core-utils-1.0.0-api.jar:/home/oppen/.gradle/caches/transforms-2/files-2.1/1c6082661b288175391fee8502e59691/loader-1.0.0-api.jar:/home/oppen/.gradle/caches/transforms-2/files-2.1/8afcaf842570f2f71d5f65f2af73947b/lifecycle-livedata-2.2.0-api.jar:/home/oppen/.gradle/caches/transforms-2/files-2.1/040f77f1b000d2e33c46b39292d29b93/jetified-activity-1.1.0-api.jar:/home/oppen/.gradle/caches/transforms-2/files-2.1/31021bcf3fca2e3746876569a7303600/jetified-lifecycle-viewmodel-savedstate-1.0.0-api.jar:/home/oppen/.gradle/caches/transforms-2/files-2.1/e53d2fa4e729014ac9115b30da21a011/lifecycle-livedata-core-2.2.0-api.jar:/home/oppen/.gradle/caches/transforms-2/files-2.1/5b6d5f257af4787c1f64e9827f846b7c/core-runtime-2.1.0-api.jar:/home/oppen/.gradle/caches/transforms-2/files-2.1/2bc1f37f54c0670b1810bee12a85ad37/jetified-core-4.3.1-api.jar:/home/oppen/.gradle/caches/transforms-2/files-2.1/95362c2f19e7cde9cfedae1ce8da2b67/lifecycle-viewmodel-2.2.0-api.jar:/home/oppen/.gradle/caches/transforms-2/files-2.1/eb471e6632017646a8ee5eb3f35182d6/jetified-appcompat-resources-1.1.0-api.jar:/home/oppen/.gradle/caches/transforms-2/files-2.1/847a6f1592af9bf159daa525fabe04f1/drawerlayout-1.0.0-api.jar:/home/oppen/.gradle/caches/transforms-2/files-2.1/3e5e232f9d09f1d61e647ac8f7599f1f/coordinatorlayout-1.1.0-api.jar:/home/oppen/.gradle/caches/transforms-2/files-2.1/269bf742c9350153accf0788bcff1640/recyclerview-1.1.0-api.jar:/home/oppen/.gradle/caches/transforms-2/files-2.1/de1ff5517c3d8517db78a833f187a28c/transition-1.2.0-api.jar:/home/oppen/.gradle/caches/transforms-2/files-2.1/5aa24cd76867e635fcdb86f2da3702da/vectordrawable-animated-1.1.0-api.jar:/home/oppen/.gradle/caches/transforms-2/files-2.1/c21ffcda6dc1868bb7feea585480bb1c/vectordrawable-1.1.0-api.jar:/home/oppen/.gradle/caches/transforms-2/files-2.1/3c0558e2a1ba855cdfeba247908048f6/viewpager-1.0.0-api.jar:/home/oppen/.gradle/caches/transforms-2/files-2.1/3d1aa0524f0da0dca418e17a55db576c/customview-1.0.0-api.jar:/home/oppen/.gradle/caches/transforms-2/files-2.1/3f4761cbc86c7180513f9dbb82724ee7/core-1.3.1-api.jar:/home/oppen/.gradle/caches/transforms-2/files-2.1/975afad3cf7585e15ff94b97fb75100d/cursoradapter-1.0.0-api.jar:/home/oppen/.gradle/caches/transforms-2/files-2.1/1da58b30d2329210125bf1179cb7e554/versionedparcelable-1.1.0-api.jar:/home/oppen/.gradle/caches/modules-2/files-2.1/androidx.collection/collection/1.1.0/1f27220b47669781457de0d600849a5de0e89909/collection-1.1.0.jar:/home/oppen/.gradle/caches/transforms-2/files-2.1/69d09ba325d59c503b713d3197ae0b36/cardview-1.0.0-api.jar:/home/oppen/.gradle/caches/transforms-2/files-2.1/6a5fbe7b4e8e47ac9d32dabd44967feb/lifecycle-runtime-2.2.0-api.jar:/home/oppen/.gradle/caches/transforms-2/files-2.1/b85700ef34ac36edb72eb608e8d885a5/jetified-savedstate-1.0.0-api.jar:/home/oppen/.gradle/caches/modules-2/files-2.1/androidx.arch.core/core-common/2.1.0/b3152fc64428c9354344bd89848ecddc09b6f07e/core-common-2.1.0.jar:/home/oppen/.gradle/caches/modules-2/files-2.1/androidx.lifecycle/lifecycle-common/2.2.0/4ef09a745007778eef83b92f8f23987a8ea59496/lifecycle-common-2.2.0.jar:/home/oppen/.gradle/caches/transforms-2/files-2.1/63d304e05197462dba5ace927d3346bd/interpolator-1.0.0-api.jar:/home/oppen/.gradle/caches/transforms-2/files-2.1/ea470ee4cc093be89ac6d76fa5fbfc40/documentfile-1.0.0-api.jar:/home/oppen/.gradle/caches/transforms-2/files-2.1/30dda5eda5de292da601074323b2a684/localbroadcastmanager-1.0.0-api.jar:/home/oppen/.gradle/caches/transforms-2/files-2.1/4fc0e0dd5e5963748aca17b705b2e6f3/print-1.0.0-api.jar:/home/oppen/.gradle/caches/modules-2/files-2.1/androidx.annotation/annotation/1.1.0/e3a6fb2f40e3a3842e6b7472628ba4ce416ea4c8/annotation-1.1.0.jar:/home/oppen/.gradle/caches/modules-2/files-2.1/androidx.constraintlayout/constraintlayout-solver/2.0.0-beta7/3bcef826a5dd45ffcb47d32042ece40dd90a598f/constraintlayout-solver-2.0.0-beta7.jar:/home/oppen/.gradle/caches/transforms-2/files-2.1/f6a00c24343de83bd65f46ff7e5e8e43/jetified-annotation-experimental-1.0.0-api.jar:/home/oppen/.gradle/caches/transforms-2/files-2.1/9f4f5562386cdc734104eb03de84c7c1/jetified-commonmark-0.13.0.jar:/home/oppen/Android/Sdk/platforms/android-29/android.jar" />
          <option name="noStdlib" value="true" />
          <option name="noReflect" value="true" />
          <option name="moduleName" value="app_debug" />
          <option name="jvmTarget" value="1.8" />
          <option name="languageVersion" value="1.3" />
          <option name="apiVersion" value="1.3" />
          <option name="pluginOptions">


@@ 144,45 145,53 @@
    <orderEntry type="library" name="Gradle: org.jetbrains.kotlin:kotlin-android-extensions-runtime:1.3.72@jar" level="project" />
    <orderEntry type="library" name="Gradle: org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.72@jar" level="project" />
    <orderEntry type="library" name="Gradle: com.squareup.okio:okio:2.6.0@jar" level="project" />
    <orderEntry type="library" name="Gradle: org.jetbrains.kotlinx:kotlinx-coroutines-android:1.3.0@jar" level="project" />
    <orderEntry type="library" name="Gradle: org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.0@jar" level="project" />
    <orderEntry type="library" name="Gradle: org.jetbrains.kotlin:kotlin-stdlib:1.3.72@jar" level="project" />
    <orderEntry type="library" name="Gradle: org.jetbrains.kotlin:kotlin-stdlib-common:1.3.72@jar" level="project" />
    <orderEntry type="library" name="Gradle: org.jetbrains:annotations:13.0@jar" level="project" />
    <orderEntry type="library" name="Gradle: androidx.collection:collection:1.1.0@jar" level="project" />
    <orderEntry type="library" name="Gradle: androidx.lifecycle:lifecycle-common:2.1.0@jar" level="project" />
    <orderEntry type="library" name="Gradle: androidx.arch.core:core-common:2.1.0@jar" level="project" />
    <orderEntry type="library" name="Gradle: androidx.lifecycle:lifecycle-common:2.2.0@jar" level="project" />
    <orderEntry type="library" name="Gradle: androidx.annotation:annotation:1.1.0@jar" level="project" />
    <orderEntry type="library" name="Gradle: androidx.constraintlayout:constraintlayout-solver:2.0.0-beta7@jar" level="project" />
    <orderEntry type="library" name="Gradle: com.atlassian.commonmark:commonmark:0.13.0@jar" level="project" />
    <orderEntry type="library" name="Gradle: androidx.lifecycle:lifecycle-livedata-ktx:2.2.0@aar" level="project" />
    <orderEntry type="library" name="Gradle: androidx.activity:activity-ktx:1.1.0@aar" level="project" />
    <orderEntry type="library" name="Gradle: androidx.lifecycle:lifecycle-viewmodel-ktx:2.2.0@aar" level="project" />
    <orderEntry type="library" name="Gradle: androidx.core:core-ktx:1.3.1@aar" level="project" />
    <orderEntry type="library" name="Gradle: androidx.lifecycle:lifecycle-runtime-ktx:2.2.0@aar" level="project" />
    <orderEntry type="library" name="Gradle: androidx.lifecycle:lifecycle-livedata-core-ktx:2.2.0@aar" level="project" />
    <orderEntry type="library" name="Gradle: com.google.android.material:material:1.3.0-alpha02@aar" level="project" />
    <orderEntry type="library" name="Gradle: androidx.constraintlayout:constraintlayout:2.0.0-beta7@aar" level="project" />
    <orderEntry type="library" name="Gradle: androidx.appcompat:appcompat:1.1.0@aar" level="project" />
    <orderEntry type="library" name="Gradle: io.noties.markwon:core:4.3.1@aar" level="project" />
    <orderEntry type="library" name="Gradle: androidx.viewpager2:viewpager2:1.0.0@aar" level="project" />
    <orderEntry type="library" name="Gradle: androidx.fragment:fragment:1.1.0@aar" level="project" />
    <orderEntry type="library" name="Gradle: androidx.dynamicanimation:dynamicanimation:1.0.0@aar" level="project" />
    <orderEntry type="library" name="Gradle: androidx.legacy:legacy-support-core-utils:1.0.0@aar" level="project" />
    <orderEntry type="library" name="Gradle: androidx.loader:loader:1.0.0@aar" level="project" />
    <orderEntry type="library" name="Gradle: androidx.lifecycle:lifecycle-livedata:2.2.0@aar" level="project" />
    <orderEntry type="library" name="Gradle: androidx.activity:activity:1.1.0@aar" level="project" />
    <orderEntry type="library" name="Gradle: androidx.lifecycle:lifecycle-viewmodel-savedstate:1.0.0@aar" level="project" />
    <orderEntry type="library" name="Gradle: androidx.lifecycle:lifecycle-livedata-core:2.2.0@aar" level="project" />
    <orderEntry type="library" name="Gradle: androidx.arch.core:core-runtime:2.1.0@aar" level="project" />
    <orderEntry type="library" name="Gradle: io.noties.markwon:core:4.3.1@aar" level="project" />
    <orderEntry type="library" name="Gradle: androidx.lifecycle:lifecycle-viewmodel:2.2.0@aar" level="project" />
    <orderEntry type="library" name="Gradle: androidx.appcompat:appcompat-resources:1.1.0@aar" level="project" />
    <orderEntry type="library" name="Gradle: androidx.drawerlayout:drawerlayout:1.0.0@aar" level="project" />
    <orderEntry type="library" name="Gradle: androidx.coordinatorlayout:coordinatorlayout:1.1.0@aar" level="project" />
    <orderEntry type="library" name="Gradle: androidx.dynamicanimation:dynamicanimation:1.0.0@aar" level="project" />
    <orderEntry type="library" name="Gradle: androidx.recyclerview:recyclerview:1.1.0@aar" level="project" />
    <orderEntry type="library" name="Gradle: androidx.transition:transition:1.2.0@aar" level="project" />
    <orderEntry type="library" name="Gradle: androidx.vectordrawable:vectordrawable-animated:1.1.0@aar" level="project" />
    <orderEntry type="library" name="Gradle: androidx.vectordrawable:vectordrawable:1.1.0@aar" level="project" />
    <orderEntry type="library" name="Gradle: androidx.viewpager:viewpager:1.0.0@aar" level="project" />
    <orderEntry type="library" name="Gradle: androidx.legacy:legacy-support-core-utils:1.0.0@aar" level="project" />
    <orderEntry type="library" name="Gradle: androidx.loader:loader:1.0.0@aar" level="project" />
    <orderEntry type="library" name="Gradle: androidx.activity:activity:1.0.0@aar" level="project" />
    <orderEntry type="library" name="Gradle: androidx.customview:customview:1.0.0@aar" level="project" />
    <orderEntry type="library" name="Gradle: androidx.core:core:1.3.1@aar" level="project" />
    <orderEntry type="library" name="Gradle: androidx.cursoradapter:cursoradapter:1.0.0@aar" level="project" />
    <orderEntry type="library" name="Gradle: androidx.versionedparcelable:versionedparcelable:1.1.0@aar" level="project" />
    <orderEntry type="library" name="Gradle: androidx.cardview:cardview:1.0.0@aar" level="project" />
    <orderEntry type="library" name="Gradle: androidx.lifecycle:lifecycle-runtime:2.1.0@aar" level="project" />
    <orderEntry type="library" name="Gradle: androidx.lifecycle:lifecycle-viewmodel:2.1.0@aar" level="project" />
    <orderEntry type="library" name="Gradle: androidx.lifecycle:lifecycle-runtime:2.2.0@aar" level="project" />
    <orderEntry type="library" name="Gradle: androidx.savedstate:savedstate:1.0.0@aar" level="project" />
    <orderEntry type="library" name="Gradle: androidx.lifecycle:lifecycle-livedata:2.0.0@aar" level="project" />
    <orderEntry type="library" name="Gradle: androidx.lifecycle:lifecycle-livedata-core:2.0.0@aar" level="project" />
    <orderEntry type="library" name="Gradle: androidx.arch.core:core-runtime:2.0.0@aar" level="project" />
    <orderEntry type="library" name="Gradle: androidx.interpolator:interpolator:1.0.0@aar" level="project" />
    <orderEntry type="library" name="Gradle: androidx.documentfile:documentfile:1.0.0@aar" level="project" />
    <orderEntry type="library" name="Gradle: androidx.localbroadcastmanager:localbroadcastmanager:1.0.0@aar" level="project" />

M app/build.gradle => app/build.gradle +12 -1
@@ 30,10 30,20 @@ android {
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }

    kotlinOptions {
        jvmTarget = JavaVersion.VERSION_1_8.toString()
    }
}

dependencies {
    implementation 'androidx.lifecycle:lifecycle-livedata-ktx:2.2.0'
    def lifecycle_version = "2.2.0"

    implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:$lifecycle_version"
    implementation "androidx.activity:activity-ktx:1.1.0"



    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
    implementation 'androidx.appcompat:appcompat:1.1.0'


@@ 41,6 51,7 @@ dependencies {
    implementation 'com.google.android.material:material:1.3.0-alpha02'
    implementation("com.squareup.okio:okio:2.6.0")
    implementation "io.noties.markwon:core:4.3.1"
    implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
    testImplementation 'junit:junit:4.13'
    androidTestImplementation 'androidx.test.ext:junit:1.1.1'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'

M app/src/main/AndroidManifest.xml => app/src/main/AndroidManifest.xml +11 -4
@@ 1,6 1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest
    xmlns:android="http://schemas.android.com/apk/res/android"
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    package="oppen.editor">



@@ 11,12 10,20 @@
        android:roundIcon="@drawable/logo"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name="oppen.gra.GraActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity
            android:name=".ui.EditorActivity"
            tools:ignore="LockedOrientationActivity"
            android:screenOrientation="portrait">
            android:screenOrientation="portrait"
            tools:ignore="LockedOrientationActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

M app/src/main/java/Extensions.kt => app/src/main/java/Extensions.kt +7 -0
@@ 1,12 1,18 @@
import android.app.Activity
import android.content.Context
import android.content.res.Resources
import android.graphics.Color
import android.os.CountDownTimer
import android.view.View

fun Context.versionName(): String = this.packageManager.getPackageInfo(packageName, 0).versionName

fun Int.dpToPx(): Int = (this * Resources.getSystem().displayMetrics.density).toInt()

fun Float.dpToPx(): Float = (this * Resources.getSystem().displayMetrics.density)

fun String.asColor(): Int = Color.parseColor(this)

fun View.setVisible(visible: Boolean) = when {
    visible -> {
        this.visibility = View.VISIBLE


@@ 15,6 21,7 @@ fun View.setVisible(visible: Boolean) = when {
        this.visibility = View.GONE
    }
}

fun Activity.delay(ms: Long, block: () -> Unit){
    object : CountDownTimer(ms, ms) {
        override fun onFinish() {

M app/src/main/java/oppen/editor/io/FileDatasource.kt => app/src/main/java/oppen/editor/io/FileDatasource.kt +1 -2
@@ 19,8 19,7 @@ import kotlin.concurrent.thread
const val PREFS_ACTIVE_DOCUMENT_URI = "oppen.editor.io.FileDatasource.PREFS_ACTIVE_DOCUMENT_URI"

class FileDatasource(
    context: Context,
    private val contentResolver: ContentResolver) {
    context: Context, private val contentResolver: ContentResolver) {

    private var activeUri: Uri? = null


A app/src/main/java/oppen/gra/GraActivity.kt => app/src/main/java/oppen/gra/GraActivity.kt +30 -0
@@ 0,0 1,30 @@
package oppen.gra

import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import androidx.activity.viewModels
import androidx.lifecycle.Observer
import oppen.editor.R

class GraActivity : AppCompatActivity() {

  override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_gra)

    val model: GraViewModel by viewModels()
    model.initialise(this, contentResolver)
      .observe(this, Observer<GraState>{ state ->
        render(model, state)
      }
    )
  }

  private fun render(model: GraViewModel, state: GraState){
    when(state){
      is GraState.Empty -> TODO()
      is GraState.Active -> TODO()
      is GraState.Error -> TODO()
    }
  }
}
\ No newline at end of file

A app/src/main/java/oppen/gra/GraRepository.kt => app/src/main/java/oppen/gra/GraRepository.kt +21 -0
@@ 0,0 1,21 @@
package oppen.gra

import oppen.editor.io.FileDatasource

class GraRepository(private val fileIO: FileDatasource) {

  fun initialise() {
    fileIO.run {
      openLastFile { filename, content, error ->
        when {
          hasActiveFile() -> {

          }
          else -> {
            //empty state
          }
        }
      }
    }
  }
}
\ No newline at end of file

A app/src/main/java/oppen/gra/GraState.kt => app/src/main/java/oppen/gra/GraState.kt +7 -0
@@ 0,0 1,7 @@
package oppen.gra

sealed class GraState {
  data class Empty(val nothing: Nothing): GraState()
  data class Active(val title: String, val content: String): GraState()
  data class Error(val error: String): GraState()
}
\ No newline at end of file

A app/src/main/java/oppen/gra/GraViewModel.kt => app/src/main/java/oppen/gra/GraViewModel.kt +24 -0
@@ 0,0 1,24 @@
package oppen.gra

import android.content.ContentResolver
import android.content.Context
import androidx.lifecycle.LiveData
import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.ViewModel
import oppen.editor.io.FileDatasource

class GraViewModel: ViewModel() {

    private lateinit var repository: GraRepository

    private val editorState: MutableLiveData<GraState> by lazy {
        MutableLiveData<GraState>().also {
            repository.initialise()
        }
    }

    fun initialise(context: Context, contentResolver: ContentResolver): LiveData<GraState> {
        repository = GraRepository(FileDatasource(context, contentResolver))
        return editorState
    }
}
\ No newline at end of file

A app/src/main/res/layout/activity_gra.xml => app/src/main/res/layout/activity_gra.xml +9 -0
@@ 0,0 1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout 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"
    tools:context="oppen.gra.GraActivity">

</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file