Commit 51314e2bf10755bd85a9c9b7f9928f5fcb8fd7ee
1 parent
9f8c42483b
Exists in
master
3.2.0版本
增加facebook sdk登录 重构回调方式,不依赖activity
Showing 17 changed files with 554 additions and 105 deletions Inline Diff
- android/GameSDKRelease/.gitignore
- android/GameSDKRelease/libs/GameSDK_v3.1.1_proguard.jar
- android/GameSDKRelease/libs/GameSDK_v3.2.0_proguard.jar
- android/GameSDKRelease/libs/android-support-v4.jar
- android/GameSDKRelease/lint.xml
- android/GameSDKRelease/project.properties
- android/GameSDKSample/.gitignore
- android/GameSDKSample/AndroidManifest.xml
- android/GameSDKSample/GameSDKSample.iml
- android/GameSDKSample/build.gradle
- android/GameSDKSample/gradlew
- android/GameSDKSample/gradlew.bat
- android/GameSDKSample/lint.xml
- android/GameSDKSample/local.properties
- android/GameSDKSample/project.properties
- android/GameSDKSample/settings.gradle
- android/GameSDKSample/src/com/gumptech/loginsdk/sample/MainActivity.java
android/GameSDKRelease/.gitignore
1 | /bin/ | 1 | /bin/ |
2 | |||
2 | /gen/ | 3 | /gen/ |
4 | |||
3 | .classpath | 5 | .classpath |
android/GameSDKRelease/libs/GameSDK_v3.1.1_proguard.jar
No preview for this file type
android/GameSDKRelease/libs/GameSDK_v3.2.0_proguard.jar
No preview for this file type
android/GameSDKRelease/libs/android-support-v4.jar
No preview for this file type
android/GameSDKRelease/lint.xml
1 | <?xml version="1.0" encoding="UTF-8"?> | File was deleted | |
2 | <lint> | ||
3 | <issue id="MissingTranslation" severity="warning" /> | ||
4 | </lint> |
android/GameSDKRelease/project.properties
1 | # This file is automatically generated by Android Tools. | 1 | # This file is automatically generated by Android Tools. |
2 | # Do not modify this file -- YOUR CHANGES WILL BE ERASED! | 2 | # Do not modify this file -- YOUR CHANGES WILL BE ERASED! |
3 | # | 3 | # |
4 | # This file must be checked in Version Control Systems. | 4 | # This file must be checked in Version Control Systems. |
5 | # | 5 | # |
6 | # To customize properties used by the Ant build system edit | 6 | # To customize properties used by the Ant build system edit |
7 | # "ant.properties", and override values to adapt the script to your | 7 | # "ant.properties", and override values to adapt the script to your |
8 | # project structure. | 8 | # project structure. |
9 | # | 9 | # |
10 | # To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home): | 10 | # To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home): |
11 | #proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt | 11 | #proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt |
12 | 12 | ||
13 | # Project target. | 13 | # Project target. |
14 | target=android-18 | 14 | target=android-18 |
15 | android.library=true | 15 | android.library=true |
16 | android.library.reference.1=../../../../../facebook | ||
16 | 17 |
android/GameSDKSample/.gitignore
1 | /gen/ | 1 | /gen/ |
2 | |||
2 | /bin/ | 3 | /bin/ |
4 | |||
5 | /build | ||
6 | |||
7 | /gradle | ||
8 | |||
9 | /.gradle | ||
10 | /.idea |
android/GameSDKSample/AndroidManifest.xml
1 | <?xml version="1.0" encoding="utf-8"?> | 1 | <?xml version="1.0" encoding="utf-8"?> |
2 | <manifest xmlns:android="http://schemas.android.com/apk/res/android" | 2 | <manifest xmlns:android="http://schemas.android.com/apk/res/android" |
3 | package="com.loginsdk.sample" | 3 | package="com.loginsdk.sample" |
4 | android:versionCode="6" | 4 | android:versionCode="6" |
5 | android:versionName="1.6" > | 5 | android:versionName="1.6"> |
6 | 6 | ||
7 | <uses-sdk | 7 | <uses-sdk |
8 | android:minSdkVersion="8" | 8 | android:minSdkVersion="9" |
9 | android:targetSdkVersion="8" /> | 9 | android:targetSdkVersion="22" /> |
10 | 10 | ||
11 | <uses-permission android:name="android.permission.INTERNET" /> | 11 | <uses-permission android:name="android.permission.INTERNET" /> |
12 | <uses-permission android:name="android.permission.READ_PHONE_STATE" /> | 12 | <uses-permission android:name="android.permission.READ_PHONE_STATE" /> |
13 | <uses-permission android:name="android.permission.BLUETOOTH" /> | 13 | <uses-permission android:name="android.permission.BLUETOOTH" /> |
14 | <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> | 14 | <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> |
15 | <uses-permission android:name="android.permission.WRITE_SETTINGS" /> | 15 | <uses-permission android:name="android.permission.WRITE_SETTINGS" /> |
16 | <uses-permission android:name="android.permission.GET_ACCOUNTS" /> | 16 | <uses-permission android:name="android.permission.GET_ACCOUNTS" /> |
17 | <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> | 17 | <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> |
18 | <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> | 18 | <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> |
19 | <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" /> | 19 | <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" /> |
20 | <!-- upay --> | 20 | <!-- upay --> |
21 | <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> | 21 | <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> |
22 | <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> | 22 | <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> |
23 | <uses-permission android:name="android.permission.VIBRATE" /> | 23 | <uses-permission android:name="android.permission.VIBRATE" /> |
24 | <uses-permission android:name="android.permission.SEND_SMS" /> | 24 | <uses-permission android:name="android.permission.SEND_SMS" /> |
25 | <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" /> | 25 | <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" /> |
26 | <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> | 26 | <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> |
27 | <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> | 27 | <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> |
28 | <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> | 28 | <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> |
29 | <!-- for card.io card scanning --> | 29 | <!-- for card.io card scanning --> |
30 | <uses-permission android:name="android.permission.CAMERA" /> | 30 | <uses-permission android:name="android.permission.CAMERA" /> |
31 | <!-- coda --> | 31 | <!-- coda --> |
32 | <uses-permission android:name="android.permission.RECEIVE_SMS" /> | 32 | <uses-permission android:name="android.permission.RECEIVE_SMS" /> |
33 | <uses-permission android:name="android.permission.READ_SMS" /> | 33 | <uses-permission android:name="android.permission.READ_SMS" /> |
34 | <uses-permission android:name="android.permission.WRITE_SMS" /> | 34 | <uses-permission android:name="android.permission.WRITE_SMS" /> |
35 | <uses-permission android:name="android.permission.GET_TASKS" /> | 35 | <uses-permission android:name="android.permission.GET_TASKS" /> |
36 | 36 | ||
37 | <!-- VERY IMPORTANT! Don't forget this permission, or in-app billing won't work. --> | 37 | <!-- VERY IMPORTANT! Don't forget this permission, or in-app billing won't work. --> |
38 | <uses-permission android:name="com.android.vending.BILLING" /> | 38 | <uses-permission android:name="com.android.vending.BILLING" /> |
39 | 39 | ||
40 | <application | 40 | <application |
41 | android:allowBackup="true" | 41 | android:allowBackup="true" |
42 | android:icon="@drawable/ic_launcher" | 42 | android:icon="@drawable/ic_launcher" |
43 | android:label="@string/app_name" > | 43 | android:label="@string/app_name"> |
44 | <activity | 44 | <activity |
45 | android:name="com.gumptech.loginsdk.sample.MainActivity" | 45 | android:name="com.gumptech.loginsdk.sample.MainActivity" |
46 | android:configChanges="navigation|orientation|keyboard" | 46 | android:configChanges="navigation|orientation|keyboard" |
47 | android:label="@string/app_name" | 47 | android:label="@string/app_name" |
48 | android:screenOrientation="portrait" > | 48 | android:screenOrientation="portrait"> |
49 | <intent-filter> | 49 | <intent-filter> |
50 | <action android:name="android.intent.action.MAIN" /> | 50 | <action android:name="android.intent.action.MAIN" /> |
51 | 51 | ||
52 | <category android:name="android.intent.category.LAUNCHER" /> | 52 | <category android:name="android.intent.category.LAUNCHER" /> |
53 | </intent-filter> | 53 | </intent-filter> |
54 | </activity> | 54 | </activity> |
55 | <activity | 55 | <activity |
56 | android:name="com.gumptech.sdk.ContainerActivity" | 56 | android:name="com.gumptech.sdk.ContainerActivity" |
57 | android:configChanges="orientation|screenLayout" | 57 | android:configChanges="orientation|screenLayout" |
58 | android:theme="@style/container_dialog" > | 58 | android:theme="@style/container_dialog"></activity> |
59 | </activity> | ||
60 | <activity | 59 | <activity |
61 | android:name="com.gumptech.sdk.PaymentActivity" | 60 | android:name="com.gumptech.sdk.PaymentActivity" |
62 | android:configChanges="orientation|screenLayout" | 61 | android:configChanges="orientation|screenLayout" |
63 | android:theme="@android:style/Theme.Translucent.NoTitleBar" > | 62 | android:theme="@android:style/Theme.Translucent.NoTitleBar"></activity> |
64 | </activity> | ||
65 | <activity | 63 | <activity |
66 | android:name="com.gumptech.sdk.ExchangeWindow" | 64 | android:name="com.gumptech.sdk.ExchangeWindow" |
67 | android:configChanges="orientation|screenLayout" | 65 | android:configChanges="orientation|screenLayout" |
68 | android:theme="@style/ex_win" > | 66 | android:theme="@style/ex_win"></activity> |
69 | </activity> | ||
70 | 67 | ||
71 | <service android:name="com.gumptech.sdk.PushService" > | 68 | <service android:name="com.gumptech.sdk.PushService"></service> |
72 | </service> | 69 | |
70 | <activity | ||
71 | android:name="com.facebook.FacebookActivity" | ||
72 | android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation" | ||
73 | android:label="@string/app_name" | ||
74 | android:theme="@android:style/Theme.Translucent.NoTitleBar" /> |
android/GameSDKSample/GameSDKSample.iml
File was created | 1 | <?xml version="1.0" encoding="UTF-8"?> | |
2 | <module external.linked.project.id="GameSDKSample" external.linked.project.path="$MODULE_DIR$" external.root.project.path="$MODULE_DIR$" external.system.id="GRADLE" external.system.module.group="" external.system.module.version="unspecified" type="JAVA_MODULE" version="4"> | ||
3 | <component name="FacetManager"> | ||
4 | <facet type="android-gradle" name="Android-Gradle"> | ||
5 | <configuration> | ||
6 | <option name="GRADLE_PROJECT_PATH" value=":" /> | ||
7 | </configuration> | ||
8 | </facet> | ||
9 | <facet type="java-gradle" name="Java-Gradle"> | ||
10 | <configuration> | ||
11 | <option name="BUILD_FOLDER_PATH" value="$MODULE_DIR$/build" /> | ||
12 | <option name="BUILDABLE" value="false" /> | ||
13 | </configuration> | ||
14 | </facet> | ||
15 | <facet type="android" name="Android"> | ||
16 | <configuration> | ||
17 | <option name="SELECTED_BUILD_VARIANT" value="release" /> | ||
18 | <option name="SELECTED_TEST_ARTIFACT" value="_android_test_" /> | ||
19 | <option name="ASSEMBLE_TASK_NAME" value="assembleRelease" /> | ||
20 | <option name="COMPILE_JAVA_TASK_NAME" value="compileReleaseSources" /> | ||
21 | <option name="SOURCE_GEN_TASK_NAME" value="generateReleaseSources" /> | ||
22 | <option name="ALLOW_USER_CONFIGURATION" value="false" /> | ||
23 | <option name="RES_FOLDERS_RELATIVE_PATH" value="file://$MODULE_DIR$/res" /> | ||
24 | </configuration> | ||
25 | </facet> | ||
26 | </component> | ||
27 | <component name="NewModuleRootManager" inherit-compiler-output="false"> | ||
28 | <output url="file://$MODULE_DIR$/build/intermediates/classes/release" /> | ||
29 | <output-test url="file://$MODULE_DIR$/build/intermediates/classes/androidTest/debug" /> | ||
30 | <exclude-output /> | ||
31 | <content url="file://$MODULE_DIR$"> | ||
32 | <sourceFolder url="file://$MODULE_DIR$/build/generated/source/r/release" isTestSource="false" generated="true" /> | ||
33 | <sourceFolder url="file://$MODULE_DIR$/build/generated/source/aidl/release" isTestSource="false" generated="true" /> | ||
34 | <sourceFolder url="file://$MODULE_DIR$/build/generated/source/buildConfig/release" isTestSource="false" generated="true" /> | ||
35 | <sourceFolder url="file://$MODULE_DIR$/build/generated/source/rs/release" isTestSource="false" generated="true" /> | ||
36 | <sourceFolder url="file://$MODULE_DIR$/build/generated/res/rs/release" type="java-resource" /> | ||
37 | <sourceFolder url="file://$MODULE_DIR$/build/generated/res/generated/release" type="java-resource" /> | ||
38 | <sourceFolder url="file://$MODULE_DIR$/build-types/release/res" type="java-resource" /> | ||
39 | <sourceFolder url="file://$MODULE_DIR$/build-types/release/resources" type="java-resource" /> | ||
40 | <sourceFolder url="file://$MODULE_DIR$/build-types/release/assets" type="java-resource" /> | ||
41 | <sourceFolder url="file://$MODULE_DIR$/build-types/release/aidl" isTestSource="false" /> | ||
42 | <sourceFolder url="file://$MODULE_DIR$/build-types/release/java" isTestSource="false" /> | ||
43 | <sourceFolder url="file://$MODULE_DIR$/build-types/release/jni" isTestSource="false" /> | ||
44 | <sourceFolder url="file://$MODULE_DIR$/build-types/release/rs" isTestSource="false" /> | ||
45 | <sourceFolder url="file://$MODULE_DIR$/res" type="java-resource" /> | ||
46 | <sourceFolder url="file://$MODULE_DIR$/src" type="java-resource" /> | ||
47 | <sourceFolder url="file://$MODULE_DIR$/assets" type="java-resource" /> | ||
48 | <sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" /> | ||
49 | <sourceFolder url="file://$MODULE_DIR$/src/main/jni" isTestSource="false" /> | ||
50 | <sourceFolder url="file://$MODULE_DIR$/src/androidTest/res" type="java-test-resource" /> | ||
51 | <sourceFolder url="file://$MODULE_DIR$/src/androidTest/resources" type="java-test-resource" /> | ||
52 | <sourceFolder url="file://$MODULE_DIR$/src/androidTest/assets" type="java-test-resource" /> | ||
53 | <sourceFolder url="file://$MODULE_DIR$/src/androidTest/aidl" isTestSource="true" /> | ||
54 | <sourceFolder url="file://$MODULE_DIR$/src/androidTest/java" isTestSource="true" /> | ||
55 | <sourceFolder url="file://$MODULE_DIR$/src/androidTest/jni" isTestSource="true" /> | ||
56 | <sourceFolder url="file://$MODULE_DIR$/src/androidTest/rs" isTestSource="true" /> | ||
57 | <excludeFolder url="file://$MODULE_DIR$/build/intermediates/assets" /> | ||
58 | <excludeFolder url="file://$MODULE_DIR$/build/intermediates/bundles" /> | ||
59 | <excludeFolder url="file://$MODULE_DIR$/build/intermediates/classes" /> | ||
60 | <excludeFolder url="file://$MODULE_DIR$/build/intermediates/coverage-instrumented-classes" /> | ||
61 | <excludeFolder url="file://$MODULE_DIR$/build/intermediates/dependency-cache" /> | ||
62 | <excludeFolder url="file://$MODULE_DIR$/build/intermediates/dex" /> | ||
63 | <excludeFolder url="file://$MODULE_DIR$/build/intermediates/dex-cache" /> | ||
64 | <excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental" /> | ||
65 | <excludeFolder url="file://$MODULE_DIR$/build/intermediates/jacoco" /> | ||
66 | <excludeFolder url="file://$MODULE_DIR$/build/intermediates/javaResources" /> | ||
67 | <excludeFolder url="file://$MODULE_DIR$/build/intermediates/libs" /> | ||
68 | <excludeFolder url="file://$MODULE_DIR$/build/intermediates/lint" /> | ||
69 | <excludeFolder url="file://$MODULE_DIR$/build/intermediates/manifests" /> | ||
70 | <excludeFolder url="file://$MODULE_DIR$/build/intermediates/ndk" /> | ||
71 | <excludeFolder url="file://$MODULE_DIR$/build/intermediates/pre-dexed" /> | ||
72 | <excludeFolder url="file://$MODULE_DIR$/build/intermediates/proguard" /> | ||
73 | <excludeFolder url="file://$MODULE_DIR$/build/intermediates/res" /> | ||
74 | <excludeFolder url="file://$MODULE_DIR$/build/intermediates/rs" /> | ||
75 | <excludeFolder url="file://$MODULE_DIR$/build/intermediates/symbols" /> | ||
76 | <excludeFolder url="file://$MODULE_DIR$/build/outputs" /> | ||
77 | <excludeFolder url="file://$MODULE_DIR$/build/tmp" /> | ||
78 | </content> | ||
79 | <orderEntry type="jdk" jdkName="Android API 22 Platform" jdkType="Android SDK" /> | ||
80 | <orderEntry type="sourceFolder" forTests="false" /> | ||
81 | <orderEntry type="library" exported="" name="bolts-android-1.2.1" level="project" /> | ||
82 | <orderEntry type="library" exported="" name="support-annotations-22.1.1" level="project" /> | ||
83 | <orderEntry type="module" module-name="GameSDK" exported="" /> | ||
84 | </component> | ||
85 | </module> |
android/GameSDKSample/build.gradle
File was created | 1 | buildscript { | |
2 | repositories { | ||
3 | mavenCentral() | ||
4 | } | ||
5 | dependencies { | ||
6 | classpath 'com.android.tools.build:gradle:1.2.3' | ||
7 | } | ||
8 | } | ||
9 | repositories { | ||
10 | mavenCentral() | ||
11 | } | ||
12 | apply plugin: 'com.android.application' | ||
13 | |||
14 | dependencies { | ||
15 | compile fileTree(dir: 'libs', include: '*.jar') | ||
16 | compile project(':GameSDK') | ||
17 | } | ||
18 | |||
19 | android { | ||
20 | signingConfigs { | ||
21 | letsgame { | ||
22 | keyAlias 'ZzTYEadlf2349UIkdf38934KDlsfdKqpzmdhewri387429LKDJL' | ||
23 | keyPassword 'ZDJDLL23YRPQM3BBXjdfpow3KDehwyrojafdajfjadfLDK83I' | ||
24 | storeFile file('E:/cert/letsgame.keystore') | ||
25 | storePassword 'ZDJDLL23YRPQM3BBXjdfpow3KDehwyrojafdajfjadfLDK83I' | ||
26 | } | ||
27 | } | ||
28 | compileSdkVersion 22 | ||
29 | buildToolsVersion '22.0.1' | ||
30 | sourceSets { | ||
31 | main { | ||
32 | manifest.srcFile 'AndroidManifest.xml' | ||
33 | java.srcDirs = ['src'] | ||
34 | resources.srcDirs = ['src'] | ||
35 | aidl.srcDirs = ['src'] | ||
36 | renderscript.srcDirs = ['src'] | ||
37 | res.srcDirs = ['res'] | ||
38 | assets.srcDirs = ['assets'] | ||
39 | } | ||
40 | |||
41 | // Move the tests to tests/java, tests/res, etc... | ||
42 | instrumentTest.setRoot('tests') | ||
43 | |||
44 | // Move the build types to build-types/<type> | ||
45 | // For instance, build-types/debug/java, build-types/debug/AndroidManifest.xml, ... | ||
46 | // This moves them out of them default location under src/<type>/... which would | ||
47 | // conflict with src/ being used by the main source set. | ||
48 | // Adding new build types or product flavors should be accompanied | ||
49 | // by a similar customization. | ||
50 | debug.setRoot('build-types/debug') | ||
51 | release.setRoot('build-types/release') | ||
52 | } | ||
53 | compileOptions { | ||
54 | sourceCompatibility JavaVersion.VERSION_1_7 | ||
55 | targetCompatibility JavaVersion.VERSION_1_7 | ||
56 | } | ||
57 | buildTypes { | ||
58 | release { | ||
59 | signingConfig signingConfigs.letsgame | ||
60 | } | ||
61 | debug { | ||
62 | signingConfig signingConfigs.letsgame | ||
63 | } | ||
64 | } | ||
65 | defaultConfig { | ||
66 | signingConfig signingConfigs.letsgame | ||
67 | } | ||
68 | productFlavors { | ||
69 | } | ||
70 | } | ||
71 |
android/GameSDKSample/gradlew
File was created | 1 | #!/usr/bin/env bash | |
2 | |||
3 | ############################################################################## | ||
4 | ## | ||
5 | ## Gradle start up script for UN*X | ||
6 | ## | ||
7 | ############################################################################## | ||
8 | |||
9 | # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. | ||
10 | DEFAULT_JVM_OPTS="" | ||
11 | |||
12 | APP_NAME="Gradle" | ||
13 | APP_BASE_NAME=`basename "$0"` | ||
14 | |||
15 | # Use the maximum available, or set MAX_FD != -1 to use that value. | ||
16 | MAX_FD="maximum" | ||
17 | |||
18 | warn ( ) { | ||
19 | echo "$*" | ||
20 | } | ||
21 | |||
22 | die ( ) { | ||
23 | echo | ||
24 | echo "$*" | ||
25 | echo | ||
26 | exit 1 | ||
27 | } | ||
28 | |||
29 | # OS specific support (must be 'true' or 'false'). | ||
30 | cygwin=false | ||
31 | msys=false | ||
32 | darwin=false | ||
33 | case "`uname`" in | ||
34 | CYGWIN* ) | ||
35 | cygwin=true | ||
36 | ;; | ||
37 | Darwin* ) | ||
38 | darwin=true | ||
39 | ;; | ||
40 | MINGW* ) | ||
41 | msys=true | ||
42 | ;; | ||
43 | esac | ||
44 | |||
45 | # For Cygwin, ensure paths are in UNIX format before anything is touched. | ||
46 | if $cygwin ; then | ||
47 | [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"` | ||
48 | fi | ||
49 | |||
50 | # Attempt to set APP_HOME | ||
51 | # Resolve links: $0 may be a link | ||
52 | PRG="$0" | ||
53 | # Need this for relative symlinks. | ||
54 | while [ -h "$PRG" ] ; do | ||
55 | ls=`ls -ld "$PRG"` | ||
56 | link=`expr "$ls" : '.*-> \(.*\)$'` | ||
57 | if expr "$link" : '/.*' > /dev/null; then | ||
58 | PRG="$link" | ||
59 | else | ||
60 | PRG=`dirname "$PRG"`"/$link" | ||
61 | fi | ||
62 | done | ||
63 | SAVED="`pwd`" | ||
64 | cd "`dirname \"$PRG\"`/" >&- | ||
65 | APP_HOME="`pwd -P`" | ||
66 | cd "$SAVED" >&- | ||
67 | |||
68 | CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar | ||
69 | |||
70 | # Determine the Java command to use to start the JVM. | ||
71 | if [ -n "$JAVA_HOME" ] ; then | ||
72 | if [ -x "$JAVA_HOME/jre/sh/java" ] ; then | ||
73 | # IBM's JDK on AIX uses strange locations for the executables | ||
74 | JAVACMD="$JAVA_HOME/jre/sh/java" | ||
75 | else | ||
76 | JAVACMD="$JAVA_HOME/bin/java" | ||
77 | fi | ||
78 | if [ ! -x "$JAVACMD" ] ; then | ||
79 | die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME | ||
80 | |||
81 | Please set the JAVA_HOME variable in your environment to match the | ||
82 | location of your Java installation." | ||
83 | fi | ||
84 | else | ||
85 | JAVACMD="java" | ||
86 | which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. | ||
87 | |||
88 | Please set the JAVA_HOME variable in your environment to match the | ||
89 | location of your Java installation." | ||
90 | fi | ||
91 | |||
92 | # Increase the maximum file descriptors if we can. | ||
93 | if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then | ||
94 | MAX_FD_LIMIT=`ulimit -H -n` | ||
95 | if [ $? -eq 0 ] ; then | ||
96 | if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then | ||
97 | MAX_FD="$MAX_FD_LIMIT" | ||
98 | fi | ||
99 | ulimit -n $MAX_FD | ||
100 | if [ $? -ne 0 ] ; then | ||
101 | warn "Could not set maximum file descriptor limit: $MAX_FD" | ||
102 | fi | ||
103 | else | ||
104 | warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" | ||
105 | fi | ||
106 | fi | ||
107 | |||
108 | # For Darwin, add options to specify how the application appears in the dock | ||
109 | if $darwin; then | ||
110 | GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" | ||
111 | fi | ||
112 | |||
113 | # For Cygwin, switch paths to Windows format before running java | ||
114 | if $cygwin ; then | ||
115 | APP_HOME=`cygpath --path --mixed "$APP_HOME"` | ||
116 | CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` | ||
117 | |||
118 | # We build the pattern for arguments to be converted via cygpath | ||
119 | ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` | ||
120 | SEP="" | ||
121 | for dir in $ROOTDIRSRAW ; do | ||
122 | ROOTDIRS="$ROOTDIRS$SEP$dir" | ||
123 | SEP="|" | ||
124 | done | ||
125 | OURCYGPATTERN="(^($ROOTDIRS))" | ||
126 | # Add a user-defined pattern to the cygpath arguments | ||
127 | if [ "$GRADLE_CYGPATTERN" != "" ] ; then | ||
128 | OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" | ||
129 | fi | ||
130 | # Now convert the arguments - kludge to limit ourselves to /bin/sh | ||
131 | i=0 | ||
132 | for arg in "$@" ; do | ||
133 | CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` | ||
134 | CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option | ||
135 | |||
136 | if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition | ||
137 | eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` | ||
138 | else | ||
139 | eval `echo args$i`="\"$arg\"" | ||
140 | fi | ||
141 | i=$((i+1)) | ||
142 | done | ||
143 | case $i in | ||
144 | (0) set -- ;; | ||
145 | (1) set -- "$args0" ;; | ||
146 | (2) set -- "$args0" "$args1" ;; | ||
147 | (3) set -- "$args0" "$args1" "$args2" ;; | ||
148 | (4) set -- "$args0" "$args1" "$args2" "$args3" ;; | ||
149 | (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; | ||
150 | (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; | ||
151 | (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; | ||
152 | (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; | ||
153 | (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; | ||
154 | esac | ||
155 | fi | ||
156 | |||
157 | # Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules | ||
158 | function splitJvmOpts() { | ||
159 | JVM_OPTS=("$@") | ||
160 | } | ||
161 | eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS | ||
162 | JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME" | ||
163 | |||
164 | exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@" | ||
165 |
android/GameSDKSample/gradlew.bat
File was created | 1 | @if "%DEBUG%" == "" @echo off | |
2 | @rem ########################################################################## | ||
3 | @rem | ||
4 | @rem Gradle startup script for Windows | ||
5 | @rem | ||
6 | @rem ########################################################################## | ||
7 | |||
8 | @rem Set local scope for the variables with windows NT shell | ||
9 | if "%OS%"=="Windows_NT" setlocal | ||
10 | |||
11 | @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. | ||
12 | set DEFAULT_JVM_OPTS= | ||
13 | |||
14 | set DIRNAME=%~dp0 | ||
15 | if "%DIRNAME%" == "" set DIRNAME=. | ||
16 | set APP_BASE_NAME=%~n0 | ||
17 | set APP_HOME=%DIRNAME% | ||
18 | |||
19 | @rem Find java.exe | ||
20 | if defined JAVA_HOME goto findJavaFromJavaHome | ||
21 | |||
22 | set JAVA_EXE=java.exe | ||
23 | %JAVA_EXE% -version >NUL 2>&1 | ||
24 | if "%ERRORLEVEL%" == "0" goto init | ||
25 | |||
26 | echo. | ||
27 | echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. | ||
28 | echo. | ||
29 | echo Please set the JAVA_HOME variable in your environment to match the | ||
30 | echo location of your Java installation. | ||
31 | |||
32 | goto fail | ||
33 | |||
34 | :findJavaFromJavaHome | ||
35 | set JAVA_HOME=%JAVA_HOME:"=% | ||
36 | set JAVA_EXE=%JAVA_HOME%/bin/java.exe | ||
37 | |||
38 | if exist "%JAVA_EXE%" goto init | ||
39 | |||
40 | echo. | ||
41 | echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% | ||
42 | echo. | ||
43 | echo Please set the JAVA_HOME variable in your environment to match the | ||
44 | echo location of your Java installation. | ||
45 | |||
46 | goto fail | ||
47 | |||
48 | :init | ||
49 | @rem Get command-line arguments, handling Windowz variants | ||
50 | |||
51 | if not "%OS%" == "Windows_NT" goto win9xME_args | ||
52 | if "%@eval[2+2]" == "4" goto 4NT_args | ||
53 | |||
54 | :win9xME_args | ||
55 | @rem Slurp the command line arguments. | ||
56 | set CMD_LINE_ARGS= | ||
57 | set _SKIP=2 | ||
58 | |||
59 | :win9xME_args_slurp | ||
60 | if "x%~1" == "x" goto execute | ||
61 | |||
62 | set CMD_LINE_ARGS=%* | ||
63 | goto execute | ||
64 | |||
65 | :4NT_args | ||
66 | @rem Get arguments from the 4NT Shell from JP Software | ||
67 | set CMD_LINE_ARGS=%$ | ||
68 | |||
69 | :execute | ||
70 | @rem Setup the command line | ||
71 | |||
72 | set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar | ||
73 | |||
74 | @rem Execute Gradle | ||
75 | "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% | ||
76 | |||
77 | :end | ||
78 | @rem End local scope for the variables with windows NT shell | ||
79 | if "%ERRORLEVEL%"=="0" goto mainEnd | ||
80 | |||
81 | :fail | ||
82 | rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of | ||
83 | rem the _cmd.exe /c_ return code! | ||
84 | if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 | ||
85 | exit /b 1 | ||
86 | |||
87 | :mainEnd | ||
88 | if "%OS%"=="Windows_NT" endlocal | ||
89 | |||
90 | :omega | ||
91 |
android/GameSDKSample/lint.xml
1 | <?xml version="1.0" encoding="UTF-8"?> | File was deleted | |
2 | <lint> | ||
3 | <issue id="MissingTranslation" severity="warning" /> | ||
4 | </lint> |
android/GameSDKSample/local.properties
File was created | 1 | ## This file is automatically generated by Android Studio. | |
2 | # Do not modify this file -- YOUR CHANGES WILL BE ERASED! | ||
3 | # | ||
4 | # This file must *NOT* be checked into Version Control Systems, | ||
5 | # as it contains information specific to your local configuration. | ||
6 | # | ||
7 | # Location of the SDK. This is only used by Gradle. | ||
8 | # For customization when using a Version Control System, please read the | ||
9 | # header note. | ||
10 | #Thu Jul 23 18:18:45 CST 2015 | ||
11 | sdk.dir=D\:\\DevTools\\android-sdk-windows | ||
12 |
android/GameSDKSample/project.properties
1 | # This file is automatically generated by Android Tools. | 1 | # This file is automatically generated by Android Tools. |
2 | # Do not modify this file -- YOUR CHANGES WILL BE ERASED! | 2 | # Do not modify this file -- YOUR CHANGES WILL BE ERASED! |
3 | # | 3 | # |
4 | # This file must be checked in Version Control Systems. | 4 | # This file must be checked in Version Control Systems. |
5 | # | 5 | # |
6 | # To customize properties used by the Ant build system edit | 6 | # To customize properties used by the Ant build system edit |
7 | # "ant.properties", and override values to adapt the script to your | 7 | # "ant.properties", and override values to adapt the script to your |
8 | # project structure. | 8 | # project structure. |
9 | # | 9 | # |
10 | # To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home): | 10 | # To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home): |
11 | #proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt | 11 | #proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt |
12 | 12 | ||
13 | # Project target. | 13 | # Project target. |
14 | 14 | ||
15 | target=android-18 | 15 | target=android-19 |
16 | android.library.reference.1=../GameSDKRelease | 16 | android.library.reference.1=..\\GameSDKRelease |
17 | 17 |
android/GameSDKSample/settings.gradle
File was created | 1 | include ':facebook' | |
2 | include ':GameSDK' | ||
3 | project(':facebook').projectDir = new File('../../../../../facebook') | ||
4 | project(':GameSDK').projectDir = new File('../../../../gamesdk/GameSDK') |
android/GameSDKSample/src/com/gumptech/loginsdk/sample/MainActivity.java
1 | package com.gumptech.loginsdk.sample; | 1 | package com.gumptech.loginsdk.sample; |
2 | 2 | ||
3 | import android.app.Activity; | 3 | import android.app.Activity; |
4 | import android.content.Intent; | 4 | import android.content.Intent; |
5 | import android.os.Bundle; | 5 | import android.os.Bundle; |
6 | import android.util.Log; | 6 | import android.util.Log; |
7 | import android.view.View; | 7 | import android.view.View; |
8 | import android.widget.Button; | 8 | import android.widget.Button; |
9 | import android.widget.TextView; | 9 | import android.widget.TextView; |
10 | import android.widget.Toast; | 10 | import android.widget.Toast; |
11 | 11 | ||
12 | import com.gumptech.sdk.GumpSDK; | 12 | import com.gumptech.sdk.GumpSDK; |
13 | import com.gumptech.sdk.bean.GumpUser; | ||
14 | import com.gumptech.sdk.bean.PurchaseResult; | ||
15 | import com.gumptech.sdk.callback.InitializeCallback; | ||
16 | import com.gumptech.sdk.callback.LoginStateListener; | ||
17 | import com.gumptech.sdk.callback.PurchaseCallback; | ||
13 | import com.loginsdk.sample.R; | 18 | import com.loginsdk.sample.R; |
14 | 19 | ||
15 | public class MainActivity extends Activity implements GumpSDK.Callback { | 20 | public class MainActivity extends Activity implements PurchaseCallback{ |
16 | |||
17 | private TextView tvVersion; | ||
18 | private TextView userInfo; | ||
19 | |||
20 | private Button btnLoginOrLogout; | ||
21 | |||
22 | private String appId = "10009"; | ||
23 | |||
24 | @Override | ||
25 | protected void onCreate(Bundle savedInstanceState) { | ||
26 | super.onCreate(savedInstanceState); | ||
27 | setContentView(R.layout.activity_main); | ||
28 | tvVersion = (TextView) findViewById(R.id.version); | ||
29 | userInfo = (TextView) findViewById(R.id.user_info); | ||
30 | btnLoginOrLogout = (Button) findViewById(R.id.login_or_logout); | ||
31 | btnLoginOrLogout.setOnClickListener(new View.OnClickListener() { | ||
32 | |||
33 | @Override | ||
34 | public void onClick(View v) { | ||
35 | if (btnLoginOrLogout.getTag() == null || (Integer) btnLoginOrLogout.getTag() == 0) | ||
36 | GumpSDK.start(MainActivity.this); | ||
37 | else | ||
38 | GumpSDK.logout(MainActivity.this, MainActivity.this); | ||
39 | } | ||
40 | }); | ||
41 | findViewById(R.id.pay).setOnClickListener(new View.OnClickListener() { | ||
42 | |||
43 | @Override | ||
44 | public void onClick(View v) { | ||
45 | Bundle payInfo = new Bundle(); | ||
46 | payInfo.putString("nick", "thi"); | ||
47 | payInfo.putString("product", "元宝"); | ||
48 | payInfo.putFloat("amount", 0.0f); | ||
49 | payInfo.putString("extraInfo", "This is demo!"); | ||
50 | payInfo.putString("serverId", "4019"); | ||
51 | GumpSDK.pay(MainActivity.this, payInfo, "2263806"); | ||
52 | } | ||
53 | }); | ||
54 | GumpSDK.init(getApplicationContext(), appId, "483d8df877b31405c1e8fe4247f02d86", "1000"); | ||
55 | GumpSDK.setLogoShow(true); | ||
56 | GumpSDK.setScreenLandscape(false); | ||
57 | tvVersion.setText("SDK Version:" + GumpSDK.getVersion()); | ||
58 | GumpSDK.start(this); | ||
59 | } | ||
60 | |||
61 | @Override | ||
62 | protected void onActivityResult(int requestCode, int resultCode, Intent data) { | ||
63 | Log.d("Main", "activity requestCode:" + requestCode + ",resultCode:" + resultCode); | ||
64 | if (requestCode == GumpSDK.LOGIN_REQUEST_CODE) { | ||
65 | if (resultCode == RESULT_OK) { | ||
66 | String uid = data.getStringExtra("userId"); | ||
67 | int accountType = data.getIntExtra("accountType", -1); | ||
68 | String sessionkey = data.getStringExtra("sessionKey"); | ||
69 | userInfo.setText(" userid:" + uid + "\n accountType:" + accountType + "\n sessionKey:" + sessionkey); | ||
70 | btnLoginOrLogout.setText("Logout"); | ||
71 | btnLoginOrLogout.setTag(1); | ||
72 | } else if (resultCode == RESULT_CANCELED) { | ||
73 | Toast.makeText(this, "operate be canceled", Toast.LENGTH_SHORT).show(); | ||
74 | } | ||
75 | } | ||
76 | // @Deprecated | ||
77 | // else if (requestCode == GumpSDK.PAY_REQUEST_CODE) { | ||
78 | // if (resultCode == RESULT_OK) { | ||
79 | // int code = data.getIntExtra("code", -1); | ||
80 | // String msg = data.getStringExtra("msg"); | ||
81 | // String orderId = data.getStringExtra("orderId"); | ||
82 | // String extraInfo = data.getStringExtra("extraInfo"); | ||
83 | // Toast.makeText(this, "pay result: " + code + "," + msg + ",orderId:" + orderId + ",extraInfo:" + extraInfo, Toast.LENGTH_SHORT).show(); | ||
84 | // } else if (resultCode == RESULT_CANCELED) { | ||
85 | // Toast.makeText(this, "operate be canceled", Toast.LENGTH_SHORT).show(); | ||
86 | // } | ||
87 | // } | ||
88 | super.onActivityResult(requestCode, resultCode, data); | ||
89 | } | ||
90 | |||
91 | @Override | ||
92 | public void onLogout() { | ||
93 | btnLoginOrLogout.setText("Login"); | ||
94 | btnLoginOrLogout.setTag(0); | ||
95 | userInfo.append("\n User is logout"); | ||
96 | } | ||
97 | 21 | ||
22 | private static final String TAG = "MainActivity"; | ||
23 | |||
24 | private TextView tvVersion; | ||
25 | private TextView userInfo; | ||
26 | |||
27 | private Button btnLoginOrLogout; | ||
28 | |||
29 | private String appId = "10022"; | ||
30 | private String appKey = "93a27b0bd99bac3e68a440b48aa421ab"; | ||
31 | |||
32 | @Override | ||
33 | protected void onCreate(Bundle savedInstanceState) { | ||
34 | super.onCreate(savedInstanceState); | ||
35 | setContentView(R.layout.activity_main); | ||
36 | tvVersion = (TextView) findViewById(R.id.version); | ||
37 | userInfo = (TextView) findViewById(R.id.user_info); | ||
38 | btnLoginOrLogout = (Button) findViewById(R.id.login_or_logout); |