Update intent parsing to allow for user switching to home page (#1962)
## Description Makes the `itemId` parameter optional allowing just passing `serverId`/`userId` to switch the user and load the app at the home page for that user. Dev note: I added a new assert function `assertIs` which asserts that an object `is` of a type. It also has a contract so the compiler will smart-cast usages after the `assertIs`. Checking a result type is a very common pattern in the unit tests, so this assert will simplify a lot of current & future tests. ### Related issues Closes https://github.com/damontecres/Wholphin/discussions/1824 ### Testing Emulator and added unit tests for `parseIntent` ## Screenshots N/A ## AI or LLM usage None
This commit is contained in:
parent
8effd2b1e7
commit
ffdebd43c3
4 changed files with 321 additions and 24 deletions
10
Intents.md
10
Intents.md
|
|
@ -63,7 +63,7 @@ Action: `android.intent.action.VIEW`
|
|||
Shorthand action: `view`
|
||||
|
||||
Parameters:
|
||||
- `itemId` - Required, the UUID of the media item
|
||||
- `itemId` - Optional, the UUID of the media item, if not set, goes to home screen
|
||||
|
||||
|
||||
### Examples
|
||||
|
|
@ -135,12 +135,20 @@ adb shell am start -d 'wholphin://play?itemId=5cf8f8e7-2a5f-4aa9-8c12-ddf63d42ee
|
|||
|
||||
Full format
|
||||
```bash
|
||||
# Switch user, go to item
|
||||
adb shell am start \
|
||||
-a android.intent.action.VIEW \
|
||||
-n 'com.github.damontecres.wholphin/.MainActivity' \
|
||||
--es itemId "5cf8f8e7-2a5f-4aa9-8c12-ddf63d42ee6d" \
|
||||
--es serverId "341880f9-ca88-4038-8718-f6b2407950b1" \
|
||||
--es userId "5c8575e0-468d-44fb-8c70-00aa79160587"
|
||||
|
||||
# Switch user, go to home screen
|
||||
adb shell am start \
|
||||
-a android.intent.action.VIEW \
|
||||
-n 'com.github.damontecres.wholphin/.MainActivity' \
|
||||
--es serverId "341880f9-ca88-4038-8718-f6b2407950b1" \
|
||||
--es userId "5c8575e0-468d-44fb-8c70-00aa79160587"
|
||||
```
|
||||
|
||||
URI based
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue