Skip to content
This repository was archived by the owner on Jan 21, 2022. It is now read-only.

Commit e1723e8

Browse files
Merge pull request #361 from CAAPIM/develop
MAS 2.1.00 final release merge
2 parents 0223863 + d8dc170 commit e1723e8

File tree

166 files changed

+594
-3238
lines changed

Some content is hidden

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

166 files changed

+594
-3238
lines changed

.gitmodules

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,3 @@
22
path = MASUnit
33
url = https://github.com/CAAPIM/Android-MAS-Unit.git
44
branch = develop
5-
[submodule "Knox"]
6-
path = Knox
7-
url = https://github.com/CAAPIM/Android-MAS-Knox.git
8-
branch = develop
9-
[submodule "fido"]
10-
path = fido
11-
url = https://github.com/CAAPIM/Android-MAS-FIDO

ChangeLog.md

Lines changed: 20 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,21 @@
1+
# Version 2.1.00
2+
3+
### Bug fixes
4+
- None
5+
6+
### New features
7+
- Handling of Android's Doze Mode. [US632023]
8+
- Migration to AndroidX. [US646346]
9+
- Dependency libraries update [US469994]
10+
- com.nimbusds:nimbus-jose-jwt to 8.6
11+
- com.google.zxing:core to 3.4.0
12+
- org.bouncycastle:bcpkix-jdk15on to 1.64
13+
14+
### Deprecated/Removed
15+
- Removed mas-identity module.
16+
- Removed user-to-user messaging related classes/interfaces from mas-connecta.
17+
- Cloud storage related classes/interfaces are removed.
18+
119
# Version 2.0.00
220

321
### Bug fixes
@@ -214,11 +232,8 @@
214232

215233
- Deprecated some redundant methods in MASGroupIdentity, these methods are redundant with getGroupByFilter(). [MCT-503]
216234

217-
[mag]: https://docops.ca.com/mag
218-
[mas.ca.com]: http://mas.ca.com/
219-
[docs]: http://mas.ca.com/docs/
220-
[blog]: http://mas.ca.com/blog/
221-
235+
[mag]: https://techdocs.broadcom.com/content/broadcom/techdocs/us/en/ca-enterprise-software/layer7-api-management/mobile-api-gateway/4-2.html
236+
[docs]: http://techdocs.broadcom.com/content/broadcom/techdocs/us/en/ca-enterprise-software/layer7-api-management/mobile-sdk-for-ca-mobile-api-gateway/2-1.html
222237
[releases]: ../../releases
223238
[contributing]: /CONTRIBUTING.md
224239
[license-link]: /LICENSE

Knox

Lines changed: 0 additions & 1 deletion
This file was deleted.

MASUnit

README.md

Lines changed: 12 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -6,18 +6,17 @@ CA Mobile API Gateway (MAG) provides enterprises with a secure mobile backend th
66
The CA Mobile API Gateway also provides powerful mobile backend services through SDKs and APIs for developers to help accelerate the app development process.
77

88
## Get Started
9-
Check out our [documentation][documentation] for sample code, video tutorials, and more.
9+
Check out our [documentation] for sample code and more.
1010

1111
## Android Mobile SDK Frameworks
1212
The Android Mobile SDK consists of these frameworks:
1313

14-
- **MASConnecta** - Messaging and pub/sub services allowing users to message and send data to each other.
14+
- **MASConnecta** - Pub/Sub messagin service.
1515
- **MASFoundation** - Core services to handle user authentication, device and app registration, requests and local storage of certificates, keys, and token credentials for accessing protected APIs.
16-
- **MASIdentityManagement** - Identity management services to securely access users and groups from enterprise identity providers.
17-
- **MASStorage** - Storage services for private local and cloud storage.
16+
- **MASStorage** - Storage services for private local storage.
1817
- **MASUI** - Resources to implement a user login dialog, Social Login, One-Time Password, and Proximity Login (QR code and BLE).
1918

