Publish Vulpes Preview 15 sources for desktop, Android and Tundra

Share Gaia assets and adapters, keep private profiles and development documents local, and update both public READMEs.
This commit is contained in:
OverSu 2026-09-30 23:13:03 +02:00
commit b38dea0597
25901 changed files with 9982925 additions and 369 deletions

View file

@ -0,0 +1,42 @@
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
from marionette_driver import By, Wait
from marionette_driver.marionette import Actions
from gaiatest.apps.base import Base
from gaiatest.apps.homescreen.app import Homescreen
from gaiatest.apps.emergency_call.app import EmergencyCall
class PasscodePad(Base):
_lockscreen_passcode_code_locator = (By.ID, 'lockscreen-passcode-code')
_lockscreen_passcode_pad_locator = (By.ID, 'lockscreen-passcode-pad')
_numeric_button_locator = (By.CSS_SELECTOR, '#lockscreen-passcode-pad a[data-key="%s"]')
_emergency_button_locator = (By.CSS_SELECTOR, '#lockscreen-passcode-pad a[data-key="e"]')
def __init__(self, marionette):
Base.__init__(self, marionette)
lockscreen_passcode_pad = self.marionette.find_element(*self._lockscreen_passcode_pad_locator)
emergency_button = self.marionette.find_element(*self._emergency_button_locator)
# wait button * 4 rows === the pad's height
Wait(self.marionette).until(
lambda m: lockscreen_passcode_pad.size['height'] ==
(4 * emergency_button.size['height']))
def type_passcode(self, passcode):
for digit in passcode:
button_locator = (self._numeric_button_locator[0],
self._numeric_button_locator[1] % digit)
# Workaround for bug 1203269 where the Marionette tap() method somehow enters
# 2 digits in the passcode pad
Actions(self.marionette).press(
self.marionette.find_element(*button_locator)).wait(time=0.5).release().perform()
return Homescreen(self.marionette)
def tap_emergency_call(self):
self.marionette.find_element(*self._emergency_button_locator).tap()
emergency_call = EmergencyCall(self.marionette)
return emergency_call