Code Monkey home page Code Monkey logo

babyphone's Introduction

Baby Dots

Get it on F-Droid Get it on Google Play

Liberapay receiving Translation status F-Droid version GitHub Workflow Status

Baby dots is a sensory Android app designed to calm and relax young babies.

Anecdotally, these helped our little baby smile since four months old, no matter how upset she may have been.

Dots with a small amount of colour Rainbow dots Monochrome dots

Contributing

Donations

Baby Dots is an open source, GPLv3 application. It will always be freely available via F-Droid, or for anyone to build, fork, or improve via the source code.

If you wish to support the development financially, you can do so via:

  • Liberapay
  • GitHub sponsors
  • Google Play - The version on Google Play is the exact same version as F-Droid (i.e. the .apk​ built and signed by F-Droid). However, it is available for a minimal price to facilitate donations to support development.

Reporting Issues

Please report any issues or suggest features on the issue tracker.

Translating

We use Weblate to manage translations. Please see these instructions for using Weblate to translate BabyDots.

Android app F-Droid metadata
Translation status Translation status

Submitting changes

Pull requests will be warmly received at https://github.com/babydots/babydots.

Compiling

This app uses a typical gradle folder structure and is written in Kotlin.

  • To build (a debug version): gradle assembleDebug

Alternatively, you can import the project into Android Studio and build from there.

babyphone's People

Contributors

5mikachu avatar ahmadgovan avatar bennycor avatar comradekingu avatar coobik1234 avatar eugentoptic44 avatar moizie avatar poussinou avatar pserwylo avatar softinterlingua avatar weblate avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

babyphone's Issues

Allow users to add their own contacts by taking a photo and recording sounds

