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]: AirScreen (ionitech) #353

Closed
camelcamro opened this issue Mar 26, 2024 · 5 comments
Closed

[New App Shortcut]: AirScreen (ionitech) #353

camelcamro opened this issue Mar 26, 2024 · 5 comments
Assignees
Labels
enhancement New feature or request New App Shortcut Request for a new Firemote app shortcut

Comments

@camelcamro
Copy link

App Name

AirScreen

Device Platform

Amazon Fire

App Store Link and/or URL to .apk file if sideloaded

https://www.amazon.de/AirScreen-AirPlay-Google-Cast-Miracast/dp/B07CPZ698R

Application Details

adb_response: mSurface=Surface(name=com.ionitech.airscreen/com.ionitech.airscreen.ui.activity.ScreenMirrorActivity)/@0x373c820
mInputMethodTarget in display# 0 Window{2f5b6f9 u0 com.ionitech.airscreen/com.ionitech.airscreen.ui.activity.ScreenMirrorActivity}
hdmi_input: null
device_class: tv
entity_picture: /api/media_player_proxy/media_player.fire_tv_172_20_1_100?
token=X
friendly_name: Fire TV 172.20.1.100
supported_features: 22961

Optional Comments

this calls i already tried, but didn't work, maybe you have more ideas howto ...

adb shell am start com.ionitech.airscreen
adb shell am start com.ionitech.airscreen/com.ionitech.airscreen.ui.browse.BrowseActivity
adb shell am start com.ionitech.airscreen/com.ionitech.airscreen.ui.main.SplashActivity
adb shell am start com.ionitech.airscreen/com.ionitech.airscreen.ui.activity.MainActivity

then also made:

`adb shell dumpsys window windows | grep -E 'ionitech'

adb_response: Window #3 Window{a708a95 u0 com.ionitech.airscreen/com.ionitech.airscreen.ui.activity.MainActivity}:
mOwnerUid=10249 showForAllUsers=false package=com.ionitech.airscreen appop=NONE
mBaseLayer=21000 mSubLayer=0 mToken=ActivityRecord{683895c u0 com.ionitech.airscreen/.ui.activity.MainActivity t522}
mActivityRecord=ActivityRecord{683895c u0 com.ionitech.airscreen/.ui.activity.MainActivity t522}
WindowStateAnimator{7564a73 com.ionitech.airscreen/com.ionitech.airscreen.ui.activity.MainActivity}:
mSurface=Surface(name=com.ionitech.airscreen/com.ionitech.airscreen.ui.activity.MainActivity)/@0x25eed30
mInputMethodTarget in display# 0 Window{a708a95 u0 com.ionitech.airscreen/com.ionitech.airscreen.ui.activity.MainActivity}
mInputMethodInputTarget in display# 0 Window{a708a95 u0 com.ionitech.airscreen/com.ionitech.airscreen.ui.activity.MainActivity}
inputMethodControlTarget in display# 0 Window{a708a95 u0 com.ionitech.airscreen/com.ionitech.airscreen.ui.activity.MainActivity}
mLastWakeLockHoldingWindow=Window{dde9015 u0 Splash Screen com.ionitech.airscreen} mLastWakeLockObscuringWindow=null
mHoldScreenWindow=Window{a708a95 u0 com.ionitech.airscreen/com.ionitech.airscreen.ui.activity.MainActivity}
mObscuringWindow=Window{a708a95 u0 com.ionitech.airscreen/com.ionitech.airscreen.ui.activity.MainActivity}
hdmi_input: null
device_class: tv
entity_picture: /api/media_player_proxy/media_player.fire_tv_172_20_1_100?token=x
friendly_name: Fire TV 172.20.1.100
supported_features: 22961
`

