Skip to content

Commit

Permalink
Merge pull request #1708 from OneSignal/user-model/core-module
Browse files Browse the repository at this point in the history
[User Model] Core Module
  • Loading branch information
brismithers authored Dec 20, 2022
2 parents d32966b + ccd8c46 commit 69f43ca
Show file tree
Hide file tree
Showing 328 changed files with 249 additions and 173 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ jobs:
- name: "[Test] SDK Unit Tests"
working-directory: OneSignalSDK
run: |
./gradlew unittest:testReleaseUnitTest --console=plain
./gradlew test --console=plain
- name: Unit tests results
if: failure()
uses: actions/upload-artifact@v3
Expand Down
8 changes: 4 additions & 4 deletions Examples/OneSignalDemo/app/agconnect-services.json
Original file line number Diff line number Diff line change
Expand Up @@ -23,15 +23,15 @@
"project_id":"9105385871709201822",
"app_id":"102009847",
"api_key":"CV68fkx9E2fU8Fv/v3zbuO8+rCjJ8w6QiMha7ZJUpIGTxs08n0/ddVXbOueUKBtxf3sD+ni8WPx27htLHhtse5eP5VrT",
"package_name":"com.onesignal.example"
"package_name":"com.onesignal.sdktest"
},
"oauth_client":{
"client_id":"102009847",
"client_type":1
},
"app_info":{
"app_id":"102009847",
"package_name":"com.onesignal.example"
"package_name":"com.onesignal.sdktest"
},
"service":{
"analytics":{
Expand All @@ -53,12 +53,12 @@
"configuration_version":"3.0",
"appInfos":[
{
"package_name":"com.onesignal.example",
"package_name":"com.onesignal.sdktest",
"client":{
"app_id":"102009847"
},
"app_info":{
"package_name":"com.onesignal.example",
"package_name":"com.onesignal.sdktest",
"app_id":"102009847"
},
"oauth_client":{
Expand Down
10 changes: 3 additions & 7 deletions Examples/OneSignalDemo/app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ android {
huawei {
dimension "default"
minSdkVersion 17
applicationId "com.onesignal.example"
applicationId "com.onesignal.sdktest"
}
}

Expand Down Expand Up @@ -67,17 +67,13 @@ dependencies {

implementation 'com.github.bumptech.glide:glide:4.12.0'

implementation('com.onesignal:OneSignal:4.8.2')
implementation('com.onesignal:Location:4.8.2')
implementation('com.onesignal:InAppMessages:4.8.2')

/** START - Google Play Builds **/
gmsImplementation('com.onesignal:Notifications:4.8.2')
gmsImplementation('com.onesignal:OneSignal:5.0.0')
/** END - Google Play Builds **/

/** START - Huawei Builds **/
// Omit Google / Firebase libraries for Huawei builds.
huaweiImplementation('com.onesignal:Notifications:4.8.2') {
huaweiImplementation('com.onesignal:OneSignal:5.0.0') {
exclude group: 'com.google.android.gms', module: 'play-services-gcm'
exclude group: 'com.google.android.gms', module: 'play-services-analytics'
exclude group: 'com.google.android.gms', module: 'play-services-location'
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
package com.onesignal.sdktest.notification;

import android.os.Bundle;
import android.util.Log;

import com.huawei.hms.push.HmsMessageService;
import com.huawei.hms.push.RemoteMessage;
import com.onesignal.OneSignal;
import com.onesignal.OneSignalHmsEventBridge;
import com.onesignal.notifications.bridges.OneSignalHmsEventBridge;

public class HmsMessageServiceAppLevel extends HmsMessageService {

Expand All @@ -19,19 +19,19 @@ public class HmsMessageServiceAppLevel extends HmsMessageService {
*/
@Override
public void onNewToken(String token, Bundle bundle) {
OneSignal.onesignalLog(OneSignal.LOG_LEVEL.DEBUG, "HmsMessageServiceAppLevel onNewToken refresh token:" + token + " bundle: " + bundle);
Log.d("MainApplication", "HmsMessageServiceAppLevel onNewToken refresh token:" + token + " bundle: " + bundle);

// Forward event on to OneSignal SDK
OneSignalHmsEventBridge.onNewToken(this, token, bundle);
OneSignalHmsEventBridge.INSTANCE.onNewToken(this, token, bundle);
}

@Deprecated
@Override
public void onNewToken(String token) {
OneSignal.onesignalLog(OneSignal.LOG_LEVEL.DEBUG, "HmsMessageServiceAppLevel onNewToken refresh token:" + token);
Log.d("MainApplication", "HmsMessageServiceAppLevel onNewToken refresh token:" + token);

// Forward event on to OneSignal SDK
OneSignalHmsEventBridge.onNewToken(this, token);
OneSignalHmsEventBridge.INSTANCE.onNewToken(this, token);
}

/**
Expand All @@ -44,18 +44,18 @@ public void onNewToken(String token) {
*/
@Override
public void onMessageReceived(RemoteMessage message) {
OneSignal.onesignalLog(OneSignal.LOG_LEVEL.DEBUG, "HMS onMessageReceived: " + message);
OneSignal.onesignalLog(OneSignal.LOG_LEVEL.DEBUG, "HMS onMessageReceived.ttl:" + message.getTtl());
OneSignal.onesignalLog(OneSignal.LOG_LEVEL.DEBUG, "HMS onMessageReceived.data:" + message.getData());
OneSignal.onesignalLog(OneSignal.LOG_LEVEL.DEBUG, "HMS onMessageReceived.title: " + message.getNotification().getTitle());
OneSignal.onesignalLog(OneSignal.LOG_LEVEL.DEBUG, "HMS onMessageReceived.body: " + message.getNotification().getBody());
OneSignal.onesignalLog(OneSignal.LOG_LEVEL.DEBUG, "HMS onMessageReceived.icon: " + message.getNotification().getIcon());
OneSignal.onesignalLog(OneSignal.LOG_LEVEL.DEBUG, "HMS onMessageReceived.color: " + message.getNotification().getColor());
OneSignal.onesignalLog(OneSignal.LOG_LEVEL.DEBUG, "HMS onMessageReceived.channelId: " + message.getNotification().getChannelId());
OneSignal.onesignalLog(OneSignal.LOG_LEVEL.DEBUG, "HMS onMessageReceived.imageURL: " + message.getNotification().getImageUrl());
OneSignal.onesignalLog(OneSignal.LOG_LEVEL.DEBUG, "HMS onMessageReceived.tag: " + message.getNotification().getTag());
Log.d("MainApplication", "HMS onMessageReceived: " + message);
Log.d("MainApplication", "HMS onMessageReceived.ttl:" + message.getTtl());
Log.d("MainApplication", "HMS onMessageReceived.data:" + message.getData());
Log.d("MainApplication", "HMS onMessageReceived.title: " + message.getNotification().getTitle());
Log.d("MainApplication", "HMS onMessageReceived.body: " + message.getNotification().getBody());
Log.d("MainApplication", "HMS onMessageReceived.icon: " + message.getNotification().getIcon());
Log.d("MainApplication", "HMS onMessageReceived.color: " + message.getNotification().getColor());
Log.d("MainApplication", "HMS onMessageReceived.channelId: " + message.getNotification().getChannelId());
Log.d("MainApplication", "HMS onMessageReceived.imageURL: " + message.getNotification().getImageUrl());
Log.d("MainApplication", "HMS onMessageReceived.tag: " + message.getNotification().getTag());

// Forward event on to OneSignal SDK
OneSignalHmsEventBridge.onMessageReceived(this, message);
OneSignalHmsEventBridge.INSTANCE.onMessageReceived(this, message);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -272,7 +272,7 @@

<!-- Aliases -->
<LinearLayout
android:id="@+id/main_activity_account_linear_layout"
android:id="@+id/main_activity_aliases_linear_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:clipChildren="false"
Expand Down Expand Up @@ -302,7 +302,7 @@
app:cardElevation="4dp">

<LinearLayout
android:id="@+id/main_activity_account_details_linear_layout"
android:id="@+id/main_activity_aliases_details_linear_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
Expand Down Expand Up @@ -412,8 +412,8 @@
android:layout_alignParentStart="true"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:layout_toStartOf="@id/main_activity_account_details_app_id_text_view"
android:layout_toLeftOf="@id/main_activity_account_details_app_id_text_view"
android:layout_toStartOf="@id/main_activity_push_subscription_id_text_view"
android:layout_toLeftOf="@id/main_activity_push_subscription_id_text_view"
android:text="@string/id_colon"
android:textColor="@color/colorDarkText"
android:textSize="16sp" />
Expand Down Expand Up @@ -1184,7 +1184,7 @@
<!-- Send In-App Messaging -->

<LinearLayout
android:id="@+id/main_activity_in_app_messaging_linear_layout"
android:id="@+id/main_activity_in_app_messaging_details_linear_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="8dp"
Expand Down
67 changes: 6 additions & 61 deletions OneSignalSDK/onesignal/build.gradle
Original file line number Diff line number Diff line change
@@ -1,22 +1,16 @@
plugins {
id 'com.android.library'
id 'kotlin-android'
id 'org.jlleitschuh.gradle.ktlint'
id 'io.gitlab.arturbosch.detekt'
}

android {
compileSdkVersion rootProject.buildVersions.compileSdkVersion
defaultConfig {
minSdkVersion rootProject.buildVersions.minSdkVersion
consumerProguardFiles 'consumer-rules.pro'
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}

buildTypes {
original {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
release {
minifyEnabled false
Expand All @@ -25,72 +19,23 @@ android {
minifyEnabled false
}
}
testOptions {
unitTests.all {
maxParallelForks 1
maxHeapSize '2048m'
}
unitTests {
includeAndroidResources = true
}
}
// Forced downgrade to Java 8 so SDK is backwards compatible in consuming projects
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
kotlinOptions {
jvmTarget = '1.8'
}
namespace 'com.onesignal'
}

tasks.withType(Test) {
testLogging {
exceptionFormat "full"
events "started", "skipped", "passed", "failed"
showStandardStreams false // Enable to have logging print
}
ext {
projectDescription = "OneSignal Android SDK - All Modules"
}

// api || implementation = compile and runtime

// KEEP: version ranges, these get used in the released POM file for maven central
// NOTE: To prevent consumers from getting alpha or beta version of dependencies listed here
// make sure the latest minor value is a known stable version. Using a range for the
// patch version is ok, since this allows getting bug fix versions.
dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlinVersion"
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.4"
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.4"

compileOnly('com.amazon.device:amazon-appstore-sdk:[3.0.1, 3.0.99]')

api('androidx.legacy:legacy-support-v4') {
version {
require '[1.0.0, 1.0.99]'
prefer '1.0.0'
}
}
api('androidx.appcompat:appcompat') {
version {
require '[1.0.0, 1.3.99]'
prefer '1.3.1'
}
}

testImplementation("junit:junit:$junitVersion")
testImplementation("io.kotest:kotest-runner-junit4:$kotestVersion")
testImplementation("io.kotest:kotest-runner-junit4-jvm:$kotestVersion")
testImplementation("io.kotest:kotest-assertions-core:$kotestVersion")
testImplementation("io.kotest:kotest-property:$kotestVersion")
testImplementation("org.robolectric:robolectric:4.8.1")
testImplementation("androidx.test:core-ktx:1.4.0")
testImplementation("androidx.test:core:1.4.0")
testImplementation("io.mockk:mockk:1.13.2")
testImplementation("org.json:json:20180813")
testImplementation("org.jetbrains.kotlin:kotlin-reflect:$kotlinVersion")
api project(':OneSignal:core')
api project(':OneSignal:notifications')
api project(':OneSignal:in-app-messages')
api project(':OneSignal:location')
}

apply from: 'maven-push.gradle'

File renamed without changes.
92 changes: 92 additions & 0 deletions OneSignalSDK/onesignal/core/build.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
plugins {
id 'com.android.library'
id 'kotlin-android'
id 'org.jlleitschuh.gradle.ktlint'
id 'io.gitlab.arturbosch.detekt'
}

android {
compileSdkVersion rootProject.buildVersions.compileSdkVersion
defaultConfig {
minSdkVersion rootProject.buildVersions.minSdkVersion
consumerProguardFiles "consumer-rules.pro"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}

buildTypes {
original {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
release {
minifyEnabled false
}
unity {
minifyEnabled false
}
}
testOptions {
unitTests.all {
maxParallelForks 1
maxHeapSize '2048m'
}
unitTests {
includeAndroidResources = true
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
kotlinOptions {
jvmTarget = '1.8'
}
namespace 'com.onesignal.core'
}

tasks.withType(Test) {
testLogging {
exceptionFormat "full"
events "started", "skipped", "passed", "failed"
showStandardStreams false // Enable to have logging print
}
}

ext {
projectDescription = "OneSignal Android SDK - Core Module"
}

dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlinVersion"
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.4"
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.4"

compileOnly('com.amazon.device:amazon-appstore-sdk:[3.0.1, 3.0.99]')

api('androidx.legacy:legacy-support-v4') {
version {
require '[1.0.0, 1.0.99]'
prefer '1.0.0'
}
}
api('androidx.appcompat:appcompat') {
version {
require '[1.0.0, 1.3.99]'
prefer '1.3.1'
}
}

testImplementation("junit:junit:$junitVersion")
testImplementation("io.kotest:kotest-runner-junit4:$kotestVersion")
testImplementation("io.kotest:kotest-runner-junit4-jvm:$kotestVersion")
testImplementation("io.kotest:kotest-assertions-core:$kotestVersion")
testImplementation("io.kotest:kotest-property:$kotestVersion")
testImplementation("org.robolectric:robolectric:4.8.1")
testImplementation("androidx.test:core-ktx:1.4.0")
testImplementation("androidx.test:core:1.4.0")
testImplementation("io.mockk:mockk:1.13.2")
testImplementation("org.json:json:20180813")
testImplementation("org.jetbrains.kotlin:kotlin-reflect:$kotlinVersion")
}

apply from: '../maven-push.gradle'
File renamed without changes.
24 changes: 24 additions & 0 deletions OneSignalSDK/onesignal/core/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android">

<!-- Required so the device can access the internet. -->
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

<application>
<service
android:name="com.onesignal.core.services.SyncService"
android:stopWithTask="true"
android:exported="false" />

<service
android:name="com.onesignal.core.services.SyncJobService"
android:permission="android.permission.BIND_JOB_SERVICE"
android:exported="false" />

<activity android:name="com.onesignal.core.activities.PermissionsActivity"
android:theme="@android:style/Theme.Translucent.NoTitleBar"
android:exported="false" />
</application>

<!-- NOTE: See release version for tags with placeholders -->
</manifest>
Loading

0 comments on commit 69f43ca

Please sign in to comment.