fix: activates back button handling on the app only

This commit is contained in:
Alex 2022-05-05 16:24:00 +12:00
parent bd83b0a81d
commit ca5552ba27
1 changed files with 9 additions and 4 deletions

View File

@ -1,20 +1,25 @@
import { App as CapacitorApp } from "@capacitor/app"; import { App as CapacitorApp } from "@capacitor/app";
import { Capacitor } from "@capacitor/core";
import backType from "./backType"; import backType from "./backType";
export default class backHandler { export default class backHandler {
constructor() { constructor() {
this.backStack = []; // This should only contain instances of backType. Any other type will be ignored. this.backStack = []; // This should only contain instances of backType. Any other type will be ignored.
this.startUp(); if (Capacitor.getPlatform() != "web") this.startUp(); // Only run on native platforms.
} }
startUp() { startUp() {
this.reset(); this.reset();
// Add a listener for the back button. // Add a listener for the back button.
this.backHandler = CapacitorApp.addListener("backButton", (context) => { this.back(context) }); this.backHandler = CapacitorApp.addListener("backButton", (context) => {
this.back(context);
});
// Start garbage collection. Run every 5 minutes. // Start garbage collection. Run every 5 minutes.
setInterval(() => { setInterval(() => {
() => { this.garbageCollect }; () => {
this.garbageCollect;
};
}, 5 * 60 * 1000); }, 5 * 60 * 1000);
} }
@ -23,7 +28,7 @@ export default class backHandler {
} }
back({ canGoBack }) { back({ canGoBack }) {
console.log("backStack", this.backStack) console.log("backStack", this.backStack);
// Check if backStack contains any backType objects. If so, call the goBack() function. // Check if backStack contains any backType objects. If so, call the goBack() function.
if (this.backStack.length > 0) { if (this.backStack.length > 0) {
// Loop through the backStack array. // Loop through the backStack array.