Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[New App Shortcut]: AT&T TV #170

Closed
SpartanTech opened this issue Aug 13, 2023 · 9 comments
Closed

[New App Shortcut]: AT&T TV #170

SpartanTech opened this issue Aug 13, 2023 · 9 comments
Assignees
Labels
enhancement New feature or request New Device Support Request to add support of a currently unsupported Amazon Fire device

Comments

@SpartanTech
Copy link

SpartanTech commented Aug 13, 2023

App Name

DIRECTV

Device Platform

ATT's Directv Digital TV set top box

App Store Link or URL to .apk file if sideloaded

com.att.tv.openvideo

Application Info

We use this 'app' to watch TV. It's ATT's default TV watching app they sell. I found that DirectTV stream is different and doesnt open this (different device than others maybe?)

Optional Comments

Developer tools of media_player ANDROID integration:

app_name: com.att.tv.openvideo
source: com.att.tv.openvideo
adb_response: null
hdmi_input: null
device_class: tv
entity_picture: /api/media_player_proxy/media_player.android_tv_112_168_1_176?token=xxxxxx
friendly_name: TV STREAMBOX 176
supported_features: 23997
source_list: com.android.providers.tv, com.google.process.gservices, com.android.systemui, com.google.android.ext.services, com.google.android.tv.remote.service, YouTube, com.android.providers.media.module, com.att.ngc.swdl.service, com.google.android.tvrecommendations, com.att.tv.openvideo, com.dolby.android.audio.service, Google Cast, com.att.ngc.report.error, com.google.process.gapps, com.att.ngc.core:notify, Netflix, com.google.android.gms.persistent, com.pandora.android.atv, android.process.acore, com.google.android.gms, com.directv.tv.dtvlauncher, Play Store, com.espn.score_center, com.att.ngc.core, com.att.ngc.security.common, Disney+, com.peacocktv.peacockandroid, com.google.android.tts, com.wbd.stream, com.google.android.apps.mediashell:privileged_process0, com.google.android.katniss:interactor, com.google.android.katniss:search
volume_level: 1
is_volume_muted: false
app_id: com.att.tv.openvideo

Developer tools of media_player CAST integration of same device:

volume_level: 1
is_volume_muted: false
media_content_type: video
media_position: 1691894347.697
media_position_updated_at: 2023-08-13T02:39:37.986121+00:00
app_id: AndroidNativeApp
app_name: DIRECTV
entity_picture_local: null
friendly_name: Streambox Cast
supported_features: 152451
@SpartanTech SpartanTech added enhancement New feature or request New App Shortcut Request for a new Firemote app shortcut labels Aug 13, 2023
@PRProd
Copy link
Owner

PRProd commented Aug 14, 2023

Hello @SpartanTech!

I need a quick clarification before I work in the wrong direction: Is your Android streaming box one of the ones not listed under the prerequisites section, is it specifically an AT&T DirecTv Digital TV set top box? If the above is true, and your device isn't officially supported, don't worry, I should still be able to help 😄 I would also like to suggest that you make your voice heard over in the Poll: Vote for what gets added next! discussion.

To move forward with this specific request, please follow the instructions here under the heading of Details For App Requests, and reply back with the results.

Thanks!

@PRProd
Copy link
Owner

PRProd commented Aug 28, 2023

@SpartanTech - Have you had a chance to review this yet?

@SpartanTech
Copy link
Author

I have! I will update my post tomorrow after work with details. Thank you for reminding me on my own ask 😆

@SpartanTech
Copy link
Author

SpartanTech commented Sep 1, 2023

My TV's ADB Response command while on the 'TV' input:

adb_response: mSurface=Surface(name=)/@0x8b7aedb
      mSurface=Surface(name=com.sony.dtv.tvx/com.sony.dtv.tvx.MainActivity)/@0xaa28137
      mSurface=Surface(name=com.android.systemui.ImageWallpaper)/@0x8c1f4fb
  mCurrentFocus=Window{29ccdba u0 com.sony.dtv.tvx/com.sony.dtv.tvx.MainActivity}
  mFocusedApp=AppWindowToken{794b324 token=Token{7985fb7 ActivityRecord{8b166b6 u0 com.sony.dtv.tvx/.MainActivity t1926}}}
hdmi_input: null
device_class: tv
friendly_name: TV ANDROID 183
supported_features: 23997
source_list: com.android.systemui, com.sony.dtv.audiooutput, com.sony.dtv.b2b.hotelmode, com.sony.dtv.tvinput.tuner:remoteTunerInputService, com.sony.dtv.homekit, com.sony.dtv.braviasyncservice, Timers, com.sony.dtv.airplayapp, com.sony.dtv.interactivetvutil, com.sony.dtv.sonyvendorservice, com.sony.dtv.irbservice, com.sony.dtv.tvinput.hardwaremanager:HardwareManagerService, com.sony.dtv.tvapi, com.vewd.core.service:browser_process, com.uei.quicksetsdk.sony, TV, com.vewd.core.service:privileged_process0, com.sony.dtv.provider.modelvariation, com.sony.dtv.videoframeserver, node, com.sony.dtv.browser.webappruntime, com.sony.huey.dlna.module:dmr, com.sony.dtv.b2b.vendorprotocol, Android TV Launcher, node, com.sony.huey.dlna.renderersettings, tv.samba.ssm, com.sony.dtv.webapi.core, com.sony.dtv.tvinput.tuner:remoteMetaDataManagerService, com.google.android.katniss:search, com.sony.dtv.imeproxy, Plex, com.google.process.gservices, com.google.process.gapps, Netflix, com.sony.dtv.panelsettings, com.android.providers.tv, com.google.android.gms.persistent, com.google.android.apps.mediashell:privileged_process0, Google Cast, com.sony.dtv.smarthomesettings, com.google.android.gms, com.sony.dtv.tvinput.provider, com.sony.dtv.systemupdate, com.sony.dtv.osdplanevisibilitymanager, com.sony.huey.dlna.module, com.google.android.inputmethod.latin, com.google.android.tvrecommendations, com.google.android.tv.remote.service, de.cyberdream.androidtv.notifications.google, com.google.android.katniss:interactor, com.sony.dtv.tvinput.external:remoteInputService
volume_level: 0.21
is_volume_muted: false
app_id: com.sony.dtv.tvx
app_name: TV
source: TV

My AT&T 'TV' app: (believe its using Directv)

