diff options
author | stefan-niedermann <info@niedermann.it> | 2019-10-20 17:08:30 +0300 |
---|---|---|
committer | stefan-niedermann <info@niedermann.it> | 2019-10-20 17:08:30 +0300 |
commit | e66b548f32aad0ba3f33f08c6528bc3e3ad4af2d (patch) | |
tree | 1545bbecb6946945224b89c575bab5974f8aa921 /app/src/main/java | |
parent | 4aee072680ca64bb620a3e9d24fd1a2081b67882 (diff) |
Add tile for quickly creating a new card
Diffstat (limited to 'app/src/main/java')
-rw-r--r-- | app/src/main/java/it/niedermann/nextcloud/deck/ui/tiles/EditCardTileService.java | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/tiles/EditCardTileService.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/tiles/EditCardTileService.java new file mode 100644 index 000000000..1bc7a4433 --- /dev/null +++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/tiles/EditCardTileService.java @@ -0,0 +1,37 @@ +package it.niedermann.nextcloud.deck.ui.tiles; + +import android.annotation.TargetApi; +import android.content.Intent; +import android.os.Build; +import android.service.quicksettings.Tile; +import android.service.quicksettings.TileService; + +import it.niedermann.nextcloud.deck.ui.EditActivity; + +import static it.niedermann.nextcloud.deck.ui.card.CardAdapter.BUNDLE_KEY_ACCOUNT_ID; +import static it.niedermann.nextcloud.deck.ui.card.CardAdapter.BUNDLE_KEY_BOARD_ID; +import static it.niedermann.nextcloud.deck.ui.card.CardAdapter.BUNDLE_KEY_LOCAL_ID; + +@TargetApi(Build.VERSION_CODES.N) +public class EditCardTileService extends TileService { + + @Override + public void onStartListening() { + Tile tile = getQsTile(); + tile.setState(Tile.STATE_ACTIVE); + tile.updateTile(); + } + + @Override + public void onClick() { + Intent intent = new Intent(getApplicationContext(), EditActivity.class); + // create new note intent + intent.putExtra(BUNDLE_KEY_ACCOUNT_ID, -1); + intent.putExtra(BUNDLE_KEY_BOARD_ID, -1); + intent.putExtra(BUNDLE_KEY_LOCAL_ID, -1); + // ensure it won't open twice if already running + intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP | Intent.FLAG_ACTIVITY_NEW_TASK); + // ask to unlock the screen if locked, then start new note intent + unlockAndRun(() -> startActivityAndCollapse(intent)); + } +} |