From d5259c2958a6ae535704b53a655e0814c58d3180 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 19 Jul 2021 05:36:29 -0500 Subject: [PATCH 1/3] Bump json from 2.2.0 to 2.5.1 (#1) Bumps [json](https://github.com/flori/json) from 2.2.0 to 2.5.1. - [Release notes](https://github.com/flori/json/releases) - [Changelog](https://github.com/flori/json/blob/master/CHANGES.md) - [Commits](https://github.com/flori/json/compare/v2.2.0...v2.5.1) --- updated-dependencies: - dependency-name: json dependency-type: indirect ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index ae76eb0e..2bb24263 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -77,7 +77,7 @@ GEM httpclient (2.8.3) i18n (0.9.5) concurrent-ruby (~> 1.0) - json (2.2.0) + json (2.5.1) minitest (5.11.3) molinillo (0.6.6) nanaimo (0.2.6) From 2f0b30e02b927e1952dbfbe4add4ac1dafe406d7 Mon Sep 17 00:00:00 2001 From: Jacquelyn Vinson Date: Mon, 19 Jul 2021 05:43:39 -0500 Subject: [PATCH 2/3] Yang_firestore (#2) * Create empty project * just for test * basic view and Running fragment * mapview * 1. Using view model to store the status of fragment. Stopwatch will keep working when users switch to other App/Interface 2. Add permission request callback. The map view will be refreshed automatically after getting the Location permission * 1. Use Data Binding to change Layout 2. Adjust the Naming style and part of useless datablocks * Fix code reviews Still have some automatically generated unused code blocks and comments. Will delete them in the future, in case they will be used. * Remove comment * Add working directory default * search bar * bringToFront * serach place and movethe map sight * formalize code style * modify value type * remove getFloat * intergate auth * move const to companion object * attach to PR * get UserID * move const to companion object * attach to PR * attach to PR * implemented logout * add google-service.json * naming style * json * 1. Add login fragment. Seperate login process from MainActivity 2. Reduce unnecessary variables in MainActivity 3. Using ViewModel to save the user 4. Fix bug in firebaseAuthWithGoogle addOnCompleteListener 5. Remove the activity in backstack. * remove comment * remove comment * move login in check to ViewModel * resolve conflict * resolve conflict * resolve conflict * resolve conflict * add LiveData class * 1. Adapt it to MVVM architecture 2. Add AuthStateListener and oberver to lisen the change of current login status 3. Solve the coordination between async operations * firestore create user * 1. Create User in Firstore 2. Profile UI 3. Data binding for user name and email 4. Async Task class to Download and set user photo 5. Create ProfileViewModel * interaction between runFragment and Forestore * adjust timestamp format * ListView * Fix login bug -- adjust postion of check-login function * remove unused code block * Welcome Page * adjust the position of logout observer * image button at runFragment * fix code review * Test * test with mock account info * ViewHolder Pattern in Adapter Co-authored-by: Adam Co-authored-by: Yang Li Co-authored-by: butterflyforever <29890639+butterflyforever@users.noreply.github.com> --- .github/workflows/canonical-gradle.yml | 6 +- android/canonical/.gitignore | 14 ++ android/canonical/app/.gitignore | 1 + android/canonical/app/build.gradle | 107 ++++++++ android/canonical/app/google-services.json | 48 ++++ android/canonical/app/proguard-rules.pro | 21 ++ .../canonical/DatabaseInteractionTest.kt | 85 +++++++ .../canonical/ExampleInstrumentedTest.kt | 24 ++ .../quickstart/canonical/LoginFragmentTest.kt | 93 +++++++ .../quickstart/canonical/MapsFragmentTest.kt | 70 ++++++ .../canonical/ProfileFragmentTest.kt | 104 ++++++++ .../quickstart/canonical/RunFragmentTest.kt | 231 ++++++++++++++++++ .../app/src/main/AndroidManifest.xml | 43 ++++ .../src/main/ic_werun_launcher-playstore.png | Bin 0 -> 60854 bytes .../quickstart/canonical/LoginFragment.kt | 85 +++++++ .../quickstart/canonical/MainActivity.kt | 128 ++++++++++ .../quickstart/canonical/MapsFragment.kt | 196 +++++++++++++++ .../quickstart/canonical/ProfileFragment.kt | 78 ++++++ .../quickstart/canonical/ProfileViewModel.kt | 226 +++++++++++++++++ .../quickstart/canonical/RunFragment.kt | 139 +++++++++++ .../quickstart/canonical/RunHistoryAdapter.kt | 56 +++++ .../quickstart/canonical/SignInViewModel.kt | 203 +++++++++++++++ .../canonical/StopwatchViewModel.kt | 75 ++++++ .../drawable-v24/ic_launcher_foreground.xml | 30 +++ .../drawable/ic_baseline_access_alarm_24.xml | 10 + .../ic_baseline_directions_run_24.xml | 10 + .../drawable/ic_baseline_exit_to_app_24.xml | 10 + .../main/res/drawable/ic_baseline_map_24.xml | 10 + .../res/drawable/ic_baseline_pause_24.xml | 10 + .../res/drawable/ic_baseline_people_24.xml | 10 + .../res/drawable/ic_baseline_person_24.xml | 10 + .../res/drawable/ic_baseline_refresh_24.xml | 10 + .../main/res/drawable/ic_baseline_send_24.xml | 10 + .../res/drawable/ic_baseline_timer_24.xml | 10 + .../app/src/main/res/drawable/ic_launcher.xml | 15 ++ .../res/drawable/ic_launcher_background.xml | 170 +++++++++++++ .../src/main/res/drawable/ic_login_page.xml | 14 ++ .../drawable/ic_werun_launcher_foreground.xml | 20 ++ .../app/src/main/res/drawable/launcher_bg.xml | 5 + .../app/src/main/res/drawable/profile_bg.xml | 7 + .../res/drawable/profile_statistic_bar_bg.xml | 7 + .../app/src/main/res/layout/activity_main.xml | 27 ++ .../src/main/res/layout/fragment_login.xml | 42 ++++ .../app/src/main/res/layout/fragment_maps.xml | 26 ++ .../src/main/res/layout/fragment_profile.xml | 184 ++++++++++++++ .../app/src/main/res/layout/fragment_run.xml | 81 ++++++ .../src/main/res/layout/single_run_item.xml | 32 +++ .../main/res/menu/bottom_navigation_menu.xml | 18 ++ .../res/mipmap-anydpi-v26/ic_launcher.xml | 5 + .../mipmap-anydpi-v26/ic_launcher_round.xml | 5 + .../mipmap-anydpi-v26/ic_werun_launcher.xml | 5 + .../ic_werun_launcher_round.xml | 5 + .../src/main/res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 3593 bytes .../res/mipmap-hdpi/ic_launcher_round.png | Bin 0 -> 5339 bytes .../res/mipmap-hdpi/ic_werun_launcher.png | Bin 0 -> 4585 bytes .../ic_werun_launcher_background.png | Bin 0 -> 13274 bytes .../mipmap-hdpi/ic_werun_launcher_round.png | Bin 0 -> 5622 bytes .../src/main/res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 2636 bytes .../res/mipmap-mdpi/ic_launcher_round.png | Bin 0 -> 3388 bytes .../res/mipmap-mdpi/ic_werun_launcher.png | Bin 0 -> 3000 bytes .../ic_werun_launcher_background.png | Bin 0 -> 7667 bytes .../mipmap-mdpi/ic_werun_launcher_round.png | Bin 0 -> 3527 bytes .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 4926 bytes .../res/mipmap-xhdpi/ic_launcher_round.png | Bin 0 -> 7472 bytes .../res/mipmap-xhdpi/ic_werun_launcher.png | Bin 0 -> 6572 bytes .../ic_werun_launcher_background.png | Bin 0 -> 19638 bytes .../mipmap-xhdpi/ic_werun_launcher_round.png | Bin 0 -> 8090 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 7909 bytes .../res/mipmap-xxhdpi/ic_launcher_round.png | Bin 0 -> 11873 bytes .../res/mipmap-xxhdpi/ic_werun_launcher.png | Bin 0 -> 10341 bytes .../ic_werun_launcher_background.png | Bin 0 -> 34378 bytes .../mipmap-xxhdpi/ic_werun_launcher_round.png | Bin 0 -> 12714 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 10652 bytes .../res/mipmap-xxxhdpi/ic_launcher_round.png | Bin 0 -> 16570 bytes .../res/mipmap-xxxhdpi/ic_werun_launcher.png | Bin 0 -> 14477 bytes .../ic_werun_launcher_background.png | Bin 0 -> 49988 bytes .../ic_werun_launcher_round.png | Bin 0 -> 18165 bytes .../app/src/main/res/values/colors.xml | 9 + .../src/main/res/values/google_maps_api.xml | 25 ++ .../app/src/main/res/values/strings.xml | 31 +++ .../app/src/main/res/values/styles.xml | 9 + .../release/res/values/google_maps_api.xml | 20 ++ .../quickstart/canonical/ExampleUnitTest.kt | 17 ++ .../canonical/StopwatchViewModelTest.kt | 59 +++++ android/canonical/build.gradle | 26 ++ android/canonical/gradle.properties | 21 ++ .../gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 54329 bytes .../gradle/wrapper/gradle-wrapper.properties | 6 + android/canonical/gradlew | 172 +++++++++++++ android/canonical/gradlew.bat | 84 +++++++ android/canonical/readme.md | 1 + android/canonical/settings.gradle | 2 + 92 files changed, 3311 insertions(+), 2 deletions(-) create mode 100644 android/canonical/.gitignore create mode 100644 android/canonical/app/.gitignore create mode 100644 android/canonical/app/build.gradle create mode 100644 android/canonical/app/google-services.json create mode 100644 android/canonical/app/proguard-rules.pro create mode 100644 android/canonical/app/src/androidTest/java/com/google/samples/quickstart/canonical/DatabaseInteractionTest.kt create mode 100644 android/canonical/app/src/androidTest/java/com/google/samples/quickstart/canonical/ExampleInstrumentedTest.kt create mode 100644 android/canonical/app/src/androidTest/java/com/google/samples/quickstart/canonical/LoginFragmentTest.kt create mode 100644 android/canonical/app/src/androidTest/java/com/google/samples/quickstart/canonical/MapsFragmentTest.kt create mode 100644 android/canonical/app/src/androidTest/java/com/google/samples/quickstart/canonical/ProfileFragmentTest.kt create mode 100644 android/canonical/app/src/androidTest/java/com/google/samples/quickstart/canonical/RunFragmentTest.kt create mode 100644 android/canonical/app/src/main/AndroidManifest.xml create mode 100644 android/canonical/app/src/main/ic_werun_launcher-playstore.png create mode 100644 android/canonical/app/src/main/java/com/google/samples/quickstart/canonical/LoginFragment.kt create mode 100644 android/canonical/app/src/main/java/com/google/samples/quickstart/canonical/MainActivity.kt create mode 100644 android/canonical/app/src/main/java/com/google/samples/quickstart/canonical/MapsFragment.kt create mode 100644 android/canonical/app/src/main/java/com/google/samples/quickstart/canonical/ProfileFragment.kt create mode 100644 android/canonical/app/src/main/java/com/google/samples/quickstart/canonical/ProfileViewModel.kt create mode 100644 android/canonical/app/src/main/java/com/google/samples/quickstart/canonical/RunFragment.kt create mode 100644 android/canonical/app/src/main/java/com/google/samples/quickstart/canonical/RunHistoryAdapter.kt create mode 100644 android/canonical/app/src/main/java/com/google/samples/quickstart/canonical/SignInViewModel.kt create mode 100644 android/canonical/app/src/main/java/com/google/samples/quickstart/canonical/StopwatchViewModel.kt create mode 100644 android/canonical/app/src/main/res/drawable-v24/ic_launcher_foreground.xml create mode 100644 android/canonical/app/src/main/res/drawable/ic_baseline_access_alarm_24.xml create mode 100644 android/canonical/app/src/main/res/drawable/ic_baseline_directions_run_24.xml create mode 100644 android/canonical/app/src/main/res/drawable/ic_baseline_exit_to_app_24.xml create mode 100644 android/canonical/app/src/main/res/drawable/ic_baseline_map_24.xml create mode 100644 android/canonical/app/src/main/res/drawable/ic_baseline_pause_24.xml create mode 100644 android/canonical/app/src/main/res/drawable/ic_baseline_people_24.xml create mode 100644 android/canonical/app/src/main/res/drawable/ic_baseline_person_24.xml create mode 100644 android/canonical/app/src/main/res/drawable/ic_baseline_refresh_24.xml create mode 100644 android/canonical/app/src/main/res/drawable/ic_baseline_send_24.xml create mode 100644 android/canonical/app/src/main/res/drawable/ic_baseline_timer_24.xml create mode 100644 android/canonical/app/src/main/res/drawable/ic_launcher.xml create mode 100644 android/canonical/app/src/main/res/drawable/ic_launcher_background.xml create mode 100644 android/canonical/app/src/main/res/drawable/ic_login_page.xml create mode 100644 android/canonical/app/src/main/res/drawable/ic_werun_launcher_foreground.xml create mode 100644 android/canonical/app/src/main/res/drawable/launcher_bg.xml create mode 100644 android/canonical/app/src/main/res/drawable/profile_bg.xml create mode 100644 android/canonical/app/src/main/res/drawable/profile_statistic_bar_bg.xml create mode 100644 android/canonical/app/src/main/res/layout/activity_main.xml create mode 100644 android/canonical/app/src/main/res/layout/fragment_login.xml create mode 100644 android/canonical/app/src/main/res/layout/fragment_maps.xml create mode 100644 android/canonical/app/src/main/res/layout/fragment_profile.xml create mode 100644 android/canonical/app/src/main/res/layout/fragment_run.xml create mode 100644 android/canonical/app/src/main/res/layout/single_run_item.xml create mode 100644 android/canonical/app/src/main/res/menu/bottom_navigation_menu.xml create mode 100644 android/canonical/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml create mode 100644 android/canonical/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml create mode 100644 android/canonical/app/src/main/res/mipmap-anydpi-v26/ic_werun_launcher.xml create mode 100644 android/canonical/app/src/main/res/mipmap-anydpi-v26/ic_werun_launcher_round.xml create mode 100644 android/canonical/app/src/main/res/mipmap-hdpi/ic_launcher.png create mode 100644 android/canonical/app/src/main/res/mipmap-hdpi/ic_launcher_round.png create mode 100644 android/canonical/app/src/main/res/mipmap-hdpi/ic_werun_launcher.png create mode 100644 android/canonical/app/src/main/res/mipmap-hdpi/ic_werun_launcher_background.png create mode 100644 android/canonical/app/src/main/res/mipmap-hdpi/ic_werun_launcher_round.png create mode 100644 android/canonical/app/src/main/res/mipmap-mdpi/ic_launcher.png create mode 100644 android/canonical/app/src/main/res/mipmap-mdpi/ic_launcher_round.png create mode 100644 android/canonical/app/src/main/res/mipmap-mdpi/ic_werun_launcher.png create mode 100644 android/canonical/app/src/main/res/mipmap-mdpi/ic_werun_launcher_background.png create mode 100644 android/canonical/app/src/main/res/mipmap-mdpi/ic_werun_launcher_round.png create mode 100644 android/canonical/app/src/main/res/mipmap-xhdpi/ic_launcher.png create mode 100644 android/canonical/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png create mode 100644 android/canonical/app/src/main/res/mipmap-xhdpi/ic_werun_launcher.png create mode 100644 android/canonical/app/src/main/res/mipmap-xhdpi/ic_werun_launcher_background.png create mode 100644 android/canonical/app/src/main/res/mipmap-xhdpi/ic_werun_launcher_round.png create mode 100644 android/canonical/app/src/main/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 android/canonical/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png create mode 100644 android/canonical/app/src/main/res/mipmap-xxhdpi/ic_werun_launcher.png create mode 100644 android/canonical/app/src/main/res/mipmap-xxhdpi/ic_werun_launcher_background.png create mode 100644 android/canonical/app/src/main/res/mipmap-xxhdpi/ic_werun_launcher_round.png create mode 100644 android/canonical/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png create mode 100644 android/canonical/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png create mode 100644 android/canonical/app/src/main/res/mipmap-xxxhdpi/ic_werun_launcher.png create mode 100644 android/canonical/app/src/main/res/mipmap-xxxhdpi/ic_werun_launcher_background.png create mode 100644 android/canonical/app/src/main/res/mipmap-xxxhdpi/ic_werun_launcher_round.png create mode 100644 android/canonical/app/src/main/res/values/colors.xml create mode 100644 android/canonical/app/src/main/res/values/google_maps_api.xml create mode 100644 android/canonical/app/src/main/res/values/strings.xml create mode 100644 android/canonical/app/src/main/res/values/styles.xml create mode 100644 android/canonical/app/src/release/res/values/google_maps_api.xml create mode 100644 android/canonical/app/src/test/java/com/google/samples/quickstart/canonical/ExampleUnitTest.kt create mode 100644 android/canonical/app/src/test/java/com/google/samples/quickstart/canonical/StopwatchViewModelTest.kt create mode 100644 android/canonical/build.gradle create mode 100644 android/canonical/gradle.properties create mode 100644 android/canonical/gradle/wrapper/gradle-wrapper.jar create mode 100644 android/canonical/gradle/wrapper/gradle-wrapper.properties create mode 100755 android/canonical/gradlew create mode 100644 android/canonical/gradlew.bat create mode 100644 android/canonical/readme.md create mode 100644 android/canonical/settings.gradle diff --git a/.github/workflows/canonical-gradle.yml b/.github/workflows/canonical-gradle.yml index 15288c27..8e23e2b4 100644 --- a/.github/workflows/canonical-gradle.yml +++ b/.github/workflows/canonical-gradle.yml @@ -9,6 +9,10 @@ on: pull_request: branches: [ summer-2020 ] +defaults: + run: + working-directory: android/canonical + jobs: build: @@ -20,8 +24,6 @@ jobs: uses: actions/setup-java@v1 with: java-version: 1.8 - - name: Switch to canonical project - run: cd android/canonical/ - name: Grant execute permission for gradlew run: chmod +x gradlew - name: Build with Gradle diff --git a/android/canonical/.gitignore b/android/canonical/.gitignore new file mode 100644 index 00000000..603b1407 --- /dev/null +++ b/android/canonical/.gitignore @@ -0,0 +1,14 @@ +*.iml +.gradle +/local.properties +/.idea/caches +/.idea/libraries +/.idea/modules.xml +/.idea/workspace.xml +/.idea/navEditor.xml +/.idea/assetWizardSettings.xml +.DS_Store +/build +/captures +.externalNativeBuild +.cxx diff --git a/android/canonical/app/.gitignore b/android/canonical/app/.gitignore new file mode 100644 index 00000000..42afabfd --- /dev/null +++ b/android/canonical/app/.gitignore @@ -0,0 +1 @@ +/build \ No newline at end of file diff --git a/android/canonical/app/build.gradle b/android/canonical/app/build.gradle new file mode 100644 index 00000000..21ec3087 --- /dev/null +++ b/android/canonical/app/build.gradle @@ -0,0 +1,107 @@ +apply plugin: 'com.android.application' +apply plugin: 'kotlin-android' +apply plugin: 'kotlin-android-extensions' +apply plugin: 'kotlin-kapt' +apply plugin: 'com.google.gms.google-services' + +android { + compileSdkVersion 29 + buildToolsVersion "29.0.3" + + buildFeatures { + dataBinding true + } + + defaultConfig { + applicationId "com.google.samples.quickstart.canonical" + minSdkVersion 16 + targetSdkVersion 29 + versionCode 1 + versionName "1.0" + + testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" + multiDexEnabled true + } + + buildTypes { + release { + minifyEnabled false + proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' + } + + staging { + initWith(buildTypes.debug) // keep versionName and PIN from 'debug' + defaultConfig.minSdkVersion 18 + } + } + + compileOptions { + sourceCompatibility JavaVersion.VERSION_1_8 + targetCompatibility JavaVersion.VERSION_1_8 + } + + kotlinOptions { + jvmTarget = JavaVersion.VERSION_1_8.toString() + } + + testOptions { + unitTests.returnDefaultValues = true + } +} + +dependencies { + implementation fileTree(dir: "libs", include: ["*.jar"]) + implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" + implementation 'androidx.core:core-ktx:1.3.1' + implementation 'androidx.appcompat:appcompat:1.1.0' + implementation "androidx.fragment:fragment-ktx:1.2.5" + implementation 'androidx.constraintlayout:constraintlayout:1.1.3' + implementation 'com.google.android.gms:play-services-auth:18.1.0' + implementation 'com.google.android.material:material:1.1.0' + implementation 'com.google.android.gms:play-services-maps:17.0.0' + implementation 'com.google.android.gms:play-services-location:17.0.0' + implementation 'com.google.android.libraries.places:places:2.3.0' + implementation "androidx.lifecycle:lifecycle-extensions:2.2.0" + implementation 'androidx.lifecycle:lifecycle-livedata-ktx:2.2.0' + implementation 'com.google.firebase:firebase-analytics-ktx:17.4.4' + implementation 'com.google.firebase:firebase-auth-ktx:19.3.2' + implementation 'com.google.firebase:firebase-firestore-ktx:21.4.3' + + implementation 'com.google.android.material:material:1.1.0' + implementation 'androidx.percentlayout:percentlayout:1.0.0' + implementation 'androidx.cardview:cardview:1.0.0' + + implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.3' + implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.3.3' + + debugImplementation "androidx.fragment:fragment-testing:1.2.5" + + kapt 'com.android.databinding:compiler:3.1.4' + + // Core library + androidTestImplementation 'androidx.test:core:1.0.0' + + // AndroidJUnitRunner and JUnit Rules + androidTestImplementation 'androidx.test:runner:1.1.0' + androidTestImplementation 'androidx.test:rules:1.1.0' + + + // Assertions + androidTestImplementation 'androidx.test.ext:junit:1.1.1' + androidTestImplementation 'androidx.test.ext:truth:1.0.0' + androidTestImplementation 'com.google.truth:truth:0.42' + + // Espresso dependencies + androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0' + androidTestImplementation 'com.android.support.test.uiautomator:uiautomator-v18:2.1.3' + + testImplementation 'junit:junit:4.12' + testImplementation "androidx.arch.core:core-testing:2.1.0" + testImplementation "androidx.test.ext:junit-ktx:1.1.1" + testImplementation "androidx.test:core-ktx:1.2.0" + testImplementation "org.robolectric:robolectric:4.1" + + + + +} diff --git a/android/canonical/app/google-services.json b/android/canonical/app/google-services.json new file mode 100644 index 00000000..fa0f128d --- /dev/null +++ b/android/canonical/app/google-services.json @@ -0,0 +1,48 @@ +{ + "project_info": { + "project_number": "558666181231", + "firebase_url": "https://pivotal-nebula-281103.firebaseio.com", + "project_id": "pivotal-nebula-281103", + "storage_bucket": "pivotal-nebula-281103.appspot.com" + }, + "client": [ + { + "client_info": { + "mobilesdk_app_id": "1:558666181231:android:ace62cb2b3bd45e4a3fb9a", + "android_client_info": { + "package_name": "com.google.samples.quickstart.canonical" + } + }, + "oauth_client": [ + { + "client_id": "558666181231-ts5q1e04oha2g1m7km4jonff5s6fe1qk.apps.googleusercontent.com", + "client_type": 1, + "android_info": { + "package_name": "com.google.samples.quickstart.canonical", + "certificate_hash": "cf9e073a08e94150b32d4c6e5004a5e26a647287" + } + }, + { + "client_id": "558666181231-bt85k6hb4mfeuri817m7o2n1m96a3shh.apps.googleusercontent.com", + "client_type": 3 + } + ], + "api_key": [ + { + "current_key": "THIS IS PRIVATE" + } + ], + "services": { + "appinvite_service": { + "other_platform_oauth_client": [ + { + "client_id": "558666181231-bt85k6hb4mfeuri817m7o2n1m96a3shh.apps.googleusercontent.com", + "client_type": 3 + } + ] + } + } + } + ], + "configuration_version": "1" +} \ No newline at end of file diff --git a/android/canonical/app/proguard-rules.pro b/android/canonical/app/proguard-rules.pro new file mode 100644 index 00000000..481bb434 --- /dev/null +++ b/android/canonical/app/proguard-rules.pro @@ -0,0 +1,21 @@ +# 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 \ No newline at end of file diff --git a/android/canonical/app/src/androidTest/java/com/google/samples/quickstart/canonical/DatabaseInteractionTest.kt b/android/canonical/app/src/androidTest/java/com/google/samples/quickstart/canonical/DatabaseInteractionTest.kt new file mode 100644 index 00000000..85dc8187 --- /dev/null +++ b/android/canonical/app/src/androidTest/java/com/google/samples/quickstart/canonical/DatabaseInteractionTest.kt @@ -0,0 +1,85 @@ +package com.google.samples.quickstart.canonical + +import androidx.test.espresso.Espresso.onData +import androidx.test.espresso.Espresso.onView +import androidx.test.espresso.action.ViewActions.click +import androidx.test.espresso.assertion.ViewAssertions.matches +import androidx.test.espresso.matcher.RootMatchers.isDialog +import androidx.test.espresso.matcher.ViewMatchers +import androidx.test.ext.junit.runners.AndroidJUnit4 +import androidx.test.platform.app.InstrumentationRegistry +import androidx.test.rule.ActivityTestRule +import androidx.test.uiautomator.UiDevice +import androidx.test.uiautomator.UiSelector +import org.hamcrest.Matchers +import org.junit.After +import org.junit.Before +import org.junit.Rule +import org.junit.Test +import org.junit.runner.RunWith + +@RunWith(AndroidJUnit4::class) +class DatabaseInteractionTest { + @get:Rule + var activityRule: ActivityTestRule + = ActivityTestRule(MainActivity::class.java) + + lateinit var device : UiDevice + + @Before + fun setup() { + device = UiDevice.getInstance(InstrumentationRegistry.getInstrumentation()) + onView(ViewMatchers.withId(R.id.sign_in_button)) + .perform(click()) + val googleSignInDialog = device.findObject(UiSelector().text("example@gmail.com")) + googleSignInDialog.clickAndWaitForNewWindow() + // Make sure that: + // 1. Your google account must have signed out before test. + // 2. You should have at lest one google account for your device, + // which means, when you click sign in button, you have at least + // one account to choose + + // Construct your test database: + // Account: example@gmail.com + + } + + @Test + fun submitRecord() { + onView(ViewMatchers.withId(R.id.start_pause_btn)) + .perform(click()) + Thread.sleep(5000) + + onView(ViewMatchers.withId(R.id.submit_btn)) + .perform(click()) + Thread.sleep(2000) + onView(ViewMatchers.withText("Submission Confirm")) + .inRoot(isDialog()) + .check(matches(ViewMatchers.isDisplayed())) + onView(ViewMatchers.withText("Confirm")) + .inRoot(isDialog()) + .perform(click()) + Thread.sleep(1000) + + onView(ViewMatchers.withId(R.id.bottom_navigation_item_profile)) + .perform(click()) + + onView(ViewMatchers.withId(R.id.run_history_list_view)) + .check(matches(ViewMatchers.isDisplayed())) + onData(Matchers.anything()) + .inAdapterView(ViewMatchers.withId(R.id.run_history_list_view)) + .atPosition(0) + .onChildView(ViewMatchers.withId(R.id.single_run_time)) + .check(matches(ViewMatchers.withText("00:00:05"))) // In your test database, the latest + .perform(click()) + } + + @After + fun logoutUser() { + onView(ViewMatchers.withId(R.id.bottom_navigation_item_profile)) + .perform(click()) + onView(ViewMatchers.withId(R.id.logout_button)) + .perform(click()) + Thread.sleep(1000) + } +} \ No newline at end of file diff --git a/android/canonical/app/src/androidTest/java/com/google/samples/quickstart/canonical/ExampleInstrumentedTest.kt b/android/canonical/app/src/androidTest/java/com/google/samples/quickstart/canonical/ExampleInstrumentedTest.kt new file mode 100644 index 00000000..54f9f01a --- /dev/null +++ b/android/canonical/app/src/androidTest/java/com/google/samples/quickstart/canonical/ExampleInstrumentedTest.kt @@ -0,0 +1,24 @@ +package com.google.samples.quickstart.canonical + +import androidx.test.platform.app.InstrumentationRegistry +import androidx.test.ext.junit.runners.AndroidJUnit4 + +import org.junit.Test +import org.junit.runner.RunWith + +import org.junit.Assert.* + +/** + * Instrumented test, which will execute on an Android device. + * + * See [testing documentation](http://d.android.com/tools/testing). + */ +@RunWith(AndroidJUnit4::class) +class ExampleInstrumentedTest { + @Test + fun useAppContext() { + // Context of the app under test. + val appContext = InstrumentationRegistry.getInstrumentation().targetContext + assertEquals("com.google.samples.quickstart.canonical", appContext.packageName) + } +} \ No newline at end of file diff --git a/android/canonical/app/src/androidTest/java/com/google/samples/quickstart/canonical/LoginFragmentTest.kt b/android/canonical/app/src/androidTest/java/com/google/samples/quickstart/canonical/LoginFragmentTest.kt new file mode 100644 index 00000000..611e8374 --- /dev/null +++ b/android/canonical/app/src/androidTest/java/com/google/samples/quickstart/canonical/LoginFragmentTest.kt @@ -0,0 +1,93 @@ +package com.google.samples.quickstart.canonical + +import androidx.test.espresso.Espresso +import androidx.test.espresso.action.ViewActions +import androidx.test.espresso.assertion.ViewAssertions +import androidx.test.espresso.matcher.RootMatchers +import androidx.test.espresso.matcher.ViewMatchers +import androidx.test.ext.junit.runners.AndroidJUnit4 +import androidx.test.platform.app.InstrumentationRegistry +import androidx.test.rule.ActivityTestRule +import androidx.test.uiautomator.UiDevice +import androidx.test.uiautomator.UiSelector +import org.hamcrest.core.IsNot +import org.junit.After +import org.junit.Before +import org.junit.Rule +import org.junit.Test +import org.junit.runner.RunWith + +@RunWith(AndroidJUnit4::class) +class LoginFragmentTest { + @get:Rule + var activityRule: ActivityTestRule + = ActivityTestRule(MainActivity::class.java) + + lateinit var device : UiDevice + + @Before + fun setup() { + device = UiDevice.getInstance(InstrumentationRegistry.getInstrumentation()) + Espresso.onView(ViewMatchers.withId(R.id.sign_in_button)) + .perform(ViewActions.click()) + val googleSignInDialog = device.findObject(UiSelector().text("example@gmail.com")) + googleSignInDialog.clickAndWaitForNewWindow() + // Make sure that: + // 1. Your google account must have signed out before test. + // 2. You should have at lest one google account for your device, + // which means, when you click sign in button, you have at least + // one account to choose + } + + + @Test + fun logoutAndSignIn() { + // Logout test + Espresso.onView(ViewMatchers.withId(R.id.bottom_navigation_item_profile)) + .perform(ViewActions.click()) + Espresso.onView(ViewMatchers.withId(R.id.logout_button)) + .perform(ViewActions.click()) + Thread.sleep(1000) + + // Sign in test + Espresso.onView(ViewMatchers.withId(R.id.sign_in_button)) + .perform(ViewActions.click()) + val googleSignInDialog = device.findObject(UiSelector().text("example@gmail.com")) + googleSignInDialog.clickAndWaitForNewWindow() + } + + @Test + fun signInFailureHandle() { + // Logout + Espresso.onView(ViewMatchers.withId(R.id.bottom_navigation_item_profile)) + .perform(ViewActions.click()) + Espresso.onView(ViewMatchers.withId(R.id.logout_button)) + .perform(ViewActions.click()) + Thread.sleep(1000) + + // Sign in failure test + Espresso.onView(ViewMatchers.withId(R.id.sign_in_button)) + .perform(ViewActions.click()) + device.pressBack() + Espresso.onView(ViewMatchers.withText(R.string.login_failed)) + .inRoot(RootMatchers.withDecorView(IsNot.not(activityRule.activity.window.decorView))) + .check(ViewAssertions.matches(ViewMatchers.isDisplayed())) + + // Sign in + Espresso.onView(ViewMatchers.withId(R.id.sign_in_button)) + .perform(ViewActions.click()) + val googleSignInDialog = device.findObject(UiSelector().text("example@gmail.com")) + googleSignInDialog.clickAndWaitForNewWindow() + + } + + + @After + fun logoutUser() { + Espresso.onView(ViewMatchers.withId(R.id.bottom_navigation_item_profile)) + .perform(ViewActions.click()) + Espresso.onView(ViewMatchers.withId(R.id.logout_button)) + .perform(ViewActions.click()) + Thread.sleep(1000) + } +} \ No newline at end of file diff --git a/android/canonical/app/src/androidTest/java/com/google/samples/quickstart/canonical/MapsFragmentTest.kt b/android/canonical/app/src/androidTest/java/com/google/samples/quickstart/canonical/MapsFragmentTest.kt new file mode 100644 index 00000000..61b93c9c --- /dev/null +++ b/android/canonical/app/src/androidTest/java/com/google/samples/quickstart/canonical/MapsFragmentTest.kt @@ -0,0 +1,70 @@ +package com.google.samples.quickstart.canonical + +import androidx.test.espresso.Espresso +import androidx.test.espresso.Espresso.onView +import androidx.test.espresso.action.ViewActions +import androidx.test.espresso.matcher.ViewMatchers +import androidx.test.ext.junit.runners.AndroidJUnit4 +import androidx.test.platform.app.InstrumentationRegistry +import androidx.test.rule.ActivityTestRule +import androidx.test.rule.GrantPermissionRule +import androidx.test.uiautomator.UiDevice +import androidx.test.uiautomator.UiSelector +import org.junit.After +import org.junit.Before +import org.junit.Rule +import org.junit.Test +import org.junit.runner.RunWith + + +@RunWith(AndroidJUnit4::class) +class MapsFragmentTest { + + @get:Rule + var activityRule: ActivityTestRule + = ActivityTestRule(MainActivity::class.java) + + @Rule @JvmField + val grantPermissionRule: GrantPermissionRule = GrantPermissionRule.grant(android.Manifest.permission.ACCESS_FINE_LOCATION) + + lateinit var device : UiDevice + + @Before + fun setup() { + device = UiDevice.getInstance(InstrumentationRegistry.getInstrumentation()) + onView(ViewMatchers.withId(R.id.sign_in_button)) + .perform(ViewActions.click()) + val googleSignInDialog = device.findObject(UiSelector().text("example@gmail.com")) + googleSignInDialog.clickAndWaitForNewWindow() + // Make sure that: + // 1. Your google account must have signed out before test. + // 2. You should have at lest one google account for your device, + // which means, when you click sign in button, you have at least + // one account to choose + } + + + @Test + fun searchDestination() { + Thread.sleep(1000) + onView(ViewMatchers.withId(R.id.bottom_navigation_item_map)) + .perform(ViewActions.click()) + Thread.sleep(3000) + onView(ViewMatchers.withId(R.id.autocomplete_fragment)) + .perform(ViewActions.click()) + val searchView = device.findObject(UiSelector().text("Search")) + searchView.text = "Central Park" + Thread.sleep(2000) + device.click(300,800) + Thread.sleep(2000) + } + + @After + fun logoutUser() { + onView(ViewMatchers.withId(R.id.bottom_navigation_item_profile)) + .perform(ViewActions.click()) + onView(ViewMatchers.withId(R.id.logout_button)) + .perform(ViewActions.click()) + Thread.sleep(1000) + } +} \ No newline at end of file diff --git a/android/canonical/app/src/androidTest/java/com/google/samples/quickstart/canonical/ProfileFragmentTest.kt b/android/canonical/app/src/androidTest/java/com/google/samples/quickstart/canonical/ProfileFragmentTest.kt new file mode 100644 index 00000000..1d69ebe4 --- /dev/null +++ b/android/canonical/app/src/androidTest/java/com/google/samples/quickstart/canonical/ProfileFragmentTest.kt @@ -0,0 +1,104 @@ +package com.google.samples.quickstart.canonical + +import androidx.test.espresso.Espresso.onData +import androidx.test.espresso.Espresso.onView +import androidx.test.espresso.action.ViewActions.click +import androidx.test.espresso.assertion.ViewAssertions.matches +import androidx.test.espresso.matcher.ViewMatchers.* +import androidx.test.ext.junit.runners.AndroidJUnit4 +import androidx.test.platform.app.InstrumentationRegistry +import androidx.test.rule.ActivityTestRule +import androidx.test.uiautomator.UiDevice +import androidx.test.uiautomator.UiSelector +import org.hamcrest.Matchers.anything +import org.junit.After +import org.junit.Before +import org.junit.Rule +import org.junit.Test +import org.junit.runner.RunWith + +@RunWith(AndroidJUnit4::class) +class ProfileFragmentTest { + @get:Rule + var activityRule: ActivityTestRule + = ActivityTestRule(MainActivity::class.java) + + lateinit var device : UiDevice + + @Before + fun setup() { + device = UiDevice.getInstance(InstrumentationRegistry.getInstrumentation()) + onView(withId(R.id.sign_in_button)) + .perform(click()) + val googleSignInDialog = device.findObject(UiSelector().text("exampleForProfileTest@gmail.com")) + googleSignInDialog.clickAndWaitForNewWindow() + Thread.sleep(1000) + // Make sure that: + // 1. Your google account must have signed out before test. + // 2. You should have at lest one google account for your device, + // which means, when you click sign in button, you have at least + // one account to choose + + // Account: exampleForProfileTest@gmail.com + // Display name: example user + + // Construct your test database: + // User: exampleForProfileTest@gmail.com + // Total running time: 00:05:39 + // Total energy consumed: 74 + // Latest running history: + // datetime : 2000-01-01 00:00:00 + // time : 00:00:02 + + } + + @Test + fun checkUserInfoTest() { + onView(withId(R.id.bottom_navigation_item_profile)) + .perform(click()) + onView(withId(R.id.usr_img)) + .check(matches(isDisplayed())) + onView(withId(R.id.usr_name)) + .check(matches(withText("example user"))) + onView(withId(R.id.usr_email)) + .check(matches(withText("exampleForProfileTest@gmail.com"))) + } + + @Test + fun checkUserStatisticTest() { + onView(withId(R.id.bottom_navigation_item_profile)) + .perform(click()) + onView(withId(R.id.usr_run_time)) + .check(matches(withText("00:05:39"))) + onView(withId(R.id.usr_run_energy)) + .check(matches(withText("74"))) + } + + @Test + fun checkUserRunHistoryTest() { + onView(withId(R.id.bottom_navigation_item_profile)) + .perform(click()) + onView(withId(R.id.run_history_list_view)) + .check(matches(isDisplayed())) + onData(anything()).inAdapterView(withId(R.id.run_history_list_view)) + .atPosition(0) + .onChildView(withId(R.id.single_run_datetime)) + .check(matches(withText("2000-01-01 00:00:00"))) + .perform(click()) + onData(anything()).inAdapterView(withId(R.id.run_history_list_view)) + .atPosition(0) + .onChildView(withId(R.id.single_run_time)) + .check(matches(withText("00:00:02"))) + .perform(click()) + } + + + @After + fun logoutUser() { + onView(withId(R.id.bottom_navigation_item_profile)) + .perform(click()) + onView(withId(R.id.logout_button)) + .perform(click()) + Thread.sleep(1000) + } +} \ No newline at end of file diff --git a/android/canonical/app/src/androidTest/java/com/google/samples/quickstart/canonical/RunFragmentTest.kt b/android/canonical/app/src/androidTest/java/com/google/samples/quickstart/canonical/RunFragmentTest.kt new file mode 100644 index 00000000..f272d780 --- /dev/null +++ b/android/canonical/app/src/androidTest/java/com/google/samples/quickstart/canonical/RunFragmentTest.kt @@ -0,0 +1,231 @@ +package com.google.samples.quickstart.canonical + +import androidx.fragment.app.testing.launchFragmentInContainer +import androidx.test.espresso.Espresso.onView +import androidx.test.espresso.action.ViewActions.click +import androidx.test.espresso.assertion.ViewAssertions.matches +import androidx.test.espresso.matcher.RootMatchers.isDialog +import androidx.test.espresso.matcher.RootMatchers.withDecorView +import androidx.test.espresso.matcher.ViewMatchers.* +import androidx.test.ext.junit.runners.AndroidJUnit4 +import androidx.test.platform.app.InstrumentationRegistry +import androidx.test.rule.ActivityTestRule +import androidx.test.uiautomator.UiDevice +import androidx.test.uiautomator.UiSelector +import org.hamcrest.core.IsNot.not +import org.junit.After +import org.junit.Before +import org.junit.Rule +import org.junit.Test +import org.junit.runner.RunWith + + +@RunWith(AndroidJUnit4::class) +class RunFragmentTest { + + @get:Rule + var activityRule: ActivityTestRule + = ActivityTestRule(MainActivity::class.java) + + private lateinit var device : UiDevice + + @Before + fun setup() { + device = UiDevice.getInstance(InstrumentationRegistry.getInstrumentation()) + onView(withId(R.id.sign_in_button)) + .perform(click()) + val googleSignInDialog = device.findObject(UiSelector().text("example@gmail.com")) + googleSignInDialog.clickAndWaitForNewWindow() + // Make sure that: + // 1. Your google account must have signed out before test. + // 2. You should have at lest one google account for your device, + // which means, when you click sign in button, you have at least + // one account to choose + } + + @Test + fun startClick() { +// launchFragmentInContainer() + onView(withId(R.id.start_pause_btn)) + .perform(click()) + Thread.sleep(2000) + onView(withId(R.id.running_chronometer)) + .check(matches(withText("00:02"))) + Thread.sleep(2000) + } + + @Test + fun pauseClick() { +// launchFragmentInContainer() + onView(withId(R.id.start_pause_btn)) + .perform(click()) + Thread.sleep(2000) + onView(withId(R.id.start_pause_btn)) + .perform(click()) + Thread.sleep(2000) + onView(withId(R.id.running_chronometer)) + .check(matches(withText("00:02"))) + } + + @Test + fun startAndPauseClick() { +// launchFragmentInContainer() + onView(withId(R.id.start_pause_btn)) + .perform(click()) + Thread.sleep(2000) + onView(withId(R.id.start_pause_btn)) + .perform(click()) + Thread.sleep(1000) + onView(withId(R.id.start_pause_btn)) + .perform(click()) + Thread.sleep(1000) + onView(withId(R.id.running_chronometer)) + .check(matches(withText("00:03"))) + } + + @Test + fun resetClickWhenWorking() { +// launchFragmentInContainer() + onView(withId(R.id.start_pause_btn)) + .perform(click()) + Thread.sleep(2000) + onView(withId(R.id.reset_btn)) + .perform(click()) + onView(withId(R.id.running_chronometer)) + .check(matches(withText("00:00"))) + } + + @Test + fun resetClickWhenPausing() { +// launchFragmentInContainer() + onView(withId(R.id.start_pause_btn)) + .perform(click()) + Thread.sleep(2000) + onView(withId(R.id.running_chronometer)) + .check(matches(withText("00:02"))) + + onView(withId(R.id.start_pause_btn)) + .perform(click()) + Thread.sleep(2000) + onView(withId(R.id.running_chronometer)) + .check(matches(withText("00:02"))) + + onView(withId(R.id.reset_btn)) + .perform(click()) + onView(withId(R.id.running_chronometer)) + .check(matches(withText("00:00"))) + } + + @Test + fun submitClickWhenWorking() { +// launchFragmentInContainer() + onView(withId(R.id.start_pause_btn)) + .perform(click()) + Thread.sleep(2000) + onView(withId(R.id.running_chronometer)) + .check(matches(withText("00:02"))) + + onView(withId(R.id.submit_btn)) + .perform(click()) + onView(withText("Submission Confirm")) + .inRoot(isDialog()) + .check(matches(isDisplayed())) + onView(withText("Cancel")) + .inRoot(isDialog()) + .perform(click()) + } + + @Test + fun submitClickWhenPausing() { +// launchFragmentInContainer() + onView(withId(R.id.start_pause_btn)) + .perform(click()) + Thread.sleep(2000) + onView(withId(R.id.start_pause_btn)) + .perform(click()) + Thread.sleep(1000) + + onView(withId(R.id.submit_btn)) + .perform(click()) + onView(withText("Submission Confirm")) + .inRoot(isDialog()) + .check(matches(isDisplayed())) + onView(withText("Cancel")) + .inRoot(isDialog()) + .perform(click()) + } + + @Test + fun submitClickBeforeWorking() { + onView(withId(R.id.submit_btn)) + .perform(click()) + onView(withText(R.string.submit_illegal)) + .inRoot(withDecorView(not(activityRule.activity.window.decorView))) + .check(matches(isDisplayed())) + } + + @Test + fun submitCancel() { + onView(withId(R.id.start_pause_btn)) + .perform(click()) + Thread.sleep(2000) + + onView(withId(R.id.submit_btn)) + .perform(click()) + onView(withText("Cancel")) + .inRoot(isDialog()) + .perform(click()) + + onView(withId(R.id.running_chronometer)) + .check(matches(withText("00:02"))) + } + + @Test + fun switchFragmentWhenWorking() { + onView(withId(R.id.start_pause_btn)) + .perform(click()) + Thread.sleep(2000) + + // Fragment transition needs time + onView(withId(R.id.bottom_navigation_item_profile)) + .perform(click()) + Thread.sleep(500) + onView(withId(R.id.bottom_navigation_item_run)) + .perform(click()) + Thread.sleep(1000) + + onView(withId(R.id.running_chronometer)) + .check(matches(withText("00:04"))) + } + + @Test + fun switchFragmentWhenPausing() { + onView(withId(R.id.start_pause_btn)) + .perform(click()) + Thread.sleep(2000) + onView(withId(R.id.start_pause_btn)) + .perform(click()) + + // Fragment transition needs time + onView(withId(R.id.bottom_navigation_item_profile)) + .perform(click()) + Thread.sleep(1000) + onView(withId(R.id.bottom_navigation_item_run)) + .perform(click()) + + onView(withId(R.id.running_chronometer)) + .check(matches(withText("00:02"))) + } + + + + @After + fun logoutUser() { + onView(withId(R.id.bottom_navigation_item_profile)) + .perform(click()) + onView(withId(R.id.logout_button)) + .perform(click()) + Thread.sleep(1000) + } + +} \ No newline at end of file diff --git a/android/canonical/app/src/main/AndroidManifest.xml b/android/canonical/app/src/main/AndroidManifest.xml new file mode 100644 index 00000000..add6e967 --- /dev/null +++ b/android/canonical/app/src/main/AndroidManifest.xml @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/canonical/app/src/main/ic_werun_launcher-playstore.png b/android/canonical/app/src/main/ic_werun_launcher-playstore.png new file mode 100644 index 0000000000000000000000000000000000000000..8261ec802cfcace450666e1f28d450918cbdf6ce GIT binary patch literal 60854 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�mj_&W?z`AyNl}UKjk^a8UjJPj;pk zKM$ybex)SV;A9+BH+~LS)$wLm);|MI_kjiK0jm~QtT8PtBhL4M)dcmiJ`~m{3KtV- z4Xa{n_{x${iB(Axr`saA2c+VC=OA=#2E_7#bhEJAd3I)$AfkRZ)tB;*L$OAbcA9tFf zZ1OJ;S6KpD#XEtvcssCnHUXjzVOQdA;?--0@Ut2A=7BHy$rUF5ltRvxpDJanUmPt? zz26|ipP^Nb>Ddq~5iwP)+A8c5HjxiP$<`R&-^5bD{|A7* z8Mtsls(kVI$&3Zrs0msp;GbPobS)8_X?hrb=)OhF|NgPND0sbNRyLSywYc9Q>al2B zzhHOP7?9oT`|;7$FX=P2;DIGrr)^sb=ccLI7CjelT41C+RX-_ooe7TKyMUmClVe}9apQl*yJLHNYX)0l+228d- zJqq8v)rp_=u|a8`$uwA+UwB6rdhNd~}?52)&UVs)?xEbtZv)QQ_CPfLWWFP@7?e&Esl Q5}?nx@QGmuLOAXJ0m;7sbN~PV literal 0 HcmV?d00001 diff --git a/android/canonical/app/src/main/java/com/google/samples/quickstart/canonical/LoginFragment.kt b/android/canonical/app/src/main/java/com/google/samples/quickstart/canonical/LoginFragment.kt new file mode 100644 index 00000000..7b1d3d40 --- /dev/null +++ b/android/canonical/app/src/main/java/com/google/samples/quickstart/canonical/LoginFragment.kt @@ -0,0 +1,85 @@ +package com.google.samples.quickstart.canonical + +import android.content.Intent +import android.os.Bundle +import android.util.Log +import androidx.fragment.app.Fragment +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import androidx.fragment.app.activityViewModels +import androidx.lifecycle.Observer +import com.google.android.gms.common.SignInButton +import com.google.samples.quickstart.canonical.SignInViewModel.Companion.FIREBASE_AUTH_WITH_GOOGLE_FAIL +import com.google.samples.quickstart.canonical.SignInViewModel.Companion.FIREBASE_AUTH_WITH_GOOGLE_SUCCESSFUL +import com.google.samples.quickstart.canonical.SignInViewModel.Companion.GOOGLE_SIGN_IN_UNSUCCESSFUL + +class LoginFragment : Fragment() { + + private val signInVM: SignInViewModel by activityViewModels() + + private fun signIn() { + val signInIntent = signInVM.getSignInIntent() + startActivityForResult(signInIntent, RC_SIGN_IN) + } + + override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { + super.onActivityResult(requestCode, resultCode, data) + + // Result returned from launching the Intent from GoogleSignInApi.getSignInIntent(...); + if (requestCode == RC_SIGN_IN) { + when (signInVM.firebaseAuth(data)) { + FIREBASE_AUTH_WITH_GOOGLE_SUCCESSFUL -> { + Log.i(LOGIN_FRAGMENT_TAG, "Google sign in successful") + } + + FIREBASE_AUTH_WITH_GOOGLE_FAIL -> { + Log.w(LOGIN_FRAGMENT_TAG, "Google sign in failed") + } + + GOOGLE_SIGN_IN_UNSUCCESSFUL -> { + Log.w(LOGIN_FRAGMENT_TAG, "Google sign in unsuccessful") + } + } + } + // No other requestCode, ignore it. + } + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + // Add login status change listener + signInVM.getFirebaseAuthLogStatusLiveData().observe(this, Observer { + when (it) { + true -> { + Log.d(LOGIN_FRAGMENT_TAG, "firebaseUser is not null") + // Start main activity + val intent = Intent(context, MainActivity::class.java) + intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP) + startActivity(intent) + } + + false -> { + Log.d(LOGIN_FRAGMENT_TAG, "firebaseUser is null") + } + } + }) + } + + override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, + savedInstanceState: Bundle?): View? { + // Inflate the layout for this fragment + return inflater.inflate(R.layout.fragment_login, container, false) + } + + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + super.onViewCreated(view, savedInstanceState) + view.findViewById(R.id.sign_in_button).setOnClickListener { + signIn() + } + } + + companion object { + const val RC_SIGN_IN = 0 + const val LOGIN_FRAGMENT_TAG = "Login fragment" + } +} \ No newline at end of file diff --git a/android/canonical/app/src/main/java/com/google/samples/quickstart/canonical/MainActivity.kt b/android/canonical/app/src/main/java/com/google/samples/quickstart/canonical/MainActivity.kt new file mode 100644 index 00000000..b1e4d451 --- /dev/null +++ b/android/canonical/app/src/main/java/com/google/samples/quickstart/canonical/MainActivity.kt @@ -0,0 +1,128 @@ +package com.google.samples.quickstart.canonical + +import android.content.Intent +import androidx.appcompat.app.AppCompatActivity +import android.os.Bundle +import android.util.Log +import androidx.activity.viewModels +import androidx.constraintlayout.widget.ConstraintLayout +import androidx.fragment.app.FragmentTransaction +import androidx.lifecycle.Observer +import com.google.android.material.bottomnavigation.BottomNavigationView +import java.lang.Exception + +class MainActivity : AppCompatActivity() { + + private val signInVM : SignInViewModel by viewModels() + private val profileVM : ProfileViewModel by viewModels() + + private fun setupNavigationBar() { + supportFragmentManager + .beginTransaction() + .replace(R.id.fragment_container, RunFragment()) + .setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN) + .commit() + + val bottomNavigation : BottomNavigationView = findViewById(R.id.bottom_navigation_view) + bottomNavigation.setOnNavigationItemSelectedListener { item -> + try { + when (item.itemId) { + + R.id.bottom_navigation_item_run -> { + if (!bottomNavigation.menu.findItem(R.id.bottom_navigation_item_run).isChecked) { + supportFragmentManager + .beginTransaction() + .replace(R.id.fragment_container, RunFragment()) + .setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN) + .commit() + } + true + } + + R.id.bottom_navigation_item_map -> { + if (!bottomNavigation.menu.findItem(R.id.bottom_navigation_item_map).isChecked) { + supportFragmentManager + .beginTransaction() + .replace(R.id.fragment_container, MapsFragment()) + .setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN) + .commit() + } + true + } + + R.id.bottom_navigation_item_profile -> { + if (!bottomNavigation.menu.findItem(R.id.bottom_navigation_item_profile).isChecked) { + supportFragmentManager + .beginTransaction() + .replace(R.id.fragment_container, ProfileFragment()) + .setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN) + .commit() + } + true + } + + else -> false + } + } catch (e:Exception) { + Log.e(MAIN_ACTIVITY_TAG, "Navigation failed", e) + false + } + } + } + + private fun logoutUserObserver() { + val observer = Observer { + when (it) { + true -> { + Log.d(MAIN_ACTIVITY_TAG, "firebaseUser is not null") + } + + false -> { + Log.d(MAIN_ACTIVITY_TAG, "firebaseUser is null") + val intent = Intent(this, MainActivity::class.java) + intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP) + startActivity(intent) + } + } + } + // set LifeCycle owner with MainActivity. Observe will be destroyed when MainActivity is destroyed + signInVM.getFirebaseAuthLogStatusLiveData().observe(this, observer) + } + + private fun checkLogin() { + when (signInVM.isLogIn()) { + true -> { + Log.d(MAIN_ACTIVITY_TAG, "Already login") + setupNavigationBar() + // Init Profile + val firebaseUser = signInVM.getFirebaseAuthCurUser() + profileVM.initAppUser(firebaseUser?.displayName ?: "", firebaseUser?.email ?: "", + firebaseUser?.uid ?: "", firebaseUser?.photoUrl.toString()) + logoutUserObserver() + } + + false -> { + Log.d(MAIN_ACTIVITY_TAG, "No login. Update UI") + findViewById(R.id.main_activity_view).removeAllViews() + supportFragmentManager + .beginTransaction() + .replace(R.id.main_activity_view, LoginFragment()) + .setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN) + .commit() + } + } + } + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + setContentView(R.layout.activity_main) + Log.d(MAIN_ACTIVITY_TAG, "onCreate") + signInVM.signInVMInit(this, this) + checkLogin() + } + + companion object { + const val MAIN_ACTIVITY_TAG = "MainActivity" + } + +} \ No newline at end of file diff --git a/android/canonical/app/src/main/java/com/google/samples/quickstart/canonical/MapsFragment.kt b/android/canonical/app/src/main/java/com/google/samples/quickstart/canonical/MapsFragment.kt new file mode 100644 index 00000000..f195d67a --- /dev/null +++ b/android/canonical/app/src/main/java/com/google/samples/quickstart/canonical/MapsFragment.kt @@ -0,0 +1,196 @@ +package com.google.samples.quickstart.canonical + +import android.Manifest +import android.app.Activity +import android.content.pm.PackageManager +import android.location.Location +import androidx.fragment.app.Fragment + +import android.os.Bundle +import android.util.Log +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.widget.LinearLayout +import android.widget.Toast +import androidx.core.content.ContextCompat.checkSelfPermission +import com.google.android.gms.location.FusedLocationProviderClient +import com.google.android.gms.location.LocationServices +import com.google.android.gms.common.api.Status + +import com.google.android.gms.maps.CameraUpdateFactory +import com.google.android.gms.maps.GoogleMap +import com.google.android.gms.maps.OnMapReadyCallback +import com.google.android.gms.maps.SupportMapFragment +import com.google.android.gms.maps.model.LatLng +import com.google.android.gms.maps.model.Marker +import com.google.android.gms.maps.model.MarkerOptions +import com.google.android.libraries.places.api.Places +import com.google.android.libraries.places.api.model.Place +import com.google.android.libraries.places.api.model.RectangularBounds +import com.google.android.libraries.places.api.net.PlacesClient +import com.google.android.libraries.places.widget.AutocompleteSupportFragment +import com.google.android.libraries.places.widget.listener.PlaceSelectionListener +import java.lang.Exception + +class MapsFragment : Fragment() { + + private lateinit var map: GoogleMap + private lateinit var fusedLocationClient: FusedLocationProviderClient + private lateinit var lastLocation: Location + private lateinit var placesClient : PlacesClient + private lateinit var autocompleteLayout : LinearLayout + private lateinit var targetLatLng : LatLng + private lateinit var targetName : String + private lateinit var autocompleteFragment : AutocompleteSupportFragment + private var currentLatLng : LatLng? = null + private var targetMarker : Marker? = null + + companion object { + private const val LOCATION_PERMISSION_REQUEST_CODE = 1 + private const val ZOOM_VALUE = 14f + private const val PADDING_RATIO = 1.5 + private const val FRAGMENT_TAG = "Mapfragment" + } + + override fun onRequestPermissionsResult(requestCode: Int, + permissions: Array, grantResults: IntArray) { + when (requestCode) { + LOCATION_PERMISSION_REQUEST_CODE -> { + // If request is cancelled, the result arrays are empty. + if ((grantResults.isNotEmpty() && + grantResults[0] == PackageManager.PERMISSION_GRANTED)) { + setUpMap() + } else { + // Explain to the user that the feature is unavailable because + // the features requires a permission that the user has denied. + } + return + } + else -> { + // Ignore all other requests. + } + } + } + + private fun initPlaces() { + context?.let { Places.initialize(it, getString(R.string.google_maps_key)) } + placesClient = context?.let { Places.createClient(it) }!! + } + + private fun setPlacesSearchBias() { + // Search nearby result + currentLatLng?.let { + autocompleteFragment.setLocationBias( + RectangularBounds.newInstance( + LatLng(currentLatLng!!.latitude - 1, currentLatLng!!.longitude - 1), + LatLng(currentLatLng!!.latitude + 1, currentLatLng!!.longitude + 1) + )) + } + } + + private fun setUpMap() { + if (checkSelfPermission(context as Activity, + Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED) { + requestPermissions(arrayOf(Manifest.permission.ACCESS_FINE_LOCATION), LOCATION_PERMISSION_REQUEST_CODE) + return + } + + // Add and adjust the position of MyLocation button. + map.isMyLocationEnabled = true + map.setPadding(0, (PADDING_RATIO * autocompleteLayout.height).toInt(),0,0) + + fusedLocationClient.lastLocation.addOnSuccessListener { location -> + // Got last known location. In some rare situations this can be null. + try { + location?.let { + Log.d(FRAGMENT_TAG, "Locating Success ${location.latitude}, ${location.longitude}") + lastLocation = location + currentLatLng = LatLng(location.latitude, location.longitude) + map.animateCamera(CameraUpdateFactory.newLatLngZoom( + currentLatLng, + ZOOM_VALUE + )) + map.addMarker(MarkerOptions() + .position(currentLatLng!!) + .title(getString(R.string.my_location_title))) + map.moveCamera(CameraUpdateFactory.newLatLngZoom( + currentLatLng, + ZOOM_VALUE + )) + setPlacesSearchBias() + } ?: run{ + Log.d(FRAGMENT_TAG, "Locating Failed") + Toast.makeText(this.context, getString(R.string.cannot_access_location), Toast.LENGTH_LONG).show() + } + } catch (e : Exception) { + Log.e(FRAGMENT_TAG, "Map generation failed", e) + } + + } + } + + private fun setUpAutocomplete(autocompleteFragment : AutocompleteSupportFragment, mapFragment : SupportMapFragment) { + autocompleteFragment.setPlaceFields(listOf(Place.Field.ID, Place.Field.NAME, Place.Field.LAT_LNG)) + autocompleteFragment.setOnPlaceSelectedListener(object : PlaceSelectionListener { + override fun onPlaceSelected(place: Place) { + targetLatLng = place.latLng!! + targetName = place.name.toString() + mapFragment.getMapAsync(searchPlacesCallback) + } + + override fun onError(status: Status) { + Log.e(FRAGMENT_TAG, "An error occurred: $status") + } + }) + } + + + private val mapReadyCallback = OnMapReadyCallback { googleMap -> + /** + * Manipulates the map once available. + * This callback is triggered when the map is ready to be used. + * This is where we can add markers or lines, add listeners or move the camera. + * In this case, we just add a marker near Sydney, Australia. + * If Google Play services is not installed on the device, the user will be prompted to + * install it inside the SupportMapFragment. This method will only be triggered once the + * user has installed Google Play services and returned to the app. + */ + map = googleMap + map.uiSettings.isZoomControlsEnabled = true + setUpMap() + } + + private val searchPlacesCallback = OnMapReadyCallback { map -> + targetMarker?.remove() + map.moveCamera(CameraUpdateFactory.newLatLngZoom( + targetLatLng, + ZOOM_VALUE + )) + targetMarker = map.addMarker(MarkerOptions() + .position(targetLatLng) + .title(targetName) + .draggable(true)) + } + + override fun onCreateView( + inflater: LayoutInflater, + container: ViewGroup?, + savedInstanceState: Bundle? + ): View? { + fusedLocationClient = LocationServices.getFusedLocationProviderClient(this.activity as Activity) + return inflater.inflate(R.layout.fragment_maps, container, false) + } + + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + super.onViewCreated(view, savedInstanceState) + initPlaces() + + val mapFragment = childFragmentManager.findFragmentById(R.id.map_fragment) as SupportMapFragment + autocompleteFragment = childFragmentManager.findFragmentById(R.id.autocomplete_fragment) as AutocompleteSupportFragment + autocompleteLayout = view.findViewById(R.id.autocomplete_linearLayout) + mapFragment.getMapAsync(mapReadyCallback) + + setUpAutocomplete(autocompleteFragment, mapFragment) + } +} diff --git a/android/canonical/app/src/main/java/com/google/samples/quickstart/canonical/ProfileFragment.kt b/android/canonical/app/src/main/java/com/google/samples/quickstart/canonical/ProfileFragment.kt new file mode 100644 index 00000000..34e62d32 --- /dev/null +++ b/android/canonical/app/src/main/java/com/google/samples/quickstart/canonical/ProfileFragment.kt @@ -0,0 +1,78 @@ +package com.google.samples.quickstart.canonical + +import android.os.Bundle +import android.util.Log +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.widget.ImageButton +import android.widget.ImageView +import android.widget.ListView +import androidx.fragment.app.Fragment +import androidx.fragment.app.activityViewModels +import androidx.databinding.DataBindingUtil +import com.google.samples.quickstart.canonical.databinding.FragmentProfileBinding +import kotlinx.coroutines.CoroutineScope +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.launch +import kotlinx.android.synthetic.main.fragment_profile.* + + +class ProfileFragment : Fragment() { + + private val signInVM: SignInViewModel by activityViewModels() + private val profileVM : ProfileViewModel by activityViewModels() + private lateinit var binding : FragmentProfileBinding + + private fun downloadPhotoAndSetView(userImage: ImageView) { + val url = profileVM.getUserPhotoURL() + if (url != "") { + Log.d(PROFILE_TAG, url) + CoroutineScope(Dispatchers.Main).launch{ + val bmImage = profileVM.downloadImage(url) + userImage.setImageBitmap(bmImage) + } + } + } + + private fun setRunHistory() { + val runHistoryListForView : ArrayList + = profileVM.getRunHistoryListForView() + val runHistoryAdapter = RunHistoryAdapter(requireContext(), runHistoryListForView) + val runHistoryListView = view?.findViewById(R.id.run_history_list_view) + runHistoryListView?.adapter = runHistoryAdapter + } + + override fun onCreateView( + inflater: LayoutInflater, container: ViewGroup?, + savedInstanceState: Bundle? + ): View? { + // Inflate the layout for this fragment + binding = DataBindingUtil.inflate(inflater, R.layout.fragment_profile, container, false) + binding.lifecycleOwner = this + binding.profileViewModel = profileVM + return binding.root + } + + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + super.onViewCreated(view, savedInstanceState) + val logoutButton : ImageButton = view.findViewById(R.id.logout_button) + logoutButton.setOnClickListener { + // Sign out both Google account and Firebase + signInVM.signOut() + } + val refreshButton : ImageButton = view.findViewById(R.id.refresh_button) + refreshButton.setOnClickListener { + profileVM.refreshUser(view.findViewById(R.id.run_history_list_view).adapter + as RunHistoryAdapter) + downloadPhotoAndSetView(usr_img) + } + setRunHistory() + // update UI + downloadPhotoAndSetView(usr_img) + } + + companion object { + private const val PROFILE_TAG = "ProfileFragment" + } +} diff --git a/android/canonical/app/src/main/java/com/google/samples/quickstart/canonical/ProfileViewModel.kt b/android/canonical/app/src/main/java/com/google/samples/quickstart/canonical/ProfileViewModel.kt new file mode 100644 index 00000000..11d1b8b4 --- /dev/null +++ b/android/canonical/app/src/main/java/com/google/samples/quickstart/canonical/ProfileViewModel.kt @@ -0,0 +1,226 @@ +package com.google.samples.quickstart.canonical + +import android.graphics.Bitmap +import android.graphics.BitmapFactory +import android.os.AsyncTask +import android.util.Log +import android.widget.ImageView +import androidx.lifecycle.MutableLiveData +import androidx.lifecycle.ViewModel +import androidx.lifecycle.viewModelScope +import com.google.firebase.firestore.DocumentReference +import com.google.firebase.firestore.FieldValue +import com.google.firebase.firestore.ktx.firestore +import com.google.firebase.ktx.Firebase +import kotlinx.coroutines.CoroutineScope +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.launch +import kotlinx.coroutines.withContext +import java.io.InputStream +import java.net.URL +import java.util.concurrent.TimeUnit + + +class ProfileViewModel : ViewModel() { + data class AppUser ( + var userName : String, + var email : String, + var uid : String, + var googleAccountProfileUrl : String, + var totalDistanceMeters : MutableLiveData = MutableLiveData(0), + var totalEnergyCalories : MutableLiveData = MutableLiveData(0), + var totalTimeMillisecond : MutableLiveData = MutableLiveData(0), + var runHistoryList : ArrayList> =ArrayList() + ) + + data class SingleRun ( + var time : String, + var dateTime : String + ) + + private lateinit var runUserDocRef : DocumentReference + private lateinit var curAppUser: AppUser + private var runHistoryListForView: ArrayList = ArrayList() + private var totalEnergyCaloriesMutableLiveDataString : MutableLiveData = MutableLiveData("") + private var totalTimeMutableLiveDataString : MutableLiveData = MutableLiveData("") + + + private fun getUid() : String { + return curAppUser.uid + } + + private fun getTotalTimeMillisecond() : Long? { + return curAppUser.totalTimeMillisecond.value + } + + private fun getRunHistoryList() : ArrayList> { + val reversedRunHistory = curAppUser.runHistoryList + reversedRunHistory.reverse() + Log.d(PROFILE_VM_TAG, "size ${reversedRunHistory.size}") + return reversedRunHistory + } + + private fun setTotalDistanceMeters(totalDistanceMeters : Long) { + curAppUser.totalDistanceMeters.value = totalDistanceMeters + } + + private fun setTotalEnergyCalories(totalEnergyCalories : Long) { + curAppUser.totalEnergyCalories.value = totalEnergyCalories + } + + private fun setTotalTimeMillisecond(totalTimeMillisecond : Long) { + curAppUser.totalTimeMillisecond.value = totalTimeMillisecond + } + + private fun setTotalEnergyCaloriesString() { + totalEnergyCaloriesMutableLiveDataString.value = curAppUser.totalEnergyCalories.value.toString() + } + + private fun setTotalTimeString() { + totalTimeMutableLiveDataString.value = convertMStoStringHMS(curAppUser.totalTimeMillisecond.value ?: 0) + } + + private fun setRunHistoryList(runHistoryList : ArrayList>) { + curAppUser.runHistoryList = runHistoryList + } + + private fun setRunHistoryListForView() { + runHistoryListForView.clear() + val runHistoryListOfHashMap = getRunHistoryList() + for (singleRun in runHistoryListOfHashMap) { + val singleRunTime : String = convertMStoStringHMS(singleRun[KEY_SINGLE_RUN_TIME] as Long) + val singleRunTimestamp : String = singleRun[KEY_SINGLE_RUN_TIMESTAMP] as String + runHistoryListForView.add(SingleRun(singleRunTime, singleRunTimestamp)) + } + } + + private fun convertMStoStringHMS(millionSeconds : Long) : String { + return "%02d:%02d:%02d".format( + TimeUnit.MILLISECONDS.toHours(millionSeconds), + TimeUnit.MILLISECONDS.toMinutes(millionSeconds) % TimeUnit.HOURS.toMinutes(1), + TimeUnit.MILLISECONDS.toSeconds(millionSeconds) % TimeUnit.MINUTES.toSeconds(1) + ) + } + + private fun calculateCalories(millionSeconds : Long) : Long { + return millionSeconds.div(4500) + } + + private fun syncAppUserStatistic(adapter: RunHistoryAdapter? = null) { + runUserDocRef.get() + .addOnSuccessListener {document -> + if (document != null) { + Log.d(PROFILE_VM_TAG, "Get doc successfully") + setTotalDistanceMeters(document.data!![KEY_TOTAL_DIS_M] as Long) + setTotalEnergyCalories(document.data!![KEY_TOTAL_EN_CAL] as Long) + setTotalTimeMillisecond(document.data!![KEY_TOTAL_TIME_MS] as Long) + setRunHistoryList(document.data!![KEY_RUN_HISTORY] as ArrayList>) + setRunHistoryListForView() + setTotalEnergyCaloriesString() + setTotalTimeString() + adapter?.notifyDataSetChanged() + } else { + Log.d(PROFILE_VM_TAG, "No such user") + } + } + .addOnFailureListener { + Log.w(PROFILE_VM_TAG, "Get doc Failed") + } + } + + fun getUserName() : String { + return curAppUser.userName + } + + fun getUserEmail() : String { + return curAppUser.email + } + + fun getUserPhotoURL() : String { + return curAppUser.googleAccountProfileUrl + } + + fun getTimeHMSMutableLiveData() : MutableLiveData { + return totalTimeMutableLiveDataString + } + + fun getTotalEnergyCaloriesMutableLiveData() : MutableLiveData { + return totalEnergyCaloriesMutableLiveDataString + } + + fun getRunHistoryListForView(): ArrayList { + return runHistoryListForView + } + + fun initAppUser(userName: String, email: String, uid: String, photoURL: String, + userCollectionName : String = USER_COLLECTION_NAME) { + Log.d(PROFILE_VM_TAG, "initAppUser") + curAppUser = AppUser(userName, email, uid, photoURL) + runUserDocRef = Firebase.firestore.collection(userCollectionName).document(getUid()) + syncAppUserStatistic() + } + + fun refreshUser(adapter: RunHistoryAdapter) { + syncAppUserStatistic(adapter) + } + + fun uploadNewRecord(singleRunningTimeMillionSeconds : Long, timestamp : String) { + + val singleRunningCalories = calculateCalories(singleRunningTimeMillionSeconds ?: 0) + + Log.d(PROFILE_VM_TAG, "newTotalTimeMillisecond $singleRunningTimeMillionSeconds") + + val singleRunData = hashMapOf( + KEY_SINGLE_RUN_TIME to singleRunningTimeMillionSeconds, + KEY_SINGLE_RUN_TIMESTAMP to timestamp + ) + + val updateRunUserData = hashMapOf( + KEY_TOTAL_TIME_MS to FieldValue.increment(singleRunningTimeMillionSeconds), + KEY_TOTAL_EN_CAL to FieldValue.increment(singleRunningCalories), + KEY_RUN_HISTORY to FieldValue.arrayUnion(singleRunData) + ) + + + Firebase.firestore.runBatch { batch -> + batch.update(runUserDocRef, updateRunUserData as Map) + + } + .addOnSuccessListener { + Log.d(PROFILE_VM_TAG, "Upload record successfully") + syncAppUserStatistic() + } + } + + suspend fun downloadImage(url: String): Bitmap? { + var userPhotoBitmap: Bitmap? = null + try { + Log.d(PROFILE_VM_TAG, url) + withContext(Dispatchers.IO) { + val inStream: InputStream = URL(url).openStream() + userPhotoBitmap = BitmapFactory.decodeStream(inStream) + } + } catch (e: Exception) { + Log.e(PROFILE_VM_TAG, e.message!!) + } + return userPhotoBitmap + } + + + companion object { + const val PROFILE_VM_TAG = "ProfileVM" + + const val USER_COLLECTION_NAME = "RunUser" + const val KEY_USR_NAME = "UserName" + const val KEY_USR_EMAIL = "Email" + const val KEY_TOTAL_DIS_M = "TotalDistanceMeters" + const val KEY_TOTAL_EN_CAL = "TotalEnergyCalories" + const val KEY_TOTAL_TIME_MS = "TotalTimeMillisecond" + const val KEY_RUN_HISTORY = "RunHistory" + + const val KEY_SINGLE_RUN_TIME = "Time" + const val KEY_SINGLE_RUN_TIMESTAMP = "Timestamp" + + const val DEFAULT_TIME = "00:00:00" + } +} \ No newline at end of file diff --git a/android/canonical/app/src/main/java/com/google/samples/quickstart/canonical/RunFragment.kt b/android/canonical/app/src/main/java/com/google/samples/quickstart/canonical/RunFragment.kt new file mode 100644 index 00000000..1933cd9c --- /dev/null +++ b/android/canonical/app/src/main/java/com/google/samples/quickstart/canonical/RunFragment.kt @@ -0,0 +1,139 @@ +package com.google.samples.quickstart.canonical + +import android.app.AlertDialog +import android.os.Bundle +import android.os.SystemClock +import android.util.Log +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.widget.Toast +import androidx.databinding.DataBindingUtil +import androidx.fragment.app.Fragment +import androidx.fragment.app.activityViewModels +import com.google.samples.quickstart.canonical.databinding.FragmentRunBinding +import kotlinx.android.synthetic.main.fragment_run.* +import java.text.SimpleDateFormat +import java.util.* + + +class RunFragment : Fragment() { + + private val stopwatchVM: StopwatchViewModel by activityViewModels() + private val profileViewModel : ProfileViewModel by activityViewModels() + private lateinit var binding : FragmentRunBinding + + private fun pauseStopwatch() { + running_chronometer.stop() + stopwatchVM.pauseStopwatch(running_chronometer.base) + } + + private fun startStopwatch() { + running_chronometer.base = SystemClock.elapsedRealtime() - stopwatchVM.getPauseOffset() + running_chronometer.start() + stopwatchVM.startStopwatch() + } + + private fun resetStopwatch() { + running_chronometer.base = SystemClock.elapsedRealtime() + running_chronometer.stop() + stopwatchVM.resetStopwatch() + } + + private fun startOrPauseStopwatch() { + if (!stopwatchVM.getIsStopwatchWorking()) { + // pause/init status -> start status + startStopwatch() + } else { + // start status -> pause/init status + pauseStopwatch() + } + } + + private fun submitRecord() { + if (!stopwatchVM.getIsReadyForUpload()) { + Toast.makeText(context, getString(R.string.submit_illegal), Toast.LENGTH_SHORT).show() + return + } + + // pause stopwatch if stopwatch is working before user make a confirmation + if (stopwatchVM.getIsStopwatchWorking()) { + pauseStopwatch() + } + + // build alert dialog + val dialogBuilder = AlertDialog.Builder(context) + dialogBuilder.setMessage(getString(R.string.submit_confirm_dialog_message)) + .setCancelable(false) + // user confirm submission + .setPositiveButton(getString(R.string.dialog_confirm_button)) { dialog, id -> + Toast.makeText(context, "Submitted", Toast.LENGTH_SHORT).show() + profileViewModel.uploadNewRecord(stopwatchVM.getPauseOffset(), getCurDateAndTime()) + resetStopwatch() + } + // user cancel submission + .setNegativeButton(getString(R.string.dialog_cancel_button)) { dialog, id -> + dialog.cancel() + } + + // submit alert show + val alert = dialogBuilder.create() + alert.setTitle(getString(R.string.submit_confirm_dialog_title)) + alert.show() + } + + private fun getCurDateAndTime() : String { + val date = SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.US).format(Date()) + Log.d(RUN_FRAGMENT_TAG,"date $date") + return date + } + + override fun onCreateView( + inflater: LayoutInflater, container: ViewGroup?, + savedInstanceState: Bundle? + ): View? { + binding = DataBindingUtil.inflate(inflater, R.layout.fragment_run, container, false) + binding.lifecycleOwner = this + binding.stopwatchViewModel = stopwatchVM + return binding.root + } + + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + super.onViewCreated(view, savedInstanceState) + + binding.startPauseBtn.setOnClickListener { + startOrPauseStopwatch() + } + + binding.resetBtn.setOnClickListener { + resetStopwatch() + } + + binding.submitBtn.setOnClickListener { + submitRecord() + } + + } + + override fun onResume() { + super.onResume() + if (stopwatchVM.getIsStopwatchWorking()) { + running_chronometer.base = stopwatchVM.getActualStartTimeBeforeFragmentPause() + running_chronometer.start() + } else { + running_chronometer.base = SystemClock.elapsedRealtime() - stopwatchVM.getPauseOffset() + running_chronometer.stop() + } + } + + override fun onPause() { + super.onPause() + if (stopwatchVM.getIsStopwatchWorking()) { + stopwatchVM.saveStopwatchStatus(running_chronometer.base) + } + } + + companion object { + const val RUN_FRAGMENT_TAG = "RunFragment" + } +} \ No newline at end of file diff --git a/android/canonical/app/src/main/java/com/google/samples/quickstart/canonical/RunHistoryAdapter.kt b/android/canonical/app/src/main/java/com/google/samples/quickstart/canonical/RunHistoryAdapter.kt new file mode 100644 index 00000000..e637e17a --- /dev/null +++ b/android/canonical/app/src/main/java/com/google/samples/quickstart/canonical/RunHistoryAdapter.kt @@ -0,0 +1,56 @@ +package com.google.samples.quickstart.canonical + +import android.content.Context +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.widget.BaseAdapter +import android.widget.TextView + + +class RunHistoryAdapter( + context: Context, + private val runHistoryArrayList: ArrayList) : BaseAdapter() { + + private val inflater: LayoutInflater + = context.getSystemService(Context.LAYOUT_INFLATER_SERVICE) as LayoutInflater + + override fun getCount(): Int { + return runHistoryArrayList.size + } + + override fun getItem(position: Int): Any { + return runHistoryArrayList[position] + } + + override fun getItemId(position: Int): Long { + return position.toLong() + } + + override fun getView(position: Int, convertView: View?, parent: ViewGroup): View { + // Get view for row item + val rowView : View + val holder : ViewHolder + if (convertView == null) { + rowView = inflater.inflate(R.layout.single_run_item, parent, false) + holder = ViewHolder(rowView) + rowView.tag = holder + } else { + rowView = convertView + holder = rowView.tag as ViewHolder + } + + val singleRun = getItem(position) as ProfileViewModel.SingleRun + holder.timeTextView.text = singleRun.time + holder.datetimeTextView.text = singleRun.dateTime + + return rowView + } + + private class ViewHolder(row: View) { + val timeTextView: TextView = row.findViewById(R.id.single_run_time) + val datetimeTextView: TextView = row.findViewById(R.id.single_run_datetime) + } + +} + diff --git a/android/canonical/app/src/main/java/com/google/samples/quickstart/canonical/SignInViewModel.kt b/android/canonical/app/src/main/java/com/google/samples/quickstart/canonical/SignInViewModel.kt new file mode 100644 index 00000000..7c2701d5 --- /dev/null +++ b/android/canonical/app/src/main/java/com/google/samples/quickstart/canonical/SignInViewModel.kt @@ -0,0 +1,203 @@ +package com.google.samples.quickstart.canonical + +import android.content.Context +import android.content.Intent +import android.util.Log +import android.widget.Toast +import androidx.lifecycle.MutableLiveData +import androidx.lifecycle.ViewModel +import com.google.android.gms.auth.api.signin.GoogleSignIn +import com.google.android.gms.auth.api.signin.GoogleSignInClient +import com.google.android.gms.auth.api.signin.GoogleSignInOptions +import com.google.android.gms.common.api.ApiException +import com.google.android.gms.tasks.Task +import com.google.android.gms.tasks.Tasks +import com.google.firebase.auth.FirebaseAuth +import com.google.firebase.auth.FirebaseUser +import com.google.firebase.auth.GoogleAuthProvider +import com.google.firebase.firestore.ktx.firestore +import com.google.firebase.ktx.Firebase + + +class SignInViewModel : ViewModel() { + data class CurFirebaseUser( + var firebaseUser: MutableLiveData = MutableLiveData(FirebaseAuth.getInstance().currentUser), + var isLogin: MutableLiveData = MutableLiveData(firebaseUser.value?.let { true } ?: run{ false }) + ) + + private lateinit var googleSignInClient: GoogleSignInClient + private lateinit var context: Context + private lateinit var activity: MainActivity + private var authStateListenerForSignOut : FirebaseAuth.AuthStateListener? = null + private lateinit var curFirebaseUser : MutableLiveData + + + private fun setResources(activityContext: Context, activityMain: MainActivity) { + context = activityContext + activity = activityMain + } + + private fun signInFailureHandle() { + Toast.makeText(context, context.getString(R.string.login_failed), Toast.LENGTH_SHORT).show() + signOut() + } + + private fun setCurFirebaseUser(firebaseUser: FirebaseUser) { + curFirebaseUser.value!!.firebaseUser.value = firebaseUser + curFirebaseUser.value!!.isLogin.value = true + } + + private fun googleSignInInit() { + val gso = GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN) + .requestIdToken(context.getString(R.string.default_web_client_id)) + .requestEmail() + .requestProfile() + .build() + + googleSignInClient = GoogleSignIn.getClient(activity, gso) + Log.d(SIGN_IN_VM_TAG, "googleSignInClientInit") + } + + private fun firebaseSignOutInit() { + Log.d(SIGN_IN_VM_TAG, "firebaseSignOutInit") + authStateListenerForSignOut = FirebaseAuth.AuthStateListener { + it.currentUser ?: let { + Log.w(SIGN_IN_VM_TAG, "firebaseSignOut Succeed") + curFirebaseUser.value!!.firebaseUser.value = null + curFirebaseUser.value!!.isLogin.value = false + } + } + FirebaseAuth.getInstance().addAuthStateListener(authStateListenerForSignOut!!) + } + + private fun createUser(firebaseUser : FirebaseUser, userCollectionName : String = ProfileViewModel.USER_COLLECTION_NAME) { + val db = Firebase.firestore + val dbFirebaseUser = hashMapOf( + ProfileViewModel.KEY_USR_NAME to (firebaseUser.displayName ?: ""), + ProfileViewModel.KEY_USR_EMAIL to (firebaseUser.email ?: ""), + ProfileViewModel.KEY_TOTAL_DIS_M to 0L, + ProfileViewModel.KEY_TOTAL_EN_CAL to 0L, + ProfileViewModel.KEY_TOTAL_TIME_MS to 0L, + ProfileViewModel.KEY_RUN_HISTORY to arrayListOf>() + ) + val ref = db.collection(userCollectionName).document(firebaseUser.uid) + ref.get() + .onSuccessTask { document -> + when (document!!.exists()) { + true -> { + Log.d(SIGN_IN_VM_TAG, "User already exist with ID: ${document.id}") + Tasks.forResult(null) + } + false -> ref.set(dbFirebaseUser) // New user + + } as Task + } + .addOnSuccessListener { + setCurFirebaseUser(firebaseUser) + Log.d(SIGN_IN_VM_TAG, "Create user with ID: ${ref.id}") + } + .addOnFailureListener { + signInFailureHandle() + Log.w(SIGN_IN_VM_TAG, "Error adding new user") + } + } + + private fun googleSignOut() { + googleSignInInit() + googleSignInClient.signOut() + .addOnFailureListener { + Log.w(SIGN_IN_VM_TAG, "googleSignOut Failed") + Toast.makeText(context, context.getString(R.string.sign_out_failed), Toast.LENGTH_SHORT).show() + } + } + + private fun firebaseSignOut() { + firebaseSignOutInit() + FirebaseAuth.getInstance().signOut() + } + + private fun firebaseAuthWithGoogle(idToken: String) { + Log.d(SIGN_IN_VM_TAG, "firebaseAuthWithGoogle start") + val auth = FirebaseAuth.getInstance() + val credential = GoogleAuthProvider.getCredential(idToken, null) + auth.signInWithCredential(credential) + .addOnCompleteListener { task -> + Log.d(SIGN_IN_VM_TAG, "firebase firebaseAuthWithGoogle:task check") + if (task.isSuccessful) { + // Firebase Sign in success, update UI with the signed-in user's information + Log.d(SIGN_IN_VM_TAG, "firebase signInWithCredential:success") + Log.d(SIGN_IN_VM_TAG, "firebase signed-in user's Email:" + auth.currentUser!!.email) + createUser(auth.currentUser!!) + } else { + // If sign in fails, log a message to the user. + signInFailureHandle() + Log.w(SIGN_IN_VM_TAG, "signInWithCredential:failure", task.exception) + } + } + } + + fun firebaseAuth(data: Intent?) : Int { + val task = GoogleSignIn.getSignedInAccountFromIntent(data) + if (task.isSuccessful) { + return try { + // Google Sign In was successful, authenticate with Firebase + val account = task.getResult(ApiException::class.java)!! + Log.d(SIGN_IN_VM_TAG, "Google Sign In was successful:" + account.idToken) + firebaseAuthWithGoogle(account.idToken!!) + FIREBASE_AUTH_WITH_GOOGLE_SUCCESSFUL + } catch (e: ApiException) { + // Google Sign In failed + Log.w(SIGN_IN_VM_TAG, "Google sign in failed", e) + FIREBASE_AUTH_WITH_GOOGLE_FAIL + } + } else { + Toast.makeText(context, context.getString(R.string.login_failed), Toast.LENGTH_SHORT).show() + Log.w(SIGN_IN_VM_TAG, "Google sign in unsuccessful") + signInFailureHandle() + return GOOGLE_SIGN_IN_UNSUCCESSFUL + } + } + + fun getFirebaseAuthLogStatusLiveData(): MutableLiveData { + return curFirebaseUser.value!!.isLogin + } + + fun getFirebaseAuthCurUser(): FirebaseUser? { + return curFirebaseUser.value!!.firebaseUser.value + } + + fun getSignInIntent(): Intent { + googleSignInInit() + return googleSignInClient.signInIntent + } + + fun signInVMInit(activityContext: Context, activityMain: MainActivity) { + Log.d(SIGN_IN_VM_TAG, "signInInit") + setResources(activityContext, activityMain) + curFirebaseUser = MutableLiveData(CurFirebaseUser()) + } + + fun isLogIn(): Boolean { + Log.d(SIGN_IN_VM_TAG, "isLogIn():"+curFirebaseUser.value!!.isLogin.value.toString()) + return curFirebaseUser.value!!.isLogin.value!! + } + + fun signOut() { + firebaseSignOut() + googleSignOut() + } + + override fun onCleared() { + super.onCleared() + authStateListenerForSignOut?.let { + FirebaseAuth.getInstance().removeAuthStateListener(authStateListenerForSignOut!!) + } + } + + companion object { + const val SIGN_IN_VM_TAG = "signInVM" + const val GOOGLE_SIGN_IN_UNSUCCESSFUL = 1 + const val FIREBASE_AUTH_WITH_GOOGLE_SUCCESSFUL = 2 + const val FIREBASE_AUTH_WITH_GOOGLE_FAIL = 3 + } +} \ No newline at end of file diff --git a/android/canonical/app/src/main/java/com/google/samples/quickstart/canonical/StopwatchViewModel.kt b/android/canonical/app/src/main/java/com/google/samples/quickstart/canonical/StopwatchViewModel.kt new file mode 100644 index 00000000..dc22f578 --- /dev/null +++ b/android/canonical/app/src/main/java/com/google/samples/quickstart/canonical/StopwatchViewModel.kt @@ -0,0 +1,75 @@ +package com.google.samples.quickstart.canonical + +import android.os.SystemClock +import androidx.lifecycle.MutableLiveData +import androidx.lifecycle.ViewModel + +class StopwatchViewModel : ViewModel() { + + private var pauseOffset = MutableLiveData(0L) + private var fragmentPauseStartTime = MutableLiveData(0L) + private var isStopwatchWorking = MutableLiveData(false) + private var isReadyForUpload = MutableLiveData(false) + + private fun setPauseOffset(pause_offset_value:Long){ + pauseOffset.value = pause_offset_value + } + + private fun setIsStopwatchWorkingStatus(working_status:Boolean){ + isStopwatchWorking.value = working_status + } + + private fun setIsReadyForUploadStatus(upload_status:Boolean){ + isReadyForUpload.value = upload_status + } + + private fun setFragmentPauseStartTime(fragment_pause_start_time:Long){ + fragmentPauseStartTime.value = fragment_pause_start_time + } + + fun getFragmentPauseStartTime() : Long { + return fragmentPauseStartTime.value!! + } + + fun getPauseOffset() : Long { + return pauseOffset.value!! + } + + fun getIsStopwatchWorkingMutableLiveData() : MutableLiveData { + return isStopwatchWorking + } + + fun getIsStopwatchWorking() : Boolean { + return isStopwatchWorking.value!! + } + + fun getIsReadyForUpload() : Boolean { + return isReadyForUpload.value!! + } + + fun getActualStartTimeBeforeFragmentPause(): Long { + return getFragmentPauseStartTime() - getPauseOffset() + } + + fun pauseStopwatch(curStopwatchBase : Long) { + setPauseOffset(SystemClock.elapsedRealtime() - curStopwatchBase) + setIsStopwatchWorkingStatus(false) + } + + fun startStopwatch() { + setIsStopwatchWorkingStatus(true) + setIsReadyForUploadStatus(true) + } + + fun resetStopwatch() { + setPauseOffset(0) + setIsStopwatchWorkingStatus(false) + setIsReadyForUploadStatus(false) + setFragmentPauseStartTime(0) + } + + fun saveStopwatchStatus(curStopwatchBase : Long) { + setPauseOffset(SystemClock.elapsedRealtime() - curStopwatchBase) + setFragmentPauseStartTime(SystemClock.elapsedRealtime()) + } +} \ No newline at end of file diff --git a/android/canonical/app/src/main/res/drawable-v24/ic_launcher_foreground.xml b/android/canonical/app/src/main/res/drawable-v24/ic_launcher_foreground.xml new file mode 100644 index 00000000..966abaff --- /dev/null +++ b/android/canonical/app/src/main/res/drawable-v24/ic_launcher_foreground.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/android/canonical/app/src/main/res/drawable/ic_baseline_access_alarm_24.xml b/android/canonical/app/src/main/res/drawable/ic_baseline_access_alarm_24.xml new file mode 100644 index 00000000..5c0154b7 --- /dev/null +++ b/android/canonical/app/src/main/res/drawable/ic_baseline_access_alarm_24.xml @@ -0,0 +1,10 @@ + + + diff --git a/android/canonical/app/src/main/res/drawable/ic_baseline_directions_run_24.xml b/android/canonical/app/src/main/res/drawable/ic_baseline_directions_run_24.xml new file mode 100644 index 00000000..160dd540 --- /dev/null +++ b/android/canonical/app/src/main/res/drawable/ic_baseline_directions_run_24.xml @@ -0,0 +1,10 @@ + + + diff --git a/android/canonical/app/src/main/res/drawable/ic_baseline_exit_to_app_24.xml b/android/canonical/app/src/main/res/drawable/ic_baseline_exit_to_app_24.xml new file mode 100644 index 00000000..83cdf05a --- /dev/null +++ b/android/canonical/app/src/main/res/drawable/ic_baseline_exit_to_app_24.xml @@ -0,0 +1,10 @@ + + + diff --git a/android/canonical/app/src/main/res/drawable/ic_baseline_map_24.xml b/android/canonical/app/src/main/res/drawable/ic_baseline_map_24.xml new file mode 100644 index 00000000..d1274d89 --- /dev/null +++ b/android/canonical/app/src/main/res/drawable/ic_baseline_map_24.xml @@ -0,0 +1,10 @@ + + + diff --git a/android/canonical/app/src/main/res/drawable/ic_baseline_pause_24.xml b/android/canonical/app/src/main/res/drawable/ic_baseline_pause_24.xml new file mode 100644 index 00000000..13d6d2ec --- /dev/null +++ b/android/canonical/app/src/main/res/drawable/ic_baseline_pause_24.xml @@ -0,0 +1,10 @@ + + + diff --git a/android/canonical/app/src/main/res/drawable/ic_baseline_people_24.xml b/android/canonical/app/src/main/res/drawable/ic_baseline_people_24.xml new file mode 100644 index 00000000..2989eb66 --- /dev/null +++ b/android/canonical/app/src/main/res/drawable/ic_baseline_people_24.xml @@ -0,0 +1,10 @@ + + + diff --git a/android/canonical/app/src/main/res/drawable/ic_baseline_person_24.xml b/android/canonical/app/src/main/res/drawable/ic_baseline_person_24.xml new file mode 100644 index 00000000..6bdced2d --- /dev/null +++ b/android/canonical/app/src/main/res/drawable/ic_baseline_person_24.xml @@ -0,0 +1,10 @@ + + + diff --git a/android/canonical/app/src/main/res/drawable/ic_baseline_refresh_24.xml b/android/canonical/app/src/main/res/drawable/ic_baseline_refresh_24.xml new file mode 100644 index 00000000..f2be45ba --- /dev/null +++ b/android/canonical/app/src/main/res/drawable/ic_baseline_refresh_24.xml @@ -0,0 +1,10 @@ + + + diff --git a/android/canonical/app/src/main/res/drawable/ic_baseline_send_24.xml b/android/canonical/app/src/main/res/drawable/ic_baseline_send_24.xml new file mode 100644 index 00000000..fe37f93f --- /dev/null +++ b/android/canonical/app/src/main/res/drawable/ic_baseline_send_24.xml @@ -0,0 +1,10 @@ + + + diff --git a/android/canonical/app/src/main/res/drawable/ic_baseline_timer_24.xml b/android/canonical/app/src/main/res/drawable/ic_baseline_timer_24.xml new file mode 100644 index 00000000..18975721 --- /dev/null +++ b/android/canonical/app/src/main/res/drawable/ic_baseline_timer_24.xml @@ -0,0 +1,10 @@ + + + diff --git a/android/canonical/app/src/main/res/drawable/ic_launcher.xml b/android/canonical/app/src/main/res/drawable/ic_launcher.xml new file mode 100644 index 00000000..481518f0 --- /dev/null +++ b/android/canonical/app/src/main/res/drawable/ic_launcher.xml @@ -0,0 +1,15 @@ + + + + diff --git a/android/canonical/app/src/main/res/drawable/ic_launcher_background.xml b/android/canonical/app/src/main/res/drawable/ic_launcher_background.xml new file mode 100644 index 00000000..61bb79ed --- /dev/null +++ b/android/canonical/app/src/main/res/drawable/ic_launcher_background.xml @@ -0,0 +1,170 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/android/canonical/app/src/main/res/drawable/ic_login_page.xml b/android/canonical/app/src/main/res/drawable/ic_login_page.xml new file mode 100644 index 00000000..604da397 --- /dev/null +++ b/android/canonical/app/src/main/res/drawable/ic_login_page.xml @@ -0,0 +1,14 @@ + + + + diff --git a/android/canonical/app/src/main/res/drawable/ic_werun_launcher_foreground.xml b/android/canonical/app/src/main/res/drawable/ic_werun_launcher_foreground.xml new file mode 100644 index 00000000..93e2de55 --- /dev/null +++ b/android/canonical/app/src/main/res/drawable/ic_werun_launcher_foreground.xml @@ -0,0 +1,20 @@ + + + + + + diff --git a/android/canonical/app/src/main/res/drawable/launcher_bg.xml b/android/canonical/app/src/main/res/drawable/launcher_bg.xml new file mode 100644 index 00000000..ed63c889 --- /dev/null +++ b/android/canonical/app/src/main/res/drawable/launcher_bg.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/android/canonical/app/src/main/res/drawable/profile_bg.xml b/android/canonical/app/src/main/res/drawable/profile_bg.xml new file mode 100644 index 00000000..e7c326dd --- /dev/null +++ b/android/canonical/app/src/main/res/drawable/profile_bg.xml @@ -0,0 +1,7 @@ + + + \ No newline at end of file diff --git a/android/canonical/app/src/main/res/drawable/profile_statistic_bar_bg.xml b/android/canonical/app/src/main/res/drawable/profile_statistic_bar_bg.xml new file mode 100644 index 00000000..db032a2c --- /dev/null +++ b/android/canonical/app/src/main/res/drawable/profile_statistic_bar_bg.xml @@ -0,0 +1,7 @@ + + + \ No newline at end of file diff --git a/android/canonical/app/src/main/res/layout/activity_main.xml b/android/canonical/app/src/main/res/layout/activity_main.xml new file mode 100644 index 00000000..e032ad61 --- /dev/null +++ b/android/canonical/app/src/main/res/layout/activity_main.xml @@ -0,0 +1,27 @@ + + + + + + + + \ No newline at end of file diff --git a/android/canonical/app/src/main/res/layout/fragment_login.xml b/android/canonical/app/src/main/res/layout/fragment_login.xml new file mode 100644 index 00000000..7f966171 --- /dev/null +++ b/android/canonical/app/src/main/res/layout/fragment_login.xml @@ -0,0 +1,42 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/android/canonical/app/src/main/res/layout/fragment_maps.xml b/android/canonical/app/src/main/res/layout/fragment_maps.xml new file mode 100644 index 00000000..a023bad9 --- /dev/null +++ b/android/canonical/app/src/main/res/layout/fragment_maps.xml @@ -0,0 +1,26 @@ + + + + + + + + + + \ No newline at end of file diff --git a/android/canonical/app/src/main/res/layout/fragment_profile.xml b/android/canonical/app/src/main/res/layout/fragment_profile.xml new file mode 100644 index 00000000..bdb62211 --- /dev/null +++ b/android/canonical/app/src/main/res/layout/fragment_profile.xml @@ -0,0 +1,184 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/canonical/app/src/main/res/layout/fragment_run.xml b/android/canonical/app/src/main/res/layout/fragment_run.xml new file mode 100644 index 00000000..cf94c399 --- /dev/null +++ b/android/canonical/app/src/main/res/layout/fragment_run.xml @@ -0,0 +1,81 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/canonical/app/src/main/res/layout/single_run_item.xml b/android/canonical/app/src/main/res/layout/single_run_item.xml new file mode 100644 index 00000000..043f90ca --- /dev/null +++ b/android/canonical/app/src/main/res/layout/single_run_item.xml @@ -0,0 +1,32 @@ + + + + + + + \ No newline at end of file diff --git a/android/canonical/app/src/main/res/menu/bottom_navigation_menu.xml b/android/canonical/app/src/main/res/menu/bottom_navigation_menu.xml new file mode 100644 index 00000000..b05fc766 --- /dev/null +++ b/android/canonical/app/src/main/res/menu/bottom_navigation_menu.xml @@ -0,0 +1,18 @@ + + + + + + + + + \ No newline at end of file diff --git a/android/canonical/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/android/canonical/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml new file mode 100644 index 00000000..03eed253 --- /dev/null +++ b/android/canonical/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/android/canonical/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml b/android/canonical/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml new file mode 100644 index 00000000..03eed253 --- /dev/null +++ b/android/canonical/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/android/canonical/app/src/main/res/mipmap-anydpi-v26/ic_werun_launcher.xml b/android/canonical/app/src/main/res/mipmap-anydpi-v26/ic_werun_launcher.xml new file mode 100644 index 00000000..3142efa3 --- /dev/null +++ b/android/canonical/app/src/main/res/mipmap-anydpi-v26/ic_werun_launcher.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/android/canonical/app/src/main/res/mipmap-anydpi-v26/ic_werun_launcher_round.xml b/android/canonical/app/src/main/res/mipmap-anydpi-v26/ic_werun_launcher_round.xml new file mode 100644 index 00000000..3142efa3 --- /dev/null +++ b/android/canonical/app/src/main/res/mipmap-anydpi-v26/ic_werun_launcher_round.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/android/canonical/app/src/main/res/mipmap-hdpi/ic_launcher.png b/android/canonical/app/src/main/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..a571e60098c92c2baca8a5df62f2929cbff01b52 GIT binary patch literal 3593 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 P00000NkvXXu0mjfP=x?Y literal 0 HcmV?d00001 diff --git a/android/canonical/app/src/main/res/mipmap-hdpi/ic_launcher_round.png b/android/canonical/app/src/main/res/mipmap-hdpi/ic_launcher_round.png new file mode 100644 index 0000000000000000000000000000000000000000..61da551c5594a1f9d26193983d2cd69189014603 GIT binary patch literal 5339 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 Te(k0z00000NkvXXu0mjf>a9*f literal 0 HcmV?d00001 diff --git a/android/canonical/app/src/main/res/mipmap-hdpi/ic_werun_launcher_background.png b/android/canonical/app/src/main/res/mipmap-hdpi/ic_werun_launcher_background.png new file mode 100644 index 0000000000000000000000000000000000000000..872b2fb09dc928c1feaa8d13c0bf30583c5e499a GIT binary patch literal 13274 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 Ye}_L+=D%zyRsaA107*qoM6N<$f}#KcVgLXD literal 0 HcmV?d00001 diff --git a/android/canonical/app/src/main/res/mipmap-hdpi/ic_werun_launcher_round.png b/android/canonical/app/src/main/res/mipmap-hdpi/ic_werun_launcher_round.png new file mode 100644 index 0000000000000000000000000000000000000000..5cc3f877f8e1fb68eb26645583a57c1c19e72edc GIT binary patch literal 5622 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 literal 0 HcmV?d00001 diff --git a/android/canonical/app/src/main/res/mipmap-mdpi/ic_launcher.png b/android/canonical/app/src/main/res/mipmap-mdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..c41dd28531901b2c23927768c84bb6765ebcc1db GIT binary patch literal 2636 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 literal 0 HcmV?d00001 diff --git a/android/canonical/app/src/main/res/mipmap-mdpi/ic_werun_launcher_round.png b/android/canonical/app/src/main/res/mipmap-mdpi/ic_werun_launcher_round.png new file mode 100644 index 0000000000000000000000000000000000000000..849c20e595cb3c6948976c1ebcb46e5f12ce7176 GIT binary patch literal 3527 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 literal 0 HcmV?d00001 diff --git a/android/canonical/app/src/main/res/mipmap-xhdpi/ic_werun_launcher_round.png b/android/canonical/app/src/main/res/mipmap-xhdpi/ic_werun_launcher_round.png new file mode 100644 index 0000000000000000000000000000000000000000..add1575c74e6e219ecf4e3b1259b47a8d68f3d81 GIT binary patch literal 8090 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 literal 0 HcmV?d00001 diff --git a/android/canonical/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/android/canonical/app/src/main/res/mipmap-xxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..15ac681720f3df43c647bf0c081f0314ee34eae1 GIT binary patch literal 7909 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 literal 0 HcmV?d00001 diff --git a/android/canonical/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png b/android/canonical/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png new file mode 100644 index 0000000000000000000000000000000000000000..b216f2d313cc673d8b8c4da591c174ebed52795c GIT binary patch literal 11873 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

xf&5JmJ_1`fP-QdL#voG#9Tv9q@c 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 literal 0 HcmV?d00001 diff --git a/android/canonical/app/src/main/res/mipmap-xxxhdpi/ic_werun_launcher.png b/android/canonical/app/src/main/res/mipmap-xxxhdpi/ic_werun_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..f0f5146f7cea58dce4793aac8eb838ef764dc522 GIT binary patch literal 14477 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 literal 0 HcmV?d00001 diff --git a/android/canonical/app/src/main/res/mipmap-xxxhdpi/ic_werun_launcher_background.png b/android/canonical/app/src/main/res/mipmap-xxxhdpi/ic_werun_launcher_background.png new file mode 100644 index 0000000000000000000000000000000000000000..3a66c3c3960cd34177e468d3bbd9b5d89a0a8a13 GIT binary patch literal 49988 zcmWh!cQ~706t?%K_DHDNC`r)Tv96KK?Yev>D6yiA%*oFXN}UwvrOcY)lH)r?P1tgLJux{=1BwkP0G4({+~?DjsoT`L{>AWC;7 zy6j)`2n$o~Hp5Q8-OPaMknUKQ?q4cI?`L&T5;^_kl8%g zEjK%PP~`CI(G7#hHx)tJ-NT=@J7?JJ-U7exDE~U^%>?%|5hh6VF6x#0%*1?d%M`ys zTeQT-(atmB1^t=e2_$R(d1Y4E?WCEX<})&sKLHKJ4D?fUd!4%!q7!1q@3R*8ttVpU z0~vLW9V{HL%l}=K310KTw(BqR=OK_KNEjEv-E`~zk@f})$%?U=;ek7?30BHUJLL6X zqu2`t(4z>tDdKVja91Rgp&_VVvzg0%#CxPvfqqNip{}8`2-<>wxwlC<3wXff&j%PC zi73>5IM-$S=DnQg_ zc6URKTtm!!4aTy;bNbK!ERGO^v3jTXmSJY5B9DQ9e$EnczA6F*FH=*2gHKT`b~SS)2(K3!B3 zCZ=nJX8nvGOLx~exwOHG5zQXWiI9NbAVe(mlRAM|Iy{1A#@A&@MnPq@w>R0bp@_np z4@<|dF-%|hj0AK zYHEL`#K3>3?T+m?HmXFA-Z3Ch4K&?09X?b^iN$4IC(JQ4WUD`{yD!;%3eG4|9E}~nV!1xz-Q7eHi>Z(+&LnY-?+jxhC2q^@tPgge z3sh$B^*QF~#KKqbW;PN#G>8dyS##m6rtk;)46v3UEPXVKy(`z@_VTd%h$4^_6e9GD zW-~V|ffTc3AtrF+PNY|tvLPmh1n^H~#V$SIv)w+{3lF+IotM+i@>MN|+QjL_EU@k-;7raFL<|-h^$Vlq~V6 z+cPe-MGMKLZN-3Df^!^}{A#s}`bwJU+3Brx>mY}Kn{w4BCL&OxVkt~NUe73}q z0cugvnPlxN`<@;bK#!$76I0~35vzF3N{3*9-N_gD_Acx(DOrJnSfDx7-SfQmEBxD_ z8991Gwm2)W`2=EB06o31ax`m=VUz(U7X^inU>3VqIu^e`-rFLu3Ro1y|0D*M2AbM6 z4HjjrNyf9&_g7!S^{*{{WWg}OpVz?sG^fN`AdK|at}}CjQ*%JwAU-O6zO{NuFB2VF zYVCKm(1^%Dm4w%e)g0_bQ&d13D+{|n)f1J3imd(QNp%b(a(FW!1WfR>2_KO((EJN6dzS08prJXuCR-&A<)WMGZG0ZS z#LkK$&y;W88r?N#{gNsIaM&~B_PT9znu|w8Y@uY9%&-)T< z>&;JjE%rq_cMpub#mKVTa>F%hV8`>jW7?i{>QI`s-*KCZQjw8#_*|0k=V%7xI+5I2 zKWBp%vrrRGr}u?@V!_f8L0rv&7csh@*b+){Yh;au`V3MtA>CC8G^Mfx6gpn=+I2YA z=G3G_m%SVhd5QtMoF(o{*|)Yz_wZVYomT`($t4Q*%t^S)^2Bxhc^C(*e1*pJNhDqu zPl~Fu<#aDM|6)+mr-@Anyx^|tmTglQPhUX=ZBdP z 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⪼#ae3xF>hf3#t2|VNlS7+Qqd?#J>ahYd!NPEL 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 literal 0 HcmV?d00001 diff --git a/android/canonical/app/src/main/res/mipmap-xxxhdpi/ic_werun_launcher_round.png b/android/canonical/app/src/main/res/mipmap-xxxhdpi/ic_werun_launcher_round.png new file mode 100644 index 0000000000000000000000000000000000000000..76981f572ac14101cb464803914093d6ea8e3df1 GIT binary patch literal 18165 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 + + #6200EE + #3700B3 + #03DAC5 + #4169E1 + #87CEEB + #5286D4 + \ No newline at end of file diff --git a/android/canonical/app/src/main/res/values/google_maps_api.xml b/android/canonical/app/src/main/res/values/google_maps_api.xml new file mode 100644 index 00000000..bae495a5 --- /dev/null +++ b/android/canonical/app/src/main/res/values/google_maps_api.xml @@ -0,0 +1,25 @@ + + + AIzaSyDz7brZFFw7tIg8bQLCALELeHp4JNkZmJo + + \ No newline at end of file diff --git a/android/canonical/app/src/main/res/values/strings.xml b/android/canonical/app/src/main/res/values/strings.xml new file mode 100644 index 00000000..0dc22e51 --- /dev/null +++ b/android/canonical/app/src/main/res/values/strings.xml @@ -0,0 +1,31 @@ + + WeRun + Run + Map + Me + This is Run fragment + Stop + Start + Pause + Reset + Started + Stopped + My location + Cannot access location now. Please Try later + Logout + SignOut Failed. Please try again. + Login Failed. Please try it again. + TOTAL TIME + CALORIES + 240 + 00:00:00 + User Email + User name + Submit + Do you want to submit this record ? + Confirm + Cancel + Submission Confirm + Start your running before submission. + Welcome, Runner! + \ No newline at end of file diff --git a/android/canonical/app/src/main/res/values/styles.xml b/android/canonical/app/src/main/res/values/styles.xml new file mode 100644 index 00000000..2537ffc5 --- /dev/null +++ b/android/canonical/app/src/main/res/values/styles.xml @@ -0,0 +1,9 @@ + + + \ No newline at end of file diff --git a/android/canonical/app/src/release/res/values/google_maps_api.xml b/android/canonical/app/src/release/res/values/google_maps_api.xml new file mode 100644 index 00000000..d81bc19b --- /dev/null +++ b/android/canonical/app/src/release/res/values/google_maps_api.xml @@ -0,0 +1,20 @@ + + + YOUR_KEY_HERE + \ No newline at end of file diff --git a/android/canonical/app/src/test/java/com/google/samples/quickstart/canonical/ExampleUnitTest.kt b/android/canonical/app/src/test/java/com/google/samples/quickstart/canonical/ExampleUnitTest.kt new file mode 100644 index 00000000..d5e6c6ad --- /dev/null +++ b/android/canonical/app/src/test/java/com/google/samples/quickstart/canonical/ExampleUnitTest.kt @@ -0,0 +1,17 @@ +package com.google.samples.quickstart.canonical + +import org.junit.Test + +import org.junit.Assert.* + +/** + * Example local unit test, which will execute on the development machine (host). + * + * See [testing documentation](http://d.android.com/tools/testing). + */ +class ExampleUnitTest { + @Test + fun addition_isCorrect() { + assertEquals(4, 2 + 2) + } +} \ No newline at end of file diff --git a/android/canonical/app/src/test/java/com/google/samples/quickstart/canonical/StopwatchViewModelTest.kt b/android/canonical/app/src/test/java/com/google/samples/quickstart/canonical/StopwatchViewModelTest.kt new file mode 100644 index 00000000..f899fbbd --- /dev/null +++ b/android/canonical/app/src/test/java/com/google/samples/quickstart/canonical/StopwatchViewModelTest.kt @@ -0,0 +1,59 @@ +package com.google.samples.quickstart.canonical + +import android.os.SystemClock +import androidx.test.ext.junit.runners.AndroidJUnit4 +import org.junit.Assert.* +import org.junit.Test +import org.junit.runner.RunWith +import org.robolectric.annotation.Config + +@RunWith(AndroidJUnit4::class) +@Config(manifest=Config.NONE) +class StopwatchViewModelTest { + + private val stopwatchViewModelInstance : StopwatchViewModel = StopwatchViewModel() + + @Test + fun pauseStopwatchTestSpecificOffset() { + stopwatchViewModelInstance.pauseStopwatch(SystemClock.elapsedRealtime() - 100) + assertEquals(stopwatchViewModelInstance.getIsStopwatchWorking(), false) + assertEquals(stopwatchViewModelInstance.getPauseOffset(), 100L) + } + + @Test + fun pauseStopwatchTestZeroOffset() { + stopwatchViewModelInstance.pauseStopwatch(SystemClock.elapsedRealtime()) + assertEquals(stopwatchViewModelInstance.getIsStopwatchWorking(), false) + assertEquals(stopwatchViewModelInstance.getPauseOffset(), 0L) + } + + @Test + fun startStopwatch() { + stopwatchViewModelInstance.startStopwatch() + assertEquals(stopwatchViewModelInstance.getIsStopwatchWorking(), true) + assertEquals(stopwatchViewModelInstance.getIsReadyForUpload(), true) + } + + @Test + fun resetStopwatch() { + stopwatchViewModelInstance.resetStopwatch() + assertEquals(stopwatchViewModelInstance.getIsStopwatchWorking(), false) + assertEquals(stopwatchViewModelInstance.getIsReadyForUpload(), false) + assertEquals(stopwatchViewModelInstance.getPauseOffset(), 0L) + assertEquals(stopwatchViewModelInstance.getFragmentPauseStartTime(), 0L) + } + + @Test + fun saveStopwatchStatusSpecificOffset() { + stopwatchViewModelInstance.saveStopwatchStatus(SystemClock.elapsedRealtime() - 100) + assertEquals(stopwatchViewModelInstance.getPauseOffset(), 100L) + assertEquals(stopwatchViewModelInstance.getFragmentPauseStartTime(), SystemClock.elapsedRealtime()) + } + + @Test + fun saveStopwatchStatusZeroOffset() { + stopwatchViewModelInstance.saveStopwatchStatus(SystemClock.elapsedRealtime()) + assertEquals(stopwatchViewModelInstance.getPauseOffset(), 0) + assertEquals(stopwatchViewModelInstance.getFragmentPauseStartTime(), SystemClock.elapsedRealtime()) + } +} \ No newline at end of file diff --git a/android/canonical/build.gradle b/android/canonical/build.gradle new file mode 100644 index 00000000..a26c23a1 --- /dev/null +++ b/android/canonical/build.gradle @@ -0,0 +1,26 @@ +buildscript { + ext.kotlin_version = "1.3.72" + repositories { + google() + jcenter() + } + dependencies { + classpath "com.android.tools.build:gradle:4.0.0" + classpath 'com.google.gms:google-services:4.3.3' + classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" + + // 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 +} diff --git a/android/canonical/gradle.properties b/android/canonical/gradle.properties new file mode 100644 index 00000000..4d15d015 --- /dev/null +++ b/android/canonical/gradle.properties @@ -0,0 +1,21 @@ +# 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=-Xmx2048m +# 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 +# AndroidX package structure to make it clearer which packages are bundled with the +# Android operating system, and which are packaged with your app"s APK +# https://developer.android.com/topic/libraries/support-library/androidx-rn +android.useAndroidX=true +# Automatically convert third-party libraries to use AndroidX +android.enableJetifier=true +# Kotlin code style for this project: "official" or "obsolete": +kotlin.code.style=official \ No newline at end of file diff --git a/android/canonical/gradle/wrapper/gradle-wrapper.jar b/android/canonical/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 0000000000000000000000000000000000000000..f6b961fd5a86aa5fbfe90f707c3138408be7c718 GIT binary patch literal 54329 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

<5G2M1WZP5 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 F{|7XC?P&l2 literal 0 HcmV?d00001 diff --git a/android/canonical/gradle/wrapper/gradle-wrapper.properties b/android/canonical/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 00000000..a6564f83 --- /dev/null +++ b/android/canonical/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,6 @@ +#Wed Jun 03 15:18:33 CDT 2020 +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-6.1.1-all.zip diff --git a/android/canonical/gradlew b/android/canonical/gradlew new file mode 100755 index 00000000..cccdd3d5 --- /dev/null +++ b/android/canonical/gradlew @@ -0,0 +1,172 @@ +#!/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" "$@" diff --git a/android/canonical/gradlew.bat b/android/canonical/gradlew.bat new file mode 100644 index 00000000..e95643d6 --- /dev/null +++ b/android/canonical/gradlew.bat @@ -0,0 +1,84 @@ +@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 diff --git a/android/canonical/readme.md b/android/canonical/readme.md new file mode 100644 index 00000000..6900d30c --- /dev/null +++ b/android/canonical/readme.md @@ -0,0 +1 @@ +#Hello world diff --git a/android/canonical/settings.gradle b/android/canonical/settings.gradle new file mode 100644 index 00000000..d3593029 --- /dev/null +++ b/android/canonical/settings.gradle @@ -0,0 +1,2 @@ +include ':app' +rootProject.name = "Summer 2020" \ No newline at end of file From 52125800f01e2def7dee8e9563a54def63aab3a1 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 5 Apr 2022 22:28:51 +0000 Subject: [PATCH 3/3] Bump cocoapods-downloader from 1.2.2 to 1.6.3 Bumps [cocoapods-downloader](https://github.com/CocoaPods/cocoapods-downloader) from 1.2.2 to 1.6.3. - [Release notes](https://github.com/CocoaPods/cocoapods-downloader/releases) - [Changelog](https://github.com/CocoaPods/cocoapods-downloader/blob/master/CHANGELOG.md) - [Commits](https://github.com/CocoaPods/cocoapods-downloader/compare/1.2.2...1.6.3) --- updated-dependencies: - dependency-name: cocoapods-downloader dependency-type: indirect ... Signed-off-by: dependabot[bot] --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 2bb24263..d8449f81 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -59,7 +59,7 @@ GEM atomos (0.1.3) claide (1.0.3) cocoapods-deintegrate (1.0.4) - cocoapods-downloader (1.2.2) + cocoapods-downloader (1.6.3) cocoapods-plugins (1.0.0) nap cocoapods-search (1.0.0)