@camelcamro camelcamro added enhancement New feature or request New App Shortcut Request for a new Firemote app shortcut labels Mar 26, 2024
@camelcamro camelcamro changed the title [New App Shortcut]: adb_response: mSurface=Surface(name=com.ionitech.airscreen/com.ionitech.airscreen.ui.activity.ScreenMirrorActivity)/@0x373c820 mInputMethodTarget in display# 0 Window{2f5b6f9 u0 com.ionitech.airscreen/com.ionitech.airscreen.ui.activity.ScreenMirrorActivity} hdmi_input: null device_class: tv entity_picture: /api/media_player_proxy/media_player.fire_tv_172_20_1_100?token=edbbbd61695b9f67d4b5b1a0d35664cac53d66b78844b0d6157e314bebaeee94&cache=8239a0d8f03200ee friendly_name: Fire TV 172.20.1.100 supported_features: 22961 [New App Shortcut]: AirScreen (ionitech) Mar 26, 2024
@camelcamro
Copy link
Author

camelcamro commented Mar 26, 2024

here maybe some hints for others ...

#1.) get a list of all packages:
adb shell pm list packages -f # (full)
adb shell pm list packages -3 # (list third party package names)

#2.) get a list of activities of a package
#adb shell dumpsys package
adb shell dumpsys package | grep -i -E 'ionitech'