adb_response: mSurface=Surface(name=com.att.tv.openvideo/com.att.ngctv.dfw.navigation.MainNavigationActivity)/@0xd28d67
      mSurface=Surface(name=com.android.systemui.ImageWallpaper)/@0xbe8a67d
hdmi_input: null
device_class: tv
friendly_name: TV STREAMBOX 176
supported_features: 23997
volume_level: 1
is_volume_muted: false
entity_picture: /api/media_player_proxy/media_player.android_tv_192_168_1_176?token=c4654bcc46058d5882e606f7c59a082f7bee0a2f748048e70397e04a24273236&cache=05377a96972306b7

Entire input adb command of ATT box:

adb_response: INPUT MANAGER (dumpsys input)  Input Manager State:   Interactive: true   System UI Visibility: 0x8008   Pointer Speed: 0   Pointer Gestures Enabled: true   Show Touches: false   Pointer Capture Enabled: false  Event Hub State:   BuiltInKeyboardId: -2   Devices:     -1: Virtual       Classes: 0x40000023       Path: <virtual>       Enabled: true       Descriptor: a718a782d34bc767f4689c232d64d527998ea7fd       Location:        ControllerNumber: 0       UniqueId: <virtual>       Identifier: bus=0x0000, vendor=0x0000, product=0x0000, version=0x0000       KeyLayoutFile: /vendor/usr/keylayout/Generic.kl       KeyCharacterMapFile: /system/usr/keychars/Virtual.kcm       ConfigurationFile:        HaveKeyboardLayoutOverlay: false       VideoDevice: <none>     1: NexusIrHandler       Classes: 0x00000021       Path: /dev/input/event2       Enabled: true       Descriptor: b622f43984ec31ef1f974efd4751384c21258de7       Location:        ControllerNumber: 0       UniqueId:        Identifier: bus=0x0019, vendor=0x0000, product=0x0000, version=0x0001       KeyLayoutFile: /vendor/usr/keylayout/NexusIrHandler.kl       KeyCharacterMapFile: /system/usr/keychars/Generic.kcm       ConfigurationFile:        HaveKeyboardLayoutOverlay: false       VideoDevice: <none>     2: NexusPower       Classes: 0x00000001       Path: /dev/input/event1       Enabled: true       Descriptor: e1926971c121a3bae74e162ad558505130613cfc       Location:        ControllerNumber: 0       UniqueId:        Identifier: bus=0x0019, vendor=0x0000, product=0x0000, version=0x0001       KeyLayoutFile: /vendor/usr/keylayout/Generic.kl       KeyCharacterMapFile: /system/usr/keychars/Generic.kcm       ConfigurationFile:        HaveKeyboardLayoutOverlay: false       VideoDevice: <none>     3: droid_pm       Classes: 0x00000081       Path: /dev/input/event0       Enabled: true       Descriptor: 07a1c5547cc7750cc4edae6e270c45a28288aa91       Location:        ControllerNumber: 0       UniqueId:        Identifier: bus=0x0006, vendor=0x0000, product=0x0000, version=0x0000       KeyLayoutFile: /vendor/usr/keylayout/Generic.kl       KeyCharacterMapFile: /system/usr/keychars/Generic.kcm       ConfigurationFile:        HaveKeyboardLayoutOverlay: false       VideoDevice: <none>     4: virtual-search       Classes: 0x00000061       Path: /dev/input/event3       Enabled: true       Descriptor: d76b0dc9b6d844ab25ed6d04f6d43a45d3806d72       Location: android.os.BinderProxy@cea7467       ControllerNumber: 1       UniqueId:        Identifier: bus=0x0006, vendor=0x18d1, product=0x0100, version=0x0001       KeyLayoutFile: /vendor/usr/keylayout/Generic.kl       KeyCharacterMapFile: /system/usr/keychars/Generic.kcm       ConfigurationFile:        HaveKeyboardLayoutOverlay: false       VideoDevice: <none>     5: R2       Classes: 0x00000521       Path: /dev/input/event4       Enabled: true       Descriptor: a9c740c669012c5dcc4c5b8b750bc7dabb59d250       Location:        ControllerNumber: 0       UniqueId: 8c:3a:7e:ab:63:87       Identifier: bus=0x0005, vendor=0x06e7, product=0x8106, version=0x0111       KeyLayoutFile: /system/usr/keylayout/Vendor_06e7_Product_8106.kl       KeyCharacterMapFile: /system/usr/keychars/Generic.kcm       ConfigurationFile: /system/usr/idc/Vendor_06e7_Product_8106.idc       HaveKeyboardLayoutOverlay: false       VideoDevice: <none>     8: virtual-remote       Classes: 0x80000461       Path: /dev/input/event5       Enabled: true       Descriptor: b23c82de567c9253846781e3d2ac114797172571       Location: android.os.BinderProxy@aaafc1       ControllerNumber: 2       UniqueId:        Identifier: bus=0x0006, vendor=0x18d1, product=0x0100, version=0x0001       KeyLayoutFile: /system/usr/keylayout/virtual-remote.kl       KeyCharacterMapFile: /system/usr/keychars/virtual-remote.kcm       ConfigurationFile: /vendor/usr/idc/virtual-remote.idc       HaveKeyboardLayoutOverlay: false       VideoDevice: <none>   Unattached video devices:     <none>  Input Reader State:   Device 9: virtual-remote     Generation: 20     IsExternal: true     AssociatedDisplayPort: <none>     HasMic:     true     Sources: 0x00000701     KeyboardType: 1     Keyboard Input Mapper:       Parameters:         OrientationAware: false         HandlesKeyRepeat: false       KeyboardType: 1       Orientation: 0       KeyDowns: 0 keys currently down       MetaState: 0x0       DownTime: 142034808186000   Device 6: R2     Generation: 12     IsExternal: false     AssociatedDisplayPort: <none>     HasMic:     true     Sources: 0x01000311     KeyboardType: 1     Motion Ranges:       GENERIC_1: source=0x01000010, min=0.000, max=1.000, flat=0.000, fuzz=0.000, resolution=0.000     Keyboard Input Mapper:       Parameters:         OrientationAware: false         HandlesKeyRepeat: false       KeyboardType: 1       Orientation: 0       KeyDowns: 0 keys currently down       MetaState: 0x0       DownTime: 72439316956000     Joystick Input Mapper:       Axes:         GENERIC_1: min=0.00000, max=1.00000, flat=0.00000, fuzz=0.00000, resolution=0.00000           scale=0.00098, offset=0.00000, highScale=0.00098, highOffset=0.00000           rawAxis=32, rawMin=0, rawMax=1023, rawFlat=0, rawFuzz=0, rawResolution=0   Device 5: virtual-search     Generation: 10     IsExternal: false     AssociatedDisplayPort: <none>     HasMic:     false     Sources: 0x00000701     KeyboardType: 1     Keyboard Input Mapper:       Parameters:         OrientationAware: false         HandlesKeyRepeat: false       KeyboardType: 1       Orientation: 0       KeyDowns: 0 keys currently down       MetaState: 0x0       DownTime: 0   Device 4: NexusIrHandler     Generation: 8     IsExternal: false     AssociatedDisplayPort: <none>     HasMic:     false     Sources: 0x00000301     KeyboardType: 1     Keyboard Input Mapper:       Parameters:         OrientationAware: false         HandlesKeyRepeat: false       KeyboardType: 1       Orientation: 0       KeyDowns: 0 keys currently down       MetaState: 0x0       DownTime: 0   Device 3: NexusPower     Generation: 6     IsExternal: false     AssociatedDisplayPort: <none>     HasMic:     false     Sources: 0x00000101     KeyboardType: 1     Keyboard Input Mapper:       Parameters:         OrientationAware: false         HandlesKeyRepeat: false       KeyboardType: 1       Orientation: 0       KeyDowns: 0 keys currently down       MetaState: 0x0       DownTime: 0   Device 2: droid_pm     Generation: 4     IsExternal: false     AssociatedDisplayPort: <none>     HasMic:     false     Sources: 0x80000101     KeyboardType: 1     Switch Input Mapper:       SwitchValues: 0     Keyboard Input Mapper:       Parameters:         OrientationAware: false         HandlesKeyRepeat: false       KeyboardType: 1       Orientation: 0       KeyDowns: 0 keys currently down       MetaState: 0x0       DownTime: 0   Device -1: Virtual     Generation: 2     IsExternal: false     AssociatedDisplayPort: <none>     HasMic:     false     Sources: 0x00000301     KeyboardType: 2     Keyboard Input Mapper:       Parameters:         OrientationAware: false         HandlesKeyRepeat: false       KeyboardType: 2       Orientation: 0       KeyDowns: 0 keys currently down       MetaState: 0x0       DownTime: 0   Configuration:     ExcludedDeviceNames: []     VirtualKeyQuietTime: 0.0ms     PointerVelocityControlParameters: scale=1.000, lowThreshold=500.000, highThreshold=3000.000, acceleration=3.000     WheelVelocityControlParameters: scale=1.000, lowThreshold=15.000, highThreshold=50.000, acceleration=4.000     PointerGesture:       Enabled: true       QuietInterval: 100.0ms       DragMinSwitchSpeed: 50.0px/s       TapInterval: 150.0ms       TapDragInterval: 300.0ms       TapSlop: 20.0px       MultitouchSettleInterval: 100.0ms       MultitouchMinDistance: 15.0px       SwipeTransitionAngleCosine: 0.3       SwipeMaxWidthRatio: 0.2       MovementSpeedRatio: 0.8       ZoomSpeedRatio: 0.3       Viewports:         Viewport INTERNAL: displayId=0, uniqueId=local:21912787119833344, port=0, orientation=0, logicalFrame=[0, 0, 1920, 1080], physicalFrame=[0, 0, 1920, 1080], deviceSize=[1920, 1080], isActive=[1]  Input Classifier State:   Motion Classifier:     <nullptr>  Input Dispatcher State:   DispatchEnabled: true   DispatchFrozen: false   InputFilterEnabled: false   FocusedDisplayId: 0   FocusedApplications:     displayId=0, name='ActivityRecord{4393646 u0 com.att.tv.openvideo/com.att.ngctv.dfw.navigation.MainNavigationActivity t5516}', dispatchingTimeout=5000ms   FocusedWindows:     displayId=0, name='Window{737b318 u0 com.att.tv.openvideo/com.att.ngctv.dfw.navigation.MainNavigationActivity}'   TouchStates: <no displays touched>   Display: 0     Windows:       0: name='Window{737b318 u0 com.att.tv.openvideo/com.att.ngctv.dfw.navigation.MainNavigationActivity}', displayId=0, portalToDisplayId=-1, paused=false, hasFocus=true, hasWallpaper=false, visible=true, canReceiveKeys=true, flags=0x818101a0, type=0x00000001, frame=[0,0][1920,1080], globalScale=1.000000, windowScale=(1.000000,1.000000), touchableRegion=[0,0][1920,1080], inputFeatures=0x00000000, ownerPid=4686, ownerUid=10058, dispatchingTimeout=5000ms       1: name='SurfaceView - com.att.tv.openvideo/com.att.ngctv.dfw.navigation.MainNavigationActivity#0', displayId=0, portalToDisplayId=-1, paused=false, hasFocus=false, hasWallpaper=false, visible=true, canReceiveKeys=false, flags=0x00000020, type=0x00000000, frame=[0,0][1920,1080], globalScale=1.000000, windowScale=(1.000000,1.000000), touchableRegion=<empty>, inputFeatures=0x00000002, ownerPid=4686, ownerUid=10058, dispatchingTimeout=0ms       2: name='8725221 ActivityRecordInputSink com.att.tv.openvideo/com.att.ngctv.dfw.navigation.MainNavigationActivity', displayId=0, portalToDisplayId=-1, paused=false, hasFocus=false, hasWallpaper=false, visible=true, canReceiveKeys=false, flags=0x00000008, type=0x000007e6, frame=[-1,-1][0,0], globalScale=0.000000, windowScale=(1.000000,1.000000), touchableRegion=[0,0][1920,1080], inputFeatures=0x00000002, ownerPid=3728, ownerUid=1000, dispatchingTimeout=0ms       3: name='Window{45d3df1 u0 com.android.systemui.ImageWallpaper}', displayId=0, portalToDisplayId=-1, paused=false, hasFocus=false, hasWallpaper=false, visible=false, canReceiveKeys=false, flags=0x00014318, type=0x000007dd, frame=[-96,-516][2016,1596], globalScale=1.000000, windowScale=(0.030303,0.030303), touchableRegion=[-96,-516][63264,62844], inputFeatures=0x00000000, ownerPid=4033, ownerUid=10027, dispatchingTimeout=5000ms   Global monitors in display 0:     0: 'PointerEventDispatcher0 (server)',    RecentQueue: length=10     KeyEvent, age=69877944ms     KeyEvent, age=69877932ms     FocusEvent(hasFocus=false), age=69876837ms     DeviceResetEvent(deviceId=8), policyFlags=0x00000000, age=69743838ms     ConfigurationChangedEvent(), policyFlags=0x00000000, age=69743838ms     DeviceResetEvent(deviceId=9), policyFlags=0x00000000, age=69697402ms     ConfigurationChangedEvent(), policyFlags=0x00000000, age=69697402ms     KeyEvent, age=282453ms     KeyEvent, age=282453ms     FocusEvent(hasFocus=true), age=281795ms   PendingEvent: <none>   InboundQueue: <empty>   ReplacedKeys: <empty>   Connections:     269: channelName='737b318 com.att.tv.openvideo/com.att.ngctv.dfw.navigation.MainNavigationActivity (server)', windowName='737b318 com.att.tv.openvideo/com.att.ngctv.dfw.navigation.MainNavigationActivity (server)', status=NORMAL, monitor=false, responsive=true       OutboundQueue: <empty>       WaitQueue: <empty>     246: channelName='45d3df1 com.android.systemui.ImageWallpaper (server)', windowName='45d3df1 com.android.systemui.ImageWallpaper (server)', status=NORMAL, monitor=false, responsive=true       OutboundQueue: <empty>       WaitQueue: <empty>     116: channelName='PointerEventDispatcher0 (server)', windowName='PointerEventDispatcher0 (server)', status=NORMAL, monitor=true, responsive=true       OutboundQueue: <empty>       WaitQueue: <empty>   AppSwitch: not pending   Configuration:     KeyRepeatDelay: 50ms     KeyRepeatTimeout: 400ms   Key Timing:  Key Timing Report:   App: com.att.tv.openvideo    \|---------------------------------------------------------------------------------------------------------------\|    \|       Min Resp \|       Max Resp \|      Avg. Resp \|         Uptime \|      Timestamp \|          Total \|      Threshold    \|        2928555 \|      345213963 \|       43808413 \|       71722494 \|  1693534596377 \|            186 \|              0    \|---------------------------------------------------------------------------------------------------------------\|     Key Code: 20      \|        7095111 \|       89928741 \|       42794679 \|       62335586 \|  1693525209469 \|              6 \|              0     Key Code: 22      \|        3537259 \|       55910703 \|       17392067 \|       71715790 \|  1693534589673 \|              6 \|              0     Key Code: 23      \|        3762074 \|      345213963 \|       81029337 \|       71719036 \|  1693534592919 \|             16 \|              0     Key Code: 85      \|        8665889 \|      296217222 \|       51403390 \|       71722494 \|  1693534596377 \|             72 \|              0     Key Code: 89      \|        2928555 \|       92745111 \|       43137666 \|       69786303 \|  1693532660186 \|             16 \|              0     Key Code: 90      \|        4085333 \|      103788926 \|       27093342 \|       71708485 \|  1693534582368 \|             70 \|              0   App: (server)    \|---------------------------------------------------------------------------------------------------------------\|    \|       Min Resp \|       Max Resp \|      Avg. Resp \|         Uptime \|      Timestamp \|          Total \|      Threshold    \|         223408 \|       15007741 \|        2054063 \|       71722483 \|  1693534596365 \|            190 \|              0    \|---------------------------------------------------------------------------------------------------------------\|     Key Code: 20      \|         624556 \|        9823519 \|        2907265 \|       62335538 \|  1693525209420 \|              6 \|              0     Key Code: 22      \|         272111 \|        3278778 \|        1130993 \|       71715787 \|  1693534589670 \|              6 \|              0     Key Code: 23      \|         370000 \|        3644445 \|        1475726 \|       71719027 \|  1693534592910 \|             16 \|              0     Key Code: 85      \|         223408 \|       15007741 \|        2310513 \|       71722483 \|  1693534596365 \|             76 \|              0     Key Code: 89      \|         314297 \|        6373740 \|        2464161 \|       69786280 \|  1693532660162 \|             16 \|              0     Key Code: 90      \|         273296 \|       10660370 \|        2035724 \|       71708463 \|  1693534582345 \|             70 \|              0   App: com.google.android.backdrop    \|---------------------------------------------------------------------------------------------------------------\|    \|       Min Resp \|       Max Resp \|      Avg. Resp \|         Uptime \|      Timestamp \|          Total \|      Threshold    \|        1922518 \|       15347741 \|        8713398 \|       71287525 \|  1693534161408 \|              4 \|              0    \|---------------------------------------------------------------------------------------------------------------\|     Key Code: 85      \|        1922518 \|       15347741 \|        8713398 \|       71287525 \|  1693534161408 \|              4 \|              0    Key Timing: end hdmi_input: null device_class: tv friendly_name: TV STREAMBOX 176 supported_features: 23997 volume_level: 1 is_volume_muted: false entity_picture: /api/media_player_proxy/media_player.android_tv_192_168_1_176?token=c4654bcc46058d5882e606f7c59a082f7bee0a2f748048e70397e04a24273236&cache=05377a96972306b7
--
media_player.android_tv_192_168_1_183TV ANDROID 183 | playing | adb_response: mSurface=Surface(name=)/@0x8b7aedb       mSurface=Surface(name=com.sony.dtv.tvx/com.sony.dtv.tvx.MainActivity)/@0xaa28137       mSurface=Surface(name=com.android.systemui.ImageWallpaper)/@0x8c1f4fb   mCurrentFocus=Window{29ccdba u0 com.sony.dtv.tvx/com.sony.dtv.tvx.MainActivity}   mFocusedApp=AppWindowToken{794b324 token=Token{7985fb7 ActivityRecord{8b166b6 u0 com.sony.dtv.tvx/.MainActivity t1926}}} hdmi_input: null device_class: tv friendly_name: TV ANDROID 183 supported_features: 23997 source_list: com.android.systemui, com.sony.dtv.audiooutput, com.sony.dtv.b2b.hotelmode, com.sony.dtv.tvinput.tuner:remoteTunerInputService, com.sony.dtv.homekit, com.sony.dtv.braviasyncservice, Timers, com.sony.dtv.airplayapp, com.sony.dtv.interactivetvutil, com.sony.dtv.sonyvendorservice, com.sony.dtv.irbservice, com.sony.dtv.tvinput.hardwaremanager:HardwareManagerService, com.sony.dtv.tvapi, com.vewd.core.service:browser_process, com.uei.quicksetsdk.sony, TV, com.vewd.core.service:privileged_process0, com.sony.dtv.provider.modelvariation, com.sony.dtv.videoframeserver, node, com.sony.dtv.browser.webappruntime, com.sony.huey.dlna.module:dmr, com.sony.dtv.b2b.vendorprotocol, Android TV Launcher, node, com.sony.huey.dlna.renderersettings, tv.samba.ssm, com.sony.dtv.webapi.core, com.sony.dtv.tvinput.tuner:remoteMetaDataManagerService, com.google.android.katniss:search, com.sony.dtv.imeproxy, Plex, com.google.process.gservices, com.google.process.gapps, Netflix, com.sony.dtv.panelsettings, com.android.providers.tv, com.google.android.gms.persistent, com.google.android.apps.mediashell:privileged_process0, Google Cast, com.sony.dtv.smarthomesettings, com.google.android.gms, com.sony.dtv.tvinput.provider, com.sony.dtv.systemupdate, com.sony.dtv.osdplanevisibilitymanager, com.sony.huey.dlna.module, com.google.android.inputmethod.latin, com.google.android.tvrecommendations, com.google.android.tv.remote.service, de.cyberdream.androidtv.notifications.google, com.google.android.katniss:interactor, com.sony.dtv.tvinput.external:remoteInputService volume_level: 0.21 is_volume_muted: false app_id: com.sony.dtv.tvx app_name: TV source: TV