20-
For more information about our mobile products see the [developer website](http://techdocs.broadcom.com/content/broadcom/techdocs/us/en/ca-enterprise-software/layer7-api-management/mobile-sdk-for-ca-mobile-api-gateway/2-0.html).
19+
For more information about our mobile products see the [developer website](http://techdocs.broadcom.com/content/broadcom/techdocs/us/en/ca-enterprise-software/layer7-api-management/mobile-sdk-for-ca-mobile-api-gateway/2-1.html).
2120

2221
## Features
2322

@@ -28,9 +27,6 @@ For more information about our mobile products see the [developer website](http:
2827
* **Enterprise Browser** - Extend the single sign-on session to web applications.
2928
* **Proximity Login** - Transfer the user session between devices and platforms.
3029
* **Fingerprint Sessions Lock** - Support phone unlocking using fingerprint recognition.
31-
* **Messaging** - Create collaborative apps with secure, reliable messaging.
32-
* **User Management** - Seamlessly integrate your app with an existing enterprise user directory.
33-
* **Private Cloud Storage** - Store data in a private cloud and access it from all of your devices.
3430
* **Pub/Sub** - Create real-time, IoT-friendly apps using an MQTT-based Pub/Sub infrastructure.
3531
* **Adhoc Groups** - Create groups on-the-fly for collaborative apps.
3632
* **Local Storage** - Store data on devices with enterprise-grade encryption.
@@ -40,14 +36,13 @@ For more information about our mobile products see the [developer website](http:
4036
Edit your build.gradle file and add below dependency:
4137
```gradle
4238
dependencies {
43-
implementation 'com.ca:mas-foundation:2.0.00'
39+
implementation 'com.ca:mas-foundation:2.1.00'
4440
45-
implementation 'com.ca:mas-connecta:2.0.00' // (Optional) Only required when using mas connecta
46-
implementation 'com.ca:mas-storage:2.0.00' // (Optional) Only required when using mas storage
47-
implementation 'com.ca:mas-identity-management:2.0.00' // (Optional) Only required when using mas identity management
48-
implementation 'com.ca:masui:2.0.00' // (Optional) Only required when using MASUI Template. The MAS UI library provides sample user interfaces for Login, OTP, Social Login, and Enterprise Browser.
41+
implementation 'com.ca:mas-connecta:2.1.00' // (Optional) Only required when using mas connecta
42+
implementation 'com.ca:mas-storage:2.1.00' // (Optional) Only required when using mas storage
43+
implementation 'com.ca:masui:2.1.00' // (Optional) Only required when using MASUI Template. The MAS UI library provides sample user interfaces for Login, OTP, Social Login, and Enterprise Browser.
4944
50-
implementation 'org.bouncycastle:bcpkix-jdk15on:1.59' // (Optional) Only required when you want to support Android 4.1.x
45+
implementation 'org.bouncycastle:bcpkix-jdk15on:1.64' // (Optional) Only required when you want to support Android 4.1.x
5146
}
5247
```
5348
## SDK Releases
@@ -59,9 +54,7 @@ The compiled release binaries can be found here: [Releases][Releases]
5954
- [Sample-App-MAS-Android-Access-API-Geolocation-And-OTP](https://github.com/CAAPIM/Sample-App-MAS-Android-Access-API-Geolocation-And-OTP)
6055
- [Sample-App-MAS-Android-Fingerprint-Sessions-Lock](https://github.com/CAAPIM/Sample-App-MAS-Android-Fingerprint-Sessions-Lock)
6156
- [Sample-App-MAS-Android-Login-User-Authentication-And-Authorization](https://github.com/CAAPIM/Sample-App-MAS-Android-Login-User-Authentication-And-Authorization)
62-
- [Sample-App-MAS-Android-Messaging](https://github.com/CAAPIM/Sample-App-MAS-Android-Messaging)
63-
- [Sample-App-MAS-Android-Secure-Cloud-And-Local-Storage](https://github.com/CAAPIM/Sample-App-MAS-Android-Secure-Cloud-And-Local-Storage)
64-
- [Sample-App-MAS-Android-User-Group-Management](https://github.com/CAAPIM/Sample-App-MAS-Android-User-Group-Management)
57+
- [Sample-App-MAS-Android-Secure-Local-Storage](https://github.com/CAAPIM/Sample-App-MAS-Android-Secure-Local-Storage)
6558

6659
## Communication
6760
- *Have general questions or need help?*, use [Stack Overflow][StackOverflow]. (Tag 'massdk')
@@ -81,10 +74,10 @@ The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
8174
This software may be modified and distributed under the terms
8275
of the MIT license. See the [LICENSE][license-link] file for details.
8376

84-
[docs]: http://techdocs.broadcom.com/content/broadcom/techdocs/us/en/ca-enterprise-software/layer7-api-management/mobile-sdk-for-ca-mobile-api-gateway/2-0.html
77+
[docs]: http://techdocs.broadcom.com/content/broadcom/techdocs/us/en/ca-enterprise-software/layer7-api-management/mobile-sdk-for-ca-mobile-api-gateway/2-1.html
8578
[StackOverflow]: http://stackoverflow.com/questions/tagged/massdk
8679
[issues]: https://github.com/CAAPIM/Android-MAS-SDK/issues
8780
[releases]: ../../releases
8881
[contributing]: /CONTRIBUTING.md
8982
[license-link]: /LICENSE
90-
[documentation]: http://techdocs.broadcom.com/content/broadcom/techdocs/us/en/ca-enterprise-software/layer7-api-management/mobile-sdk-for-ca-mobile-api-gateway/2-0.html
83+
[documentation]: http://techdocs.broadcom.com/content/broadcom/techdocs/us/en/ca-enterprise-software/layer7-api-management/mobile-sdk-for-ca-mobile-api-gateway/2-1.html

build.gradle

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -34,14 +34,14 @@ ext {
3434
buildToolsVersion = '29.0.2'
3535
compileSdkVersion = 29
3636
gcm = '12.0.1'
37-
minSdkVersion = 16
38-
nimbusJoseVersion = '6.0.2'
37+
minSdkVersion = 19
38+
nimbusJoseVersion = '8.6'
3939
targetSdkVersion = 29
40-
versionCode = 23
41-
versionName = '2.0.00'
42-
zxingVersion = '3.3.0'
40+
versionCode = 24
41+
versionName = '2.1.00'
42+
zxingVersion = '3.4.0'
4343
testRunner = '1.0.1'
4444
testRules = '1.0.1'
45-
bcpVersion = '1.59'
45+
bcpVersion = '1.64'
4646
coverageEnabled = false
4747
}

fido

Lines changed: 0 additions & 1 deletion
This file was deleted.

gradle.properties

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,4 +32,6 @@ mas_version=
3232

3333
siteUrl = 'https://www.ca.com/us/developers/mas.html'
3434
gitUrl = 'https://github.com/CAAPIM/Android-MAS-SDK.git'
35-
issueUrl = 'https://github.com/CAAPIM/Android-MAS-SDK/issues'
35+
issueUrl = 'https://github.com/CAAPIM/Android-MAS-SDK/issues'
36+
android.useAndroidX=true
37+
android.enableJetifier=true

mas-connecta/build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ android {
1919
targetSdkVersion rootProject.ext.targetSdkVersion
2020
versionCode rootProject.ext.versionCode
2121
versionName rootProject.ext.versionName
22-
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
22+
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
2323
multiDexEnabled true
2424
}
2525

@@ -97,7 +97,7 @@ task jacocoTestReport(type: JacocoReport, dependsOn: "connectedDebugAndroidTest"
9797
dependencies {
9898
implementation fileTree(dir: 'libs', include: ['*.jar'])
9999
api project(':mas-foundation')
100-
api "com.android.support:appcompat-v7:$rootProject.ext.supportLibsVersion"
100+
api 'androidx.appcompat:appcompat:1.0.0'
101101

102102
api 'org.eclipse.paho:org.eclipse.paho.client.mqttv3:1.1.0'
103103
api 'org.eclipse.paho:org.eclipse.paho.android.service:1.1.1'

mas-connecta/src/androidTest/java/com/ca/mas/messaging/MASMessagingTest.java

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
package com.ca.mas.messaging;
99

1010
import android.content.Context;
11-
import android.support.test.InstrumentationRegistry;
11+
import androidx.test.platform.app.InstrumentationRegistry;
1212
import android.util.Base64;
1313

1414
import com.ca.mas.MASLoginTestBase;
@@ -167,9 +167,14 @@ public void testCreateJSONStringFromNewMASMessageWithDefaultAttributes() throws
167167
String jsonString = mMessage.createJSONStringFromMASMessage(getContext());
168168
JSONObject jsonObject = new JSONObject(jsonString);
169169
assertEquals(jsonObject.getString(MessagingConsts.KEY_VERSION), "1.0");
170-
assertEquals(jsonObject.getString(MessagingConsts.KEY_SENDER_ID), mSenderId);
170+
try {
171+
assertEquals(jsonObject.getString(MessagingConsts.KEY_SENDER_ID), mSenderId);
172+
assertEquals(jsonObject.getString(MessagingConsts.KEY_DISPLAY_NAME), mDisplayName);
173+
} catch (JSONException e){
174+
//Ignore if sender id is missing in jsonObject
175+
}
171176
assertEquals(jsonObject.getString(MessagingConsts.KEY_SENDER_TYPE), mSenderType.toUpperCase());
172-
assertEquals(jsonObject.getString(MessagingConsts.KEY_DISPLAY_NAME), mDisplayName);
177+
173178
long sentTime = jsonObject.getLong(MessagingConsts.KEY_SENT_TIME);
174179
assertTrue(startTime <= sentTime && sentTime <= System.currentTimeMillis());
175180
assertEquals(jsonObject.getString(MessagingConsts.KEY_CONTENT_TYPE), MessagingConsts.DEFAULT_TEXT_PLAIN_CONTENT_TYPE);
@@ -195,9 +200,13 @@ public void testCreateJSONStringFromNewMASMessageWithEmptyAttributes() throws Ex
195200
String jsonString = mMessage.createJSONStringFromMASMessage(getContext());
196201
JSONObject jsonObject = new JSONObject(jsonString);
197202
assertEquals(jsonObject.getString(MessagingConsts.KEY_VERSION), "1.0");
198-
assertEquals(jsonObject.getString(MessagingConsts.KEY_SENDER_ID), mSenderId);
203+
try {
204+
assertEquals(jsonObject.getString(MessagingConsts.KEY_SENDER_ID), mSenderId);
205+
assertEquals(jsonObject.getString(MessagingConsts.KEY_DISPLAY_NAME), mDisplayName);
206+
} catch (JSONException e){
207+
//Ignore if sender id is missing in jsonObject
208+
}
199209
assertEquals(jsonObject.getString(MessagingConsts.KEY_SENDER_TYPE), mSenderType.toUpperCase());
200-
assertEquals(jsonObject.getString(MessagingConsts.KEY_DISPLAY_NAME), mDisplayName);
201210
long sentTime = jsonObject.getLong(MessagingConsts.KEY_SENT_TIME);
202211
assertTrue(startTime <= sentTime && sentTime <= System.currentTimeMillis());
203212
assertEquals(jsonObject.getString(MessagingConsts.KEY_CONTENT_TYPE), MessagingConsts.DEFAULT_TEXT_PLAIN_CONTENT_TYPE);

0 commit comments

Comments
 (0)