Change project name to "Child Monitor"

This commit is contained in:
edr
2020-04-22 22:52:08 +02:00
parent 10f2d0a253
commit d0ed6c1bba
29 changed files with 159 additions and 140 deletions

View File

@@ -1,7 +1,7 @@
[main] [main]
host = https://www.transifex.com host = https://www.transifex.com
[protect-baby-monitor.stringsxml] [child-monitor.stringsxml]
file_filter = app/src/main/res/values-<lang>/strings.xml file_filter = app/src/main/res/values-<lang>/strings.xml
minimum_perc = 0 minimum_perc = 0
source_file = app/src/main/res/values/strings.xml source_file = app/src/main/res/values/strings.xml

View File

@@ -2,6 +2,8 @@ Branden Archer:
Initial concept and implementation Initial concept and implementation
Naofumi Fukue: Naofumi Fukue:
Added Japanese translation Added Japanese translation
Enguerrand de Rochefort
Continuation of implementation
Anybody who has contributed code to Protect Baby Monitor is considered Anybody who has contributed code to Child Monitor (or Protect Baby Monitor) is considered
an author. Send pull requests to this project for additions to this file. an author. Send pull requests to this project for additions to this file.

View File

@@ -1,9 +1,9 @@
How to Submit Patches to the Protect Baby Monitor Project How to Submit Patches to the Child Monitor Project
=============================================================================== ===============================================================================
https://github.com/brarcher/budget-watch https://github.com/enguerrand/child-monitor
This document is intended to act as a guide to help you contribute to the This document is intended to act as a guide to help you contribute to the
Protect Baby Monitor project. It is not perfect, and there will always be exceptions Child Monitor project. It is not perfect, and there will always be exceptions
to the rules described here, but by following the instructions below you to the rules described here, but by following the instructions below you
should have a much easier time getting your work merged with the upstream should have a much easier time getting your work merged with the upstream
project. project.
@@ -28,13 +28,6 @@ and FindBugs, run using:
The final check is by testing the application on a live device and verifying The final check is by testing the application on a live device and verifying
the basic functionality works as expected. the basic functionality works as expected.
## Make Sure Your Code is Tested
The Protect Baby Monitor code uses a fair number of unit tests to verify that
the basic functionality is working. Submissions which add functionality
or significantly change the existing code should include additional tests
to verify the proper operation of the proposed changes.
## Explain Your Work ## Explain Your Work
At the top of every patch you should include a description of the problem you At the top of every patch you should include a description of the problem you
@@ -85,7 +78,7 @@ your real name, saying:
## Submit Patch(es) for Review ## Submit Patch(es) for Review
Finally, you will need to submit your patches so that they can be reviewed Finally, you will need to submit your patches so that they can be reviewed
and potentially merged into the main Protect Baby Monitor repository. The preferred and potentially merged into the main Child Monitor repository. The preferred
way to do this is to submit a Pull Request to the Protect Baby Monitor project. way to do this is to submit a Pull Request to the Child Monitor project.
Changes need to apply cleanly onto the master branch and pass all Changes need to apply cleanly onto the master branch and pass all
unit tests and produce no errors during static analysis. unit tests and produce no errors during static analysis.

View File