adb_response: 84661e2 com.ionitech.airscreen/.cast.render.MirrorActivity a2b1bc4 com.ionitech.airscreen/.ui.activity.welcome.StreamAssistantIndexActivity 185e106 com.ionitech.airscreen/androidx.work.impl.background.systemalarm.ConstraintProxy$BatteryNotLowProxy 92dd548 com.ionitech.airscreen/androidx.work.impl.background.systemalarm.ConstraintProxy$BatteryChargingProxy 4ecba2e com.ionitech.airscreen/com.amazon.device.drm.ResponseReceiver eeefdf4 com.ionitech.airscreen/androidx.work.impl.background.systemalarm.ConstraintProxy$StorageNotLowProxy 4a03030 com.ionitech.airscreen/.service.BootBroadcastReceiver 50f0792 com.ionitech.airscreen/androidx.work.impl.background.systemalarm.ConstraintProxy$NetworkStateProxy b8e4b3a com.ionitech.airscreen/.service.admmessenger.AmazonMessageReceiver eeefdf4 com.ionitech.airscreen/androidx.work.impl.background.systemalarm.ConstraintProxy$StorageNotLowProxy 4a03030 com.ionitech.airscreen/.service.BootBroadcastReceiver e101f5c com.ionitech.airscreen/com.amazon.device.iap.ResponseReceiver 185e106 com.ionitech.airscreen/androidx.work.impl.background.systemalarm.ConstraintProxy$BatteryNotLowProxy ff80560 com.ionitech.airscreen/androidx.work.impl.background.systemalarm.RescheduleReceiver ff80560 com.ionitech.airscreen/androidx.work.impl.background.systemalarm.RescheduleReceiver 4a03030 com.ionitech.airscreen/.service.BootBroadcastReceiver ff80560 com.ionitech.airscreen/androidx.work.impl.background.systemalarm.RescheduleReceiver 92dd548 com.ionitech.airscreen/androidx.work.impl.background.systemalarm.ConstraintProxy$BatteryChargingProxy b8e4b3a com.ionitech.airscreen/.service.admmessenger.AmazonMessageReceiver c8178c com.ionitech.airscreen/androidx.work.impl.diagnostics.DiagnosticsReceiver a920ade com.ionitech.airscreen/androidx.work.impl.background.systemalarm.ConstraintProxyUpdateReceiver ca52078 com.ionitech.airscreen/.cast.render.ReceiverService 2aff6ea com.ionitech.airscreen/com.google.android.libraries.cast.tv.warg.service.WargService com.ionitech.airscreen.messenger: b47cc24 com.ionitech.airscreen/com.blankj.utilcode.util.MessengerUtils$ServerService 50e97b6 com.ionitech.airscreen/com.google.android.apps.mediashell.ClientAuthProviderService Permission [com.ionitech.airscreen.permission.CAST_AUTH] (8beeb77): sourcePackage=com.ionitech.airscreen perm=Permission{a12b3e4 com.ionitech.airscreen.permission.CAST_AUTH} Permission [com.ionitech.airscreen.permission.CAST_RENDER] (525c668): sourcePackage=com.ionitech.airscreen perm=Permission{ff95a81 com.ionitech.airscreen.permission.CAST_RENDER} Permission [com.ionitech.airscreen.permission.SANDBOX] (ab904b4): sourcePackage=com.ionitech.airscreen perm=Permission{76e08dd com.ionitech.airscreen.permission.SANDBOX} Permission [com.ionitech.airscreen.permission.RECEIVE_ADM_MESSAGE] (625617): sourcePackage=com.ionitech.airscreen perm=Permission{ce3da04 com.ionitech.airscreen.permission.RECEIVE_ADM_MESSAGE} com.ionitech.airscreen com.ionitech.airscreen/com.google.firebase.provider.FirebaseInitProvider: Provider{6229785 com.ionitech.airscreen/com.google.firebase.provider.FirebaseInitProvider} com.ionitech.airscreen/androidx.startup.InitializationProvider: Provider{3197d8d com.ionitech.airscreen/androidx.startup.InitializationProvider} com.ionitech.airscreen/com.blankj.utilcode.util.UtilsFileProvider: Provider{674adab com.ionitech.airscreen/com.blankj.utilcode.util.UtilsFileProvider} com.ionitech.airscreen/androidx.lifecycle.ProcessLifecycleOwnerInitializer: Provider{4ea9174 com.ionitech.airscreen/androidx.lifecycle.ProcessLifecycleOwnerInitializer} com.ionitech.airscreen/com.google.android.gms.ads.MobileAdsInitProvider: Provider{351be1a com.ionitech.airscreen/com.google.android.gms.ads.MobileAdsInitProvider} com.ionitech.airscreen/androidx.core.content.FileProvider: Provider{3d60d4b com.ionitech.airscreen/androidx.core.content.FileProvider} [com.ionitech.airscreen.mobileadsinitprovider]: Provider{351be1a com.ionitech.airscreen/com.google.android.gms.ads.MobileAdsInitProvider} applicationInfo=ApplicationInfo{195fe7e com.ionitech.airscreen} [com.ionitech.airscreen.androidx-startup]: Provider{3197d8d com.ionitech.airscreen/androidx.startup.InitializationProvider} applicationInfo=ApplicationInfo{d0398cb com.ionitech.airscreen} [com.ionitech.airscreen.lifecycle-process]: Provider{4ea9174 com.ionitech.airscreen/androidx.lifecycle.ProcessLifecycleOwnerInitializer} applicationInfo=ApplicationInfo{5757102 com.ionitech.airscreen} [com.ionitech.airscreen.utilcode.provider]: Provider{674adab com.ionitech.airscreen/com.blankj.utilcode.util.UtilsFileProvider} applicationInfo=ApplicationInfo{8b3c180 com.ionitech.airscreen} [com.ionitech.airscreen.firebaseinitprovider]: Provider{6229785 com.ionitech.airscreen/com.google.firebase.provider.FirebaseInitProvider} applicationInfo=ApplicationInfo{d4b7796 com.ionitech.airscreen} [com.ionitech.airscreen.provider]: Provider{3d60d4b com.ionitech.airscreen/androidx.core.content.FileProvider} applicationInfo=ApplicationInfo{28e8a9c com.ionitech.airscreen} [com.ionitech.airscreen] Package [com.ionitech.airscreen] (9b89d74): pkg=Package{f4c929d com.ionitech.airscreen} codePath=/data/app/~~1JOV8rjOYMAji9chPSR6Hw==/com.ionitech.airscreen-pQW_sRosY_ErPIA0fRxZrQ== resourcePath=/data/app/~~1JOV8rjOYMAji9chPSR6Hw==/com.ionitech.airscreen-pQW_sRosY_ErPIA0fRxZrQ== legacyNativeLibraryDir=/data/app/~~1JOV8rjOYMAji9chPSR6Hw==/com.ionitech.airscreen-pQW_sRosY_ErPIA0fRxZrQ==/lib applicationInfo=ApplicationInfo{f4c929d com.ionitech.airscreen} dataDir=/data/user/0/com.ionitech.airscreen com.ionitech.airscreen.permission.RECEIVE_ADM_MESSAGE: prot=signature, INSTALLED com.ionitech.airscreen.permission.SANDBOX: prot=signature, INSTALLED com.ionitech.airscreen.permission.CAST_AUTH: prot=signature, INSTALLED com.ionitech.airscreen.permission.CAST_RENDER: prot=signature, INSTALLED com.ionitech.airscreen.permission.RECEIVE_ADM_MESSAGE: granted=true com.ionitech.airscreen.service.BootBroadcastReceiver com.ionitech.airscreen: com.ionitech.airscreen com.ionitech.airscreen: com.ionitech.airscreen com.ionitech.airscreen com.ionitech.airscreen com.ionitech.airscreen com.ionitech.airscreen com.ionitech.airscreen: com.ionitech.airscreen/com.google.android.apps.mediashell.ClientAuthProviderService: com.ionitech.airscreen.permission.CAST_AUTH com.ionitech.airscreen/.cast.render.ReceiverService: com.ionitech.airscreen.permission.CAST_RENDER [com.ionitech.airscreen] path: /data/app/~~1JOV8rjOYMAji9chPSR6Hw==/com.ionitech.airscreen-pQW_sRosY_ErPIA0fRxZrQ==/base.apk used by other apps: [com.ionitech.airscreen, com.idom.dostream, com.amazon.imdb.tv.android.app, com.spotify.tv.android, com.esaba.downloader, com.analiti.fastest.android, com.nousguide.android.tvthek.fire, com.apktime.apktime, com.mautilus.servus.amazonfiretv, de.swr.ard.avp.mobile.android.amazon, de.twokit.screen.mirror, com.redbull.rbtv, com.amazon.bueller.music] [com.ionitech.airscreen]