<!--EndFragment-->
</body>
</html>adb_response: INPUT MANAGER (dumpsys input)

Input Manager State:
  Interactive: true
  System UI Visibility: 0x8008
  Pointer Speed: 0
  Pointer Gestures Enabled: true
  Show Touches: false
  Pointer Capture Enabled: false

Event Hub State:
  BuiltInKeyboardId: -2
  Devices:
    -1: Virtual
      Classes: 0x40000023
      Path: <virtual>
      Enabled: true
      Descriptor: a718a782d34bc767f4689c232d64d527998ea7fd
      Location: 
      ControllerNumber: 0
      UniqueId: <virtual>
      Identifier: bus=0x0000, vendor=0x0000, product=0x0000, version=0x0000
      KeyLayoutFile: /vendor/usr/keylayout/Generic.kl
      KeyCharacterMapFile: /system/usr/keychars/Virtual.kcm
      ConfigurationFile: 
      HaveKeyboardLayoutOverlay: false
      VideoDevice: <none>
    1: NexusIrHandler
      Classes: 0x00000021
      Path: /dev/input/event2
      Enabled: true
      Descriptor: b622f43984ec31ef1f974efd4751384c21258de7
      Location: 
      ControllerNumber: 0
      UniqueId: 
      Identifier: bus=0x0019, vendor=0x0000, product=0x0000, version=0x0001
      KeyLayoutFile: /vendor/usr/keylayout/NexusIrHandler.kl
      KeyCharacterMapFile: /system/usr/keychars/Generic.kcm
      ConfigurationFile: 
      HaveKeyboardLayoutOverlay: false
      VideoDevice: <none>
    2: NexusPower
      Classes: 0x00000001
      Path: /dev/input/event1
      Enabled: true
      Descriptor: e1926971c121a3bae74e162ad558505130613cfc
      Location: 
      ControllerNumber: 0
      UniqueId: 
      Identifier: bus=0x0019, vendor=0x0000, product=0x0000, version=0x0001
      KeyLayoutFile: /vendor/usr/keylayout/Generic.kl
      KeyCharacterMapFile: /system/usr/keychars/Generic.kcm
      ConfigurationFile: 
      HaveKeyboardLayoutOverlay: false
      VideoDevice: <none>
    3: droid_pm
      Classes: 0x00000081
      Path: /dev/input/event0
      Enabled: true
      Descriptor: 07a1c5547cc7750cc4edae6e270c45a28288aa91
      Location: 
      ControllerNumber: 0
      UniqueId: 
      Identifier: bus=0x0006, vendor=0x0000, product=0x0000, version=0x0000
      KeyLayoutFile: /vendor/usr/keylayout/Generic.kl
      KeyCharacterMapFile: /system/usr/keychars/Generic.kcm
      ConfigurationFile: 
      HaveKeyboardLayoutOverlay: false
      VideoDevice: <none>
    4: virtual-search
      Classes: 0x00000061
      Path: /dev/input/event3
      Enabled: true
      Descriptor: d76b0dc9b6d844ab25ed6d04f6d43a45d3806d72
      Location: android.os.BinderProxy@cea7467
      ControllerNumber: 1
      UniqueId: 
      Identifier: bus=0x0006, vendor=0x18d1, product=0x0100, version=0x0001
      KeyLayoutFile: /vendor/usr/keylayout/Generic.kl
      KeyCharacterMapFile: /system/usr/keychars/Generic.kcm
      ConfigurationFile: 
      HaveKeyboardLayoutOverlay: false
      VideoDevice: <none>
    5: R2
      Classes: 0x00000521
      Path: /dev/input/event4
      Enabled: true
      Descriptor: a9c740c669012c5dcc4c5b8b750bc7dabb59d250
      Location: 
      ControllerNumber: 0
      UniqueId: 8c:3a:7e:ab:63:87
      Identifier: bus=0x0005, vendor=0x06e7, product=0x8106, version=0x0111
      KeyLayoutFile: /system/usr/keylayout/Vendor_06e7_Product_8106.kl
      KeyCharacterMapFile: /system/usr/keychars/Generic.kcm
      ConfigurationFile: /system/usr/idc/Vendor_06e7_Product_8106.idc
      HaveKeyboardLayoutOverlay: false
      VideoDevice: <none>
    8: virtual-remote
      Classes: 0x80000461
      Path: /dev/input/event5
      Enabled: true
      Descriptor: b23c82de567c9253846781e3d2ac114797172571
      Location: android.os.BinderProxy@aaafc1
      ControllerNumber: 2
      UniqueId: 
      Identifier: bus=0x0006, vendor=0x18d1, product=0x0100, version=0x0001
      KeyLayoutFile: /system/usr/keylayout/virtual-remote.kl
      KeyCharacterMapFile: /system/usr/keychars/virtual-remote.kcm
      ConfigurationFile: /vendor/usr/idc/virtual-remote.idc
      HaveKeyboardLayoutOverlay: false
      VideoDevice: <none>
  Unattached video devices:
    <none>