@@ -1,35 +1,25 @@
# Protect Baby Monitor # Child Monitor
An Open Source Baby Monitor for Android An Open Source Child Monitor for Android
[![Build Status](https://travis-ci.org/brarcher/protect-baby-monitor.svg?branch=master)](https://travis-ci.org/brarcher/protect-baby-monitor) _Child Monitor_ allows two Android devices to act as a baby monitor. The first device,
[![F-Droid](https://upload.wikimedia.org/wikipedia/commons/thumb/0/0d/Get_it_on_F-Droid.svg/160px-Get_it_on_F-Droid.svg.png)](https://f-droid.org/repository/browse/?fdid=protect.babymonitor "Protect Baby Monitor on F-Droid")
_Protect Baby Monitor_ allows two Android devices to act as a baby monitor. The first device,
left in the room with the baby, will advertise itself on the network and stream audio left in the room with the baby, will advertise itself on the network and stream audio
to a connected client. The second device, with the parent, will connect to the monitoring to a connected client. The second device, with the parent, will connect to the monitoring
device and receive an audio stream. device and receive an audio stream.
_Protect Baby Monitor_ works on Android 4.1 (Jelly Bean) and newer, i.e. Android SDK 16. The project is a fork of _Protect Baby Monitor_ which is declared as "on hiatus" by its developer.
The current version of _Protect Baby Monitor_ is rudimentary at best. It is capable _Child Monitor_ works on Android 4.4 (KitKat) and newer, i.e. Android SDK 19.
The current version of _Child Monitor_ is rudimentary at best. It is capable
of successfully advertising itself on the network, allows clients to connect, of successfully advertising itself on the network, allows clients to connect,
and streams audio. Room for improvement includes: and streams audio. Room for improvement includes:
1. Robust usage of the AudioTrack API 1. Robust usage of the AudioTrack API
2. Handle dropped packets gracefully 2. Handle dropped packets gracefully
3. Use of GSM when no internet connectivity is available
At the time this project was started there was no obvious open source solution for a At the time this project was forked from _Protect Baby Monitor_ there was no obvious open source solution for a
baby monitor for Android. There are both free and paid options available for Android, baby monitor for Android in F-Droid.
including:
- [Baby Monitor Wifi](https://play.google.com/store/apps/details?id=com.bluechillie.babyphone)
- [Dormi](https://play.google.com/store/apps/details?id=com.sleekbit.dormi)
- [Baby Monitor](https://play.google.com/store/apps/details?id=dk.mvainformatics.android.babymonitor)
# Translating
If you are interested in translating this application to another language, find the project listing on [Transifex](https://www.transifex.com/na-243/protect-baby-monitor/).
# Thanks # Thanks
@@ -37,6 +27,3 @@ App icon originals from [Icons4Android](http://www.icons4android.com/)
and formatted using [Android Asset Studio](https://romannurik.github.io/AndroidAssetStudio/index.html). and formatted using [Android Asset Studio](https://romannurik.github.io/AndroidAssetStudio/index.html).
Audio file originals from [freesound](https://freesound.org). Audio file originals from [freesound](https://freesound.org).
# Note from Developer
The developer is currently on hiatus from the project. Questions and pull requests may not be looked at for some time. Apologies in advance.

View File

@@ -7,14 +7,14 @@ findbugs {
} }
android { android {
compileSdkVersion 25 compileSdkVersion 26
defaultConfig { defaultConfig {
applicationId "protect.babymonitor" applicationId "child.monitor"
minSdkVersion 19 minSdkVersion 19
targetSdkVersion 26 targetSdkVersion 26
versionCode 3 versionCode 4
versionName "0.3" versionName "0.4"
} }
buildTypes { buildTypes {
@@ -25,7 +25,7 @@ android {
} }
dependencies { dependencies {
compile "com.android.support:support-compat:25.4.0" compile "com.android.support:support-compat:26.1.0"
} }
} }

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" <manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="protect.babymonitor" package="de.rochefort.childmonitor"
android:versionCode="2" android:versionCode="2"
android:versionName="0.2" > android:versionName="0.2" >
@@ -14,7 +14,7 @@
android:label="@string/app_name" android:label="@string/app_name"
android:theme="@android:style/Theme.Holo" > android:theme="@android:style/Theme.Holo" >
<activity <activity
android:name="protect.babymonitor.StartActivity" android:name="de.rochefort.childmonitor.StartActivity"
android:label="@string/app_name" android:label="@string/app_name"
android:configChanges="orientation|screenSize" android:configChanges="orientation|screenSize"
> >
@@ -24,23 +24,23 @@
</intent-filter> </intent-filter>
</activity> </activity>
<activity <activity
android:name="protect.babymonitor.MonitorActivity" android:name="de.rochefort.childmonitor.MonitorActivity"
android:label="@string/app_name" android:label="@string/app_name"
android:configChanges="orientation|screenSize" android:configChanges="orientation|screenSize"
android:parentActivityName="protect.babymonitor.StartActivity" android:parentActivityName="de.rochefort.childmonitor.StartActivity"
/> />
<activity <activity
android:name="protect.babymonitor.DiscoverActivity" android:name="de.rochefort.childmonitor.DiscoverActivity"
android:label="@string/app_name" android:label="@string/app_name"
android:configChanges="orientation|screenSize" android:configChanges="orientation|screenSize"
android:windowSoftInputMode="adjustPan" android:windowSoftInputMode="adjustPan"
android:parentActivityName="protect.babymonitor.StartActivity" android:parentActivityName="de.rochefort.childmonitor.StartActivity"
/> />
<activity <activity
android:name="protect.babymonitor.ListenActivity" android:name="de.rochefort.childmonitor.ListenActivity"
android:label="@string/app_name" android:label="@string/app_name"
android:configChanges="orientation|screenSize" android:configChanges="orientation|screenSize"
android:parentActivityName="protect.babymonitor.DiscoverActivity" android:parentActivityName="de.rochefort.childmonitor.DiscoverActivity"
/> />
</application> </application>

View File

@@ -0,0 +1,31 @@
/**
* This file is part of the Child Monitor.
*
* Child Monitor is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Child Monitor is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Child Monitor. If not, see <http://www.gnu.org/licenses/>.
*/
package de.rochefort.childmonitor;
import android.media.AudioFormat;
public class AudioCodecDefines {
public static final int FREQUENCY = 11025;
public static final int ENCODING = AudioFormat.ENCODING_PCM_16BIT;
public static final int CHANNEL_CONFIGURATION_IN = AudioFormat.CHANNEL_IN_MONO;
public static final int CHANNEL_CONFIGURATION_OUT = AudioFormat.CHANNEL_OUT_MONO;
private AudioCodecDefines() {
throw new IllegalStateException("Do not instantiate!");
}
}

View File

@@ -0,0 +1,21 @@
/**
* This file is part of the Child Monitor.
*
* Child Monitor is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Child Monitor is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Child Monitor. If not, see <http://www.gnu.org/licenses/>.
*/
package de.rochefort.childmonitor;
public interface AudioListener {
void onAudio(byte[] audioBytes);
}

View File

@@ -1,20 +1,20 @@
/** /**
* This file is part of the Protect Baby Monitor. * This file is part of the Child Monitor.
* *
* Protect Baby Monitor is free software: you can redistribute it and/or modify * Child Monitor is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or * the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version. * (at your option) any later version.
* *
* Protect Baby Monitor is distributed in the hope that it will be useful, * Child Monitor is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of * but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details. * GNU General Public License for more details.
* *
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with Protect Baby Monitor. If not, see <http://www.gnu.org/licenses/>. * along with Child Monitor. If not, see <http://www.gnu.org/licenses/>.
*/ */
package protect.babymonitor; package de.rochefort.childmonitor;
import android.app.Activity; import android.app.Activity;
import android.content.Context; import android.content.Context;
@@ -32,9 +32,10 @@ import android.widget.EditText;
import android.widget.ListView; import android.widget.ListView;
import android.widget.Toast; import android.widget.Toast;
public class DiscoverActivity extends Activity public class DiscoverActivity extends Activity
{ {
final String TAG = "BabyMonitor"; final String TAG = "ChildMonitor";
NsdManager _nsdManager; NsdManager _nsdManager;
@@ -43,7 +44,7 @@ public class DiscoverActivity extends Activity
@Override @Override
protected void onCreate(Bundle savedInstanceState) protected void onCreate(Bundle savedInstanceState)
{ {
Log.i(TAG, "Baby monitor start"); Log.i(TAG, "ChildMonitor start");
_nsdManager = (NsdManager)this.getSystemService(Context.NSD_SERVICE); _nsdManager = (NsdManager)this.getSystemService(Context.NSD_SERVICE);
@@ -74,7 +75,7 @@ public class DiscoverActivity extends Activity
private void loadDiscoveryViaMdns() private void loadDiscoveryViaMdns()
{ {
setContentView(R.layout.activity_discover_mdns); setContentView(R.layout.activity_discover_mdns);
startServiceDiscovery("_babymonitor._tcp."); startServiceDiscovery("_childmonitor._tcp.");
} }
private void loadDiscoveryViaAddress() private void loadDiscoveryViaAddress()
@@ -121,7 +122,7 @@ public class DiscoverActivity extends Activity
@Override @Override
protected void onDestroy() protected void onDestroy()
{ {
Log.i(TAG, "Baby monitoring stop"); Log.i(TAG, "ChildMonitoring stop");
if(_discoveryListener != null) if(_discoveryListener != null)
{ {
@@ -176,7 +177,7 @@ public class DiscoverActivity extends Activity
// transport layer for this service. // transport layer for this service.
Log.d(TAG, "Unknown Service Type: " + service.getServiceType()); Log.d(TAG, "Unknown Service Type: " + service.getServiceType());
} }
else if (service.getServiceName().contains("ProtectBabyMonitor")) else if (service.getServiceName().contains("ChildMonitor"))
{ {
NsdManager.ResolveListener resolver = new NsdManager.ResolveListener() NsdManager.ResolveListener resolver = new NsdManager.ResolveListener()
{ {
@@ -285,9 +286,9 @@ class ServiceInfoWrapper
{ {
// If there is more than one service on the network, it will // If there is more than one service on the network, it will
// have a number at the end, but will appear as the following: // have a number at the end, but will appear as the following:
// "ProtectBabyMonitor\\032(number) // "ChildMonitor\\032(number)
// or // or
// "ProtectBabyMonitor\032(number) // "ChildMonitor\032(number)
// Replace \\032 and \032 with a " " // Replace \\032 and \032 with a " "
String serviceName = _info.getServiceName(); String serviceName = _info.getServiceName();
serviceName = serviceName.replace("\\\\032", " "); serviceName = serviceName.replace("\\\\032", " ");

View File

@@ -1,20 +1,20 @@
/** /**
* This file is part of the Protect Baby Monitor. * This file is part of the Child Monitor.
* *
* Protect Baby Monitor is free software: you can redistribute it and/or modify * Child Monitor is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or * the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version. * (at your option) any later version.
* *
* Protect Baby Monitor is distributed in the hope that it will be useful, * Child Monitor is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of * but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details. * GNU General Public License for more details.
* *
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with Protect Baby Monitor. If not, see <http://www.gnu.org/licenses/>. * along with Child Monitor. If not, see <http://www.gnu.org/licenses/>.
*/ */
package protect.babymonitor; package de.rochefort.childmonitor;
import java.io.IOException; import java.io.IOException;
import java.io.InputStream; import java.io.InputStream;
@@ -22,7 +22,6 @@ import java.net.Socket;
import java.net.UnknownHostException; import java.net.UnknownHostException;
import android.app.Activity; import android.app.Activity;
import android.media.AudioFormat;
import android.media.AudioManager; import android.media.AudioManager;
import android.media.AudioTrack; import android.media.AudioTrack;
import android.media.MediaPlayer; import android.media.MediaPlayer;
@@ -34,7 +33,7 @@ import android.support.v4.app.NotificationManagerCompat;
public class ListenActivity extends Activity public class ListenActivity extends Activity
{ {
final String TAG = "BabyMonitor"; final String TAG = "ChildMonitor";
// Sets an ID for the notification // Sets an ID for the notification
final static int mNotificationId = 1; final static int mNotificationId = 1;

View File

@@ -1,20 +1,20 @@
/** /**
* This file is part of the Protect Baby Monitor. * This file is part of the Child Monitor.
* *
* Protect Baby Monitor is free software: you can redistribute it and/or modify * Child Monitor is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or * the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version. * (at your option) any later version.
* *
* Protect Baby Monitor is distributed in the hope that it will be useful, * Child Monitor is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of * but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details. * GNU General Public License for more details.
* *
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with Protect Baby Monitor. If not, see <http://www.gnu.org/licenses/>. * along with Child Monitor. If not, see <http://www.gnu.org/licenses/>.
*/ */
package protect.babymonitor; package de.rochefort.childmonitor;
import java.io.IOException; import java.io.IOException;
import java.io.OutputStream; import java.io.OutputStream;
@@ -24,7 +24,6 @@ import java.util.Objects;
import android.app.Activity; import android.app.Activity;
import android.content.Context; import android.content.Context;
import android.media.AudioFormat;
import android.media.AudioRecord; import android.media.AudioRecord;
import android.media.MediaRecorder; import android.media.MediaRecorder;
import android.net.nsd.NsdManager; import android.net.nsd.NsdManager;
@@ -37,7 +36,7 @@ import android.util.Log;
import android.widget.TextView; import android.widget.TextView;
public class MonitorActivity extends Activity { public class MonitorActivity extends Activity {
final static String TAG = "BabyMonitor"; final static String TAG = "ChildMonitor";
private NsdManager nsdManager; private NsdManager nsdManager;
@@ -96,7 +95,7 @@ public class MonitorActivity extends Activity {
@Override @Override
protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) {
Log.i(TAG, "Baby monitor start"); Log.i(TAG, "ChildMonitor start");
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
setContentView(R.layout.activity_monitor); setContentView(R.layout.activity_monitor);
@@ -158,7 +157,7 @@ public class MonitorActivity extends Activity {
@Override @Override
protected void onDestroy() { protected void onDestroy() {
Log.i(TAG, "Baby monitor stop"); Log.i(TAG, "ChildMonitor stop");
unregisterService(); unregisterService();
@@ -176,8 +175,8 @@ public class MonitorActivity extends Activity {
private void registerService(final int port) { private void registerService(final int port) {
final NsdServiceInfo serviceInfo = new NsdServiceInfo(); final NsdServiceInfo serviceInfo = new NsdServiceInfo();
serviceInfo.setServiceName("ProtectBabyMonitor"); serviceInfo.setServiceName("ChildMonitor");
serviceInfo.setServiceType("_babymonitor._tcp."); serviceInfo.setServiceType("_childmonitor._tcp.");
serviceInfo.setPort(port); serviceInfo.setPort(port);
registrationListener = new NsdManager.RegistrationListener() { registrationListener = new NsdManager.RegistrationListener() {

View File

@@ -1,20 +1,20 @@
/** /**
* This file is part of the Protect Baby Monitor. * This file is part of the Child Monitor.
* *
* Protect Baby Monitor is free software: you can redistribute it and/or modify * Child Monitor is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or * the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version. * (at your option) any later version.
* *
* Protect Baby Monitor is distributed in the hope that it will be useful, * Child Monitor is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of * but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details. * GNU General Public License for more details.
* *
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with Protect Baby Monitor. If not, see <http://www.gnu.org/licenses/>. * along with Child Monitor. If not, see <http://www.gnu.org/licenses/>.
*/ */
package protect.babymonitor; package de.rochefort.childmonitor;
import android.Manifest; import android.Manifest;
import android.app.Activity; import android.app.Activity;
@@ -29,12 +29,12 @@ import android.widget.Button;
public class StartActivity extends Activity public class StartActivity extends Activity
{ {
static final String TAG = "BabyMonitor"; static final String TAG = "ChildMonitor";
private final static int PERMISSIONS_REQUEST_RECORD_AUDIO = 298349824; private final static int PERMISSIONS_REQUEST_RECORD_AUDIO = 298349824;
@Override @Override
protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) {
Log.i(TAG, "Baby monitor launched"); Log.i(TAG, "ChildMonitor launched");
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
setContentView(R.layout.activity_start); setContentView(R.layout.activity_start);

View File

@@ -1,4 +1,20 @@
package protect.babymonitor; /**
* This file is part of the Child Monitor.
*
* Child Monitor is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Child Monitor is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Child Monitor. If not, see <http://www.gnu.org/licenses/>.
*/
package de.rochefort.childmonitor;
import android.content.Context; import android.content.Context;
import android.graphics.Canvas; import android.graphics.Canvas;
@@ -6,7 +22,6 @@ import android.graphics.Color;
import android.graphics.Paint; import android.graphics.Paint;
import android.support.annotation.Nullable; import android.support.annotation.Nullable;
import android.util.AttributeSet; import android.util.AttributeSet;
import android.util.Log;
import android.view.View; import android.view.View;
import java.util.LinkedList; import java.util.LinkedList;

View File

@@ -1,15 +0,0 @@
package protect.babymonitor;
import android.media.AudioFormat;
public class AudioCodecDefines {
public static final int FREQUENCY = 11025;
public static final int ENCODING = AudioFormat.ENCODING_PCM_16BIT;
public static final int CHANNEL_CONFIGURATION_IN = AudioFormat.CHANNEL_IN_MONO;
public static final int CHANNEL_CONFIGURATION_OUT = AudioFormat.CHANNEL_OUT_MONO;
private AudioCodecDefines() {
throw new IllegalStateException("Do not instantiate!");
}
}

View File

@@ -1,5 +0,0 @@
package protect.babymonitor;
public interface AudioListener {
void onAudio(byte[] audioBytes);
}

View File

@@ -8,7 +8,7 @@
android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin" android:paddingTop="@dimen/activity_vertical_margin"
tools:context="protect.babymonitor.MonitorActivity" > tools:context="de.rochefort.childmonitor.MonitorActivity" >
<TextView <TextView
android:id="@+id/parentDeviceTitle" android:id="@+id/parentDeviceTitle"

View File

@@ -8,7 +8,7 @@
android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin" android:paddingTop="@dimen/activity_vertical_margin"
tools:context="protect.babymonitor.MonitorActivity" > tools:context="de.rochefort.childmonitor.MonitorActivity" >
<TextView <TextView
android:id="@+id/parentDeviceTitle" android:id="@+id/parentDeviceTitle"

View File

@@ -8,7 +8,7 @@
android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin" android:paddingTop="@dimen/activity_vertical_margin"
tools:context="protect.babymonitor.MonitorActivity" > tools:context="de.rochefort.childmonitor.MonitorActivity" >
<TextView <TextView
android:id="@+id/parentDeviceTitle" android:id="@+id/parentDeviceTitle"

View File

@@ -9,7 +9,7 @@
android:paddingTop="@dimen/activity_vertical_margin" android:paddingTop="@dimen/activity_vertical_margin"
android:paddingRight="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingBottom="@dimen/activity_vertical_margin" android:paddingBottom="@dimen/activity_vertical_margin"
tools:context="protect.babymonitor.MonitorActivity"> tools:context="de.rochefort.childmonitor.MonitorActivity">
<TextView <TextView
android:id="@id/parentDeviceTitle" android:id="@id/parentDeviceTitle"
@@ -59,7 +59,7 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="15dip" /> android:layout_height="15dip" />
<protect.babymonitor.VolumeView <de.rochefort.childmonitor.VolumeView
android:id="@+id/volume" android:id="@+id/volume"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" /> android:layout_height="match_parent" />

View File

@@ -9,7 +9,7 @@
android:paddingRight="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin" android:paddingTop="@dimen/activity_vertical_margin"
android:keepScreenOn="true" android:keepScreenOn="true"
tools:context="protect.babymonitor.MonitorActivity" > tools:context="de.rochefort.childmonitor.MonitorActivity" >
<TextView <TextView
android:id="@+id/childDeviceTitle" android:id="@+id/childDeviceTitle"

View File

@@ -8,7 +8,7 @@
android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin" android:paddingTop="@dimen/activity_vertical_margin"
tools:context="protect.babymonitor.StartActivity" > tools:context="de.rochefort.childmonitor.StartActivity" >
<Button <Button
android:id="@+id/useChildDevice" android:id="@+id/useChildDevice"

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<resources> <resources>
<string name="app_name">Protect Baby Monitor</string> <string name="app_name">Child Monitor</string>
<string name="action_settings">Einstellungen</string> <string name="action_settings">Einstellungen</string>
<string name="useAsParentDevice">Als Eltern-Gerät benutzen</string> <string name="useAsParentDevice">Als Eltern-Gerät benutzen</string>
<string name="useAsChildDevice">Als Kind-Gerät benutzen</string> <string name="useAsChildDevice">Als Kind-Gerät benutzen</string>

View File

@@ -1,4 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
</resources>

View File

@@ -1,4 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
</resources>

View File

@@ -1,4 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
</resources>

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<resources> <resources>
<string name="app_name">安全ベビー モニター</string> <string name="app_name">モニター</string>
<string name="action_settings">設定</string> <string name="action_settings">設定</string>
<string name="useAsParentDevice">親機として使用する</string> <string name="useAsParentDevice">親機として使用する</string>
<string name="useAsChildDevice">子機として使用する</string> <string name="useAsChildDevice">子機として使用する</string>

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<resources> <resources>
<string name="app_name">Bescherm-babymonitor</string> <string name="app_name">ChildMonitor</string>
<string name="action_settings">Instellingen</string> <string name="action_settings">Instellingen</string>
<string name="useAsParentDevice">Gebruiken als ouderapparaat</string> <string name="useAsParentDevice">Gebruiken als ouderapparaat</string>
<string name="useAsChildDevice">Gebruiken als kindapparaat</string> <string name="useAsChildDevice">Gebruiken als kindapparaat</string>

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<resources> <resources>
<string name="app_name">Protect Baby Monitor</string> <string name="app_name">Child Monitor</string>
<string name="action_settings">Settings</string> <string name="action_settings">Settings</string>
<string name="useAsParentDevice">Use as Parent Device</string> <string name="useAsParentDevice">Use as Parent Device</string>
<string name="useAsChildDevice">Use as Child Device</string> <string name="useAsChildDevice">Use as Child Device</string>

View File

@@ -1,7 +1,7 @@
# PRIVACY POLICY FOR PROTECT BABY MONITOR # PRIVACY POLICY FOR CHILD MONITOR
This privacy policy governs your use of the software application Protect Baby Monitor (“Application”) for mobile devices This privacy policy governs your use of the software application Child Monitor (“Application”) for mobile devices.
that was created by Protect. The Application is a simple WiFi based baby monitor. The Application is a simple network based baby monitor.
# What information does the Application obtain and how is it used? # What information does the Application obtain and how is it used?
@@ -52,22 +52,25 @@ not delete such emails.
This Application is not used to knowingly solicit data from or market to children under the age of 13. If a parent or This Application is not used to knowingly solicit data from or market to children under the age of 13. If a parent or
guardian becomes aware that his or her child has provided us with information without their consent, he or she should guardian becomes aware that his or her child has provided us with information without their consent, he or she should
contact us at protect.github@gmail.com. We will delete such information from our files within a reasonable time. contact me at github@rochefort.de. I will delete such information from my files within a reasonable time.
# Security # Security
We are concerned about safeguarding the confidentiality of your information. The only information which could I am concerned about safeguarding the confidentiality of your information. The only information which could
be sent to the developer is crash details, and these are opt-in. If a user is presented with the option to be sent to the developer is crash details, and these are opt-in. If a user is presented with the option to
submit details on a crash, all the information which would be submitted is presented to the user. The only submit details on a crash, all the information which would be submitted is presented to the user. The only
personally identifiable information is the email address of the user which is used to send the crash details. personally identifiable information is the email address of the user which is used to send the crash details.
The data transferred between two paired devices is transmitted unencrypted. It is the responsiblity of the user to
only transfer data through otherwise secured channels.
# Changes # Changes
This Privacy Policy may be updated from time to time for any reason. We will notify you of any changes to our This Privacy Policy may be updated from time to time for any reason. I will notify you of any changes to this
Privacy Policy by posting the new Privacy Policy here. You are advised to consult this Privacy Policy regularly Privacy Policy by posting the new Privacy Policy here. You are advised to consult this Privacy Policy regularly
for any changes, as continued use is deemed approval of all changes. You can check the history of this policy by for any changes, as continued use is deemed approval of all changes. You can check the history of this policy by
checking this history of this file in GitHub. checking this history of this file in GitHub.
# Contact us # Contact me
If you have any questions regarding privacy while using the Application, or have questions about our practices, If you have any questions regarding privacy while using the Application, or have questions about our practices,
please contact us via email at protect.github@gmail.com. please contact me via email at github@rochefort.de.