Skip to content

Commit e22f1b6

Browse files
author
Rodrigo Gomez Palacio
authored
Merge branch 'main' into message-view-bug-fix
2 parents e0f1404 + f43b983 commit e22f1b6

File tree

118 files changed

+3320
-2294
lines changed

Some content is hidden

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

118 files changed

+3320
-2294
lines changed

.travis.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,14 @@ android:
1010
# https://github.com/travis-ci/travis-ci/issues/6193
1111
# Required to get the newest platform-tools.
1212
- platform-tools
13-
- build-tools-28.0.3
14-
- android-28
13+
- build-tools-29.0.3
14+
- android-29
1515
licenses:
1616
- '.+'
1717
- 'android-sdk-license-.+'
1818
before_install:
19-
- yes | sdkmanager "platforms;android-28"
20-
- yes | sdkmanager "build-tools;28.0.3"
19+
- yes | sdkmanager "platforms;android-29"
20+
- yes | sdkmanager "build-tools;29.0.3"
2121
- pwd
2222
- ls -la
2323
- cd OneSignalSDK
Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
{
2+
"agcgw":{
3+
"backurl":"connect-dre.dbankcloud.cn",
4+
"url":"connect-dre.hispace.hicloud.com",
5+
"websocketbackurl":"connect-ws-dre.hispace.dbankcloud.cn",
6+
"websocketurl":"connect-ws-dre.hispace.dbankcloud.com"
7+
},
8+
"agcgw_all":{
9+
"CN":"connect-drcn.hispace.hicloud.com",
10+
"CN_back":"connect-drcn.dbankcloud.cn",
11+
"DE":"connect-dre.hispace.hicloud.com",
12+
"DE_back":"connect-dre.dbankcloud.cn",
13+
"RU":"connect-drru.hispace.hicloud.com",
14+
"RU_back":"connect-drru.dbankcloud.cn",
15+
"SG":"connect-dra.hispace.hicloud.com",
16+
"SG_back":"connect-dra.dbankcloud.cn"
17+
},
18+
"client":{
19+
"cp_id":"5190001000034239317",
20+
"product_id":"9105385871709201822",
21+
"client_id":"336482233541985344",
22+
"client_secret":"5E30C748A012DE67BAF83E2C542A4AB694CCAA89F1D5E8FCEFA57E0F28A077FB",
23+
"project_id":"9105385871709201822",
24+
"app_id":"102009847",
25+
"api_key":"CV68fkx9E2fU8Fv/v3zbuO8+rCjJ8w6QiMha7ZJUpIGTxs08n0/ddVXbOueUKBtxf3sD+ni8WPx27htLHhtse5eP5VrT",
26+
"package_name":"com.onesignal.example"
27+
},
28+
"oauth_client":{
29+
"client_id":"102009847",
30+
"client_type":1
31+
},
32+
"app_info":{
33+
"app_id":"102009847",
34+
"package_name":"com.onesignal.example"
35+
},
36+
"service":{
37+
"analytics":{
38+
"collector_url":"datacollector-dre.dt.hicloud.com,datacollector-dre.dt.dbankcloud.cn",
39+
"resource_id":"p1",
40+
"channel_id":""
41+
},
42+
"search":{
43+
"url":"https://search-dre.cloud.huawei.com"
44+
},
45+
"cloudstorage":{
46+
"storage_url":"https://ops-dre.agcstorage.link"
47+
},
48+
"ml":{
49+
"mlservice_url":"ml-api-dre.ai.dbankcloud.com,ml-api-dre.ai.dbankcloud.cn"
50+
}
51+
},
52+
"region":"DE",
53+
"configuration_version":"3.0",
54+
"appInfos":[
55+
{
56+
"package_name":"com.onesignal.example",
57+
"client":{
58+
"app_id":"102009847"
59+
},
60+
"app_info":{
61+
"package_name":"com.onesignal.example",
62+
"app_id":"102009847"
63+
},
64+
"oauth_client":{
65+
"client_type":1,
66+
"client_id":"102009847"
67+
}
68+
}
69+
]
70+
}
Lines changed: 41 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,17 @@
1-
21
apply plugin: 'com.onesignal.androidsdk.onesignal-gradle-plugin'
32
apply plugin: 'com.android.application'
43

