-
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #438 from enaboapps/version-1.24.0
Version 1.24.0
- Loading branch information
Showing
16 changed files
with
497 additions
and
270 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
27 changes: 2 additions & 25 deletions
27
app/src/main/java/com/enaboapps/switchify/service/menu/menus/edit/EditMenu.kt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,38 +1,15 @@ | ||
package com.enaboapps.switchify.service.menu.menus.edit | ||
|
||
import android.view.accessibility.AccessibilityNodeInfo | ||
import com.enaboapps.switchify.service.SwitchifyAccessibilityService | ||
import com.enaboapps.switchify.service.gestures.GesturePoint | ||
import com.enaboapps.switchify.service.menu.MenuItem | ||
import com.enaboapps.switchify.service.menu.menus.BaseMenu | ||
import com.enaboapps.switchify.service.nodes.Node | ||
import com.enaboapps.switchify.service.nodes.NodeExaminer | ||
import com.enaboapps.switchify.service.menu.store.MenuItemStore | ||
|
||
class EditMenu(accessibilityService: SwitchifyAccessibilityService) : | ||
BaseMenu(accessibilityService, buildEditMenuItems(accessibilityService)) { | ||
companion object { | ||
private fun buildEditMenuItems(accessibilityService: SwitchifyAccessibilityService): List<MenuItem> { | ||
val currentPoint = GesturePoint.getPoint() | ||
val cutNode = NodeExaminer.findNodeForAction(currentPoint, Node.ActionType.CUT) | ||
val copyNode = NodeExaminer.findNodeForAction(currentPoint, Node.ActionType.COPY) | ||
val pasteNode = NodeExaminer.findNodeForAction(currentPoint, Node.ActionType.PASTE) | ||
return listOfNotNull( | ||
if (cutNode != null) { | ||
MenuItem("Cut") { | ||
cutNode.performAction(AccessibilityNodeInfo.ACTION_CUT) | ||
} | ||
} else null, | ||
if (copyNode != null) { | ||
MenuItem("Copy") { | ||
copyNode.performAction(AccessibilityNodeInfo.ACTION_COPY) | ||
} | ||
} else null, | ||
if (pasteNode != null) { | ||
MenuItem("Paste") { | ||
pasteNode.performAction(AccessibilityNodeInfo.ACTION_PASTE) | ||
} | ||
} else null | ||
) | ||
return MenuItemStore(accessibilityService).buildEditMenuObject().getMenuItems() | ||
} | ||
} | ||
} |
21 changes: 2 additions & 19 deletions
21
app/src/main/java/com/enaboapps/switchify/service/menu/menus/gestures/GesturesMenu.kt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,33 +1,16 @@ | ||
package com.enaboapps.switchify.service.menu.menus.gestures | ||
|
||
import com.enaboapps.switchify.service.SwitchifyAccessibilityService | ||
import com.enaboapps.switchify.service.gestures.GestureManager | ||
import com.enaboapps.switchify.service.menu.MenuItem | ||
import com.enaboapps.switchify.service.menu.MenuManager | ||
import com.enaboapps.switchify.service.menu.menus.BaseMenu | ||
import com.enaboapps.switchify.service.menu.store.MenuItemStore | ||
|
||
class GesturesMenu(accessibilityService: SwitchifyAccessibilityService) : | ||
BaseMenu(accessibilityService, buildGesturesMenuItems(accessibilityService)) { | ||
|
||
companion object { | ||
private fun buildGesturesMenuItems(accessibilityService: SwitchifyAccessibilityService): List<MenuItem> { | ||
return listOf( | ||
MenuItem("Tap Gestures", isLinkToMenu = true) { | ||
MenuManager.getInstance().openTapMenu() | ||
}, | ||
MenuItem("Swipe Gestures", isLinkToMenu = true) { | ||
MenuManager.getInstance().openSwipeMenu() | ||
}, | ||
MenuItem("Drag") { | ||
GestureManager.getInstance().startDragGesture() | ||
}, | ||
MenuItem("Zoom Gestures", isLinkToMenu = true) { | ||
MenuManager.getInstance().openZoomGesturesMenu() | ||
}, | ||
MenuItem("Toggle Gesture Lock", closeOnSelect = false) { | ||
GestureManager.getInstance().toggleGestureLock() | ||
} | ||
) | ||
return MenuItemStore(accessibilityService).gesturesMenuObject.getMenuItems() | ||
} | ||
} | ||
} |
18 changes: 2 additions & 16 deletions
18
app/src/main/java/com/enaboapps/switchify/service/menu/menus/gestures/SwipeGesturesMenu.kt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,30 +1,16 @@ | ||
package com.enaboapps.switchify.service.menu.menus.gestures | ||
|
||
import com.enaboapps.switchify.service.SwitchifyAccessibilityService | ||
import com.enaboapps.switchify.service.gestures.GestureManager | ||
import com.enaboapps.switchify.service.gestures.SwipeDirection | ||
import com.enaboapps.switchify.service.menu.MenuItem | ||
import com.enaboapps.switchify.service.menu.menus.BaseMenu | ||
import com.enaboapps.switchify.service.menu.store.MenuItemStore | ||
|
||
class SwipeGesturesMenu(accessibilityService: SwitchifyAccessibilityService) : | ||
BaseMenu(accessibilityService, buildSwipeGesturesMenuItems(accessibilityService)) { | ||
|
||
companion object { | ||
private fun buildSwipeGesturesMenuItems(accessibilityService: SwitchifyAccessibilityService): List<MenuItem> { | ||
return listOf( | ||
MenuItem("Swipe Up") { | ||
GestureManager.getInstance().performSwipe(SwipeDirection.UP) | ||
}, | ||
MenuItem("Swipe Down") { | ||
GestureManager.getInstance().performSwipe(SwipeDirection.DOWN) | ||
}, | ||
MenuItem("Swipe Left") { | ||
GestureManager.getInstance().performSwipe(SwipeDirection.LEFT) | ||
}, | ||
MenuItem("Swipe Right") { | ||
GestureManager.getInstance().performSwipe(SwipeDirection.RIGHT) | ||
} | ||
) | ||
return MenuItemStore(accessibilityService).swipeGesturesMenuObject.getMenuItems() | ||
} | ||
} | ||
} |
14 changes: 2 additions & 12 deletions
14
app/src/main/java/com/enaboapps/switchify/service/menu/menus/gestures/TapGesturesMenu.kt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,26 +1,16 @@ | ||
package com.enaboapps.switchify.service.menu.menus.gestures | ||
|
||
import com.enaboapps.switchify.service.SwitchifyAccessibilityService | ||
import com.enaboapps.switchify.service.gestures.GestureManager | ||
import com.enaboapps.switchify.service.menu.MenuItem | ||
import com.enaboapps.switchify.service.menu.menus.BaseMenu | ||
import com.enaboapps.switchify.service.menu.store.MenuItemStore | ||
|
||
class TapGesturesMenu(accessibilityService: SwitchifyAccessibilityService) : | ||
BaseMenu(accessibilityService, buildTapGesturesMenuItems(accessibilityService)) { | ||
|
||
companion object { | ||
private fun buildTapGesturesMenuItems(accessibilityService: SwitchifyAccessibilityService): List<MenuItem> { | ||
return listOf( | ||
MenuItem("Tap") { | ||
GestureManager.getInstance().performTap() | ||
}, | ||
MenuItem("Double Tap") { | ||
GestureManager.getInstance().performDoubleTap() | ||
}, | ||
MenuItem("Tap and Hold") { | ||
GestureManager.getInstance().performTapAndHold() | ||
} | ||
) | ||
return MenuItemStore(accessibilityService).tapGesturesMenuObject.getMenuItems() | ||
} | ||
} | ||
} |
14 changes: 2 additions & 12 deletions
14
app/src/main/java/com/enaboapps/switchify/service/menu/menus/gestures/ZoomGesturesMenu.kt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,25 +1,15 @@ | ||
package com.enaboapps.switchify.service.menu.menus.gestures | ||
|
||
import com.enaboapps.switchify.service.SwitchifyAccessibilityService | ||
import com.enaboapps.switchify.service.gestures.GestureManager | ||
import com.enaboapps.switchify.service.gestures.ZoomGesturePerformer | ||
import com.enaboapps.switchify.service.menu.MenuItem | ||
import com.enaboapps.switchify.service.menu.menus.BaseMenu | ||
import com.enaboapps.switchify.service.menu.store.MenuItemStore | ||
|
||
class ZoomGesturesMenu(accessibilityService: SwitchifyAccessibilityService) : | ||
BaseMenu(accessibilityService, buildZoomGesturesMenuItems(accessibilityService)) { | ||
companion object { | ||
private fun buildZoomGesturesMenuItems(accessibilityService: SwitchifyAccessibilityService): List<MenuItem> { | ||
return listOf( | ||
MenuItem("Zoom In") { | ||
GestureManager.getInstance() | ||
.performZoomAction(ZoomGesturePerformer.ZoomAction.ZOOM_IN) | ||
}, | ||
MenuItem("Zoom Out") { | ||
GestureManager.getInstance() | ||
.performZoomAction(ZoomGesturePerformer.ZoomAction.ZOOM_OUT) | ||
} | ||
) | ||
return MenuItemStore(accessibilityService).zoomGesturesMenuObject.getMenuItems() | ||
} | ||
} | ||
} |
52 changes: 2 additions & 50 deletions
52
app/src/main/java/com/enaboapps/switchify/service/menu/menus/main/MainMenu.kt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,64 +1,16 @@ | ||
package com.enaboapps.switchify.service.menu.menus.main | ||
|
||
import com.enaboapps.switchify.service.SwitchifyAccessibilityService | ||
import com.enaboapps.switchify.service.gestures.GestureManager | ||
import com.enaboapps.switchify.service.gestures.GesturePoint | ||
import com.enaboapps.switchify.service.menu.MenuItem | ||
import com.enaboapps.switchify.service.menu.MenuManager | ||
import com.enaboapps.switchify.service.menu.menus.BaseMenu | ||
import com.enaboapps.switchify.service.nodes.NodeExaminer | ||
import com.enaboapps.switchify.service.scanning.ScanMethod | ||
import com.enaboapps.switchify.service.menu.store.MenuItemStore | ||
|
||
class MainMenu(accessibilityService: SwitchifyAccessibilityService) : | ||
BaseMenu(accessibilityService, buildMainMenuItems(accessibilityService)) { | ||
|
||
companion object { | ||
private fun buildMainMenuItems(accessibilityService: SwitchifyAccessibilityService): List<MenuItem> { | ||
val point = GesturePoint.getPoint() | ||
|
||
val menuItems = mutableListOf<MenuItem>() | ||
|
||
menuItems.add(MenuItem("Tap") { | ||
GestureManager.getInstance().performTap() | ||
}) | ||
|
||
menuItems.add(MenuItem("Gestures", isLinkToMenu = true) { | ||
MenuManager.getInstance().openGesturesMenu() | ||
}) | ||
|
||
if (NodeExaminer.canPerformScrollActions(point)) { | ||
menuItems.add(MenuItem("Scroll", isLinkToMenu = true) { | ||
MenuManager.getInstance().openScrollMenu() | ||
}) | ||
} | ||
|
||
// Only add "Refine Selection" if the current scan method is not item scan | ||
if (ScanMethod.getType() != ScanMethod.MethodType.ITEM_SCAN) { | ||
menuItems.add(MenuItem("Refine Selection") { | ||
GesturePoint.setReselect(true) | ||
}) | ||
} | ||
|
||
menuItems.add(MenuItem("Device", isLinkToMenu = true) { | ||
MenuManager.getInstance().openDeviceMenu() | ||
}) | ||
|
||
menuItems.add(MenuItem("Media Control", isLinkToMenu = true) { | ||
MenuManager.getInstance().openMediaControlMenu() | ||
}) | ||
|
||
val canEdit = NodeExaminer.canPerformEditActions(GesturePoint.getPoint()) | ||
if (canEdit) { | ||
menuItems.add(MenuItem("Edit", isLinkToMenu = true) { | ||
MenuManager.getInstance().openEditMenu() | ||
}) | ||
} | ||
|
||
menuItems.add(MenuItem(MenuManager.getInstance().getTypeToSwitchTo()) { | ||
MenuManager.getInstance().changeBetweenCursorAndItemScan() | ||
}) | ||
|
||
return menuItems | ||
return MenuItemStore(accessibilityService).mainMenuObject.getMenuItems() | ||
} | ||
} | ||
} |
9 changes: 2 additions & 7 deletions
9
app/src/main/java/com/enaboapps/switchify/service/menu/menus/media/MediaControlMenu.kt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,21 +1,16 @@ | ||
package com.enaboapps.switchify.service.menu.menus.media | ||
|
||
import android.accessibilityservice.AccessibilityService | ||
import com.enaboapps.switchify.service.SwitchifyAccessibilityService | ||
import com.enaboapps.switchify.service.menu.MenuItem | ||
import com.enaboapps.switchify.service.menu.menus.BaseMenu | ||
import com.enaboapps.switchify.service.menu.store.MenuItemStore | ||
|
||
class MediaControlMenu(accessibilityService: SwitchifyAccessibilityService) : | ||
BaseMenu(accessibilityService, buildMediaControlMenuItems(accessibilityService)) { | ||
|
||
companion object { | ||
private fun buildMediaControlMenuItems(accessibilityService: SwitchifyAccessibilityService): List<MenuItem> { | ||
return listOf( | ||
// Play/Pause using headset | ||
MenuItem("Play/Pause") { | ||
accessibilityService.performGlobalAction(AccessibilityService.GLOBAL_ACTION_KEYCODE_HEADSETHOOK) | ||
} | ||
) | ||
return MenuItemStore(accessibilityService).mediaControlMenuObject.getMenuItems() | ||
} | ||
} | ||
} |
Oops, something went wrong.