Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

initial commit

  • Loading branch information...
commit 1cdbe7f32acd040084c307a1fde5d3c02c90c5b9 0 parents
Justin Garen authored
Showing with 1,002 additions and 0 deletions.
  1. +10 −0 .gitignore
  2. +8 −0 DemoApp/.classpath
  3. +33 −0 DemoApp/.project
  4. +50 −0 DemoApp/AndroidManifest.xml
  5. +12 −0 DemoApp/project.properties
  6. BIN  DemoApp/res/drawable/icon.png
  7. +16 −0 DemoApp/res/layout/main.xml
  8. +7 −0 DemoApp/res/values/strings.xml
  9. +48 −0 DemoApp/src/com/pocketchange/android/DemoApp.java
  10. +72 −0 HISTORY.md
  11. +78 −0 README-Unity.md
  12. +188 −0 README.md
  13. +9 −0 pocketchange/.classpath
  14. +33 −0 pocketchange/.project
  15. +41 −0 pocketchange/AndroidManifest.xml
  16. BIN  pocketchange/PocketChangeAndroid.unitypackage
  17. BIN  pocketchange/libs/android-support-v4.jar
  18. BIN  pocketchange/libs/pocketchange-android-sdk.jar
  19. +15 −0 pocketchange/proguard.cfg
  20. +12 −0 pocketchange/project.properties
  21. +4 −0 pocketchange/res/anim/pc_decrement_tokens.xml
  22. BIN  pocketchange/res/drawable-hdpi/pc_added_tokens_container.png
  23. BIN  pocketchange/res/drawable-hdpi/pc_gifted_tokens_container.png
  24. BIN  pocketchange/res/drawable-hdpi/pc_installer_permission_prompt_icon.png
  25. BIN  pocketchange/res/drawable-hdpi/pc_out_of_tokens_container0.png
  26. BIN  pocketchange/res/drawable-hdpi/pc_out_of_tokens_container1.png
  27. BIN  pocketchange/res/drawable-hdpi/pc_tokens_container.png
  28. BIN  pocketchange/res/drawable-hdpi/pc_unlocked_game.png
  29. BIN  pocketchange/res/drawable-ldpi/pc_installer_permission_prompt_icon.png
  30. BIN  pocketchange/res/drawable-mdpi/pc_installer_permission_prompt_icon.png
  31. BIN  pocketchange/res/drawable-xhdpi/pc_added_tokens_container.png
  32. BIN  pocketchange/res/drawable-xhdpi/pc_gifted_tokens_container.png
  33. BIN  pocketchange/res/drawable-xhdpi/pc_out_of_tokens_container0.png
  34. BIN  pocketchange/res/drawable-xhdpi/pc_out_of_tokens_container1.png
  35. BIN  pocketchange/res/drawable-xhdpi/pc_tokens_container.png
  36. BIN  pocketchange/res/drawable-xhdpi/pc_unlocked_game.png
  37. BIN  pocketchange/res/drawable/pc_added_tokens_container.png
  38. BIN  pocketchange/res/drawable/pc_gifted_tokens_container.png
  39. +11 −0 pocketchange/res/drawable/pc_installer_permission_list_item_marker.xml
  40. +8 −0 pocketchange/res/drawable/pc_installer_permission_prompt_gradient.xml
  41. +7 −0 pocketchange/res/drawable/pc_out_of_tokens_animation.xml
  42. BIN  pocketchange/res/drawable/pc_out_of_tokens_container0.png
  43. BIN  pocketchange/res/drawable/pc_out_of_tokens_container1.png
  44. +27 −0 pocketchange/res/drawable/pc_tokens_added_animation.xml
  45. BIN  pocketchange/res/drawable/pc_tokens_container.png
  46. BIN  pocketchange/res/drawable/pc_transparent_container.png
  47. BIN  pocketchange/res/drawable/pc_unlocked_game.png
  48. +6 −0 pocketchange/res/layout/pc_bank.xml
  49. +38 −0 pocketchange/res/layout/pc_gifted_token_counter.xml
  50. +38 −0 pocketchange/res/layout/pc_installer_permission_list_item.xml
  51. +97 −0 pocketchange/res/layout/pc_installer_permission_prompt.xml
  52. +8 −0 pocketchange/res/layout/pc_installer_permission_prompt_permission_list_header.xml
  53. +28 −0 pocketchange/res/layout/pc_token_counter.xml
  54. +2 −0  pocketchange/res/raw/localsettings
  55. +2 −0  pocketchange/res/raw/sandboxsettings
  56. +70 −0 pocketchange/res/values/pc_strings.xml
  57. +24 −0 pocketchange/res/values/pc_styles.xml
  58. 0  pocketchange/src/.gitkeep
