├── .github
├── CODEOWNERS
├── ISSUE_TEMPLATE
│ ├── bug_report.md
│ ├── feature_request.md
│ └── usage-question.md
├── PULL_REQUEST_TEMPLATE.md
├── stale.yml
└── workflows
│ ├── notify_comments.yml
│ └── release_pr.yml
├── .gitignore
├── .travis.yml
├── CHANGELOG.md
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md
├── LICENSE
├── NOTICE
├── README.md
├── TESTING.md
├── app
├── .gitignore
├── build.gradle
├── proguard-rules.pro
└── src
│ └── main
│ ├── AndroidManifest.xml
│ ├── graphql
│ ├── com
│ │ └── amazonaws
│ │ │ └── amplify
│ │ │ └── generated
│ │ │ └── graphql
│ │ │ ├── mutations.graphql
│ │ │ ├── queries.graphql
│ │ │ └── subscriptions.graphql
│ └── schema.json
│ ├── java
│ └── com
│ │ └── amazonaws
│ │ └── postsapp
│ │ ├── AddPostActivity.java
│ │ ├── ClientFactory.java
│ │ ├── Constants.java
│ │ ├── PostsActivity.java
│ │ ├── PostsAdapter.java
│ │ └── UpdatePostActivity.java
│ └── res
│ ├── drawable-v24
│ └── ic_launcher_foreground.xml
│ ├── drawable
│ └── ic_launcher_background.xml
│ ├── layout
│ ├── activity_add_post.xml
│ ├── activity_posts.xml
│ ├── activity_update_post.xml
│ └── post.xml
│ ├── menu
│ └── menu_save.xml
│ ├── mipmap-anydpi-v26
│ ├── ic_launcher.xml
│ └── ic_launcher_round.xml
│ ├── mipmap-hdpi
│ ├── ic_launcher.png
│ └── ic_launcher_round.png
│ ├── mipmap-mdpi
│ ├── ic_launcher.png
│ └── ic_launcher_round.png
│ ├── mipmap-xhdpi
│ ├── ic_launcher.png
│ └── ic_launcher_round.png
│ ├── mipmap-xxhdpi
│ ├── ic_launcher.png
│ └── ic_launcher_round.png
│ ├── mipmap-xxxhdpi
│ ├── ic_launcher.png
│ └── ic_launcher_round.png
│ └── values
│ ├── colors.xml
│ ├── strings.xml
│ └── styles.xml
├── aws-android-sdk-appsync-api
├── .gitignore
├── build.gradle
├── gradle.properties
└── src
│ └── main
│ └── java
│ └── com
│ └── apollographql
│ └── apollo
│ ├── Logger.java
│ ├── api
│ ├── Error.java
│ ├── FragmentResponseFieldMapper.java
│ ├── GraphqlFragment.java
│ ├── Input.java
│ ├── InputFieldMarshaller.java
│ ├── InputFieldWriter.java
│ ├── InputType.java
│ ├── Mutation.java
│ ├── Operation.java
│ ├── OperationName.java
│ ├── Query.java
│ ├── Response.java
│ ├── ResponseField.java
│ ├── ResponseFieldMapper.java
│ ├── ResponseFieldMarshaller.java
│ ├── ResponseReader.java
│ ├── ResponseWriter.java
│ ├── S3InputObjectInterface.java
│ ├── S3ObjectInterface.java
│ ├── S3ObjectManager.java
│ ├── ScalarType.java
│ ├── Subscription.java
│ ├── cache
│ │ └── http
│ │ │ ├── HttpCache.java
│ │ │ ├── HttpCachePolicy.java
│ │ │ ├── HttpCacheRecord.java
│ │ │ ├── HttpCacheRecordEditor.java
│ │ │ └── HttpCacheStore.java
│ └── internal
│ │ ├── Absent.java
│ │ ├── Action.java
│ │ ├── Function.java
│ │ ├── Functions.java
│ │ ├── Mutator.java
│ │ ├── Optional.java
│ │ ├── Present.java
│ │ ├── UnmodifiableMapBuilder.java
│ │ └── Utils.java
│ └── internal
│ └── ApolloLogger.java
├── aws-android-sdk-appsync-compiler
├── .gitignore
├── build.gradle
├── gradle.properties
└── src
│ ├── generated
│ └── kotlin
│ │ └── com
│ │ └── apollographql
│ │ └── android
│ │ └── Version.kt
│ └── main
│ └── kotlin
│ └── com
│ └── apollographql
│ └── apollo
│ └── compiler
│ ├── Annotations.kt
│ ├── BuilderTypeSpecBuilder.kt
│ ├── ClassNames.kt
│ ├── CustomEnumTypeSpecBuilder.kt
│ ├── FragmentsResponseMapperBuilder.kt
│ ├── GraphQLCompiler.kt
│ ├── Inflector.kt
│ ├── InputFieldSpec.kt
│ ├── InputTypeSpecBuilder.kt
│ ├── JavaTypeResolver.kt
│ ├── NullableValueType.kt
│ ├── OperationTypeSpecBuilder.kt
│ ├── ResponseFieldSpec.kt
│ ├── SchemaTypeSpecBuilder.kt
│ ├── Util.kt
│ ├── VariablesTypeSpecBuilder.kt
│ └── ir
│ ├── CodeGenerationContext.kt
│ ├── CodeGenerationIR.kt
│ ├── CodeGenerator.kt
│ ├── Condition.kt
│ ├── Field.kt
│ ├── Fragment.kt
│ ├── InlineFragment.kt
│ ├── Operation.kt
│ ├── ScalarType.kt
│ ├── TypeDeclaration.kt
│ ├── TypeDeclarationField.kt
│ ├── TypeDeclarationValue.kt
│ └── Variable.kt
├── aws-android-sdk-appsync-gradle-plugin
├── .gitignore
├── build.gradle
├── gradle.properties
└── src
│ └── main
│ ├── groovy
│ └── com
│ │ └── apollographql
│ │ └── apollo
│ │ └── gradle
│ │ └── ApolloPlugin.groovy
│ ├── java
│ └── com
│ │ └── apollographql
│ │ └── apollo
│ │ └── gradle
│ │ ├── ApolloClassGenTask.java
│ │ ├── ApolloCodeGenInstallTask.java
│ │ ├── ApolloCodegenArgs.java
│ │ ├── ApolloExtension.java
│ │ ├── ApolloIRGenTask.java
│ │ ├── ApolloSchemaIntrospectionTask.java
│ │ └── Utils.java
│ └── resources
│ └── META-INF
│ └── gradle-plugins
│ └── com.amazonaws.appsync.properties
├── aws-android-sdk-appsync-runtime
├── .gitignore
├── build.gradle
├── gradle.properties
└── src
│ └── main
│ └── java
│ └── com
│ ├── amazonaws
│ └── mobileconnectors
│ │ └── appsync
│ │ ├── AppSyncMutationCall.java
│ │ ├── AppSyncPrefetch.java
│ │ ├── AppSyncQueryCall.java
│ │ ├── AppSyncQueryWatcher.java
│ │ ├── AppSyncSubscriptionCall.java
│ │ ├── AppSyncSubscriptionListener.java
│ │ ├── fetcher
│ │ └── AppSyncResponseFetchers.java
│ │ └── subscription
│ │ └── SubscriptionResponse.java
│ └── apollographql
│ └── apollo
│ ├── ApolloClient.java
│ ├── CustomTypeAdapter.java
│ ├── GraphQLCall.java
│ ├── IdleResourceCallback.java
│ ├── cache
│ ├── CacheHeaders.java
│ ├── GraphQLCacheHeaders.java
│ └── normalized
│ │ ├── ApolloStore.java
│ │ ├── CacheKey.java
│ │ ├── CacheKeyResolver.java
│ │ ├── CacheReference.java
│ │ ├── GraphQLStoreOperation.java
│ │ ├── NormalizedCache.java
│ │ ├── NormalizedCacheFactory.java
│ │ ├── OptimisticNormalizedCache.java
│ │ ├── Record.java
│ │ ├── RecordFieldJsonAdapter.java
│ │ ├── RecordSet.java
│ │ └── lru
│ │ ├── EvictionPolicy.java
│ │ ├── LruNormalizedCache.java
│ │ └── LruNormalizedCacheFactory.java
│ ├── exception
│ ├── ApolloCanceledException.java
│ ├── ApolloException.java
│ ├── ApolloHttpException.java
│ ├── ApolloNetworkException.java
│ └── ApolloParseException.java
│ ├── fetcher
│ └── ResponseFetcher.java
│ ├── interceptor
│ ├── ApolloInterceptor.java
│ └── ApolloInterceptorChain.java
│ ├── internal
│ ├── ApolloCallTracker.java
│ ├── CallState.java
│ ├── QueryReFetcher.java
│ ├── RealAppSyncCall.java
│ ├── RealAppSyncPrefetch.java
│ ├── RealAppSyncQueryWatcher.java
│ ├── RealAppSyncSubscriptionCall.java
│ ├── ResponseFieldMapperFactory.java
│ ├── cache
│ │ └── normalized
│ │ │ ├── CacheKeyBuilder.java
│ │ │ ├── CacheResponseWriter.java
│ │ │ ├── NoOpApolloStore.java
│ │ │ ├── ReadableStore.java
│ │ │ ├── RealAppSyncStore.java
│ │ │ ├── RealCacheKeyBuilder.java
│ │ │ ├── RecordWeigher.java
│ │ │ ├── ResponseNormalizer.java
│ │ │ ├── Transaction.java
│ │ │ └── WriteableStore.java
│ ├── fetcher
│ │ ├── CacheAndNetworkFetcher.java
│ │ ├── CacheFirstFetcher.java
│ │ ├── CacheOnlyFetcher.java
│ │ ├── NetworkFirstFetcher.java
│ │ └── NetworkOnlyFetcher.java
│ ├── field
│ │ ├── CacheFieldValueResolver.java
│ │ ├── FieldValueResolver.java
│ │ └── MapFieldValueResolver.java
│ ├── interceptor
│ │ ├── ApolloCacheInterceptor.java
│ │ ├── ApolloParseInterceptor.java
│ │ ├── ApolloServerInterceptor.java
│ │ ├── AppSyncSubscriptionInterceptor.java
│ │ └── RealApolloInterceptorChain.java
│ ├── json
│ │ ├── ApolloJsonReader.java
│ │ ├── BufferedSourceJsonReader.java
│ │ ├── CacheJsonStreamReader.java
│ │ ├── InputFieldJsonWriter.java
│ │ ├── JsonReader.java
│ │ ├── JsonScope.java
│ │ ├── JsonUtf8Writer.java
│ │ ├── JsonWriter.java
│ │ ├── ResponseJsonStreamReader.java
│ │ ├── SortedInputFieldMapWriter.java
│ │ └── Utils.java
│ ├── response
│ │ ├── OperationResponseParser.java
│ │ ├── RealResponseReader.java
│ │ ├── ResponseReaderShadow.java
│ │ └── ScalarTypeAdapters.java
│ ├── subscription
│ │ ├── NoOpSubscriptionManager.java
│ │ └── SubscriptionManager.java
│ └── util
│ │ ├── Cancelable.java
│ │ └── SimpleStack.java
│ └── json
│ ├── JsonDataException.java
│ └── JsonEncodingException.java
├── aws-android-sdk-appsync-tests
├── .gitignore
├── build.gradle
├── gradle.properties
├── gradle
│ └── wrapper
│ │ ├── gradle-wrapper.jar
│ │ └── gradle-wrapper.properties
├── gradlew
├── gradlew.bat
├── proguard-rules.pro
├── settings.gradle
└── src
│ ├── androidTest
│ └── java
│ │ └── com
│ │ └── amazonaws
│ │ └── mobileconnectors
│ │ └── appsync
│ │ ├── SyncStore.java
│ │ ├── client
│ │ ├── AWSAppSyncClients.java
│ │ ├── DelegatingGraphQLCallback.java
│ │ ├── LatchedGraphQLCallback.java
│ │ ├── LatchedSubscriptionCallback.java
│ │ ├── LoggingPersistentMutationsCallback.java
│ │ ├── NoOpGraphQLCallback.java
│ │ ├── TestConflictResolver.java
│ │ └── package-info.java
│ │ ├── identity
│ │ ├── CustomCognitoUserPool.java
│ │ ├── DelayedCognitoCredentialsProvider.java
│ │ ├── DelegatingMobileClientCallback.java
│ │ ├── LatchedMobileClientCallback.java
│ │ ├── TestAWSMobileClient.java
│ │ └── package-info.java
│ │ ├── models
│ │ ├── Posts.java
│ │ └── package-info.java
│ │ ├── tests
│ │ ├── ComplexObjectsInstrumentationTests.java
│ │ ├── ConflictManagementInstrumentationTest.java
│ │ ├── MultiClientInstrumentationTest.java
│ │ ├── QueryInstrumentationTest.java
│ │ ├── SubscriptionInstrumentationTest.java
│ │ └── package-info.java
│ │ └── util
│ │ ├── AirplaneMode.java
│ │ ├── Await.java
│ │ ├── Consumer.java
│ │ ├── DataFile.java
│ │ ├── InternetConnectivity.java
│ │ ├── JsonExtract.java
│ │ ├── RetryStrategies.java
│ │ ├── Sleep.java
│ │ └── package-info.java
│ └── main
│ ├── AndroidManifest.xml
│ ├── assets
│ ├── .gitkeep
│ ├── Mutation.updateArticle.req.vtl
│ ├── awsconfiguration.json.enc
│ └── schema.graphql
│ ├── graphql
│ └── com
│ │ └── amazonaws
│ │ └── mobileconnectors
│ │ └── appsync
│ │ └── demo
│ │ ├── posts.graphql
│ │ └── schema.json
│ └── res
│ ├── raw
│ └── awsconfiguration.json
│ └── values
│ └── strings.xml
├── aws-android-sdk-appsync
├── .gitignore
├── build.gradle
├── gradle.properties
├── proguard-rules.pro
└── src
│ ├── main
│ ├── AndroidManifest.xml
│ ├── assets
│ │ └── .gitkeep
│ └── java
│ │ └── com
│ │ ├── amazonaws
│ │ └── mobileconnectors
│ │ │ └── appsync
│ │ │ ├── AWSAppSyncAppLifecycleObserver.java
│ │ │ ├── AWSAppSyncClient.java
│ │ │ ├── AWSAppSyncClientException.java
│ │ │ ├── AWSAppSyncDeltaSync.java
│ │ │ ├── AWSAppSyncDeltaSyncDBOperations.java
│ │ │ ├── AWSAppSyncDeltaSyncSqlHelper.java
│ │ │ ├── ApolloResponseBuilder.java
│ │ │ ├── AppSyncCallback.java
│ │ │ ├── AppSyncComplexObjectsInterceptor.java
│ │ │ ├── AppSyncCustomNetworkInvoker.java
│ │ │ ├── AppSyncMutationQueueInterceptor.java
│ │ │ ├── AppSyncMutationSqlCacheOperations.java
│ │ │ ├── AppSyncMutationsSqlHelper.java
│ │ │ ├── AppSyncOfflineMutationInterceptor.java
│ │ │ ├── AppSyncOfflineMutationManager.java
│ │ │ ├── AppSyncOptimisticUpdateInterceptor.java
│ │ │ ├── AppSyncPrefetchCallback.java
│ │ │ ├── AppSyncWebSocketSubscriptionCall.java
│ │ │ ├── ClearCacheException.java
│ │ │ ├── ClearCacheOptions.java
│ │ │ ├── ConflictMutation.java
│ │ │ ├── ConflictResolutionFailedException.java
│ │ │ ├── ConflictResolutionHandler.java
│ │ │ ├── ConflictResolverInterface.java
│ │ │ ├── ConnectivityWatcher.java
│ │ │ ├── DomainType.java
│ │ │ ├── InMemoryOfflineMutationManager.java
│ │ │ ├── InMemoryOfflineMutationObject.java
│ │ │ ├── MessageNumberUtil.java
│ │ │ ├── MutationInfoUtil.java
│ │ │ ├── PersistentMutationsCallback.java
│ │ │ ├── PersistentMutationsError.java
│ │ │ ├── PersistentMutationsResponse.java
│ │ │ ├── PersistentOfflineMutationManager.java
│ │ │ ├── PersistentOfflineMutationObject.java
│ │ │ ├── S3ObjectManagerImplementation.java
│ │ │ ├── SubscriptionAuthorizer.java
│ │ │ ├── TimeoutWatchdog.java
│ │ │ ├── WebSocketConnectionManager.java
│ │ │ ├── cache
│ │ │ └── normalized
│ │ │ │ ├── AppSyncStore.java
│ │ │ │ └── sql
│ │ │ │ └── AppSyncSqlHelper.java
│ │ │ ├── retry
│ │ │ └── RetryInterceptor.java
│ │ │ ├── sigv4
│ │ │ ├── APIKeyAuthProvider.java
│ │ │ ├── AWSLambdaAuthProvider.java
│ │ │ ├── AppSyncSigV4SignerInterceptor.java
│ │ │ ├── AppSyncV4Signer.java
│ │ │ ├── BasicAPIKeyAuthProvider.java
│ │ │ ├── BasicCognitoUserPoolsAuthProvider.java
│ │ │ ├── CognitoUserPoolsAuthProvider.java
│ │ │ └── OidcAuthProvider.java
│ │ │ ├── subscription
│ │ │ ├── AppSyncSubscription.java
│ │ │ ├── RealSubscriptionManager.java
│ │ │ ├── SubscriptionCallback.java
│ │ │ ├── SubscriptionClient.java
│ │ │ ├── SubscriptionClientCallback.java
│ │ │ ├── SubscriptionDisconnectedException.java
│ │ │ ├── SubscriptionListener.java
│ │ │ ├── SubscriptionObject.java
│ │ │ └── mqtt
│ │ │ │ ├── AppSyncMqttPersistence.java
│ │ │ │ └── MqttSubscriptionClient.java
│ │ │ └── utils
│ │ │ └── StringUtils.java
│ │ └── apollographql
│ │ └── apollo
│ │ └── cache
│ │ └── normalized
│ │ └── sql
│ │ ├── SqlNormalizedCache.java
│ │ └── SqlNormalizedCacheFactory.java
│ └── test
│ ├── java
│ └── com
│ │ └── amazonaws
│ │ └── mobileconnectors
│ │ └── appsync
│ │ ├── AppSyncClientUnitTest.java
│ │ ├── DomainTypeTest.java
│ │ ├── TimeoutWatchdogTest.java
│ │ ├── retry
│ │ └── RetryInterceptorTest.java
│ │ └── util
│ │ └── Await.java
│ └── resources
│ └── mockito-extensions
│ └── org.mockito.plugins.MockMaker
├── build-support
├── Gemfile
├── Gemfile.lock
└── fastlane
│ ├── Appfile
│ ├── Fastfile
│ └── Pluginfile
├── build.gradle
├── gradle-mvn-push.gradle
├── gradle.properties
├── gradle
└── wrapper
│ ├── gradle-wrapper.jar
│ └── gradle-wrapper.properties
├── gradlew
├── gradlew.bat
└── settings.gradle
/.github/CODEOWNERS:
--------------------------------------------------------------------------------
1 | * @awslabs/amplify-android
2 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/bug_report.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Bug Report
3 | about: Create a report to help us improve
4 |
5 | ---
6 |
7 | **Describe the bug**
8 | A clear and concise description of what the bug is.
9 |
10 | **To Reproduce**
11 | Steps to reproduce the behavior:
12 | 1. Go to '...'
13 | 2. Click on '....'
14 | 3. Scroll down to '....'
15 | 4. See error
16 |
17 | **Expected behavior**
18 | A clear and concise description of what you expected to happen.
19 |
20 | **Screenshots**
21 | If applicable, add screenshots to help explain your problem.
22 |
23 | **Environment(please complete the following information):**
24 | - AppSync SDK Version: [e.g. 2.6.25]
25 |
26 | **Device Information (please complete the following information):**
27 | - Device: [e.g. Pixel XL, Simulator]
28 | - Android Version: [e.g. Nougat 7.1.2]
29 | - Specific to simulators:
30 |
31 | **Additional context**
32 | Add any other context about the problem here.
33 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/feature_request.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Feature Request
3 | about: Suggest an idea for this project
4 |
5 | ---
6 |
7 | **Is your feature request related to a problem? Please describe.**
8 | A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
9 |
10 | **Describe the solution you'd like**
11 | A clear and concise description of what you want to happen.
12 |
13 | **Describe alternatives you've considered**
14 | A clear and concise description of any alternative solutions or features you've considered.
15 |
16 | **Additional context**
17 | Add any other context or screenshots about the feature request here.
18 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/usage-question.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Usage Question
3 | about: Ask a question about AWS AppSync usage
4 |
5 | ---
6 |
7 | **State your question**
8 |
9 | **Provide code snippets (if applicable)**
10 |
11 | **Environment(please complete the following information):**
12 | - AppSync SDK Version: [e.g. 2.6.25]
13 |
14 | **Device Information (please complete the following information):**
15 | - Device: [e.g. Pixel XL, Simulator]
16 | - Android Version: [e.g. Nougat 7.1.2]
17 | - Specific to simulators:
18 |
--------------------------------------------------------------------------------
/.github/PULL_REQUEST_TEMPLATE.md:
--------------------------------------------------------------------------------
1 | *Issue #, if available:*
2 |
3 | *Description of changes:*
4 |
5 |
6 | By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.
7 |
--------------------------------------------------------------------------------
/.github/stale.yml:
--------------------------------------------------------------------------------
1 | # Number of days of inactivity before an issue becomes stale
2 | # Setting this to 100 years, because we do not want to automatically mark issues as stale
3 | daysUntilStale: 36500
4 | # Number of days of inactivity before a stale issue is closed
5 | daysUntilClose: 7
6 | # Label to use when marking an issue as stale
7 | staleLabel: closing-soon-if-no-response
8 | # Comment to post when marking an issue as stale. Set to `false` to disable
9 | markComment: >
10 | This issue has been automatically marked as stale because it has not had
11 | recent activity. It will be closed if no further activity occurs. Thank you
12 | for your contributions.
13 | # Comment to post when closing a stale issue. Set to `false` to disable
14 | closeComment: >
15 | This issue has been automatically closed because of inactivity.
16 | Please open a new issue if are still encountering problems.
17 | # Limit to only `issues` or `pulls`
18 | only: issues
19 |
--------------------------------------------------------------------------------
/.github/workflows/notify_comments.yml:
--------------------------------------------------------------------------------
1 | # This is a basic workflow to help you get started with Actions
2 |
3 | name: Notify Comments on Issues
4 |
5 | # Controls when the workflow will run
6 | on:
7 | # Triggers the workflow on comment events on pending response issues
8 | issue_comment:
9 | types: [created]
10 |
11 | # A workflow run is made up of one or more jobs that can run sequentially or in parallel
12 | jobs:
13 | # This workflow contains a single job called "notify"
14 | notify:
15 | # The type of runner that the job will run on
16 | runs-on: ubuntu-latest
17 |
18 | # Steps represent a sequence of tasks that will be executed as part of the job
19 | steps:
20 | # Runs a single command using the runners shell
21 | - name: Run webhook curl command
22 | env:
23 | WEBHOOK_URL: ${{ secrets.SLACK_COMMENT_WEBHOOK_URL }}
24 | BODY: ${{ toJson(github.event.comment.body) }}
25 | HTML_URL: ${{github.event.comment.html_url}}
26 | shell: bash
27 | run: echo "$BODY" | xargs -I {} curl -s POST "$WEBHOOK_URL" -H "Content-Type:application/json" --data '{"issue":"'"$HTML_URL"'", "body":"{}"}'
28 |
--------------------------------------------------------------------------------
/.github/workflows/release_pr.yml:
--------------------------------------------------------------------------------
1 | name: Prepare Next Release
2 | on:
3 | workflow_dispatch:
4 | env:
5 | GIT_USER_NAME: awsmobilesdk-dev+ghops
6 | GIT_USER_EMAIL: awsmobilesdk-dev+ghops@amazon.com
7 | BASE_BRANCH: main
8 | jobs:
9 | create_pr_for_next_release:
10 | runs-on: ubuntu-latest
11 | steps:
12 | - name: Update git
13 | run: |
14 | sudo add-apt-repository -y ppa:git-core/ppa
15 | sudo apt-get update
16 | sudo apt-get install git -y
17 | - uses: actions/checkout@ee0669bd1cc54295c223e0bb666b733df41de1c5 # v2
18 | with:
19 | ref: ${{ env.BASE_BRANCH }}
20 | fetch-depth: 0
21 | - name: Set up Ruby
22 | uses: ruby/setup-ruby@8575951200e472d5f2d95c625da0c7bec8217c42 # v1
23 | with:
24 | ruby-version: "3.0"
25 | - name: Install dependencies
26 | run: |
27 | cd build-support
28 | gem install bundler
29 | bundle install
30 | - name: Configure git options
31 | run: |
32 | cd build-support
33 | bundle exec fastlane android configure_git_options git_user_email:$GIT_USER_EMAIL git_user_name:$GIT_USER_NAME
34 | - name: Create/checkout a branch for the release
35 | run: |
36 | branch_name=bump_version
37 | git fetch --all
38 | (git branch -D $branch_name &>/dev/null) && (echo 'Existing $branch_name branch deleted') || (echo 'No existing $branch_name branch to delete.')
39 | git checkout -b $branch_name
40 | - name: Create PR for next release
41 | env:
42 | RELEASE_MANAGER_TOKEN: ${{ secrets.GITHUB_TOKEN }}
43 | run: |
44 | cd build-support
45 | bundle exec fastlane android create_next_release_pr
46 | - name: Check modified file content
47 | run: |
48 | cat gradle.properties
49 | cat CHANGELOG.md
50 | git status
51 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 |
3 | # Built application files
4 | *.apk
5 | *.ap_
6 |
7 | # Files for the ART/Dalvik VM
8 | *.dex
9 |
10 | # Java class files
11 | *.class
12 |
13 | # Generated files
14 | bin/
15 | gen/
16 | out/
17 |
18 | # Gradle files
19 | .gradle/
20 | build/
21 |
22 | # Local configuration file (sdk path, etc)
23 | local.properties
24 |
25 | # Proguard folder generated by Eclipse
26 | proguard/
27 |
28 | # Log Files
29 | *.log
30 |
31 | # Android Studio Navigation editor temp files
32 | .navigation/
33 |
34 | # Android Studio captures folder
35 | captures/
36 |
37 | # IntelliJ
38 | *.iml
39 | .idea/workspace.xml
40 | .idea/tasks.xml
41 | .idea/gradle.xml
42 | .idea/assetWizardSettings.xml
43 | .idea/dictionaries
44 | .idea/libraries
45 | .idea/caches
46 |
47 | # Keystore files
48 | # Uncomment the following line if you do not want to check your keystore files in.
49 | #*.jks
50 |
51 | # External native build folder generated in Android Studio 2.2 and later
52 | .externalNativeBuild
53 |
54 | # Google Services (e.g. APIs or Firebase)
55 | google-services.json
56 |
57 | # Freeline
58 | freeline.py
59 | freeline/
60 | freeline_project_description.json
61 |
62 | # fastlane
63 | fastlane/report.xml
64 | fastlane/Preview.html
65 | fastlane/screenshots
66 | fastlane/test_output
67 | fastlane/readme.md
68 |
69 | # idea folder for tests
70 | aws-android-sdk-appsync-tests/.idea/
71 | .idea/
72 |
--------------------------------------------------------------------------------
/.travis.yml:
--------------------------------------------------------------------------------
1 | before_install:
2 | - openssl aes-256-cbc -K $encrypted_3a6b03bad5d0_key -iv $encrypted_3a6b03bad5d0_iv -in aws-android-sdk-appsync-tests/src/main/assets/awsconfiguration.json.enc -out aws-android-sdk-appsync-tests/src/main/res/raw/awsconfiguration.json -d
3 | - ls -l aws-android-sdk-appsync-tests/src/main/res/raw/awsconfiguration.json
4 | - wc aws-android-sdk-appsync-tests/src/main/res/raw/awsconfiguration.json
5 | - chmod +x gradlew
6 | - yes | sdkmanager "platforms;android-27"
7 | - android list target
8 | - echo no | android create avd --force -n test -t android-22 --abi armeabi-v7a
9 | - emulator -avd test -no-skin -no-audio -no-window &
10 | - android-wait-for-emulator
11 | - adb shell input keyevent 82 &
12 | language: android
13 | android:
14 | components:
15 | - tools
16 | - platform-tools
17 | - tools
18 | - build-tools-28.0.2
19 | - android-28
20 | - android-22
21 | - sys-img-armeabi-v7a-android-22
22 | script:
23 | - ./gradlew publishToMavenLocal
24 | - cd aws-android-sdk-appsync-tests
25 | - android list target
26 | - ./gradlew build connectedCheck --stacktrace
27 | - cd ..
28 | after_failure:
29 | - cat aws-android-sdk-appsync-tests/build/outputs/androidTest-results/connected/*.xml
30 |
--------------------------------------------------------------------------------
/CODE_OF_CONDUCT.md:
--------------------------------------------------------------------------------
1 | ## Code of Conduct
2 | This project has adopted the [Amazon Open Source Code of Conduct](https://aws.github.io/code-of-conduct).
3 | For more information see the [Code of Conduct FAQ](https://aws.github.io/code-of-conduct-faq) or contact
4 | opensource-codeofconduct@amazon.com with any additional questions or comments.
5 |
--------------------------------------------------------------------------------
/NOTICE:
--------------------------------------------------------------------------------
1 | App Sync SDK for Android
2 | Copyright 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved.
3 |
4 | This product includes the Apollo GraphQL Client for Android library Copyright (c) 2016 Meteor Development Group, Inc., licensed under the MIT license.
5 |
--------------------------------------------------------------------------------
/app/.gitignore:
--------------------------------------------------------------------------------
1 | /build
2 |
--------------------------------------------------------------------------------
/app/build.gradle:
--------------------------------------------------------------------------------
1 | apply plugin: 'com.android.application'
2 | apply plugin: 'com.amazonaws.appsync'
3 |
4 | android {
5 | compileSdkVersion 28
6 |
7 | defaultConfig {
8 | applicationId "com.amazonaws.mobileconnectors.appsync.demo"
9 | minSdkVersion 15
10 | targetSdkVersion 28
11 | versionCode 1
12 | versionName "1.0"
13 | }
14 |
15 | buildTypes {
16 | release {
17 | minifyEnabled false
18 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
19 | }
20 | }
21 |
22 | lintOptions {
23 | disable 'GradleDependency', 'GoogleAppIndexingWarning'
24 | }
25 | }
26 |
27 | dependencies {
28 | implementation 'androidx.appcompat:appcompat:1.0.0'
29 | implementation 'androidx.core:core:1.0.0'
30 | implementation 'androidx.recyclerview:recyclerview:1.0.0'
31 | implementation 'com.google.android.material:material:1.0.0'
32 | implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
33 | implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.0.0'
34 |
35 | implementation project(':aws-android-sdk-appsync-runtime')
36 | implementation project(':aws-android-sdk-appsync-api')
37 | implementation project(':aws-android-sdk-appsync')
38 |
39 | implementation 'org.eclipse.paho:org.eclipse.paho.client.mqttv3:1.2.2'
40 | implementation 'org.eclipse.paho:org.eclipse.paho.android.service:1.1.1'
41 | implementation "com.amazonaws:aws-android-sdk-core:$aws_version"
42 | implementation "com.amazonaws:aws-android-sdk-s3:$aws_version"
43 |
44 | def lifecycle_version = "2.0.0"
45 | implementation("androidx.lifecycle:lifecycle-runtime:$lifecycle_version")
46 | implementation("androidx.lifecycle:lifecycle-extensions:$lifecycle_version")
47 | }
48 |
49 |
--------------------------------------------------------------------------------
/app/proguard-rules.pro:
--------------------------------------------------------------------------------
1 | # Add project specific ProGuard rules here.
2 | # You can control the set of applied configuration files using the
3 | # proguardFiles setting in build.gradle.
4 | #
5 | # For more details, see
6 | # http://developer.android.com/guide/developing/tools/proguard.html
7 |
8 | # If your project uses WebView with JS, uncomment the following
9 | # and specify the fully qualified class name to the JavaScript interface
10 | # class:
11 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
12 | # public *;
13 | #}
14 |
15 | # Uncomment this to preserve the line number information for
16 | # debugging stack traces.
17 | #-keepattributes SourceFile,LineNumberTable
18 |
19 | # If you keep the line number information, uncomment this to
20 | # hide the original source file name.
21 | #-renamesourcefileattribute SourceFile
22 |
--------------------------------------------------------------------------------
/app/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |