diff --git a/release_notes.md b/CHANGELOG.md
similarity index 95%
rename from release_notes.md
rename to CHANGELOG.md
index cc8e775..fcb557e 100644
--- a/release_notes.md
+++ b/CHANGELOG.md
@@ -1,6 +1,11 @@
card.io Android SDK change log and release notes
================================================
+5.3.1
+-----
+* Fix issue where the camera was flipped when the app was backgrounded with card.io open [#118](https://github.com/card-io/card.io-Android-SDK/issues/118).
+* Add proguard config to `aar` file [112](https://github.com/card-io/card.io-Android-SDK/issues/112), [#117](https://github.com/card-io/card.io-Android-SDK/issues/117).
+
5.3.0
-----
* Add option for only numeric input for postal code, `EXTRA_RESTRICT_POSTAL_CODE_TO_NUMERIC_ONLY` [#100](https://github.com/card-io/card.io-Android-SDK/issues/100).
@@ -154,6 +159,10 @@ We are continuing to work to improve expiry-scanning accuracy.
--------------------
* Client side scanning!
+3.0.0
+--------------------
+* Skipped
+
2.4.3 - Aug 31, 2012
--------------------
* Correct layouts for high resolution cameras & xhdpi displays
@@ -169,7 +178,7 @@ We are continuing to work to improve expiry-scanning accuracy.
* Work around a crash in some Qualcomm camera drivers. (e.g. Samsung Galaxy II S running Android 4.0.4)
* Improve efficiency of internal API.
-2.4 - June 25, 2012
+2.4.0 - June 25, 2012
--------------------
* Charges are no longer supported.
@@ -203,13 +212,21 @@ Note that if your app is not targeting x86 or MIPS, you can safely leave out the
*************************
+2.3.1
+--------------------
+* Skipped
+
+2.3.0
+--------------------
+* Skipped
+
2.2.1 - April 20, 2012
--------------------
* Make CardType.getLogoBitmap() a public method.
* Repackage library jar to avoid proguard parsing problems in client apps.
* Fix string display bug in the charge screens.
-2.2 - April 11, 2012
+2.2.0 - April 11, 2012
--------------------
*************************
@@ -226,7 +243,7 @@ IMPORTANT: You should delete libs/armeabi*/libcardio.so from your project direct
--------------------
* Fix NullPointerException on manual entry press in scan only mode.
-2.1 - April 4, 2012
+2.1.0 - April 4, 2012
--------------------
* Made the charge screens more beautiful.
* Add support for JCB cards.
@@ -263,7 +280,7 @@ IMPORTANT: You should delete libs/armeabi*/libcardio.so from your project direct
* Add connection status messages to logs.
* Correctly report network type. Fixes problems associated with networks other than WiFi or mobile.
-2.0 - January 18, 2012
+2.0.0 - January 18, 2012
-------------------
* (new!) Support processing charges
* Rename package io.card.scan to io.card.payments
@@ -271,7 +288,7 @@ IMPORTANT: You should delete libs/armeabi*/libcardio.so from your project direct
* Updated HTTPS library for better performance while scanning.
* Fixed crashes in Android 4.0/Ice Cream Sandwich.
-1.0 - Wednesday, 8/24/2011
+1.0.0 - Wednesday, 8/24/2011
-------------------
* First release
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
new file mode 100644
index 0000000..ce39e40
--- /dev/null
+++ b/CONTRIBUTING.md
@@ -0,0 +1,5 @@
+# Contribute to the card.io Android SDK
+
+We love your contributions. If you're looking to submit changes to the sample app or documentation available within this repo, feel free to submit a PR.
+
+If you are looking to make a change to the card.io source, please take a look at [the open source repo](https://github.com/card-io/card.io-Android-source).
diff --git a/LICENSE.md b/LICENSE.txt
similarity index 100%
rename from LICENSE.md
rename to LICENSE.txt
diff --git a/README.md b/README.md
index bbc5046..59ab963 100644
--- a/README.md
+++ b/README.md
@@ -14,7 +14,7 @@ All releases follow [semantic versioning](http://semver.org/).
The latest version is available via `mavenCentral()`. Just add the following dependency:
```
-compile 'io.card:android-sdk:5.3.0'
+compile 'io.card:android-sdk:5.3.1'
```
You can receive updates about new versions via a few different channels:
@@ -46,7 +46,7 @@ A manual entry fallback mode is provided for devices that do not meet these requ
##### If you use gradle, then add the following dependency from `mavenCentral()`:
```
-compile 'io.card:android-sdk:5.3.0'
+compile 'io.card:android-sdk:5.3.1'
```
##### If you use something other than gradle, then:
@@ -80,15 +80,6 @@ compile 'io.card:android-sdk:5.3.0'
```
-##### Note: Before you build in release mode, make sure to adjust your proguard configuration by adding the following to `proguard.cnf`:
-
-```
--keep class io.card.**
--keepclassmembers class io.card.** {
- *;
-}
-```
-
### Sample code (See the SampleApp for an example)
First, we'll assume that you're going to launch the scanner from a button,
@@ -153,8 +144,19 @@ protected void onActivityResult(int requestCode, int resultCode, Intent data) {
### Hints & Tips
* [Javadocs](http://card-io.github.io/card.io-Android-SDK/) are provided in this repo for a complete reference.
+* Note: the correct proguard file is automatically imported into your gradle project from the `aar` package. Anyone not using gradle will need to extract the proguard file and add it to their proguard config.
* card.io errors and warnings will be logged to the "card.io" tag.
* If upgrading the card.io SDK, first remove all card.io libraries so that you don't accidentally ship obsolete or unnecessary libraries. The bundled libraries may change.
* Processing images can be memory intensive.
* [Memory Analysis for Android Applications](http://android-developers.blogspot.com/2011/03/memory-analysis-for-android.html) provides some useful information about how to track and reduce your app's memory useage.
* card.io recommends the use of [SSL pinning](http://blog.thoughtcrime.org/authenticity-is-broken-in-ssl-but-your-app-ha) when transmitting sensitive information to protect against man-in-the-middle attacks.
+
+Contributing
+------------
+
+Please read our [contributing guidelines](CONTRIBUTING.md) prior to submitting a Pull Request.
+
+License
+-------
+
+Please refer to this repo's [license file](LICENSE.txt).
diff --git a/SampleApp/build.gradle b/SampleApp/build.gradle
index e0f290e..455f8ed 100644
--- a/SampleApp/build.gradle
+++ b/SampleApp/build.gradle
@@ -33,7 +33,7 @@ android {
release {
minifyEnabled true
- proguardFile file('proguard.cfg')
+ proguardFile getDefaultProguardFile('proguard-android.txt')
signingConfig signingConfigs.myConfig
}
}
@@ -52,7 +52,7 @@ dependencies {
if (parent != null) {
compile project(':card.io')
} else {
- compile 'io.card:android-sdk:5.3.0'
+ compile 'io.card:android-sdk:5.3.1'
}
}
diff --git a/SampleApp/proguard.cfg b/SampleApp/proguard.cfg
deleted file mode 100644
index 0c5d54d..0000000
--- a/SampleApp/proguard.cfg
+++ /dev/null
@@ -1,88 +0,0 @@
-# If your application, applet, servlet, library, etc., contains enumeration
-# classes, you'll have to preserve some special methods. Enumerations were
-# introduced in Java 5. The java compiler translates enumerations into classes
-# with a special structure. Notably, the classes contain implementations of some
-# static methods that the run-time environment accesses by introspection (Isn't
-# that just grand? Introspection is the self-modifying code of a new
-# generation). You have to specify these explicitly, to make sure they aren't
-# removed or obfuscated:
-
--keepclassmembers enum * {
- public static **[] values();
- public static ** valueOf(java.lang.String);
-}
-
-# More complex applications, applets, servlets, libraries, etc., may contain
-# classes that are serialized. Depending on the way in which they are used, they
-# may require special attention
-
--keepclassmembers class * implements java.io.Serializable {
- static final long serialVersionUID;
- private static final java.io.ObjectStreamField[] serialPersistentFields;
- private void writeObject(java.io.ObjectOutputStream);
- private void readObject(java.io.ObjectInputStream);
- java.lang.Object writeReplace();
- java.lang.Object readResolve();
-}
-
-# --- RECOMMENDED ANDROID CONFIG ------------------------------------------
-
--keep public class * extends android.app.Activity
--keep public class * extends android.app.Application
--keep public class * extends android.app.Service
--keep public class * extends android.content.BroadcastReceiver
--keep public class * extends android.content.ContentProvider
-
--keep public class * extends android.view.View {
- public (android.content.Context);
- public (android.content.Context, android.util.AttributeSet);
- public (android.content.Context, android.util.AttributeSet, int);
- public void set*(...);
-}
-
--keepclasseswithmembers class * {
- public (android.content.Context, android.util.AttributeSet);
-}
-
--keepclasseswithmembers class * {
- public (android.content.Context, android.util.AttributeSet, int);
-}
-
--keepclassmembers class * implements android.os.Parcelable {
- static android.os.Parcelable$Creator CREATOR;
-}
-
-
-# ---- REQUIRED card.io CONFIG ----------------------------------------
-# card.io is a native lib, so anything crossing JNI must not be changed
-
-# Don't obfuscate DetectionInfo or public fields, since
-# it is used by native methods
--keep class io.card.payment.DetectionInfo
--keepclassmembers class io.card.payment.DetectionInfo {
- public *;
-}
-
--keep class io.card.payment.CreditCard
--keep class io.card.payment.CreditCard$1
--keepclassmembers class io.card.payment.CreditCard {
- *;
-}
-
--keepclassmembers class io.card.payment.CardScanner {
- *** onEdgeUpdate(...);
-}
-
-# Don't mess with classes with native methods
-
--keepclasseswithmembers class * {
- native ;
-}
-
--keepclasseswithmembernames class * {
- native ;
-}
-
--keep public class io.card.payment.* {
- public protected *;
-}
\ No newline at end of file
diff --git a/aars/card.io-5.3.0.aar b/aars/card.io-5.3.1.aar
similarity index 98%
rename from aars/card.io-5.3.0.aar
rename to aars/card.io-5.3.1.aar
index 14ecdfe..d98b7fa 100644
Binary files a/aars/card.io-5.3.0.aar and b/aars/card.io-5.3.1.aar differ