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

Commit 622190f

Browse files
committed
Merge branch 'develop' into Stable
2 parents 0dcbc44 + b062182 commit 622190f

File tree

80 files changed

+5409
-903
lines changed

Some content is hidden

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

80 files changed

+5409
-903
lines changed

ChangeLog.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,21 @@
1+
# Version 1.8.00
2+
3+
### Bug fixes
4+
- Invoking MAS User lockSession API without screen lock activated [DE377125]
5+
6+
### New features
7+
- Refactor logout implementation, new com.ca.mas.foundation.MASUser#logout(boolean, com.ca.mas.foundation.MASCallback<java.lang.Void>) interface is added, the new logout interface was added the 'force' parameter, a boolean value. If set to True, the SDK will clear local tokens no matter the logout call to the server success or not. [US510647]
8+
- Android P Support [US527906]
9+
- Refactor Unit Test to avoid using Bouncy Castle and Keystore Daemon
10+
- Avoid using non-sdk interface for Android P
11+
- Default to use MASSecureStorageDataSource for Android P
12+
- Configurable option for id_token validation signature [US514785]
13+
- Refactor SDK to use JobIntentService instead of IntentService for background services [US532557]
14+
- android.permission.WAKE_LOCK is required.
15+
16+
### Deprecated Interface
17+
- com.ca.mas.foundation.MASUser#logout(com.ca.mas.foundation.MASCallback<java.lang.Void>) is deprecated, use com.ca.mas.foundation.MASUser#logout(boolean, com.ca.mas.foundation.MASCallback<java.lang.Void>) instead.
18+
119
# Version 1.7.10
220

321
### New features

