Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 0 additions & 4 deletions connector/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -49,10 +49,6 @@ android {
namespace "org.unifiedpush.android.connector"
}

dependencies {
api("org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version")
}

// jitpack build
afterEvaluate {
publishing {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,20 +1,65 @@
package org.unifiedpush.android.connector

data class RegistrationDialogContent(
val noDistributorDialog: NoDistributorDialog = NoDistributorDialog(),
val chooseDialog: ChooseDialog = ChooseDialog()
)

data class NoDistributorDialog(
var title: String = "No distributor found",
var message: String = "You need to install a distributor " +
"for push notifications to work.\n" +
"For more information, visit\n" +
"https://unifiedpush.org/",
var okButton: String = "OK",
var ignoreButton: String = "Ignore"
)

data class ChooseDialog(
var title: String = "Choose a distributor"
)
import android.content.Context

/** Defines content that can be shown during [UnifiedPush.registerAppWithDialog]. */
interface RegistrationDialogContent {
/** Content if no distributor is installed. */
val noDistributorDialog: NoDistributorDialog

/** Content if multiple distributors are installed. */
val chooseDialog: ChooseDialog
}

/**
* Default [RegistrationDialogContent]
*
* @param context Context for fetching resources.
*/
data class DefaultRegistrationDialogContent(val context: Context) : RegistrationDialogContent {
override val noDistributorDialog = DefaultNoDistributorDialog(context)
override val chooseDialog = DefaultChooseDialog(context)
}

/** Defines content for the dialog if no distributors are installed. */
interface NoDistributorDialog {
/** Dialog title. */
val title: String

/** Dialog message. */
var message: String

/** Text on positive button */
val okButton: String

/** Text on negative button. */
val ignoreButton: String
}

/**
* Default [NoDistributorDialog].
*
* @param context Context for fetching resources.
*/
data class DefaultNoDistributorDialog(val context: Context) : NoDistributorDialog {
override val title = context.getString(R.string.unified_push_dialog_no_distributor_title)
override var message = context.getString(R.string.unified_push_dialog_no_distributor_message)
override val okButton = context.getString(android.R.string.ok)
override val ignoreButton =
context.getString(R.string.unified_push_dialog_no_distributor_negative)
}

/** Defines content for the dialog if multiple distributors are installed. */
interface ChooseDialog {
/** Dialog title. */
val title: String
}

/**
* Default [ChooseDialog].
*
* @param context Context for fetching resources.
*/
data class DefaultChooseDialog(val context: Context) : ChooseDialog {
override val title = context.getString(R.string.unified_push_dialog_choose_title)
}
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,9 @@ object UnifiedPush {
registerAppWithDialog(
context,
instance,
RegistrationDialogContent().apply { noDistributorDialog.message = dialogMessage },
DefaultRegistrationDialogContent(context).apply {
noDistributorDialog.message = dialogMessage
},
features,
messageForDistributor
)
Expand All @@ -68,7 +70,7 @@ object UnifiedPush {
context: Context,
instance: String = INSTANCE_DEFAULT,
registrationDialogContent: RegistrationDialogContent =
RegistrationDialogContent(),
DefaultRegistrationDialogContent(context),
features: ArrayList<String> = DEFAULT_FEATURES,
messageForDistributor: String = ""
) {
Expand Down
9 changes: 9 additions & 0 deletions connector/src/main/res/values/strings.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>

<resources>
<string name="unified_push_dialog_no_distributor_title">No distributor found</string>
<string name="unified_push_dialog_no_distributor_message">You need to install a distributor for push notifications to work\n\nFor more information visit https://unifiedpush.org.</string>
<string name="unified_push_dialog_no_distributor_negative">Don\'t tell me again</string>

<string name="unified_push_dialog_choose_title">Choose a distributor</string>
</resources>