@camelcamro
Copy link
Author

after a long search .... i found a solution for now how to start ...

adb shell am start com.ionitech.airscreen/.ui.activity.welcome.StreamAssistantIndexActivity

this pages were helping me
https://stackoverflow.com/questions/4567904/how-to-start-an-application-using-android-adb-tools/4567928?newreg=57e86f4ba757484299b00b03c6d84525
https://stackoverflow.com/questions/33441138/how-to-find-out-activity-names-in-a-package-android-adb-shell/37959688#37959688

@PRProd PRProd closed this as completed in 3625f1b Mar 27, 2024
@PRProd
Copy link
Owner

PRProd commented Mar 27, 2024

Isn't learning great? 😄

I have just published Firemote version v3.3.1 which contains this new app shortcut. Enjoy!

-Doug

@camelcamro
Copy link
Author

you are amazing ..... pff, so fast, thx a lot bro

@PRProd
Copy link
Owner

PRProd commented Mar 28, 2024

@camelcamro ~

Sorry this is late, but I meant to reply again to give you this tip as well - If you run this command:

adb shell pm dump com.ionitech.airscreen

It outputs a very descriptive layout of activities as well as actions and categories. Sometimes you need to add an activity behind the -a flag and/or a category behind the -c flag to get around security permissions issues. Thankfully, this is not extremely common, but it does happen!

The beginning of the dump from the command issued above shows this:

DUMP OF SERVICE package:
Activity Resolver Table:
  Schemes:
      cast:
        d30ae7 com.ionitech.airscreen/.cast.render.MirrorActivity filter f717aaa
          Action: "com.google.cast.action.START"
          Category: "android.intent.category.DEFAULT"
          Scheme: "cast"

  Non-Data Actions:
      android.intent.action.MAIN:
        cd83694 com.ionitech.airscreen/.ui.activity.welcome.StreamAssistantIndexActivity filter b11995
          Action: "android.intent.action.MAIN"
          Category: "android.intent.category.LEANBACK_LAUNCHER"
          Category: "android.intent.category.LAUNCHER"

 --- edited for brevity ---

This is what I normally do. After getting this info, it's simply a matter of trying commands and seeing what works.

-Doug

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 App Shortcut Request for a new Firemote app shortcut
Projects
None yet
Development

No branches or pull requests

2 participants