Input Reader State:
  Device 9: virtual-remote
    Generation: 20
    IsExternal: true
    AssociatedDisplayPort: <none>
    HasMic:     true
    Sources: 0x00000701
    KeyboardType: 1
    Keyboard Input Mapper:
      Parameters:
        OrientationAware: false
        HandlesKeyRepeat: false
      KeyboardType: 1
      Orientation: 0
      KeyDowns: 0 keys currently down
      MetaState: 0x0
      DownTime: 142034808186000
  Device 6: R2
    Generation: 12
    IsExternal: false
    AssociatedDisplayPort: <none>
    HasMic:     true
    Sources: 0x01000311
    KeyboardType: 1
    Motion Ranges:
      GENERIC_1: source=0x01000010, min=0.000, max=1.000, flat=0.000, fuzz=0.000, resolution=0.000
    Keyboard Input Mapper:
      Parameters:
        OrientationAware: false
        HandlesKeyRepeat: false
      KeyboardType: 1
      Orientation: 0
      KeyDowns: 0 keys currently down
      MetaState: 0x0
      DownTime: 72439316956000
    Joystick Input Mapper:
      Axes:
        GENERIC_1: min=0.00000, max=1.00000, flat=0.00000, fuzz=0.00000, resolution=0.00000
          scale=0.00098, offset=0.00000, highScale=0.00098, highOffset=0.00000
          rawAxis=32, rawMin=0, rawMax=1023, rawFlat=0, rawFuzz=0, rawResolution=0
  Device 5: virtual-search
    Generation: 10
    IsExternal: false
    AssociatedDisplayPort: <none>
    HasMic:     false
    Sources: 0x00000701
    KeyboardType: 1
    Keyboard Input Mapper:
      Parameters:
        OrientationAware: false
        HandlesKeyRepeat: false
      KeyboardType: 1
      Orientation: 0
      KeyDowns: 0 keys currently down
      MetaState: 0x0
      DownTime: 0
  Device 4: NexusIrHandler
    Generation: 8
    IsExternal: false
    AssociatedDisplayPort: <none>
    HasMic:     false
    Sources: 0x00000301
    KeyboardType: 1
    Keyboard Input Mapper:
      Parameters:
        OrientationAware: false
        HandlesKeyRepeat: false
      KeyboardType: 1
      Orientation: 0
      KeyDowns: 0 keys currently down
      MetaState: 0x0
      DownTime: 0
  Device 3: NexusPower
    Generation: 6
    IsExternal: false
    AssociatedDisplayPort: <none>
    HasMic:     false
    Sources: 0x00000101
    KeyboardType: 1
    Keyboard Input Mapper:
      Parameters:
        OrientationAware: false
        HandlesKeyRepeat: false
      KeyboardType: 1
      Orientation: 0
      KeyDowns: 0 keys currently down
      MetaState: 0x0
      DownTime: 0
  Device 2: droid_pm
    Generation: 4
    IsExternal: false
    AssociatedDisplayPort: <none>
    HasMic:     false
    Sources: 0x80000101
    KeyboardType: 1
    Switch Input Mapper:
      SwitchValues: 0
    Keyboard Input Mapper:
      Parameters:
        OrientationAware: false
        HandlesKeyRepeat: false
      KeyboardType: 1
      Orientation: 0
      KeyDowns: 0 keys currently down
      MetaState: 0x0
      DownTime: 0
  Device -1: Virtual
    Generation: 2
    IsExternal: false
    AssociatedDisplayPort: <none>
    HasMic:     false
    Sources: 0x00000301
    KeyboardType: 2
    Keyboard Input Mapper:
      Parameters:
        OrientationAware: false
        HandlesKeyRepeat: false
      KeyboardType: 2
      Orientation: 0
      KeyDowns: 0 keys currently down
      MetaState: 0x0
      DownTime: 0
  Configuration:
    ExcludedDeviceNames: []
    VirtualKeyQuietTime: 0.0ms
    PointerVelocityControlParameters: scale=1.000, lowThreshold=500.000, highThreshold=3000.000, acceleration=3.000
    WheelVelocityControlParameters: scale=1.000, lowThreshold=15.000, highThreshold=50.000, acceleration=4.000
    PointerGesture:
      Enabled: true
      QuietInterval: 100.0ms
      DragMinSwitchSpeed: 50.0px/s
      TapInterval: 150.0ms
      TapDragInterval: 300.0ms
      TapSlop: 20.0px
      MultitouchSettleInterval: 100.0ms
      MultitouchMinDistance: 15.0px
      SwipeTransitionAngleCosine: 0.3
      SwipeMaxWidthRatio: 0.2
      MovementSpeedRatio: 0.8
      ZoomSpeedRatio: 0.3
      Viewports:
        Viewport INTERNAL: displayId=0, uniqueId=local:21912787119833344, port=0, orientation=0, logicalFrame=[0, 0, 1920, 1080], physicalFrame=[0, 0, 1920, 1080], deviceSize=[1920, 1080], isActive=[1]