README.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -40,12 +40,12 @@ For more information about our mobile products see the [developer website][mas.c
4040
Edit your build.gradle file and add below dependency:
4141
```gradle
4242
dependencies {
43-
implementation 'com.ca:mas-foundation:1.6.10'
43+
implementation 'com.ca:mas-foundation:1.8.00'
4444
45-
implementation 'com.ca:mas-connecta:1.6.10' // (Optional) Only required when using mas connecta
46-
implementation 'com.ca:mas-storage:1.6.10' // (Optional) Only required when using mas storage
47-
implementation 'com.ca:mas-identity-management:1.6.10' // (Optional) Only required when using mas identity management
48-
implementation 'com.ca:masui:1.6.10' // (Optional) Only required when using MASUI Template. The MAS UI library provides sample user interfaces for Login, OTP, Social Login, and Enterprise Browser.
45+
implementation 'com.ca:mas-connecta:1.8.00' // (Optional) Only required when using mas connecta
46+
implementation 'com.ca:mas-storage:1.8.00' // (Optional) Only required when using mas storage
47+
implementation 'com.ca:mas-identity-management:1.8.00' // (Optional) Only required when using mas identity management
48+
implementation 'com.ca:masui:1.8.00' // (Optional) Only required when using MASUI Template. The MAS UI library provides sample user interfaces for Login, OTP, Social Login, and Enterprise Browser.
4949
5050
implementation 'org.bouncycastle:bcpkix-jdk15on:1.55' // (Optional) Only required when you want to support Android 4.1.x
5151
}

build.gradle

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -29,16 +29,16 @@ allprojects {
2929
}
3030

3131
ext {
32-
supportLibsVersion = '27.1.1'
32+
supportLibsVersion = '28.0.0-rc01'
3333
appAuthVersion = '0.7.0'
34-
buildToolsVersion = '27.0.3'
35-
compileSdkVersion = 27
34+
buildToolsVersion = '28.0.0'
35+
compileSdkVersion = 28
3636
gcm = '12.0.1'
3737
minSdkVersion = 16
3838
nimbusJoseVersion = '5.9'
39-
targetSdkVersion = 27
40-
versionCode = 19
41-
versionName = '1.7.10'
39+
targetSdkVersion = 28
40+
versionCode = 20
41+
versionName = '1.8.00'
4242
zxingVersion = '3.3.0'
4343
testRunner = '1.0.1'
4444
testRules = '1.0.1'

mas-connecta/src/androidTest/AndroidManifest.xml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,20 @@
1111

1212
<application android:allowBackup="true"
1313
android:label="@string/app_name">
14+
<service
15+
android:name="com.ca.mas.core.storage.sharedstorage.MASAuthenticatorService"
16+
android:exported="false">
17+
<intent-filter>
18+
<action android:name="android.accounts.AccountAuthenticator" />
19+
</intent-filter>
20+
21+
<meta-data
22+
android:name="account.name"
23+
android:resource="@string/acc_name" />
24+
<meta-data
25+
android:name="android.accounts.AccountAuthenticator"
26+
android:resource="@xml/mastest" />
27+
</service>
1428
</application>
1529

1630
</manifest>

mas-foundation/build.gradle

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@ dependencies {
6363

6464
api "com.google.zxing:core:$rootProject.ext.zxingVersion"
6565
implementation "com.android.support:support-annotations:$rootProject.ext.supportLibsVersion"
66+
implementation "com.android.support:support-compat:$rootProject.ext.supportLibsVersion"
6667
api "com.nimbusds:nimbus-jose-jwt:$rootProject.ext.nimbusJoseVersion"
6768

6869
//For Android API 16 and 17
@@ -131,16 +132,8 @@ task javadoc(type: Javadoc) {
131132
println "Source: $source"
132133
classpath += project.files(android.getBootClasspath().join(File.pathSeparator))
133134
println "Classpath: $source"
134-
options.memberLevel = org.gradle.external.javadoc.JavadocMemberLevel.PROTECTED
135135
destinationDir = file("../docs/mas_foundation_javadoc/")
136136
failOnError false
137-
138-
include '**/*MAS*.java'
139-
include '**/Device.java'
140-
include '**/ScimUser.java'
141-
142-
exclude '**/MASTransformable.java'
143-
exclude '**/MASResultReceiver.java'
144137
}
145138

146139
//jcenter integration

mas-foundation/src/androidTest/AndroidManifest.xml

Lines changed: 11 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -9,18 +9,8 @@
99
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
1010
package="com.ca.mas.foundation">
1111

12-
<uses-permission android:name="android.permission.INTERNET" />
13-
14-
<!-- AMS Permission Start -->
15-
<uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS" />
16-
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
17-
<!-- AMS Permission End -->
18-
1912
<application android:allowBackup="true"
2013
android:label="@string/app_name">
21-
<service android:name="com.ca.mas.core.service.MssoService"
22-
android:exported="false">
23-
</service>
2414

2515
<!-- AMS Service -->
2616
<!-- AMS Service -->
@@ -29,18 +19,25 @@
2919
<action android:name="android.accounts.AccountAuthenticator" />
3020
</intent-filter>
3121
<meta-data android:name="account.name"
32-
android:resource="@string/acc_name"/>
22+
android:resource="@string/acc_name2"/>
3323
<meta-data
3424
android:name="android.accounts.AccountAuthenticator"
3525
android:resource="@xml/mastest" />
3626
</service>
3727

38-
<service android:name="com.ca.mas.core.storage.sharedstorage.MASAuthenticatorService">
28+
<service
29+
android:name="com.ca.mas.core.storage.sharedstorage.MASAuthenticatorService"
30+
android:exported="false">
3931
<intent-filter>
4032
<action android:name="android.accounts.AccountAuthenticator" />
4133
</intent-filter>
42-
<meta-data android:name="android.accounts.AccountAuthenticator"
43-
android:resource="@xml/massharedauthenticator" />
34+
35+
<meta-data
36+
android:name="account.name"
37+
android:resource="@string/acc_name" />
38+
<meta-data
39+
android:name="android.accounts.AccountAuthenticator"
40+
android:resource="@xml/mastest" />
4441
</service>
4542

4643
</application>

mas-foundation/src/androidTest/java/com/ca/mas/MASTestSuite.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@
1616

1717
@RunWith(Suite.class)
1818
@Suite.SuiteClasses({
19-
CoreTestSuite.class,
2019
MASFoundationTestSuite.class,
20+
CoreTestSuite.class,
2121
})
2222

2323
public class MASTestSuite {

mas-foundation/src/androidTest/java/com/ca/mas/core/CoreTestSuite.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010

1111
import com.ca.mas.core.datasource.AccountManagerStoreDataSourceTest;
1212
import com.ca.mas.core.datasource.KeystoreDataSourceTest;
13-
import com.ca.mas.core.datasource.SecureAccountManagerStoreDataSourceTest;
13+
import com.ca.mas.core.datasource.MASSecureStorageDataSourceTest;
1414
import com.ca.mas.core.storage.AccountManagerStorageTests;
1515
import com.ca.mas.core.storage.EncryptionProviderTests;
1616
import com.ca.mas.core.storage.KeyStoreStorageTests;
@@ -29,7 +29,7 @@
2929

3030
AccountManagerStoreDataSourceTest.class,
3131
KeystoreDataSourceTest.class,
32-
SecureAccountManagerStoreDataSourceTest.class,
32+
MASSecureStorageDataSourceTest.class
3333

3434

3535
})

mas-foundation/src/androidTest/java/com/ca/mas/core/datasource/AccountManagerStoreDataSourceTest.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212

1313
import com.ca.mas.AndroidVersionAwareTestRunner;
1414
import com.ca.mas.MASTestBase;
15-
import com.ca.mas.TargetApi;
15+
import com.ca.mas.MinTargetAPI;
1616

1717
import org.json.JSONObject;
1818
import org.junit.After;
@@ -44,23 +44,23 @@ public void cleanupData() {
4444
}
4545

4646
@Test
47-
@TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR2)
47+
@MinTargetAPI(Build.VERSION_CODES.JELLY_BEAN_MR2)
4848
public void testReadWriteString() {
4949
DataSource<String, String> d = (DataSource<String, String>) getDataSource(new StringDataConverter());
5050
d.put(KEY, VALUE);
5151
assertEquals(VALUE, d.get(KEY));
5252
}
5353

5454
@Test
55-
@TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR2)
55+
@MinTargetAPI(Build.VERSION_CODES.JELLY_BEAN_MR2)
5656
public void testReadWriteByteArray() {
5757
DataSource<String, byte[]> d = (DataSource<String, byte[]>) getDataSource( null );
5858
d.put(KEY, VALUE.getBytes());
5959
assertEquals(VALUE, new String(d.get(KEY)));
6060
}
6161

6262
@Test
63-
@TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR2)
63+
@MinTargetAPI(Build.VERSION_CODES.JELLY_BEAN_MR2)
6464
public void testReadWriteGeneric() {
6565
DataSource<String, Object> d = (DataSource<String, Object>) getDataSource(new DataConverter() {
6666
@Override
@@ -80,7 +80,7 @@ public Object convert(Object key, byte[] value) {
8080
}
8181

8282
@Test
83-
@TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR2)
83+
@MinTargetAPI(Build.VERSION_CODES.JELLY_BEAN_MR2)
8484
public void testGetKeys() {
8585
DataSource<String, Object> d = (DataSource<String, Object>) getDataSource(null);
8686

@@ -91,7 +91,7 @@ public void testGetKeys() {
9191
}
9292

9393
@Test
94-
@TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR2)
94+
@MinTargetAPI(Build.VERSION_CODES.JELLY_BEAN_MR2)
9595
public void testRemove() {
9696
DataSource<String, Object> d = (DataSource<String, Object>) getDataSource(null);
9797
d.put(KEY, VALUE);

mas-foundation/src/androidTest/java/com/ca/mas/core/datasource/KeystoreDataSourceTest.java

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,12 @@
88

99
package com.ca.mas.core.datasource;
1010

11-
import android.support.test.runner.AndroidJUnit4;
11+
import android.os.Build;
1212

13+
import com.ca.mas.AndroidVersionAwareTestRunner;
1314
import com.ca.mas.MASTestBase;
15+
import com.ca.mas.MaxTargetAPI;
16+
import com.ca.mas.MinTargetAPI;
1417

1518
import org.junit.After;
1619
import org.junit.Ignore;
@@ -22,7 +25,8 @@
2225
import static junit.framework.Assert.assertNull;
2326
import static junit.framework.Assert.assertTrue;
2427

25-
@RunWith(AndroidJUnit4.class)
28+
@RunWith(AndroidVersionAwareTestRunner.class)
29+
@MaxTargetAPI(Build.VERSION_CODES.O_MR1)
2630
public class KeystoreDataSourceTest extends MASTestBase {
2731

2832
private final String KEY = "KEY";
@@ -100,12 +104,4 @@ public void testKeyStoreUnlock() {
100104
KeystoreDataSource.class, null, null);
101105
assertFalse(d.isReady());
102106
}
103-
104-
105-
106-
107-
108-
109-
110-
111107
}

0 commit comments

Comments
 (0)