Skip to content

Commit d7767dd

Browse files
committedFeb 9, 2023
project setup
1 parent 7b0b88d commit d7767dd

21 files changed

+358
-2
lines changed
 

‎build.gradle

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
buildscript {
22
// https://kotlinlang.org/docs/releases.html#release-details
3-
ext.kotlin_version = '1.7.20'
3+
ext.kotlin_version = '1.7.10'
44
// https://plugins.gradle.org/plugin/io.github.gradle-nexus.publish-plugin
55
ext.gradle_nexus_publish_plugin = '1.1.0'
66

‎settings.gradle

+2-1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ include ':ble'
44
include ':ble-ktx'
55
include ':ble-common'
66
include ':ble-livedata'
7+
include ':test'
78
include ':examples:ble-gatt-client'
89
include ':examples:ble-gatt-server'
9-
include ':examples:trivia'
10+
include ':examples:trivia'

‎test/.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
/build

‎test/build.gradle

+71
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
plugins {
2+
id 'com.android.application'
3+
id 'kotlin-android'
4+
id 'org.jetbrains.kotlin.android'
5+
id 'kotlin-kapt'
6+
id 'dagger.hilt.android.plugin'
7+
}
8+
9+
android {
10+
namespace 'no.nordicsemi.andorid.ble.test'
11+
compileSdk 33
12+
13+
defaultConfig {
14+
applicationId "no.nordicsemi.andorid.ble.test"
15+
minSdk 21
16+
targetSdk 33
17+
versionCode 1
18+
versionName "1.0"
19+
20+
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
21+
vectorDrawables {
22+
useSupportLibrary true
23+
}
24+
}
25+
26+
buildTypes {
27+
release {
28+
minifyEnabled false
29+
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
30+
}
31+
}
32+
33+
buildFeatures {
34+
compose true
35+
}
36+
composeOptions {
37+
kotlinCompilerExtensionVersion '1.3.0'
38+
}
39+
packagingOptions {
40+
resources {
41+
excludes += '/META-INF/{AL2.0,LGPL2.1}'
42+
}
43+
}
44+
}
45+
46+
dependencies {
47+
implementation project(path: ':ble-ktx')
48+
// Nordic theme
49+
implementation "no.nordicsemi.android.common:theme:1.3.3"
50+
implementation 'no.nordicsemi.android.common:permission:1.3.3'
51+
implementation 'no.nordicsemi.android.common:navigation:1.3.3'
52+
53+
implementation 'com.github.jeziellago:compose-markdown:0.3.0'
54+
55+
// Jetpack Compose bom
56+
implementation platform('androidx.compose:compose-bom:2022.11.00')
57+
58+
// Text, Color, Surface
59+
implementation 'androidx.compose.material3:material3'
60+
implementation 'androidx.activity:activity-compose:1.6.1'
61+
62+
// Preview
63+
debugImplementation "androidx.compose.ui:ui-tooling"
64+
implementation "androidx.compose.ui:ui-tooling-preview"
65+
66+
// Dagger and Hilt
67+
implementation 'com.google.dagger:hilt-android:2.44.2'
68+
kapt 'com.google.dagger:hilt-compiler:2.44.2'
69+
implementation 'androidx.hilt:hilt-navigation-compose:1.0.0'
70+
kapt 'androidx.hilt:hilt-compiler:1.0.0'
71+
}

‎test/proguard-rules.pro

+21
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
# Add project specific ProGuard rules here.
2+
# You can control the set of applied configuration files using the
3+
# proguardFiles setting in build.gradle.
4+
#
5+
# For more details, see
6+
# http://developer.android.com/guide/developing/tools/proguard.html
7+
8+
# If your project uses WebView with JS, uncomment the following
9+
# and specify the fully qualified class name to the JavaScript interface
10+
# class:
11+
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
12+
# public *;
13+
#}
14+
15+
# Uncomment this to preserve the line number information for
16+
# debugging stack traces.
17+
#-keepattributes SourceFile,LineNumberTable
18+
19+
# If you keep the line number information, uncomment this to
20+
# hide the original source file name.
21+
#-renamesourcefileattribute SourceFile

‎test/src/main/AndroidManifest.xml

+44
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
3+
4+
<!-- Request legacy Bluetooth permissions on older devices. -->
5+
<uses-permission android:name="android.permission.BLUETOOTH"
6+
android:maxSdkVersion="30" />
7+
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN"
8+
android:maxSdkVersion="30" />
9+
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT"/>
10+
<uses-permission android:name="android.permission.BLUETOOTH_ADVERTISE"/>
11+
<uses-permission android:name="android.permission.BLUETOOTH_SCAN" />
12+
13+
<uses-permission
14+
android:name="android.permission.ACCESS_FINE_LOCATION"
15+
android:maxSdkVersion="30" />
16+
<uses-permission
17+
android:name="android.permission.ACCESS_COARSE_LOCATION"
18+
android:maxSdkVersion="30" />
19+
20+
<application
21+
android:name=".TestApplication"
22+
android:allowBackup="true"
23+
android:icon="@mipmap/ic_launcher"
24+
android:label="@string/app_name"
25+
android:roundIcon="@mipmap/ic_launcher_round"
26+
android:supportsRtl="true"
27+
android:theme="@style/NordicTheme">
28+
<activity
29+
android:name=".MainActivity"
30+
android:exported="true"
31+
android:theme="@style/NordicTheme.SplashScreen">
32+
<intent-filter>
33+
<action android:name="android.intent.action.MAIN" />
34+
35+
<category android:name="android.intent.category.LAUNCHER" />
36+
</intent-filter>
37+
38+
<meta-data
39+
android:name="android.app.lib_name"
40+
android:value="" />
41+
</activity>
42+
</application>
43+
44+
</manifest>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
<vector xmlns:android="http://schemas.android.com/apk/res/android"
2+
xmlns:aapt="http://schemas.android.com/aapt"
3+
android:width="108dp"
4+
android:height="108dp"
5+
android:viewportWidth="108"
6+
android:viewportHeight="108">
7+
<path android:pathData="M31,63.928c0,0 6.4,-11 12.1,-13.1c7.2,-2.6 26,-1.4 26,-1.4l38.1,38.1L107,108.928l-32,-1L31,63.928z">
8+
<aapt:attr name="android:fillColor">
9+
<gradient
10+
android:endX="85.84757"
11+
android:endY="92.4963"
12+
android:startX="42.9492"
13+
android:startY="49.59793"
14+
android:type="linear">
15+
<item
16+
android:color="#44000000"
17+
android:offset="0.0" />
18+
<item
19+
android:color="#00000000"
20+
android:offset="1.0" />
21+
</gradient>
22+
</aapt:attr>
23+
</path>
24+
<path
25+
android:fillColor="#FFFFFF"
26+
android:fillType="nonZero"
27+
android:pathData="M65.3,45.828l3.8,-6.6c0.2,-0.4 0.1,-0.9 -0.3,-1.1c-0.4,-0.2 -0.9,-0.1 -1.1,0.3l-3.9,6.7c-6.3,-2.8 -13.4,-2.8 -19.7,0l-3.9,-6.7c-0.2,-0.4 -0.7,-0.5 -1.1,-0.3C38.8,38.328 38.7,38.828 38.9,39.228l3.8,6.6C36.2,49.428 31.7,56.028 31,63.928h46C76.3,56.028 71.8,49.428 65.3,45.828zM43.4,57.328c-0.8,0 -1.5,-0.5 -1.8,-1.2c-0.3,-0.7 -0.1,-1.5 0.4,-2.1c0.5,-0.5 1.4,-0.7 2.1,-0.4c0.7,0.3 1.2,1 1.2,1.8C45.3,56.528 44.5,57.328 43.4,57.328L43.4,57.328zM64.6,57.328c-0.8,0 -1.5,-0.5 -1.8,-1.2s-0.1,-1.5 0.4,-2.1c0.5,-0.5 1.4,-0.7 2.1,-0.4c0.7,0.3 1.2,1 1.2,1.8C66.5,56.528 65.6,57.328 64.6,57.328L64.6,57.328z"
28+
android:strokeWidth="1"
29+
android:strokeColor="#00000000" />
30+
</vector>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,170 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<vector xmlns:android="http://schemas.android.com/apk/res/android"
3+
android:width="108dp"
4+
android:height="108dp"
5+
android:viewportWidth="108"
6+
android:viewportHeight="108">
7+
<path
8+
android:fillColor="#3DDC84"
9+
android:pathData="M0,0h108v108h-108z" />
10+
<path
11+
android:fillColor="#00000000"
12+
android:pathData="M9,0L9,108"
13+
android:strokeWidth="0.8"
14+
android:strokeColor="#33FFFFFF" />
15+
<path
16+
android:fillColor="#00000000"
17+
android:pathData="M19,0L19,108"
18+
android:strokeWidth="0.8"
19+
android:strokeColor="#33FFFFFF" />
20+
<path
21+
android:fillColor="#00000000"
22+
android:pathData="M29,0L29,108"
23+
android:strokeWidth="0.8"
24+
android:strokeColor="#33FFFFFF" />
25+
<path
26+
android:fillColor="#00000000"
27+
android:pathData="M39,0L39,108"
28+
android:strokeWidth="0.8"
29+
android:strokeColor="#33FFFFFF" />
30+
<path
31+
android:fillColor="#00000000"
32+
android:pathData="M49,0L49,108"
33+
android:strokeWidth="0.8"
34+
android:strokeColor="#33FFFFFF" />
35+
<path
36+
android:fillColor="#00000000"
37+
android:pathData="M59,0L59,108"
38+
android:strokeWidth="0.8"
39+
android:strokeColor="#33FFFFFF" />
40+
<path
41+
android:fillColor="#00000000"
42+
android:pathData="M69,0L69,108"
43+
android:strokeWidth="0.8"
44+
android:strokeColor="#33FFFFFF" />
45+
<path
46+
android:fillColor="#00000000"
47+
android:pathData="M79,0L79,108"
48+
android:strokeWidth="0.8"
49+
android:strokeColor="#33FFFFFF" />
50+
<path
51+
android:fillColor="#00000000"
52+
android:pathData="M89,0L89,108"
53+
android:strokeWidth="0.8"
54+
android:strokeColor="#33FFFFFF" />
55+
<path
56+
android:fillColor="#00000000"
57+
android:pathData="M99,0L99,108"
58+
android:strokeWidth="0.8"
59+
android:strokeColor="#33FFFFFF" />
60+
<path
61+
android:fillColor="#00000000"
62+
android:pathData="M0,9L108,9"
63+
android:strokeWidth="0.8"
64+
android:strokeColor="#33FFFFFF" />
65+
<path
66+
android:fillColor="#00000000"
67+
android:pathData="M0,19L108,19"
68+
android:strokeWidth="0.8"
69+
android:strokeColor="#33FFFFFF" />
70+
<path
71+
android:fillColor="#00000000"
72+
android:pathData="M0,29L108,29"
73+
android:strokeWidth="0.8"
74+
android:strokeColor="#33FFFFFF" />
75+
<path
76+
android:fillColor="#00000000"
77+
android:pathData="M0,39L108,39"
78+
android:strokeWidth="0.8"
79+
android:strokeColor="#33FFFFFF" />
80+
<path
81+
android:fillColor="#00000000"
82+
android:pathData="M0,49L108,49"
83+
android:strokeWidth="0.8"
84+
android:strokeColor="#33FFFFFF" />
85+
<path
86+
android:fillColor="#00000000"
87+
android:pathData="M0,59L108,59"
88+
android:strokeWidth="0.8"
89+
android:strokeColor="#33FFFFFF" />
90+
<path
91+
android:fillColor="#00000000"
92+
android:pathData="M0,69L108,69"
93+
android:strokeWidth="0.8"
94+
android:strokeColor="#33FFFFFF" />
95+
<path
96+
android:fillColor="#00000000"
97+
android:pathData="M0,79L108,79"
98+
android:strokeWidth="0.8"
99+
android:strokeColor="#33FFFFFF" />
100+
<path
101+
android:fillColor="#00000000"
102+
android:pathData="M0,89L108,89"
103+
android:strokeWidth="0.8"
104+
android:strokeColor="#33FFFFFF" />
105+
<path
106+
android:fillColor="#00000000"
107+
android:pathData="M0,99L108,99"
108+
android:strokeWidth="0.8"
109+
android:strokeColor="#33FFFFFF" />
110+
<path
111+
android:fillColor="#00000000"
112+
android:pathData="M19,29L89,29"
113+
android:strokeWidth="0.8"
114+
android:strokeColor="#33FFFFFF" />
115+
<path
116+
android:fillColor="#00000000"
117+
android:pathData="M19,39L89,39"
118+
android:strokeWidth="0.8"
119+
android:strokeColor="#33FFFFFF" />
120+
<path
121+
android:fillColor="#00000000"
122+
android:pathData="M19,49L89,49"
123+
android:strokeWidth="0.8"
124+
android:strokeColor="#33FFFFFF" />
125+
<path
126+
android:fillColor="#00000000"
127+
android:pathData="M19,59L89,59"
128+
android:strokeWidth="0.8"
129+
android:strokeColor="#33FFFFFF" />
130+
<path
131+
android:fillColor="#00000000"
132+
android:pathData="M19,69L89,69"
133+
android:strokeWidth="0.8"
134+
android:strokeColor="#33FFFFFF" />
135+
<path
136+
android:fillColor="#00000000"
137+
android:pathData="M19,79L89,79"
138+
android:strokeWidth="0.8"
139+
android:strokeColor="#33FFFFFF" />
140+
<path
141+
android:fillColor="#00000000"
142+
android:pathData="M29,19L29,89"
143+
android:strokeWidth="0.8"
144+
android:strokeColor="#33FFFFFF" />
145+
<path
146+
android:fillColor="#00000000"
147+
android:pathData="M39,19L39,89"
148+
android:strokeWidth="0.8"
149+
android:strokeColor="#33FFFFFF" />
150+
<path
151+
android:fillColor="#00000000"
152+
android:pathData="M49,19L49,89"
153+
android:strokeWidth="0.8"
154+
android:strokeColor="#33FFFFFF" />
155+
<path
156+
android:fillColor="#00000000"
157+
android:pathData="M59,19L59,89"
158+
android:strokeWidth="0.8"
159+
android:strokeColor="#33FFFFFF" />
160+
<path
161+
android:fillColor="#00000000"
162+
android:pathData="M69,19L69,89"
163+
android:strokeWidth="0.8"
164+
android:strokeColor="#33FFFFFF" />
165+
<path
166+
android:fillColor="#00000000"
167+
android:pathData="M79,19L79,89"
168+
android:strokeWidth="0.8"
169+
android:strokeColor="#33FFFFFF" />
170+
</vector>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
3+
<background android:drawable="@drawable/ic_launcher_background" />
4+
<foreground android:drawable="@drawable/ic_launcher_foreground" />
5+
</adaptive-icon>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
3+
<background android:drawable="@drawable/ic_launcher_background" />
4+
<foreground android:drawable="@drawable/ic_launcher_foreground" />
5+
</adaptive-icon>
1.37 KB
Binary file not shown.
Binary file not shown.
982 Bytes
Binary file not shown.
Binary file not shown.
1.86 KB
Binary file not shown.
Binary file not shown.
2.82 KB
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.

‎test/src/main/res/values/strings.xml

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
<resources>
2+
<string name="app_name">Test App</string>
3+
<string name="welcome_message">Welcome</string>
4+
<string name="select_one">Please select one option</string>
5+
6+
<string name="advertise">Advertise</string>
7+
<string name="scanning">Scan</string>
8+
</resources>

0 commit comments

Comments
 (0)
Please sign in to comment.