List Remove At
Summary
- Internal name:
ListRemoveAt - Category: Collections
- Purpose: Remove the element at a given index from a list variable.
- Task type: Normal
Compatibility
-
Minimum AndroMate version:
1.1.0 -
Maximum AndroMate version:
1.1.0 -
Minimum Android:
Android 13 (API 33) -
Maximum Android tested:
Android 16 (API 36) -
Supported manufacturers:
- Samsung (One UI 6.x / 7.x / 8.x)
- Other manufacturers - not supported yet (Xiaomi HyperOS and Google Pixel are being adapted)
-
Required permissions:
- None
Detailed description
The List Remove At task removes the element at position index_input (zero-based) from a list variable. All elements after the removed one are shifted one position to the left.
If the index is out of bounds (negative or ≥ list size), the task throws COLLECTION-TASK-001.
Input parameters
| Parameter | Type | Required | Possible values | Android Compatibility | AndroMate Compatibility | Default |
|---|---|---|---|---|---|---|
list_variable_input |
Variable reference | Yes | Declared variable starting with $, holding a valid list |
Android 13 (API 33) -> Android 16 (API 36) | 1.1.0 -> 1.1.0 | - |
index_input |
Integer / Variable | Yes | Zero-based index; must be 0 ≤ index < size |
Android 13 (API 33) -> Android 16 (API 36) | 1.1.0 -> 1.1.0 | 0 |
Output parameters
None. The variable referenced by list_variable_input is updated with the element removed.
Exceptions
| Code | Exception Name | Description |
|---|---|---|
COLLECTION-TASK-001 |
List Variable Not a List | Index is out of bounds - negative or ≥ list size. |
COLLECTION-TASK-002 |
List Variable Name Invalid | list_variable_input is empty or does not start with $. |
RESOLVE-VAR-005 |
Resolve ArrayList Error | The variable does not contain a valid JSON array string. |
Execution flowchart
flowchart TD
Start([Start ListRemoveAt]) --> ResolveList[Resolve list_variable_input]
ResolveList --> CheckList{Valid list?}
CheckList -->|No| E1[RESOLVE-VAR-005]
CheckList -->|Yes| ResolveIndex[Resolve index_input]
ResolveIndex --> CheckBounds{0 ≤ index < size?}
CheckBounds -->|No| E2[COLLECTION-TASK-001]
CheckBounds -->|Yes| Remove[list.remove index]
Remove --> Store[setVariableValue\nvar = updated list]
Store --> Success([VoidResult])
E1 --> Error([Exception])
E2 --> Error
style Start fill:#e3f2fd
style Success fill:#c8e6c9
style Error fill:#ffcdd2
style ResolveList fill:#fff9c4
style ResolveIndex fill:#fff9c4
style Store fill:#c8e6c9
style E1 fill:#ffcdd2
style E2 fill:#ffcdd2