Skip to content

Commit

Permalink
Merge branch 'main' into PP-836-ui-accessibility-enhancements
Browse files Browse the repository at this point in the history
  • Loading branch information
ndubkov-distcotech committed Oct 19, 2024
2 parents 9e9093a + 413ed14 commit 8cae950
Show file tree
Hide file tree
Showing 216 changed files with 5,060 additions and 1,669 deletions.
58 changes: 58 additions & 0 deletions .github/workflows/gpc.publish.firebase.example.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
name: Publish GPC Example App QA Build to Firebase distribution

on:
workflow_dispatch:
jobs:
check:
uses: ./.github/workflows/bank-sdk.check.yml
secrets:
GINI_MOBILE_TEST_CLIENT_SECRET: ${{ secrets.GINI_MOBILE_TEST_CLIENT_SECRET }}
BANK_SDK_EXAMPLE_APP_KEYSTORE_PASSWORD: ${{ secrets.BANK_SDK_EXAMPLE_APP_KEYSTORE_PASSWORD }}

publish_to_firebase_distribution:
needs: check
runs-on: ubuntu-latest
steps:
- name: checkout
uses: actions/checkout@v3

- name: setup java
uses: actions/setup-java@v3
with:
distribution: 'temurin'
java-version: '17'
cache: 'gradle'

- name: setup ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: '3.2.0'
bundler-cache: true

- name: build release example app for QA
run: >
./gradlew bank-sdk:example-app:assembleQaPaymentProvider3Release
-PclientId="gini-mobile-test"
-PclientSecret="${{ secrets.GINI_MOBILE_TEST_CLIENT_SECRET }}"
-PreleaseKeystoreFile="screen_api_example.jks"
-PreleaseKeystorePassword='${{ secrets.BANK_SDK_EXAMPLE_APP_KEYSTORE_PASSWORD }}'
-PreleaseKeyAlias="screen_api_example"
-PreleaseKeyPassword='${{ secrets.BANK_SDK_EXAMPLE_APP_KEYSTORE_PASSWORD }}'
- name: Check file existence
uses: andstor/file-existence-action@v3
with:
files: "./bank-sdk/example-app/build/outputs/apk/qaPaymentProvider3/release/example-app-qa-paymentProvider3-release.apk"
fail: true

- name: Distribute GPC example apk to Firebase App Distribution
uses: wzieba/Firebase-Distribution-Github-Action@v1
with:
appId: ${{secrets.GINI_PAYMENT_PROVIDER_EXAMPLE_APP_FIREBASE_ID}}
serviceCredentialsFileContent: ${{ secrets.FIREBASE_CREDENTIAL_FILE_CONTENT }}
groups: testers
file: bank-sdk/example-app/build/outputs/apk/qaPaymentProvider3/release/example-app-qa-paymentProvider3-release.apk
releaseNotes: |
${{ format('{{ {0} {1} }}', github.ref, github.sha) }}
${{ github.event.head_commit.message }}
108 changes: 108 additions & 0 deletions .github/workflows/internal-payment-sdk.check.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,108 @@
name: Check Internal Payment SDK

on:
push:
paths:
- 'internal-payment-sdk/**'
- 'health-api-library/**'
- 'core-api-library/**'
- 'gradle/**'
branches:
- '**'
tags-ignore:
- '**'
pull_request:
types: [opened, edited, reopened]
paths:
- 'internal-payment-sdk/**'
- 'health-api-library/**'
- 'core-api-library/**'
- 'gradle/**'
workflow_call:

jobs:
test:
runs-on: ubuntu-latest
steps:
- name: checkout
uses: actions/checkout@v4

- name: setup java
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '17'
cache: 'gradle'

- name: run unit tests
run: ./gradlew internal-payment-sdk:sdk:testDebugUnitTest

- name: archive unit test results
if: always()
uses: actions/upload-artifact@v4
with:
name: internal-payment-sdk-unit-test-results
path: internal-payment-sdk/sdk/build/reports/tests

android-lint:
runs-on: ubuntu-latest
steps:
- name: checkout
uses: actions/checkout@v4

- uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '17'
cache: 'gradle'

- name: run android lint
run: ./gradlew internal-payment-sdk:sdk:lint

- name: archive android lint report
uses: actions/upload-artifact@v4
with:
name: internal-payment-sdk-android-lint-report
path: internal-payment-sdk/sdk/build/reports/lint-results*.html