10 .gitignore
@@ -0,0 +1,10 @@
+*~
+*.DS_Store
+*.class
+*.settings
+*.swp
+bin/
+gen/
+DemoApp/proguard/*
+pocketchange/res/raw/settings
+pocketchange/tmp
8 DemoApp/.classpath
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>
+ <classpathentry kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="src" path="gen"/>
+ <classpathentry kind="output" path="bin/classes"/>
+</classpath>
33 DemoApp/.project
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>pocketchange-android-sdk-demoapp</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>com.android.ide.eclipse.adt.ResourceManagerBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>com.android.ide.eclipse.adt.PreCompilerBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>com.android.ide.eclipse.adt.ApkBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>com.android.ide.eclipse.adt.AndroidNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
50 DemoApp/AndroidManifest.xml
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="utf-8"?>
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+ android:versionCode="1"
+ android:versionName="1.0" package="com.pocketchange.android">
+ <uses-sdk android:minSdkVersion="7" />
+
+ <uses-permission android:name="android.permission.GET_ACCOUNTS"></uses-permission>
+ <uses-permission android:name="android.permission.USE_CREDENTIALS"></uses-permission>
+ <uses-permission android:name="android.permission.INTERNET"></uses-permission>
+ <uses-permission android:name="android.permission.READ_PHONE_STATE"></uses-permission>
+
+ <application
+ android:icon="@drawable/icon"
+ android:label="@string/app_name">
+ <activity android:name="com.pocketchange.android.DemoApp"
+ android:label="@string/app_name"
+ android:configChanges="orientation|keyboardHidden"
+ android:theme="@android:style/Theme.NoTitleBar.Fullscreen">
+ <intent-filter>
+ <action android:name="android.intent.action.MAIN" />
+ <category android:name="android.intent.category.LAUNCHER" />
+ </intent-filter>
+ </activity>
+
+ <activity
+ android:name="com.pocketchange.android.BankActivity"
+ android:configChanges="orientation|keyboardHidden"
+ android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen">
+ </activity>
+ <activity
+ android:name="com.pocketchange.android.installer.AppInstallActivity"
+ android:theme="@android:style/Theme.NoTitleBar">
+ </activity>
+ <activity
+ android:name="com.pocketchange.android.installer.AcceptPermissionsActivity"
+ android:theme="@android:style/Theme.NoTitleBar">
+ </activity>
+ <activity
+ android:name="com.pocketchange.android.purchasing.client.PurchasingActivity"
+ android:theme="@android:style/Theme.NoTitleBar">
+ </activity>
+
+ <service android:name="com.pocketchange.android.purchasing.client.PurchasingReceiverService" />
+ <receiver android:name="com.pocketchange.android.purchasing.client.PurchasingReceiver">
+ <intent-filter>
+ <action android:name="com.pocketchange.android.purchasing.PURCHASING_SUPPORTED" />
+ </intent-filter>
+ </receiver>
+ </application>
+</manifest>
12 DemoApp/project.properties
@@ -0,0 +1,12 @@
+# This file is automatically generated by Android Tools.
+# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
+#
+# This file must be checked in Version Control Systems.
+#
+# To customize properties used by the Ant build system use,
+# "ant.properties", and override values to adapt the script to your
+# project structure.
+
+android.library.reference.1=../pocketchange
+# Project target.
+target=android-7
BIN  DemoApp/res/drawable/icon.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
16 DemoApp/res/layout/main.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="utf-8"?>
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:id="@+id/demo_view"
+ android:layout_width="fill_parent"
+ android:layout_height="fill_parent"
+ android:orientation="vertical" >
+
+ <Button
+ android:id="@+id/useButton"
+ android:layout_width="130dp"
+ android:layout_height="wrap_content"
+ android:layout_alignParentLeft="true"
+ android:onClick="takeTurn"
+ android:text="@string/take_turn" />
+
+</RelativeLayout>
7 DemoApp/res/values/strings.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <string name="app_name">Pocket Change Demo App</string>
+ <string name="purchase_tokens">Purchase Tokens</string>
+ <string name="use_currency">Use Currency</string>
+ <string name="take_turn">Take Turn</string>
+</resources>
48 DemoApp/src/com/pocketchange/android/DemoApp.java
@@ -0,0 +1,48 @@
+package com.pocketchange.android;
+
+import android.app.Activity;
+import android.app.AlertDialog;
+import android.content.DialogInterface;
+import android.os.Bundle;
+import android.util.Log;
+import android.view.View;
+
+import com.pocketchange.android.R;
+
+public class DemoApp extends Activity {
+
+ private final String TAG = this.getClass().getSimpleName();
+ private static final String APP_ID = "test";
+
+ /** Called when the activity is first created. */
+ @Override
+ public void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.main);
+ PocketChange.initialize(getApplicationContext(), APP_ID);
+ PocketChange.displayTokenCounter(this);
+ //PocketChange.enableDebug();
+ }
+
+ public void takeTurn(View view) {
+ Log.i(TAG, "taking turn");
+
+ if (PocketChange.canPlay()) {
+ PocketChange.takeTurn();
+ }else {
+ new AlertDialog.Builder(this)
+ .setMessage("You must buy more tokens to play!")
+ .setCancelable(true)
+ .setNeutralButton(android.R.string.ok,
+ new DialogInterface.OnClickListener() {
+ public void onClick(DialogInterface dialog, int whichButton){}
+ })
+ .show();
+ }
+ }
+
+ public void onDestroy() {
+ super.onDestroy();
+ PocketChange.removeTokenCounter(this);
+ }
+}
72 HISTORY.md
@@ -0,0 +1,72 @@
+## 3.0.1 (2012-04-05)
+
+* Changed name of PC Store
+
+## 3.0.0 (2012-04-05)
+
+* Added Google in-app
+
+## 2.5.0 (2012-03-26)
+
+* Added support for the daily gift
+
+## 2.4.2 (2012-03-20)
+
+* Bumped version
+
+## 2.4.1 (2012-03-20)
+
+* Fixed syncing tokens in the background on startup
+
+## 2.4.0 (2012-03-16)
+
+* Moved tokens per turn to the server
+* Added more debugging fields
+
+## 2.3.0 (2012-03-09)
+
+* Fixed Paypal cancel button
+* Added test mode
+
+## 2.1.1 (2012-03-06)
+
+* Error message in the Bank when there is no network connection
+
+## 2.1 (2012-03-02)
+
+* Speed improvements for the Bank
+* Added sessions
+
+## 2.0 (2012-02-24)
+
+* Bank loads in a separate Activity
+* Changed the displayTokenCounter API
+
+## 1.3.2 (2012-02-20)
+
+* Fixed NPE in properties
+
+## 1.3.1 (2012-02-17)
+
+* Fixed a bug in isUnlocked()
+
+## 1.3.0 (2012-02-17)
+
+* Added unlock feature
+
+## 1.2.1 (2012-02-10)
+
+* Fixed external url handling
+
+## 1.2 (2012-02-08)
+
+* Added the token counter
+* Fixed sync issue between local counts and the bank
+
+## 1.1 (2012-01-26)
+
+* Added auto-login
+
+## 1.0 (2012-01-16)
+
+* Initial release
78 README-Unity.md
@@ -0,0 +1,78 @@
+# Pocket Change's Android SDK Plugin for Unity.
+
+Follow the instructions below to integrate the SDK plugin.
+
+Prerequisites:
+
+- <a href="http://www.eclipse.org/downloads/">Android SDK</a> (version 17 or later)
+- Unity (version 3.4 or later)
+
+**Note that version 17 of the Android SDK was released in 03/2012; if you experience build errors, please ensure that you have an appropriate version.**
+
+## Step 1: Obtain an id for your game
+
+In order to integrate the Pocket Change Android SDK plugin, you must first obtain an APP\_ID from your account manager. Each game will have a separate APP\_ID.
+
+## Step 2: Download the Plugin
+
+Download the plugin from <http://github.com/pocketchange/pocketchange-android-sdk/blob/master/pocketchange/PocketChangeAndroid.unitypackage?raw=true>.
+
+## Step 3: Import the Plugin in Unity
+
+To use the plugin, you must import its corresponding package in Unity: From within your Unity project, select Assets » Import Package » Custom Package and pick the location of the package you downloaded in step 2.
+
+<img src="http://dl.dropbox.com/u/68268326/unity-plugin-doc-images/import_package.png" alt="Import Package" width="476" height="384" />
+
+## Step 4: Create an AndroidManifest.xml
+
+If your project does not already contain an AndroidManifest.xml file in its Plugins/Android directory, you will need to create one.
+
+For your convenience, the Pocket Change plugin includes sample manifest files for Unity 3.4 (Unity34AndroidManifest.xml) and Unity 3.5 (Unity35AndroidManifest.xml); you can find these sample files in Plugins/PocketChangeAndroid/manifest. When using the sample files, make sure to change the package attribute of the &lt;manifest&gt; element to a unique identifier for your game.
+
+For additional information on Android manifest files, see <http://developer.android.com/guide/topics/manifest/manifest-intro.html>.
+
+## Step 5: Modify your AndroidManifest.xml
+
+Update your Plugins/Android/AndroidManifest.xml file to declare the components and permissions required by the SDK plugin. For instructions on modifying your manifest, see the <a href="http://github.com/pocketchange/pocketchange-android-sdk#readme-android-manifest-modifications">SDK documentation</a>.
+
+## Step 6: Integrate the plugin with your game
+
+To initialize the plugin and its corresponding visual elements, use one of the prefabs located in Plugins/PocketChangeAndroid/prefabs.
+
+- **PocketChangeAndroidPlayerInitializer**: Persists for the lifetime of your game and automatically includes the required visual elements in every scene. To use this prefab, include it in the first scene of your game.
+- **PocketChangeAndroidSceneInitializer**: Adds the plugin's visual elements to a single game scene. To use this prefab, include it in one or more scenes. At a minimum, you should include the prefab in the first scene of your game (for example, the menu scene) so that players can easily determine their token balances and purchase more tokens.
+
+To configure the plugin, edit the PocketChangeAndroidControl script:
+
+- Change the APP\_ID constant to match the APP\_ID you obtained in step 1.
+- (Optional) Alter the position of the token counter to match your game's layout by modifying the DisplayTokenCounter method. By default, this method displays the counter at the top left of the screen by calling:
+
+```C#
+PocketChangeAndroid.DisplayTokenCounter(0, 0);
+```
+
+To provide custom left and top margins for the counter, alter the first and second parameters, respectively, in the PocketChangeAndroid.DisplayTokenCounter method invocation.
+
+When a user takes a turn, call:
+
+```C#
+PocketChangeAndroid.TakeTurn();
+```
+
+Your account manager can set the number of tokens per turn on the server.
+
+The plugin also provides a way to check if the player can continue playing. The following method will check if the user has enough tokens for a turn OR if the game has been unlocked.
+
+```C#
+PocketChangeAndroid.CanPlay();
+```
+
+## <a name="testing"></a>Testing Instructions
+
+You can use test mode to try out your integration in a safe environment. Transactions will not by processed by your credit card provider, and you can use the following test CC credentials: #4242424242424242 CVC: 999 Exp: 12/2013.
+
+To enable test mode, in the PocketChangeAndroidControl script, set the ENABLE\_TEST\_MODE constant to true.
+
+Note: when the bank comes up there will be a banner indicating that you're in a test environment. **You must change the init call back before you release your app, otherwise transactions will not go through.**
+
+In addition to test mode, the plugin includes a test scene (Plugins/PocketChangeAndroid/testSupport/PocketChangeAndroidPlayerControlTestScene) that allows you to perform various actions to confirm that you have a sane configuration. When using the test scene, be sure to enable test mode, or you will quickly run out of tokens and be unable to continue testing.
188 README.md
@@ -0,0 +1,188 @@
+# Pocket Change's Android SDK.
+
+If you're using Unity go [here][5].
+
+See DemoApp for a working demo application. Follow the instructions below to integrate the SDK.
+
+Prerequisites: [Eclipse][2], [Android SDK][3] (version 17 or later), and the [Android Plugin][4] (version 17 or later).
+
+**Note that version 17 of the Android SDK and Android Plugin were released in
+03/2012; if you experience build errors, please ensure that you have appropriate
+versions of these components.**
+
+## Step 1: Obtain an id for your game
+
+In order to integrate the Pocket Change Android SDK, you must first obtain an APP_ID from your account manager. Each game will have a separate APP_ID.
+
+## Step 2: Download the SDK
+
+You can either clone the GitHub repository:
+
+```sh
+git clone git://github.com/pocketchange/pocketchange-android-sdk.git
+```
+
+Or download and extract the files here: <http://github.com/pocketchange/pocketchange-android-sdk/zipball/master>.
+
+## Step 3: Import the Pocket Change SDK Project in Eclipse
+
+To reference the Pocket Change SDK you must import the Android library project in Eclipse. To do this select File » Import. In the dialog window (see below), select General » Existing Projects into Workspace and click "Next."
+
+<img src="http://dl.dropbox.com/u/68268326/sdk-doc-images/import_project_dialog_step1.png" alt="Import Project, Step 1" width="525" height="550" />
+
+On the following screen, select the directory containing the SDK project that you downloaded in step 2, and Eclipse should automatically infer the project name and structure:
+
+<img src="http://dl.dropbox.com/u/68268326/sdk-doc-images/import_project_dialog_step2.png" alt="Import Project, Step 2" width="525" height="617" />
+
+## Step 4: Add a reference to the Pocket Change SDK
+
+Open the properties window for your app (File » Properties » Android), press the *Add...* button and select the pocketchange-android-sdk library.
+
+![Add Reference][1]
+
+<a name="readme-android-manifest-modifications"></a>
+## Step 5: Modify your AndroidManifest.xml
+
+If your manifest file does not already include the permissions to make network calls, access and use account information, and read telephony state, add them inside the &lt;mainifest&gt; block. We only use account information for simplifying the login and purchasing flows. We only use telephone state in cases where the phone does not have a valid device id.
+
+```xml
+<uses-permission android:name="android.permission.GET_ACCOUNTS"></uses-permission>
+<uses-permission android:name="android.permission.USE_CREDENTIALS"></uses-permission>
+<uses-permission android:name="android.permission.INTERNET"></uses-permission>
+<uses-permission android:name="android.permission.READ_PHONE_STATE"></uses-permission>
+```
+
+Finally, declare the application components the SDK requires inside of the &lt;application&gt; block:
+
+```xml
+<activity
+ android:name="com.pocketchange.android.BankActivity"
+ android:configChanges="orientation|keyboardHidden"
+ android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen">
+</activity>
+<activity
+ android:name="com.pocketchange.android.installer.AppInstallActivity"
+ android:theme="@android:style/Theme.NoTitleBar">
+</activity>
+<activity
+ android:name="com.pocketchange.android.installer.AcceptPermissionsActivity"
+ android:theme="@android:style/Theme.NoTitleBar">
+</activity>
+<activity
+ android:name="com.pocketchange.android.purchasing.client.PurchasingActivity"
+ android:theme="@android:style/Theme.NoTitleBar">
+</activity>
+
+<service android:name="com.pocketchange.android.purchasing.client.PurchasingReceiverService" />
+<receiver android:name="com.pocketchange.android.purchasing.client.PurchasingReceiver">
+ <intent-filter>
+ <action android:name="com.pocketchange.android.purchasing.PURCHASING_SUPPORTED" />
+ </intent-filter>
+</receiver>
+```
+
+## Step 6: Integrate the SDK in your app
+
+First import the Pocket Change package in your main Activity.
+
+```java
+import com.pocketchange.android.*;
+```
+
+Next initialize the SDK in the main Activity's onCreate() method.
+
+```java
+PocketChange.initialize(getApplicationContext(), APP_ID);
+```
+
+Use the supplied token counter UI code which displays the number of tokens in the player's account. To show the counter in the upper right corner in your activity:
+
+```java
+@Override
+public void onResume() {
+ super.onResume();
+ PocketChange.displayTokenCounter(this);
+}
+
+@Override
+public void onPause() {
+ super.onPause();
+ PocketChange.removeTokenCounter(this);
+}
+```
+
+The display method also takes left and top margins as arguments to show the counter in a particular location.
+
+```java
+PocketChange.displayTokenCounter(this, 20, 40);
+```
+
+When a user takes a turn, call the following method. Your account manager can set the number of tokens per turn on the server.
+
+```java
+PocketChange.takeTurn();
+```
+
+The SDK also provides a way to check if the player can continue playing. The following method will check if the user has enough tokens for a turn OR if the game has been unlocked.
+
+```java
+PocketChange.canPlay();
+```
+
+If you would like to add any events when our SDK successfully contacts the server or experiences a connection failure, please add a custom
+listener:
+
+```java
+PocketChange.addListener(new PCListener() {
+ public void onCurrencyUpdate() {
+ // called after the SDK successfully contacts the server
+ }
+ public void onConnectionFailure() {
+ // called after the SDK fails to contact the server
+ }
+});
+```
+
+### Update Your ProGuard Configuration
+If you use ProGuard to obfuscate your application's source code, you must
+update your configuration or the application will either fail to build or
+malfunction. You can find the configuration the SDK requires in
+pocketchange/proguard.cfg. Merge this configuration into your application's
+proguard.cfg file, and your application should build and function correctly.
+
+In cases where your application contains a conflicting or duplicate obfuscation
+setting, select the most permissive combination of settings. For example, if your
+proguard.cfg file contains:
+
+```
+-keep public class * extends AnInterface;
+```
+
+and the SDK configuration contains:
+
+```
+-keep class * extends AnInterface;
+```
+
+then the merged version should use the keep directive from the SDK configuration,
+as the SDK preserves all classes extending AnInterface, regardless of their
+visibility, whereas your application only preserves public classes implementing
+the interface.
+
+
+## <a name="testing"></a>Testing Instructions
+
+You can use test mode to try out your integration in a safe environment. Transactions will not by processed by your credit card provider and you can use the following test CC credentials: #4242424242424242 CVC: 999 Exp: 12/2013. To enable test mode replace your initialize statement with:
+
+```java
+PocketChange.initializeInTestMode(getApplicationContext(), APP_ID);
+```
+
+Note: when the bank comes up there will be a banner indicating that you're in a test environment. **You must change the initialize call back before you
+release your app to the store, otherwise transactions will not go through.**
+
+[1]: http://dl.dropbox.com/u/68268326/sdk-doc-images/add_library_dialog.png
+[2]: http://www.eclipse.org/downloads/
+[3]: http://developer.android.com/sdk/index.html
+[4]: http://developer.android.com/sdk/eclipse-adt.html
+[5]: https://github.com/pocketchange/pocketchange-android-sdk/blob/master/README-Unity.md
9 pocketchange/.classpath
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="src" path="gen"/>
+ <classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>
+ <classpathentry kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/4"/>
+ <classpathentry kind="output" path="bin/classes"/>
+</classpath>
33 pocketchange/.project
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>pocketchange-android-sdk</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>com.android.ide.eclipse.adt.ResourceManagerBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>com.android.ide.eclipse.adt.PreCompilerBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>com.android.ide.eclipse.adt.ApkBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>com.android.ide.eclipse.adt.AndroidNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
41 pocketchange/AndroidManifest.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ * Copyright (C) 2012 Lunch Money Inc.
+ *
+-->
+
+<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.pocketchange.android">
+ <uses-sdk android:minSdkVersion="7" />
+
+ <uses-permission android:name="android.permission.GET_ACCOUNTS"></uses-permission>
+ <uses-permission android:name="android.permission.USE_CREDENTIALS"></uses-permission>
+ <uses-permission android:name="android.permission.INTERNET"></uses-permission>
+ <uses-permission android:name="android.permission.READ_PHONE_STATE"></uses-permission>
+
+ <application>
+ <activity
+ android:name="com.pocketchange.android.BankActivity"
+ android:configChanges="orientation|keyboardHidden"
+ android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen">
+ </activity>
+ <activity
+ android:name="com.pocketchange.android.installer.AppInstallActivity"
+ android:theme="@android:style/Theme.NoTitleBar">
+ </activity>
+ <activity
+ android:name="com.pocketchange.android.installer.AcceptPermissionsActivity"
+ android:theme="@android:style/Theme.NoTitleBar">
+ </activity>
+ <activity
+ android:name="com.pocketchange.android.purchasing.client.PurchasingActivity"
+ android:theme="@android:style/Theme.NoTitleBar">
+ </activity>
+
+ <service android:name="com.pocketchange.android.purchasing.client.PurchasingReceiverService" />
+ <receiver android:name="com.pocketchange.android.purchasing.client.PurchasingReceiver">
+ <intent-filter>
+ <action android:name="com.pocketchange.android.purchasing.PURCHASING_SUPPORTED" />
+ </intent-filter>
+ </receiver>
+ </application>
+</manifest>
BIN  pocketchange/PocketChangeAndroid.unitypackage
Binary file not shown
BIN  pocketchange/libs/android-support-v4.jar
Binary file not shown
BIN  pocketchange/libs/pocketchange-android-sdk.jar
Binary file not shown
15 pocketchange/proguard.cfg
@@ -0,0 +1,15 @@
+-dontusemixedcaseclassnames
+-dontskipnonpubliclibraryclasses
+-dontwarn android.support.**
+
+-keepattributes Signature
+
+-keep public class com.android.vending.billing.IMarketBillingService {
+ public <methods>;
+}
+-keep class com.android.vending.billing.IMarketBillingService$* {
+ *;
+}
+-keep class com.pocketchange.android.** {
+ *;
+}
12 pocketchange/project.properties
@@ -0,0 +1,12 @@
+# This file is automatically generated by Android Tools.
+# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
+#
+# This file must be checked in Version Control Systems.
+#
+# To customize properties used by the Ant build system use,
+# "ant.properties", and override values to adapt the script to your
+# project structure.
+
+android.library=true
+# Project target.
+target=android-7
4 pocketchange/res/anim/pc_decrement_tokens.xml
@@ -0,0 +1,4 @@
+<set xmlns:android="http://schemas.android.com/apk/res/android">
+ <alpha android:fromAlpha="1.0" android:toAlpha="0.0" android:duration="700" />
+ <alpha android:fromAlpha="0.0" android:toAlpha="1.0" android:duration="700" />
+</set>
BIN  pocketchange/res/drawable-hdpi/pc_added_tokens_container.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN  pocketchange/res/drawable-hdpi/pc_gifted_tokens_container.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN  pocketchange/res/drawable-hdpi/pc_installer_permission_prompt_icon.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN  pocketchange/res/drawable-hdpi/pc_out_of_tokens_container0.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN  pocketchange/res/drawable-hdpi/pc_out_of_tokens_container1.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN  pocketchange/res/drawable-hdpi/pc_tokens_container.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN  pocketchange/res/drawable-hdpi/pc_unlocked_game.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN  pocketchange/res/drawable-ldpi/pc_installer_permission_prompt_icon.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN  pocketchange/res/drawable-mdpi/pc_installer_permission_prompt_icon.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN  pocketchange/res/drawable-xhdpi/pc_added_tokens_container.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN  pocketchange/res/drawable-xhdpi/pc_gifted_tokens_container.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN  pocketchange/res/drawable-xhdpi/pc_out_of_tokens_container0.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN  pocketchange/res/drawable-xhdpi/pc_out_of_tokens_container1.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN  pocketchange/res/drawable-xhdpi/pc_tokens_container.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN  pocketchange/res/drawable-xhdpi/pc_unlocked_game.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN  pocketchange/res/drawable/pc_added_tokens_container.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN  pocketchange/res/drawable/pc_gifted_tokens_container.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
11 pocketchange/res/drawable/pc_installer_permission_list_item_marker.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+ android:shape="oval">
+ <size
+ android:height="5dp"
+ android:width="5dp"
+ ></size>
+ <solid
+ android:color="@color/pc_installer_permission_prompt_list_marker_color"
+ />
+</shape>
8 pocketchange/res/drawable/pc_installer_permission_prompt_gradient.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+ android:shape="rectangle">
+ <gradient
+ android:startColor="#00000000"
+ android:endColor="#272d33"
+ android:angle="270" />
+</shape>
7 pocketchange/res/drawable/pc_out_of_tokens_animation.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<animation-list xmlns:android="http://schemas.android.com/apk/res/android" android:oneshot="false" >
+
+<item android:drawable="@drawable/pc_out_of_tokens_container0" android:duration="200" />
+<item android:drawable="@drawable/pc_out_of_tokens_container1" android:duration="200" />
+
+</animation-list>
BIN  pocketchange/res/drawable/pc_out_of_tokens_container0.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN  pocketchange/res/drawable/pc_out_of_tokens_container1.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
27 pocketchange/res/drawable/pc_tokens_added_animation.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<animation-list xmlns:android="http://schemas.android.com/apk/res/android" android:oneshot="true">
+
+<item android:drawable="@drawable/pc_tokens_container" android:duration="200" />
+<item android:drawable="@drawable/pc_added_tokens_container" android:duration="200" />
+
+<item android:drawable="@drawable/pc_tokens_container" android:duration="200" />
+<item android:drawable="@drawable/pc_added_tokens_container" android:duration="200" />
+
+<item android:drawable="@drawable/pc_tokens_container" android:duration="200" />
+<item android:drawable="@drawable/pc_added_tokens_container" android:duration="200" />
+
+<item android:drawable="@drawable/pc_tokens_container" android:duration="200" />
+<item android:drawable="@drawable/pc_added_tokens_container" android:duration="200" />
+
+<item android:drawable="@drawable/pc_tokens_container" android:duration="200" />
+<item android:drawable="@drawable/pc_added_tokens_container" android:duration="200" />
+
+<item android:drawable="@drawable/pc_tokens_container" android:duration="200" />
+<item android:drawable="@drawable/pc_added_tokens_container" android:duration="200" />
+
+<item android:drawable="@drawable/pc_tokens_container" android:duration="200" />
+<item android:drawable="@drawable/pc_added_tokens_container" android:duration="200" />
+<item android:drawable="@drawable/pc_tokens_container" android:duration="200" />
+
+
+</animation-list>
BIN  pocketchange/res/drawable/pc_tokens_container.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN  pocketchange/res/drawable/pc_transparent_container.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN  pocketchange/res/drawable/pc_unlocked_game.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
6 pocketchange/res/layout/pc_bank.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<WebView xmlns:android="http://schemas.android.com/apk/res/android"
+ android:id="@+id/pcBank"
+ android:layout_width="fill_parent"
+ android:layout_height="fill_parent"
+/>
38 pocketchange/res/layout/pc_gifted_token_counter.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="utf-8"?>
+ <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content" >
+
+ <ImageView
+ android:id="@+id/pcTokenContainer"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:adjustViewBounds="true"
+ android:contentDescription="@string/pc_image"
+ android:src="@drawable/pc_gifted_tokens_container" />
+
+
+
+ <TextView
+ android:id="@+id/pcGiftedTokenCountText"
+ android:layout_width="20dp"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="8dp"
+ android:layout_marginLeft="46dp"
+ android:textStyle="bold"
+ android:textColor="#ffffff"
+ android:textSize="14sp"
+ android:gravity="center" />
+
+ <TextView
+ android:id="@+id/pcTokenCountText"
+ android:layout_width="30dp"
+ android:layout_height="wrap_content"
+ android:layout_toRightOf="@id/pcGiftedTokenCountText"
+ android:textStyle="bold"
+ android:typeface="sans"
+ android:textSize="10sp"
+ android:layout_marginTop="11dp"
+ android:gravity="center" />
+
+ </RelativeLayout>
38 pocketchange/res/layout/pc_installer_permission_list_item.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:id="@+id/pc_installer_permission_list_item_container"
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:orientation="horizontal">
+ <ImageView
+ android:id="@+id/pc_installer_permission_list_item_marker"
+ android:layout_width="@dimen/pc_installer_permission_prompt_half_text_size"
+ android:layout_height="@dimen/pc_installer_permission_prompt_half_text_size"
+ android:layout_marginTop="@dimen/pc_installer_permission_prompt_half_text_size"
+ android:layout_marginLeft="20dp"
+ android:layout_marginRight="10dp"
+ android:src="@drawable/pc_installer_permission_list_item_marker"
+ android:contentDescription="@string/pc_installer_permission_list_item_marker_description"
+ />
+ <LinearLayout
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:orientation="vertical">
+ <TextView
+ android:id="@+id/pc_installer_permission_list_item_label"
+ style="@style/PCInstallerPermissionPromptText"
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:textColor="@color/pc_installer_permission_prompt_light_text_color"
+ android:textStyle="bold"
+ />
+ <TextView
+ android:id="@+id/pc_installer_permission_list_item_permissions_list"
+ style="@style/PCInstallerPermissionPromptText"
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:textColor="@color/pc_installer_permission_prompt_dark_text_color"
+ android:textSize="@dimen/pc_installer_permission_prompt_small_text_size"
+ />
+ </LinearLayout>
+</LinearLayout>
97 pocketchange/res/layout/pc_installer_permission_prompt.xml
@@ -0,0 +1,97 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:id="@+id/pc_installer_permission_prompt_container"
+ android:layout_width="fill_parent"
+ android:layout_height="fill_parent"
+ android:paddingTop="15dp"
+ android:paddingLeft="15dp"
+ android:paddingRight="15dp"
+ android:background="@drawable/pc_installer_permission_prompt_gradient"
+ android:orientation="vertical">
+ <RelativeLayout
+ android:id="@+id/pc_installer_permission_prompt_header"
+ android:layout_width="fill_parent"
+ android:layout_height="48dp"
+ android:orientation="horizontal">
+ <ImageView
+ android:id="@+id/pc_installer_permission_prompt_icon"
+ android:layout_width="48dp"
+ android:layout_height="fill_parent"
+ android:src="@drawable/pc_installer_permission_prompt_icon"
+ android:contentDescription="@string/pc_installer_permission_prompt_icon_description"
+ />
+ <TextView
+ style="@style/PCInstallerPermissionPromptText"
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginLeft="15dp"
+ android:layout_toRightOf="@id/pc_installer_permission_prompt_icon"
+ android:layout_centerVertical="true"
+ android:textSize="22sp"
+ android:text="@string/pc_installer_permission_prompt_title"
+ />
+ </RelativeLayout>
+ <View
+ android:id="@+id/pc_installer_permission_prompt_header_divider"
+ android:layout_width="fill_parent"
+ android:layout_height="4dp"
+ android:layout_marginTop="8dp"
+ android:layout_marginBottom="15dp"
+ android:background="@color/pc_installer_permission_prompt_dark_divider_color"
+ />
+ <TextView
+ android:id="@+id/pc_installer_permission_prompt_intro_text"
+ style="@style/PCInstallerPermissionPromptText"
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginLeft="5dp"
+ android:layout_marginBottom="15dp"
+ android:text="@string/pc_installer_permission_prompt_intro_text"
+ />
+ <ListView
+ android:id="@+id/pc_installer_permission_prompt_permission_list"
+ android:layout_width="fill_parent"
+ android:layout_height="0dp"
+ android:layout_weight="1"
+ android:layout_marginLeft="5dp"
+ android:divider="@android:color/transparent"
+ android:dividerHeight="10dp"
+ android:listSelector="@android:color/transparent"
+ android:cacheColorHint="@android:color/transparent"
+ android:headerDividersEnabled="false"
+ />
+ <View
+ android:id="@+id/pc_installer_permission_prompt_footer_divider"
+ android:background="@color/pc_installer_permission_prompt_light_divider_color"
+ android:layout_width="fill_parent"
+ android:layout_height="1dp"
+ />
+ <LinearLayout
+ android:id="@+id/pc_installer_permission_prompt_footer"
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:orientation="horizontal"
+ android:weightSum="1.0">
+ <Button
+ android:id="@+id/pc_installer_permission_prompt_cancel_button"
+ style="@style/PCInstallerPermissionPromptButton"
+ android:layout_weight="0.5"
+ android:text="@string/pc_installer_permission_prompt_cancel_button"
+ android:onClick="onCancel"
+ />
+ <View
+ android:background="@color/pc_installer_permission_prompt_light_divider_color"
+ android:layout_width="1dp"
+ android:layout_height="fill_parent"
+ android:layout_marginTop="10dp"
+ android:layout_marginBottom="10dp"
+ />
+ <Button
+ android:id="@+id/pc_installer_permission_prompt_install_button"
+ style="@style/PCInstallerPermissionPromptButton"
+ android:layout_weight="0.5"
+ android:text="@string/pc_installer_permission_prompt_install_button"
+ android:onClick="onAccept"
+ />
+ </LinearLayout>
+</LinearLayout>
8 pocketchange/res/layout/pc_installer_permission_prompt_permission_list_header.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<TextView xmlns:android="http://schemas.android.com/apk/res/android"
+ android:id="@+id/pc_installer_permission_list_header"
+ style="@style/PCInstallerPermissionPromptText"
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:text="@string/pc_installer_permission_prompt_permission_list_header_text"
+/>
28 pocketchange/res/layout/pc_token_counter.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="utf-8"?>
+ <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ >
+
+ <ImageView
+ android:id="@+id/pcTokenContainer"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:adjustViewBounds="true"
+ android:contentDescription="@string/pc_image"
+ android:src="@drawable/pc_transparent_container"
+ />
+
+ <TextView
+ android:id="@+id/pcTokenCountText"
+ android:layout_width="60dp"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="10dp"
+ android:layout_marginLeft="42dp"
+ android:gravity="center"
+ android:textSize="12sp"
+ android:textColor="#ffffff"
+ android:textStyle="bold"
+ android:typeface="sans" />
+
+ </RelativeLayout>
2  pocketchange/res/raw/localsettings
@@ -0,0 +1,2 @@
+debug=true
+apiURL=http://10.0.2.2:3000
2  pocketchange/res/raw/sandboxsettings
@@ -0,0 +1,2 @@
+debug=true
+apiURL=https://sandbox.pocketchange.com
70 pocketchange/res/values/pc_strings.xml
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <string name="pc_token_counter_container">Token Counter Container</string>
+ <string name="pc_image">PC Image</string>
+
+ <string name="pc_installer_no_accounts_dialog_title">No Accounts Available</string>
+ <string name="pc_installer_no_accounts_dialog_message">You do not have any accounts capable of downloading the application.</string>
+ <string name="pc_installer_no_accounts_dialog_ok_button">OK</string>
+
+ <string name="pc_installer_error_loading_accounts_dialog_title">Account Retrieval Error</string>
+ <string name="pc_installer_error_loading_accounts_dialog_message">There was an error retrieving your account information. Typically, such errors occur due to network connectivity issues. Would you like to retry?</string>
+ <string name="pc_installer_error_loading_accounts_dialog_retry_button">Retry</string>
+ <string name="pc_installer_error_loading_accounts_dialog_cancel_button">Cancel</string>
+
+ <string name="pc_installer_select_account_dialog_title">Select Account</string>
+ <string name="pc_installer_select_account_dialog_message">Please select the Android Market account you would like to use to install the application</string>
+ <string name="pc_installer_select_account_dialog_refresh_button">Refresh Accounts</string>
+
+ <string name="pc_installer_error_retrieving_auth_token_dialog_title">Authentication Error</string>
+ <string name="pc_installer_error_retrieving_auth_token_dialog_message">There was an error retrieving an authentication token for your account. Would you like to retry?</string>
+ <string name="pc_installer_error_retrieving_auth_token_dialog_retry_button">Retry</string>
+ <string name="pc_installer_error_retrieving_auth_token_dialog_cancel_button">Cancel</string>
+
+ <string name="pc_installer_error_retrieving_permissions_dialog_title">Network Error</string>
+ <string name="pc_installer_error_retrieving_permissions_dialog_message">There was an error retrieving information about the application, most likely due to a network outage. Would you like to retry?</string>
+ <string name="pc_installer_error_retrieving_permissions_dialog_retry_button">Retry</string>
+ <string name="pc_installer_error_retrieving_permissions_dialog_cancel_button">Cancel</string>
+
+ <string name="pc_installer_error_signing_in_dialog_title">Sign In Error</string>
+ <string name="pc_installer_error_signing_in_dialog_message">There was an error signing in to your account. Typically, such errors occur due to network connectivity issues. Would you like to retry?</string>
+ <string name="pc_installer_error_signing_in_dialog_retry_button">Retry</string>
+ <string name="pc_installer_error_signing_in_dialog_cancel_button">Cancel</string>
+
+ <string name="pc_installer_no_devices_dialog_title">No Devices Found</string>
+ <string name="pc_installer_no_devices_dialog_message">You do not have any devices linked to the provided account which can download the application.</string>
+ <string name="pc_installer_no_devices_dialog_ok_button">OK</string>
+ <string name="pc_installer_no_devices_dialog_select_another_account_button">Select Another Account</string>
+ <string name="pc_installer_no_devices_dialog_cancel_button">Cancel</string>
+
+ <string name="pc_installer_select_device_dialog_title">Select Your Device</string>
+
+ <string name="pc_installer_incompatible_device_dialog_title">Incompatible Device</string>
+ <string name="pc_installer_incompatible_device_dialog_message">The device you selected cannot install the application.</string>
+ <string name="pc_installer_incompatible_device_dialog_select_alternate_device_button">Select Another Device</string>
+ <string name="pc_installer_incompatible_device_dialog_cancel_button">Cancel</string>
+ <string name="pc_installer_incompatible_device_dialog_ok_button">OK</string>
+
+ <string name="pc_installer_install_error_dialog_title">Installation Error</string>
+ <string name="pc_installer_install_error_dialog_message">There was an error installing the application. Typically, such errors occur due to network connectivity issues. Would you like to retry?</string>
+ <string name="pc_installer_install_error_dialog_retry_button">Retry</string>
+ <string name="pc_installer_install_error_dialog_cancel_button">Cancel</string>
+
+ <string name="pc_installer_progress_dialog_loading_account_information_message">Loading account information...</string>
+ <string name="pc_installer_progress_dialog_retrieving_app_info_message">Retrieving app info...</string>
+ <string name="pc_installer_progress_dialog_signing_in_message">Signing in...</string>
+ <string name="pc_installer_progress_dialog_checking_install_permitted_message">Checking device compatibility...</string>
+ <string name="pc_installer_progress_dialog_initiating_install_message">Initiating installation...</string>
+ <string name="pc_installer_progress_dialog_installing_message">Installing...</string>
+
+ <string name="pc_installer_permission_prompt_icon_description">Application icon</string>
+ <string name="pc_installer_permission_prompt_title">PocketChange</string>
+ <string name="pc_installer_permission_prompt_intro_text">Do you want to install this application?</string>
+ <string name="pc_installer_permission_prompt_permission_list_header_text">Allow this application to:</string>
+ <string name="pc_installer_permission_prompt_cancel_button">Cancel</string>
+ <string name="pc_installer_permission_prompt_install_button">Install</string>
+ <string name="pc_installer_permission_list_item_marker_description">Item Marker</string>
+ <string name="pc_installer_permission_list_uncategorized_permission_group_label">Other</string>
+
+ <string name="pc_purchasing_progress_dialog_connecting_message">Connecting...</string>
+</resources>
24 pocketchange/res/values/pc_styles.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <color name="pc_installer_permission_prompt_list_marker_color">#ffffff</color>
+ <color name="pc_installer_permission_prompt_default_text_color">#f3f3f3</color>
+ <color name="pc_installer_permission_prompt_light_text_color">#ffffff</color>
+ <color name="pc_installer_permission_prompt_dark_text_color">#bebebe</color>
+ <color name="pc_installer_permission_prompt_light_divider_color">#44484d</color>
+ <color name="pc_installer_permission_prompt_dark_divider_color">#1f2021</color>
+ <dimen name="pc_installer_permission_prompt_text_size">18sp</dimen>
+ <dimen name="pc_installer_permission_prompt_half_text_size">9sp</dimen>
+ <dimen name="pc_installer_permission_prompt_small_text_size">14sp</dimen>
+
+ <style name="PCInstallerPermissionPromptText">
+ <item name="android:textSize">@dimen/pc_installer_permission_prompt_text_size</item>
+ <item name="android:textColor">@color/pc_installer_permission_prompt_default_text_color</item>
+ </style>
+ <style name="PCInstallerPermissionPromptButton" parent="@style/PCInstallerPermissionPromptText">
+ <item name="android:background">@android:color/transparent</item>
+ <item name="android:paddingTop">10dp</item>
+ <item name="android:paddingBottom">10dp</item>
+ <item name="android:layout_width">wrap_content</item>
+ <item name="android:layout_height">wrap_content</item>
+ </style>
+</resources>
0  pocketchange/src/.gitkeep
No changes.
Please sign in to comment.
Something went wrong with that request. Please try again.