From b11552935d80fab204e769c60e19067c8beff2af Mon Sep 17 00:00:00 2001 From: Elena Hristova Date: Mon, 5 Aug 2019 12:08:41 +0300 Subject: [PATCH 01/13] fix: update pod repo from travis --- .travis.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.travis.yml b/.travis.yml index 8d2a616..7cf1968 100644 --- a/.travis.yml +++ b/.travis.yml @@ -20,6 +20,7 @@ matrix: language: node_js node_js: "10" jdk: oraclejdk8 + before_script: pod repo update script: - cd demo && npm run build.plugin && npm i - tns build ios --bundle --env.uglify @@ -31,6 +32,7 @@ matrix: language: node_js node_js: "10" jdk: oraclejdk8 + before_script: pod repo update script: - cd src && npm run build - cd ../publish && sh pack.sh @@ -45,6 +47,7 @@ matrix: language: node_js node_js: "10" jdk: oraclejdk8 + before_script: pod repo update script: - cd src && npm run build - cd ../publish && sh pack.sh From 5824349312d080adfd465ba62540cc3328da558c Mon Sep 17 00:00:00 2001 From: Samuel Schultze Date: Thu, 29 Aug 2019 09:29:47 -0300 Subject: [PATCH 02/13] feat(android): add options to set notifications channel id, ringtone enabled and auto clear (#239) * androidAutoClearNotification implemented * androidRingToneEnabled implemented * androidNotificationChannelID implemented * better way of using default values * add android notes on readme --- README.md | 3 +++ src/background-http.android.ts | 16 ++++++++++++++++ src/index.d.ts | 27 +++++++++++++++++++++------ 3 files changed, 40 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 5d71309..d37ef35 100644 --- a/README.md +++ b/README.md @@ -76,6 +76,9 @@ androidDisplayNotificationProgress | `boolean` | (Android only) Used to set if p androidNotificationTitle | `string` | (Android only) Used to set the title shown in the Android notifications center. androidAutoDeleteAfterUpload | `boolean` | (Android only) Used to set if files should be deleted automatically after upload. androidMaxRetries | `number` | (Android only) Used to set the maximum retry count. The default retry count is 0. https://github.com/gotev/android-upload-service/wiki/Recipes#backoff +androidAutoClearNotification | `boolean` | (Android only) Used to set if notifications should be cleared automatically upon upload completion. Default is false. Please note that setting this to true will also disable the ringtones. +androidRingToneEnabled | `boolean` | (Android only) Used to set if a ringtone should be played upon upload completion. Default is true. Please note that this flag has no effect when `androidAutoClearNotification` is set to true. +androidNotificationChannelID | `string` | (Android only) Used to set the channel ID for the notifications. The task object has the following properties and methods, that can be used to get information about the upload: diff --git a/src/background-http.android.ts b/src/background-http.android.ts index 4729ac6..3aae97c 100644 --- a/src/background-http.android.ts +++ b/src/background-http.android.ts @@ -307,7 +307,23 @@ function setRequestOptions(request: any, options: common.Request) { if (displayNotificationProgress) { const uploadNotificationConfig = new net.gotev.uploadservice.UploadNotificationConfig(); const notificationTitle = typeof options.androidNotificationTitle === "string" ? options.androidNotificationTitle : 'File Upload'; + uploadNotificationConfig.setTitleForAllStatuses(notificationTitle); + + if (typeof options.androidRingToneEnabled === "boolean") { + uploadNotificationConfig.setRingToneEnabled(new java.lang.Boolean(options.androidRingToneEnabled)); + } + + if (typeof options.androidAutoClearNotification === "boolean") { + uploadNotificationConfig.getCompleted().autoClear = options.androidAutoClearNotification; + uploadNotificationConfig.getCancelled().autoClear = options.androidAutoClearNotification; + uploadNotificationConfig.getError().autoClear = options.androidAutoClearNotification; + } + + if (typeof options.androidNotificationChannelID === "string" && options.androidNotificationChannelID) { + uploadNotificationConfig.setNotificationChannelId(options.androidNotificationChannelID); + } + request.setNotificationConfig(uploadNotificationConfig); } const autoDeleteAfterUpload = typeof options.androidAutoDeleteAfterUpload === "boolean" ? options.androidAutoDeleteAfterUpload : false; diff --git a/src/index.d.ts b/src/index.d.ts index 2240ab8..9e66108 100644 --- a/src/index.d.ts +++ b/src/index.d.ts @@ -85,12 +85,12 @@ export interface Task { * Cancel the Upload Task. */ cancel(): void; - /** - * Subscribe for a general event. - * @param event The name of the event to subscribe for. - * @param handler The handler called when the event occure. - * @event - */ + /** + * Subscribe for a general event. + * @param event The name of the event to subscribe for. + * @param handler The handler called when the event occure. + * @event + */ on(event: string, handler: (e: observable.EventData) => void): void; /** @@ -194,4 +194,19 @@ export interface Request { * https://github.com/gotev/android-upload-service/wiki/Recipes#backoff */ androidMaxRetries?: number; + + /* + * Use this to set if notifications should be cleared automatically upon upload completion + */ + androidAutoClearNotification?: boolean; + + /* + * Use this to set if a ringtone should be played upon upload completion + */ + androidRingToneEnabled?: boolean; + + /* + * Use this to set the channel ID for the notifications + */ + androidNotificationChannelID?: string; } From 297ab7149ee346ebf148b12390959e09e0c4f78a Mon Sep 17 00:00:00 2001 From: Elena Hristova Date: Thu, 5 Sep 2019 01:06:54 +0300 Subject: [PATCH 03/13] chore: update dependencies for 6.1 --- demo-angular/package.json | 29 ++++++++++++++--------------- demo-vue/package.json | 10 +++++----- demo/package.json | 6 +++--- 3 files changed, 22 insertions(+), 23 deletions(-) diff --git a/demo-angular/package.json b/demo-angular/package.json index 05da1a2..2fa43ec 100644 --- a/demo-angular/package.json +++ b/demo-angular/package.json @@ -6,10 +6,10 @@ "nativescript": { "id": "org.nativescript.demoangular", "tns-android": { - "version": "6.0.0" + "version": "6.1.0" }, "tns-ios": { - "version": "6.0.1" + "version": "6.1.0" } }, "scripts": { @@ -17,27 +17,26 @@ "ci.tslint": "npm i && tslint --config '../tslint.json' 'app/**/*.ts' --exclude '**/node_modules/**'" }, "dependencies": { - "@angular/animations": "~8.0.0", - "@angular/common": "~8.0.0", - "@angular/compiler": "~8.0.0", - "@angular/core": "~8.0.0", - "@angular/forms": "~8.0.0", - "@angular/http": "8.0.0-beta.10", - "@angular/platform-browser": "~8.0.0", - "@angular/platform-browser-dynamic": "~8.0.0", - "@angular/router": "~8.0.0", - "nativescript-angular": "~8.0.0", + "@angular/animations": "~8.2.0", + "@angular/common": "~8.2.0", + "@angular/compiler": "~8.2.0", + "@angular/core": "~8.2.0", + "@angular/forms": "~8.2.0", + "@angular/platform-browser": "~8.2.0", + "@angular/platform-browser-dynamic": "~8.2.0", + "@angular/router": "~8.2.0", + "nativescript-angular": "~8.2.0", "nativescript-background-http": "../src", "nativescript-theme-core": "~1.0.4", "reflect-metadata": "~0.1.10", - "rxjs": "^6.3.3", + "rxjs": "^6.4.0", "tns-core-modules": "^6.0.0", "zone.js": "^0.9.1" }, "devDependencies": { - "nativescript-dev-webpack": "~1.0.1", + "nativescript-dev-webpack": "^1.0.0", "tslint": "~5.11.0", "tns-platform-declarations": "^6.0.0", - "typescript": "~3.4.5" + "typescript": "~3.5.3" } } \ No newline at end of file diff --git a/demo-vue/package.json b/demo-vue/package.json index 1ef72d9..662c0a2 100644 --- a/demo-vue/package.json +++ b/demo-vue/package.json @@ -2,10 +2,10 @@ "nativescript": { "id": "org.nativescript.demovue", "tns-android": { - "version": "6.0.0" + "version": "6.1.0" }, "tns-ios": { - "version": "6.0.1" + "version": "6.1.0" } }, "description": "NativeScript Application", @@ -17,15 +17,15 @@ "dependencies": { "nativescript-background-http": "../src", "nativescript-theme-core": "~1.0.4", - "nativescript-vue": "~2.3.0", + "nativescript-vue": "~2.4.0", "tns-core-modules": "^6.0.0" }, "devDependencies": { "@babel/core": "~7.1.0", "@babel/preset-env": "~7.1.0", "babel-loader": "~8.0.0", - "nativescript-dev-webpack": "~1.0.1", - "nativescript-vue-template-compiler": "~2.3.0", + "nativescript-dev-webpack": "^1.0.0", + "nativescript-vue-template-compiler": "~2.4.0", "node-sass": "~4.12.0", "ts-loader": "^5.3.1", "vue-loader": "~15.4.0", diff --git a/demo/package.json b/demo/package.json index 5dbbdbd..267c2be 100644 --- a/demo/package.json +++ b/demo/package.json @@ -6,10 +6,10 @@ "nativescript": { "id": "org.nativescript.demo", "tns-android": { - "version": "6.0.0" + "version": "6.1.0" }, "tns-ios": { - "version": "6.0.1" + "version": "6.1.0" } }, "scripts": { @@ -22,7 +22,7 @@ "tns-core-modules": "^6.0.0" }, "devDependencies": { - "nativescript-dev-webpack": "~1.0.1", + "nativescript-dev-webpack": "^1.0.0", "tslint": "~5.11.0", "tns-platform-declarations": "^6.0.0", "typescript": "~3.4.5" From 0843fb670bc6cf8ca1faa6738238c7648b3e0292 Mon Sep 17 00:00:00 2001 From: Zdravko Branzov Date: Tue, 10 Sep 2019 14:47:17 +0300 Subject: [PATCH 04/13] chore: bump version to 4.1.0 --- src/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/package.json b/src/package.json index 0234517..0133db3 100644 --- a/src/package.json +++ b/src/package.json @@ -1,6 +1,6 @@ { "name": "nativescript-background-http", - "version": "4.0.0", + "version": "4.1.0", "main": "background-http", "typings": "index.d.ts", "nativescript": { From 969a0890fa03226228220f3f23f30ee7c86a6deb Mon Sep 17 00:00:00 2001 From: tgpetrov Date: Wed, 18 Sep 2019 17:07:38 +0300 Subject: [PATCH 05/13] feat: add support for api17 --- DevelopmentWorkflow.md | 12 ++++++++++ README.md | 2 +- .../Android/src/main/AndroidManifest.xml | 2 +- .../App_Resources/Android/AndroidManifest.xml | 2 +- .../Android/src/main/AndroidManifest.xml | 2 +- src/.npmignore | 3 +-- src/package.json | 6 +---- src/platforms/android/AndroidManifest.xml | 17 -------------- src/platforms/android/include.gradle | 8 ------- .../android/uploadservice-release.aar | Bin 0 -> 92508 bytes src/scripts/prepare.js | 21 ------------------ 11 files changed, 18 insertions(+), 57 deletions(-) delete mode 100644 src/platforms/android/AndroidManifest.xml delete mode 100644 src/platforms/android/include.gradle create mode 100644 src/platforms/android/uploadservice-release.aar delete mode 100644 src/scripts/prepare.js diff --git a/DevelopmentWorkflow.md b/DevelopmentWorkflow.md index 245f06c..b17c764 100644 --- a/DevelopmentWorkflow.md +++ b/DevelopmentWorkflow.md @@ -5,6 +5,7 @@ - [Prerequisites](#prerequisites) - [Develop locally](#develop-locally) - [Testing the plugin](#testing-the-plugin) +- [Native android changes](#native-android-changes) @@ -34,4 +35,15 @@ npm run demo.android The demo application is configured to run on a simulator/emulator on the local machine. If you want to test on a real device, you should change the URL in the `demo/app/home-view-model.ts` to point to the machine that is running the demo server. Be careful if using an online test service, e.g. [http://httpbin.org/post](http://httpbin.org/post). Some services are configured to return the uploaded file contents in the server response, which might crash the demo app if the uploaded file is large. +## Native android changes + +For android, the plugin uses [a fork](https://github.com/NativeScript/android-upload-service) of the [gotev/android-upload-service](https://github.com/gotev/android-upload-service) library for Android. +Avoid fixes and new features in the fork. Use the original repository and then update the fork with the changes. +The native library is used in the plugin as an aar file added in the plugin's platforms/android directory. +Here's how to reflect any changes in the native library in this plugin. First make sure the changes are included in the fork. Then clone the fork and run the following command in its root directory: +``` +./gradlew clean assembleRelease +``` +This will produce a new aar file here: android-upload-service/uploadservice/build/outputs/aar/uploadservice-release.aar. Use it to replace the previous aar in the plugin: nativescript-background-http/src/platforms/android/uploadservice-release.aar + For details on plugins development workflow, read [NativeScript plugins documentation](https://docs.nativescript.org/plugins/building-plugins#step-2-set-up-a-development-workflow) covering that topic. diff --git a/README.md b/README.md index d37ef35..37830e5 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ A cross platform plugin for [the NativeScript framework](http://www.nativescript [There is a stock NativeScript `http` module that can handle GET/POST requests that work with strings and JSONs](http://docs.nativescript.org/ApiReference/http/HOW-TO). It however comes short in features when it comes to really large files. -The plugin uses [NSURLSession with background session configuration for iOS](https://developer.apple.com/library/ios/documentation/Foundation/Reference/NSURLSessionConfiguration_class/index.html#//apple_ref/occ/clm/NSURLSessionConfiguration/backgroundSessionConfigurationWithIdentifier:); and the [alexbbb/android-upload-service](https://github.com/alexbbb/android-upload-service) library for Android. +The plugin uses [NSURLSession with background session configuration for iOS](https://developer.apple.com/library/ios/documentation/Foundation/Reference/NSURLSessionConfiguration_class/index.html#//apple_ref/occ/clm/NSURLSessionConfiguration/backgroundSessionConfigurationWithIdentifier:); and [a fork](https://github.com/NativeScript/android-upload-service) of the [gotev/android-upload-service](https://github.com/gotev/android-upload-service) library for Android. ## Installation diff --git a/demo-angular/app/App_Resources/Android/src/main/AndroidManifest.xml b/demo-angular/app/App_Resources/Android/src/main/AndroidManifest.xml index adb8ac1..b288a62 100644 --- a/demo-angular/app/App_Resources/Android/src/main/AndroidManifest.xml +++ b/demo-angular/app/App_Resources/Android/src/main/AndroidManifest.xml @@ -11,7 +11,7 @@ android:xlargeScreens="true"/> diff --git a/demo-vue/app/App_Resources/Android/AndroidManifest.xml b/demo-vue/app/App_Resources/Android/AndroidManifest.xml index d05f4de..9961000 100644 --- a/demo-vue/app/App_Resources/Android/AndroidManifest.xml +++ b/demo-vue/app/App_Resources/Android/AndroidManifest.xml @@ -11,7 +11,7 @@ android:xlargeScreens="true"/> diff --git a/demo/app/App_Resources/Android/src/main/AndroidManifest.xml b/demo/app/App_Resources/Android/src/main/AndroidManifest.xml index adb8ac1..b288a62 100644 --- a/demo/app/App_Resources/Android/src/main/AndroidManifest.xml +++ b/demo/app/App_Resources/Android/src/main/AndroidManifest.xml @@ -11,7 +11,7 @@ android:xlargeScreens="true"/> diff --git a/src/.npmignore b/src/.npmignore index 1a3062f..6ab38bf 100644 --- a/src/.npmignore +++ b/src/.npmignore @@ -7,5 +7,4 @@ tsconfig.json *.tgz /package /platforms/android/**/* -!platforms/android/include.gradle -!platforms/android/nativescript_background_http.aar \ No newline at end of file +!platforms/android/uploadservice-release.aar \ No newline at end of file diff --git a/src/package.json b/src/package.json index 0133db3..435975a 100644 --- a/src/package.json +++ b/src/package.json @@ -17,12 +17,9 @@ "scripts": { "tsc": "tsc -skipLibCheck", "build": "npm i && tsc", - "postclone": "npm i && node scripts/postclone.js && cd ../demo && npm i && cd ../src && npm run plugin.link", "test.android": "npm i && npm run tsc && npm run tslint && cd ../demo && tns build android && tns test android --justlaunch", "test.ios": "npm i && npm run tsc && npm run tslint && cd ../demo && tns build ios && tns test ios --justlaunch", "tslint": "cd .. && tslint \"**/*.ts\" --config tslint.json --exclude \"**/node_modules/**\"", - "plugin.link": "npm link && cd ../demo && npm link nativescript-background-http && cd ../src", - "plugin.tscwatch": "npm run tsc -- -w", "demo.ios": "npm i && npm run tsc && cd ../demo && tns run ios", "demo-angular.ios": "npm i && npm run tsc && cd ../demo-angular && tns run ios", "demo-vue.ios": "npm i && npm run tsc && cd ../demo-vue && tns run ios", @@ -34,8 +31,7 @@ "server": "cd ../demo-server && npm run start", "plugin.prepare": "npm run tsc && cd ../demo && tns plugin remove nativescript-background-http && tns plugin add ../src", "clean": "cd ../demo && rimraf hooks node_modules platforms && cd ../src && rimraf node_modules && npm run plugin.link", - "ci.tslint": "npm i && tslint '**/*.ts' --config '../tslint.json' --exclude '**/node_modules/**'", - "prepare": "node scripts/prepare.js" + "ci.tslint": "npm i && tslint '**/*.ts' --config '../tslint.json' --exclude '**/node_modules/**'" }, "keywords": [ "background", diff --git a/src/platforms/android/AndroidManifest.xml b/src/platforms/android/AndroidManifest.xml deleted file mode 100644 index e927afa..0000000 --- a/src/platforms/android/AndroidManifest.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - diff --git a/src/platforms/android/include.gradle b/src/platforms/android/include.gradle deleted file mode 100644 index 82bc6b2..0000000 --- a/src/platforms/android/include.gradle +++ /dev/null @@ -1,8 +0,0 @@ -//default elements -android { -} - -//optional elements -dependencies { - implementation 'net.gotev:uploadservice:3.5.2' -} \ No newline at end of file diff --git a/src/platforms/android/uploadservice-release.aar b/src/platforms/android/uploadservice-release.aar new file mode 100644 index 0000000000000000000000000000000000000000..1ffef5a14059749332ae97a5a97c70124055efef GIT binary patch literal 92508 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
WAin8%=C9Aokx<#Ups&}9Sq+{1bpz%je_z1d?) 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 literal 0 HcmV?d00001 diff --git a/src/scripts/prepare.js b/src/scripts/prepare.js deleted file mode 100644 index 79c030c..0000000 --- a/src/scripts/prepare.js +++ /dev/null @@ -1,21 +0,0 @@ -const { exec } = require('child_process'); -const semver = require('semver'); - -exec('tns --version', (err, stdout, stderr) => { - if (err) { - // node couldn't execute the command - console.log(`tns --version err: ${err}`); - return; - } - - const regex = /^(?:\d+\.){2}\d+.*?$/m; - const matches = stdout.match(regex); - console.log("Extracted tns version: " + matches[0]); - const tnsVersion = semver.major(semver.coerce(matches[0])); - - // execute 'tns plugin build' for {N} version > 4. This command builds .aar in platforms/android folder. - if (tnsVersion >= 4) { - console.log(`executing 'tns plugin build'`); - exec('tns plugin build'); - } -}); \ No newline at end of file From 4f1beff9640c5a040ccc1aac7d6905bab92a7c91 Mon Sep 17 00:00:00 2001 From: dtodorov Date: Fri, 20 Sep 2019 11:35:47 +0300 Subject: [PATCH 06/13] Chore: bump version to 4.2.0 --- src/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/package.json b/src/package.json index 435975a..a10e6f9 100644 --- a/src/package.json +++ b/src/package.json @@ -1,6 +1,6 @@ { "name": "nativescript-background-http", - "version": "4.1.0", + "version": "4.2.0", "main": "background-http", "typings": "index.d.ts", "nativescript": { From d770a2b34002d451f96a1beeeaf9f9f5b1203d8e Mon Sep 17 00:00:00 2001 From: Romulo Pires Date: Fri, 25 Oct 2019 07:58:09 -0300 Subject: [PATCH 07/13] fix(android-upload): Fix some params vars to be a string (#252) * fix(android-upload): Fix some params vars to be a string Convert param to string before send to Java method Referenced in #249 * fix(android-upload): Remove missing lock files Removed missing lock files that i forget in before commit Referenced in issue 249 --- demo-angular/app/home/home.component.ts | 2 ++ src/background-http.android.ts | 19 ++++++++++--------- 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/demo-angular/app/home/home.component.ts b/demo-angular/app/home/home.component.ts index 941113f..940ab46 100644 --- a/demo-angular/app/home/home.component.ts +++ b/demo-angular/app/home/home.component.ts @@ -68,6 +68,8 @@ export class HomeComponent { if (isMulti) { const params = [ { name: "test", value: "value" }, + { name: "testInt", value: 10 }, + { name: "bool", value: true }, { name: "fileToUpload", filename: this.file, mimeType: 'image/jpeg' } ]; task = this.session.multipartUpload(params, request); diff --git a/src/background-http.android.ts b/src/background-http.android.ts index 3aae97c..7ead237 100644 --- a/src/background-http.android.ts +++ b/src/background-http.android.ts @@ -278,17 +278,18 @@ function getMultipartRequest(taskId: string, options: common.Request, params: an if (typeof curParam.name === 'undefined') { throw new Error("You must have a `name` value"); } - if (curParam.filename) { - let fileName = curParam.filename; - if (fileName.startsWith("~/")) { - fileName = fileName.replace("~/", fileSystemModule.knownFolders.currentApp().path + "/"); - } - const destFileName = curParam.destFilename || fileName.substring(fileName.lastIndexOf('/') + 1, fileName.length); - request.addFileToUpload(fileName, curParam.name, destFileName, curParam.mimeType); + + if (typeof curParam.filename === 'undefined') { + request.addParameter(curParam.name.toString(), curParam.value.toString()); + continue; } - else { - request.addParameter(params[i].name, params[i].value); + + let fileName = curParam.filename; + if (fileName.startsWith("~/")) { + fileName = fileName.replace("~/", fileSystemModule.knownFolders.currentApp().path + "/"); } + const destFileName = curParam.destFilename || fileName.substring(fileName.lastIndexOf('/') + 1, fileName.length); + request.addFileToUpload(fileName, curParam.name, destFileName, curParam.mimeType); } const utf8 = options.utf8; From 3b36b9674cbaf68e38605e994d784f014b80619b Mon Sep 17 00:00:00 2001 From: Zdravko Branzov Date: Fri, 1 Nov 2019 11:55:07 +0200 Subject: [PATCH 08/13] chore: bump version to 4.2.1 --- src/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/package.json b/src/package.json index a10e6f9..d214858 100644 --- a/src/package.json +++ b/src/package.json @@ -1,6 +1,6 @@ { "name": "nativescript-background-http", - "version": "4.2.0", + "version": "4.2.1", "main": "background-http", "typings": "index.d.ts", "nativescript": { From a931cb97e9b99cd40dabb531b9d6ffe19fb52532 Mon Sep 17 00:00:00 2001 From: Zdravko Branzov Date: Fri, 1 Nov 2019 11:56:32 +0200 Subject: [PATCH 09/13] fix: vue demo traffic permission issue on Android --- demo-vue/app/App_Resources/Android/AndroidManifest.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/demo-vue/app/App_Resources/Android/AndroidManifest.xml b/demo-vue/app/App_Resources/Android/AndroidManifest.xml index 9961000..b70b530 100644 --- a/demo-vue/app/App_Resources/Android/AndroidManifest.xml +++ b/demo-vue/app/App_Resources/Android/AndroidManifest.xml @@ -19,6 +19,7 @@ Date: Fri, 1 Nov 2019 11:58:21 +0200 Subject: [PATCH 10/13] chore: user markingMode none --- demo-angular/app/package.json | 7 +++++-- demo-vue/app/components/Home.vue | 4 +++- demo-vue/app/package.json | 5 ++++- demo/app/home/home-view-model.ts | 2 ++ demo/app/package.json | 7 +++++-- 5 files changed, 19 insertions(+), 6 deletions(-) diff --git a/demo-angular/app/package.json b/demo-angular/app/package.json index ee8642e..8d72b14 100644 --- a/demo-angular/app/package.json +++ b/demo-angular/app/package.json @@ -1,7 +1,10 @@ { "android": { "v8Flags": "--expose_gc", - "requireModules": ["nativescript-background-http"] + "requireModules": [ + "nativescript-background-http" + ], + "markingMode": "none" }, "main": "main.js" -} \ No newline at end of file +} diff --git a/demo-vue/app/components/Home.vue b/demo-vue/app/components/Home.vue index d740a2c..cdd6984 100644 --- a/demo-vue/app/components/Home.vue +++ b/demo-vue/app/components/Home.vue @@ -93,7 +93,9 @@ export default { if (isMulti) { const params = [ { name: "test", value: "value" }, - { name: "fileToUpload", filename: this.file, mimeType: "image/jpeg" } + { name: "testInt", value: 10 }, + { name: "bool", value: true }, + { name: "fileToUpload", filename: this.file, mimeType: 'image/jpeg' } ]; task = this.session.multipartUpload(params, request); } else { diff --git a/demo-vue/app/package.json b/demo-vue/app/package.json index d3ec06f..af93d02 100644 --- a/demo-vue/app/package.json +++ b/demo-vue/app/package.json @@ -2,6 +2,9 @@ "main": "app.js", "android": { "v8Flags": "--expose_gc", - "requireModules": ["nativescript-background-http"] + "requireModules": [ + "nativescript-background-http" + ], + "markingMode": "none" } } diff --git a/demo/app/home/home-view-model.ts b/demo/app/home/home-view-model.ts index 8dbef2e..07fc797 100644 --- a/demo/app/home/home-view-model.ts +++ b/demo/app/home/home-view-model.ts @@ -68,6 +68,8 @@ export class HomeViewModel extends Observable { if (isMulti) { const params = [ { name: "test", value: "value" }, + { name: "testInt", value: 10 }, + { name: "bool", value: true }, { name: "fileToUpload", filename: this.file, mimeType: 'image/jpeg' } ]; task = this.session.multipartUpload(params, request); diff --git a/demo/app/package.json b/demo/app/package.json index a7511e3..1e162ea 100644 --- a/demo/app/package.json +++ b/demo/app/package.json @@ -1,7 +1,10 @@ { "android": { "v8Flags": "--expose_gc", - "requireModules": ["nativescript-background-http"] + "requireModules": [ + "nativescript-background-http" + ], + "markingMode": "none" }, "main": "app.js" -} \ No newline at end of file +} From bfe1685ce4ca0694f353c1811b05ec6e8f58c309 Mon Sep 17 00:00:00 2001 From: Elena Hristova Date: Wed, 6 Nov 2019 15:46:09 +0200 Subject: [PATCH 11/13] chore: update to 6.2 --- demo-angular/package.json | 10 +++++----- demo-vue/package.json | 8 ++++---- demo/package.json | 8 ++++---- src/package.json | 2 +- 4 files changed, 14 insertions(+), 14 deletions(-) diff --git a/demo-angular/package.json b/demo-angular/package.json index 2fa43ec..861d88d 100644 --- a/demo-angular/package.json +++ b/demo-angular/package.json @@ -6,10 +6,10 @@ "nativescript": { "id": "org.nativescript.demoangular", "tns-android": { - "version": "6.1.0" + "version": "6.2.0" }, "tns-ios": { - "version": "6.1.0" + "version": "6.2.0" } }, "scripts": { @@ -25,7 +25,7 @@ "@angular/platform-browser": "~8.2.0", "@angular/platform-browser-dynamic": "~8.2.0", "@angular/router": "~8.2.0", - "nativescript-angular": "~8.2.0", + "nativescript-angular": "~8.20.0", "nativescript-background-http": "../src", "nativescript-theme-core": "~1.0.4", "reflect-metadata": "~0.1.10", @@ -34,9 +34,9 @@ "zone.js": "^0.9.1" }, "devDependencies": { - "nativescript-dev-webpack": "^1.0.0", + "nativescript-dev-webpack": "^1.3.0", "tslint": "~5.11.0", "tns-platform-declarations": "^6.0.0", "typescript": "~3.5.3" } -} \ No newline at end of file +} diff --git a/demo-vue/package.json b/demo-vue/package.json index 662c0a2..e014490 100644 --- a/demo-vue/package.json +++ b/demo-vue/package.json @@ -2,10 +2,10 @@ "nativescript": { "id": "org.nativescript.demovue", "tns-android": { - "version": "6.1.0" + "version": "6.2.0" }, "tns-ios": { - "version": "6.1.0" + "version": "6.2.0" } }, "description": "NativeScript Application", @@ -24,11 +24,11 @@ "@babel/core": "~7.1.0", "@babel/preset-env": "~7.1.0", "babel-loader": "~8.0.0", - "nativescript-dev-webpack": "^1.0.0", + "nativescript-dev-webpack": "^1.3.0", "nativescript-vue-template-compiler": "~2.4.0", "node-sass": "~4.12.0", "ts-loader": "^5.3.1", "vue-loader": "~15.4.0", - "typescript": "~3.4.5" + "typescript": "~3.5.3" } } diff --git a/demo/package.json b/demo/package.json index 267c2be..bffcbbf 100644 --- a/demo/package.json +++ b/demo/package.json @@ -6,10 +6,10 @@ "nativescript": { "id": "org.nativescript.demo", "tns-android": { - "version": "6.1.0" + "version": "6.2.0" }, "tns-ios": { - "version": "6.1.0" + "version": "6.2.0" } }, "scripts": { @@ -22,9 +22,9 @@ "tns-core-modules": "^6.0.0" }, "devDependencies": { - "nativescript-dev-webpack": "^1.0.0", + "nativescript-dev-webpack": "^1.3.0", "tslint": "~5.11.0", "tns-platform-declarations": "^6.0.0", - "typescript": "~3.4.5" + "typescript": "~3.5.3" } } diff --git a/src/package.json b/src/package.json index d214858..6867f41 100644 --- a/src/package.json +++ b/src/package.json @@ -51,7 +51,7 @@ "devDependencies": { "tns-core-modules": "^6.0.0", "tns-platform-declarations": "^6.0.0", - "typescript": "~3.1.6", + "typescript": "~3.5.3", "rimraf": "~2.6.2", "semver": "~5.6.0", "tslint": "~5.11.0" From a1ee3e14d789b4345377aca32f919598bbefeea5 Mon Sep 17 00:00:00 2001 From: Nathan Walker Date: Tue, 8 Sep 2020 20:14:41 -0700 Subject: [PATCH 12/13] chore: readme --- README.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/README.md b/README.md index 37830e5..01c16c4 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,10 @@ +## NativeScript 7 + +* Use `@nativescript/background-http`: `~5.0.0` +* [Source managed here](https://github.com/NativeScript/plugins) + +## If using 6 and below, see the following: + # Background Upload NativeScript plugin [![Build Status](https://travis-ci.org/NativeScript/nativescript-background-http.svg?branch=master)](https://travis-ci.org/NativeScript/nativescript-background-http) A cross platform plugin for [the NativeScript framework](http://www.nativescript.org), that provides background upload for iOS and Android. From b79f5140195d22af21c6818e166d113a13cc88e2 Mon Sep 17 00:00:00 2001 From: Nathan Walker Date: Mon, 12 Apr 2021 22:11:58 -0700 Subject: [PATCH 13/13] chore: disable travis --- .travis.yml | 112 ---------------------------------------------------- 1 file changed, 112 deletions(-) delete mode 100644 .travis.yml diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 7cf1968..0000000 --- a/.travis.yml +++ /dev/null @@ -1,112 +0,0 @@ -branches: - only: - - master -matrix: - include: - - stage: "Lint" - language: node_js - os: linux - node_js: "10" - script: - - cd src && npm run ci.tslint - - cd ../demo && npm run ci.tslint - - cd ../demo-angular && npm run ci.tslint - - stage: "WebPack" - os: osx - env: - - WebPack="iOS" - - Type="TypeScript" - osx_image: xcode10.2 - language: node_js - node_js: "10" - jdk: oraclejdk8 - before_script: pod repo update - script: - - cd demo && npm run build.plugin && npm i - - tns build ios --bundle --env.uglify - - os: osx - env: - - WebPack="iOS" - - Type="Angular" - osx_image: xcode10.2 - language: node_js - node_js: "10" - jdk: oraclejdk8 - before_script: pod repo update - script: - - cd src && npm run build - - cd ../publish && sh pack.sh - - cd ../demo-angular - - tns plugin add ../publish/package/*.tgz - - tns build ios --bundle --env.uglify --env.aot - - os: osx - env: - - WebPack="iOS" - - Type="Vue" - osx_image: xcode10.2 - language: node_js - node_js: "10" - jdk: oraclejdk8 - before_script: pod repo update - script: - - cd src && npm run build - - cd ../publish && sh pack.sh - - cd ../demo-vue - - tns plugin add ../publish/package/*.tgz - - tns build ios --bundle --env.uglify - - language: android - os: linux - dist: trusty - env: - - WebPack="Android" - - Type="TypeScript" - jdk: oraclejdk8 - before_install: nvm install 10 - script: - - cd demo && npm run build.plugin - - tns build android --bundle --env.uglify --env.snapshot - - language: android - os: linux - dist: trusty - env: - - WebPack="Android" - - Type="Angular" - jdk: oraclejdk8 - before_install: nvm install 10 - script: - - cd src && npm run build - - cd ../publish && sh pack.sh - - cd ../demo-angular - - tns plugin add ../publish/package/*.tgz - - tns build android --bundle --env.uglify --env.aot - - language: android - os: linux - dist: trusty - env: - - WebPack="Android" - - Type="Vue" - jdk: oraclejdk8 - before_install: nvm install 10 - script: - - cd src && npm run build - - cd ../publish && sh pack.sh - - cd ../demo-vue - - tns plugin add ../publish/package/*.tgz - - tns build android --bundle --env.uglify --env.aot - -android: - components: - - tools - - platform-tools - - build-tools-28.0.3 - - android-28 - - extra-android-m2repository - -before_install: - - sudo pip install --upgrade pip - - sudo pip install six - -install: - - echo no | npm install -g nativescript - - tns usage-reporting disable - - tns error-reporting disable