detekt:
runs-on: ubuntu-latest
steps:
- name: checkout
uses: actions/checkout@v4

- uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '17'
cache: 'gradle'

- name: run detekt
run: ./gradlew internal-payment-sdk:sdk:detekt

- name: archive detekt report
uses: actions/upload-artifact@v4
with:
name: internal-payment-sdk-detekt-report
path: internal-payment-sdk/sdk/build/reports/detekt/*.html

ktlint:
runs-on: ubuntu-latest
steps:
- name: checkout
uses: actions/checkout@v4

- uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '17'
cache: 'gradle'

- name: run ktlint
run: ./gradlew internal-payment-sdk:sdk:ktlintCheck

- name: archive ktlint report
uses: actions/upload-artifact@v4
with:
name: internal-payment-sdk-ktlint-report
path: internal-payment-sdk/sdk/build/reports/ktlint/**/*.html
48 changes: 48 additions & 0 deletions .github/workflows/internal-payment-sdk.release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
name: Release Internal Payment SDK

on:
push:
tags:
- 'internal-payment-sdk;[0-9]+.[0-9]+.[0-9]+'
- 'internal-payment-sdk;[0-9]+.[0-9]+.[0-9]+-beta[0-9][0-9]'

jobs:
check:
uses: ./.github/workflows/internal-payment-sdk.check.yml

release:
needs: check
runs-on: ubuntu-latest
steps:
- name: checkout
uses: actions/checkout@v4

- name: setup java
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '17'
cache: 'gradle'

- name: setup ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: '3.2.0'
bundler-cache: true

- name: "publish to Maven Central staging repo at https://oss.sonatype.org/service/local/staging/deploy/maven2/"
uses: maierj/fastlane-action@v3.1.0
with:
lane: 'publish_to_maven_repo'
options: >
{
"repo_url": "https://oss.sonatype.org/service/local/staging/deploy/maven2/",
"repo_user": "${{ secrets.MAVEN_CENTRAL_USER_TOKEN_USERNAME }}",
"repo_password": "${{ secrets.MAVEN_CENTRAL_USER_TOKEN_PASSWORD }}",
"project_id": "internal-payment-sdk",
"module_id": "sdk",
"build_number": "${{ github.run_number }}",
"git_tag": "${{ github.ref }}",
"signing_key_base64": "${{ secrets.MAVEN_CENTRAL_SIGNING_KEY_BASE64 }}",
"signing_password": "${{ secrets.MAVEN_CENTRAL_SIGNING_PASSWORD }}"
}
2 changes: 2 additions & 0 deletions .github/workflows/merchant-sdk.check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ on:
push:
paths:
- 'merchant-sdk/**'
- 'internal-payment-sdk/**'
- 'health-api-library/**'
- 'core-api-library/**'
- 'gradle/**'
Expand All @@ -15,6 +16,7 @@ on:
types: [opened, edited, reopened]
paths:
- 'merchant-sdk/**'
- 'internal-payment-sdk/**'
- 'health-api-library/**'
- 'core-api-library/**'
- 'gradle/**'
Expand Down
24 changes: 15 additions & 9 deletions RELEASE-ORDER.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,30 +11,36 @@ Release order for :bank-api-library:library 3.3.0:
1. :core-api-library:library 2.2.2
2. :bank-api-library:library 3.3.0

Release order for :health-api-library:library 4.3.0:
Release order for :health-api-library:library 4.4.0:
1. :core-api-library:library 2.2.2
2. :health-api-library:library 4.3.0
2. :health-api-library:library 4.4.0

Release order for :health-sdk:sdk 4.3.0:
Release order for :health-sdk:sdk 4.4.0:
1. :core-api-library:library 2.2.2
2. :health-api-library:library 4.3.0
3. :health-sdk:sdk 4.3.0
2. :health-api-library:library 4.4.0
3. :health-sdk:sdk 4.4.0

Release order for :merchant-sdk:sdk 1.0.0:
1. :core-api-library:library 2.2.2
<<<<<<< HEAD
Release order for :internal-payment-sdk:sdk 1.0.0:
1. :core-api-library:library 2.2.1
2. :health-api-library:library 4.3.0
3. :merchant-sdk:sdk 1.0.0
3. :internal-payment-sdk:sdk 1.0.0

Release order for :capture-sdk:default-network 3.12.0:
1. :core-api-library:library 2.2.2
2. :bank-api-library:library 3.3.0
3. :capture-sdk:sdk 3.12.0
4. :capture-sdk:default-network 3.12.0