54
android {
65
compileSdkVersion 28
76
defaultConfig {
8-
applicationId "com.onesignal.sdktest"
97
minSdkVersion 16
108
targetSdkVersion 28
119
versionCode 1
1210
versionName "1.0"
11+
multiDexEnabled true
12+
1313
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
14+
flavorDimensions "default"
1415
}
1516

1617
buildTypes {
@@ -20,26 +21,47 @@ android {
2021
}
2122
}
2223

24+
productFlavors {
25+
gms {
26+
dimension "default"
27+
applicationId "com.onesignal.sdktest"
28+
}
29+
huawei {
30+
dimension "default"
31+
minSdkVersion 17
32+
applicationId "com.onesignal.example"
33+
}
34+
}
35+
2336
// Forced downgrade to Java 1.8 for compiling the application due to Android N error when building
2437
compileOptions {
2538
sourceCompatibility JavaVersion.VERSION_1_8
2639
targetCompatibility JavaVersion.VERSION_1_8
2740
}
41+
42+
packagingOptions {
43+
exclude 'androidsupportmultidexversion.txt'
44+
}
45+
46+
task flavorSelection() {
47+
if (getGradle().getStartParameter().getTaskRequests().toString().contains("Gms")) {
48+
apply plugin: 'com.google.gms.google-services'
49+
} else {
50+
apply plugin: 'com.huawei.agconnect'
51+
}
52+
}
2853
}
2954

