Skip to content

Commit

Permalink
Merge pull request #1858 from RADAR-base/release-3.3.4-alpha2
Browse files Browse the repository at this point in the history
Release 3.3.4-alpha
  • Loading branch information
mpgxvii authored Feb 19, 2025
2 parents 83983d9 + 098d7bd commit d4c85b4
Show file tree
Hide file tree
Showing 32 changed files with 249 additions and 138 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ jobs:
- uses: actions/checkout@v2

- name: Cache
uses: actions/cache@v2.0.0
uses: actions/cache@v4
with:
# Cache gradle directories
path: |
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ jobs:
- uses: actions/checkout@v2

- name: Cache
uses: actions/cache@v2.0.0
uses: actions/cache@v4
with:
# Cache gradle directories
path: |
Expand Down
4 changes: 2 additions & 2 deletions android/app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@ android {
applicationId "org.phidatalab.radar_armt"
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
versionCode 592
versionName "3.3.3-alpha"
versionCode 593
versionName "3.3.4-alpha"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
aaptOptions {
// Files and dirs to omit from the packaged assets dir, modified to accommodate modern web apps.
Expand Down
29 changes: 21 additions & 8 deletions ios/App/App.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -9,21 +9,22 @@
/* Begin PBXBuildFile section */
2DCC4441ECB6AE53462C7302 /* Pods_RADAR_Active_RMT.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3FBB3316FEBE50D0F3BCBA4C /* Pods_RADAR_Active_RMT.framework */; };
2FAD9763203C412B000D30F8 /* config.xml in Resources */ = {isa = PBXBuildFile; fileRef = 2FAD9762203C412B000D30F8 /* config.xml */; };
4C4FF1572BEBFDF000B0D335 /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 4C4FF1562BEBFDF000B0D335 /* GoogleService-Info.plist */; };
4CAE23452D50FE9900E2E2EC /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 4CAE23442D50FE9900E2E2EC /* GoogleService-Info.plist */; };
50379B232058CBB4000EE86E /* capacitor.config.json in Resources */ = {isa = PBXBuildFile; fileRef = 50379B222058CBB4000EE86E /* capacitor.config.json */; };
504EC3081FED79650016851F /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 504EC3071FED79650016851F /* AppDelegate.swift */; };
504EC30D1FED79650016851F /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 504EC30B1FED79650016851F /* Main.storyboard */; };
504EC30F1FED79650016851F /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 504EC30E1FED79650016851F /* Assets.xcassets */; };
504EC3121FED79650016851F /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 504EC3101FED79650016851F /* LaunchScreen.storyboard */; };
50B271D11FEDC1A000F3C39B /* public in Resources */ = {isa = PBXBuildFile; fileRef = 50B271D01FEDC1A000F3C39B /* public */; };
F5307CDA0B504AB59720284B /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = 3EEFC32190254FBBA57F3349 /* PrivacyInfo.xcprivacy */; };
/* End PBXBuildFile section */

/* Begin PBXFileReference section */
0066ED161F09C0B9FCA0716A /* Pods-RADAR Active RMT.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RADAR Active RMT.debug.xcconfig"; path = "Pods/Target Support Files/Pods-RADAR Active RMT/Pods-RADAR Active RMT.debug.xcconfig"; sourceTree = "<group>"; };
2FAD9762203C412B000D30F8 /* config.xml */ = {isa = PBXFileReference; lastKnownFileType = text.xml; path = config.xml; sourceTree = "<group>"; };
3FBB3316FEBE50D0F3BCBA4C /* Pods_RADAR_Active_RMT.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RADAR_Active_RMT.framework; sourceTree = BUILT_PRODUCTS_DIR; };
4C4FF1562BEBFDF000B0D335 /* GoogleService-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = "GoogleService-Info.plist"; path = "../../../GoogleService-Info.plist"; sourceTree = "<group>"; };
4C4FF1592BEC015000B0D335 /* RADAR Questionnaire.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = "RADAR Questionnaire.entitlements"; sourceTree = "<group>"; };
4CAE23442D50FE9900E2E2EC /* GoogleService-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = "GoogleService-Info.plist"; path = "../../../../../Downloads/GoogleService-Info.plist"; sourceTree = "<group>"; };
50379B222058CBB4000EE86E /* capacitor.config.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = capacitor.config.json; sourceTree = "<group>"; };
504EC3041FED79650016851F /* RADAR Active RMT.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "RADAR Active RMT.app"; sourceTree = BUILT_PRODUCTS_DIR; };
504EC3071FED79650016851F /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
Expand All @@ -37,6 +38,7 @@
A4424794DED16B074B2B4CA9 /* Pods-RADAR Active RMT.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RADAR Active RMT.release.xcconfig"; path = "Pods/Target Support Files/Pods-RADAR Active RMT/Pods-RADAR Active RMT.release.xcconfig"; sourceTree = "<group>"; };
AF51FD2D460BCFE21FA515B2 /* Pods-App.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-App.release.xcconfig"; path = "Pods/Target Support Files/Pods-App/Pods-App.release.xcconfig"; sourceTree = "<group>"; };
FC68EB0AF532CFC21C3344DD /* Pods-App.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-App.debug.xcconfig"; path = "Pods/Target Support Files/Pods-App/Pods-App.debug.xcconfig"; sourceTree = "<group>"; };
3EEFC32190254FBBA57F3349 /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; name = "PrivacyInfo.xcprivacy"; path = "PrivacyInfo.xcprivacy"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
/* End PBXFileReference section */

