From 6a1e6db48689b27afa98c2c8351c154b9fcba89a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20Sch=C3=A4ttgen?= Date: Sun, 6 Nov 2022 04:41:39 +0100 Subject: [PATCH] Add quick setting tiles --- app/src/main/AndroidManifest.xml | 26 ++++++++++++++ .../aegis/services/LaunchAppTileService.java | 33 ++++++++++++++++++ .../services/LaunchScannerTileService.java | 34 +++++++++++++++++++ .../res/drawable/ic_aegis_quicksettings.xml | 12 +++++++ app/src/main/res/values/strings.xml | 3 ++ 5 files changed, 108 insertions(+) create mode 100644 app/src/main/java/com/beemdevelopment/aegis/services/LaunchAppTileService.java create mode 100644 app/src/main/java/com/beemdevelopment/aegis/services/LaunchScannerTileService.java create mode 100644 app/src/main/res/drawable/ic_aegis_quicksettings.xml diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 671a6dd3..5a6616bf 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -94,6 +94,32 @@ + + + + + + + + + + + + + + diff --git a/app/src/main/java/com/beemdevelopment/aegis/services/LaunchAppTileService.java b/app/src/main/java/com/beemdevelopment/aegis/services/LaunchAppTileService.java new file mode 100644 index 00000000..7b86b0fa --- /dev/null +++ b/app/src/main/java/com/beemdevelopment/aegis/services/LaunchAppTileService.java @@ -0,0 +1,33 @@ +package com.beemdevelopment.aegis.services; + +import android.content.Intent; +import android.os.Build; +import android.service.quicksettings.Tile; +import android.service.quicksettings.TileService; + +import androidx.annotation.RequiresApi; + +import com.beemdevelopment.aegis.ui.MainActivity; + +@RequiresApi(api = Build.VERSION_CODES.N) +public class LaunchAppTileService extends TileService { + + @Override + public void onStartListening() { + super.onStartListening(); + Tile tile = getQsTile(); + tile.setState(Tile.STATE_INACTIVE); + tile.updateTile(); + } + + @Override + public void onClick() { + super.onClick(); + + Intent intent = new Intent(this, MainActivity.class); + intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK); + intent.setAction(Intent.ACTION_MAIN); + + startActivityAndCollapse(intent); + } +} \ No newline at end of file diff --git a/app/src/main/java/com/beemdevelopment/aegis/services/LaunchScannerTileService.java b/app/src/main/java/com/beemdevelopment/aegis/services/LaunchScannerTileService.java new file mode 100644 index 00000000..99e07652 --- /dev/null +++ b/app/src/main/java/com/beemdevelopment/aegis/services/LaunchScannerTileService.java @@ -0,0 +1,34 @@ +package com.beemdevelopment.aegis.services; + +import android.content.Intent; +import android.os.Build; +import android.service.quicksettings.Tile; +import android.service.quicksettings.TileService; + +import androidx.annotation.RequiresApi; + +import com.beemdevelopment.aegis.ui.MainActivity; + +@RequiresApi(api = Build.VERSION_CODES.N) +public class LaunchScannerTileService extends TileService { + + @Override + public void onStartListening() { + super.onStartListening(); + Tile tile = getQsTile(); + tile.setState(Tile.STATE_INACTIVE); + tile.updateTile(); + } + + @Override + public void onClick() { + super.onClick(); + + Intent intent = new Intent(this, MainActivity.class); + intent.putExtra("action", "scan"); + intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK); + intent.setAction(Intent.ACTION_MAIN); + + startActivityAndCollapse(intent); + } +} \ No newline at end of file diff --git a/app/src/main/res/drawable/ic_aegis_quicksettings.xml b/app/src/main/res/drawable/ic_aegis_quicksettings.xml new file mode 100644 index 00000000..5a5738ab --- /dev/null +++ b/app/src/main/res/drawable/ic_aegis_quicksettings.xml @@ -0,0 +1,12 @@ + + + diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index c1be0058..d8712917 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -324,6 +324,9 @@ Unable to generate QR code Select picture Select icon + Open vault + Open scanner + Toggle checkboxes Search Lock status