Input Classifier State:
  Motion Classifier:
    <nullptr>

Input Dispatcher State:
  DispatchEnabled: true
  DispatchFrozen: false
  InputFilterEnabled: false
  FocusedDisplayId: 0
  FocusedApplications:
    displayId=0, name='ActivityRecord{4393646 u0 com.att.tv.openvideo/com.att.ngctv.dfw.navigation.MainNavigationActivity t5516}', dispatchingTimeout=5000ms
  FocusedWindows:
    displayId=0, name='Window{737b318 u0 com.att.tv.openvideo/com.att.ngctv.dfw.navigation.MainNavigationActivity}'
  TouchStates: <no displays touched>
  Display: 0
    Windows:
      0: name='Window{737b318 u0 com.att.tv.openvideo/com.att.ngctv.dfw.navigation.MainNavigationActivity}', displayId=0, portalToDisplayId=-1, paused=false, hasFocus=true, hasWallpaper=false, visible=true, canReceiveKeys=true, flags=0x818101a0, type=0x00000001, frame=[0,0][1920,1080], globalScale=1.000000, windowScale=(1.000000,1.000000), touchableRegion=[0,0][1920,1080], inputFeatures=0x00000000, ownerPid=4686, ownerUid=10058, dispatchingTimeout=5000ms
      1: name='SurfaceView - com.att.tv.openvideo/com.att.ngctv.dfw.navigation.MainNavigationActivity#0', displayId=0, portalToDisplayId=-1, paused=false, hasFocus=false, hasWallpaper=false, visible=true, canReceiveKeys=false, flags=0x00000020, type=0x00000000, frame=[0,0][1920,1080], globalScale=1.000000, windowScale=(1.000000,1.000000), touchableRegion=<empty>, inputFeatures=0x00000002, ownerPid=4686, ownerUid=10058, dispatchingTimeout=0ms
      2: name='8725221 ActivityRecordInputSink com.att.tv.openvideo/com.att.ngctv.dfw.navigation.MainNavigationActivity', displayId=0, portalToDisplayId=-1, paused=false, hasFocus=false, hasWallpaper=false, visible=true, canReceiveKeys=false, flags=0x00000008, type=0x000007e6, frame=[-1,-1][0,0], globalScale=0.000000, windowScale=(1.000000,1.000000), touchableRegion=[0,0][1920,1080], inputFeatures=0x00000002, ownerPid=3728, ownerUid=1000, dispatchingTimeout=0ms
      3: name='Window{45d3df1 u0 com.android.systemui.ImageWallpaper}', displayId=0, portalToDisplayId=-1, paused=false, hasFocus=false, hasWallpaper=false, visible=false, canReceiveKeys=false, flags=0x00014318, type=0x000007dd, frame=[-96,-516][2016,1596], globalScale=1.000000, windowScale=(0.030303,0.030303), touchableRegion=[-96,-516][63264,62844], inputFeatures=0x00000000, ownerPid=4033, ownerUid=10027, dispatchingTimeout=5000ms
  Global monitors in display 0:
    0: 'PointerEventDispatcher0 (server)', 
  RecentQueue: length=10
    KeyEvent, age=69877944ms
    KeyEvent, age=69877932ms
    FocusEvent(hasFocus=false), age=69876837ms
    DeviceResetEvent(deviceId=8), policyFlags=0x00000000, age=69743838ms
    ConfigurationChangedEvent(), policyFlags=0x00000000, age=69743838ms
    DeviceResetEvent(deviceId=9), policyFlags=0x00000000, age=69697402ms
    ConfigurationChangedEvent(), policyFlags=0x00000000, age=69697402ms
    KeyEvent, age=282453ms
    KeyEvent, age=282453ms
    FocusEvent(hasFocus=true), age=281795ms
  PendingEvent: <none>
  InboundQueue: <empty>
  ReplacedKeys: <empty>
  Connections:
    269: channelName='737b318 com.att.tv.openvideo/com.att.ngctv.dfw.navigation.MainNavigationActivity (server)', windowName='737b318 com.att.tv.openvideo/com.att.ngctv.dfw.navigation.MainNavigationActivity (server)', status=NORMAL, monitor=false, responsive=true
      OutboundQueue: <empty>
      WaitQueue: <empty>
    246: channelName='45d3df1 com.android.systemui.ImageWallpaper (server)', windowName='45d3df1 com.android.systemui.ImageWallpaper (server)', status=NORMAL, monitor=false, responsive=true
      OutboundQueue: <empty>
      WaitQueue: <empty>
    116: channelName='PointerEventDispatcher0 (server)', windowName='PointerEventDispatcher0 (server)', status=NORMAL, monitor=true, responsive=true
      OutboundQueue: <empty>
      WaitQueue: <empty>
  AppSwitch: not pending
  Configuration:
    KeyRepeatDelay: 50ms
    KeyRepeatTimeout: 400ms
  Key Timing: 