/* Begin PBXFrameworksBuildPhase section */
Expand Down Expand Up @@ -67,6 +69,7 @@
504EC3051FED79650016851F /* Products */,
7F8756D8B27F46E3366F6CEA /* Pods */,
27E2DDA53C4D2A4D1A88CE4A /* Frameworks */,
3EEFC32190254FBBA57F3349 /* Resources */,
);
sourceTree = "<group>";
};
Expand All @@ -81,10 +84,10 @@
504EC3061FED79650016851F /* App */ = {
isa = PBXGroup;
children = (
4CAE23442D50FE9900E2E2EC /* GoogleService-Info.plist */,
50379B222058CBB4000EE86E /* capacitor.config.json */,
504EC3071FED79650016851F /* AppDelegate.swift */,
504EC30B1FED79650016851F /* Main.storyboard */,
4C4FF1562BEBFDF000B0D335 /* GoogleService-Info.plist */,
504EC30E1FED79650016851F /* Assets.xcassets */,
504EC3101FED79650016851F /* LaunchScreen.storyboard */,
504EC3131FED79650016851F /* Info.plist */,
Expand All @@ -107,6 +110,15 @@
name = Pods;
sourceTree = "<group>";
};
68FC8506249F495CBBFC6201 /* Resources */ = {
isa = PBXGroup;
children = (
3EEFC32190254FBBA57F3349 /* PrivacyInfo.xcprivacy */,
);
name = Resources;
path = undefined;
sourceTree = "<group>";
};
/* End PBXGroup section */

/* Begin PBXNativeTarget section */
Expand Down Expand Up @@ -135,8 +147,8 @@
504EC2FC1FED79650016851F /* Project object */ = {
isa = PBXProject;
attributes = {
LastSwiftUpdateCheck = 0920;
LastUpgradeCheck = 0920;
LastSwiftUpdateCheck = 920;
LastUpgradeCheck = 920;
TargetAttributes = {
504EC3031FED79650016851F = {
CreatedOnToolsVersion = 9.2;
Expand Down Expand Up @@ -174,7 +186,8 @@
50379B232058CBB4000EE86E /* capacitor.config.json in Resources */,
504EC30D1FED79650016851F /* Main.storyboard in Resources */,
2FAD9763203C412B000D30F8 /* config.xml in Resources */,
4C4FF1572BEBFDF000B0D335 /* GoogleService-Info.plist in Resources */,
4CAE23452D50FE9900E2E2EC /* GoogleService-Info.plist in Resources */,
F5307CDA0B504AB59720284B /* PrivacyInfo.xcprivacy in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
Expand Down Expand Up @@ -366,7 +379,7 @@
INFOPLIST_FILE = App/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
MARKETING_VERSION = 3.3.3;
MARKETING_VERSION = 3.3.4;
OTHER_SWIFT_FLAGS = "$(inherited) \"-D\" \"COCOAPODS\" \"-DDEBUG\"";
PRODUCT_BUNDLE_IDENTIFIER = "org.phidatalab.radar-armt";
PRODUCT_NAME = "$(TARGET_NAME)";
Expand All @@ -388,7 +401,7 @@
INFOPLIST_FILE = App/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
MARKETING_VERSION = 3.3.3;
MARKETING_VERSION = 3.3.4;
PRODUCT_BUNDLE_IDENTIFIER = "org.phidatalab.radar-armt";
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_ACTIVE_COMPILATION_CONDITIONS = "";
Expand Down
2 changes: 1 addition & 1 deletion ios/App/App/Info.plist
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>3.3.3</string>
<string>3.3.4</string>
<key>CFBundleURLTypes</key>
<array>
<dict>
Expand Down
12 changes: 6 additions & 6 deletions ios/App/Podfile.lock
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
PODS:
- Capacitor (5.7.0):
- Capacitor (5.7.4):
- CapacitorCordova
- CapacitorApp (5.0.7):
- Capacitor
Expand All @@ -9,7 +9,7 @@ PODS:
- Capacitor
- CapacitorCommunityKeepAwake (4.0.0):
- Capacitor
- CapacitorCordova (5.7.0)
- CapacitorCordova (5.7.4)
- CapacitorDevice (5.0.7):
- Capacitor
- CapacitorDialog (5.0.7):
Expand Down Expand Up @@ -49,7 +49,7 @@ PODS:
- Capacitor
- CapacitorVoiceRecorder (6.0.3):
- Capacitor
- CordovaPlugins (5.7.0):
- CordovaPlugins (5.7.4):
- CapacitorCordova
- Firebase/CoreOnly (10.21.0):
- FirebaseCore (= 10.21.0)
Expand Down Expand Up @@ -304,12 +304,12 @@ EXTERNAL SOURCES:
:path: "../../node_modules/@perfood/capacitor-healthkit"

SPEC CHECKSUMS:
Capacitor: fc155ee2ee45a2093d716f13cf5aa5a865e2d85a
Capacitor: 4fe9adf012caceb4c71ffea2f1f4d005cdcbeea7
CapacitorApp: 17fecd0e6cb23feafac7eb0939417389038b0979
CapacitorAppLauncher: 7b2705481a74cbe322441bd374f56194de59ab1a
CapacitorBrowser: a6deae9e5bf87f62b62a753cff7992c5def9e771
CapacitorCommunityKeepAwake: f3442e3e9b666dd0162522fbd053da1fe81ede20
CapacitorCordova: e825fce1a2e14e4b5730641c7e098dccf74397b7
CapacitorCordova: a6e87fccc0307dee7aec1560ec9398485f2b0ce7
CapacitorDevice: fc91bdb484dc0e70755e9b621cd557afe642613a
CapacitorDialog: ea1beaccb7f825191aa18b72cba8981b881b3b2d
CapacitorFilesystem: 9f3e3c7fea2fff12f46dd5b07a2914f2103e4cfc
Expand All @@ -325,7 +325,7 @@ SPEC CHECKSUMS:
CapacitorStatusBar: f390fbb49b82ffb754ea4b3cf71dc8b048baf3e7
CapacitorTextZoom: 69814a62b1d0f23a899cca06ea9838c38de187ff
CapacitorVoiceRecorder: d44c1da901cc3918eb9c92c24834d8dc90f071f4
CordovaPlugins: a707edf6d79ba00bd300f341fe9e1ada032d211f
CordovaPlugins: a17fcaee819862ac7aca195699992de19cf191d4
Firebase: 4453b799f72f625384dc23f412d3be92b0e3b2a0
FirebaseABTesting: 40774deef367dcc7b736b6c26dd59ce0fab42f41
FirebaseAnalytics: d275f288881d4417f780115dd52c05fa9752d530
Expand Down
29 changes: 29 additions & 0 deletions ios/App/PrivacyInfo.xcprivacy
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>NSPrivacyTracking</key>
<false/>
<key>NSPrivacyAccessedAPITypes</key>
<array>
<dict>
<key>NSPrivacyAccessedAPIType</key>
<string>NSPrivacyAccessedAPICategoryFileTimestamp</string>
<key>NSPrivacyAccessedAPITypeReasons</key>
<array>
<string>C617.1</string>
</array>
</dict>
<dict>
<key>NSPrivacyAccessedAPIType</key>
<string>NSPrivacyAccessedAPICategoryDiskSpace</string>
<key>NSPrivacyAccessedAPITypeReasons</key>
<array>
<string>E174.1</string>
</array>
</dict>
</array>
<key>NSPrivacyCollectedDataTypes</key>
<array/>
</dict>
</plist>
12 changes: 6 additions & 6 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "radar-questionnaire",
"description": "An application that collects active data for research.",
"version": "3.3.3",
"version": "3.3.4",
"author": "RADAR Base",
"homepage": "http://www.radar-base.org/",
"scripts": {
Expand Down Expand Up @@ -53,16 +53,16 @@
"@capacitor-firebase/messaging": "^5.0.0",
"@capacitor-firebase/remote-config": "^5.0.0",
"@capacitor-mlkit/barcode-scanning": "^5.4.0",
"@capacitor/android": "^5.0.3",
"@capacitor/android": "5.7.4",
"@capacitor/app": "5.0.7",
"@capacitor/app-launcher": "^5.0.7",
"@capacitor/browser": "^5.2.0",
"@capacitor/core": "5.7.0",
"@capacitor/core": "5.7.4",
"@capacitor/device": "^5.0.2",
"@capacitor/dialog": "^5.0.2",
"@capacitor/filesystem": "^5.0.2",
"@capacitor/haptics": "5.0.7",
"@capacitor/ios": "^5.0.3",
"@capacitor/ios": "5.7.4",
"@capacitor/keyboard": "^5.0.8",
"@capacitor/local-notifications": "^5.0.2",
"@capacitor/splash-screen": "^5.0.2",
Expand Down Expand Up @@ -117,7 +117,7 @@
"@angular/compiler-cli": "~14.3.0",
"@angular/language-service": "~14.3.0",
"@angular/platform-server": "~14.3.0",
"@capacitor/cli": "5.7.0",
"@capacitor/cli": "5.7.4",
"@ionic/angular-toolkit": "^7.0.0",
"@types/jasmine": "~3.6.0",
"@types/jasminewd2": "~2.0.3",
Expand Down Expand Up @@ -174,7 +174,7 @@
"loader-utils": "2.0.4",
"nth-check": "2.0.1",
"webpack": "5.76.0",
"@capacitor/core": "5.7.0",
"@capacitor/core": "5.7.4",
"undici": "6.6.1"
},
"ionic_enable_lint": false
Expand Down
24 changes: 22 additions & 2 deletions src/app/core/services/config/config.service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -59,16 +59,20 @@ export class ConfigService {
this.hasAppVersionChanged(),
this.hasTimezoneChanged(),
this.hasNotificationsExpired(),
this.hasNotificationMessagingTypeChanged()
this.hasNotificationMessagingTypeChanged(),
this.hasParticipantAttributesChanged()
])
.then(
([
newProtocol,
newAppVersion,
newTimezone,
newNotifications,
newMessagingType
newMessagingType,
newAttributes
]) => {
if (newAttributes)
return this.fetchConfigState(true)
if (newProtocol && newAppVersion && newTimezone)
this.subjectConfig
.getEnrolmentDate()
Expand Down Expand Up @@ -96,6 +100,22 @@ export class ConfigService {
})
}

hasParticipantAttributesChanged() {
return Promise.all([
this.subjectConfig.getParticipantAttributes(),
this.subjectConfig.pullSubjectInformation(),
])
.then(([attributes, user]) => {
const newAttributes = user.attributes
const hasChanged = JSON.stringify(attributes) !== JSON.stringify(user.attributes)
if (hasChanged) {
this.subjectConfig.setParticipantAttributes(newAttributes)
this.analytics.setUserProperties(newAttributes)
}
return hasChanged
})
}

hasProtocolChanged(force?) {
return Promise.all([
this.appConfig.getScheduleHashUrl(),
Expand Down
19 changes: 6 additions & 13 deletions src/app/core/services/config/protocol.service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ export class ProtocolService {
private logger: LogService,
private analytics: AnalyticsService,
private util: Utility
) {}
) { }

pull(): Promise<ProtocolMetaData> {
return Promise.all([this.getProjectTree(), this.getParticipantAttributes()])
Expand Down Expand Up @@ -176,20 +176,13 @@ export class ProtocolService {
.then(cfg =>
Promise.all([
this.config.getParticipantAttributes(),
this.config.pullSubjectInformation(),
this.getParticipantAttributeOrder(cfg)
])
)
.then(([attributes, user, order]) => {
const newAttributes =
JSON.stringify(attributes) == JSON.stringify(user.attributes)
? attributes
: user.attributes
this.config.setParticipantAttributes(newAttributes)
this.analytics.setUserProperties(newAttributes)
.then(([attributes, order]) => {
return sortObject(
newAttributes,
this.formatAttributeOrder(newAttributes, order)
attributes,
this.formatAttributeOrder(attributes, order)
)
})
}
Expand All @@ -201,8 +194,8 @@ export class ProtocolService {
const orderWithoutNull = {}
Object.keys(attributes).map(
k =>
(orderWithoutNull[k] =
order[k] != null ? order[k] : this.DEFAULT_ATTRIBUTE_ORDER)
(orderWithoutNull[k] =
order[k] != null ? order[k] : this.DEFAULT_ATTRIBUTE_ORDER)
)
return orderWithoutNull
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,9 @@ export class ConverterFactoryService {
private completionLogConverter: CompletionLogConverterService,
private timzoneConverter: TimezoneConverterService,
private keyConverter: KeyConverterService
) {}
) { }

init() {}
init() { }

getConverter(type) {
switch (this.classify(type)) {
Expand All @@ -45,4 +45,13 @@ export class ConverterFactoryService {
if (type.includes(SchemaType.HEALTHKIT)) return SchemaType.HEALTHKIT
else return type
}

reset() {
this.healthkitConverter.reset()
this.assessmentConverter.reset()
this.completionLogConverter.reset()
this.timzoneConverter.reset()
this.appEventConverter.reset()
this.assessmentConverter.reset()
}
}
6 changes: 6 additions & 0 deletions src/app/core/services/kafka/converters/converter.service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -132,4 +132,10 @@ export abstract class ConverterService {
return false
}
}

reset() {
this.BASE_URI = null
this.specifications = null
this.schemas = {}
}
}
Loading

0 comments on commit d4c85b4

Please sign in to comment.