Let the user take a photo of themselves, and then prompt them to record a series of soundfs. They can record as many as they want, but prompt them as to the types of things which will work well (e.g. "Ooooh", "Wow", "Interesting", "Tell me more"). These contacts will then be added to the main list of contacts (see #2).

Once a user has added their own contacts, they may no longer wish to see the built in ones. In this case, perhaps we can allow them to hide the default contacts once they've added at least one other.

Support themes

Currently rendered in a dark theme. Should also allow a light theme, bu talso a much more colourful and almost cartoonish child focused theme.

F-Droid build failed for vercode 9

The output from the (now outdated) https://f-droid.org/repo/status/running.json shows that the error may be intermittent, so will wait for the next build cycle to run through before investigating further.

Output from build server running.json:

Build.py failed on server for com.serwylo.babyphone:1.0.0
==== detail begin ====
== Installed Android Tools ==

2022-02-27 03:12:29,999 DEBUG: Reading 'config.yml'
2022-02-27 03:12:30,008 INFO: Using /opt/android-sdk/build-tools/29.0.3/apksigner 
2022-02-27 03:12:30,011 INFO: Creating log directory
2022-02-27 03:12:30,011 INFO: Creating temporary directory
2022-02-27 03:12:30,011 INFO: Creating output directory
2022-02-27 03:12:30,014 DEBUG: Getting git vcs interface for https://github.com/babydots/babyphone
2022-02-27 03:12:30,014 DEBUG: > git --version
git version 2.11.0
2022-02-27 03:12:30,228 INFO: Using git version 2.11.0
2022-02-27 03:12:30,229 DEBUG: Checking 1.0.0
2022-02-27 03:12:30,229 INFO: Building version 1.0.0 (9) of com.serwylo.babyphone
2022-02-27 03:12:30,229 DEBUG: > sudo passwd --lock root
passwd: password expiry information changed.
2022-02-27 03:12:30,438 DEBUG: > sudo SUDO_FORCE_REMOVE=yes dpkg --purge sudo
(Reading database ... 64893 files and directories currently installed.)
Removing sudo (1.8.19p1-2.1+deb9u3) ...
Purging configuration files for sudo (1.8.19p1-2.1+deb9u3) ...
Processing triggers for systemd (232-25+deb9u13) ...
2022-02-27 03:12:35,679 INFO: Getting source for revision ed101e787e2065d0ef65b004ee8ac4294f2a4573
2022-02-27 03:12:35,680 DEBUG: Directory: build/com.serwylo.babyphone
2022-02-27 03:12:35,680 DEBUG: > git rev-parse --show-toplevel
2022-02-27 03:12:35,901 DEBUG: Directory: build/com.serwylo.babyphone
2022-02-27 03:12:35,902 DEBUG: > git submodule foreach --recursive git reset --hard
2022-02-27 03:12:36,006 DEBUG: Directory: build/com.serwylo.babyphone
2022-02-27 03:12:36,006 DEBUG: > git reset --hard
2022-02-27 03:12:36,232 DEBUG: Directory: build/com.serwylo.babyphone
2022-02-27 03:12:36,233 DEBUG: > git submodule foreach --recursive git clean -dffx
2022-02-27 03:12:36,341 DEBUG: Directory: build/com.serwylo.babyphone
2022-02-27 03:12:36,341 DEBUG: > git clean -dffx
2022-02-27 03:12:36,447 DEBUG: Directory: build/com.serwylo.babyphone
2022-02-27 03:12:36,447 DEBUG: > git -c core.askpass=/bin/true -c core.sshCommand=/bin/false -c url.https://.insteadOf=ssh:// -c url.https://u:[email protected]/[email protected]: -c url.https://u:[email protected]=git://bitbucket.org -c url.https://u:[email protected]=https://bitbucket.org -c url.https://u:[email protected]/[email protected]: -c url.https://u:[email protected]=git://github.com -c url.https://u:[email protected]=https://github.com -c url.https://u:[email protected]/[email protected]: -c url.https://u:[email protected]=git://gitlab.com -c url.https://u:[email protected]=https://gitlab.com fetch origin
2022-02-27 03:12:36,755 DEBUG: Directory: build/com.serwylo.babyphone
2022-02-27 03:12:36,755 DEBUG: > git -c core.askpass=/bin/true -c core.sshCommand=/bin/false -c url.https://.insteadOf=ssh:// -c url.https://u:[email protected]/[email protected]: -c url.https://u:[email protected]=git://bitbucket.org -c url.https://u:[email protected]=https://bitbucket.org -c url.https://u:[email protected]/[email protected]: -c url.https://u:[email protected]=git://github.com -c url.https://u:[email protected]=https://github.com -c url.https://u:[email protected]/[email protected]: -c url.https://u:[email protected]=git://gitlab.com -c url.https://u:[email protected]=https://gitlab.com remote prune origin
2022-02-27 03:12:37,063 DEBUG: Directory: build/com.serwylo.babyphone
2022-02-27 03:12:37,064 DEBUG: > git -c core.askpass=/bin/true -c core.sshCommand=/bin/false -c url.https://.insteadOf=ssh:// -c url.https://u:[email protected]/[email protected]: -c url.https://u:[email protected]=git://bitbucket.org -c url.https://u:[email protected]=https://bitbucket.org -c url.https://u:[email protected]/[email protected]: -c url.https://u:[email protected]=git://github.com -c url.https://u:[email protected]=https://github.com -c url.https://u:[email protected]/[email protected]: -c url.https://u:[email protected]=git://gitlab.com -c url.https://u:[email protected]=https://gitlab.com fetch --prune --tags --force origin
2022-02-27 03:12:37,392 DEBUG: Directory: build/com.serwylo.babyphone
2022-02-27 03:12:37,392 DEBUG: > git remote set-head origin --auto
2022-02-27 03:12:37,806 DEBUG: Directory: build/com.serwylo.babyphone
2022-02-27 03:12:37,806 DEBUG: > git checkout -f ed101e787e2065d0ef65b004ee8ac4294f2a4573
2022-02-27 03:12:38,012 DEBUG: Directory: build/com.serwylo.babyphone
2022-02-27 03:12:38,012 DEBUG: > git clean -dffx
2022-02-27 03:12:38,124 INFO: Creating local.properties file at build/com.serwylo.babyphone/local.properties
2022-02-27 03:12:38,125 INFO: Creating local.properties file at build/com.serwylo.babyphone/app/local.properties
2022-02-27 03:12:38,125 DEBUG: Removing debuggable flags from build/com.serwylo.babyphone/app
2022-02-27 03:12:38,135 INFO: Cleaning Gradle project...
2022-02-27 03:12:38,135 DEBUG: Directory: build/com.serwylo.babyphone/app
2022-02-27 03:12:38,135 DEBUG: > /home/vagrant/fdroidserver/gradlew-fdroid clean
Found 6.7.1 via distributionUrl
Downloading missing gradle version 6.7.1
cachedir /home/vagrant/.cache/fdroidserver
/home/vagrant/.cache/fdroidserver/gradle-6.7.1-bin.zip: OK
Running /opt/gradle/versions/6.7.1/bin/gradle clean

Welcome to Gradle 6.7.1!

Here are the highlights of this release:
 - File system watching is ready for production use
 - Declare the version of Java your build requires
 - Java 15 support

For more details see https://docs.gradle.org/6.7.1/release-notes.html

To honour the JVM settings for this build a new JVM will be forked. Please consider using the daemon: https://docs.gradle.org/6.7.1/userguide/gradle_daemon.html.
Daemon will be stopped at the end of the build stopping after processing
> Task :app:clean UP-TO-DATE

BUILD SUCCESSFUL in 23s
1 actionable task: 1 up-to-date
2022-02-27 03:13:07,695 INFO: Scanning source for common problems...
2022-02-27 03:13:07,702 INFO: Removing gradle-wrapper.jar at gradle/wrapper/gradle-wrapper.jar
2022-02-27 03:13:07,713 INFO: Creating source tarball...
2022-02-27 03:13:08,162 INFO: Building Gradle project...
2022-02-27 03:13:08,163 DEBUG: Directory: build/com.serwylo.babyphone/app
2022-02-27 03:13:08,163 DEBUG: > /home/vagrant/fdroidserver/gradlew-fdroid assembleRelease
Found 6.7.1 via distributionUrl
Running /opt/gradle/versions/6.7.1/bin/gradle assembleRelease
To honour the JVM settings for this build a new JVM will be forked. Please consider using the daemon: https://docs.gradle.org/6.7.1/userguide/gradle_daemon.html.
Daemon will be stopped at the end of the build stopping after processing
File /home/vagrant/.android/repositories.cfg could not be loaded.
Checking the license for package Android SDK Build-Tools 30.0.3 in /opt/android-sdk/licenses
License for package Android SDK Build-Tools 30.0.3 accepted.
Preparing "Install Android SDK Build-Tools 30.0.3 (revision: 30.0.3)".
"Install Android SDK Build-Tools 30.0.3 (revision: 30.0.3)" ready.
Installing Android SDK Build-Tools 30.0.3 in /opt/android-sdk/build-tools/30.0.3
"Install Android SDK Build-Tools 30.0.3 (revision: 30.0.3)" complete.
"Install Android SDK Build-Tools 30.0.3 (revision: 30.0.3)" finished.
Checking the license for package Android SDK Platform 31 in /opt/android-sdk/licenses
License for package Android SDK Platform 31 accepted.
Preparing "Install Android SDK Platform 31 (revision: 1)".
"Install Android SDK Platform 31 (revision: 1)" ready.
Installing Android SDK Platform 31 in /opt/android-sdk/platforms/android-31
"Install Android SDK Platform 31 (revision: 1)" complete.
"Install Android SDK Platform 31 (revision: 1)" finished.
Checking the license for package Android SDK Platform 30 in /opt/android-sdk/licenses
License for package Android SDK Platform 30 accepted.
Preparing "Install Android SDK Platform 30 (revision: 3)".
"Install Android SDK Platform 30 (revision: 3)" ready.
Installing Android SDK Platform 30 in /opt/android-sdk/platforms/android-30
"Install Android SDK Platform 30 (revision: 3)" complete.
"Install Android SDK Platform 30 (revision: 3)" finished.
> Task :app:preBuild UP-TO-DATE
> Task :app:preReleaseBuild UP-TO-DATE
> Task :immersivelock:preBuild UP-TO-DATE
> Task :immersivelock:preReleaseBuild UP-TO-DATE
> Task :immersivelock:compileReleaseAidl NO-SOURCE
> Task :app:compileReleaseAidl NO-SOURCE
> Task :immersivelock:packageReleaseRenderscript NO-SOURCE
> Task :app:compileReleaseRenderscript NO-SOURCE
> Task :app:dataBindingMergeDependencyArtifactsRelease
> Task :app:dataBindingMergeGenClassesRelease
> Task :app:generateReleaseResValues
> Task :app:generateReleaseResources
> Task :immersivelock:compileReleaseRenderscript NO-SOURCE
> Task :immersivelock:generateReleaseResValues
> Task :immersivelock:generateReleaseResources
> Task :immersivelock:packageReleaseResources
> Task :app:generateReleaseBuildConfig
> Task :immersivelock:writeReleaseAarMetadata
> Task :app:checkReleaseAarMetadata
> Task :app:createReleaseCompatibleScreenManifests
> Task :app:extractDeepLinksRelease
> Task :immersivelock:extractDeepLinksRelease
> Task :immersivelock:compileReleaseLibraryResources
> Task :app:mergeReleaseResources
> Task :immersivelock:processReleaseManifest
> Task :immersivelock:parseReleaseLocalResources
> Task :app:dataBindingGenBaseClassesRelease
> Task :app:processReleaseMainManifest
> Task :app:processReleaseManifest
> Task :immersivelock:generateReleaseBuildConfig
> Task :app:writeReleaseApplicationId
> Task :app:analyticsRecordingRelease
> Task :immersivelock:javaPreCompileRelease
> Task :app:buildKotlinToolingMetadata
> Task :immersivelock:prepareLintJarForPublish
> Task :app:mergeReleaseJniLibFolders
> Task :immersivelock:processReleaseJavaRes NO-SOURCE
> Task :immersivelock:mergeReleaseJniLibFolders
> Task :immersivelock:mergeReleaseNativeLibs NO-SOURCE
> Task :app:processReleaseManifestForPackage
> Task :immersivelock:stripReleaseDebugSymbols NO-SOURCE
> Task :immersivelock:copyReleaseJniLibsProjectOnly
> Task :app:mergeReleaseShaders
> Task :app:compileReleaseShaders NO-SOURCE
> Task :app:generateReleaseAssets UP-TO-DATE
> Task :immersivelock:mergeReleaseShaders
> Task :immersivelock:compileReleaseShaders NO-SOURCE
> Task :immersivelock:generateReleaseAssets UP-TO-DATE
> Task :immersivelock:packageReleaseAssets
> Task :immersivelock:generateReleaseRFile
> Task :app:mergeReleaseAssets
> Task :app:compressReleaseAssets
> Task :app:processReleaseResources

> Task :immersivelock:compileReleaseKotlin
w: /home/vagrant/build/com.serwylo.babyphone/immersivelock/src/main/java/com/serwylo/immersivelock/ImmersiveLock.kt: (168, 44): 'getter for defaultDisplay: Display!' is deprecated. Deprecated in Java
w: /home/vagrant/build/com.serwylo.babyphone/immersivelock/src/main/java/com/serwylo/immersivelock/ImmersiveLock.kt: (172, 15): 'getSize(Point!): Unit' is deprecated. Deprecated in Java

> Task :immersivelock:compileReleaseJavaWithJavac
> Task :immersivelock:bundleLibRuntimeToDirRelease
> Task :immersivelock:bundleLibResRelease
> Task :immersivelock:bundleLibCompileToJarRelease
> Task :app:checkReleaseDuplicateClasses
> Task :app:desugarReleaseFileDependencies
> Task :app:mergeReleaseNativeLibs
> Task :app:kaptGenerateStubsReleaseKotlin
> Task :app:stripReleaseDebugSymbols NO-SOURCE
> Task :app:extractReleaseNativeSymbolTables NO-SOURCE
> Task :app:mergeReleaseNativeDebugMetadata NO-SOURCE
> Task :app:kaptReleaseKotlin FAILED
> Task :app:mergeExtDexRelease

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:kaptReleaseKotlin'.
> A failure occurred while executing org.jetbrains.kotlin.gradle.internal.KaptWithoutKotlincTask$KaptExecutionWorkAction
   > java.lang.reflect.InvocationTargetException (no error message)

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 1m 12s
46 actionable tasks: 46 executed
2022-02-27 03:14:21,088 DEBUG: Popen(['git', 'cat-file', '--batch-check'], cwd=/home/vagrant/build/com.serwylo.babyphone, universal_newlines=False, shell=None)
2022-02-27 03:14:21,092 ERROR: Could not build app com.serwylo.babyphone: Build failed for com.serwylo.babyphone:1.0.0@ed101e787e2065d0ef65b004ee8ac4294f2a4573
==== detail begin ====
Found 6.7.1 via distributionUrl
Running /opt/gradle/versions/6.7.1/bin/gradle assembleRelease
To honour the JVM settings for this build a new JVM will be forked. Please consider using the daemon: https://docs.gradle.org/6.7.1/userguide/gradle_daemon.html.
Daemon will be stopped at the end of the build stopping after processing
File /home/vagrant/.android/repositories.cfg could not be loaded.
Checking the license for package Android SDK Build-Tools 30.0.3 in /opt/android-sdk/licenses
License for package Android SDK Build-Tools 30.0.3 accepted.
Preparing "Install Android SDK Build-Tools 30.0.3 (revision: 30.0.3)".
"Install Android SDK Build-Tools 30.0.3 (revision: 30.0.3)" ready.
Installing Android SDK Build-Tools 30.0.3 in /opt/android-sdk/build-tools/30.0.3
"Install Android SDK Build-Tools 30.0.3 (revision: 30.0.3)" complete.
"Install Android SDK Build-Tools 30.0.3 (revision: 30.0.3)" finished.
Checking the license for package Android SDK Platform 31 in /opt/android-sdk/licenses
License for package Android SDK Platform 31 accepted.
Preparing "Install Android SDK Platform 31 (revision: 1)".
"Install Android SDK Platform 31 (revision: 1)" ready.
Installing Android SDK Platform 31 in /opt/android-sdk/platforms/android-31
"Install Android SDK Platform 31 (revision: 1)" complete.
"Install Android SDK Platform 31 (revision: 1)" finished.
Checking the license for package Android SDK Platform 30 in /opt/android-sdk/licenses
License for package Android SDK Platform 30 accepted.
Preparing "Install Android SDK Platform 30 (revision: 3)".
"Install Android SDK Platform 30 (revision: 3)" ready.
Installing Android SDK Platform 30 in /opt/android-sdk/platforms/android-30
"Install Android SDK Platform 30 (revision: 3)" complete.
"Install Android SDK Platform 30 (revision: 3)" finished.
> Task :app:preBuild UP-TO-DATE
> Task :app:preReleaseBuild UP-TO-DATE
> Task :immersivelock:preBuild UP-TO-DATE
> Task :immersivelock:preReleaseBuild UP-TO-DATE
> Task :immersivelock:compileReleaseAidl NO-SOURCE
> Task :app:compileReleaseAidl NO-SOURCE
> Task :immersivelock:packageReleaseRenderscript NO-SOURCE
> Task :app:compileReleaseRenderscript NO-SOURCE
> Task :app:dataBindingMergeDependencyArtifactsRelease
> Task :app:dataBindingMergeGenClassesRelease
> Task :app:generateReleaseResValues
> Task :app:generateReleaseResources
> Task :immersivelock:compileReleaseRenderscript NO-SOURCE
> Task :immersivelock:generateReleaseResValues
> Task :immersivelock:generateReleaseResources
> Task :immersivelock:packageReleaseResources
> Task :app:generateReleaseBuildConfig
> Task :immersivelock:writeReleaseAarMetadata
> Task :app:checkReleaseAarMetadata
> Task :app:createReleaseCompatibleScreenManifests
> Task :app:extractDeepLinksRelease
> Task :immersivelock:extractDeepLinksRelease
> Task :immersivelock:compileReleaseLibraryResources
> Task :app:mergeReleaseResources
> Task :immersivelock:processReleaseManifest
> Task :immersivelock:parseReleaseLocalResources
> Task :app:dataBindingGenBaseClassesRelease
> Task :app:processReleaseMainManifest
> Task :app:processReleaseManifest
> Task :immersivelock:generateReleaseBuildConfig
> Task :app:writeReleaseApplicationId
> Task :app:analyticsRecordingRelease
> Task :immersivelock:javaPreCompileRelease
> Task :app:buildKotlinToolingMetadata
> Task :immersivelock:prepareLintJarForPublish
> Task :app:mergeReleaseJniLibFolders
> Task :immersivelock:processReleaseJavaRes NO-SOURCE
> Task :immersivelock:mergeReleaseJniLibFolders
> Task :immersivelock:mergeReleaseNativeLibs NO-SOURCE
> Task :app:processReleaseManifestForPackage
> Task :immersivelock:stripReleaseDebugSymbols NO-SOURCE
> Task :immersivelock:copyReleaseJniLibsProjectOnly
> Task :app:mergeReleaseShaders
> Task :app:compileReleaseShaders NO-SOURCE
> Task :app:generateReleaseAssets UP-TO-DATE
> Task :immersivelock:mergeReleaseShaders
> Task :immersivelock:compileReleaseShaders NO-SOURCE
> Task :immersivelock:generateReleaseAssets UP-TO-DATE
> Task :immersivelock:packageReleaseAssets
> Task :immersivelock:generateReleaseRFile
> Task :app:mergeReleaseAssets
> Task :app:compressReleaseAssets
> Task :app:processReleaseResources

> Task :immersivelock:compileReleaseKotlin
w: /home/vagrant/build/com.serwylo.babyphone/immersivelock/src/main/java/com/serwylo/immersivelock/ImmersiveLock.kt: (168, 44): 'getter for defaultDisplay: Display!' is deprecated. Deprecated in Java
w: /home/vagrant/build/com.serwylo.babyphone/immersivelock/src/main/java/com/serwylo/immersivelock/ImmersiveLock.kt: (172, 15): 'getSize(Point!): Unit' is deprecated. Deprecated in Java

> Task :immersivelock:compileReleaseJavaWithJavac
> Task :immersivelock:bundleLibRuntimeToDirRelease
> Task :immersivelock:bundleLibResRelease
> Task :immersivelock:bundleLibCompileToJarRelease
> Task :app:checkReleaseDuplicateClasses
> Task :app:desugarReleaseFileDependencies
> Task :app:mergeReleaseNativeLibs
> Task :app:kaptGenerateStubsReleaseKotlin
> Task :app:stripReleaseDebugSymbols NO-SOURCE
> Task :app:extractReleaseNativeSymbolTables NO-SOURCE
> Task :app:mergeReleaseNativeDebugMetadata NO-SOURCE
> Task :app:kaptReleaseKotlin FAILED
> Task :app:mergeExtDexRelease

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:kaptReleaseKotlin'.
> A failure occurred while executing org.jetbrains.kotlin.gradle.internal.KaptWithoutKotlincTask$KaptExecutionWorkAction
   > java.lang.reflect.InvocationTargetException (no error message)

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 1m 12s
46 actionable tasks: 46 executed
==== detail end ====
2022-02-27 03:14:21,092 DEBUG: Error encoutered, stopping by user request.
==== detail end ====

Output from a local (successful) run of fdroid build -v com.serwylo.babyphone using the metadata from fdroiddata:

Running /Users/m_peter/.cache/fdroidserver/gradle/6.7.1/bin/gradle clean
> Task :app:clean UP-TO-DATE

BUILD SUCCESSFUL in 2s
1 actionable task: 1 up-to-date
2022-02-28 09:37:30,220 INFO: Scanning source for common problems...
2022-02-28 09:37:30,245 INFO: Removing gradle-wrapper.jar at gradle/wrapper/gradle-wrapper.jar
2022-02-28 09:37:30,250 INFO: Creating source tarball...
2022-02-28 09:37:30,692 INFO: Building Gradle project...
2022-02-28 09:37:30,693 DEBUG: Directory: build/com.serwylo.babyphone/app
2022-02-28 09:37:30,693 DEBUG: > /Users/m_peter/code/fdroidserver/gradlew-fdroid assembleRelease
Found 6.7.1 via distributionUrl
Running /Users/m_peter/.cache/fdroidserver/gradle/6.7.1/bin/gradle assembleRelease
Warning: Mapping new ns http://schemas.android.com/repository/android/common/02 to old ns http://schemas.android.com/repository/android/common/01
Warning: Mapping new ns http://schemas.android.com/repository/android/generic/02 to old ns http://schemas.android.com/repository/android/generic/01
Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/addon2/02 to old ns http://schemas.android.com/sdk/android/repo/addon2/01
Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/repository2/02 to old ns http://schemas.android.com/sdk/android/repo/repository2/01
Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/sys-img2/02 to old ns http://schemas.android.com/sdk/android/repo/sys-img2/01
Warning: Mapping new ns http://schemas.android.com/repository/android/common/02 to old ns http://schemas.android.com/repository/android/common/01
Warning: Mapping new ns http://schemas.android.com/repository/android/generic/02 to old ns http://schemas.android.com/repository/android/generic/01
Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/addon2/02 to old ns http://schemas.android.com/sdk/android/repo/addon2/01
Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/repository2/02 to old ns http://schemas.android.com/sdk/android/repo/repository2/01
Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/sys-img2/02 to old ns http://schemas.android.com/sdk/android/repo/sys-img2/01
> Task :app:preBuild UP-TO-DATE
> Task :app:preReleaseBuild UP-TO-DATE
> Task :immersivelock:preBuild UP-TO-DATE
> Task :immersivelock:preReleaseBuild UP-TO-DATE
> Task :immersivelock:compileReleaseAidl NO-SOURCE
> Task :app:compileReleaseAidl NO-SOURCE
> Task :immersivelock:packageReleaseRenderscript NO-SOURCE
> Task :app:compileReleaseRenderscript NO-SOURCE
> Task :app:dataBindingMergeDependencyArtifactsRelease
> Task :app:dataBindingMergeGenClassesRelease
> Task :app:generateReleaseResValues
> Task :app:generateReleaseResources
> Task :immersivelock:compileReleaseRenderscript NO-SOURCE
> Task :immersivelock:generateReleaseResValues
> Task :immersivelock:generateReleaseResources
> Task :immersivelock:packageReleaseResources
> Task :app:generateReleaseBuildConfig
> Task :immersivelock:writeReleaseAarMetadata
> Task :app:createReleaseCompatibleScreenManifests
> Task :app:extractDeepLinksRelease
> Task :immersivelock:extractDeepLinksRelease
> Task :immersivelock:compileReleaseLibraryResources
> Task :app:checkReleaseAarMetadata
> Task :immersivelock:processReleaseManifest
> Task :immersivelock:parseReleaseLocalResources
> Task :app:processReleaseMainManifest
> Task :app:processReleaseManifest
> Task :app:mergeReleaseResources
> Task :immersivelock:generateReleaseRFile
> Task :app:dataBindingGenBaseClassesRelease
> Task :immersivelock:generateReleaseBuildConfig
> Task :immersivelock:javaPreCompileRelease

> Task :immersivelock:compileReleaseKotlin
w: /Users/m_peter/code/fdroiddata/build/com.serwylo.babyphone/immersivelock/src/main/java/com/serwylo/immersivelock/ImmersiveLock.kt: (168, 44): 'getter for defaultDisplay: Display!' is deprecated. Deprecated in Java
w: /Users/m_peter/code/fdroiddata/build/com.serwylo.babyphone/immersivelock/src/main/java/com/serwylo/immersivelock/ImmersiveLock.kt: (172, 15): 'getSize(Point!): Unit' is deprecated. Deprecated in Java

> Task :immersivelock:compileReleaseJavaWithJavac
> Task :app:writeReleaseApplicationId
> Task :app:analyticsRecordingRelease
> Task :app:buildKotlinToolingMetadata
> Task :immersivelock:prepareLintJarForPublish
> Task :app:mergeReleaseJniLibFolders
> Task :immersivelock:bundleLibCompileToJarRelease
> Task :immersivelock:processReleaseJavaRes NO-SOURCE
> Task :immersivelock:mergeReleaseJniLibFolders
> Task :immersivelock:bundleLibResRelease
> Task :immersivelock:mergeReleaseNativeLibs NO-SOURCE
> Task :immersivelock:stripReleaseDebugSymbols NO-SOURCE
> Task :immersivelock:copyReleaseJniLibsProjectOnly
> Task :app:mergeReleaseShaders
> Task :app:compileReleaseShaders NO-SOURCE
> Task :app:generateReleaseAssets UP-TO-DATE
> Task :immersivelock:mergeReleaseShaders
> Task :immersivelock:compileReleaseShaders NO-SOURCE
> Task :immersivelock:generateReleaseAssets UP-TO-DATE
> Task :immersivelock:packageReleaseAssets
> Task :app:mergeReleaseAssets
> Task :immersivelock:bundleLibRuntimeToDirRelease
> Task :app:compressReleaseAssets
> Task :app:desugarReleaseFileDependencies
> Task :app:processReleaseJavaRes NO-SOURCE
> Task :app:checkReleaseDuplicateClasses
> Task :app:collectReleaseDependencies
> Task :app:sdkReleaseDependencyData
> Task :app:writeReleaseAppMetadata
> Task :app:writeReleaseSigningConfigVersions
> Task :app:processReleaseManifestForPackage
> Task :app:mergeReleaseNativeLibs
> Task :app:stripReleaseDebugSymbols NO-SOURCE
> Task :app:extractReleaseNativeSymbolTables NO-SOURCE
> Task :app:mergeReleaseNativeDebugMetadata NO-SOURCE
> Task :app:processReleaseResources
> Task :app:mergeExtDexRelease
> Task :app:kaptGenerateStubsReleaseKotlin
> Task :app:optimizeReleaseResources

> Task :app:kaptReleaseKotlin
/Users/m_peter/code/fdroiddata/build/com.serwylo.babyphone/app/build/tmp/kapt3/stubs/release/com/serwylo/babyphone/db/entities/Recording.java:7: warning: contactId column references a foreign key but it is not part of an index. This may trigger full table scans whenever parent table is modified so you are highly advised to create an index that covers this column.
public final class Recording {
             ^
/Users/m_peter/code/fdroiddata/build/com.serwylo.babyphone/app/build/tmp/kapt3/stubs/release/com/serwylo/babyphone/db/entities/Settings.java:7: warning: currentContactId column references a foreign key but it is not part of an index. This may trigger full table scans whenever parent table is modified so you are highly advised to create an index that covers this column.
public final class Settings {
             ^

> Task :app:compileReleaseKotlin
w: /Users/m_peter/code/fdroiddata/build/com.serwylo.babyphone/app/src/main/java/com/serwylo/babyphone/Changelog.kt: (26, 29): Parameter 'context' is never used
w: /Users/m_peter/code/fdroiddata/build/com.serwylo.babyphone/app/src/main/java/com/serwylo/babyphone/db/migrations/dbBootstrap.kt: (22, 9): This is a delicate API and its use requires care. Make sure you fully read and understand documentation of the declaration that is marked as a delicate API.
w: /Users/m_peter/code/fdroiddata/build/com.serwylo.babyphone/app/src/main/java/com/serwylo/babyphone/editcontact/EditContactActivity.kt: (127, 13): 'startActivityForResult(Intent!, Int): Unit' is deprecated. Deprecated in Java
w: /Users/m_peter/code/fdroiddata/build/com.serwylo.babyphone/app/src/main/java/com/serwylo/babyphone/editcontact/EditContactActivity.kt: (135, 15): 'onActivityResult(Int, Int, Intent?): Unit' is deprecated. Overrides deprecated member in 'androidx.activity.ComponentActivity'. Deprecated in Java
w: /Users/m_peter/code/fdroiddata/build/com.serwylo.babyphone/app/src/main/java/com/serwylo/babyphone/editcontact/EditContactViewModel.kt: (122, 24): 'constructor MediaRecorder()' is deprecated. Deprecated in Java

> Task :app:compileReleaseJavaWithJavac
> Task :app:compileReleaseSources

> Task :app:lintVitalRelease
w: Runtime JAR files in the classpath should have the same version. These files were found in the classpath:
    /Users/m_peter/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-common/1.5.21/cc8bf3586fd2ebcf234058b9440bb406e62dfacb/kotlin-stdlib-common-1.5.21.jar (version 1.5)
    /Users/m_peter/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-jdk7/1.5.30/525f5a7fa6d7790a571c07dd24214ed2dda352fe/kotlin-stdlib-jdk7-1.5.30.jar (version 1.5)
    /Users/m_peter/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib/1.5.21/2f537cad7e9eeb9da73738c8812e1e4cf9b62e4e/kotlin-stdlib-1.5.21.jar (version 1.5)
    /Users/m_peter/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-jdk8/1.5.30/5fd47535cc85f9e24996f939c2de6583991481b0/kotlin-stdlib-jdk8-1.5.30.jar (version 1.5)
    /Users/m_peter/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib/1.6.10/b8af3fe6f1ca88526914929add63cf5e7c5049af/kotlin-stdlib-1.6.10.jar (version 1.6)
    /Users/m_peter/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-common/1.6.10/c118700e3a33c8a0d9adc920e9dec0831171925/kotlin-stdlib-common-1.6.10.jar (version 1.6)
w: Some runtime JAR files in the classpath have an incompatible version. Consider removing them from the classpath
e: /Users/m_peter/.gradle/caches/transforms-2/files-2.1/30ad891f8ba8407319251dd0872e4293/room-ktx-2.4.1/jars/classes.jar!/META-INF/room-ktx_release.kotlin_module: Module was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.6.0, expected version is 1.4.0.
e: /Users/m_peter/code/fdroiddata/build/com.serwylo.babyphone/immersivelock/build/tmp/kotlin-classes/release/META-INF/immersivelock_release.kotlin_module: Module was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.6.0, expected version is 1.4.0.
e: /Users/m_peter/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib/1.6.10/b8af3fe6f1ca88526914929add63cf5e7c5049af/kotlin-stdlib-1.6.10.jar!/META-INF/kotlin-stdlib.kotlin_module: Module was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.6.0, expected version is 1.4.0.
e: /Users/m_peter/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-common/1.6.10/c118700e3a33c8a0d9adc920e9dec0831171925/kotlin-stdlib-common-1.6.10.jar!/META-INF/kotlin-stdlib-common.kotlin_module: Module was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.6.0, expected version is 1.4.0.

> Task :app:dexBuilderRelease
> Task :app:mergeReleaseJavaResource
> Task :app:mergeDexRelease
> Task :app:packageRelease
> Task :app:assembleRelease

BUILD SUCCESSFUL in 32s
58 actionable tasks: 58 executed
2022-02-28 09:38:03,363 DEBUG: Popen(['git', 'cat-file', '--batch-check'], cwd=/Users/m_peter/code/fdroiddata/build/com.serwylo.babyphone, universal_newlines=False, shell=None, istream=<valid stream>)
2022-02-28 09:38:03,393 INFO: Successfully built version 1.0.0 of com.serwylo.babyphone from ed101e787e2065d0ef65b004ee8ac4294f2a4573
2022-02-28 09:38:03,607 DEBUG: AXML contains a RESOURCE MAP
2022-02-28 09:38:03,607 DEBUG: Start of Namespace mapping: prefix 30: 'android' --> uri 52: 'http://schemas.android.com/apk/res/android'
2022-02-28 09:38:03,607 DEBUG: Checking build/com.serwylo.babyphone/app/build/outputs/apk/release/app-release-unsigned.apk
2022-02-28 09:38:03,611 DEBUG: AXML contains a RESOURCE MAP
2022-02-28 09:38:03,611 DEBUG: Start of Namespace mapping: prefix 30: 'android' --> uri 52: 'http://schemas.android.com/apk/res/android'
2022-02-28 09:38:03,617 INFO: success: com.serwylo.babyphone
2022-02-28 09:38:03,618 INFO: Finished
2022-02-28 09:38:03,618 INFO: 1 build succeeded
2022-02-28 09:38:03,623 DEBUG: skip deploying full build logs: not enabled in config

play in loop

recordings stop after a few minutes. can you make it play in a loop?

Add additional built in contacts with associated voices

Currently there is a baby on the other end of the phone babbling through the speaker. We should also support a mum, dad, and perhaps grandparent who say things like "Ohhhhhhhhh", "Mmmmmm", "That's very interesting!", "Tell me more...", etc.

This will also require a facility to switch between contacts. A simple initial version may be as simple as tapping the face icon in to automatically cycle through all contacts.

In the future, it may mean hanging up, navigating to a different screen which shows a list of contacts, and then selecting a contact from there. This could also become the main splash screen so that you open the app and are asked who you would like to "call".

Different pitch for each number pressed in dialer

As per this Google Play feedback:

Really cool app! It would be great if the number buttons made their different pitched sounds

Completely agree. Normal phones have different tones for each number pressed. We should do the same. From memory I learnt how to play Mary Had a Little Lamb on a toy phone with the different tones. Lets give the same opportunity to new kids.

Only play audio when there is nobody talking near the phone

Currently, the sound plays indefinitely and at random, but small intervals. This is good for an initial proof of concept, but it would be good to be able to listen to the microphone, and then only play sound when we haven't heart anything for a small period. This will hopefully facilitate "conversations" rather than just one way communication from the phone to the baby.

Considerations:

  • When #2 implements additional voices, we may wish to have some audio tagged as the beginning of a sentence, to be played if the baby hasn't talked to the phone at all (or for some time). Examples of this are "Tell me about your day...", and "What are you doing now?". Others will be for responses to be played a short period of silence following the baby talking to the phone. Examples are "Oh wow", "Interesting...", etc.

Add an onboarding experience to explain the app

Yes, the best apps don't need explaining. This app will work just fine without explaining. However once we add the ability to record your own sounds (see #4), then it may be nice to at least explain that this is a possibility, so that people don't just always stick with the default ones. It may also help to explain things like screen locking (see #5).

Libraries such as https://github.com/AppIntro/AppIntro look like a great way to do this in an ergonomic and not particularly difficult way.

Allow screen to be pinned to prevent babies closing the app

The Baby Dots allows the screen to be locked, in which case the baby using the phone cannot accidentally close the app and cause damage elsewhere on the device.

I propose this is done by forcing them to tap the hang up button multiple times in succession, with appropriate prompts to any adult using the app so they know to do this.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.