Skip to content
This repository has been archived by the owner on Nov 22, 2022. It is now read-only.

Commit

Permalink
release: milestone 2 features
Browse files Browse the repository at this point in the history
- support for Agora KinEnvironment
- invoice support
- spend library
- design library
- design-showcase apps
- updated demo app

GitOrigin-RevId: 00ceafaf79cd71e725723475600aeeea1126175e
  • Loading branch information
kikengineering committed Aug 18, 2020
1 parent 30cf5f1 commit 3327105
Show file tree
Hide file tree
Showing 2,233 changed files with 33,778 additions and 1,247 deletions.
4 changes: 2 additions & 2 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,14 @@ executors:
kin-executor:
working_directory: ~/code
docker:
- image: circleci/android:api-29
- image: circleci/android@sha256:b6646fdf7457f61825526e7bfce364d8e533da6ceb1cdb98e371e94348ecc834
resource_class: xlarge
environment:
JVM_OPTS: -Xmx3200m

references:
gradle_key: &gradle_key
jars-{{ checksum "build.gradle" }}-{{ checksum "base/build.gradle" }}-{{ checksum "base-compat/build.gradle" }}-{{ checksum "base-storage/build.gradle" }}
jars-{{ checksum "build.gradle" }}-{{ checksum "base/build.gradle" }}-{{ checksum "base-compat/build.gradle" }}-{{ checksum "base-storage/build.gradle" }}-{{ checksum "demo/build.gradle" }}-{{ checksum "design/build.gradle" }}-{{ checksum "design-showcase/build.gradle" }}-{{ checksum "base-viewmodel/build.gradle" }}-{{ checksum "base-viewmodel-impl/build.gradle" }}-{{ checksum "spend/build.gradle" }}

restore_gradle_cache: &restore_gradle_cache
restore_cache:
Expand Down
6 changes: 6 additions & 0 deletions .idea/codeStyles/Project.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions .idea/gradle.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

29 changes: 0 additions & 29 deletions .idea/markdown-navigator-enh.xml

This file was deleted.

55 changes: 0 additions & 55 deletions .idea/markdown-navigator.xml

This file was deleted.