Key Timing Report:
  App: com.att.tv.openvideo
   |---------------------------------------------------------------------------------------------------------------|
   |       Min Resp |       Max Resp |      Avg. Resp |         Uptime |      Timestamp |          Total |      Threshold
   |        2928555 |      345213963 |       43808413 |       71722494 |  1693534596377 |            186 |              0
   |---------------------------------------------------------------------------------------------------------------|
    Key Code: 20
     |        7095111 |       89928741 |       42794679 |       62335586 |  1693525209469 |              6 |              0
    Key Code: 22
     |        3537259 |       55910703 |       17392067 |       71715790 |  1693534589673 |              6 |              0
    Key Code: 23
     |        3762074 |      345213963 |       81029337 |       71719036 |  1693534592919 |             16 |              0
    Key Code: 85
     |        8665889 |      296217222 |       51403390 |       71722494 |  1693534596377 |             72 |              0
    Key Code: 89
     |        2928555 |       92745111 |       43137666 |       69786303 |  1693532660186 |             16 |              0
    Key Code: 90
     |        4085333 |      103788926 |       27093342 |       71708485 |  1693534582368 |             70 |              0
  App: (server)
   |---------------------------------------------------------------------------------------------------------------|
   |       Min Resp |       Max Resp |      Avg. Resp |         Uptime |      Timestamp |          Total |      Threshold
   |         223408 |       15007741 |        2054063 |       71722483 |  1693534596365 |            190 |              0
   |---------------------------------------------------------------------------------------------------------------|
    Key Code: 20
     |         624556 |        9823519 |        2907265 |       62335538 |  1693525209420 |              6 |              0
    Key Code: 22
     |         272111 |        3278778 |        1130993 |       71715787 |  1693534589670 |              6 |              0
    Key Code: 23
     |         370000 |        3644445 |        1475726 |       71719027 |  1693534592910 |             16 |              0
    Key Code: 85
     |         223408 |       15007741 |        2310513 |       71722483 |  1693534596365 |             76 |              0
    Key Code: 89
     |         314297 |        6373740 |        2464161 |       69786280 |  1693532660162 |             16 |              0
    Key Code: 90
     |         273296 |       10660370 |        2035724 |       71708463 |  1693534582345 |             70 |              0
  App: com.google.android.backdrop
   |---------------------------------------------------------------------------------------------------------------|
   |       Min Resp |       Max Resp |      Avg. Resp |         Uptime |      Timestamp |          Total |      Threshold
   |        1922518 |       15347741 |        8713398 |       71287525 |  1693534161408 |              4 |              0
   |---------------------------------------------------------------------------------------------------------------|
    Key Code: 85
     |        1922518 |       15347741 |        8713398 |       71287525 |  1693534161408 |              4 |              0

  Key Timing: end
