diff --git a/docs/backend-sample/build.gradle b/docs/backend-sample/build.gradle
new file mode 100644
index 0000000..f8513ec
--- /dev/null
+++ b/docs/backend-sample/build.gradle
@@ -0,0 +1,25 @@
+/*
+ * SPDX-FileCopyrightText: 2013, microG Project Team
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+apply plugin: 'com.android.application'
+
+dependencies {
+ implementation project(':api')
+}
+
+android {
+ compileSdkVersion androidCompileSdk
+ buildToolsVersion "$androidBuildVersionTools"
+
+ defaultConfig {
+ minSdkVersion androidMinSdk
+ targetSdkVersion androidTargetSdk
+ }
+
+ compileOptions {
+ sourceCompatibility JavaVersion.VERSION_1_8
+ targetCompatibility JavaVersion.VERSION_1_8
+ }
+}
diff --git a/docs/backend-sample/src/main/AndroidManifest.xml b/docs/backend-sample/src/main/AndroidManifest.xml
new file mode 100644
index 0000000..2de8dfc
--- /dev/null
+++ b/docs/backend-sample/src/main/AndroidManifest.xml
@@ -0,0 +1,55 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/backend-sample/src/main/java/org/microg/nlp/api/sample/SampleBackendService.java b/docs/backend-sample/src/main/java/org/microg/nlp/api/sample/SampleBackendService.java
new file mode 100644
index 0000000..9c130d1
--- /dev/null
+++ b/docs/backend-sample/src/main/java/org/microg/nlp/api/sample/SampleBackendService.java
@@ -0,0 +1,26 @@
+/*
+ * SPDX-FileCopyrightText: 2013, microG Project Team
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+package org.microg.nlp.api.sample;
+
+import android.location.Location;
+import android.util.Log;
+import org.microg.nlp.api.LocationBackendService;
+import org.microg.nlp.api.LocationHelper;
+
+public class SampleBackendService extends LocationBackendService {
+ private static final String TAG = SampleBackendService.class.getName();
+
+ @Override
+ protected Location update() {
+ if (System.currentTimeMillis() % 60000 > 2000) {
+ Log.d(TAG, "I decided not to answer now...");
+ return null;
+ }
+ Location location = LocationHelper.create("sample", 42, 42, 42);
+ Log.d(TAG, "I was asked for location and I answer: " + location);
+ return location;
+ }
+}
diff --git a/docs/backend-sample/src/main/java/org/microg/nlp/api/sample/SecondSampleService.java b/docs/backend-sample/src/main/java/org/microg/nlp/api/sample/SecondSampleService.java
new file mode 100644
index 0000000..37f2ec2
--- /dev/null
+++ b/docs/backend-sample/src/main/java/org/microg/nlp/api/sample/SecondSampleService.java
@@ -0,0 +1,22 @@
+/*
+ * SPDX-FileCopyrightText: 2013, microG Project Team
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+package org.microg.nlp.api.sample;
+
+import android.location.Location;
+import android.util.Log;
+import org.microg.nlp.api.LocationBackendService;
+import org.microg.nlp.api.LocationHelper;
+
+public class SecondSampleService extends LocationBackendService {
+ private static final String TAG = SecondSampleService.class.getName();
+
+ @Override
+ protected Location update() {
+ Location location = LocationHelper.create("second-sample", 13, 13, (System.currentTimeMillis() / 1000) % 100);
+ Log.d(TAG, "I was asked for location and I answer: " + location);
+ return location;
+ }
+}
diff --git a/docs/backend-sample/src/main/java/org/microg/nlp/api/sample/SecondSettings.java b/docs/backend-sample/src/main/java/org/microg/nlp/api/sample/SecondSettings.java
new file mode 100644
index 0000000..6f21221
--- /dev/null
+++ b/docs/backend-sample/src/main/java/org/microg/nlp/api/sample/SecondSettings.java
@@ -0,0 +1,15 @@
+/*
+ * SPDX-FileCopyrightText: 2013, microG Project Team
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+package org.microg.nlp.api.sample;
+
+import android.app.Activity;
+import android.os.Bundle;
+
+public class SecondSettings extends Activity {
+ public void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ }
+}
\ No newline at end of file
diff --git a/docs/backend-sample/src/main/java/org/microg/nlp/api/sample/ThirdSampleService.java b/docs/backend-sample/src/main/java/org/microg/nlp/api/sample/ThirdSampleService.java
new file mode 100644
index 0000000..a9f169d
--- /dev/null
+++ b/docs/backend-sample/src/main/java/org/microg/nlp/api/sample/ThirdSampleService.java
@@ -0,0 +1,50 @@
+/*
+ * SPDX-FileCopyrightText: 2013, microG Project Team
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+package org.microg.nlp.api.sample;
+
+import android.location.Location;
+import android.util.Log;
+import org.microg.nlp.api.LocationBackendService;
+import org.microg.nlp.api.LocationHelper;
+
+import java.util.Random;
+
+public class ThirdSampleService extends LocationBackendService {
+ private static final String TAG = ThirdSampleService.class.getName();
+
+ private Thread regular;
+ private final Random random = new Random();
+
+ @Override
+ protected void onOpen() {
+ super.onOpen();
+ regular = new Thread(new Runnable() {
+ @Override
+ public void run() {
+ synchronized (regular) {
+ while (!regular.isInterrupted()) {
+ try {
+ regular.wait(60000);
+ } catch (InterruptedException e) {
+ return;
+ }
+ Location location = LocationHelper.create("random", random.nextDouble() * 90, random.nextDouble() * 90, random.nextFloat() * 90);
+ Log.d(TAG, "Just reported: " + location);
+ report(location);
+ }
+ }
+ }
+ });
+ regular.start();
+ }
+
+ @Override
+ protected void onClose() {
+ if (regular != null && regular.isAlive()) {
+ regular.interrupt();
+ }
+ }
+}
diff --git a/docs/backend-sample/src/main/res/values/strings.xml b/docs/backend-sample/src/main/res/values/strings.xml
new file mode 100644
index 0000000..4fa0313
--- /dev/null
+++ b/docs/backend-sample/src/main/res/values/strings.xml
@@ -0,0 +1,9 @@
+
+
+
+
+ NetworkLocationV2-SamplePlugin
+