From 48671d5f7716d7d7d20376e4106f0ac161f0ab36 Mon Sep 17 00:00:00 2001 From: Yizack Rangel Date: Fri, 20 Oct 2023 10:41:41 -0500 Subject: [PATCH] chore: flexible updates --- android/app/capacitor.build.gradle | 1 + android/capacitor.settings.gradle | 3 +++ app.vue | 1 + package.json | 1 + pnpm-lock.yaml | 11 +++++++++++ utils/capacitor.js | 11 +++++++++++ 6 files changed, 28 insertions(+) diff --git a/android/app/capacitor.build.gradle b/android/app/capacitor.build.gradle index 29083e4..efa926d 100644 --- a/android/app/capacitor.build.gradle +++ b/android/app/capacitor.build.gradle @@ -19,6 +19,7 @@ dependencies { implementation project(':capacitor-splash-screen') implementation project(':capacitor-status-bar') implementation project(':capacitor-toast') + implementation project(':capawesome-capacitor-app-update') } diff --git a/android/capacitor.settings.gradle b/android/capacitor.settings.gradle index f7bb030..24614d1 100644 --- a/android/capacitor.settings.gradle +++ b/android/capacitor.settings.gradle @@ -31,3 +31,6 @@ project(':capacitor-status-bar').projectDir = new File('../node_modules/.pnpm/@c include ':capacitor-toast' project(':capacitor-toast').projectDir = new File('../node_modules/.pnpm/@capacitor+toast@5.0.6_@capacitor+core@5.5.0/node_modules/@capacitor/toast/android') + +include ':capawesome-capacitor-app-update' +project(':capawesome-capacitor-app-update').projectDir = new File('../node_modules/.pnpm/@capawesome+capacitor-app-update@5.0.1_@capacitor+core@5.5.0/node_modules/@capawesome/capacitor-app-update/android') diff --git a/app.vue b/app.vue index 424e009..9097d2b 100644 --- a/app.vue +++ b/app.vue @@ -17,6 +17,7 @@ export default { await CONFIG.load(); await CAPACITOR.setStatusBar(true); + await CAPACITOR.startFlexibleUpdate(); if (CAPACITOR.isAndroid()) { const { $router } = useNuxtApp(); diff --git a/package.json b/package.json index ca6a934..3b40ed4 100644 --- a/package.json +++ b/package.json @@ -53,6 +53,7 @@ "@capacitor/splash-screen": "^5.0.6", "@capacitor/status-bar": "^5.0.6", "@capacitor/toast": "^5.0.6", + "@capawesome/capacitor-app-update": "^5.0.1", "@commitlint/cli": "^17.8.0", "@commitlint/config-conventional": "^17.8.0", "@nuxt/eslint-config": "^0.2.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a0b2c1c..ef32cd2 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -67,6 +67,9 @@ devDependencies: '@capacitor/toast': specifier: ^5.0.6 version: 5.0.6(@capacitor/core@5.5.0) + '@capawesome/capacitor-app-update': + specifier: ^5.0.1 + version: 5.0.1(@capacitor/core@5.5.0) '@commitlint/cli': specifier: ^17.8.0 version: 17.8.0 @@ -888,6 +891,14 @@ packages: '@capacitor/core': 5.5.0 dev: true + /@capawesome/capacitor-app-update@5.0.1(@capacitor/core@5.5.0): + resolution: {integrity: sha512-A5I9hEFwqXYJ/Mc3xx+A0LLm0VrpPTcST9wQ08Mh+ybReDEUNwC+JEEppurJX+/tAUttnB6bZ/Kjh1jqsYPTkA==} + peerDependencies: + '@capacitor/core': ^5.0.0 + dependencies: + '@capacitor/core': 5.5.0 + dev: true + /@cloudflare/kv-asset-handler@0.3.0: resolution: {integrity: sha512-9CB/MKf/wdvbfkUdfrj+OkEwZ5b7rws0eogJ4293h+7b6KX5toPwym+VQKmILafNB9YiehqY0DlNrDcDhdWHSQ==} dependencies: diff --git a/utils/capacitor.js b/utils/capacitor.js index e2188bc..6a11311 100644 --- a/utils/capacitor.js +++ b/utils/capacitor.js @@ -7,6 +7,7 @@ import { Dialog } from "@capacitor/dialog"; import { Network } from "@capacitor/network"; import { Browser } from "@capacitor/browser"; import { Clipboard } from "@capacitor/clipboard"; +import { AppUpdate } from "@capawesome/capacitor-app-update"; const error_conexion = { error: true, error_key: "error_conexion" }; const error_response = { error: true, error_key: "error" }; @@ -107,6 +108,16 @@ class CapacitorPlugins { onBack (callback = () => {}) { App.addListener("backButton", ({ canGoBack }) => callback(canGoBack)); } + + async startFlexibleUpdate () { + const result = await AppUpdate.getAppUpdateInfo(); + if (result.updateAvailability !== AppUpdateAvailability.UPDATE_AVAILABLE) { + return; + } + if (result.flexibleUpdateAllowed) { + await AppUpdate.startFlexibleUpdate(); + } + } } export const CAPACITOR = new CapacitorPlugins();