3055
dependencies {
3156
implementation fileTree(dir: 'libs', include: ['*.jar'])
3257

58+
implementation 'com.android.support:multidex:1.0.3'
3359
implementation 'com.google.android.material:material:[1.0.0, 1.99.99]'
3460

3561
implementation 'androidx.cardview:cardview:[1.0.0, 1.99.99]'
3662
implementation 'androidx.appcompat:appcompat:[1.0.0, 1.99.99]'
3763
implementation 'androidx.legacy:legacy-support-v4:[1.0.0, 1.99.99]'
3864
implementation 'androidx.vectordrawable:vectordrawable:[1.0.0, 1.99.99]'
39-
40-
// Test local OneSignal SDK
41-
implementation(project(':onesignal'))
42-
4365
// Test public release OneSignal SDK
4466
// This will not work until 4.0.0 is publicly released because of manifest placeholders causing
4567
// manifest merger conflicts
@@ -49,6 +71,17 @@ dependencies {
4971
// glide:4.9.0 is the last version before going to AndroidX
5072
// glide:4.10.0 is the first version using AndroidX
5173
implementation 'com.github.bumptech.glide:glide:[4.10.0, 4.99.99]'
52-
}
74+
75+
// Test local OneSignal SDK
76+
gmsImplementation(project(':onesignal'))
5377

54-
apply plugin: 'com.google.gms.google-services'
78+
huaweiImplementation 'com.huawei.hms:push:5.0.0.300'
79+
huaweiImplementation 'com.huawei.hms:location:4.0.0.300'
80+
// Omit Google / Firebase libraries for Huawei builds.
81+
huaweiImplementation(project(':onesignal')) {
82+
exclude group: 'com.google.android.gms', module: 'play-services-gcm'
83+
exclude group: 'com.google.android.gms', module: 'play-services-analytics'
84+
exclude group: 'com.google.android.gms', module: 'play-services-location'
85+
exclude group: 'com.google.firebase', module: 'firebase-messaging'
86+
}
87+
}
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
3+
xmlns:tools="http://schemas.android.com/tools"
4+
xmlns:amazon="http://schemas.amazon.com/apk/res/android"
5+
package="com.onesignal.sdktest">
6+
7+
<application
8+
android:name=".application.MainApplication">
9+
10+
<service
11+
android:name="com.onesignal.sdktest.notification.HmsMessageServiceAppLevel"
12+
android:exported="false">
13+
<intent-filter>
14+
<action android:name="com.huawei.push.action.MESSAGING_EVENT" />
15+
</intent-filter>
16+
</service>
17+
18+
</application>
19+
20+
</manifest>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
package com.onesignal.sdktest.notification;
2+
3+
import com.huawei.hms.push.HmsMessageService;
4+
import com.huawei.hms.push.RemoteMessage;
5+
import com.onesignal.OneSignal;
6+
import com.onesignal.OneSignalHmsEventBridge;
7+
8+
public class HmsMessageServiceAppLevel extends HmsMessageService {
9+
10+
/**
11+
* When an app calls the getToken method to apply for a token from the server,
12+
* if the server does not return the token during current method calling, the server can return the token through this method later.
13+
* This method callback must be completed in 10 seconds. Otherwise, you need to start a new Job for callback processing.
14+
*
15+
* @param token token
16+
*/
17+
@Override
18+
public void onNewToken(String token) {
19+
OneSignal.onesignalLog(OneSignal.LOG_LEVEL.DEBUG, "HMS onNewToken refresh token:" + token);
20+
21+
// Forward event on to OneSignal SDK
22+
OneSignalHmsEventBridge.onNewToken(this, token);
23+
}
24+
25+
/**
26+
* This method is called in the following cases:
27+
* 1. "Data messages" - App process is alive when received.
28+
* 2. "Notification Message" - foreground_show = false and app is in focus
29+
* This method callback must be completed in 10 seconds. Start a new Job if more time is needed.
30+
*
31+
* @param message RemoteMessage
32+
*/
33+
@Override
34+
public void onMessageReceived(RemoteMessage message) {
35+
OneSignal.onesignalLog(OneSignal.LOG_LEVEL.DEBUG, "HMS onMessageReceived: " + message);
36+
OneSignal.onesignalLog(OneSignal.LOG_LEVEL.DEBUG, "HMS onMessageReceived.ttl:" + message.getTtl());
37+
OneSignal.onesignalLog(OneSignal.LOG_LEVEL.DEBUG, "HMS onMessageReceived.data:" + message.getData());
38+
OneSignal.onesignalLog(OneSignal.LOG_LEVEL.DEBUG, "HMS onMessageReceived.title: " + message.getNotification().getTitle());
39+
OneSignal.onesignalLog(OneSignal.LOG_LEVEL.DEBUG, "HMS onMessageReceived.body: " + message.getNotification().getBody());
40+
OneSignal.onesignalLog(OneSignal.LOG_LEVEL.DEBUG, "HMS onMessageReceived.icon: " + message.getNotification().getIcon());
41+
OneSignal.onesignalLog(OneSignal.LOG_LEVEL.DEBUG, "HMS onMessageReceived.color: " + message.getNotification().getColor());
42+
OneSignal.onesignalLog(OneSignal.LOG_LEVEL.DEBUG, "HMS onMessageReceived.channelId: " + message.getNotification().getChannelId());
43+
OneSignal.onesignalLog(OneSignal.LOG_LEVEL.DEBUG, "HMS onMessageReceived.imageURL: " + message.getNotification().getImageUrl());
44+
OneSignal.onesignalLog(OneSignal.LOG_LEVEL.DEBUG, "HMS onMessageReceived.tag: " + message.getNotification().getTag());
45+
46+
// Forward event on to OneSignal SDK
47+
OneSignalHmsEventBridge.onMessageReceived(this, message);
48+
}
49+
}

Examples/OneSignalDemo/app/src/main/AndroidManifest.xml

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,15 @@
3535
android:required="false"/>
3636

3737
<!-- You must replace the names in the service and receiver tags
38-
with names that are appropriate to your package. -->
38+
with names that are appropriate to your package. -->
39+
40+
<service
41+
android:name="com.onesignal.sdktest.notification.HmsMessageServiceAppLevel"
42+
android:exported="false">
43+
<intent-filter>
44+
<action android:name="com.huawei.push.action.MESSAGING_EVENT" />
45+
</intent-filter>
46+
</service>
3947

4048
<service
4149
android:name="com.onesignal.ADMMessageHandlerJob"
@@ -49,7 +57,8 @@
4957

5058
<receiver
5159
android:name="com.onesignal.ADMMessageHandler$Receiver"
52-
android:permission="com.amazon.device.messaging.permission.SEND" >
60+
android:permission="com.amazon.device.messaging.permission.SEND"
61+
android:exported="true">
5362