Release order for :merchant-sdk:sdk 1.0.0:
1. :core-api-library:library 2.2.2
2. :health-api-library:library 4.4.0
3. :internal-payment-sdk:sdk 1.0.0
4. :merchant-sdk:sdk 1.0.0

Release order for :bank-sdk:sdk 3.14.0:
1. :core-api-library:library 2.2.2
2. :bank-api-library:library 3.3.0
3. :capture-sdk:sdk 3.12.0
4. :capture-sdk:default-network 3.12.0
5. :bank-sdk:sdk 3.14.0

4 changes: 4 additions & 0 deletions bank-sdk/example-app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,10 @@
android:name=".ui.InvoicePreviewActivity"
android:exported="false"
android:theme="@style/Root.GiniCaptureTheme.Internal" />
<activity
android:name=".ui.TransactionDocInvoicePreviewActivity"
android:exported="false"
android:theme="@style/Root.GiniCaptureTheme.Internal" />
<activity
android:name=".ui.MainActivity"
android:exported="true"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -219,7 +219,7 @@ private class ExtractionsAdapter(
).apply {
this.transactionDocView.onDocumentClick { doc, infoTextLines ->
this.itemView.context.startActivity(
InvoicePreviewActivity.newIntent(
TransactionDocInvoicePreviewActivity.newIntent(
screenTitle = doc.documentFileName,
context = this.itemView.context,
documentId = doc.giniApiDocumentId,
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
package net.gini.android.bank.sdk.exampleapp.ui

import android.content.Context
import android.content.Intent
import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
import androidx.navigation.fragment.NavHostFragment
import dagger.hilt.android.AndroidEntryPoint
import net.gini.android.bank.sdk.GiniBank
import net.gini.android.bank.sdk.exampleapp.R
import net.gini.android.bank.sdk.exampleapp.databinding.ActivityInvoicePreviewBinding

@AndroidEntryPoint
class TransactionDocInvoicePreviewActivity : AppCompatActivity() {

lateinit var binding: ActivityInvoicePreviewBinding

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding = ActivityInvoicePreviewBinding.inflate(layoutInflater)
setContentView(binding.root)

val documentId =
intent.getStringExtra(EXTRA_DOCUMENT_ID) ?: error("Missing $EXTRA_DOCUMENT_ID extra")
val infoTextLines =
intent.getStringArrayExtra(EXTRA_INFO_TEXT_LINES)?.toList() ?: emptyList()
val screenTitle =
intent.getStringExtra(EXTRA_SCREEN_TITLE) ?: error("Missing $EXTRA_SCREEN_TITLE extra")

val navHostFragment =
supportFragmentManager.findFragmentById(R.id.container) as NavHostFragment
val navController = navHostFragment.navController

navController.setGraph(
R.navigation.transaction_doc_invoice_preview_nav_graph,
GiniBank.createTransactionDocInvoicePreviewFragmentArgs(screenTitle, documentId, infoTextLines).toBundle()
)
}

companion object {

private const val EXTRA_DOCUMENT_ID = "document_id"
private const val EXTRA_INFO_TEXT_LINES = "info_text_lines"
private const val EXTRA_SCREEN_TITLE = "screen_title"

fun newIntent(
context: Context,
screenTitle: String,
documentId: String,
infoTextLines: List<String>
): Intent {
return Intent(context, TransactionDocInvoicePreviewActivity::class.java).apply {
putExtra(EXTRA_SCREEN_TITLE, screenTitle)
putExtra(EXTRA_DOCUMENT_ID, documentId)
putExtra(EXTRA_INFO_TEXT_LINES, infoTextLines.toTypedArray())
}
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/main"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".ui.InvoicePreviewActivity">

<androidx.fragment.app.FragmentContainerView
android:id="@+id/container"
android:name="androidx.navigation.fragment.NavHostFragment"
android:layout_width="0dp"
android:layout_height="0dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">

</androidx.fragment.app.FragmentContainerView>
</androidx.constraintlayout.widget.ConstraintLayout>
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<navigation xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/nav_graph"
app:startDestination="@id/transactionDocInvoicePreviewFragment">


<fragment
android:id="@+id/transactionDocInvoicePreviewFragment"
android:name="net.gini.android.bank.sdk.transactiondocs.ui.invoice.TransactionDocInvoicePreviewFragment"
android:label="" />
</navigation>
Loading

0 comments on commit 8cae950

Please sign in to comment.