hdmi_input: null
device_class: tv
friendly_name: TV STREAMBOX 176
supported_features: 23997
volume_level: 1
is_volume_muted: false
entity_picture: /api/media_player_proxy/media_player.android_tv_192_168_1_176?token=c4654bcc46058d5882e606f7c59a082f7bee0a2f748048e70397e04a24273236&cache=05377a96972306b7
[media_player.android_tv_192_168_1_183](http://192.168.1.147:8123/developer-tools/state#)
TV ANDROID 183
playing	adb_response: mSurface=Surface(name=)/@0x8b7aedb
      mSurface=Surface(name=com.sony.dtv.tvx/com.sony.dtv.tvx.MainActivity)/@0xaa28137
      mSurface=Surface(name=com.android.systemui.ImageWallpaper)/@0x8c1f4fb
  mCurrentFocus=Window{29ccdba u0 com.sony.dtv.tvx/com.sony.dtv.tvx.MainActivity}
  mFocusedApp=AppWindowToken{794b324 token=Token{7985fb7 ActivityRecord{8b166b6 u0 com.sony.dtv.tvx/.MainActivity t1926}}}
hdmi_input: null
device_class: tv
friendly_name: TV ANDROID 183
supported_features: 23997
source_list: com.android.systemui, com.sony.dtv.audiooutput, com.sony.dtv.b2b.hotelmode, com.sony.dtv.tvinput.tuner:remoteTunerInputService, com.sony.dtv.homekit, com.sony.dtv.braviasyncservice, Timers, com.sony.dtv.airplayapp, com.sony.dtv.interactivetvutil, com.sony.dtv.sonyvendorservice, com.sony.dtv.irbservice, com.sony.dtv.tvinput.hardwaremanager:HardwareManagerService, com.sony.dtv.tvapi, com.vewd.core.service:browser_process, com.uei.quicksetsdk.sony, TV, com.vewd.core.service:privileged_process0, com.sony.dtv.provider.modelvariation, com.sony.dtv.videoframeserver, node, com.sony.dtv.browser.webappruntime, com.sony.huey.dlna.module:dmr, com.sony.dtv.b2b.vendorprotocol, Android TV Launcher, node, com.sony.huey.dlna.renderersettings, tv.samba.ssm, com.sony.dtv.webapi.core, com.sony.dtv.tvinput.tuner:remoteMetaDataManagerService, com.google.android.katniss:search, com.sony.dtv.imeproxy, Plex, com.google.process.gservices, com.google.process.gapps, Netflix, com.sony.dtv.panelsettings, com.android.providers.tv, com.google.android.gms.persistent, com.google.android.apps.mediashell:privileged_process0, Google Cast, com.sony.dtv.smarthomesettings, com.google.android.gms, com.sony.dtv.tvinput.provider, com.sony.dtv.systemupdate, com.sony.dtv.osdplanevisibilitymanager, com.sony.huey.dlna.module, com.google.android.inputmethod.latin, com.google.android.tvrecommendations, com.google.android.tv.remote.service, de.cyberdream.androidtv.notifications.google, com.google.android.katniss:interactor, com.sony.dtv.tvinput.external:remoteInputService
volume_level: 0.21
is_volume_muted: false
app_id: com.sony.dtv.tvx
app_name: TV
source: TV

I believe the model number of the box is: C71KW-400
Image: https://blog.solidsignal.com/wp-content/uploads/2020/04/att_tv_box.png
I think its the newer version of what is already supported from the looks and articles.

Does this help?

@PRProd PRProd added New Device Support Request to add support of a currently unsupported Amazon Fire device and removed New App Shortcut Request for a new Firemote app shortcut labels Sep 7, 2023
@PRProd
Copy link
Owner

PRProd commented Sep 7, 2023

Let's do a quick experiment:

Before you begin, please open a different app other than the AT&T TV DirecTV app that we are trying to target right now.

Next, through your Home Assistant Dashboard, please do the following steps:

  1. Click on Developer Tools
  2. Click on Services
  3. Select "Android Debug Bridge: ADB Command"
  4. Choose your TV STREAMBOX 176 device from the list
  5. Enter the following command
adb shell am start -n com.att.tv.openvideo/com.att.ngctv.dfw.navigation.MainNavigationActivity
  1. Click on CALL SERVICE

image

When you clicked the CALL SERVICE button, did the app launch?

@PRProd
Copy link
Owner

PRProd commented Oct 12, 2023

@SpartanTech - It has been 5 weeks since I wrote my last message, and I haven't heard back from you. Please respond when you can. If I don't hear back from you, I will be closing this issue as "stale".

@PRProd
Copy link
Owner

PRProd commented Oct 13, 2023

Heads up: It is possible that the problem you are having is related to #203

PRProd added a commit that referenced this issue Oct 17, 2023
v3.0.0
Announcing Apple TV Support!

What's New:
 - Apple TV Support with 3 new unique Apple remote control styles (#200)
 - Official language support for nl, pt, and pt-BR
 - App launch button for TV4 Play (closes #202 @Skranta2)
 - App launch button for NOSTV (closes #204 @horamarques)
- App launch button for IPTVX, Proximus Pickx, Qmusic-BE, and
TestFlight (#200 @jrspowers)
 - Added multiple Apple TV specific App Launch buttons

What's Changed:
- Changed App Launch commands for the DirecTV Stream App (closes #203 &
maybe #170)
 - Reorganization of the card config UI
@PRProd
Copy link
Owner

PRProd commented Oct 17, 2023

@SpartanTech - Please upgrade your Firemote version to the newly released v3.0.0. I'd like to know if this new version fixes the issues you have been experiencing.

Thanks!

@PRProd
Copy link
Owner

PRProd commented Oct 24, 2023

@SpartanTech - I'm going to close this issue for now as "stale" - If you happen to return to this thread at some point in the future, please do not hesitate to continue the discussion. Thanks.

@PRProd PRProd closed this as not planned Won't fix, can't repro, duplicate, stale Oct 24, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request New Device Support Request to add support of a currently unsupported Amazon Fire device
Projects
None yet
Development

No branches or pull requests

2 participants