1. 14 Sep, 2020 1 commit
  2. 04 Feb, 2020 1 commit
    • spiiroin's avatar
      [battery] Do not report 100% when battery level is unknown. JB#48562 · 3e41f3d2
      spiiroin authored
      Using 100% as default initial value can lead to clients seeing what
      looks like genuine battery level drop during mce startup.
      
      Use MCE_BATTERY_LEVEL_UNKNOWN (-1) - which is documented in mce-dev
      headers as placeholder value used while battery level is unknown.
      
      Adapt battery level tracking withing mce to expect and deal with
      unknown/negative initial state.
      
      To allow debugging of battery level unknown states, expand value
      range allowed by mcetool --set-battery-level=<percent> to include
      also -1.
      Signed-off-by: spiiroin's avatarSimo Piiroinen <simo.piiroinen@jollamobile.com>
      3e41f3d2
  3. 24 Oct, 2019 1 commit
    • spiiroin's avatar
      [fingerprint] Use gesture actions for fingerprint wake up. Fixes JB#47437 · 64e71c69
      spiiroin authored
      Originally fingerprint wake up was modeled to:
      - wake up display like double tap does
      - exit from lockscreen when device is not locked, or
      - indicate need to unlock when device is locked
      i.e. behave as if double power key press were made.
      
      This however means that fingerprint wake up never ends up showing
      lockscreen where things like date and time would be visible.
      
      Switch from handling fingerprint wake up as something explicit into
      treating it as just another gesture with configurable actions.
      
      Add "tkunlock2" gesture action, which behaves like "tkunlock" when
      device is unlocked and does nothing when device is locked.
      
      After which users can tweak fingerprint behavior with mcetool.
      
      mcetool --set-touchscreen-gesture-actions=fpwakeup,unblank,tkunlock
      
        The default behavior.
      
      mcetool --set-touchscreen-gesture-actions=fpwakeup,unblank,tkunlock2
      
        Exits from lockscreen only if device is not locked.
      
      mcetool --set-touchscreen-gesture-actions=fpwakeup,unblank
      
        Just wakes up display, leaving lockscreen status as it is.
      Signed-off-by: spiiroin's avatarSimo Piiroinen <simo.piiroinen@jollamobile.com>
      64e71c69
  4. 07 Oct, 2019 1 commit
  5. 12 Sep, 2019 1 commit
    • spiiroin's avatar
      [dummy_compositor] Add exit-on-enable option. JB#46746 · 0a04373c
      spiiroin authored
      Dummy compositor exits when it manages to reserve compositor D-Bus name.
      Logic wise this means that the previous compositor process knows that it
      should exit, but might not have done so yet and still retain some non-
      shareable resources.
      
      As mce now waits for previous compositor instance to exit before granting
      the current one permission to draw, getting a setUpdatesEnabled(true)
      method call can be assumed to mean that all resources obtained by the
      previous compositor have been released.
      
      Add --exit-on-enable option that modifies dummy compositor behavior so
      that it exits on setUpdatesEnabled(true) method call rather than
      NameAcquired signal.
      
      Also add option for releasing name before exiting - which is mainly
      interesting for purposes of testing/debugging mce side state logic.
      
      Update usage information so that it covers all supported options.
      Signed-off-by: spiiroin's avatarSimo Piiroinen <simo.piiroinen@jollamobile.com>
      0a04373c
  6. 28 Aug, 2019 1 commit
    • spiiroin's avatar
      [battery-udev] Make charger type available on D-Bus. JB#38667 · a80fd7ea
      spiiroin authored
      Battery notifier in lipstick needs charger type information.
      
      Add charger type evaluation to udev power supply device tracker and
      broadcast changes internally within mce via a datapipe.
      
      Reflect datapipe changes as D-Bus signals, and add D-Bus methods for
      querying the current state.
      
      For development builds enable charger type simulation and appropriate
      mcetool options for controlling it.
      
      The required D-Bus constants are available in mce-dev >= 1.27.0.
      Signed-off-by: spiiroin's avatarSimo Piiroinen <simo.piiroinen@jollamobile.com>
      a80fd7ea
  7. 08 Aug, 2019 1 commit
    • spiiroin's avatar
      [dummy_compositor] Implement dummy compositor D-Bus service. JB#46723 · d26a075e
      spiiroin authored
      Performing seamless compositor hand off (such as switching from early
      boot unlock ui to regular lipstick ui) might not be possible if the
      compositors have non-compatible dependencies - like whether some android
      services are running or not.
      
      A dummy compositor service - that implements D-Bus interface expected
      by mce, but does not even attempt to control display hw - can be used
      to insert a stop gap within compositor to compositor hand off sequence
      where relevant services can then be started/stopped as required.
      Signed-off-by: spiiroin's avatarSimo Piiroinen <simo.piiroinen@jollamobile.com>
      d26a075e
  8. 17 May, 2019 1 commit
    • spiiroin's avatar
      [mce] Unify license blurbs. JB#33684 · 091d6e7e
      spiiroin authored
      MCE uses LGPL v2.1 (without "or later") license, but due to missing / use
      of different license blurbs this is not always clear enough.
      
      Replace blurbs referring to "LGPLv2" short form which could be either
      LGPL v2.0 or v2.1 without "or later" with the same blurb that is used
      in mce.c file.
      
      Similarly add blurb to source files that are missing one altogether.
      
      Add all authors that can be derived from git logs.
      
      Update Jolla Ltd. copyright statements to match git activity.
      Signed-off-by: spiiroin's avatarSimo Piiroinen <simo.piiroinen@jollamobile.com>
      091d6e7e
  9. 15 Mar, 2019 1 commit
    • spiiroin's avatar
      [proximity] On-demand proximity sensor activation. Fixes JB#34789 MER#1562 · d9c917b7
      spiiroin authored
      MCE code has built-in assumption that proximity sensor is either not used at
      all, or it is constantly powered on. The former basically means that in-call
      proximity blanking is not available. And the latter can cause direct (the
      sensor itself) or indirect (might block suspend) power drain, or make it
      more likely for lower level sensor handling glitches to surface.
      
      Make it possible to select on-demand proximity sensor activation.
      
      When selected, proximity sensor is powered up:
      - While the device in a state where it might be needed (calls, alarms, etc).
      - When events that could lead to display wakeup are received (powerkey
        presses, doubletaps, etc).
      
      As the sensor state is not available immediately after requesting
      sensor powerup, implement on-proximity action queue which can be used
      to schedule actions to be taken when the sensor has reached a stable
      state.
      Signed-off-by: spiiroin's avatarSimo Piiroinen <simo.piiroinen@jollamobile.com>
      d9c917b7
  10. 14 Dec, 2018 1 commit
    • spiiroin's avatar
      [battery-udev] Add battery debugging D-Bus methods. Fixes JB#44072 · 3142c92a
      spiiroin authored
      Waiting for battery to get completely full / empty takes time and makes it
      difficult to verify that actions that ought to happen under certain
      conditions actually get triggered.
      
      Implement D-Bus methods that temporarily allow overriding charging/battery
      information mce has derived from udev.
      
      Add options to mcetool for using the override method calls:
          --set-charger-state=<unknown|on|off>
          --set-battery-level=<percent>
      
      As faked charger connection can block/delay battery empty shutdown and lead
      to battery getting too depleted, the battery simulation functionality is
      made available only in devel flavor mce build and even then only to
      privileged clients.
      Signed-off-by: spiiroin's avatarSimo Piiroinen <simo.piiroinen@jollamobile.com>
      3142c92a
  11. 13 Dec, 2018 1 commit
  12. 23 Nov, 2018 1 commit
    • spiiroin's avatar
      [mcetool] Do not artificially limit PSM threshold setting · c43cb022
      spiiroin authored
      The mcetool --set-psm-threshold option uses hard-coded validity check.
      While it does match the built-in default for "possible values list",
      a) the list is configurable and b) it is supposed to be just a hint
      to settings ui and there is no reason to limit users from using whatever
      limits they want to use.
      
      Just validate that a number that is supposed to be a percentage is
      between zero and 100.
      Signed-off-by: spiiroin's avatarSimo Piiroinen <simo.piiroinen@jollamobile.com>
      c43cb022
  13. 20 Nov, 2018 2 commits
  14. 02 Nov, 2018 1 commit
    • spiiroin's avatar
      [led] Add proximity sensor debugging patterns. JB#43690 · 5667900c
      spiiroin authored
      Debugging proximity sensor issues is difficult as inspecting logs is
      usually not possible in the situation where the problem is detected,
      or the sensor has failed in distant enough past so that logs have been
      already lost due to log rotation.
      
      Add led patterns that are activated/deactivated as follows:
      - PatternProximityCovered when sensor is reporting closed state.
      - PatternProximityUncovering when sensor is reporting uncovered state, but
        effective state is still covered (uncover hysteresis).
      - PatternProximityUncovered when effective proximity state is uncovered.
      
      The patterns are disabled by default, but can be enabled via:
        mcetool --enable-led-pattern=PatternProximityCovered\
                --enable-led-pattern=PatternProximityUncovering\
                --enable-led-pattern=PatternProximityUncovered
      
      And disabled again with:
        mcetool --disable-led-pattern=PatternProximityCovered\
                --disable-led-pattern=PatternProximityUncovering\
                --disable-led-pattern=PatternProximityUncovered
      Signed-off-by: spiiroin's avatarSimo Piiroinen <simo.piiroinen@jollamobile.com>
      5667900c
  15. 18 Sep, 2018 2 commits
  16. 15 Aug, 2018 2 commits
    • spiiroin's avatar
      [fingerprint] Add support for debug led patterns · 7f395b61
      spiiroin authored
      There are no visible clues for fingerprint authentication being
      possible / activated. This makes it difficult to differentiate between
      situations where fingerprint scanner has not been activated and lower
      lever functionality having problems with fingerprint acquisition.
      
      To ease debugging, add led patterns for lighting up the led in yellow
      color when fingerprint scanner is active and briefly turning the led
      blue on fingerprint acquisition events.
      
      These led patterns are not used by default, user must opt-in via:
        mcetool --enable-led-pattern=PatternScanningFingerprint
        mcetool --enable-led-pattern=PatternFingerprintAcquired
      Signed-off-by: spiiroin's avatarSimo Piiroinen <simo.piiroinen@jollamobile.com>
      7f395b61
    • spiiroin's avatar
      [powerkey] Add "nop" powerkey action · cc88ef88
      spiiroin authored
      If single and double press actions are exactly the same, mce does not wait
      or expect to see double presses. In some cases this is desirable, in other
      cases it is not.
      
      Having a no-operation action available allows configuring single and
      double press action lists so that they differ from each other while are
      still logically equivalent.
      Signed-off-by: spiiroin's avatarSimo Piiroinen <simo.piiroinen@jollamobile.com>
      cc88ef88
  17. 16 Mar, 2018 1 commit
  18. 01 Mar, 2018 1 commit
  19. 23 Feb, 2018 1 commit
  20. 18 Nov, 2017 1 commit
  21. 06 Oct, 2017 1 commit
    • spiiroin's avatar
      [buttonbacklight] Implement button backlight policy. JB#39838 · 74e962be
      spiiroin authored
      Devices designed with Android in mind can have menu/home/back
      buttons in front face. In some devices these buttons are
      practically invisible unless the underlying button backlight is
      turned on.
      
      Add D-Bus interface that can used by applications and/or
      lipstick for requesting and tracking button backlight state.
      
      Implement policy that turns button backlight on when:
      - Related sysfs controls have been defined in mce configuration
      - At least one D-Bus client has requested backlight
      - Display is powered up
      - Lockscreen is not active
      Signed-off-by: spiiroin's avatarSimo Piiroinen <simo.piiroinen@jollamobile.com>
      74e962be
  22. 02 Jun, 2017 1 commit
  23. 12 May, 2017 1 commit
  24. 22 Dec, 2016 1 commit
  25. 21 Dec, 2016 1 commit
  26. 29 Nov, 2016 1 commit
  27. 31 Mar, 2016 3 commits
    • spiiroin's avatar
      [settings] Remove gconf references from code. Fixes MER#1554 · d8f66013
      spiiroin authored
      Rename functions, variables and structure members so that only functions
      dealing directly with gconf api (implemented in builtin-gconf module)
      contain gconf in name.
      
      When local naming convention permits: Use _setting_cb postfix for
      naming change notification callback functions and _setting_id for
      naming notification tracking ids.
      
      When applicable: Move tracking ids so that they are next to the variable
      that is used for caching the setting value and remove repetitive and
      uninformative Doxygen comments.
      
      No functional changes.
      d8f66013
    • spiiroin's avatar
      [settings] Remove gconf references from key names. MER#1554 · eec0197e
      spiiroin authored
      Use MCE_SETTING prefix for key name macros and MCE_DEFAULT prefix for
      key default values.
      
      Also fix changed headers so that:
      - Reserved names are not used for multiple inclusion protection
      - Unneeded C++ preprocess hacks are removed
      - Indentation of macros is unified
      
      No functional changes.
      eec0197e
    • spiiroin's avatar
      [settings] Do not use hardcoded key names. MER#1554 · fbbad5d1
      spiiroin authored
      Make sure all settings have symbolic key names and use them instead of
      hardcoded paths.
      
      No functional changes.
      fbbad5d1
  28. 11 Mar, 2016 1 commit
    • spiiroin's avatar
      [mcetool] Add dimming demo mode. Fixes MER#1542 · ba4e26db
      spiiroin authored
      There already is "keep display on" demo-mode that disables all timer based
      display dimming and blanking. Often it would be more useful to allow
      dimming and disable only blanking timers.
      
      Add "mcetool --demo-mode=dim" option variant.
      ba4e26db
  29. 07 Mar, 2016 1 commit
    • spiiroin's avatar
      [powerkey] Add enablers for configuring touchscreen gestures. Fixes MER#1537 · 9fe42f8b
      spiiroin authored
      Traditionally the only touchscreen gesture that has been able to wake
      the device from suspend has been the double tap. Now there are devices
      that support more gestures for waking up the device, but there are no
      means to differentiate / configure actions taken based on the various
      gestures.
      
      MCE already assumes EV_MSC:MSC_GESTURE event with value 4 is double tap.
      Extend on this and assume that also other gestures get reported in the
      similar fashion.
      
      Move gesture event handling from tklock.c to powerkey.c.
      
      Drop support for double tap setting and make gesture actions configurable
      similarly to what can be done with power key presses.
      
      Increase the number of user configurable dbus actions to 10. Tweak the
      related mcetool options so that instead of N similar but separate
      options (--set-powerkey-dbus-actionN=args) there is just one that takes
      action index as the first parameter (--set-powerkey-dbus-action=N,args).
      
      Add mcetool --set-touchscreen-gesture-actions options for configuring the
      gesture actions. Retain the old --set-doubletap-mode as an alias for the
      sake of backwards compatibility.
      9fe42f8b
  30. 07 Jan, 2016 1 commit
    • spiiroin's avatar
      [input] Add setting to allow/deny input device grabbing. JB#33644 · 0fa25544
      spiiroin authored
      Grabbing touch input events is problematic - especially with devices
      that use stateful protocol B for reporting. In general it would be better
      to allow lipstick to see all the touch events but ignore them while
      display is not in fully powered up state.
      
      Add a setting that can be used to instruct mce not to grab touch input
      device nodes. By default the grabbing is allowed.
      
      Normally platform specific configuration files are expected to be used
      when needed, but users can also tweak the setting via mcetool option
      --set-input-grab-allowed.
      0fa25544
  31. 09 Dec, 2015 1 commit
  32. 11 Nov, 2015 1 commit
    • spiiroin's avatar
      [tklock] Add setting for lid is closed als limit. Fixes JB#33468 · 7cd25190
      spiiroin authored
      The light level limit used for filtering lid opened/closed events is hard
      coded - which makes it impossible to specify platform specific values.
      
      Add setting for the light level limit. By default it is assumed that
      ALS will report zero lux in complete darkness.
      
      Configuration files can be used to provide platform specific default.
      
      Users can - if necessary - users tweak the limit mcetool option:
        --set-filter-lid-als-limit=<lux>
      
      The value of the setting persists over mce / device restarts.
      7cd25190
  33. 03 Nov, 2015 2 commits
  34. 02 Oct, 2015 1 commit
    • spiiroin's avatar
      [dbus] Allow adjusting mce verbosity while it is running. Fixes JB#32492 · 03e2ef58
      spiiroin authored
      Now and then a situation arises where mce verbosity needs to be adjusted
      for debugging purposes without restarting the process. Currently it can
      be done via sending USR1/USR2 signals to mce process, but that is a bit
      clumsy and does not allow choosing the required logging level.
      
      Implement dbus method calls for adjusting mce verbosity and add mcetool
      option that utilizes this to select required verbosity level:
            --set-verbosity=<emerg|alert|crit|err|warning|notice|info|debug>
      
      The change is temporary and mce returns to default verbosity when the
      service is restarted / device is rebooted.
      03e2ef58