5463
<!-- To interact with ADM, your app must listen for the following intents. -->
5564
<intent-filter>
@@ -64,7 +73,9 @@
6473
<meta-data android:name="com.onesignal.NotificationServiceExtension"
6574
android:value="com.onesignal.sdktest.notification.NotificationServiceExtension" />
6675

67-
<activity android:name=".activity.SplashActivity">
76+
<activity
77+
android:name=".activity.SplashActivity"
78+
android:exported="true">
6879
<intent-filter>
6980
<action android:name="android.intent.action.MAIN" />
7081
<category android:name="android.intent.category.LAUNCHER" />

Examples/OneSignalDemo/app/src/main/java/com/onesignal/sdktest/application/MainApplication.java

Lines changed: 27 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,47 @@
11
package com.onesignal.sdktest.application;
22

3-
import android.app.Application;
43
import android.util.Log;
54

5+
import androidx.multidex.MultiDexApplication;
6+
7+
import com.onesignal.OSInAppMessage;
68
import com.onesignal.OSNotification;
7-
import com.onesignal.OSNotificationOpenedResult;
9+
import com.onesignal.OSInAppMessageLifecycleHandler;
810
import com.onesignal.OneSignal;
911
import com.onesignal.sdktest.R;
1012
import com.onesignal.sdktest.constant.Tag;
1113
import com.onesignal.sdktest.constant.Text;
1214
import com.onesignal.sdktest.util.SharedPreferenceUtil;
1315

14-
import org.json.JSONException;
1516
import org.json.JSONObject;
1617

17-
public class MainApplication extends Application {
18+
public class MainApplication extends MultiDexApplication {
1819

1920
@Override
2021
public void onCreate() {
2122
super.onCreate();
2223

24+
OSInAppMessageLifecycleHandler handler = new OSInAppMessageLifecycleHandler() {
25+
@Override
26+
public void onWillDisplayInAppMessage(OSInAppMessage message) {
27+
OneSignal.onesignalLog(OneSignal.LOG_LEVEL.VERBOSE, "MainApplication onWillDisplayInAppMessage");
28+
}
29+
@Override
30+
public void onDidDisplayInAppMessage(OSInAppMessage message) {
31+
OneSignal.onesignalLog(OneSignal.LOG_LEVEL.VERBOSE, "MainApplication onDidDisplayInAppMessage");
32+
}
33+
@Override
34+
public void onWillDismissInAppMessage(OSInAppMessage message) {
35+
OneSignal.onesignalLog(OneSignal.LOG_LEVEL.VERBOSE, "MainApplication onWillDismissInAppMessage");
36+
}
37+
@Override
38+
public void onDidDismissInAppMessage(OSInAppMessage message) {
39+
OneSignal.onesignalLog(OneSignal.LOG_LEVEL.VERBOSE, "MainApplication onDidDismissInAppMessage");
40+
}
41+
};
42+
43+
OneSignal.setInAppMessageLifecycleHandler(handler);
44+
2345
OneSignal.setLogLevel(OneSignal.LOG_LEVEL.VERBOSE, OneSignal.LOG_LEVEL.NONE);
2446

2547
// OneSignal Initialization
@@ -42,7 +64,7 @@ public void onCreate() {
4264
OSNotification notification = notificationReceivedEvent.getNotification();
4365
JSONObject data = notification.getAdditionalData();
4466

45-
notificationReceivedEvent.complete(null);
67+
notificationReceivedEvent.complete(notification);
4668
});
4769

4870
OneSignal.unsubscribeWhenNotificationsAreDisabled(true);
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
3+
android:color="@color/colorPrimary">
4+
<item
5+
android:id="@android:id/mask"
6+
android:gravity="center">
7+
<shape android:shape="rectangle">
8+
<solid android:color="@android:color/white"/>
9+
</shape>
10+
</item>
11+
</ripple>
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
3+
android:color="@android:color/white">
4+
<item
5+
android:id="@android:id/mask"
6+
android:gravity="center">
7+
<shape android:shape="rectangle">
8+
<solid android:color="@color/colorPrimary"/>
9+
</shape>
10+
</item>
11+
</ripple>

0 commit comments

Comments
 (0)