Closed Bug 876456 Opened 7 years ago Closed 7 years ago

make mochitest-remote via adb ends without running tests, on some devices

Categories

(Testing :: General, defect)

All
Android
defect
Not set

Tracking

(Not tracked)

RESOLVED FIXED
mozilla24

People

(Reporter: gbrown, Assigned: gbrown)

References

Details

Attachments

(3 files)

Following up on reports that "make mochitest-remote" fails for some people (https://bugzilla.mozilla.org/show_bug.cgi?id=865944#c41), I find that I cannot run mochitests locally on my Galaxy Nexus/Android 4.0 phone, although they work fine on my Galasy S/Android 2.2 phone.

The web server is launched, the browser is launched, but before any tests can be run, the script ends on my local machine, dumping logcat and offering no obvious explanation of the failure/abrupt end. Since the web server is brought down, the browser just spins trying to open the test page.
On the Galaxy Nexus, getTopActivity returns None. "dumpsys window input" does not produce the expected mFocusedApp output.
We probably want "FocusedApplication" instead of "mFocusedApp" on some devices:

$ adb shell dumpsys window input
WINDOW MANAGER INPUT (dumpsys window input)
Event Hub State:
  BuiltInKeyboardId: 3
  Devices:
    3: tuna-gpio-keypad (aka device 0 - built-in keyboard)
      Classes: 0x00000001
      Path: /dev/input/event2
      Location: 
      UniqueId: 
      Identifier: bus=0x0000, vendor=0x0000, product=0x0000, version=0x0000
      KeyLayoutFile: /system/usr/keylayout/Generic.kl
      KeyCharacterMapFile: /system/usr/keychars/Generic.kcm
      ConfigurationFile: 
    5: Tuna Headset Jack
      Classes: 0x00000080
      Path: /dev/input/event5
      Location: ALSA
      UniqueId: 
      Identifier: bus=0x0000, vendor=0x0000, product=0x0000, version=0x0000
      KeyLayoutFile: 
      KeyCharacterMapFile: 
      ConfigurationFile: 
    6: Melfas MMSxxx Touchscreen
      Classes: 0x00000014
      Path: /dev/input/event1
      Location: 3-0048/input0
      UniqueId: 
      Identifier: bus=0x0018, vendor=0x0000, product=0x0000, version=0x0000
      KeyLayoutFile: 
      KeyCharacterMapFile: 
      ConfigurationFile: /system/usr/idc/Melfas_MMSxxx_Touchscreen.idc

Input Reader State:
  Device 0: tuna-gpio-keypad
    IsExternal: false
    Sources: 0x00000101
    KeyboardType: 1
    Keyboard Input Mapper:
      Parameters:
        AssociatedDisplayId: -1
        OrientationAware: false
      KeyboardType: 1
      Orientation: 0
      KeyDowns: 0 keys currently down
      MetaState: 0x0
      DownTime: 1524979736000
  Device 5: Tuna Headset Jack
    IsExternal: false
    Sources: 0x80000000
    KeyboardType: 0
  Device 6: Melfas MMSxxx Touchscreen
    IsExternal: false
    Sources: 0x00001002
    KeyboardType: 0
    Motion Ranges:
      X: source=0x00001002, min=0.000, max=719.001, flat=0.000, fuzz=0.999
      Y: source=0x00001002, min=0.000, max=1279.001, flat=0.000, fuzz=0.999
      PRESSURE: source=0x00001002, min=0.000, max=1.000, flat=0.000, fuzz=0.000
      SIZE: source=0x00001002, min=0.000, max=1.000, flat=0.000, fuzz=0.000
      TOUCH_MAJOR: source=0x00001002, min=0.000, max=1468.605, flat=0.000, fuzz=0.000
      TOUCH_MINOR: source=0x00001002, min=0.000, max=1468.605, flat=0.000, fuzz=0.000
      TOOL_MAJOR: source=0x00001002, min=0.000, max=1468.605, flat=0.000, fuzz=0.000
      TOOL_MINOR: source=0x00001002, min=0.000, max=1468.605, flat=0.000, fuzz=0.000
    Touch Input Mapper:
      Parameters:
        GestureMode: spots
        DeviceType: touchScreen
        AssociatedDisplay: id=0, isExternal=false
        OrientationAware: true
      Raw Touch Axes:
        X: min=0, max=720, flat=0, fuzz=0, resolution=0
        Y: min=0, max=1280, flat=0, fuzz=0, resolution=0
        Pressure: min=0, max=255, flat=0, fuzz=0, resolution=0
        TouchMajor: min=0, max=30, flat=0, fuzz=0, resolution=0
        TouchMinor: unknown range
        ToolMajor: unknown range
        ToolMinor: unknown range
        Orientation: unknown range
        Distance: unknown range
        TiltX: unknown range
        TiltY: unknown range
        TrackingId: min=0, max=65535, flat=0, fuzz=0, resolution=0
        Slot: min=0, max=9, flat=0, fuzz=0, resolution=0
      Calibration:
        touch.size.calibration: diameter
        touch.size.scale: 10.000
        touch.size.bias: 0.000
        touch.size.isSummed: false
        touch.pressure.calibration: amplitude
        touch.pressure.scale: 0.005
        touch.orientation.calibration: none
        touch.distance.calibration: none
      SurfaceWidth: 720px
      SurfaceHeight: 1280px
      SurfaceOrientation: 0
      Translation and Scaling Factors:
        XScale: 0.999
        YScale: 0.999
        XPrecision: 1.001
        YPrecision: 1.001
        GeometricScale: 0.999
        PressureScale: 0.005
        SizeScale: 0.033
        OrientationCenter: 0.000
        OrientationScale: 0.000
        DistanceScale: 0.000
        HaveTilt: false
        TiltXCenter: 0.000
        TiltXScale: 0.000
        TiltYCenter: 0.000
        TiltYScale: 0.000
      Last Button State: 0x00000000
      Last Raw Touch: pointerCount=0
      Last Cooked Touch: pointerCount=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

Input Dispatcher State:
  DispatchEnabled: 1
  DispatchFrozen: 0
  FocusedApplication: name='AppWindowToken{41a65340 token=ActivityRecord{418fbd68 org.mozilla.fennec_mozdev/.App}}', dispatchingTimeout=5000.000ms
  FocusedWindow: name='Window{41b29198 org.mozilla.fennec_mozdev/org.mozilla.fennec_mozdev.App paused=false}'
  TouchDown: false
  TouchSplit: false
  TouchDeviceId: -1
  TouchSource: 0x00000000
  TouchedWindows: <none>
  Windows:
    0: name='Window{41a1da40 NavigationBar paused=false}', paused=false, hasFocus=false, hasWallpaper=false, visible=true, canReceiveKeys=false, flags=0x05800068, type=0x000007e3, layer=181000, frame=[0,1184][720,1280], scale=1.000000, touchableRegion=[0,1184][720,1280], inputFeatures=0x00000000, ownerPid=253, ownerUid=1000, dispatchingTimeout=5000.000ms
    1: name='Window{41a13e30 RecentsPanel paused=false}', paused=false, hasFocus=false, hasWallpaper=false, visible=false, canReceiveKeys=false, flags=0x01820100, type=0x000007de, layer=151000, frame=[0,0][720,1280], scale=1.000000, touchableRegion=[0,0][720,1280], inputFeatures=0x00000000, ownerPid=253, ownerUid=1000, dispatchingTimeout=5000.000ms
    2: name='Window{41a16c80 StatusBar paused=false}', paused=false, hasFocus=false, hasWallpaper=false, visible=true, canReceiveKeys=false, flags=0x01800048, type=0x000007d0, layer=141000, frame=[0,0][720,50], scale=1.000000, touchableRegion=[0,0][720,50], inputFeatures=0x00000000, ownerPid=253, ownerUid=1000, dispatchingTimeout=5000.000ms
    3: name='Window{419f2098 StatusBarExpanded paused=false}', paused=false, hasFocus=false, hasWallpaper=false, visible=true, canReceiveKeys=false, flags=0x01811328, type=0x000007e1, layer=131005, frame=[0,-1184][720,-50], scale=1.000000, touchableRegion=[0,-1184][720,-50], inputFeatures=0x00000000, ownerPid=253, ownerUid=1000, dispatchingTimeout=5000.000ms
    4: name='Window{41a16678 TrackingView paused=false}', paused=false, hasFocus=false, hasWallpaper=false, visible=false, canReceiveKeys=false, flags=0x01020300, type=0x000007e1, layer=131000, frame=[0,0][720,1280], scale=1.000000, touchableRegion=[0,0][720,1280], inputFeatures=0x00000000, ownerPid=253, ownerUid=1000, dispatchingTimeout=5000.000ms
    5: name='Window{41b29198 org.mozilla.fennec_mozdev/org.mozilla.fennec_mozdev.App paused=false}', paused=false, hasFocus=true, hasWallpaper=false, visible=true, canReceiveKeys=true, flags=0x01810100, type=0x00000001, layer=21015, frame=[0,0][720,1184], scale=1.000000, touchableRegion=[0,0][720,1184], inputFeatures=0x00000000, ownerPid=1939, ownerUid=10038, dispatchingTimeout=5000.000ms
    6: name='Window{419fed28 com.android.launcher/com.android.launcher2.Launcher paused=false}', paused=false, hasFocus=false, hasWallpaper=false, visible=false, canReceiveKeys=false, flags=0x01910100, type=0x00000001, layer=21005, frame=[0,0][720,1184], scale=1.000000, touchableRegion=[0,0][720,1184], inputFeatures=0x00000000, ownerPid=399, ownerUid=10018, dispatchingTimeout=5000.000ms
    7: name='Window{41978030 com.android.systemui.ImageWallpaper paused=false}', paused=false, hasFocus=false, hasWallpaper=false, visible=true, canReceiveKeys=false, flags=0x00000318, type=0x000007dd, layer=21000, frame=[0,0][1440,1280], scale=1.000000, touchableRegion=[0,0][1440,1280], inputFeatures=0x00000000, ownerPid=253, ownerUid=1000, dispatchingTimeout=5000.000ms
  MonitoringChannels: <none>
  InboundQueue: length=0
  ActiveConnections: <none>
  AppSwitch: not pending
  Configuration:
    MaxEventsPerSecond: 55
    KeyRepeatDelay: 50.0ms
    KeyRepeatTimeout: 500.0ms
Transform Prime (TF201) at homescreen:

$ adb shell dumpsys window input
WINDOW MANAGER INPUT (dumpsys window input)
Event Hub State:
  BuiltInKeyboardId: -1
  Devices:
    1: gpio-keys
      Classes: 0x00000001
      Path: /dev/input/event1
      Location: gpio-keys/input0
      UniqueId: 
      Identifier: bus=0x0019, vendor=0x0001, product=0x0001, version=0x0100
      KeyLayoutFile: /system/usr/keylayout/gpio-keys.kl
      KeyCharacterMapFile: /system/usr/keychars/Generic.kcm
      ConfigurationFile: 
    2: tegra-kbc
      Classes: 0x00000001
      Path: /dev/input/event2
      Location: 
      UniqueId: 
      Identifier: bus=0x0019, vendor=0x0000, product=0x0000, version=0x0000
      KeyLayoutFile: /system/usr/keylayout/tegra-kbc.kl
      KeyCharacterMapFile: /system/usr/keychars/Generic.kcm
      ConfigurationFile: 
    3: atmel-maxtouch
      Classes: 0x00000014
      Path: /dev/input/event3
      Location: 1-004d/input0
      UniqueId: 
      Identifier: bus=0x0018, vendor=0x0000, product=0x0000, version=0x0000
      KeyLayoutFile: 
      KeyCharacterMapFile: 
      ConfigurationFile: /system/usr/idc/atmel-maxtouch.idc
    4: lid_input
      Classes: 0x00000080
      Path: /dev/input/event0
      Location: /dev/input/lid_indev
      UniqueId: 
      Identifier: bus=0x0000, vendor=0x0000, product=0x0000, version=0x0000
      KeyLayoutFile: 
      KeyCharacterMapFile: 
      ConfigurationFile: 

Input Reader State:
  Device 1: gpio-keys
    IsExternal: false
    Sources: 0x00000101
    KeyboardType: 1
    Keyboard Input Mapper:
      Parameters:
        AssociatedDisplayId: -1
        OrientationAware: false
      KeyboardType: 1
      Orientation: 0
      KeyDowns: 0 keys currently down
      MetaState: 0x0
      DownTime: 57888640211000
  Device 2: tegra-kbc
    IsExternal: false
    Sources: 0x00000101
    KeyboardType: 1
    Keyboard Input Mapper:
      Parameters:
        AssociatedDisplayId: -1
        OrientationAware: false
      KeyboardType: 1
      Orientation: 0
      KeyDowns: 0 keys currently down
      MetaState: 0x0
      DownTime: 0
  Device 3: atmel-maxtouch
    IsExternal: false
    Sources: 0x00001002
    KeyboardType: 0
    Motion Ranges:
      X: source=0x00001002, min=0.000, max=1279.200, flat=0.000, fuzz=0.800
      Y: source=0x00001002, min=0.000, max=799.201, flat=0.000, fuzz=0.799
      PRESSURE: source=0x00001002, min=0.000, max=1.000, flat=0.000, fuzz=0.000
      SIZE: source=0x00001002, min=0.000, max=1.000, flat=0.000, fuzz=0.000
      TOUCH_MAJOR: source=0x00001002, min=0.000, max=1509.437, flat=0.000, fuzz=0.000
      TOUCH_MINOR: source=0x00001002, min=0.000, max=1509.437, flat=0.000, fuzz=0.000
      TOOL_MAJOR: source=0x00001002, min=0.000, max=1509.437, flat=0.000, fuzz=0.000
      TOOL_MINOR: source=0x00001002, min=0.000, max=1509.437, flat=0.000, fuzz=0.000
    Touch Input Mapper:
      Parameters:
        GestureMode: spots
        DeviceType: touchScreen
        AssociatedDisplay: id=0, isExternal=false
        OrientationAware: true
        UseJitterTouchFilter: false
        useNotebookLikeTouchpadMode: false
      Raw Touch Axes:
        X: min=0, max=1600, flat=0, fuzz=0, resolution=0
        Y: min=0, max=1000, flat=0, fuzz=0, resolution=0
        Pressure: min=0, max=255, flat=0, fuzz=0, resolution=0
        TouchMajor: min=0, max=255, flat=0, fuzz=0, resolution=0
        TouchMinor: unknown range
        ToolMajor: unknown range
        ToolMinor: unknown range
        Orientation: unknown range
        Distance: unknown range
        TiltX: unknown range
        TiltY: unknown range
        TrackingId: min=0, max=10, flat=0, fuzz=0, resolution=0
        Slot: unknown range
      Calibration:
        touch.size.calibration: geometric
        touch.pressure.calibration: amplitude
        touch.pressure.scale: 0.013
        touch.orientation.calibration: none
        touch.distance.calibration: none
      SurfaceWidth: 1280px
      SurfaceHeight: 800px
      SurfaceOrientation: 0
      Translation and Scaling Factors:
        XScale: 0.800
        YScale: 0.799
        XPrecision: 1.251
        YPrecision: 1.251
        GeometricScale: 0.799
        PressureScale: 0.013
        SizeScale: 0.004
        OrientationCenter: 0.000
        OrientationScale: 0.000
        DistanceScale: 0.000
        HaveTilt: false
        TiltXCenter: 0.000
        TiltXScale: 0.000
        TiltYCenter: 0.000
        TiltYScale: 0.000
      Last Button State: 0x00000000
      Last Raw Touch: pointerCount=0
      Last Cooked Touch: pointerCount=0
  Device 4: lid_input
    IsExternal: false
    Sources: 0x80000000
    KeyboardType: 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
      TouchpadMode: 1
      RightButtonMapping: 2
      MiddleButtonMapping: 4

Input Dispatcher State:
  DispatchEnabled: 1
  DispatchFrozen: 0
  FocusedApplication: name='AppWindowToken{41661f68 token=Token{4165dd10 ActivityRecord{4165d5a0 com.android.launcher/com.android.launcher2.Launcher}}}', dispatchingTimeout=5000.000ms
  FocusedWindow: name='Window{41640fa8 com.android.launcher/com.android.launcher2.Launcher paused=false}'
  TouchDown: false
  TouchSplit: false
  TouchDeviceId: -1
  TouchSource: 0x00000000
  TouchedWindows: <none>
  Windows:
    0: name='Window{415f4180 CompatModePanel paused=false}', paused=false, hasFocus=false, hasWallpaper=false, visible=false, canReceiveKeys=false, flags=0x01820100, type=0x000007de, layer=151015, frame=[1280,800][1280,800], scale=1.000000, touchableRegion=<empty>, inputFeatures=0x00000000, ownerPid=336, ownerUid=1000, dispatchingTimeout=5000.000ms
    1: name='Window{41358df8 InputMethodsPanel paused=false}', paused=false, hasFocus=false, hasWallpaper=false, visible=false, canReceiveKeys=false, flags=0x01820100, type=0x000007de, layer=151010, frame=[1280,800][1280,800], scale=1.000000, touchableRegion=<empty>, inputFeatures=0x00000000, ownerPid=336, ownerUid=1000, dispatchingTimeout=5000.000ms
    2: name='Window{41356ed8 RecentsPanel paused=false}', paused=false, hasFocus=false, hasWallpaper=false, visible=false, canReceiveKeys=false, flags=0x01820100, type=0x000007de, layer=151005, frame=[0,0][600,800], scale=1.000000, touchableRegion=[0,0][600,800], inputFeatures=0x00000000, ownerPid=336, ownerUid=1000, dispatchingTimeout=5000.000ms
    3: name='Window{410c0628 NotificationPanel paused=false}', paused=false, hasFocus=false, hasWallpaper=false, visible=false, canReceiveKeys=false, flags=0x01820300, type=0x000007de, layer=151000, frame=[768,0][1280,800], scale=1.000000, touchableRegion=[768,0][1280,800], inputFeatures=0x00000000, ownerPid=336, ownerUid=1000, dispatchingTimeout=5000.000ms
    4: name='Window{413a5780 StatusBar paused=false}', paused=false, hasFocus=false, hasWallpaper=false, visible=true, canReceiveKeys=false, flags=0x00800048, type=0x000007d0, layer=141000, frame=[0,752][1280,800], scale=1.000000, touchableRegion=[0,752][1280,800], inputFeatures=0x00000000, ownerPid=336, ownerUid=1000, dispatchingTimeout=5000.000ms
    5: name='Window{41551fa8 Keyguard paused=false}', paused=false, hasFocus=false, hasWallpaper=false, visible=false, canReceiveKeys=false, flags=0x11120800, type=0x000007d4, layer=111000, frame=[0,0][1280,752], scale=1.000000, touchableRegion=[0,0][1280,752], inputFeatures=0x00000000, ownerPid=198, ownerUid=1000, dispatchingTimeout=5000.000ms
    6: name='Window{4156e120 InputMethod paused=false}', paused=false, hasFocus=false, hasWallpaper=false, visible=false, canReceiveKeys=false, flags=0x00800108, type=0x000007db, layer=21020, frame=[0,316][1280,752], scale=1.000000, touchableRegion=[0,383][1280,752], inputFeatures=0x00000000, ownerPid=469, ownerUid=10004, dispatchingTimeout=5000.000ms
    7: name='Window{41640fa8 com.android.launcher/com.android.launcher2.Launcher paused=false}', paused=false, hasFocus=true, hasWallpaper=true, visible=true, canReceiveKeys=true, flags=0x01910100, type=0x00000001, layer=21015, frame=[0,0][1280,752], scale=1.000000, touchableRegion=[0,0][1280,752], inputFeatures=0x00000000, ownerPid=500, ownerUid=1000, dispatchingTimeout=5000.000ms
    8: name='Window{41633410 com.android.systemui.ImageWallpaper paused=false}', paused=false, hasFocus=false, hasWallpaper=false, visible=true, canReceiveKeys=false, flags=0x00000318, type=0x000007dd, layer=21010, frame=[0,0][1920,1280], scale=1.000000, touchableRegion=[0,0][1920,1280], inputFeatures=0x00000000, ownerPid=336, ownerUid=1000, dispatchingTimeout=5000.000ms
    9: name='Window{41682e58 org.mozilla.fennec_ncalexan/org.mozilla.fennec_ncalexan.App paused=false}', paused=false, hasFocus=false, hasWallpaper=false, visible=false, canReceiveKeys=false, flags=0x01810100, type=0x00000001, layer=21005, frame=[0,0][1280,752], scale=1.000000, touchableRegion=[0,0][1280,752], inputFeatures=0x00000000, ownerPid=27142, ownerUid=10018, dispatchingTimeout=5000.000ms
  MonitoringChannels: <none>
  InboundQueue: length=0
  ActiveConnections: <none>
  AppSwitch: not pending
  Configuration:
    MaxEventsPerSecond: 200
    KeyRepeatDelay: 50.0ms
    KeyRepeatTimeout: 500.0ms
Transformer Prime (TF201) with Firefox running:

$ adb shell dumpsys window input
WINDOW MANAGER INPUT (dumpsys window input)
Event Hub State:
  BuiltInKeyboardId: -1
  Devices:
    1: gpio-keys
      Classes: 0x00000001
      Path: /dev/input/event1
      Location: gpio-keys/input0
      UniqueId: 
      Identifier: bus=0x0019, vendor=0x0001, product=0x0001, version=0x0100
      KeyLayoutFile: /system/usr/keylayout/gpio-keys.kl
      KeyCharacterMapFile: /system/usr/keychars/Generic.kcm
      ConfigurationFile: 
    2: tegra-kbc
      Classes: 0x00000001
      Path: /dev/input/event2
      Location: 
      UniqueId: 
      Identifier: bus=0x0019, vendor=0x0000, product=0x0000, version=0x0000
      KeyLayoutFile: /system/usr/keylayout/tegra-kbc.kl
      KeyCharacterMapFile: /system/usr/keychars/Generic.kcm
      ConfigurationFile: 
    3: atmel-maxtouch
      Classes: 0x00000014
      Path: /dev/input/event3
      Location: 1-004d/input0
      UniqueId: 
      Identifier: bus=0x0018, vendor=0x0000, product=0x0000, version=0x0000
      KeyLayoutFile: 
      KeyCharacterMapFile: 
      ConfigurationFile: /system/usr/idc/atmel-maxtouch.idc
    4: lid_input
      Classes: 0x00000080
      Path: /dev/input/event0
      Location: /dev/input/lid_indev
      UniqueId: 
      Identifier: bus=0x0000, vendor=0x0000, product=0x0000, version=0x0000
      KeyLayoutFile: 
      KeyCharacterMapFile: 
      ConfigurationFile: 

Input Reader State:
  Device 1: gpio-keys
    IsExternal: false
    Sources: 0x00000101
    KeyboardType: 1
    Keyboard Input Mapper:
      Parameters:
        AssociatedDisplayId: -1
        OrientationAware: false
      KeyboardType: 1
      Orientation: 0
      KeyDowns: 0 keys currently down
      MetaState: 0x0
      DownTime: 57888640211000
  Device 2: tegra-kbc
    IsExternal: false
    Sources: 0x00000101
    KeyboardType: 1
    Keyboard Input Mapper:
      Parameters:
        AssociatedDisplayId: -1
        OrientationAware: false
      KeyboardType: 1
      Orientation: 0
      KeyDowns: 0 keys currently down
      MetaState: 0x0
      DownTime: 0
  Device 3: atmel-maxtouch
    IsExternal: false
    Sources: 0x00001002
    KeyboardType: 0
    Motion Ranges:
      X: source=0x00001002, min=0.000, max=1279.200, flat=0.000, fuzz=0.800
      Y: source=0x00001002, min=0.000, max=799.201, flat=0.000, fuzz=0.799
      PRESSURE: source=0x00001002, min=0.000, max=1.000, flat=0.000, fuzz=0.000
      SIZE: source=0x00001002, min=0.000, max=1.000, flat=0.000, fuzz=0.000
      TOUCH_MAJOR: source=0x00001002, min=0.000, max=1509.437, flat=0.000, fuzz=0.000
      TOUCH_MINOR: source=0x00001002, min=0.000, max=1509.437, flat=0.000, fuzz=0.000
      TOOL_MAJOR: source=0x00001002, min=0.000, max=1509.437, flat=0.000, fuzz=0.000
      TOOL_MINOR: source=0x00001002, min=0.000, max=1509.437, flat=0.000, fuzz=0.000
    Touch Input Mapper:
      Parameters:
        GestureMode: spots
        DeviceType: touchScreen
        AssociatedDisplay: id=0, isExternal=false
        OrientationAware: true
        UseJitterTouchFilter: false
        useNotebookLikeTouchpadMode: false
      Raw Touch Axes:
        X: min=0, max=1600, flat=0, fuzz=0, resolution=0
        Y: min=0, max=1000, flat=0, fuzz=0, resolution=0
        Pressure: min=0, max=255, flat=0, fuzz=0, resolution=0
        TouchMajor: min=0, max=255, flat=0, fuzz=0, resolution=0
        TouchMinor: unknown range
        ToolMajor: unknown range
        ToolMinor: unknown range
        Orientation: unknown range
        Distance: unknown range
        TiltX: unknown range
        TiltY: unknown range
        TrackingId: min=0, max=10, flat=0, fuzz=0, resolution=0
        Slot: unknown range
      Calibration:
        touch.size.calibration: geometric
        touch.pressure.calibration: amplitude
        touch.pressure.scale: 0.013
        touch.orientation.calibration: none
        touch.distance.calibration: none
      SurfaceWidth: 1280px
      SurfaceHeight: 800px
      SurfaceOrientation: 0
      Translation and Scaling Factors:
        XScale: 0.800
        YScale: 0.799
        XPrecision: 1.251
        YPrecision: 1.251
        GeometricScale: 0.799
        PressureScale: 0.013
        SizeScale: 0.004
        OrientationCenter: 0.000
        OrientationScale: 0.000
        DistanceScale: 0.000
        HaveTilt: false
        TiltXCenter: 0.000
        TiltXScale: 0.000
        TiltYCenter: 0.000
        TiltYScale: 0.000
      Last Button State: 0x00000000
      Last Raw Touch: pointerCount=0
      Last Cooked Touch: pointerCount=0
  Device 4: lid_input
    IsExternal: false
    Sources: 0x80000000
    KeyboardType: 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
      TouchpadMode: 1
      RightButtonMapping: 2
      MiddleButtonMapping: 4

Input Dispatcher State:
  DispatchEnabled: 1
  DispatchFrozen: 0
  FocusedApplication: name='AppWindowToken{417c6bf0 token=Token{418b4d28 ActivityRecord{4171dcd8 org.mozilla.fennec_ncalexan/.App}}}', dispatchingTimeout=5000.000ms
  FocusedWindow: name='Window{41682e58 org.mozilla.fennec_ncalexan/org.mozilla.fennec_ncalexan.App paused=false}'
  TouchDown: false
  TouchSplit: false
  TouchDeviceId: -1
  TouchSource: 0x00000000
  TouchedWindows: <none>
  Windows:
    0: name='Window{415f4180 CompatModePanel paused=false}', paused=false, hasFocus=false, hasWallpaper=false, visible=false, canReceiveKeys=false, flags=0x01820100, type=0x000007de, layer=151015, frame=[1280,800][1280,800], scale=1.000000, touchableRegion=<empty>, inputFeatures=0x00000000, ownerPid=336, ownerUid=1000, dispatchingTimeout=5000.000ms
    1: name='Window{41358df8 InputMethodsPanel paused=false}', paused=false, hasFocus=false, hasWallpaper=false, visible=false, canReceiveKeys=false, flags=0x01820100, type=0x000007de, layer=151010, frame=[1280,800][1280,800], scale=1.000000, touchableRegion=<empty>, inputFeatures=0x00000000, ownerPid=336, ownerUid=1000, dispatchingTimeout=5000.000ms
    2: name='Window{41356ed8 RecentsPanel paused=false}', paused=false, hasFocus=false, hasWallpaper=false, visible=false, canReceiveKeys=false, flags=0x01820100, type=0x000007de, layer=151005, frame=[0,0][600,800], scale=1.000000, touchableRegion=[0,0][600,800], inputFeatures=0x00000000, ownerPid=336, ownerUid=1000, dispatchingTimeout=5000.000ms
    3: name='Window{410c0628 NotificationPanel paused=false}', paused=false, hasFocus=false, hasWallpaper=false, visible=false, canReceiveKeys=false, flags=0x01820300, type=0x000007de, layer=151000, frame=[768,0][1280,800], scale=1.000000, touchableRegion=[768,0][1280,800], inputFeatures=0x00000000, ownerPid=336, ownerUid=1000, dispatchingTimeout=5000.000ms
    4: name='Window{413a5780 StatusBar paused=false}', paused=false, hasFocus=false, hasWallpaper=false, visible=true, canReceiveKeys=false, flags=0x00800048, type=0x000007d0, layer=141000, frame=[0,752][1280,800], scale=1.000000, touchableRegion=[0,752][1280,800], inputFeatures=0x00000000, ownerPid=336, ownerUid=1000, dispatchingTimeout=5000.000ms
    5: name='Window{41551fa8 Keyguard paused=false}', paused=false, hasFocus=false, hasWallpaper=false, visible=false, canReceiveKeys=false, flags=0x11120800, type=0x000007d4, layer=111000, frame=[0,0][1280,752], scale=1.000000, touchableRegion=[0,0][1280,752], inputFeatures=0x00000000, ownerPid=198, ownerUid=1000, dispatchingTimeout=5000.000ms
    6: name='Window{4156e120 InputMethod paused=false}', paused=false, hasFocus=false, hasWallpaper=false, visible=false, canReceiveKeys=false, flags=0x00800108, type=0x000007db, layer=21020, frame=[0,316][1280,752], scale=1.000000, touchableRegion=[0,383][1280,752], inputFeatures=0x00000000, ownerPid=469, ownerUid=10004, dispatchingTimeout=5000.000ms
    7: name='Window{41682e58 org.mozilla.fennec_ncalexan/org.mozilla.fennec_ncalexan.App paused=false}', paused=false, hasFocus=true, hasWallpaper=false, visible=true, canReceiveKeys=true, flags=0x01810100, type=0x00000001, layer=21015, frame=[0,0][1280,752], scale=1.000000, touchableRegion=[0,0][1280,752], inputFeatures=0x00000000, ownerPid=27142, ownerUid=10018, dispatchingTimeout=5000.000ms
    8: name='Window{41640fa8 com.android.launcher/com.android.launcher2.Launcher paused=false}', paused=false, hasFocus=false, hasWallpaper=false, visible=false, canReceiveKeys=false, flags=0x01810100, type=0x00000001, layer=21005, frame=[0,0][1280,752], scale=1.000000, touchableRegion=[0,0][1280,752], inputFeatures=0x00000000, ownerPid=500, ownerUid=1000, dispatchingTimeout=5000.000ms
    9: name='Window{41633410 com.android.systemui.ImageWallpaper paused=false}', paused=false, hasFocus=false, hasWallpaper=false, visible=true, canReceiveKeys=false, flags=0x00000318, type=0x000007dd, layer=21000, frame=[0,0][1920,1280], scale=1.000000, touchableRegion=[0,0][1920,1280], inputFeatures=0x00000000, ownerPid=336, ownerUid=1000, dispatchingTimeout=5000.000ms
  MonitoringChannels: <none>
  InboundQueue: length=0
  ActiveConnections: <none>
  AppSwitch: not pending
  Configuration:
    MaxEventsPerSecond: 200
    KeyRepeatDelay: 50.0ms
    KeyRepeatTimeout: 500.0ms
Simple change to allow for alternate dumpsys output. Also added a warning in case neither approach works -- hopefully that will make the problem more evident if we come across another output format in future.

This works for me on:
 - Galaxy S/2.2
 - Galaxy Tab/3.1
 - Galaxy Nexus/4.0
Attachment #754507 - Flags: review?(jmaher)
Comment on attachment 754507 [details] [diff] [review]
look for FocusedApplication or mFocusedApp in dumpsys output

Review of attachment 754507 [details] [diff] [review]:
-----------------------------------------------------------------

nice.  We would need to land this in the mozbase project on github, then get that released to m-c.  I believe we could just land this on m-c and make sure we have a mozbase/github patch up for review as well.
Attachment #754507 - Flags: review?(jmaher) → review+
Hardware: x86 → All
(In reply to Geoff Brown [:gbrown] from comment #7)
> https://github.com/mozilla/mozbase/commit/
> e7e4c2911a68228cdfcc4be92eb538f3828720bf

Hey, I tried to comment as part of a review but I must not have submitted it.  I'd like to consider raising an exception.  We already are missing a None-check to abort if this fails -- an exception doesn't let you miss any other None-checks.  And the print statement will get swamped by the test and |adb logcat| output, and print statements are a lousy API to expose for other callers.  Thoughts?
Like this?
Attachment #755418 - Flags: feedback?(nalexander)
Comment on attachment 755418 [details] [diff] [review]
follow-up -- fail with exception

Yes, I think this makes a better API.  Both consumers of getTopActivity are "wait for finish" calls, and it looks to me like raising on failure is better for both consumers.  I believe that getTopActivity will report some kind of Launcher App for the Android home screen, so this should be good when the Fennec activity is actually finished.  Roll on!
Attachment #755418 - Flags: feedback?(nalexander) → feedback+
Attachment #755418 - Flags: review?(jmaher)
Comment on attachment 755418 [details] [diff] [review]
follow-up -- fail with exception

Review of attachment 755418 [details] [diff] [review]:
-----------------------------------------------------------------

looks good!
Attachment #755418 - Flags: review?(jmaher) → review+
Landed on m-i, rather than waiting for the next mozbase mirror, since several people have reported similar problems:

https://hg.mozilla.org/integration/mozilla-inbound/rev/e91df86d2a0a
https://hg.mozilla.org/integration/mozilla-inbound/rev/8374bf2b5e63
It turns out that "dumpsys window input" is not supported on some phones. In particular, :blassey's Galaxy Nexus reports:

flyingfox:objdir-droid blassey$ adb shell dumpsys window input
Bad window command, or no windows match: input
Use -h for help.
flyingfox:objdir-droid blassey$ adb shell dumpsys window -h
Window manager dump options:
[-a] [-h] [cmd] ...
cmd may be one of:
l[astanr]: last ANR information
p[policy]: policy state
a[animator]: animator state
s[essions]: active sessions
t[okens]: token list
w[indows]: window list
cmd may also be a NAME to dump windows. NAME may
be a partial substring in a window name, a
Window hex object identifier, or
"all" for all windows, or
"visible" for the visible windows.
-a: include all available server state.
flyingfox:objdir-droid blassey$ 


Thankfully, "dumpsys window windows" seems to work for :blassey's and my devices.

My Galaxy S (2.2.1):
mFocusedApp=AppWindowToken{485498e0 token=HistoryRecord{48531448 org.mozilla.fennec_mozdev/.App}}

My Galaxy Nexus (4.0.1):
mFocusedApp=AppWindowToken{41a835a0 token=ActivityRecord{419e0bd0 org.mozilla.fennec_mozdev/.App}}

:blassey's Galaxy Nexus (4.1?):
mFocusedApp=AppWindowToken{41ecabc8 token=Token{418f4190 ActivityRecord{41a38510 u0 org.mozilla.fennec_blassey/.App}}}
:nalexander -- can you confirm that this works on your devices?
Attachment #761647 - Flags: review?(blassey.bugs)
Attachment #761647 - Flags: feedback?(nalexander)
Comment on attachment 761647 [details] [diff] [review]
use "dumpsys window windows" instead of "dumpsys window input"

Review of attachment 761647 [details] [diff] [review]:
-----------------------------------------------------------------

I can't test on multiple devices right now, but it works on my Samsung Galaxy SII.
Attachment #761647 - Flags: feedback?(nalexander) → feedback+
Comment on attachment 761647 [details] [diff] [review]
use "dumpsys window windows" instead of "dumpsys window input"

Review of attachment 761647 [details] [diff] [review]:
-----------------------------------------------------------------

wfm
Attachment #761647 - Flags: review?(blassey.bugs) → review+
https://hg.mozilla.org/mozilla-central/rev/8374bf2b5e63
https://hg.mozilla.org/mozilla-central/rev/e91df86d2a0a
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla24
Sorry - should have marked this leave-open: one more patch to land.
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
https://hg.mozilla.org/mozilla-central/rev/dd495b445752
Status: REOPENED → RESOLVED
Closed: 7 years ago7 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.