Compare commits
No commits in common. "5fe5df137662891b4c8110b4b9ecb06b567d0e93" and "f5e00df2523953dfa86f52f3c4df6d100ff2ebf2" have entirely different histories.
5fe5df1376
...
f5e00df252
@ -1,7 +1,6 @@
|
|||||||
plugins {
|
plugins {
|
||||||
id 'com.android.application'
|
id 'com.android.application'
|
||||||
id 'org.jetbrains.kotlin.android'
|
id 'org.jetbrains.kotlin.android'
|
||||||
id 'org.jetbrains.kotlin.plugin.compose' version '2.1.0'
|
|
||||||
}
|
}
|
||||||
|
|
||||||
android {
|
android {
|
||||||
@ -52,43 +51,33 @@ android {
|
|||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
|
|
||||||
dependencies {
|
// android dependencies from demo app
|
||||||
implementation 'androidx.core:core-ktx:1.12.0'
|
implementation 'androidx.core:core-ktx:1.12.0'
|
||||||
implementation 'androidx.appcompat:appcompat:1.6.1'
|
implementation 'androidx.appcompat:appcompat:1.6.1'
|
||||||
implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
|
implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
|
||||||
|
|
||||||
implementation 'androidx.activity:activity-compose:1.9.3'
|
|
||||||
implementation 'androidx.compose.foundation:foundation:1.9.5'
|
|
||||||
implementation 'androidx.compose.foundation:foundation-layout:1.9.4'
|
|
||||||
implementation 'androidx.compose.ui:ui'
|
|
||||||
implementation 'androidx.compose.ui:ui-tooling-preview'
|
|
||||||
implementation('de.webid-solutions:android_document_scanner:20.3.0')
|
|
||||||
|
|
||||||
debugImplementation 'androidx.compose.ui:ui-tooling'
|
|
||||||
|
|
||||||
testImplementation 'junit:junit:4.13.2'
|
testImplementation 'junit:junit:4.13.2'
|
||||||
androidTestImplementation 'androidx.test.ext:junit:1.1.5'
|
androidTestImplementation 'androidx.test.ext:junit:1.1.5'
|
||||||
androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.1'
|
androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.1'
|
||||||
}
|
|
||||||
|
|
||||||
// webid product-plugin
|
// webid product-plugin
|
||||||
//noinspection GradleDependency
|
//noinspection GradleDependency
|
||||||
|
|
||||||
def product_catalog_version = "21.1.2-SNAPSHOT"
|
def product_catalog_version = "15.1.1"
|
||||||
implementation ("de.webid-solutions:android_meta_plugin:$product_catalog_version") {
|
implementation ("de.webid-solutions:android_meta_plugin:$product_catalog_version") {
|
||||||
changing = true
|
changing = true
|
||||||
}
|
}
|
||||||
|
|
||||||
implementation ("de.webid-solutions:android_auto_ident_product_plugin:$product_catalog_version") {
|
implementation ("de.webid-solutions:android_auto_ident_on_server_product_plugin:$product_catalog_version") {
|
||||||
changing = true
|
changing = true
|
||||||
}
|
}
|
||||||
implementation ("de.webid-solutions:android_pay_ident_product_plugin:$product_catalog_version") {
|
implementation ("de.webid-solutions:android_pay_on_server_product_plugin:$product_catalog_version") {
|
||||||
changing = true
|
changing = true
|
||||||
}
|
}
|
||||||
implementation ("de.webid-solutions:android_video_ident_product_plugin:$product_catalog_version") {
|
implementation ("de.webid-solutions:android_video_ident_product_plugin:$product_catalog_version") {
|
||||||
changing = true
|
changing = true
|
||||||
}
|
}
|
||||||
implementation ("de.webid-solutions:android_eid_product_plugin:$product_catalog_version") {
|
implementation ("de.webid-solutions:android_eid_on_server_product_plugin:$product_catalog_version") {
|
||||||
changing = true
|
changing = true
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -9,7 +9,7 @@
|
|||||||
android:roundIcon="@mipmap/ic_launcher_round"
|
android:roundIcon="@mipmap/ic_launcher_round"
|
||||||
android:supportsRtl="true"
|
android:supportsRtl="true"
|
||||||
android:localeConfig="@xml/locales_config"
|
android:localeConfig="@xml/locales_config"
|
||||||
android:theme="@style/WebId.PluginTheme">
|
android:theme="@style/Theme.MetaPluginDemo">
|
||||||
<activity
|
<activity
|
||||||
android:name="de.webidsolutions.metaplugindemo.MainActivity"
|
android:name="de.webidsolutions.metaplugindemo.MainActivity"
|
||||||
android:exported="true">
|
android:exported="true">
|
||||||
|
|||||||
@ -7,29 +7,23 @@ package de.webidsolutions.metaplugindemo
|
|||||||
import android.annotation.SuppressLint
|
import android.annotation.SuppressLint
|
||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import androidx.activity.ComponentActivity
|
import android.widget.Button
|
||||||
import androidx.activity.compose.setContent
|
import android.widget.CheckBox
|
||||||
|
import android.widget.TextView
|
||||||
import androidx.activity.result.ActivityResult
|
import androidx.activity.result.ActivityResult
|
||||||
import androidx.activity.result.contract.ActivityResultContracts
|
import androidx.activity.result.contract.ActivityResultContracts
|
||||||
import androidx.compose.runtime.getValue
|
import androidx.appcompat.app.AppCompatActivity
|
||||||
import androidx.compose.runtime.mutableStateOf
|
import de.webidsolutions.auto_ident_on_server_product_plugin.AutoIdentOnServerProductPlugin
|
||||||
import androidx.compose.runtime.setValue
|
import de.webidsolutions.eid_on_server_product_plugin.EIdOnServerProductPlugin
|
||||||
import de.webidsolutions.android_ui_components.theming.v4.WebIdThemeProviderV4
|
|
||||||
import de.webidsolutions.android_ui_components.theming.v4.WebIdThemeV4
|
|
||||||
import de.webidsolutions.auto_ident_product_plugin.AutoIdProductPlugin
|
|
||||||
import de.webidsolutions.eid_product_plugin.EIdProductPlugin
|
|
||||||
import de.webidsolutions.meta_plugin.EMetaPluginFailReason
|
import de.webidsolutions.meta_plugin.EMetaPluginFailReason
|
||||||
import de.webidsolutions.meta_plugin.WebIdMetaPlugin
|
import de.webidsolutions.meta_plugin.WebIdMetaPlugin
|
||||||
import de.webidsolutions.metaplugindemo.scenes.MetaPluginDemoScene
|
|
||||||
import de.webidsolutions.metaplugindemo.scenes.ThemingChoice
|
|
||||||
import de.webidsolutions.metaplugindemo.scenes.UserConfiguration
|
|
||||||
import de.webidsolutions.metaplugindemo.tasks.EApiResult
|
import de.webidsolutions.metaplugindemo.tasks.EApiResult
|
||||||
import de.webidsolutions.metaplugindemo.tasks.MetaPluginVerifyTask
|
import de.webidsolutions.metaplugindemo.tasks.MetaPluginVerifyTask
|
||||||
import de.webidsolutions.mobile_app.sdk.WebIdMobileAppSdkException
|
import de.webidsolutions.mobile_app.sdk.WebIdMobileAppSdkException
|
||||||
import de.webidsolutions.mobile_app.sdk.WebIdSdkEnvironment
|
import de.webidsolutions.mobile_app.sdk.WebIdSdkEnvironment
|
||||||
import de.webidsolutions.mobile_app.sdk.domain.VerifyActionIdResult
|
import de.webidsolutions.mobile_app.sdk.domain.VerifyActionIdResult
|
||||||
import de.webidsolutions.mobile_app.sdk.impl.AsyncTaskResultGeneric
|
import de.webidsolutions.mobile_app.sdk.impl.AsyncTaskResultGeneric
|
||||||
import de.webidsolutions.pay_ident_product_plugin.AccountIdProductPlugin
|
import de.webidsolutions.pay_on_server_product_plugin.PayOnServerProductPlugin
|
||||||
import de.webidsolutions.plugin_core.EProductPluginErrors
|
import de.webidsolutions.plugin_core.EProductPluginErrors
|
||||||
import de.webidsolutions.plugin_core.IEPluginError
|
import de.webidsolutions.plugin_core.IEPluginError
|
||||||
import de.webidsolutions.plugin_core.IProductPluginWebId
|
import de.webidsolutions.plugin_core.IProductPluginWebId
|
||||||
@ -38,8 +32,8 @@ import de.webidsolutions.plugin_core.ProductPluginErrorResult
|
|||||||
import de.webidsolutions.plugin_core.ProductPluginResult
|
import de.webidsolutions.plugin_core.ProductPluginResult
|
||||||
import de.webidsolutions.plugin_core.WebIdPluginInterruptedException
|
import de.webidsolutions.plugin_core.WebIdPluginInterruptedException
|
||||||
import de.webidsolutions.video_ident.plugin.videocall.VideoOptionsConfig
|
import de.webidsolutions.video_ident.plugin.videocall.VideoOptionsConfig
|
||||||
import de.webidsolutions.video_ident_product_plugin.VideoIdProductFailReason
|
import de.webidsolutions.video_ident_product_plugin.EVideoIdentProductPluginFailReasons
|
||||||
import de.webidsolutions.video_ident_product_plugin.VideoIdProductPlugin
|
import de.webidsolutions.video_ident_product_plugin.VideoIdentProductPlugin
|
||||||
import java.lang.Integer.parseInt
|
import java.lang.Integer.parseInt
|
||||||
import java.net.URI
|
import java.net.URI
|
||||||
|
|
||||||
@ -60,34 +54,33 @@ private val chosenEnvironment: EWebIDEnv = EWebIDEnv.TEST
|
|||||||
/**
|
/**
|
||||||
* Demo App which starts the [MetaPlugin] and handles its result.
|
* Demo App which starts the [MetaPlugin] and handles its result.
|
||||||
*/
|
*/
|
||||||
internal class MainActivity : ComponentActivity
|
internal class MainActivity : AppCompatActivity() {
|
||||||
() {
|
|
||||||
|
|
||||||
private var result by mutableStateOf("")
|
|
||||||
|
|
||||||
|
private lateinit var eidOnServerPluginCb: CheckBox
|
||||||
|
private lateinit var payOnServerPluginCb: CheckBox
|
||||||
|
private lateinit var autoIdOnServerPluginCb: CheckBox
|
||||||
|
private lateinit var videoPluginCb: CheckBox
|
||||||
|
private lateinit var textLog: TextView
|
||||||
|
private lateinit var startButton: Button
|
||||||
|
|
||||||
// private lateinit var coreSdk: IWebIdMobileAppSdk
|
// private lateinit var coreSdk: IWebIdMobileAppSdk
|
||||||
|
|
||||||
override fun onCreate(savedInstanceState: Bundle?) {
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
setContent {
|
setContentView(R.layout.activity_main)
|
||||||
WebIdThemeProviderV4(
|
|
||||||
theme = WebIdThemeV4.makeLightTheme {},
|
|
||||||
darkTheme = WebIdThemeV4.makeDarkTheme {}
|
|
||||||
){
|
|
||||||
MetaPluginDemoScene(
|
|
||||||
result = result,
|
|
||||||
onStartClicked = { userConfiguration ->
|
|
||||||
clearResult()
|
|
||||||
showResult(getString(R.string.starting))
|
|
||||||
createCoreSdk(
|
|
||||||
userConfiguration = userConfiguration
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
)
|
textLog = findViewById(R.id.log)
|
||||||
|
|
||||||
}
|
autoIdOnServerPluginCb = findViewById(R.id.cb_plugin_auto_id_on_server)
|
||||||
|
payOnServerPluginCb = findViewById(R.id.cb_plugin_pay_on_server)
|
||||||
|
eidOnServerPluginCb = findViewById(R.id.cb_plugin_eid_on_server)
|
||||||
|
videoPluginCb = findViewById(R.id.cb_plugin_video)
|
||||||
|
|
||||||
|
startButton = findViewById(R.id.startButton)
|
||||||
|
startButton.setOnClickListener {
|
||||||
|
clearLog()
|
||||||
|
writeLog(getString(R.string.starting))
|
||||||
|
createCoreSdk()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -96,10 +89,8 @@ internal class MainActivity : ComponentActivity
|
|||||||
/**
|
/**
|
||||||
* Creates the Core SDK from the existing credentials.
|
* Creates the Core SDK from the existing credentials.
|
||||||
*/
|
*/
|
||||||
private fun createCoreSdk(
|
private fun createCoreSdk() {
|
||||||
userConfiguration: UserConfiguration
|
writeLog(getString(R.string.creating_core_sdk))
|
||||||
) {
|
|
||||||
showResult(getString(R.string.creating_core_sdk))
|
|
||||||
|
|
||||||
// should be provided to you -> currently just using demo credentials
|
// should be provided to you -> currently just using demo credentials
|
||||||
val selectedUri: URI = chosenEnvironment.uri
|
val selectedUri: URI = chosenEnvironment.uri
|
||||||
@ -112,15 +103,10 @@ internal class MainActivity : ComponentActivity
|
|||||||
*chosenEnvironment.shaPins
|
*chosenEnvironment.shaPins
|
||||||
)
|
)
|
||||||
|
|
||||||
showResult(getString(R.string.core_sdk_creation_successful))
|
writeLog(getString(R.string.core_sdk_creation_successful))
|
||||||
validateActionId()
|
validateActionId()
|
||||||
|
|
||||||
val selectProductPlugins = getSelectedPlugins(
|
val selectProductPlugins = getSelectedPlugins()
|
||||||
useAutoIdent = userConfiguration.useAutoIdent,
|
|
||||||
usePayOnServer = userConfiguration.useAcountId,
|
|
||||||
useEidOnServer = userConfiguration.useEId,
|
|
||||||
useVideoIdent = userConfiguration.useVideoIdent
|
|
||||||
)
|
|
||||||
|
|
||||||
val metaPlugin = WebIdMetaPlugin(
|
val metaPlugin = WebIdMetaPlugin(
|
||||||
environment,
|
environment,
|
||||||
@ -130,12 +116,7 @@ internal class MainActivity : ComponentActivity
|
|||||||
selectProductPlugins
|
selectProductPlugins
|
||||||
)
|
)
|
||||||
MetaPluginVerifyTask(metaPlugin)
|
MetaPluginVerifyTask(metaPlugin)
|
||||||
.setOnPostExecuteCallback(
|
.setOnPostExecuteCallback(metaPluginVerifyCallback(metaPlugin))
|
||||||
metaPluginVerifyCallback(
|
|
||||||
metaPlugin = metaPlugin,
|
|
||||||
themingChoice = userConfiguration.themingChoice
|
|
||||||
)
|
|
||||||
)
|
|
||||||
.execute(actionId)
|
.execute(actionId)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -143,7 +124,7 @@ internal class MainActivity : ComponentActivity
|
|||||||
* Validates the WebID actionID
|
* Validates the WebID actionID
|
||||||
*/
|
*/
|
||||||
private fun validateActionId() {
|
private fun validateActionId() {
|
||||||
showResult(getString(R.string.validate_action_id))
|
writeLog(getString(R.string.validate_action_id))
|
||||||
|
|
||||||
try {
|
try {
|
||||||
parseInt(actionId)
|
parseInt(actionId)
|
||||||
@ -151,7 +132,7 @@ internal class MainActivity : ComponentActivity
|
|||||||
throw NumberFormatException()
|
throw NumberFormatException()
|
||||||
}
|
}
|
||||||
} catch (e: NumberFormatException) {
|
} catch (e: NumberFormatException) {
|
||||||
showResult(getString(R.string.action_id_not_valid))
|
writeLog(getString(R.string.action_id_not_valid))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -161,55 +142,35 @@ internal class MainActivity : ComponentActivity
|
|||||||
this::onPluginResultCallback
|
this::onPluginResultCallback
|
||||||
)
|
)
|
||||||
|
|
||||||
private fun getSelectedPlugins(
|
private fun getSelectedPlugins(): ArrayList<IProductPluginWebId> {
|
||||||
useAutoIdent: Boolean,
|
|
||||||
usePayOnServer: Boolean,
|
|
||||||
useEidOnServer: Boolean,
|
|
||||||
useVideoIdent: Boolean
|
|
||||||
): ArrayList<IProductPluginWebId> {
|
|
||||||
return ArrayList(
|
return ArrayList(
|
||||||
listOfNotNull(
|
listOfNotNull(
|
||||||
if (useAutoIdent) AutoIdProductPlugin() else null,
|
if (autoIdOnServerPluginCb.isChecked) AutoIdentOnServerProductPlugin() else null,
|
||||||
if (usePayOnServer) AccountIdProductPlugin() else null,
|
if (payOnServerPluginCb.isChecked) PayOnServerProductPlugin() else null,
|
||||||
if (useEidOnServer) EIdProductPlugin() else null,
|
if (eidOnServerPluginCb.isChecked) EIdOnServerProductPlugin() else null,
|
||||||
if (useVideoIdent) VideoIdProductPlugin(config) else null,
|
if (videoPluginCb.isChecked) VideoIdentProductPlugin(config) else null,
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun metaPluginVerifyCallback(
|
private fun metaPluginVerifyCallback(metaPlugin: WebIdMetaPlugin): (AsyncTaskResultGeneric<VerifyActionIdResult?, EApiResult>) -> Unit {
|
||||||
metaPlugin: WebIdMetaPlugin,
|
|
||||||
themingChoice: ThemingChoice
|
|
||||||
): (AsyncTaskResultGeneric<VerifyActionIdResult?, EApiResult>) -> Unit {
|
|
||||||
|
|
||||||
return { result ->
|
return { result ->
|
||||||
if (result.errorResult == EApiResult.SUCCESS) {
|
if (result.errorResult == EApiResult.SUCCESS) {
|
||||||
|
writeLog(getString(R.string.verification_successful))
|
||||||
|
var verifyActionIdResult = result.result
|
||||||
try {
|
try {
|
||||||
when (themingChoice) {
|
|
||||||
ThemingChoice.XML -> {
|
|
||||||
metaPlugin.startPlugin(
|
metaPlugin.startPlugin(
|
||||||
this,
|
this,
|
||||||
activityResultLauncher,
|
activityResultLauncher,
|
||||||
true
|
R.style.CustomizedPluginTheme,
|
||||||
)
|
)
|
||||||
}
|
|
||||||
|
|
||||||
ThemingChoice.COMPOSE -> {
|
|
||||||
metaPlugin.startPlugin(
|
|
||||||
this,
|
|
||||||
activityResultLauncher,
|
|
||||||
null,
|
|
||||||
null
|
|
||||||
)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} catch (e: WebIdMobileAppSdkException) {
|
} catch (e: WebIdMobileAppSdkException) {
|
||||||
e.printStackTrace()
|
e.printStackTrace()
|
||||||
showResult(getString(R.string.start_failed) + e.message.toString())
|
writeLog(getString(R.string.start_failed) + e.message.toString())
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
val metaPluginVerifyError = result.errorResult
|
val metaPluginVerifyError = result.errorResult
|
||||||
showResult(getString(R.string.verification_failed) + metaPluginVerifyError.toString())
|
writeLog(getString(R.string.verification_failed) + metaPluginVerifyError.toString())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -229,16 +190,15 @@ internal class MainActivity : ComponentActivity
|
|||||||
val failReason: ProductPluginErrorResult<*>? = pluginResult.error
|
val failReason: ProductPluginErrorResult<*>? = pluginResult.error
|
||||||
// Successful plugin execution
|
// Successful plugin execution
|
||||||
if (failReason == null) {
|
if (failReason == null) {
|
||||||
showResult(getString(R.string.product_journey_finished_successfully) + "\n")
|
writeLog(getString(R.string.product_journey_finished_successfully) + "\n")
|
||||||
result = getString(R.string.success)
|
result = getString(R.string.success)
|
||||||
if (resultInfo != null) {
|
if (resultInfo != null) {
|
||||||
result += " $resultInfo"
|
result += " $resultInfo"
|
||||||
// your code to handle the successful plugin execution
|
// your code to handle the successful plugin execution
|
||||||
}
|
}
|
||||||
showResult(result)
|
|
||||||
} else {
|
} else {
|
||||||
// failure case
|
// failure case
|
||||||
showResult(getString(R.string.product_journey_finished_with_failure))
|
writeLog(getString(R.string.product_journey_finished_with_failure))
|
||||||
if (failReason.specificResult != null) {
|
if (failReason.specificResult != null) {
|
||||||
val specificResult: IEPluginError? =
|
val specificResult: IEPluginError? =
|
||||||
failReason.specificResult as IEPluginError?
|
failReason.specificResult as IEPluginError?
|
||||||
@ -246,54 +206,49 @@ internal class MainActivity : ComponentActivity
|
|||||||
if (specificResult is EMetaPluginFailReason) {
|
if (specificResult is EMetaPluginFailReason) {
|
||||||
if (specificResult == EMetaPluginFailReason.EID_PENDING_AUTHADA) {
|
if (specificResult == EMetaPluginFailReason.EID_PENDING_AUTHADA) {
|
||||||
// handle EID_PENDING_AUTHADA as described in code documentation
|
// handle EID_PENDING_AUTHADA as described in code documentation
|
||||||
showResult("EID_PENDING_AUTHADA")
|
|
||||||
} else {
|
} else {
|
||||||
// handle all other EMetaPluginFailReason as described in code documentation
|
// handle all other EMetaPluginFailReason as described in code documentation
|
||||||
showResult("MetaPluginFailReason: $specificResult")
|
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// handle EVideoIdentProductPluginFailReasons
|
// handle EVideoIdentProductPluginFailReasons
|
||||||
if (specificResult is VideoIdProductFailReason) {
|
if (specificResult is EVideoIdentProductPluginFailReasons) {
|
||||||
if (specificResult == VideoIdProductFailReason.CALL_CENTER_CLOSED) {
|
if (specificResult == EVideoIdentProductPluginFailReasons.CALL_CENTER_CLOSED) {
|
||||||
// handle CALL_CENTER_CLOSED as described in code documentation
|
// handle CALL_CENTER_CLOSED as described in code documentation
|
||||||
showResult("CALL_CENTER_CLOSED")
|
|
||||||
} else {
|
} else {
|
||||||
// handle all other EVideoIdentProductPluginFailReasons errors as described in the code documentation
|
// handle all other EVideoIdentProductPluginFailReasons errors as described in the code documentation
|
||||||
showResult("VideoIdentFailReason: $specificResult")
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (failReason.genericResult == EProductPluginErrors.UNKNOWN) {
|
if (failReason.genericResult == EProductPluginErrors.UNKNOWN) {
|
||||||
// handle UNKNOWN as described in code documentation
|
// handle UNKNOWN as described in code documentation
|
||||||
showResult("Unknown Error")
|
|
||||||
} else {
|
} else {
|
||||||
// handle all other EProductPluginErrors errors as described in the code documentation
|
// handle all other EProductPluginErrors errors as described in the code documentation
|
||||||
showResult("Error: ${failReason.genericResult}")
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} catch (e: WebIdPluginInterruptedException) {
|
} catch (e: WebIdPluginInterruptedException) {
|
||||||
// Handle interruption in your preferred way
|
// Handle interruption in your preferred way
|
||||||
showResult("Plugin interrupted: ${e.message}")
|
writeLog(getString(R.string.product_journey_finished_with_failure) + "\n" + e.toString())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* MISC */
|
/* MISC */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Add an entry to the result.
|
* Add an entry to the log.
|
||||||
|
*
|
||||||
|
* @param
|
||||||
*/
|
*/
|
||||||
@SuppressLint("SetTextI18n")
|
@SuppressLint("SetTextI18n")
|
||||||
private fun showResult(entry: String) {
|
private fun writeLog(entry: String) {
|
||||||
result += "$entry\n"
|
textLog.text = "${textLog.text} $entry\n"
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Resets the text result of this activity.
|
* Resets the text log of this activity.
|
||||||
*/
|
*/
|
||||||
private fun clearResult() {
|
private fun clearLog() {
|
||||||
result = ""
|
textLog.text = ""
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -1,217 +0,0 @@
|
|||||||
/*
|
|
||||||
* Created by WebID Solutions GmbH | www.webid-solutions.de.
|
|
||||||
* See the file "LICENSE" for the full license governing this code.
|
|
||||||
*/
|
|
||||||
package de.webidsolutions.metaplugindemo.scenes
|
|
||||||
|
|
||||||
import androidx.compose.foundation.layout.Box
|
|
||||||
import androidx.compose.foundation.layout.Column
|
|
||||||
import androidx.compose.foundation.layout.fillMaxSize
|
|
||||||
import androidx.compose.foundation.layout.fillMaxWidth
|
|
||||||
import androidx.compose.foundation.layout.padding
|
|
||||||
import androidx.compose.foundation.layout.systemBarsPadding
|
|
||||||
import androidx.compose.foundation.lazy.LazyColumn
|
|
||||||
import androidx.compose.runtime.Composable
|
|
||||||
import androidx.compose.runtime.getValue
|
|
||||||
import androidx.compose.runtime.mutableStateOf
|
|
||||||
import androidx.compose.runtime.remember
|
|
||||||
import androidx.compose.runtime.setValue
|
|
||||||
import androidx.compose.ui.Modifier
|
|
||||||
import androidx.compose.ui.res.stringResource
|
|
||||||
import androidx.compose.ui.tooling.preview.Preview
|
|
||||||
import androidx.compose.ui.unit.dp
|
|
||||||
import de.webidsolutions.android_ui_components.theming.v4.SpacingV4
|
|
||||||
import de.webidsolutions.android_ui_components.theming.v4.WebIdThemeProviderV4
|
|
||||||
import de.webidsolutions.android_ui_components.theming.v4.components.checkbox.CheckboxTyp
|
|
||||||
import de.webidsolutions.android_ui_components.theming.v4.components.checkbox.CheckboxV4
|
|
||||||
import de.webidsolutions.android_ui_components.theming.v4.components.primary_button.PrimaryButtonV4
|
|
||||||
import de.webidsolutions.android_ui_components.theming.v4.components.text.TextV4
|
|
||||||
import de.webidsolutions.metaplugindemo.R
|
|
||||||
|
|
||||||
@Composable
|
|
||||||
fun MetaPluginDemoScene(
|
|
||||||
result: String,
|
|
||||||
onStartClicked: (
|
|
||||||
UserConfiguration
|
|
||||||
) -> Unit
|
|
||||||
) {
|
|
||||||
var useAutoIdent by remember { mutableStateOf(false) }
|
|
||||||
var usePayOnServer by remember { mutableStateOf(false) }
|
|
||||||
var useEidOnServer by remember { mutableStateOf(false) }
|
|
||||||
var useVideoIdent by remember { mutableStateOf(false) }
|
|
||||||
var useXmlTheming by remember { mutableStateOf(ThemingChoice.COMPOSE) }
|
|
||||||
|
|
||||||
Column(
|
|
||||||
modifier = Modifier
|
|
||||||
.fillMaxSize()
|
|
||||||
.systemBarsPadding()
|
|
||||||
.padding(top = SpacingV4.N.size)
|
|
||||||
) {
|
|
||||||
LazyColumn(
|
|
||||||
modifier = Modifier
|
|
||||||
.weight(1f)
|
|
||||||
.padding(
|
|
||||||
start = SpacingV4.S.size,
|
|
||||||
top = SpacingV4.N.size,
|
|
||||||
end = SpacingV4.N.size
|
|
||||||
)
|
|
||||||
) {
|
|
||||||
item {
|
|
||||||
TextV4(
|
|
||||||
text = stringResource(R.string.choose_plugins),
|
|
||||||
)
|
|
||||||
|
|
||||||
SpacingV4.S.VSpacer()
|
|
||||||
|
|
||||||
CheckboxWithLabel(
|
|
||||||
checked = useAutoIdent,
|
|
||||||
onCheckedChange = { useAutoIdent = it },
|
|
||||||
label = stringResource(R.string.autoid)
|
|
||||||
)
|
|
||||||
|
|
||||||
CheckboxWithLabel(
|
|
||||||
checked = usePayOnServer,
|
|
||||||
onCheckedChange = { usePayOnServer = it },
|
|
||||||
label = stringResource(R.string.accountid)
|
|
||||||
)
|
|
||||||
|
|
||||||
CheckboxWithLabel(
|
|
||||||
checked = useEidOnServer,
|
|
||||||
onCheckedChange = { useEidOnServer = it },
|
|
||||||
label = stringResource(R.string.eid)
|
|
||||||
)
|
|
||||||
|
|
||||||
CheckboxWithLabel(
|
|
||||||
checked = useVideoIdent,
|
|
||||||
onCheckedChange = { useVideoIdent = it },
|
|
||||||
label = stringResource(R.string.videoid)
|
|
||||||
)
|
|
||||||
|
|
||||||
SpacingV4.L.VSpacer()
|
|
||||||
|
|
||||||
TextV4(
|
|
||||||
text = stringResource(R.string.choose_theming),
|
|
||||||
)
|
|
||||||
|
|
||||||
SpacingV4.S.VSpacer()
|
|
||||||
|
|
||||||
CheckboxWithLabel(
|
|
||||||
checked = useXmlTheming == ThemingChoice.COMPOSE,
|
|
||||||
onCheckedChange = { isChecked ->
|
|
||||||
if (isChecked) {
|
|
||||||
useXmlTheming = ThemingChoice.COMPOSE
|
|
||||||
}
|
|
||||||
},
|
|
||||||
label = stringResource(R.string.choose_theming_compose)
|
|
||||||
)
|
|
||||||
|
|
||||||
CheckboxWithLabel(
|
|
||||||
checked = useXmlTheming == ThemingChoice.XML,
|
|
||||||
onCheckedChange = { isChecked ->
|
|
||||||
if (isChecked) {
|
|
||||||
useXmlTheming = ThemingChoice.XML
|
|
||||||
}
|
|
||||||
},
|
|
||||||
label = stringResource(R.string.choose_theming_xml)
|
|
||||||
)
|
|
||||||
|
|
||||||
SpacingV4.L.VSpacer()
|
|
||||||
|
|
||||||
TextV4(
|
|
||||||
text = stringResource(R.string.log_headline),
|
|
||||||
)
|
|
||||||
|
|
||||||
SpacingV4.S.VSpacer()
|
|
||||||
|
|
||||||
ResultView(result = result.split("\n"))
|
|
||||||
|
|
||||||
SpacingV4.M.VSpacer()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Box(
|
|
||||||
modifier = Modifier
|
|
||||||
.fillMaxWidth()
|
|
||||||
.padding(
|
|
||||||
start = SpacingV4.S.size,
|
|
||||||
end = SpacingV4.N.size,
|
|
||||||
bottom = SpacingV4.S.size
|
|
||||||
)
|
|
||||||
) {
|
|
||||||
PrimaryButtonV4(
|
|
||||||
onClick = {
|
|
||||||
onStartClicked(
|
|
||||||
UserConfiguration(
|
|
||||||
useAutoIdent = useAutoIdent,
|
|
||||||
useAcountId = usePayOnServer,
|
|
||||||
useEId = useEidOnServer,
|
|
||||||
useVideoIdent = useVideoIdent,
|
|
||||||
themingChoice = useXmlTheming
|
|
||||||
)
|
|
||||||
)
|
|
||||||
},
|
|
||||||
title = stringResource(R.string.start_button),
|
|
||||||
)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Composable
|
|
||||||
fun ResultView(
|
|
||||||
result: List<String>,
|
|
||||||
modifier: Modifier = Modifier
|
|
||||||
) {
|
|
||||||
if (result.isNotEmpty()) {
|
|
||||||
Column(
|
|
||||||
modifier = modifier
|
|
||||||
.fillMaxWidth()
|
|
||||||
.padding(16.dp)
|
|
||||||
) {
|
|
||||||
result.forEach { result ->
|
|
||||||
TextV4(
|
|
||||||
text = result,
|
|
||||||
modifier = Modifier.padding(vertical = 4.dp)
|
|
||||||
)
|
|
||||||
}
|
|
||||||
SpacingV4.S.VSpacer()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Composable
|
|
||||||
private fun CheckboxWithLabel(
|
|
||||||
checked: Boolean,
|
|
||||||
onCheckedChange: (Boolean) -> Unit,
|
|
||||||
label: String
|
|
||||||
) {
|
|
||||||
CheckboxV4(
|
|
||||||
checked = checked,
|
|
||||||
isRequired = false,
|
|
||||||
onCheckedChange = onCheckedChange,
|
|
||||||
text = label,
|
|
||||||
textTyp = CheckboxTyp.Label,
|
|
||||||
modifier = Modifier.padding(start = SpacingV4.N.size)
|
|
||||||
)
|
|
||||||
|
|
||||||
SpacingV4.XXS.VSpacer()
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@Preview(
|
|
||||||
name = "MetaPluginDemoScreen - Long Log",
|
|
||||||
showBackground = true,
|
|
||||||
showSystemUi = true
|
|
||||||
)
|
|
||||||
@Composable
|
|
||||||
private fun MetaPluginDemoSceneLongLogPreview() {
|
|
||||||
WebIdThemeProviderV4 {
|
|
||||||
MetaPluginDemoScene(
|
|
||||||
result = buildString {
|
|
||||||
appendLine("Log entry: Processing...")
|
|
||||||
|
|
||||||
},
|
|
||||||
onStartClicked = {}
|
|
||||||
)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@ -1,10 +0,0 @@
|
|||||||
/*
|
|
||||||
* Created by WebID Solutions GmbH | www.webid-solutions.de.
|
|
||||||
* See the file "LICENSE" for the full license governing this code.
|
|
||||||
*/
|
|
||||||
package de.webidsolutions.metaplugindemo.scenes
|
|
||||||
|
|
||||||
enum class ThemingChoice() {
|
|
||||||
COMPOSE,
|
|
||||||
XML
|
|
||||||
}
|
|
||||||
@ -1,13 +0,0 @@
|
|||||||
/*
|
|
||||||
* Created by WebID Solutions GmbH | www.webid-solutions.de.
|
|
||||||
* See the file "LICENSE" for the full license governing this code.
|
|
||||||
*/
|
|
||||||
package de.webidsolutions.metaplugindemo.scenes
|
|
||||||
|
|
||||||
data class UserConfiguration(
|
|
||||||
val useAutoIdent: Boolean,
|
|
||||||
val useAcountId: Boolean,
|
|
||||||
val useEId: Boolean,
|
|
||||||
val useVideoIdent: Boolean,
|
|
||||||
val themingChoice: ThemingChoice
|
|
||||||
)
|
|
||||||
@ -55,41 +55,6 @@
|
|||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toBottomOf="@+id/cb_plugin_eid_on_server" />
|
app:layout_constraintTop_toBottomOf="@+id/cb_plugin_eid_on_server" />
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/tv_theming_header"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_marginStart="30dp"
|
|
||||||
android:layout_marginTop="20dp"
|
|
||||||
android:text="@string/choose_theming"
|
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
|
||||||
app:layout_constraintTop_toBottomOf="@id/cb_plugin_video" />
|
|
||||||
|
|
||||||
<RadioGroup
|
|
||||||
android:id="@+id/themeChoiceGroup"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:orientation="horizontal"
|
|
||||||
android:layout_marginStart="30dp"
|
|
||||||
android:layout_marginTop="10dp"
|
|
||||||
app:layout_constraintTop_toBottomOf="@id/tv_theming_header"
|
|
||||||
app:layout_constraintStart_toStartOf="parent">
|
|
||||||
|
|
||||||
<RadioButton
|
|
||||||
android:id="@+id/rb_code_theming"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:text="Code-Theming"
|
|
||||||
android:checked="true" />
|
|
||||||
|
|
||||||
<RadioButton
|
|
||||||
android:id="@+id/rb_xml_theming"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:text="XML-Theming"
|
|
||||||
android:layout_marginStart="24dp" />
|
|
||||||
</RadioGroup>
|
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/logHeadline"
|
android:id="@+id/logHeadline"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
@ -99,7 +64,7 @@
|
|||||||
android:text="@string/log_headline"
|
android:text="@string/log_headline"
|
||||||
android:textSize="20sp"
|
android:textSize="20sp"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toBottomOf="@+id/themeChoiceGroup" />
|
app:layout_constraintTop_toBottomOf="@+id/cb_plugin_video" />
|
||||||
|
|
||||||
<ScrollView
|
<ScrollView
|
||||||
android:id="@+id/scrollViewLog"
|
android:id="@+id/scrollViewLog"
|
||||||
|
|||||||
@ -9,9 +9,6 @@
|
|||||||
<string name="core_sdk_creation_successful">Core SDK erfolgreich erstellt</string>
|
<string name="core_sdk_creation_successful">Core SDK erfolgreich erstellt</string>
|
||||||
<string name="validate_action_id">Validiere Vorgangsnummer…</string>
|
<string name="validate_action_id">Validiere Vorgangsnummer…</string>
|
||||||
<string name="action_id_not_valid">Fehler: Die Vorgangsnummer (Action-ID) wurde in der Datei „MainActivity.kt“ nicht auf eine 9-stellige Zahlenfolge gesetzt.</string>
|
<string name="action_id_not_valid">Fehler: Die Vorgangsnummer (Action-ID) wurde in der Datei „MainActivity.kt“ nicht auf eine 9-stellige Zahlenfolge gesetzt.</string>
|
||||||
<string name="choose_theming">Theme auswählen:</string>
|
|
||||||
<string name="choose_theming_compose">Theme mit Compose</string>
|
|
||||||
<string name="choose_theming_xml">Theme mit XML</string>
|
|
||||||
<string name="verification_successful">Überprüfung erfolgreich</string>
|
<string name="verification_successful">Überprüfung erfolgreich</string>
|
||||||
<string name="verification_failed">Überprüfung fehlgeschlagen:</string>
|
<string name="verification_failed">Überprüfung fehlgeschlagen:</string>
|
||||||
<string name="start_failed">Start fehlgeschlagen:\n</string>
|
<string name="start_failed">Start fehlgeschlagen:\n</string>
|
||||||
|
|||||||
@ -9,9 +9,6 @@
|
|||||||
<string name="core_sdk_creation_successful">Core SDK creado correctamente</string>
|
<string name="core_sdk_creation_successful">Core SDK creado correctamente</string>
|
||||||
<string name="validate_action_id">Validar número de operación…</string>
|
<string name="validate_action_id">Validar número de operación…</string>
|
||||||
<string name="action_id_not_valid">Error: El número de operación («action-ID») no se ha establecido en una secuencia numérica de 9 dígitos en el archivo «MainActivity.kt».</string>
|
<string name="action_id_not_valid">Error: El número de operación («action-ID») no se ha establecido en una secuencia numérica de 9 dígitos en el archivo «MainActivity.kt».</string>
|
||||||
<string name="choose_theming">Elige un tema</string>
|
|
||||||
<string name="choose_theming_compose">Theming with Compose</string>
|
|
||||||
<string name="choose_theming_xml">Theming with XML</string>
|
|
||||||
<string name="verification_successful">Verificación correcta</string>
|
<string name="verification_successful">Verificación correcta</string>
|
||||||
<string name="verification_failed">Verificación fallida:</string>
|
<string name="verification_failed">Verificación fallida:</string>
|
||||||
<string name="start_failed">Inicio fallido:\n</string>
|
<string name="start_failed">Inicio fallido:\n</string>
|
||||||
|
|||||||
@ -9,9 +9,6 @@
|
|||||||
<string name="core_sdk_creation_successful">Core SDK créé avec succès</string>
|
<string name="core_sdk_creation_successful">Core SDK créé avec succès</string>
|
||||||
<string name="validate_action_id">Valider le numéro d\'opération…</string>
|
<string name="validate_action_id">Valider le numéro d\'opération…</string>
|
||||||
<string name="action_id_not_valid">Erreur : le numéro d\'opération (ActionID) n\'a pas été défini sur une séquence de 9 chiffres dans le fichier « MainActivity.kt ».</string>
|
<string name="action_id_not_valid">Erreur : le numéro d\'opération (ActionID) n\'a pas été défini sur une séquence de 9 chiffres dans le fichier « MainActivity.kt ».</string>
|
||||||
<string name="choose_theming">Choisir le thème</string>
|
|
||||||
<string name="choose_theming_compose">Theming with Compose</string>
|
|
||||||
<string name="choose_theming_xml">Theming with XML</string>
|
|
||||||
<string name="verification_successful">Vérification réussie</string>
|
<string name="verification_successful">Vérification réussie</string>
|
||||||
<string name="verification_failed">Échec de la vérification :</string>
|
<string name="verification_failed">Échec de la vérification :</string>
|
||||||
<string name="start_failed">Échec du démarrage :\n</string>
|
<string name="start_failed">Échec du démarrage :\n</string>
|
||||||
|
|||||||
@ -9,13 +9,10 @@
|
|||||||
<string name="core_sdk_creation_successful">Core SDK creato con successo</string>
|
<string name="core_sdk_creation_successful">Core SDK creato con successo</string>
|
||||||
<string name="validate_action_id">Convalida numero operazione…</string>
|
<string name="validate_action_id">Convalida numero operazione…</string>
|
||||||
<string name="action_id_not_valid">Errore: il numero dell\'operazione (ActionID) non è stato impostato su una sequenza di 9 cifre nel file “MainActivity.kt”.</string>
|
<string name="action_id_not_valid">Errore: il numero dell\'operazione (ActionID) non è stato impostato su una sequenza di 9 cifre nel file “MainActivity.kt”.</string>
|
||||||
<string name="choose_theming">Scegli il tema</string>
|
|
||||||
<string name="choose_theming_compose">Theming with Compose</string>
|
|
||||||
<string name="choose_theming_xml">Theming with XML</string>
|
|
||||||
<string name="verification_successful">Verifica riuscita</string>
|
<string name="verification_successful">Verifica riuscita</string>
|
||||||
<string name="verification_failed">Verifica non riuscita:</string>
|
<string name="verification_failed">Verifica non riuscita:</string>
|
||||||
<string name="start_failed">Avvio non riuscito:\n</string>
|
<string name="start_failed">Avvio non riuscito:\n</string>
|
||||||
<string name="product_journey_finished_successfully">La Product Journey è stata completata con successo</string>
|
<string name="product_journey_finished_successfully">La Product Journey è stata completata con successo</string>
|
||||||
<string name="product_journey_finished_with_failure">La Product Journey si è conclusa con un errore:</string>
|
<string name="product_journey_finished_with_failure">La Product Journey si è conclusa con un errore:</string>
|
||||||
<string name="success">"Successo: "</string>+
|
<string name="success">"Successo: "</string>
|
||||||
</resources>
|
</resources>
|
||||||
@ -1,20 +1,13 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<resources xmlns:tools="http://schemas.android.com/tools">
|
||||||
<resources>
|
<!-- Base application theme. -->
|
||||||
|
<style name="Theme.MetaPluginDemo" parent="Theme.AppCompat.DayNight.DarkActionBar">
|
||||||
|
<!-- Primary brand color. -->
|
||||||
|
<item name="colorPrimary">#05b1fb</item>
|
||||||
|
</style>
|
||||||
|
|
||||||
<style name="WebId.PluginTheme" parent="Theme.AppCompat.Light.NoActionBar">
|
<style name="CustomizedPluginTheme" parent="WebId.PluginTheme.Dark">
|
||||||
|
<!--
|
||||||
<item name="actionPrimary">#FFD32D1F</item>
|
Implement your customized style attributes here for standard and/or light theme.
|
||||||
<item name="actionPrimaryPressed">#FF8A1E15</item>
|
-->
|
||||||
<item name="actionPrimaryHover">#FFE57373</item>
|
|
||||||
<item name="actionPrimaryInvert">#FF000000</item>
|
|
||||||
<item name="actionDisabled">#FF666666</item>
|
|
||||||
|
|
||||||
<item name="brandPrimary">#FFD32D1F</item>
|
|
||||||
<item name="brandSecondary">#FF8A1E15</item>
|
|
||||||
|
|
||||||
<item name="backgroundPrimary">#FF121212</item>
|
|
||||||
<item name="backgroundSecondary">#FF1E1E1E</item>
|
|
||||||
<item name="android:fontFamily">monospace</item>
|
|
||||||
<item name="primaryButtonCornerRadius">@dimen/webid_button_corner_radius</item>
|
|
||||||
</style>
|
</style>
|
||||||
</resources>
|
</resources>
|
||||||
@ -9,14 +9,10 @@
|
|||||||
<string name="core_sdk_creation_successful">Core SDK succesvol aangemaakt</string>
|
<string name="core_sdk_creation_successful">Core SDK succesvol aangemaakt</string>
|
||||||
<string name="validate_action_id">Valideer transactienummer…</string>
|
<string name="validate_action_id">Valideer transactienummer…</string>
|
||||||
<string name="action_id_not_valid">Fout: het actienummer (ActionID) is in het bestand “MainActivity.kt” niet ingesteld op een reeks van 9 cijfers.</string>
|
<string name="action_id_not_valid">Fout: het actienummer (ActionID) is in het bestand “MainActivity.kt” niet ingesteld op een reeks van 9 cijfers.</string>
|
||||||
<string name="choose_theming">Thema kiezen</string>
|
|
||||||
<string name="choose_theming_compose">Theming with Compose</string>
|
|
||||||
<string name="choose_theming_xml">Theming with XML</string>
|
|
||||||
<string name="verification_successful">Verificatie geslaagd</string>
|
<string name="verification_successful">Verificatie geslaagd</string>
|
||||||
<string name="verification_failed">Verificatie mislukt:</string>
|
<string name="verification_failed">Verificatie mislukt:</string>
|
||||||
<string name="start_failed">Start mislukt:\n</string>
|
<string name="start_failed">Start mislukt:\n</string>
|
||||||
<string name="product_journey_finished_successfully">De Product Journey is met succes voltooid</string>
|
<string name="product_journey_finished_successfully">De Product Journey is met succes voltooid</string>
|
||||||
<string name="product_journey_finished_with_failure">De Product Journey is met een fout beëindigd:</string>
|
<string name="product_journey_finished_with_failure">De Product Journey is met een fout beëindigd:</string>
|
||||||
<string name="success">"Success: "</string>
|
<string name="success">"Success: "</string>
|
||||||
|
|
||||||
</resources>
|
</resources>
|
||||||
@ -9,14 +9,10 @@
|
|||||||
<string name="core_sdk_creation_successful">Core SDK utworzony pomyślnie</string>
|
<string name="core_sdk_creation_successful">Core SDK utworzony pomyślnie</string>
|
||||||
<string name="validate_action_id">Zatwierdź numer operacji…</string>
|
<string name="validate_action_id">Zatwierdź numer operacji…</string>
|
||||||
<string name="action_id_not_valid">Błąd: Numer operacji (Action-ID) nie został ustawiony na 9-cyfrową sekwencję cyfr w pliku „MainActivity.kt”.</string>
|
<string name="action_id_not_valid">Błąd: Numer operacji (Action-ID) nie został ustawiony na 9-cyfrową sekwencję cyfr w pliku „MainActivity.kt”.</string>
|
||||||
<string name="choose_theming">Wybierz motyw</string>
|
|
||||||
<string name="choose_theming_compose">Theming with Compose</string>
|
|
||||||
<string name="choose_theming_xml">Theming with XML</string>
|
|
||||||
<string name="verification_successful">Weryfikacja zakończona sukcesem</string>
|
<string name="verification_successful">Weryfikacja zakończona sukcesem</string>
|
||||||
<string name="verification_failed">Weryfikacja nie powiodła się:</string>
|
<string name="verification_failed">Weryfikacja nie powiodła się:</string>
|
||||||
<string name="start_failed">Uruchomienie nie powiodło się:\n</string>
|
<string name="start_failed">Uruchomienie nie powiodło się:\n</string>
|
||||||
<string name="product_journey_finished_successfully">Product Journey została pomyślnie zakończona</string>
|
<string name="product_journey_finished_successfully">Product Journey została pomyślnie zakończona</string>
|
||||||
<string name="product_journey_finished_with_failure">Product Journey zakończyła się błędem:</string>
|
<string name="product_journey_finished_with_failure">Product Journey zakończyła się błędem:</string>
|
||||||
<string name="success">"Sukces: "</string>
|
<string name="success">"Sukces: "</string>
|
||||||
|
|
||||||
</resources>
|
</resources>
|
||||||
@ -9,9 +9,6 @@
|
|||||||
<string name="core_sdk_creation_successful">Core SDK creat cu succes</string>
|
<string name="core_sdk_creation_successful">Core SDK creat cu succes</string>
|
||||||
<string name="validate_action_id">Validați numărul operațiunii…</string>
|
<string name="validate_action_id">Validați numărul operațiunii…</string>
|
||||||
<string name="action_id_not_valid">Eroare: Numărul operațiunii („Action-ID”) nu a fost setat la o secvență de 9 cifre în fișierul „MainActivity.kt”.</string>
|
<string name="action_id_not_valid">Eroare: Numărul operațiunii („Action-ID”) nu a fost setat la o secvență de 9 cifre în fișierul „MainActivity.kt”.</string>
|
||||||
<string name="choose_theming">Alege tema</string>
|
|
||||||
<string name="choose_theming_compose">Theming with Compose</string>
|
|
||||||
<string name="choose_theming_xml">Theming with XML</string>
|
|
||||||
<string name="verification_successful">Verificare reușită</string>
|
<string name="verification_successful">Verificare reușită</string>
|
||||||
<string name="verification_failed">Verificarea a eșuat:</string>
|
<string name="verification_failed">Verificarea a eșuat:</string>
|
||||||
<string name="start_failed">Start eșuat:\n</string>
|
<string name="start_failed">Start eșuat:\n</string>
|
||||||
|
|||||||
@ -9,14 +9,10 @@
|
|||||||
<string name="core_sdk_creation_successful">Core SDK başarıyla oluşturuldu</string>
|
<string name="core_sdk_creation_successful">Core SDK başarıyla oluşturuldu</string>
|
||||||
<string name="validate_action_id">İşlem numarasını doğrula…</string>
|
<string name="validate_action_id">İşlem numarasını doğrula…</string>
|
||||||
<string name="action_id_not_valid">Hata: İşlem numarası (Action-ID) “MainActivity.kt” dosyasında 9 basamaklı bir sayı dizisi olarak ayarlanmamıştır.</string>
|
<string name="action_id_not_valid">Hata: İşlem numarası (Action-ID) “MainActivity.kt” dosyasında 9 basamaklı bir sayı dizisi olarak ayarlanmamıştır.</string>
|
||||||
<string name="choose_theming">Tema seç</string>
|
|
||||||
<string name="choose_theming_compose">Theming with Compose</string>
|
|
||||||
<string name="choose_theming_xml">Theming with XML</string>
|
|
||||||
<string name="verification_successful">Doğrulama başarılı</string>
|
<string name="verification_successful">Doğrulama başarılı</string>
|
||||||
<string name="verification_failed">Doğrulama başarısız:</string>
|
<string name="verification_failed">Doğrulama başarısız:</string>
|
||||||
<string name="start_failed">Başlatma Başarısız:\n</string>
|
<string name="start_failed">Başlatma Başarısız:\n</string>
|
||||||
<string name="product_journey_finished_successfully">Product Journey başarıyla tamamlandı</string>
|
<string name="product_journey_finished_successfully">Product Journey başarıyla tamamlandı</string>
|
||||||
<string name="product_journey_finished_with_failure">Product Journey bir hatayla sonuçlandı:</string>
|
<string name="product_journey_finished_with_failure">Product Journey bir hatayla sonuçlandı:</string>
|
||||||
<string name="success">"Success: "</string>
|
<string name="success">"Success: "</string>
|
||||||
|
|
||||||
</resources>
|
</resources>
|
||||||
@ -3,5 +3,4 @@
|
|||||||
<dimen name="grid_margin">24dp</dimen>
|
<dimen name="grid_margin">24dp</dimen>
|
||||||
<dimen name="button_height">60dp</dimen>
|
<dimen name="button_height">60dp</dimen>
|
||||||
<dimen name="log_margin">40dp</dimen>
|
<dimen name="log_margin">40dp</dimen>
|
||||||
<dimen name="webid_button_corner_radius">8dp</dimen>
|
|
||||||
</resources>
|
</resources>
|
||||||
@ -8,9 +8,6 @@
|
|||||||
<string name="core_sdk_creation_successful">Core SDK creation successful</string>
|
<string name="core_sdk_creation_successful">Core SDK creation successful</string>
|
||||||
<string name="validate_action_id">Validate Action-ID…</string>
|
<string name="validate_action_id">Validate Action-ID…</string>
|
||||||
<string name="action_id_not_valid">Failure: The transaction number (Action-ID) was not set to 9-digit number string in MainActivity.kt file.</string>
|
<string name="action_id_not_valid">Failure: The transaction number (Action-ID) was not set to 9-digit number string in MainActivity.kt file.</string>
|
||||||
<string name="choose_theming">Choose A Theme:</string>
|
|
||||||
<string name="choose_theming_compose">Theming with Compose</string>
|
|
||||||
<string name="choose_theming_xml">Theming with XML</string>
|
|
||||||
<string name="verification_successful">Verification successful</string>
|
<string name="verification_successful">Verification successful</string>
|
||||||
<string name="verification_failed">Verification failed:</string>
|
<string name="verification_failed">Verification failed:</string>
|
||||||
<string name="start_failed">Start Failed:\n</string>
|
<string name="start_failed">Start Failed:\n</string>
|
||||||
|
|||||||
@ -1,20 +1,13 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<resources xmlns:tools="http://schemas.android.com/tools">
|
||||||
<resources>
|
<!-- Base application theme. -->
|
||||||
|
<style name="Theme.MetaPluginDemo" parent="Theme.AppCompat.DayNight.DarkActionBar">
|
||||||
|
<!-- Primary brand color. -->
|
||||||
|
<item name="colorPrimary">#05b1fb</item>
|
||||||
|
</style>
|
||||||
|
|
||||||
<style name="WebId.PluginTheme" parent="Theme.AppCompat.Light.NoActionBar">
|
<style name="CustomizedPluginTheme" parent="WebId.PluginTheme.Light">
|
||||||
|
<!--
|
||||||
<item name="actionPrimary">#FFD32D1F</item> <!-- Deep Orange 400 -->
|
Implement your customized style attributes here for standard and/or light theme.
|
||||||
<item name="actionPrimaryPressed">#FF8A1E15</item> <!-- Deep Orange 600 -->
|
-->
|
||||||
<item name="actionPrimaryHover">#FFE57373</item> <!-- Deep Orange 300 -->
|
|
||||||
<item name="actionPrimaryInvert">#FFFFFFFF</item> <!-- White -->
|
|
||||||
<item name="actionDisabled">#FFBDBDBD</item> <!-- Grey 400 -->
|
|
||||||
|
|
||||||
<item name="brandPrimary">#FFD32D1F</item>
|
|
||||||
<item name="brandSecondary">#FF8A1E15</item>
|
|
||||||
|
|
||||||
<item name="backgroundPrimary">#FFFFFFFF</item> <!-- Light Cyan (Cyan 50) -->
|
|
||||||
<item name="backgroundSecondary">#FFFFFF</item> <!-- White -->
|
|
||||||
<item name="android:fontFamily">monospace</item>
|
|
||||||
<item name="primaryButtonCornerRadius">@dimen/webid_button_corner_radius</item>
|
|
||||||
</style>
|
</style>
|
||||||
</resources>
|
</resources>
|
||||||
@ -14,17 +14,7 @@ dependencyResolutionManagement {
|
|||||||
|
|
||||||
// add the webid repo to receive the plugin
|
// add the webid repo to receive the plugin
|
||||||
maven {
|
maven {
|
||||||
url "https://api.webid-solutions.de/releases/android/maven/repository/snapshots"
|
url 'https://api.webid-solutions.de/releases/android/maven/repository/internal'
|
||||||
}
|
|
||||||
maven {
|
|
||||||
url "https://api.webid-solutions.de/releases/android/maven2/snapshots"
|
|
||||||
}
|
|
||||||
// use our release repository for releases
|
|
||||||
maven {
|
|
||||||
url "https://api.webid-solutions.de/releases/android/maven/repository/internal"
|
|
||||||
}
|
|
||||||
maven {
|
|
||||||
url "https://api.webid-solutions.de/releases/android/maven2/releases"
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user