Skip to content

Commit 4b94b9d

Browse files
Merge pull request #131 from RADAR-base/release-1.2.0
Release 1.2.0
2 parents cbde0a1 + 7d15534 commit 4b94b9d

135 files changed

Lines changed: 2574 additions & 1437 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
# RADAR-pRMT
22

3-
Application to be run on an Android 5 (or later) device. If Bluetooth devices are to be used, the Android device should support Bluetooth Low Energy (Bluetooth 4.0 or later).
3+
Application to be run on an Android 7 (or later) device. If Bluetooth devices are to be used, the Android device should support Bluetooth Low Energy (Bluetooth 4.0 or later).
44

5-
![Screenshot](/man/screen20161215_edited.png?raw=True "Screenshot 2016-12-15")
5+
![Screenshot](/man/prmt-main-activity.jpg?raw=True "Screenshot 2023-05-04")
66

7-
To clone this respository, use the command
7+
To clone this repository, use the command
88

99
```shell
1010
git clone https://github.com/RADAR-base/radar-prmt-android.git
@@ -32,7 +32,7 @@ Firebase can be used to remotely configure some device and system parameters, e.
3232
2. Login to a Google account.
3333
3. In the [Firebase console](https://console.firebase.google.com/), add the app (`org.radarcns.android`) to a new Firebase project.
3434
4. Download the `google-services.json` from the Firebase console (under Project Settings) and move the file to the `app/src/release/` folder for release config or `app/src/debug/` folder for debug configuration.
35-
5. [Optional] Set the parameter values on the server. The avaiable parameters can be found in `app/src/main/res/xml/remote_config_defaults.xml`.
35+
5. [Optional] Set the parameter values on the server. The available parameters can be found in `app/src/main/res/xml/remote_config_defaults.xml`.
3636
Note - Set the `unsafe_kafka_connection` parameter to `true` if the server with kafka and schema-registry is using a self-signed certificate over SSL. If the certificate is issued by a valid CA then leave it to `false`. In production, do NOT set this value to `true`.
3737

3838
[Full Firebase guide](https://firebase.google.com/docs/remote-config/use-config-android)

app/build.gradle

Lines changed: 17 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -3,18 +3,19 @@ apply plugin: 'com.google.android.gms.oss-licenses-plugin'
33
apply plugin: 'kotlin-android'
44

55
android {
6-
compileSdkVersion 32
6+
compileSdkVersion 33
77
buildToolsVersion '32.0.0'
8+
namespace "org.radarcns.detail"
89

910
defaultConfig {
1011
applicationId 'org.radarcns.detail'
11-
minSdkVersion 21
12-
targetSdkVersion 32
13-
versionCode 57
14-
versionName '1.1.0'
12+
minSdkVersion 24
13+
targetSdkVersion 33
14+
versionCode 62
15+
versionName '1.2.0'
1516
manifestPlaceholders = ['appAuthRedirectScheme': 'org.radarbase.passive.app']
1617
multiDexEnabled true
17-
ndkVersion "23.1.7779620"
18+
ndkVersion "25.2.9519653"
1819
}
1920
buildTypes {
2021
release {
@@ -32,8 +33,9 @@ android {
3233
}
3334
}
3435
packagingOptions {
35-
exclude 'META-INF/ASL2.0'
36-
exclude 'META-INF/LICENSE'
36+
resources {
37+
excludes += ['META-INF/ASL2.0', 'META-INF/LICENSE']
38+
}
3739
}
3840
compileOptions {
3941
targetCompatibility JavaVersion.VERSION_11
@@ -72,26 +74,25 @@ repositories {
7274
maven { url 'https://repo.thehyve.nl/content/repositories/releases' }
7375
}
7476

75-
ext.radarCommonsVersion = '1.2.0'
77+
ext.radarCommonsVersion = '1.2.4'
7678

7779
dependencies {
7880
api "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
7981
api "org.radarbase:radar-commons-android:$radarCommonsVersion"
8082

8183
implementation "org.radarbase:radar-android-login-qr:$radarCommonsVersion"
8284

83-
implementation platform('com.google.firebase:firebase-bom:30.5.0')
85+
implementation platform('com.google.firebase:firebase-bom:31.2.2')
8486
implementation 'com.google.android.gms:play-services-oss-licenses:17.0.0'
8587
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
8688

87-
implementation 'org.slf4j:slf4j-api:2.0.3'
89+
implementation 'org.slf4j:slf4j-api:2.0.6'
8890

89-
implementation 'com.google.firebase:firebase-core'
9091
implementation 'com.google.firebase:firebase-config'
9192
implementation 'com.google.firebase:firebase-crashlytics'
9293
implementation 'com.google.firebase:firebase-analytics'
9394

94-
implementation 'com.gitlab.mvysny.slf4j:slf4j-handroid:2.0.0'
95+
implementation 'com.gitlab.mvysny.slf4j:slf4j-handroid:2.0.4'
9596

9697
implementation "org.radarbase:radar-android-phone:$radarCommonsVersion"
9798
implementation "org.radarbase:radar-android-phone-usage:$radarCommonsVersion"
@@ -101,15 +102,15 @@ dependencies {
101102
implementation "org.radarbase:radar-android-weather:$radarCommonsVersion"
102103
implementation "org.radarbase:radar-android-audio:$radarCommonsVersion"
103104
implementation "org.radarbase:radar-android-faros:$radarCommonsVersion"
104-
implementation "org.radarbase:radar-android-ppg:$radarCommonsVersion"
105105

106106
implementation 'androidx.lifecycle:lifecycle-process:2.5.1'
107107
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
108-
implementation 'com.google.android.material:material:1.6.1'
108+
implementation 'com.google.android.material:material:1.8.0'
109109
implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
110+
implementation 'androidx.fragment:fragment-ktx:1.5.7'
110111

111112
testImplementation 'junit:junit:4.13.2'
112-
testRuntimeOnly 'org.slf4j:slf4j-simple:2.0.3'
113+
testRuntimeOnly 'org.slf4j:slf4j-simple:2.0.6'
113114
}
114115

115116
tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).all {
14.3 KB
Binary file not shown.

app/proguard-rules.pro

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,3 +67,15 @@
6767

6868
# OkHttp platform used only on JVM and when Conscrypt dependency is available.
6969
-dontwarn okhttp3.internal.platform.ConscryptPlatform
70+
71+
-dontwarn java.beans.ConstructorProperties
72+
-dontwarn java.beans.Transient
73+
-dontwarn org.bouncycastle.jsse.BCSSLParameters
74+
-dontwarn org.bouncycastle.jsse.BCSSLSocket
75+
-dontwarn org.bouncycastle.jsse.provider.BouncyCastleJsseProvider
76+
-dontwarn org.conscrypt.Conscrypt$Version
77+
-dontwarn org.conscrypt.Conscrypt
78+
-dontwarn org.conscrypt.ConscryptHostnameVerifier
79+
-dontwarn org.openjsse.javax.net.ssl.SSLParameters
80+
-dontwarn org.openjsse.javax.net.ssl.SSLSocket
81+
-dontwarn org.openjsse.net.ssl.OpenJSSE

app/src/debug/google-services.json

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
{
2+
"project_info": {
3+
"project_number": "250256119064",
4+
"firebase_url": "https://radar-cns-78f28.firebaseio.com",
5+
"project_id": "radar-cns-78f28",
6+
"storage_bucket": "radar-cns-78f28.appspot.com"
7+
},
8+
"client": [
9+
{
10+
"client_info": {
11+
"mobilesdk_app_id": "1:250256119064:android:f40d0ec34fa2d4ca",
12+
"android_client_info": {
13+
"package_name": "org.radarbase.passive.app"
14+
}
15+
},
16+
"oauth_client": [
17+
{
18+
"client_id": "250256119064-g6o71at9m28ttboflhs8dbdfetjadkvh.apps.googleusercontent.com",
19+
"client_type": 3
20+
}
21+
],
22+
"api_key": [
23+
{
24+
"current_key": "AIzaSyDzSGuSjeEIv-R0ElbSIpoY0r7cG-4SWpk"
25+
}
26+
],
27+
"services": {
28+
"analytics_service": {
29+
"status": 1
30+
},
31+
"appinvite_service": {
32+
"status": 1,
33+
"other_platform_oauth_client": []
34+
},
35+
"ads_service": {
36+
"status": 2
37+
}
38+
}
39+
},
40+
{
41+
"client_info": {
42+
"mobilesdk_app_id": "1:250256119064:android:b6edbb49b79ef2b6",
43+
"android_client_info": {
44+
"package_name": "org.radarcns.detail"
45+
}
46+
},
47+
"oauth_client": [
48+
{
49+
"client_id": "250256119064-g6o71at9m28ttboflhs8dbdfetjadkvh.apps.googleusercontent.com",
50+
"client_type": 3
51+
}
52+
],
53+
"api_key": [
54+
{
55+
"current_key": "AIzaSyDzSGuSjeEIv-R0ElbSIpoY0r7cG-4SWpk"
56+
}
57+
],
58+
"services": {
59+
"analytics_service": {
60+
"status": 1
61+
},
62+
"appinvite_service": {
63+
"status": 1,
64+
"other_platform_oauth_client": []
65+
},
66+
"ads_service": {
67+
"status": 2
68+
}
69+
}
70+
}
71+
],
72+
"configuration_version": "1"
73+
}

app/src/main/AndroidManifest.xml

Lines changed: 64 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
3-
xmlns:tools="http://schemas.android.com/tools"
4-
package="org.radarcns.detail">
3+
xmlns:tools="http://schemas.android.com/tools">
54
<uses-feature android:name="android.hardware.bluetooth" android:required="false" tools:replace="required" />
65
<uses-feature android:name="android.hardware.bluetooth_le" android:required="false" tools:replace="required" />
76

7+
<uses-permission android:name="com.google.android.gms.permission.AD_ID" tools:node="remove"/>
8+
89
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
910
<uses-permission android:name="android.permission.INTERNET" />
1011

@@ -17,37 +18,40 @@
1718
<uses-permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS" />
1819
<uses-permission android:name="android.permission.WAKE_LOCK" />
1920

20-
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
21-
22-
<uses-permission android:name="android.permission.SET_ALARM"/>
2321
<supports-screens android:largeScreens="true"
2422
android:xlargeScreens="true" />
2523

2624
<application
25+
android:name=".RadarApplicationImpl"
2726
android:allowBackup="true"
27+
android:fullBackupContent="@xml/backup_descriptor"
2828
android:icon="@mipmap/ic_launcher"
29-
android:roundIcon="@mipmap/ic_launcher"
29+
android:installLocation="internalOnly"
30+
android:configChanges="orientation"
31+
android:screenOrientation="userPortrait"
3032
android:label="@string/app_name"
31-
android:theme="@style/AppTheme"
32-
android:name=".RadarApplicationImpl"
33-
android:fullBackupContent="@xml/backup_descriptor"
34-
android:installLocation="internalOnly">
33+
android:roundIcon="@mipmap/ic_launcher"
34+
android:theme="@style/AppTheme" >
35+
36+
<meta-data android:name="firebase_analytics_collection_enabled" android:value="false"/>
37+
<meta-data android:name="google_analytics_adid_collection_enabled" android:value="false"/>
38+
<meta-data android:name="google_analytics_ssaid_collection_enabled" android:value="false"/>
39+
<meta-data android:name="google_analytics_default_allow_ad_personalization_signals" android:value="false"/>
3540

3641
<provider
3742
android:name="androidx.core.content.FileProvider"
3843
android:authorities="${applicationId}.provider"
3944
android:exported="false"
40-
android:grantUriPermissions="true">
45+
android:grantUriPermissions="true" >
4146
<meta-data
4247
android:name="android.support.FILE_PROVIDER_PATHS"
4348
android:resource="@xml/provider_paths" />
4449
</provider>
4550

4651
<receiver
47-
android:enabled="false"
4852
android:name=".MainActivityBootStarter"
49-
android:exported="true">
50-
53+
android:enabled="false"
54+
android:exported="true" >
5155
<intent-filter>
5256
<action android:name="android.intent.action.BOOT_COMPLETED" />
5357
<action android:name="android.intent.action.QUICKBOOT_POWERON" />
@@ -58,62 +62,68 @@
5862

5963
<activity
6064
android:name=".SplashActivityImpl"
61-
android:screenOrientation="userPortrait"
65+
android:exported="true"
6266
android:noHistory="true"
63-
android:exported="true">
67+
android:screenOrientation="userPortrait" >
6468
<intent-filter>
6569
<action android:name="android.intent.action.MAIN" />
70+
6671
<category android:name="android.intent.category.LAUNCHER" />
6772
</intent-filter>
6873
</activity>
69-
7074
<activity
7175
android:name=".LoginActivityImpl"
72-
android:label="@string/app_name"
73-
android:configChanges="orientation|screenSize"
76+
android:configChanges="keyboardHidden|orientation"
77+
android:screenOrientation="userPortrait"
7478
android:exported="true">
75-
<intent-filter android:label="@string/filter_open_prmt">
79+
<intent-filter android:label="@string/filter_open_prmt" >
7680
<action android:name="android.intent.action.VIEW" />
81+
7782
<category android:name="android.intent.category.DEFAULT" />
7883
<category android:name="android.intent.category.BROWSABLE" />
7984
<!-- Accepts URIs that begin with "http://www.example.com/gizmos” -->
80-
<data android:scheme="https"
85+
<data
8186
android:host="radar-base.org"
82-
android:pathPrefix="/prmt" />
83-
<!-- note that the leading "/" is required for pathPrefix-->
87+
android:pathPrefix="/prmt"
88+
android:scheme="https" />
89+
<!-- note that the leading "/" is required for pathPrefix -->
8490
<!-- Accepts URIs that begin with "example://gizmos” -->
85-
<data android:scheme="org.radarbase.prmt"
86-
android:host="radar-base.org" />
91+
<data
92+
android:host="radar-base.org"
93+
android:scheme="org.radarbase.prmt" />
8794
</intent-filter>
8895
</activity>
89-
9096
<activity
91-
android:exported="false"
9297
android:name=".MainActivityImpl"
93-
android:label="@string/app_name"
94-
android:launchMode="singleInstance"
95-
android:configChanges="orientation|screenSize">
98+
android:configChanges="keyboardHidden|orientation"
99+
android:screenOrientation="userPortrait"
100+
android:exported="false"
101+
android:launchMode="singleInstance" >
96102
</activity>
97-
98-
<activity android:name="com.google.android.gms.oss.licenses.OssLicensesMenuActivity"
99-
android:theme="@style/Theme.AppCompat.DayNight.DarkActionBar"/>
100-
101-
<activity android:name="com.google.android.gms.oss.licenses.OssLicensesActivity"
102-
android:theme="@style/Theme.AppCompat.DayNight.DarkActionBar"
103-
android:parentActivityName=".InfoActivity"/>
104-
105-
<activity android:name=".InfoActivity"
106-
android:parentActivityName=".MainActivityImpl"/>
107-
<activity android:name=".SettingsActivity"
108-
android:parentActivityName=".MainActivityImpl"/>
109-
<activity android:name=".UpdatesActivity"
110-
android:parentActivityName=".MainActivityImpl"/>
111-
<service android:name=".RadarServiceImpl"/>
112-
<service android:name=".AuthServiceImpl"/>
113-
<receiver android:name=".UpdateAlarmReceiver"/>
114-
115-
<!-- ATTENTION: This was auto-generated to add Google Play services to your project for
116-
App Indexing. See https://g.co/AppIndexing/AndroidStudio for more information. -->
103+
<activity
104+
android:name="com.google.android.gms.oss.licenses.OssLicensesMenuActivity"
105+
android:screenOrientation="userPortrait"
106+
android:theme="@style/Theme.AppCompat.DayNight.DarkActionBar" />
107+
<activity
108+
android:name="com.google.android.gms.oss.licenses.OssLicensesActivity"
109+
android:screenOrientation="userPortrait"
110+
android:parentActivityName=".InfoActivity"
111+
android:theme="@style/Theme.AppCompat.DayNight.DarkActionBar" />
112+
<activity
113+
android:name=".InfoActivity"
114+
android:screenOrientation="userPortrait"
115+
android:parentActivityName=".MainActivityImpl" />
116+
<activity
117+
android:name=".SettingsActivity"
118+
android:screenOrientation="userPortrait"
119+
android:parentActivityName=".MainActivityImpl" />
120+
<service android:name=".RadarServiceImpl" />
121+
<service android:name=".AuthServiceImpl" />
122+
123+
<!--
124+
ATTENTION: This was auto-generated to add Google Play services to your project for
125+
App Indexing. See https://g.co/AppIndexing/AndroidStudio for more information.
126+
-->
117127
<meta-data
118128
android:name="com.google.android.gms.version"
119129
android:value="@integer/google_play_services_version" />
@@ -122,7 +132,8 @@
122132
android:name=".UncaughtExceptionHandlerContentProvider"
123133
android:authorities="${applicationId}"
124134
android:exported="false"
125-
android:initOrder="101"
126-
android:grantUriPermissions="false" />
135+
android:grantUriPermissions="false"
136+
android:initOrder="101" />
127137
</application>
128-
</manifest>
138+
139+
</manifest>

app/src/main/ic_launcher-web.png

-247 KB
Binary file not shown.

0 commit comments

Comments
 (0)