42 changes: 39 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,26 +4,62 @@
[![KDoc](https://img.shields.io/badge/Docs-KDoc-blue)](https://kinecosystem.github.io/kin-android/docs)
[![Download](https://api.bintray.com/packages/kinecosystem/kin-android/base-compat/images/download.svg) ](https://bintray.com/kinecosystem/kin-android/base-compat/_latestVersion)

Use the Kin SDK for Android to enable the use of Kin inside of your app. Include only the functionality you need to provide the right experience to your users. Use just the base library to access the lightest-weight wrapper over the Kin crytocurrency.
Use the Kin SDK for Android to enable the use of Kin inside of your app. Include only the functionality you need to provide the right experience to your users. Include the offers library to give your users the opportunity to earn Kin in your app. Use just the base library to access the lightest-weight wrapper over the Kin crytocurrency. The design library provides a set of basic UI elements to ensure the user experience offered to your users is consistent and high-quality.

| Library                              | Support | Path                     | Description |
|:--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:------------------------------------------------------------------------------------------|:-----------------------------------------------------------------------------------------------------------------------------|:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `base` | <img src="assets/java.png" height="24">&nbsp;<img src="assets/kotlin.png" height="24"> | [`/base`](base) | The foundation library used by all other libraries in the system to support basic Kin operations: <ul><li>Wallet creation and management</li><li>Send and receive Kin</li></ul> |
| `base` | <img src="assets/java.png" height="24">&nbsp;<img src="assets/kotlin.png" height="24"> | [`/base`](base) | The foundation library used by all other libraries in the system to support basic Kin operations: <ul><li>Wallet creation and management</li><li>Send and receive Kin</li><li>Metrics interfaces</li></ul> |
| `base-compat` | <img src="assets/android.png" height="24">&nbsp;<img src="assets/kotlin.png" height="24"> | [`/base-compat`](base-compat) | The [:base-compat](base-compat) library implements the public surface layer to be a drop in replacement of the, now deprecated, [kin-sdk-android](https://github.com/kinecosystem/kin-sdk-android) library. Just update your version in gradle and have better performance and stability. |
| `design` | <img src="assets/android.png" height="24">&nbsp;<img src="assets/kotlin.png" height="24"> | [`/design`](design) | Shared [:design](design) library components for creating consistent Kin user experiences. When creating a custom Kin experience, this library can be used to include standard UI components for displaying Kin prices, transactions, etc. |
| `spend` | <img src="assets/android.png" height="24">&nbsp;<img src="assets/kotlin.png" height="24"> | [`/spend`](spend) | The [:spend](spend) library provides an out of the box model UI for spending Kin within an Android application. Specificy what you're buying, your account, tap confirm. Success.|

*\*Note: [base-storage](base-storage), [base-viewmodel](base-viewmodel), & [base-viewmodel-impl](base-viewmodel-impl) are internal dependencies to other libraries that are not meant to be directly consumed at this time.*

## Installation

```groovy
buildscript {
// ...
ext {
versions = [:]
versions.kin = "0.2.0"
}
}
dependencies {
// ...
implementation "org.kin.sdk.android:base:${versions.kin}"
// *** base-compat is for LEGACY SUPPORT ONLY ***
// If you're a longtime Kin developer and want to use the compat
// interface that looks like the now deprecated SDKS
implementation "org.kin.sdk.android:base-compat:${versions.kin}"
// If you're a new developer or want more functionality you want a
// mix of the libraries below:
// If you just want to access the blockchain & no UI
implementation "org.kin.sdk.android:base:${versions.kin}"
// Add spend to use the modal spend flow to allow users to buy things with Kin
implementation "org.kin.sdk.android:spend:${versions.kin}"
// Add design for direct access to UI views you can use in your own app
implementation "org.kin.sdk.android:design:${versions.kin}"
}
repositories {
// ...
jcenter()
}
```

## Demo App

The [demo](demo) directory includes a demo application, showcasing a functional Kin wallet.

## Design Showcase App

The [design-showcase](design-showcase) directory includes an application showcasing the UI widgets that are both: used in our full screen experiences, and also publicly available for all developers to use from the [design](design) library.

## Documentation
KDoc Documentation for all classes in all modules located [here](https://kinecosystem.github.io/kin-android/docs/index.html)
Binary file added assets/demo-app-tour.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/design-showcase-loop.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/kin-pay-invoice-demo-app.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/widget-invoicerenderer.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/widget-kinamountview-negative.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/widget-kinamountview-positive.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/widget-primarybutton.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/widget-standardbutton-inline.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/widget-standardbutton-negative.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/widget-standardbutton-positive.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
9 changes: 6 additions & 3 deletions base-compat/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,10 @@ The [:base-compat](../base-compat) module is a replacement for, and fully API co

This version is based on the new [:base](../base/README.md) module under the covers, which gives higher performance and reliability that you depend on.

# Installation
## Requirements
Android API 19+

## Installation
If you're currently making use of [kin-sdk-android](https://github.com/kinecosystem/kin-sdk-android) please upgrade your gradle files accordingly:
In the old [kin-sdk-android](https://github.com/kinecosystem/kin-sdk-android) sdk you would have had this:
```groovy
Expand All @@ -33,11 +36,11 @@ dependencies {
implementation "org.kin.sdk.android:base-compat-shaded:${versions.kin}"
}
```
This variant is recommended when encountering dependency collisions (e.g. duplicate classes, incompatible versions, etc).
This variant is recommended when encountering dependency collisions (e.g. duplicate classes, incompatible versions, etc).
If you are still encountering difficulties with dependency collisions with this variant we recommend forking the library and adding additional libraries you want to shade to the list included under the shadowJar task configured in [../base/build.gradle](../base/build.gradle)

Otherwise, if you're not using [kin-sdk-android](https://github.com/kinecosystem/kin-sdk-android), please checkout [:base](../base).

# Documentation
## Documentation
[kin-sdk-android](https://github.com/kinecosystem/kin-sdk-android) is now **Deprecated** but see the [old documentation](https://github.com/kinecosystem/kin-sdk-android/tree/master/kin-sdk) or [API reference](../docs) for more details on how to use it.

9 changes: 5 additions & 4 deletions base-compat/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -16,14 +16,13 @@ enableJacoco(project, 'normalDebug')

android {
compileSdkVersion 29
buildToolsVersion "29.0.2"
buildToolsVersion "29.0.3"

defaultConfig {
minSdkVersion 16
minSdkVersion 19
targetSdkVersion 29
versionCode 1
versionName "${version}"
archivesBaseName = "base-compat"
versionName libraryVersion

testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
consumerProguardFiles 'consumer-rules.pro'
Expand Down Expand Up @@ -236,3 +235,5 @@ afterEvaluate {
}
}
}


Loading

0 comments on commit 3327105

Please sign in to comment.