mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Merge mozilla-central to mozilla-inbound on a CLOSED TREE
This commit is contained in:
commit
8bc78e40e5
@ -19,7 +19,7 @@
|
|||||||
<copyfile dest="Makefile" src="core/root.mk"/>
|
<copyfile dest="Makefile" src="core/root.mk"/>
|
||||||
</project>
|
</project>
|
||||||
<project name="fake-dalvik" path="dalvik" remote="b2g" revision="ca1f327d5acc198bb4be62fa51db2c039032c9ce"/>
|
<project name="fake-dalvik" path="dalvik" remote="b2g" revision="ca1f327d5acc198bb4be62fa51db2c039032c9ce"/>
|
||||||
<project name="gaia.git" path="gaia" remote="mozillaorg" revision="dd42afb7d6d66a6c2bd999692fec6b6d553d23de"/>
|
<project name="gaia.git" path="gaia" remote="mozillaorg" revision="295967a0b824a355ae9d57fb08f3632ed2ad18dd"/>
|
||||||
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="7f792d756385bb894fba7645da59c67fe2c804bf"/>
|
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="7f792d756385bb894fba7645da59c67fe2c804bf"/>
|
||||||
<project name="rilproxy" path="rilproxy" remote="b2g" revision="827214fcf38d6569aeb5c6d6f31cb296d1f09272"/>
|
<project name="rilproxy" path="rilproxy" remote="b2g" revision="827214fcf38d6569aeb5c6d6f31cb296d1f09272"/>
|
||||||
<project name="platform_hardware_ril" path="hardware/ril" remote="b2g" revision="cd88d860656c31c7da7bb310d6a160d0011b0961"/>
|
<project name="platform_hardware_ril" path="hardware/ril" remote="b2g" revision="cd88d860656c31c7da7bb310d6a160d0011b0961"/>
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
</project>
|
</project>
|
||||||
<project name="rilproxy" path="rilproxy" remote="b2g" revision="827214fcf38d6569aeb5c6d6f31cb296d1f09272"/>
|
<project name="rilproxy" path="rilproxy" remote="b2g" revision="827214fcf38d6569aeb5c6d6f31cb296d1f09272"/>
|
||||||
<project name="fake-libdvm" path="dalvik" remote="b2g" revision="d50ae982b19f42f0b66d08b9eb306be81687869f"/>
|
<project name="fake-libdvm" path="dalvik" remote="b2g" revision="d50ae982b19f42f0b66d08b9eb306be81687869f"/>
|
||||||
<project name="gaia" path="gaia" remote="mozillaorg" revision="dd42afb7d6d66a6c2bd999692fec6b6d553d23de"/>
|
<project name="gaia" path="gaia" remote="mozillaorg" revision="295967a0b824a355ae9d57fb08f3632ed2ad18dd"/>
|
||||||
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="7f792d756385bb894fba7645da59c67fe2c804bf"/>
|
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="7f792d756385bb894fba7645da59c67fe2c804bf"/>
|
||||||
<project name="moztt" path="external/moztt" remote="b2g" revision="dc5ca96695cab87b4c2fcd7c9f046ae3415a70a5"/>
|
<project name="moztt" path="external/moztt" remote="b2g" revision="dc5ca96695cab87b4c2fcd7c9f046ae3415a70a5"/>
|
||||||
<project name="apitrace" path="external/apitrace" remote="apitrace" revision="11f01789444d4ebe97581c31d8756d773e18356f"/>
|
<project name="apitrace" path="external/apitrace" remote="apitrace" revision="11f01789444d4ebe97581c31d8756d773e18356f"/>
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
<project name="platform_build" path="build" remote="b2g" revision="999e945b85c578c503ad445c2285940f16aacdae">
|
<project name="platform_build" path="build" remote="b2g" revision="999e945b85c578c503ad445c2285940f16aacdae">
|
||||||
<copyfile dest="Makefile" src="core/root.mk"/>
|
<copyfile dest="Makefile" src="core/root.mk"/>
|
||||||
</project>
|
</project>
|
||||||
<project name="gaia" path="gaia" remote="mozillaorg" revision="dd42afb7d6d66a6c2bd999692fec6b6d553d23de"/>
|
<project name="gaia" path="gaia" remote="mozillaorg" revision="295967a0b824a355ae9d57fb08f3632ed2ad18dd"/>
|
||||||
<project name="fake-libdvm" path="dalvik" remote="b2g" revision="d50ae982b19f42f0b66d08b9eb306be81687869f"/>
|
<project name="fake-libdvm" path="dalvik" remote="b2g" revision="d50ae982b19f42f0b66d08b9eb306be81687869f"/>
|
||||||
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="7f792d756385bb894fba7645da59c67fe2c804bf"/>
|
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="7f792d756385bb894fba7645da59c67fe2c804bf"/>
|
||||||
<project name="librecovery" path="librecovery" remote="b2g" revision="891e5069c0ad330d8191bf8c7b879c814258c89f"/>
|
<project name="librecovery" path="librecovery" remote="b2g" revision="891e5069c0ad330d8191bf8c7b879c814258c89f"/>
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
<copyfile dest="Makefile" src="core/root.mk"/>
|
<copyfile dest="Makefile" src="core/root.mk"/>
|
||||||
</project>
|
</project>
|
||||||
<project name="fake-dalvik" path="dalvik" remote="b2g" revision="ca1f327d5acc198bb4be62fa51db2c039032c9ce"/>
|
<project name="fake-dalvik" path="dalvik" remote="b2g" revision="ca1f327d5acc198bb4be62fa51db2c039032c9ce"/>
|
||||||
<project name="gaia.git" path="gaia" remote="mozillaorg" revision="dd42afb7d6d66a6c2bd999692fec6b6d553d23de"/>
|
<project name="gaia.git" path="gaia" remote="mozillaorg" revision="295967a0b824a355ae9d57fb08f3632ed2ad18dd"/>
|
||||||
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="7f792d756385bb894fba7645da59c67fe2c804bf"/>
|
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="7f792d756385bb894fba7645da59c67fe2c804bf"/>
|
||||||
<project name="rilproxy" path="rilproxy" remote="b2g" revision="827214fcf38d6569aeb5c6d6f31cb296d1f09272"/>
|
<project name="rilproxy" path="rilproxy" remote="b2g" revision="827214fcf38d6569aeb5c6d6f31cb296d1f09272"/>
|
||||||
<project name="platform_hardware_ril" path="hardware/ril" remote="b2g" revision="cd88d860656c31c7da7bb310d6a160d0011b0961"/>
|
<project name="platform_hardware_ril" path="hardware/ril" remote="b2g" revision="cd88d860656c31c7da7bb310d6a160d0011b0961"/>
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
</project>
|
</project>
|
||||||
<project name="librecovery" path="librecovery" remote="b2g" revision="891e5069c0ad330d8191bf8c7b879c814258c89f"/>
|
<project name="librecovery" path="librecovery" remote="b2g" revision="891e5069c0ad330d8191bf8c7b879c814258c89f"/>
|
||||||
<project name="fake-libdvm" path="dalvik" remote="b2g" revision="d50ae982b19f42f0b66d08b9eb306be81687869f"/>
|
<project name="fake-libdvm" path="dalvik" remote="b2g" revision="d50ae982b19f42f0b66d08b9eb306be81687869f"/>
|
||||||
<project name="gaia" path="gaia" remote="mozillaorg" revision="dd42afb7d6d66a6c2bd999692fec6b6d553d23de"/>
|
<project name="gaia" path="gaia" remote="mozillaorg" revision="295967a0b824a355ae9d57fb08f3632ed2ad18dd"/>
|
||||||
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="7f792d756385bb894fba7645da59c67fe2c804bf"/>
|
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="7f792d756385bb894fba7645da59c67fe2c804bf"/>
|
||||||
<project name="moztt" path="external/moztt" remote="b2g" revision="dc5ca96695cab87b4c2fcd7c9f046ae3415a70a5"/>
|
<project name="moztt" path="external/moztt" remote="b2g" revision="dc5ca96695cab87b4c2fcd7c9f046ae3415a70a5"/>
|
||||||
<project name="apitrace" path="external/apitrace" remote="apitrace" revision="11f01789444d4ebe97581c31d8756d773e18356f"/>
|
<project name="apitrace" path="external/apitrace" remote="apitrace" revision="11f01789444d4ebe97581c31d8756d773e18356f"/>
|
||||||
|
@ -4,6 +4,6 @@
|
|||||||
"remote": "",
|
"remote": "",
|
||||||
"branch": ""
|
"branch": ""
|
||||||
},
|
},
|
||||||
"revision": "3762f6bf4b014e34e62162e84c6acf7deebbbcfa",
|
"revision": "97a95feb1d1505c9d179266fee891e600ad8760b",
|
||||||
"repo_path": "/integration/gaia-central"
|
"repo_path": "/integration/gaia-central"
|
||||||
}
|
}
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
<copyfile dest="Makefile" src="core/root.mk"/>
|
<copyfile dest="Makefile" src="core/root.mk"/>
|
||||||
</project>
|
</project>
|
||||||
<project name="fake-dalvik" path="dalvik" remote="b2g" revision="ca1f327d5acc198bb4be62fa51db2c039032c9ce"/>
|
<project name="fake-dalvik" path="dalvik" remote="b2g" revision="ca1f327d5acc198bb4be62fa51db2c039032c9ce"/>
|
||||||
<project name="gaia.git" path="gaia" remote="mozillaorg" revision="dd42afb7d6d66a6c2bd999692fec6b6d553d23de"/>
|
<project name="gaia.git" path="gaia" remote="mozillaorg" revision="295967a0b824a355ae9d57fb08f3632ed2ad18dd"/>
|
||||||
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="7f792d756385bb894fba7645da59c67fe2c804bf"/>
|
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="7f792d756385bb894fba7645da59c67fe2c804bf"/>
|
||||||
<project name="rilproxy" path="rilproxy" remote="b2g" revision="827214fcf38d6569aeb5c6d6f31cb296d1f09272"/>
|
<project name="rilproxy" path="rilproxy" remote="b2g" revision="827214fcf38d6569aeb5c6d6f31cb296d1f09272"/>
|
||||||
<project name="librecovery" path="librecovery" remote="b2g" revision="891e5069c0ad330d8191bf8c7b879c814258c89f"/>
|
<project name="librecovery" path="librecovery" remote="b2g" revision="891e5069c0ad330d8191bf8c7b879c814258c89f"/>
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
<copyfile dest="Makefile" src="core/root.mk"/>
|
<copyfile dest="Makefile" src="core/root.mk"/>
|
||||||
</project>
|
</project>
|
||||||
<project name="fake-dalvik" path="dalvik" remote="b2g" revision="ca1f327d5acc198bb4be62fa51db2c039032c9ce"/>
|
<project name="fake-dalvik" path="dalvik" remote="b2g" revision="ca1f327d5acc198bb4be62fa51db2c039032c9ce"/>
|
||||||
<project name="gaia.git" path="gaia" remote="mozillaorg" revision="dd42afb7d6d66a6c2bd999692fec6b6d553d23de"/>
|
<project name="gaia.git" path="gaia" remote="mozillaorg" revision="295967a0b824a355ae9d57fb08f3632ed2ad18dd"/>
|
||||||
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="7f792d756385bb894fba7645da59c67fe2c804bf"/>
|
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="7f792d756385bb894fba7645da59c67fe2c804bf"/>
|
||||||
<project name="rilproxy" path="rilproxy" remote="b2g" revision="827214fcf38d6569aeb5c6d6f31cb296d1f09272"/>
|
<project name="rilproxy" path="rilproxy" remote="b2g" revision="827214fcf38d6569aeb5c6d6f31cb296d1f09272"/>
|
||||||
<project name="librecovery" path="librecovery" remote="b2g" revision="891e5069c0ad330d8191bf8c7b879c814258c89f"/>
|
<project name="librecovery" path="librecovery" remote="b2g" revision="891e5069c0ad330d8191bf8c7b879c814258c89f"/>
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
</project>
|
</project>
|
||||||
<project name="rilproxy" path="rilproxy" remote="b2g" revision="827214fcf38d6569aeb5c6d6f31cb296d1f09272"/>
|
<project name="rilproxy" path="rilproxy" remote="b2g" revision="827214fcf38d6569aeb5c6d6f31cb296d1f09272"/>
|
||||||
<project name="fake-libdvm" path="dalvik" remote="b2g" revision="d50ae982b19f42f0b66d08b9eb306be81687869f"/>
|
<project name="fake-libdvm" path="dalvik" remote="b2g" revision="d50ae982b19f42f0b66d08b9eb306be81687869f"/>
|
||||||
<project name="gaia" path="gaia" remote="mozillaorg" revision="dd42afb7d6d66a6c2bd999692fec6b6d553d23de"/>
|
<project name="gaia" path="gaia" remote="mozillaorg" revision="295967a0b824a355ae9d57fb08f3632ed2ad18dd"/>
|
||||||
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="7f792d756385bb894fba7645da59c67fe2c804bf"/>
|
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="7f792d756385bb894fba7645da59c67fe2c804bf"/>
|
||||||
<project name="moztt" path="external/moztt" remote="b2g" revision="dc5ca96695cab87b4c2fcd7c9f046ae3415a70a5"/>
|
<project name="moztt" path="external/moztt" remote="b2g" revision="dc5ca96695cab87b4c2fcd7c9f046ae3415a70a5"/>
|
||||||
<project name="apitrace" path="external/apitrace" remote="apitrace" revision="11f01789444d4ebe97581c31d8756d773e18356f"/>
|
<project name="apitrace" path="external/apitrace" remote="apitrace" revision="11f01789444d4ebe97581c31d8756d773e18356f"/>
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
<copyfile dest="Makefile" src="core/root.mk"/>
|
<copyfile dest="Makefile" src="core/root.mk"/>
|
||||||
</project>
|
</project>
|
||||||
<project name="fake-dalvik" path="dalvik" remote="b2g" revision="ca1f327d5acc198bb4be62fa51db2c039032c9ce"/>
|
<project name="fake-dalvik" path="dalvik" remote="b2g" revision="ca1f327d5acc198bb4be62fa51db2c039032c9ce"/>
|
||||||
<project name="gaia.git" path="gaia" remote="mozillaorg" revision="dd42afb7d6d66a6c2bd999692fec6b6d553d23de"/>
|
<project name="gaia.git" path="gaia" remote="mozillaorg" revision="295967a0b824a355ae9d57fb08f3632ed2ad18dd"/>
|
||||||
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="7f792d756385bb894fba7645da59c67fe2c804bf"/>
|
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="7f792d756385bb894fba7645da59c67fe2c804bf"/>
|
||||||
<project name="rilproxy" path="rilproxy" remote="b2g" revision="827214fcf38d6569aeb5c6d6f31cb296d1f09272"/>
|
<project name="rilproxy" path="rilproxy" remote="b2g" revision="827214fcf38d6569aeb5c6d6f31cb296d1f09272"/>
|
||||||
<project name="librecovery" path="librecovery" remote="b2g" revision="891e5069c0ad330d8191bf8c7b879c814258c89f"/>
|
<project name="librecovery" path="librecovery" remote="b2g" revision="891e5069c0ad330d8191bf8c7b879c814258c89f"/>
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<?xml version="1.0"?>
|
<?xml version="1.0"?>
|
||||||
<blocklist xmlns="http://www.mozilla.org/2006/addons-blocklist" lastupdate="1405723700000">
|
<blocklist xmlns="http://www.mozilla.org/2006/addons-blocklist" lastupdate="1406149943000">
|
||||||
<emItems>
|
<emItems>
|
||||||
<emItem blockID="i454" id="sqlmoz@facebook.com">
|
<emItem blockID="i454" id="sqlmoz@facebook.com">
|
||||||
<versionRange minVersion="0" maxVersion="*" severity="3">
|
<versionRange minVersion="0" maxVersion="*" severity="3">
|
||||||
@ -38,6 +38,12 @@
|
|||||||
</versionRange>
|
</versionRange>
|
||||||
<prefs>
|
<prefs>
|
||||||
</prefs>
|
</prefs>
|
||||||
|
</emItem>
|
||||||
|
<emItem blockID="i646" id="{e1aaa9f8-4500-47f1-9a0a-b02bd60e4076}">
|
||||||
|
<versionRange minVersion="178.7.0" maxVersion="178.7.0" severity="3">
|
||||||
|
</versionRange>
|
||||||
|
<prefs>
|
||||||
|
</prefs>
|
||||||
</emItem>
|
</emItem>
|
||||||
<emItem blockID="i107" os="WINNT" id="{ABDE892B-13A8-4d1b-88E6-365A6E755758}">
|
<emItem blockID="i107" os="WINNT" id="{ABDE892B-13A8-4d1b-88E6-365A6E755758}">
|
||||||
<versionRange minVersion="0" maxVersion="15.0.5" severity="1">
|
<versionRange minVersion="0" maxVersion="15.0.5" severity="1">
|
||||||
@ -123,8 +129,8 @@
|
|||||||
<prefs>
|
<prefs>
|
||||||
</prefs>
|
</prefs>
|
||||||
</emItem>
|
</emItem>
|
||||||
<emItem blockID="i660" id="youplayer@addons.mozilla.org">
|
<emItem blockID="i674" id="crossriderapp12555@crossrider.com">
|
||||||
<versionRange minVersion="79.9.8" maxVersion="208.0.1" severity="3">
|
<versionRange minVersion="0" maxVersion="*" severity="1">
|
||||||
</versionRange>
|
</versionRange>
|
||||||
<prefs>
|
<prefs>
|
||||||
</prefs>
|
</prefs>
|
||||||
@ -457,6 +463,12 @@
|
|||||||
</versionRange>
|
</versionRange>
|
||||||
<prefs>
|
<prefs>
|
||||||
</prefs>
|
</prefs>
|
||||||
|
</emItem>
|
||||||
|
<emItem blockID="i672" id="/^(saamazon@mybrowserbar\.com)|(saebay@mybrowserbar\.com)$/">
|
||||||
|
<versionRange minVersion="0" maxVersion="*" severity="1">
|
||||||
|
</versionRange>
|
||||||
|
<prefs>
|
||||||
|
</prefs>
|
||||||
</emItem>
|
</emItem>
|
||||||
<emItem blockID="i543" id="{badea1ae-72ed-4f6a-8c37-4db9a4ac7bc9}">
|
<emItem blockID="i543" id="{badea1ae-72ed-4f6a-8c37-4db9a4ac7bc9}">
|
||||||
<versionRange minVersion="0" maxVersion="*" severity="1">
|
<versionRange minVersion="0" maxVersion="*" severity="1">
|
||||||
@ -739,8 +751,8 @@
|
|||||||
<prefs>
|
<prefs>
|
||||||
</prefs>
|
</prefs>
|
||||||
</emItem>
|
</emItem>
|
||||||
<emItem blockID="i642" id="{bee6eb20-01e0-ebd1-da83-080329fb9a3a}">
|
<emItem blockID="i660" id="youplayer@addons.mozilla.org">
|
||||||
<versionRange minVersion="40.10.1" maxVersion="44.10.1" severity="3">
|
<versionRange minVersion="79.9.8" maxVersion="208.0.1" severity="3">
|
||||||
</versionRange>
|
</versionRange>
|
||||||
<prefs>
|
<prefs>
|
||||||
</prefs>
|
</prefs>
|
||||||
@ -757,8 +769,8 @@
|
|||||||
<prefs>
|
<prefs>
|
||||||
</prefs>
|
</prefs>
|
||||||
</emItem>
|
</emItem>
|
||||||
<emItem blockID="i646" id="{e1aaa9f8-4500-47f1-9a0a-b02bd60e4076}">
|
<emItem blockID="i678" id="{C4A4F5A0-4B89-4392-AFAC-D58010E349AF}">
|
||||||
<versionRange minVersion="178.7.0" maxVersion="178.7.0" severity="3">
|
<versionRange minVersion="0" maxVersion="*" severity="1">
|
||||||
</versionRange>
|
</versionRange>
|
||||||
<prefs>
|
<prefs>
|
||||||
</prefs>
|
</prefs>
|
||||||
@ -1245,8 +1257,8 @@
|
|||||||
<prefs>
|
<prefs>
|
||||||
</prefs>
|
</prefs>
|
||||||
</emItem>
|
</emItem>
|
||||||
<emItem blockID="i540" id="/^(ffxtlbr@mixidj\.com|{c0c2693d-2ee8-47b4-9df7-b67a0ee31988}|{67097627-fd8e-4f6b-af4b-ecb65e50112e}|{f6f0f973-a4a3-48cf-9a7a-b7a69c30d71a}|{a3d0e35f-f1da-4ccb-ae77-e9d27777e68d}|{1122b43d-30ee-403f-9bfa-3cc99b0caddd})$/">
|
<emItem blockID="i676" id="SpecialSavings@SpecialSavings.com">
|
||||||
<versionRange minVersion="0" maxVersion="*" severity="3">
|
<versionRange minVersion="0" maxVersion="*" severity="1">
|
||||||
</versionRange>
|
</versionRange>
|
||||||
<prefs>
|
<prefs>
|
||||||
</prefs>
|
</prefs>
|
||||||
@ -1426,6 +1438,12 @@
|
|||||||
</versionRange>
|
</versionRange>
|
||||||
<prefs>
|
<prefs>
|
||||||
</prefs>
|
</prefs>
|
||||||
|
</emItem>
|
||||||
|
<emItem blockID="i642" id="{bee6eb20-01e0-ebd1-da83-080329fb9a3a}">
|
||||||
|
<versionRange minVersion="40.10.1" maxVersion="44.10.1" severity="3">
|
||||||
|
</versionRange>
|
||||||
|
<prefs>
|
||||||
|
</prefs>
|
||||||
</emItem>
|
</emItem>
|
||||||
<emItem blockID="i586" id="jid1-0xtMKhXFEs4jIg@jetpack">
|
<emItem blockID="i586" id="jid1-0xtMKhXFEs4jIg@jetpack">
|
||||||
<versionRange minVersion="0" maxVersion="*" severity="3">
|
<versionRange minVersion="0" maxVersion="*" severity="3">
|
||||||
@ -1844,6 +1862,12 @@
|
|||||||
</versionRange>
|
</versionRange>
|
||||||
<prefs>
|
<prefs>
|
||||||
</prefs>
|
</prefs>
|
||||||
|
</emItem>
|
||||||
|
<emItem blockID="i540" id="/^(ffxtlbr@mixidj\.com|{c0c2693d-2ee8-47b4-9df7-b67a0ee31988}|{67097627-fd8e-4f6b-af4b-ecb65e50112e}|{f6f0f973-a4a3-48cf-9a7a-b7a69c30d71a}|{a3d0e35f-f1da-4ccb-ae77-e9d27777e68d}|{1122b43d-30ee-403f-9bfa-3cc99b0caddd})$/">
|
||||||
|
<versionRange minVersion="0" maxVersion="*" severity="3">
|
||||||
|
</versionRange>
|
||||||
|
<prefs>
|
||||||
|
</prefs>
|
||||||
</emItem>
|
</emItem>
|
||||||
<emItem blockID="i455" id="7d51fb17-b199-4d8f-894e-decaff4fc36a@a298838b-7f50-4c7c-9277-df6abbd42a0c.com">
|
<emItem blockID="i455" id="7d51fb17-b199-4d8f-894e-decaff4fc36a@a298838b-7f50-4c7c-9277-df6abbd42a0c.com">
|
||||||
<versionRange minVersion="0" maxVersion="*" severity="3">
|
<versionRange minVersion="0" maxVersion="*" severity="3">
|
||||||
|
@ -361,6 +361,17 @@
|
|||||||
<parameter name="aWindow"/>
|
<parameter name="aWindow"/>
|
||||||
<body>
|
<body>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
|
// When not using remote browsers, we can take a fast path by getting
|
||||||
|
// directly from the content window to the browser without looping
|
||||||
|
// over all browsers.
|
||||||
|
if (!gMultiProcessBrowser) {
|
||||||
|
let browser = aWindow.QueryInterface(Ci.nsIInterfaceRequestor)
|
||||||
|
.getInterface(Ci.nsIWebNavigation)
|
||||||
|
.QueryInterface(Ci.nsIDocShell)
|
||||||
|
.chromeEventHandler;
|
||||||
|
return this._getTabForBrowser(browser);
|
||||||
|
}
|
||||||
|
|
||||||
for (let i = 0; i < this.browsers.length; i++) {
|
for (let i = 0; i < this.browsers.length; i++) {
|
||||||
if (this.browsers[i].contentWindow == aWindow)
|
if (this.browsers[i].contentWindow == aWindow)
|
||||||
return this.tabs[i];
|
return this.tabs[i];
|
||||||
|
@ -408,4 +408,30 @@ case "$target" in
|
|||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
|
MOZ_ARG_WITH_STRING(android-min-sdk,
|
||||||
|
[ --with-android-min-sdk=[VER] Impose a minimum Firefox for Android SDK version],
|
||||||
|
[ MOZ_ANDROID_MIN_SDK_VERSION=$withval ])
|
||||||
|
|
||||||
|
MOZ_ARG_WITH_STRING(android-max-sdk,
|
||||||
|
[ --with-android-max-sdk=[VER] Impose a maximum Firefox for Android SDK version],
|
||||||
|
[ MOZ_ANDROID_MAX_SDK_VERSION=$withval ])
|
||||||
|
|
||||||
|
if test -n "$MOZ_ANDROID_MIN_SDK_VERSION"; then
|
||||||
|
if test -n "$MOZ_ANDROID_MAX_SDK_VERSION"; then
|
||||||
|
if test $MOZ_ANDROID_MAX_SDK_VERSION -lt $MOZ_ANDROID_MIN_SDK_VERSION ; then
|
||||||
|
AC_MSG_ERROR([--with-android-max-sdk must be at least the value of --with-android-min-sdk.])
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test $MOZ_ANDROID_MIN_SDK_VERSION -gt $ANDROID_TARGET_SDK ; then
|
||||||
|
AC_MSG_ERROR([--with-android-min-sdk is expected to be less than $ANDROID_TARGET_SDK])
|
||||||
|
fi
|
||||||
|
|
||||||
|
AC_DEFINE_UNQUOTED(MOZ_ANDROID_MIN_SDK_VERSION, $MOZ_ANDROID_MIN_SDK_VERSION)
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test -n "$MOZ_ANDROID_MAX_SDK_VERSION"; then
|
||||||
|
AC_DEFINE_UNQUOTED(MOZ_ANDROID_MAX_SDK_VERSION, $MOZ_ANDROID_MAX_SDK_VERSION)
|
||||||
|
fi
|
||||||
|
|
||||||
])
|
])
|
||||||
|
@ -46,7 +46,7 @@ enum MediaSourceType {
|
|||||||
Screen = (int) dom::MediaSourceEnum::Screen,
|
Screen = (int) dom::MediaSourceEnum::Screen,
|
||||||
Application = (int) dom::MediaSourceEnum::Application,
|
Application = (int) dom::MediaSourceEnum::Application,
|
||||||
Window, // = (int) dom::MediaSourceEnum::Window, // XXX bug 1038926
|
Window, // = (int) dom::MediaSourceEnum::Window, // XXX bug 1038926
|
||||||
//Browser = (int) dom::MediaSourceEnum::Browser, // proposed in WG, unclear if it's useful
|
Browser = (int) dom::MediaSourceEnum::Browser, // proposed in WG, unclear if it's useful
|
||||||
Microphone
|
Microphone
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -30,6 +30,10 @@ class MediaEngineTabVideoSource : public MediaEngineVideoSource, nsIDOMEventList
|
|||||||
virtual nsresult Stop(mozilla::SourceMediaStream*, mozilla::TrackID);
|
virtual nsresult Stop(mozilla::SourceMediaStream*, mozilla::TrackID);
|
||||||
virtual nsresult Config(bool, uint32_t, bool, uint32_t, bool, uint32_t, int32_t);
|
virtual nsresult Config(bool, uint32_t, bool, uint32_t, bool, uint32_t, int32_t);
|
||||||
virtual bool IsFake();
|
virtual bool IsFake();
|
||||||
|
virtual const MediaSourceType GetMediaSource() {
|
||||||
|
return MediaSourceType::Browser;
|
||||||
|
}
|
||||||
|
|
||||||
void Draw();
|
void Draw();
|
||||||
|
|
||||||
class StartRunnable : public nsRunnable {
|
class StartRunnable : public nsRunnable {
|
||||||
|
@ -47,6 +47,7 @@ namespace mozilla {
|
|||||||
MediaEngineWebRTC::MediaEngineWebRTC(MediaEnginePrefs &aPrefs)
|
MediaEngineWebRTC::MediaEngineWebRTC(MediaEnginePrefs &aPrefs)
|
||||||
: mMutex("mozilla::MediaEngineWebRTC")
|
: mMutex("mozilla::MediaEngineWebRTC")
|
||||||
, mScreenEngine(nullptr)
|
, mScreenEngine(nullptr)
|
||||||
|
, mBrowserEngine(nullptr)
|
||||||
, mWinEngine(nullptr)
|
, mWinEngine(nullptr)
|
||||||
, mAppEngine(nullptr)
|
, mAppEngine(nullptr)
|
||||||
, mVideoEngine(nullptr)
|
, mVideoEngine(nullptr)
|
||||||
@ -54,6 +55,7 @@ MediaEngineWebRTC::MediaEngineWebRTC(MediaEnginePrefs &aPrefs)
|
|||||||
, mVideoEngineInit(false)
|
, mVideoEngineInit(false)
|
||||||
, mAudioEngineInit(false)
|
, mAudioEngineInit(false)
|
||||||
, mScreenEngineInit(false)
|
, mScreenEngineInit(false)
|
||||||
|
, mBrowserEngineInit(false)
|
||||||
, mAppEngineInit(false)
|
, mAppEngineInit(false)
|
||||||
{
|
{
|
||||||
#ifndef MOZ_B2G_CAMERA
|
#ifndef MOZ_B2G_CAMERA
|
||||||
@ -171,6 +173,17 @@ MediaEngineWebRTC::EnumerateVideoDevices(MediaSourceType aMediaSource,
|
|||||||
videoEngine = mScreenEngine;
|
videoEngine = mScreenEngine;
|
||||||
videoEngineInit = &mScreenEngineInit;
|
videoEngineInit = &mScreenEngineInit;
|
||||||
break;
|
break;
|
||||||
|
case MediaSourceType::Browser:
|
||||||
|
mBrowserEngineConfig.Set<webrtc::CaptureDeviceInfo>(
|
||||||
|
new webrtc::CaptureDeviceInfo(webrtc::CaptureDeviceType::Browser));
|
||||||
|
if (!mBrowserEngine) {
|
||||||
|
if (!(mBrowserEngine = webrtc::VideoEngine::Create(mBrowserEngineConfig))) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
videoEngine = mBrowserEngine;
|
||||||
|
videoEngineInit = &mBrowserEngineInit;
|
||||||
|
break;
|
||||||
case MediaSourceType::Camera:
|
case MediaSourceType::Camera:
|
||||||
// fall through
|
// fall through
|
||||||
default:
|
default:
|
||||||
@ -377,6 +390,9 @@ MediaEngineWebRTC::Shutdown()
|
|||||||
if (mScreenEngine) {
|
if (mScreenEngine) {
|
||||||
webrtc::VideoEngine::Delete(mScreenEngine);
|
webrtc::VideoEngine::Delete(mScreenEngine);
|
||||||
}
|
}
|
||||||
|
if (mBrowserEngine) {
|
||||||
|
webrtc::VideoEngine::Delete(mBrowserEngine);
|
||||||
|
}
|
||||||
if (mAppEngine) {
|
if (mAppEngine) {
|
||||||
webrtc::VideoEngine::Delete(mAppEngine);
|
webrtc::VideoEngine::Delete(mAppEngine);
|
||||||
}
|
}
|
||||||
@ -390,6 +406,7 @@ MediaEngineWebRTC::Shutdown()
|
|||||||
mVideoEngine = nullptr;
|
mVideoEngine = nullptr;
|
||||||
mVoiceEngine = nullptr;
|
mVoiceEngine = nullptr;
|
||||||
mScreenEngine = nullptr;
|
mScreenEngine = nullptr;
|
||||||
|
mBrowserEngine = nullptr;
|
||||||
mAppEngine = nullptr;
|
mAppEngine = nullptr;
|
||||||
|
|
||||||
if (mThread) {
|
if (mThread) {
|
||||||
|
@ -414,6 +414,7 @@ private:
|
|||||||
|
|
||||||
// protected with mMutex:
|
// protected with mMutex:
|
||||||
webrtc::VideoEngine* mScreenEngine;
|
webrtc::VideoEngine* mScreenEngine;
|
||||||
|
webrtc::VideoEngine* mBrowserEngine;
|
||||||
webrtc::VideoEngine* mWinEngine;
|
webrtc::VideoEngine* mWinEngine;
|
||||||
webrtc::VideoEngine* mAppEngine;
|
webrtc::VideoEngine* mAppEngine;
|
||||||
webrtc::VideoEngine* mVideoEngine;
|
webrtc::VideoEngine* mVideoEngine;
|
||||||
@ -423,11 +424,13 @@ private:
|
|||||||
webrtc::Config mAppEngineConfig;
|
webrtc::Config mAppEngineConfig;
|
||||||
webrtc::Config mWinEngineConfig;
|
webrtc::Config mWinEngineConfig;
|
||||||
webrtc::Config mScreenEngineConfig;
|
webrtc::Config mScreenEngineConfig;
|
||||||
|
webrtc::Config mBrowserEngineConfig;
|
||||||
|
|
||||||
// Need this to avoid unneccesary WebRTC calls while enumerating.
|
// Need this to avoid unneccesary WebRTC calls while enumerating.
|
||||||
bool mVideoEngineInit;
|
bool mVideoEngineInit;
|
||||||
bool mAudioEngineInit;
|
bool mAudioEngineInit;
|
||||||
bool mScreenEngineInit;
|
bool mScreenEngineInit;
|
||||||
|
bool mBrowserEngineInit;
|
||||||
bool mWinEngineInit;
|
bool mWinEngineInit;
|
||||||
bool mAppEngineInit;
|
bool mAppEngineInit;
|
||||||
bool mHasTabVideoSource;
|
bool mHasTabVideoSource;
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
[DEFAULT]
|
[DEFAULT]
|
||||||
skip-if = toolkit=='gonk' || e10s #b2g(bug 974270, frequent failures) b2g-debug(bug 974270, frequent failures)
|
skip-if = e10s
|
||||||
support-files =
|
support-files =
|
||||||
file_app_install.html
|
file_app_install.html
|
||||||
file_readonly.html
|
file_readonly.html
|
||||||
|
@ -1492,7 +1492,7 @@ MediaManager::GetUserMedia(bool aPrivileged,
|
|||||||
if (c.mVideo.IsMediaTrackConstraints() &&
|
if (c.mVideo.IsMediaTrackConstraints() &&
|
||||||
!Preferences::GetBool("media.getusermedia.screensharing.enabled", false)) {
|
!Preferences::GetBool("media.getusermedia.screensharing.enabled", false)) {
|
||||||
auto& tc = c.mVideo.GetAsMediaTrackConstraints();
|
auto& tc = c.mVideo.GetAsMediaTrackConstraints();
|
||||||
if (tc.mMediaSource != dom::MediaSourceEnum::Camera) {
|
if (tc.mMediaSource != dom::MediaSourceEnum::Camera && tc.mMediaSource != dom::MediaSourceEnum::Browser) {
|
||||||
return runnable->Denied(NS_LITERAL_STRING("PERMISSION_DENIED"));
|
return runnable->Denied(NS_LITERAL_STRING("PERMISSION_DENIED"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -18,7 +18,8 @@ enum MediaSourceEnum {
|
|||||||
"camera",
|
"camera",
|
||||||
"screen",
|
"screen",
|
||||||
"application",
|
"application",
|
||||||
"window"
|
"window",
|
||||||
|
"browser"
|
||||||
};
|
};
|
||||||
|
|
||||||
dictionary ConstrainLongRange {
|
dictionary ConstrainLongRange {
|
||||||
|
@ -24,7 +24,7 @@ import org.mozilla.gecko.mozglue.WebRTCJNITarget;
|
|||||||
|
|
||||||
@WebRTCJNITarget
|
@WebRTCJNITarget
|
||||||
class WebRtcAudioRecord {
|
class WebRtcAudioRecord {
|
||||||
private AudioRecord _audioRecord = null;
|
private AudioRecord _audioRecord;
|
||||||
|
|
||||||
private Context _context;
|
private Context _context;
|
||||||
|
|
||||||
@ -34,9 +34,9 @@ class WebRtcAudioRecord {
|
|||||||
private final ReentrantLock _recLock = new ReentrantLock();
|
private final ReentrantLock _recLock = new ReentrantLock();
|
||||||
|
|
||||||
private boolean _doRecInit = true;
|
private boolean _doRecInit = true;
|
||||||
private boolean _isRecording = false;
|
private boolean _isRecording;
|
||||||
|
|
||||||
private int _bufferedRecSamples = 0;
|
private int _bufferedRecSamples;
|
||||||
|
|
||||||
WebRtcAudioRecord() {
|
WebRtcAudioRecord() {
|
||||||
try {
|
try {
|
||||||
|
@ -24,7 +24,7 @@ import org.mozilla.gecko.mozglue.WebRTCJNITarget;
|
|||||||
|
|
||||||
@WebRTCJNITarget
|
@WebRTCJNITarget
|
||||||
class WebRtcAudioTrack {
|
class WebRtcAudioTrack {
|
||||||
private AudioTrack _audioTrack = null;
|
private AudioTrack _audioTrack;
|
||||||
|
|
||||||
private Context _context;
|
private Context _context;
|
||||||
private AudioManager _audioManager;
|
private AudioManager _audioManager;
|
||||||
@ -36,11 +36,11 @@ class WebRtcAudioTrack {
|
|||||||
|
|
||||||
private boolean _doPlayInit = true;
|
private boolean _doPlayInit = true;
|
||||||
private boolean _doRecInit = true;
|
private boolean _doRecInit = true;
|
||||||
private boolean _isRecording = false;
|
private boolean _isRecording;
|
||||||
private boolean _isPlaying = false;
|
private boolean _isPlaying;
|
||||||
|
|
||||||
private int _bufferedPlaySamples = 0;
|
private int _bufferedPlaySamples;
|
||||||
private int _playPosition = 0;
|
private int _playPosition;
|
||||||
|
|
||||||
WebRtcAudioTrack() {
|
WebRtcAudioTrack() {
|
||||||
try {
|
try {
|
||||||
|
@ -52,15 +52,15 @@ public class VideoCaptureAndroid implements PreviewCallback, Callback {
|
|||||||
// potentially stalling the capturer if it runs out of buffers to write to).
|
// potentially stalling the capturer if it runs out of buffers to write to).
|
||||||
private final int numCaptureBuffers = 3;
|
private final int numCaptureBuffers = 3;
|
||||||
// Needed to start/stop/rotate camera.
|
// Needed to start/stop/rotate camera.
|
||||||
private AppStateListener mAppStateListener = null;
|
private AppStateListener mAppStateListener;
|
||||||
private int mCaptureRotation = 0;
|
private int mCaptureRotation;
|
||||||
private int mCaptureWidth = 0;
|
private int mCaptureWidth;
|
||||||
private int mCaptureHeight = 0;
|
private int mCaptureHeight;
|
||||||
private int mCaptureMinFPS = 0;
|
private int mCaptureMinFPS = 0;
|
||||||
private int mCaptureMaxFPS = 0;
|
private int mCaptureMaxFPS = 0;
|
||||||
// Are we being told to start/stop the camera, or just suspending/resuming
|
// Are we being told to start/stop the camera, or just suspending/resuming
|
||||||
// due to the application being backgrounded.
|
// due to the application being backgrounded.
|
||||||
private boolean mResumeCapture = false;
|
private boolean mResumeCapture;
|
||||||
|
|
||||||
@WebRTCJNITarget
|
@WebRTCJNITarget
|
||||||
public VideoCaptureAndroid(int id, long native_capturer) {
|
public VideoCaptureAndroid(int id, long native_capturer) {
|
||||||
|
@ -32,15 +32,15 @@ public class ViEAndroidGLES20 extends GLSurfaceView
|
|||||||
private static String TAG = "WEBRTC-JR";
|
private static String TAG = "WEBRTC-JR";
|
||||||
private static final boolean DEBUG = false;
|
private static final boolean DEBUG = false;
|
||||||
// True if onSurfaceCreated has been called.
|
// True if onSurfaceCreated has been called.
|
||||||
private boolean surfaceCreated = false;
|
private boolean surfaceCreated;
|
||||||
private boolean openGLCreated = false;
|
private boolean openGLCreated;
|
||||||
// True if NativeFunctionsRegistered has been called.
|
// True if NativeFunctionsRegistered has been called.
|
||||||
private boolean nativeFunctionsRegisted = false;
|
private boolean nativeFunctionsRegisted;
|
||||||
private ReentrantLock nativeFunctionLock = new ReentrantLock();
|
private ReentrantLock nativeFunctionLock = new ReentrantLock();
|
||||||
// Address of Native object that will do the drawing.
|
// Address of Native object that will do the drawing.
|
||||||
private long nativeObject = 0;
|
private long nativeObject;
|
||||||
private int viewWidth = 0;
|
private int viewWidth;
|
||||||
private int viewHeight = 0;
|
private int viewHeight;
|
||||||
|
|
||||||
@WebRTCJNITarget
|
@WebRTCJNITarget
|
||||||
public static boolean UseOpenGL2(Object renderWindow) {
|
public static boolean UseOpenGL2(Object renderWindow) {
|
||||||
|
@ -25,7 +25,7 @@ public class ViERenderer {
|
|||||||
private final static String TAG = "WEBRTC-ViEREnderer";
|
private final static String TAG = "WEBRTC-ViEREnderer";
|
||||||
|
|
||||||
// View used for local rendering that Cameras can use for Video Overlay.
|
// View used for local rendering that Cameras can use for Video Overlay.
|
||||||
private static SurfaceHolder g_localRenderer = null;
|
private static SurfaceHolder g_localRenderer;
|
||||||
|
|
||||||
public static SurfaceView CreateRenderer(Context context) {
|
public static SurfaceView CreateRenderer(Context context) {
|
||||||
return CreateRenderer(context, false);
|
return CreateRenderer(context, false);
|
||||||
|
@ -0,0 +1,63 @@
|
|||||||
|
#ifndef WEBRTC_MODULES_BROWSER_CAPTURE_MAIN_SOURCE_BROWSER_CAPTURE_IMPL_H_
|
||||||
|
#define WEBRTC_MODULES_BROWSER_CAPTURE_MAIN_SOURCE_BROWSER_CAPTURE_IMPL_H_
|
||||||
|
|
||||||
|
#include "webrtc/modules/video_capture/include/video_capture.h"
|
||||||
|
|
||||||
|
using namespace webrtc::videocapturemodule;
|
||||||
|
|
||||||
|
namespace webrtc {
|
||||||
|
|
||||||
|
class BrowserDeviceInfoImpl : public VideoCaptureModule::DeviceInfo {
|
||||||
|
public:
|
||||||
|
virtual uint32_t NumberOfDevices() { return 1; }
|
||||||
|
|
||||||
|
virtual int32_t GetDeviceName(uint32_t deviceNumber,
|
||||||
|
char* deviceNameUTF8,
|
||||||
|
uint32_t deviceNameLength,
|
||||||
|
char* deviceUniqueIdUTF8,
|
||||||
|
uint32_t deviceUniqueIdUTF8Length,
|
||||||
|
char* productUniqueIdUTF8 = NULL,
|
||||||
|
uint32_t productUniqueIdUTF8Length = 0) {
|
||||||
|
deviceNameUTF8 = const_cast<char*>(kDeviceName);
|
||||||
|
deviceUniqueIdUTF8 = const_cast<char*>(kUniqueDeviceName);
|
||||||
|
productUniqueIdUTF8 = const_cast<char*>(kProductUniqueId);
|
||||||
|
return 1;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
virtual int32_t NumberOfCapabilities(const char* deviceUniqueIdUTF8) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
virtual int32_t GetCapability(const char* deviceUniqueIdUTF8,
|
||||||
|
const uint32_t deviceCapabilityNumber,
|
||||||
|
VideoCaptureCapability& capability) { return 0;};
|
||||||
|
|
||||||
|
virtual int32_t GetOrientation(const char* deviceUniqueIdUTF8,
|
||||||
|
VideoCaptureRotation& orientation) { return 0; }
|
||||||
|
|
||||||
|
virtual int32_t GetBestMatchedCapability(const char* deviceUniqueIdUTF8,
|
||||||
|
const VideoCaptureCapability& requested,
|
||||||
|
VideoCaptureCapability& resulting) { return 0;}
|
||||||
|
|
||||||
|
virtual int32_t DisplayCaptureSettingsDialogBox(const char* deviceUniqueIdUTF8,
|
||||||
|
const char* dialogTitleUTF8,
|
||||||
|
void* parentWindow,
|
||||||
|
uint32_t positionX,
|
||||||
|
uint32_t positionY) { return 0; }
|
||||||
|
|
||||||
|
BrowserDeviceInfoImpl() : kDeviceName("browser"), kUniqueDeviceName("browser"), kProductUniqueId("browser") {}
|
||||||
|
|
||||||
|
static BrowserDeviceInfoImpl* CreateDeviceInfo() {
|
||||||
|
return new BrowserDeviceInfoImpl();
|
||||||
|
}
|
||||||
|
virtual ~BrowserDeviceInfoImpl() {}
|
||||||
|
|
||||||
|
private:
|
||||||
|
const char* kDeviceName;
|
||||||
|
const char* kUniqueDeviceName;
|
||||||
|
const char* kProductUniqueId;
|
||||||
|
|
||||||
|
};
|
||||||
|
}
|
||||||
|
#endif
|
@ -51,7 +51,8 @@ enum CaptureDeviceType {
|
|||||||
Camera = 0,
|
Camera = 0,
|
||||||
Screen = 1,
|
Screen = 1,
|
||||||
Application = 2,
|
Application = 2,
|
||||||
Window = 3
|
Window = 3,
|
||||||
|
Browser = 4
|
||||||
};
|
};
|
||||||
struct CaptureDeviceInfo {
|
struct CaptureDeviceInfo {
|
||||||
CaptureDeviceType type;
|
CaptureDeviceType type;
|
||||||
|
@ -23,6 +23,7 @@
|
|||||||
#include "webrtc/video_engine/vie_capturer.h"
|
#include "webrtc/video_engine/vie_capturer.h"
|
||||||
#include "webrtc/video_engine/vie_defines.h"
|
#include "webrtc/video_engine/vie_defines.h"
|
||||||
#include "webrtc/video_engine/desktop_capture_impl.h"
|
#include "webrtc/video_engine/desktop_capture_impl.h"
|
||||||
|
#include "webrtc/video_engine/browser_capture_impl.h"
|
||||||
|
|
||||||
namespace webrtc {
|
namespace webrtc {
|
||||||
|
|
||||||
@ -427,6 +428,9 @@ VideoCaptureModule::DeviceInfo* ViEInputManager::GetDeviceInfo() {
|
|||||||
type);
|
type);
|
||||||
#endif
|
#endif
|
||||||
break;
|
break;
|
||||||
|
case CaptureDeviceType::Browser:
|
||||||
|
capture_device_info_ = BrowserDeviceInfoImpl::CreateDeviceInfo();
|
||||||
|
break;
|
||||||
case CaptureDeviceType::Camera:
|
case CaptureDeviceType::Camera:
|
||||||
capture_device_info_ = VideoCaptureFactory::CreateDeviceInfo(ViEModuleId(engine_id_));
|
capture_device_info_ = VideoCaptureFactory::CreateDeviceInfo(ViEModuleId(engine_id_));
|
||||||
break;
|
break;
|
||||||
|
@ -34,7 +34,7 @@ class ActionModeCompatView extends LinearLayout implements GeckoMenu.ActionItemB
|
|||||||
// Maximum number of items to show as actions
|
// Maximum number of items to show as actions
|
||||||
private static final int MAX_ACTION_ITEMS = 4;
|
private static final int MAX_ACTION_ITEMS = 4;
|
||||||
|
|
||||||
private int mActionButtonsWidth = 0;
|
private int mActionButtonsWidth;
|
||||||
|
|
||||||
public ActionModeCompatView(Context context) {
|
public ActionModeCompatView(Context context) {
|
||||||
super(context);
|
super(context);
|
||||||
|
@ -134,11 +134,11 @@ public class AndroidGamepadManager {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private static boolean sStarted = false;
|
private static boolean sStarted;
|
||||||
private static HashMap<Integer, Gamepad> sGamepads = null;
|
private static HashMap<Integer, Gamepad> sGamepads = null;
|
||||||
private static HashMap<Integer, List<KeyEvent>> sPendingGamepads = null;
|
private static HashMap<Integer, List<KeyEvent>> sPendingGamepads = null;
|
||||||
private static InputManager.InputDeviceListener sListener = null;
|
private static InputManager.InputDeviceListener sListener = null;
|
||||||
private static Timer sPollTimer = null;
|
private static Timer sPollTimer;
|
||||||
|
|
||||||
private AndroidGamepadManager() {
|
private AndroidGamepadManager() {
|
||||||
}
|
}
|
||||||
|
@ -9,7 +9,10 @@
|
|||||||
android:sharedUserId="@MOZ_ANDROID_SHARED_ID@"
|
android:sharedUserId="@MOZ_ANDROID_SHARED_ID@"
|
||||||
#endif
|
#endif
|
||||||
>
|
>
|
||||||
<uses-sdk android:minSdkVersion="9"
|
<uses-sdk android:minSdkVersion="@MOZ_ANDROID_MIN_SDK_VERSION@"
|
||||||
|
#ifdef MOZ_ANDROID_MAX_SDK_VERSION
|
||||||
|
android:maxSdkVersion="@MOZ_ANDROID_MAX_SDK_VERSION@"
|
||||||
|
#endif
|
||||||
android:targetSdkVersion="@ANDROID_TARGET_SDK@"/>
|
android:targetSdkVersion="@ANDROID_TARGET_SDK@"/>
|
||||||
|
|
||||||
#include ../services/manifests/AnnouncementsAndroidManifest_permissions.xml.in
|
#include ../services/manifests/AnnouncementsAndroidManifest_permissions.xml.in
|
||||||
|
@ -159,7 +159,7 @@ public class BrowserApp extends GeckoApp
|
|||||||
private ViewGroup mHomePagerContainer;
|
private ViewGroup mHomePagerContainer;
|
||||||
protected Telemetry.Timer mAboutHomeStartupTimer = null;
|
protected Telemetry.Timer mAboutHomeStartupTimer = null;
|
||||||
private ActionModeCompat mActionMode;
|
private ActionModeCompat mActionMode;
|
||||||
private boolean mShowActionModeEndAnimation = false;
|
private boolean mShowActionModeEndAnimation;
|
||||||
|
|
||||||
private static final int GECKO_TOOLS_MENU = -1;
|
private static final int GECKO_TOOLS_MENU = -1;
|
||||||
private static final int ADDON_MENU_OFFSET = 1000;
|
private static final int ADDON_MENU_OFFSET = 1000;
|
||||||
@ -167,12 +167,12 @@ public class BrowserApp extends GeckoApp
|
|||||||
public int id;
|
public int id;
|
||||||
public String label;
|
public String label;
|
||||||
public String icon;
|
public String icon;
|
||||||
public boolean checkable = false;
|
public boolean checkable;
|
||||||
public boolean checked = false;
|
public boolean checked;
|
||||||
public boolean enabled = true;
|
public boolean enabled = true;
|
||||||
public boolean visible = true;
|
public boolean visible = true;
|
||||||
public int parent;
|
public int parent;
|
||||||
public boolean added = false; // So we can re-add after a locale change.
|
public boolean added; // So we can re-add after a locale change.
|
||||||
}
|
}
|
||||||
|
|
||||||
// The types of guest mdoe dialogs we show
|
// The types of guest mdoe dialogs we show
|
||||||
@ -199,11 +199,11 @@ public class BrowserApp extends GeckoApp
|
|||||||
private static final int FEEDBACK_LAUNCH_COUNT = 15;
|
private static final int FEEDBACK_LAUNCH_COUNT = 15;
|
||||||
|
|
||||||
// Stored value of the toolbar height, so we know when it's changed.
|
// Stored value of the toolbar height, so we know when it's changed.
|
||||||
private int mToolbarHeight = 0;
|
private int mToolbarHeight;
|
||||||
|
|
||||||
// Stored value of whether the last metrics change allowed for toolbar
|
// Stored value of whether the last metrics change allowed for toolbar
|
||||||
// scrolling.
|
// scrolling.
|
||||||
private boolean mDynamicToolbarCanScroll = false;
|
private boolean mDynamicToolbarCanScroll;
|
||||||
|
|
||||||
private SharedPreferencesHelper mSharedPreferencesHelper;
|
private SharedPreferencesHelper mSharedPreferencesHelper;
|
||||||
|
|
||||||
@ -212,13 +212,13 @@ public class BrowserApp extends GeckoApp
|
|||||||
private BrowserHealthReporter mBrowserHealthReporter;
|
private BrowserHealthReporter mBrowserHealthReporter;
|
||||||
|
|
||||||
// The tab to be selected on editing mode exit.
|
// The tab to be selected on editing mode exit.
|
||||||
private Integer mTargetTabForEditingMode = null;
|
private Integer mTargetTabForEditingMode;
|
||||||
|
|
||||||
// The animator used to toggle HomePager visibility has a race where if the HomePager is shown
|
// The animator used to toggle HomePager visibility has a race where if the HomePager is shown
|
||||||
// (starting the animation), the HomePager is hidden, and the HomePager animation completes,
|
// (starting the animation), the HomePager is hidden, and the HomePager animation completes,
|
||||||
// both the web content and the HomePager will be hidden. This flag is used to prevent the
|
// both the web content and the HomePager will be hidden. This flag is used to prevent the
|
||||||
// race by determining if the web content should be hidden at the animation's end.
|
// race by determining if the web content should be hidden at the animation's end.
|
||||||
private boolean mHideWebContentOnAnimationEnd = false;
|
private boolean mHideWebContentOnAnimationEnd;
|
||||||
|
|
||||||
private DynamicToolbar mDynamicToolbar = new DynamicToolbar();
|
private DynamicToolbar mDynamicToolbar = new DynamicToolbar();
|
||||||
|
|
||||||
@ -2100,7 +2100,7 @@ public class BrowserApp extends GeckoApp
|
|||||||
* user touches the main layout.
|
* user touches the main layout.
|
||||||
*/
|
*/
|
||||||
private class HideOnTouchListener implements TouchEventInterceptor {
|
private class HideOnTouchListener implements TouchEventInterceptor {
|
||||||
private boolean mIsHidingTabs = false;
|
private boolean mIsHidingTabs;
|
||||||
private final Rect mTempRect = new Rect();
|
private final Rect mTempRect = new Rect();
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -52,11 +52,11 @@ public class BrowserLocaleManager implements LocaleManager {
|
|||||||
|
|
||||||
// These are volatile because we don't impose restrictions
|
// These are volatile because we don't impose restrictions
|
||||||
// over which thread calls our methods.
|
// over which thread calls our methods.
|
||||||
private volatile Locale currentLocale = null;
|
private volatile Locale currentLocale;
|
||||||
private volatile Locale systemLocale = Locale.getDefault();
|
private volatile Locale systemLocale = Locale.getDefault();
|
||||||
|
|
||||||
private AtomicBoolean inited = new AtomicBoolean(false);
|
private AtomicBoolean inited = new AtomicBoolean(false);
|
||||||
private boolean systemLocaleDidChange = false;
|
private boolean systemLocaleDidChange;
|
||||||
private BroadcastReceiver receiver;
|
private BroadcastReceiver receiver;
|
||||||
|
|
||||||
private static AtomicReference<LocaleManager> instance = new AtomicReference<LocaleManager>();
|
private static AtomicReference<LocaleManager> instance = new AtomicReference<LocaleManager>();
|
||||||
|
@ -25,7 +25,7 @@ public class FindInPageBar extends LinearLayout implements TextWatcher, View.OnC
|
|||||||
|
|
||||||
private final Context mContext;
|
private final Context mContext;
|
||||||
private CustomEditText mFindText;
|
private CustomEditText mFindText;
|
||||||
private boolean mInflated = false;
|
private boolean mInflated;
|
||||||
|
|
||||||
public FindInPageBar(Context context, AttributeSet attrs) {
|
public FindInPageBar(Context context, AttributeSet attrs) {
|
||||||
super(context, attrs);
|
super(context, attrs);
|
||||||
|
@ -58,10 +58,10 @@ public class FormAssistPopup extends RelativeLayout implements GeckoEventListene
|
|||||||
}
|
}
|
||||||
private PopupType mPopupType;
|
private PopupType mPopupType;
|
||||||
|
|
||||||
private static int sAutoCompleteMinWidth = 0;
|
private static int sAutoCompleteMinWidth;
|
||||||
private static int sAutoCompleteRowHeight = 0;
|
private static int sAutoCompleteRowHeight;
|
||||||
private static int sValidationMessageHeight = 0;
|
private static int sValidationMessageHeight;
|
||||||
private static int sValidationTextMarginTop = 0;
|
private static int sValidationTextMarginTop;
|
||||||
private static RelativeLayout.LayoutParams sValidationTextLayoutNormal;
|
private static RelativeLayout.LayoutParams sValidationTextLayoutNormal;
|
||||||
private static RelativeLayout.LayoutParams sValidationTextLayoutInverted;
|
private static RelativeLayout.LayoutParams sValidationTextLayoutInverted;
|
||||||
|
|
||||||
|
@ -39,14 +39,14 @@ public class GeckoAccessibility {
|
|||||||
private static final int VIRTUAL_CURSOR_POSITION = 2;
|
private static final int VIRTUAL_CURSOR_POSITION = 2;
|
||||||
private static final int VIRTUAL_CURSOR_NEXT = 3;
|
private static final int VIRTUAL_CURSOR_NEXT = 3;
|
||||||
|
|
||||||
private static boolean sEnabled = false;
|
private static boolean sEnabled;
|
||||||
// Used to store the JSON message and populate the event later in the code path.
|
// Used to store the JSON message and populate the event later in the code path.
|
||||||
private static JSONObject sEventMessage = null;
|
private static JSONObject sEventMessage;
|
||||||
private static AccessibilityNodeInfo sVirtualCursorNode = null;
|
private static AccessibilityNodeInfo sVirtualCursorNode;
|
||||||
|
|
||||||
// This is the number Brailleback uses to start indexing routing keys.
|
// This is the number Brailleback uses to start indexing routing keys.
|
||||||
private static final int BRAILLE_CLICK_BASE_INDEX = -275000000;
|
private static final int BRAILLE_CLICK_BASE_INDEX = -275000000;
|
||||||
private static SelfBrailleClient sSelfBrailleClient = null;
|
private static SelfBrailleClient sSelfBrailleClient;
|
||||||
|
|
||||||
private static final HashSet<String> sServiceWhitelist =
|
private static final HashSet<String> sServiceWhitelist =
|
||||||
new HashSet<String>(Arrays.asList(new String[] {
|
new HashSet<String>(Arrays.asList(new String[] {
|
||||||
|
@ -10,7 +10,7 @@ import android.support.v4.app.FragmentActivity;
|
|||||||
|
|
||||||
public class GeckoActivity extends FragmentActivity implements GeckoActivityStatus {
|
public class GeckoActivity extends FragmentActivity implements GeckoActivityStatus {
|
||||||
// has this activity recently started another Gecko activity?
|
// has this activity recently started another Gecko activity?
|
||||||
private boolean mGeckoActivityOpened = false;
|
private boolean mGeckoActivityOpened;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Display any resources that show strings or encompass locale-specific
|
* Display any resources that show strings or encompass locale-specific
|
||||||
|
@ -186,14 +186,14 @@ public abstract class GeckoApp
|
|||||||
private HashMap<String, PowerManager.WakeLock> mWakeLocks = new HashMap<String, PowerManager.WakeLock>();
|
private HashMap<String, PowerManager.WakeLock> mWakeLocks = new HashMap<String, PowerManager.WakeLock>();
|
||||||
|
|
||||||
protected boolean mShouldRestore;
|
protected boolean mShouldRestore;
|
||||||
protected boolean mInitialized = false;
|
protected boolean mInitialized;
|
||||||
private Telemetry.Timer mJavaUiStartupTimer;
|
private Telemetry.Timer mJavaUiStartupTimer;
|
||||||
private Telemetry.Timer mGeckoReadyStartupTimer;
|
private Telemetry.Timer mGeckoReadyStartupTimer;
|
||||||
|
|
||||||
private String mPrivateBrowsingSession;
|
private String mPrivateBrowsingSession;
|
||||||
|
|
||||||
private volatile HealthRecorder mHealthRecorder = null;
|
private volatile HealthRecorder mHealthRecorder;
|
||||||
private volatile Locale mLastLocale = null;
|
private volatile Locale mLastLocale;
|
||||||
|
|
||||||
private EventListener mWebappEventListener;
|
private EventListener mWebappEventListener;
|
||||||
|
|
||||||
|
@ -122,8 +122,8 @@ public class GeckoAppShell
|
|||||||
// We have static members only.
|
// We have static members only.
|
||||||
private GeckoAppShell() { }
|
private GeckoAppShell() { }
|
||||||
|
|
||||||
private static boolean restartScheduled = false;
|
private static boolean restartScheduled;
|
||||||
private static GeckoEditableListener editableListener = null;
|
private static GeckoEditableListener editableListener;
|
||||||
|
|
||||||
private static final Queue<GeckoEvent> PENDING_EVENTS = new ConcurrentLinkedQueue<GeckoEvent>();
|
private static final Queue<GeckoEvent> PENDING_EVENTS = new ConcurrentLinkedQueue<GeckoEvent>();
|
||||||
private static final Map<String, String> ALERT_COOKIES = new ConcurrentHashMap<String, String>();
|
private static final Map<String, String> ALERT_COOKIES = new ConcurrentHashMap<String, String>();
|
||||||
@ -136,29 +136,29 @@ public class GeckoAppShell
|
|||||||
// See also HardwareUtils.LOW_MEMORY_THRESHOLD_MB.
|
// See also HardwareUtils.LOW_MEMORY_THRESHOLD_MB.
|
||||||
private static final int HIGH_MEMORY_DEVICE_THRESHOLD_MB = 768;
|
private static final int HIGH_MEMORY_DEVICE_THRESHOLD_MB = 768;
|
||||||
|
|
||||||
static private int sDensityDpi = 0;
|
static private int sDensityDpi;
|
||||||
static private int sScreenDepth = 0;
|
static private int sScreenDepth;
|
||||||
|
|
||||||
/* Default colors. */
|
/* Default colors. */
|
||||||
private static final float[] DEFAULT_LAUNCHER_ICON_HSV = { 32.0f, 1.0f, 1.0f };
|
private static final float[] DEFAULT_LAUNCHER_ICON_HSV = { 32.0f, 1.0f, 1.0f };
|
||||||
|
|
||||||
/* Is the value in sVibrationEndTime valid? */
|
/* Is the value in sVibrationEndTime valid? */
|
||||||
private static boolean sVibrationMaybePlaying = false;
|
private static boolean sVibrationMaybePlaying;
|
||||||
|
|
||||||
/* Time (in System.nanoTime() units) when the currently-playing vibration
|
/* Time (in System.nanoTime() units) when the currently-playing vibration
|
||||||
* is scheduled to end. This value is valid only when
|
* is scheduled to end. This value is valid only when
|
||||||
* sVibrationMaybePlaying is true. */
|
* sVibrationMaybePlaying is true. */
|
||||||
private static long sVibrationEndTime = 0;
|
private static long sVibrationEndTime;
|
||||||
|
|
||||||
/* Default value of how fast we should hint the Android sensors. */
|
/* Default value of how fast we should hint the Android sensors. */
|
||||||
private static int sDefaultSensorHint = 100;
|
private static int sDefaultSensorHint = 100;
|
||||||
|
|
||||||
private static Sensor gAccelerometerSensor = null;
|
private static Sensor gAccelerometerSensor;
|
||||||
private static Sensor gLinearAccelerometerSensor = null;
|
private static Sensor gLinearAccelerometerSensor;
|
||||||
private static Sensor gGyroscopeSensor = null;
|
private static Sensor gGyroscopeSensor;
|
||||||
private static Sensor gOrientationSensor = null;
|
private static Sensor gOrientationSensor;
|
||||||
private static Sensor gProximitySensor = null;
|
private static Sensor gProximitySensor;
|
||||||
private static Sensor gLightSensor = null;
|
private static Sensor gLightSensor;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Keep in sync with constants found here:
|
* Keep in sync with constants found here:
|
||||||
|
@ -24,8 +24,8 @@ public class GeckoBatteryManager extends BroadcastReceiver {
|
|||||||
private final static double kDefaultRemainingTime = 0.0;
|
private final static double kDefaultRemainingTime = 0.0;
|
||||||
private final static double kUnknownRemainingTime = -1.0;
|
private final static double kUnknownRemainingTime = -1.0;
|
||||||
|
|
||||||
private static long sLastLevelChange = 0;
|
private static long sLastLevelChange;
|
||||||
private static boolean sNotificationsEnabled = false;
|
private static boolean sNotificationsEnabled;
|
||||||
private static double sLevel = kDefaultLevel;
|
private static double sLevel = kDefaultLevel;
|
||||||
private static boolean sCharging = kDefaultCharging;
|
private static boolean sCharging = kDefaultCharging;
|
||||||
private static double sRemainingTime = kDefaultRemainingTime;
|
private static double sRemainingTime = kDefaultRemainingTime;
|
||||||
|
@ -16,10 +16,10 @@ import java.util.Set;
|
|||||||
|
|
||||||
public class GeckoJavaSampler {
|
public class GeckoJavaSampler {
|
||||||
private static final String LOGTAG = "JavaSampler";
|
private static final String LOGTAG = "JavaSampler";
|
||||||
private static Thread sSamplingThread = null;
|
private static Thread sSamplingThread;
|
||||||
private static SamplingThread sSamplingRunnable = null;
|
private static SamplingThread sSamplingRunnable;
|
||||||
private static Thread sMainThread = null;
|
private static Thread sMainThread;
|
||||||
private static volatile boolean sLibsLoaded = false;
|
private static volatile boolean sLibsLoaded;
|
||||||
|
|
||||||
// Use the same timer primitive as the profiler
|
// Use the same timer primitive as the profiler
|
||||||
// to get a perfect sample syncing.
|
// to get a perfect sample syncing.
|
||||||
@ -59,8 +59,8 @@ public class GeckoJavaSampler {
|
|||||||
private final int mInterval;
|
private final int mInterval;
|
||||||
private final int mSampleCount;
|
private final int mSampleCount;
|
||||||
|
|
||||||
private boolean mPauseSampler = false;
|
private boolean mPauseSampler;
|
||||||
private boolean mStopSampler = false;
|
private boolean mStopSampler;
|
||||||
|
|
||||||
private SparseArray<Sample[]> mSamples = new SparseArray<Sample[]>();
|
private SparseArray<Sample[]> mSamples = new SparseArray<Sample[]>();
|
||||||
private int mSamplePos;
|
private int mSamplePos;
|
||||||
|
@ -61,11 +61,11 @@ public class GeckoNetworkManager extends BroadcastReceiver {
|
|||||||
private final IntentFilter mNetworkFilter = new IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION);
|
private final IntentFilter mNetworkFilter = new IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION);
|
||||||
|
|
||||||
// Whether the manager should be listening to Network Information changes.
|
// Whether the manager should be listening to Network Information changes.
|
||||||
private boolean mShouldBeListening = false;
|
private boolean mShouldBeListening;
|
||||||
|
|
||||||
// Whether the manager should notify Gecko that a change in Network
|
// Whether the manager should notify Gecko that a change in Network
|
||||||
// Information happened.
|
// Information happened.
|
||||||
private boolean mShouldNotify = false;
|
private boolean mShouldNotify;
|
||||||
|
|
||||||
// The application context used for registering receivers, so
|
// The application context used for registering receivers, so
|
||||||
// we can unregister them again later.
|
// we can unregister them again later.
|
||||||
|
@ -37,13 +37,13 @@ public final class GeckoProfile {
|
|||||||
private static final String GUEST_PROFILE = "guest";
|
private static final String GUEST_PROFILE = "guest";
|
||||||
|
|
||||||
private static HashMap<String, GeckoProfile> sProfileCache = new HashMap<String, GeckoProfile>();
|
private static HashMap<String, GeckoProfile> sProfileCache = new HashMap<String, GeckoProfile>();
|
||||||
private static String sDefaultProfileName = null;
|
private static String sDefaultProfileName;
|
||||||
|
|
||||||
// Caches the guest profile dir.
|
// Caches the guest profile dir.
|
||||||
private static File sGuestDir = null;
|
private static File sGuestDir;
|
||||||
private static GeckoProfile sGuestProfile = null;
|
private static GeckoProfile sGuestProfile;
|
||||||
|
|
||||||
public static boolean sIsUsingCustomProfile = false;
|
public static boolean sIsUsingCustomProfile;
|
||||||
|
|
||||||
private final String mName;
|
private final String mName;
|
||||||
private final File mMozillaDir;
|
private final File mMozillaDir;
|
||||||
@ -64,7 +64,7 @@ public final class GeckoProfile {
|
|||||||
// These are volatile for an incremental improvement in thread safety,
|
// These are volatile for an incremental improvement in thread safety,
|
||||||
// but this is not a complete solution for concurrency.
|
// but this is not a complete solution for concurrency.
|
||||||
private volatile LockState mLocked = LockState.UNDEFINED;
|
private volatile LockState mLocked = LockState.UNDEFINED;
|
||||||
private volatile boolean mInGuestMode = false;
|
private volatile boolean mInGuestMode;
|
||||||
|
|
||||||
// Constants to cache whether or not a profile is "locked".
|
// Constants to cache whether or not a profile is "locked".
|
||||||
private enum LockState {
|
private enum LockState {
|
||||||
|
@ -52,7 +52,7 @@ public class GeckoScreenOrientation {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Singleton instance.
|
// Singleton instance.
|
||||||
private static GeckoScreenOrientation sInstance = null;
|
private static GeckoScreenOrientation sInstance;
|
||||||
// Default screen orientation, used for initialization and unlocking.
|
// Default screen orientation, used for initialization and unlocking.
|
||||||
private static final ScreenOrientation DEFAULT_SCREEN_ORIENTATION = ScreenOrientation.DEFAULT;
|
private static final ScreenOrientation DEFAULT_SCREEN_ORIENTATION = ScreenOrientation.DEFAULT;
|
||||||
// Default rotation, used when device rotation is unknown.
|
// Default rotation, used when device rotation is unknown.
|
||||||
|
@ -64,7 +64,7 @@ public final class GeckoSharedPrefs {
|
|||||||
};
|
};
|
||||||
|
|
||||||
// For optimizing the migration check in subsequent get() calls
|
// For optimizing the migration check in subsequent get() calls
|
||||||
private static volatile boolean migrationDone = false;
|
private static volatile boolean migrationDone;
|
||||||
|
|
||||||
public enum Flags {
|
public enum Flags {
|
||||||
DISABLE_MIGRATIONS
|
DISABLE_MIGRATIONS
|
||||||
|
@ -82,6 +82,7 @@ ALL_JARS = \
|
|||||||
gecko-browser.jar \
|
gecko-browser.jar \
|
||||||
gecko-mozglue.jar \
|
gecko-mozglue.jar \
|
||||||
gecko-util.jar \
|
gecko-util.jar \
|
||||||
|
nineoldandroids.jar \
|
||||||
squareup-picasso.jar \
|
squareup-picasso.jar \
|
||||||
sync-thirdparty.jar \
|
sync-thirdparty.jar \
|
||||||
websockets.jar \
|
websockets.jar \
|
||||||
|
@ -27,7 +27,7 @@ public class MediaCastingBar extends RelativeLayout implements View.OnClickListe
|
|||||||
private ImageButton mMediaPause;
|
private ImageButton mMediaPause;
|
||||||
private ImageButton mMediaStop;
|
private ImageButton mMediaStop;
|
||||||
|
|
||||||
private boolean mInflated = false;
|
private boolean mInflated;
|
||||||
|
|
||||||
public MediaCastingBar(Context context, AttributeSet attrs) {
|
public MediaCastingBar(Context context, AttributeSet attrs) {
|
||||||
super(context, attrs);
|
super(context, attrs);
|
||||||
|
@ -20,7 +20,7 @@ public abstract class NotificationClient {
|
|||||||
private static final String LOGTAG = "GeckoNotificationClient";
|
private static final String LOGTAG = "GeckoNotificationClient";
|
||||||
|
|
||||||
private volatile NotificationHandler mHandler;
|
private volatile NotificationHandler mHandler;
|
||||||
private boolean mReady = false;
|
private boolean mReady;
|
||||||
private final LinkedList<Runnable> mTaskQueue = new LinkedList<Runnable>();
|
private final LinkedList<Runnable> mTaskQueue = new LinkedList<Runnable>();
|
||||||
private final ConcurrentHashMap<Integer, UpdateRunnable> mUpdatesMap =
|
private final ConcurrentHashMap<Integer, UpdateRunnable> mUpdatesMap =
|
||||||
new ConcurrentHashMap<Integer, UpdateRunnable>();
|
new ConcurrentHashMap<Integer, UpdateRunnable>();
|
||||||
|
@ -70,7 +70,7 @@ public final class NotificationHelper implements GeckoEventListener {
|
|||||||
// Will not include ongoing or persistent notifications that are tied to Gecko's lifecycle.
|
// Will not include ongoing or persistent notifications that are tied to Gecko's lifecycle.
|
||||||
private HashMap<String, String> mClearableNotifications;
|
private HashMap<String, String> mClearableNotifications;
|
||||||
|
|
||||||
private boolean mInitialized = false;
|
private boolean mInitialized;
|
||||||
private static NotificationHelper sInstance;
|
private static NotificationHelper sInstance;
|
||||||
|
|
||||||
private NotificationHelper(Context context) {
|
private NotificationHelper(Context context) {
|
||||||
|
@ -22,7 +22,7 @@ import java.util.ArrayList;
|
|||||||
public final class PrefsHelper {
|
public final class PrefsHelper {
|
||||||
private static final String LOGTAG = "GeckoPrefsHelper";
|
private static final String LOGTAG = "GeckoPrefsHelper";
|
||||||
|
|
||||||
private static boolean sRegistered = false;
|
private static boolean sRegistered;
|
||||||
private static int sUniqueRequestId = 1;
|
private static int sUniqueRequestId = 1;
|
||||||
/* inner-access */ static final SparseArray<PrefHandler> sCallbacks = new SparseArray<PrefHandler>();
|
/* inner-access */ static final SparseArray<PrefHandler> sCallbacks = new SparseArray<PrefHandler>();
|
||||||
|
|
||||||
|
@ -7,7 +7,7 @@ package org.mozilla.gecko;
|
|||||||
|
|
||||||
class SmsManager
|
class SmsManager
|
||||||
{
|
{
|
||||||
static private ISmsManager sInstance = null;
|
static private ISmsManager sInstance;
|
||||||
|
|
||||||
static public ISmsManager getInstance() {
|
static public ISmsManager getInstance() {
|
||||||
if (AppConstants.MOZ_WEBSMS_BACKEND) {
|
if (AppConstants.MOZ_WEBSMS_BACKEND) {
|
||||||
|
@ -70,7 +70,7 @@ public class Tab {
|
|||||||
private ErrorType mErrorType = ErrorType.NONE;
|
private ErrorType mErrorType = ErrorType.NONE;
|
||||||
private static final int MAX_HISTORY_LIST_SIZE = 50;
|
private static final int MAX_HISTORY_LIST_SIZE = 50;
|
||||||
private volatile int mLoadProgress;
|
private volatile int mLoadProgress;
|
||||||
private volatile int mRecordingCount = 0;
|
private volatile int mRecordingCount;
|
||||||
private String mMostRecentHomePanel;
|
private String mMostRecentHomePanel;
|
||||||
|
|
||||||
public static final int STATE_DELAYED = 0;
|
public static final int STATE_DELAYED = 0;
|
||||||
|
@ -49,7 +49,7 @@ public class Tabs implements GeckoEventListener {
|
|||||||
private final HashMap<Integer, Tab> mTabs = new HashMap<Integer, Tab>();
|
private final HashMap<Integer, Tab> mTabs = new HashMap<Integer, Tab>();
|
||||||
|
|
||||||
private AccountManager mAccountManager;
|
private AccountManager mAccountManager;
|
||||||
private OnAccountsUpdateListener mAccountListener = null;
|
private OnAccountsUpdateListener mAccountListener;
|
||||||
|
|
||||||
public static final int LOADURL_NONE = 0;
|
public static final int LOADURL_NONE = 0;
|
||||||
public static final int LOADURL_NEW_TAB = 1 << 0;
|
public static final int LOADURL_NEW_TAB = 1 << 0;
|
||||||
|
@ -47,7 +47,7 @@ public class Telemetry {
|
|||||||
private final long mStartTime;
|
private final long mStartTime;
|
||||||
private final String mName;
|
private final String mName;
|
||||||
|
|
||||||
private volatile boolean mHasFinished = false;
|
private volatile boolean mHasFinished;
|
||||||
private volatile long mElapsed = -1;
|
private volatile long mElapsed = -1;
|
||||||
|
|
||||||
protected abstract long now();
|
protected abstract long now();
|
||||||
|
@ -21,7 +21,7 @@ public class MockMyIDTokenFactory {
|
|||||||
public static final BigInteger MOCKMYID_g = new BigInteger("c52a4a0ff3b7e61fdf1867ce84138369a6154f4afa92966e3c827e25cfa6cf508b90e5de419e1337e07a2e9e2a3cd5dea704d175f8ebf6af397d69e110b96afb17c7a03259329e4829b0d03bbc7896b15b4ade53e130858cc34d96269aa89041f409136c7242a38895c9d5bccad4f389af1d7a4bd1398bd072dffa896233397a", 16);
|
public static final BigInteger MOCKMYID_g = new BigInteger("c52a4a0ff3b7e61fdf1867ce84138369a6154f4afa92966e3c827e25cfa6cf508b90e5de419e1337e07a2e9e2a3cd5dea704d175f8ebf6af397d69e110b96afb17c7a03259329e4829b0d03bbc7896b15b4ade53e130858cc34d96269aa89041f409136c7242a38895c9d5bccad4f389af1d7a4bd1398bd072dffa896233397a", 16);
|
||||||
|
|
||||||
// Computed lazily by static <code>getMockMyIDPrivateKey</code>.
|
// Computed lazily by static <code>getMockMyIDPrivateKey</code>.
|
||||||
protected static SigningPrivateKey cachedMockMyIDPrivateKey = null;
|
protected static SigningPrivateKey cachedMockMyIDPrivateKey;
|
||||||
|
|
||||||
public static SigningPrivateKey getMockMyIDPrivateKey() throws NoSuchAlgorithmException, InvalidKeySpecException {
|
public static SigningPrivateKey getMockMyIDPrivateKey() throws NoSuchAlgorithmException, InvalidKeySpecException {
|
||||||
if (cachedMockMyIDPrivateKey == null) {
|
if (cachedMockMyIDPrivateKey == null) {
|
||||||
|
@ -41,7 +41,7 @@ public class BrowserDB {
|
|||||||
EXCLUDE_PINNED_SITES
|
EXCLUDE_PINNED_SITES
|
||||||
}
|
}
|
||||||
|
|
||||||
private static BrowserDBIface sDb = null;
|
private static BrowserDBIface sDb;
|
||||||
private static SuggestedSites sSuggestedSites;
|
private static SuggestedSites sSuggestedSites;
|
||||||
|
|
||||||
public interface BrowserDBIface {
|
public interface BrowserDBIface {
|
||||||
|
@ -118,7 +118,7 @@ public class LocalBrowserDB implements BrowserDB.BrowserDBIface {
|
|||||||
*/
|
*/
|
||||||
private static class NameCounter {
|
private static class NameCounter {
|
||||||
private final HashMap<String, Integer> names = new HashMap<String, Integer>();
|
private final HashMap<String, Integer> names = new HashMap<String, Integer>();
|
||||||
private int counter = 0;
|
private int counter;
|
||||||
private final int increment;
|
private final int increment;
|
||||||
|
|
||||||
public NameCounter(int start, int increment) {
|
public NameCounter(int start, int increment) {
|
||||||
@ -1451,7 +1451,7 @@ public class LocalBrowserDB implements BrowserDB.BrowserDBIface {
|
|||||||
|
|
||||||
private int mDesktopBookmarksIndex = -1;
|
private int mDesktopBookmarksIndex = -1;
|
||||||
|
|
||||||
private boolean mAtDesktopBookmarksPosition = false;
|
private boolean mAtDesktopBookmarksPosition;
|
||||||
|
|
||||||
public SpecialFoldersCursorWrapper(Cursor c, boolean showDesktopBookmarks) {
|
public SpecialFoldersCursorWrapper(Cursor c, boolean showDesktopBookmarks) {
|
||||||
super(c);
|
super(c);
|
||||||
|
@ -38,7 +38,7 @@ public abstract class SQLiteBridgeContentProvider extends ContentProvider {
|
|||||||
private static final String ERROR_MESSAGE_DATABASE_IS_LOCKED = "Can't step statement: (5) database is locked";
|
private static final String ERROR_MESSAGE_DATABASE_IS_LOCKED = "Can't step statement: (5) database is locked";
|
||||||
|
|
||||||
private HashMap<String, SQLiteBridge> mDatabasePerProfile;
|
private HashMap<String, SQLiteBridge> mDatabasePerProfile;
|
||||||
protected Context mContext = null;
|
protected Context mContext;
|
||||||
private final String mLogTag;
|
private final String mLogTag;
|
||||||
|
|
||||||
protected SQLiteBridgeContentProvider(String logTag) {
|
protected SQLiteBridgeContentProvider(String logTag) {
|
||||||
|
@ -79,7 +79,7 @@ public class TopSitesCursorWrapper implements Cursor {
|
|||||||
private int currentPosition = -1;
|
private int currentPosition = -1;
|
||||||
|
|
||||||
// Number of pinned sites before the current position
|
// Number of pinned sites before the current position
|
||||||
private int pinnedBefore = 0;
|
private int pinnedBefore;
|
||||||
|
|
||||||
// The size of the cursor wrapper
|
// The size of the cursor wrapper
|
||||||
private int count;
|
private int count;
|
||||||
|
@ -122,7 +122,7 @@ public class Distribution {
|
|||||||
private final String prefsBranch;
|
private final String prefsBranch;
|
||||||
|
|
||||||
private volatile int state = STATE_UNKNOWN;
|
private volatile int state = STATE_UNKNOWN;
|
||||||
private File distributionDir = null;
|
private File distributionDir;
|
||||||
|
|
||||||
private final Queue<Runnable> onDistributionReady = new ConcurrentLinkedQueue<Runnable>();
|
private final Queue<Runnable> onDistributionReady = new ConcurrentLinkedQueue<Runnable>();
|
||||||
|
|
||||||
|
@ -351,7 +351,7 @@ public class ICODecoder implements Iterable<Bitmap> {
|
|||||||
* Inner class to iterate over the elements in the ICO represented by the enclosing instance.
|
* Inner class to iterate over the elements in the ICO represented by the enclosing instance.
|
||||||
*/
|
*/
|
||||||
private class ICOIterator implements Iterator<Bitmap> {
|
private class ICOIterator implements Iterator<Bitmap> {
|
||||||
private int mIndex = 0;
|
private int mIndex;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean hasNext() {
|
public boolean hasNext() {
|
||||||
|
@ -14,7 +14,7 @@ public class FxAccountAuthenticatorService extends Service {
|
|||||||
public static final String LOG_TAG = FxAccountAuthenticatorService.class.getSimpleName();
|
public static final String LOG_TAG = FxAccountAuthenticatorService.class.getSimpleName();
|
||||||
|
|
||||||
// Lazily initialized by <code>getAuthenticator</code>.
|
// Lazily initialized by <code>getAuthenticator</code>.
|
||||||
protected FxAccountAuthenticator accountAuthenticator = null;
|
protected FxAccountAuthenticator accountAuthenticator;
|
||||||
|
|
||||||
protected synchronized FxAccountAuthenticator getAuthenticator() {
|
protected synchronized FxAccountAuthenticator getAuthenticator() {
|
||||||
if (accountAuthenticator == null) {
|
if (accountAuthenticator == null) {
|
||||||
|
@ -74,7 +74,7 @@ public class FxAccountSyncAdapter extends AbstractThreadedSyncAdapter {
|
|||||||
// Used to do cheap in-memory rate limiting. Don't sync again if we
|
// Used to do cheap in-memory rate limiting. Don't sync again if we
|
||||||
// successfully synced within this duration.
|
// successfully synced within this duration.
|
||||||
private static final int MINIMUM_SYNC_DELAY_MILLIS = 15 * 1000; // 15 seconds.
|
private static final int MINIMUM_SYNC_DELAY_MILLIS = 15 * 1000; // 15 seconds.
|
||||||
private volatile long lastSyncRealtimeMillis = 0L;
|
private volatile long lastSyncRealtimeMillis;
|
||||||
|
|
||||||
protected final ExecutorService executor;
|
protected final ExecutorService executor;
|
||||||
protected final FxAccountNotificationManager notificationManager;
|
protected final FxAccountNotificationManager notificationManager;
|
||||||
|
@ -10,7 +10,7 @@ import android.os.IBinder;
|
|||||||
|
|
||||||
public class FxAccountSyncService extends Service {
|
public class FxAccountSyncService extends Service {
|
||||||
private static final Object syncAdapterLock = new Object();
|
private static final Object syncAdapterLock = new Object();
|
||||||
private static FxAccountSyncAdapter syncAdapter = null;
|
private static FxAccountSyncAdapter syncAdapter;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onCreate() {
|
public void onCreate() {
|
||||||
|
@ -23,7 +23,7 @@ public class FxAccountSyncStatusHelper implements SyncStatusObserver {
|
|||||||
@SuppressWarnings("unused")
|
@SuppressWarnings("unused")
|
||||||
private static final String LOG_TAG = FxAccountSyncStatusHelper.class.getSimpleName();
|
private static final String LOG_TAG = FxAccountSyncStatusHelper.class.getSimpleName();
|
||||||
|
|
||||||
protected static FxAccountSyncStatusHelper sInstance = null;
|
protected static FxAccountSyncStatusHelper sInstance;
|
||||||
|
|
||||||
public synchronized static FxAccountSyncStatusHelper getInstance() {
|
public synchronized static FxAccountSyncStatusHelper getInstance() {
|
||||||
if (sInstance == null) {
|
if (sInstance == null) {
|
||||||
@ -33,7 +33,7 @@ public class FxAccountSyncStatusHelper implements SyncStatusObserver {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Used to unregister this as a listener.
|
// Used to unregister this as a listener.
|
||||||
protected Object handle = null;
|
protected Object handle;
|
||||||
|
|
||||||
// Maps delegates to whether their underlying Android account was syncing the
|
// Maps delegates to whether their underlying Android account was syncing the
|
||||||
// last time we observed a status change.
|
// last time we observed a status change.
|
||||||
|
@ -85,9 +85,9 @@ public abstract class FxAccountSetupTask<T> extends AsyncTask<Void, Void, InnerR
|
|||||||
|
|
||||||
protected static class InnerRequestDelegate<T> implements RequestDelegate<T> {
|
protected static class InnerRequestDelegate<T> implements RequestDelegate<T> {
|
||||||
protected final CountDownLatch latch;
|
protected final CountDownLatch latch;
|
||||||
public T response = null;
|
public T response;
|
||||||
public Exception exception = null;
|
public Exception exception;
|
||||||
public FxAccountClientRemoteException failure = null;
|
public FxAccountClientRemoteException failure;
|
||||||
|
|
||||||
protected InnerRequestDelegate(CountDownLatch latch) {
|
protected InnerRequestDelegate(CountDownLatch latch) {
|
||||||
this.latch = latch;
|
this.latch = latch;
|
||||||
|
@ -21,11 +21,11 @@ public class PanningPerfAPI {
|
|||||||
// to measure.
|
// to measure.
|
||||||
private static final int EXPECTED_FRAME_COUNT = 2048;
|
private static final int EXPECTED_FRAME_COUNT = 2048;
|
||||||
|
|
||||||
private static boolean mRecordingFrames = false;
|
private static boolean mRecordingFrames;
|
||||||
private static List<Long> mFrameTimes;
|
private static List<Long> mFrameTimes;
|
||||||
private static long mFrameStartTime;
|
private static long mFrameStartTime;
|
||||||
|
|
||||||
private static boolean mRecordingCheckerboard = false;
|
private static boolean mRecordingCheckerboard;
|
||||||
private static List<Float> mCheckerboardAmounts;
|
private static List<Float> mCheckerboardAmounts;
|
||||||
private static long mCheckerboardStartTime;
|
private static long mCheckerboardStartTime;
|
||||||
|
|
||||||
|
@ -98,7 +98,7 @@ public class BrowserHealthRecorder implements HealthRecorder, GeckoEventListener
|
|||||||
// We track previousSession to avoid order-of-initialization confusion. We
|
// We track previousSession to avoid order-of-initialization confusion. We
|
||||||
// accept it in the constructor, and process it after init.
|
// accept it in the constructor, and process it after init.
|
||||||
private final SessionInformation previousSession;
|
private final SessionInformation previousSession;
|
||||||
private volatile SessionInformation session = null;
|
private volatile SessionInformation session;
|
||||||
|
|
||||||
public void setCurrentSession(SessionInformation session) {
|
public void setCurrentSession(SessionInformation session) {
|
||||||
this.session = session;
|
this.session = session;
|
||||||
|
@ -14,7 +14,7 @@ import android.widget.TextView;
|
|||||||
public class BookmarkFolderView extends TextView {
|
public class BookmarkFolderView extends TextView {
|
||||||
private static final int[] STATE_OPEN = { R.attr.state_open };
|
private static final int[] STATE_OPEN = { R.attr.state_open };
|
||||||
|
|
||||||
private boolean mIsOpen = false;
|
private boolean mIsOpen;
|
||||||
|
|
||||||
public BookmarkFolderView(Context context) {
|
public BookmarkFolderView(Context context) {
|
||||||
super(context);
|
super(context);
|
||||||
|
@ -46,14 +46,14 @@ public class HomeBanner extends LinearLayout
|
|||||||
private boolean mSnapBannerToTop;
|
private boolean mSnapBannerToTop;
|
||||||
|
|
||||||
// Tracks whether or not the banner should be shown on the current panel.
|
// Tracks whether or not the banner should be shown on the current panel.
|
||||||
private boolean mActive = false;
|
private boolean mActive;
|
||||||
|
|
||||||
// The user is currently swiping between HomePager pages
|
// The user is currently swiping between HomePager pages
|
||||||
private boolean mScrollingPages = false;
|
private boolean mScrollingPages;
|
||||||
|
|
||||||
// Tracks whether the user swiped the banner down, preventing us from autoshowing when the user
|
// Tracks whether the user swiped the banner down, preventing us from autoshowing when the user
|
||||||
// switches back to the default page.
|
// switches back to the default page.
|
||||||
private boolean mUserSwipedDown = false;
|
private boolean mUserSwipedDown;
|
||||||
|
|
||||||
// We must use this custom TextView to address an issue on 2.3 and lower where ellipsized text
|
// We must use this custom TextView to address an issue on 2.3 and lower where ellipsized text
|
||||||
// will not wrap more than 2 lines.
|
// will not wrap more than 2 lines.
|
||||||
|
@ -57,7 +57,7 @@ class HomeConfigPrefsBackend implements HomeConfigBackend {
|
|||||||
private ReloadBroadcastReceiver mReloadBroadcastReceiver;
|
private ReloadBroadcastReceiver mReloadBroadcastReceiver;
|
||||||
private OnReloadListener mReloadListener;
|
private OnReloadListener mReloadListener;
|
||||||
|
|
||||||
private static boolean sMigrationDone = false;
|
private static boolean sMigrationDone;
|
||||||
|
|
||||||
public HomeConfigPrefsBackend(Context context) {
|
public HomeConfigPrefsBackend(Context context) {
|
||||||
mContext = context;
|
mContext = context;
|
||||||
|
@ -20,7 +20,7 @@ public class HomeContextMenuInfo extends AdapterContextMenuInfo {
|
|||||||
|
|
||||||
public String url;
|
public String url;
|
||||||
public String title;
|
public String title;
|
||||||
public boolean isFolder = false;
|
public boolean isFolder;
|
||||||
public int historyId = -1;
|
public int historyId = -1;
|
||||||
public int bookmarkId = -1;
|
public int bookmarkId = -1;
|
||||||
public int readingListItemId = -1;
|
public int readingListItemId = -1;
|
||||||
|
@ -58,7 +58,7 @@ class SearchEngineRow extends AnimatedHeightLayout {
|
|||||||
private OnEditSuggestionListener mEditSuggestionListener;
|
private OnEditSuggestionListener mEditSuggestionListener;
|
||||||
|
|
||||||
// Selected suggestion view
|
// Selected suggestion view
|
||||||
private int mSelectedView = 0;
|
private int mSelectedView;
|
||||||
|
|
||||||
public SearchEngineRow(Context context) {
|
public SearchEngineRow(Context context) {
|
||||||
this(context, null);
|
this(context, null);
|
||||||
|
@ -62,7 +62,7 @@ public class TopSitesGridItemView extends RelativeLayout {
|
|||||||
private int mType = -1;
|
private int mType = -1;
|
||||||
|
|
||||||
// Dirty state.
|
// Dirty state.
|
||||||
private boolean mIsDirty = false;
|
private boolean mIsDirty;
|
||||||
|
|
||||||
// Empty state.
|
// Empty state.
|
||||||
private int mLoadId = Favicons.NOT_LOADING;
|
private int mLoadId = Favicons.NOT_LOADING;
|
||||||
|
@ -41,8 +41,8 @@ public class GeckoMenuItem implements MenuItem {
|
|||||||
private int mActionEnum;
|
private int mActionEnum;
|
||||||
private CharSequence mTitle;
|
private CharSequence mTitle;
|
||||||
private CharSequence mTitleCondensed;
|
private CharSequence mTitleCondensed;
|
||||||
private boolean mCheckable = false;
|
private boolean mCheckable;
|
||||||
private boolean mChecked = false;
|
private boolean mChecked;
|
||||||
private boolean mVisible = true;
|
private boolean mVisible = true;
|
||||||
private boolean mEnabled = true;
|
private boolean mEnabled = true;
|
||||||
private Drawable mIcon;
|
private Drawable mIcon;
|
||||||
|
@ -23,10 +23,10 @@ public class MenuItemDefault extends TextView
|
|||||||
private Drawable mState;
|
private Drawable mState;
|
||||||
private static Rect sIconBounds;
|
private static Rect sIconBounds;
|
||||||
|
|
||||||
private boolean mCheckable = false;
|
private boolean mCheckable;
|
||||||
private boolean mChecked = false;
|
private boolean mChecked;
|
||||||
private boolean mHasSubMenu = false;
|
private boolean mHasSubMenu;
|
||||||
private boolean mShowIcon = false;
|
private boolean mShowIcon;
|
||||||
|
|
||||||
public MenuItemDefault(Context context) {
|
public MenuItemDefault(Context context) {
|
||||||
this(context, null);
|
this(context, null);
|
||||||
|
@ -478,6 +478,7 @@ gbjar.extra_jars = [
|
|||||||
'gecko-R.jar',
|
'gecko-R.jar',
|
||||||
'gecko-mozglue.jar',
|
'gecko-mozglue.jar',
|
||||||
'gecko-util.jar',
|
'gecko-util.jar',
|
||||||
|
'nineoldandroids.jar',
|
||||||
'squareup-picasso.jar',
|
'squareup-picasso.jar',
|
||||||
'sync-thirdparty.jar',
|
'sync-thirdparty.jar',
|
||||||
'websockets.jar',
|
'websockets.jar',
|
||||||
@ -492,6 +493,39 @@ if CONFIG['MOZ_NATIVE_DEVICES']:
|
|||||||
|
|
||||||
gbjar.javac_flags += ['-Xlint:all,-deprecation,-fallthrough']
|
gbjar.javac_flags += ['-Xlint:all,-deprecation,-fallthrough']
|
||||||
|
|
||||||
|
noajar = add_java_jar('nineoldandroids')
|
||||||
|
noajar.sources += [ thirdparty_source_dir + f for f in [
|
||||||
|
'com/nineoldandroids/animation/Animator.java',
|
||||||
|
'com/nineoldandroids/animation/AnimatorInflater.java',
|
||||||
|
'com/nineoldandroids/animation/AnimatorListenerAdapter.java',
|
||||||
|
'com/nineoldandroids/animation/AnimatorSet.java',
|
||||||
|
'com/nineoldandroids/animation/ArgbEvaluator.java',
|
||||||
|
'com/nineoldandroids/animation/FloatEvaluator.java',
|
||||||
|
'com/nineoldandroids/animation/FloatKeyframeSet.java',
|
||||||
|
'com/nineoldandroids/animation/IntEvaluator.java',
|
||||||
|
'com/nineoldandroids/animation/IntKeyframeSet.java',
|
||||||
|
'com/nineoldandroids/animation/Keyframe.java',
|
||||||
|
'com/nineoldandroids/animation/KeyframeSet.java',
|
||||||
|
'com/nineoldandroids/animation/ObjectAnimator.java',
|
||||||
|
'com/nineoldandroids/animation/PreHoneycombCompat.java',
|
||||||
|
'com/nineoldandroids/animation/PropertyValuesHolder.java',
|
||||||
|
'com/nineoldandroids/animation/TimeAnimator.java',
|
||||||
|
'com/nineoldandroids/animation/TypeEvaluator.java',
|
||||||
|
'com/nineoldandroids/animation/ValueAnimator.java',
|
||||||
|
'com/nineoldandroids/util/FloatProperty.java',
|
||||||
|
'com/nineoldandroids/util/IntProperty.java',
|
||||||
|
'com/nineoldandroids/util/NoSuchPropertyException.java',
|
||||||
|
'com/nineoldandroids/util/Property.java',
|
||||||
|
'com/nineoldandroids/util/ReflectiveProperty.java',
|
||||||
|
'com/nineoldandroids/view/animation/AnimatorProxy.java',
|
||||||
|
'com/nineoldandroids/view/ViewHelper.java',
|
||||||
|
'com/nineoldandroids/view/ViewPropertyAnimator.java',
|
||||||
|
'com/nineoldandroids/view/ViewPropertyAnimatorHC.java',
|
||||||
|
'com/nineoldandroids/view/ViewPropertyAnimatorICS.java',
|
||||||
|
'com/nineoldandroids/view/ViewPropertyAnimatorPreHC.java'
|
||||||
|
] ]
|
||||||
|
#noajar.javac_flags += ['-Xlint:all']
|
||||||
|
|
||||||
spjar = add_java_jar('squareup-picasso')
|
spjar = add_java_jar('squareup-picasso')
|
||||||
spjar.sources += [ thirdparty_source_dir + f for f in [
|
spjar.sources += [ thirdparty_source_dir + f for f in [
|
||||||
'com/squareup/picasso/Action.java',
|
'com/squareup/picasso/Action.java',
|
||||||
@ -583,6 +617,7 @@ if CONFIG['MOZ_ANDROID_SEARCH_ACTIVITY']:
|
|||||||
'gecko-browser.jar',
|
'gecko-browser.jar',
|
||||||
'gecko-mozglue.jar',
|
'gecko-mozglue.jar',
|
||||||
'gecko-util.jar',
|
'gecko-util.jar',
|
||||||
|
'nineoldandroids.jar'
|
||||||
]
|
]
|
||||||
|
|
||||||
generated_recursive_make_targets = ['.aapt.deps', '.locales.deps'] # Captures dependencies on Android manifest and all resources.
|
generated_recursive_make_targets = ['.aapt.deps', '.locales.deps'] # Captures dependencies on Android manifest and all resources.
|
||||||
|
@ -48,7 +48,7 @@ public class GeckoPreferenceFragment extends PreferenceFragment {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private static final String LOGTAG = "GeckoPreferenceFragment";
|
private static final String LOGTAG = "GeckoPreferenceFragment";
|
||||||
private int mPrefsRequestId = 0;
|
private int mPrefsRequestId;
|
||||||
private Locale lastLocale = Locale.getDefault();
|
private Locale lastLocale = Locale.getDefault();
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -98,9 +98,9 @@ OnSharedPreferenceChangeListener
|
|||||||
public static final String INTENT_EXTRA_RESOURCES = "resource";
|
public static final String INTENT_EXTRA_RESOURCES = "resource";
|
||||||
public static String PREFS_HEALTHREPORT_UPLOAD_ENABLED = NON_PREF_PREFIX + "healthreport.uploadEnabled";
|
public static String PREFS_HEALTHREPORT_UPLOAD_ENABLED = NON_PREF_PREFIX + "healthreport.uploadEnabled";
|
||||||
|
|
||||||
private static boolean sIsCharEncodingEnabled = false;
|
private static boolean sIsCharEncodingEnabled;
|
||||||
private boolean mInitialized = false;
|
private boolean mInitialized;
|
||||||
private int mPrefsRequestId = 0;
|
private int mPrefsRequestId;
|
||||||
private PanelsPreferenceCategory mPanelsPreferenceCategory;
|
private PanelsPreferenceCategory mPanelsPreferenceCategory;
|
||||||
|
|
||||||
// These match keys in resources/xml*/preferences*.xml
|
// These match keys in resources/xml*/preferences*.xml
|
||||||
@ -1083,9 +1083,9 @@ OnSharedPreferenceChangeListener
|
|||||||
}
|
}
|
||||||
|
|
||||||
private class PasswordTextWatcher implements TextWatcher {
|
private class PasswordTextWatcher implements TextWatcher {
|
||||||
EditText input1 = null;
|
EditText input1;
|
||||||
EditText input2 = null;
|
EditText input2;
|
||||||
AlertDialog dialog = null;
|
AlertDialog dialog;
|
||||||
|
|
||||||
PasswordTextWatcher(EditText aInput1, EditText aInput2, AlertDialog aDialog) {
|
PasswordTextWatcher(EditText aInput1, EditText aInput2, AlertDialog aDialog) {
|
||||||
input1 = aInput1;
|
input1 = aInput1;
|
||||||
@ -1111,8 +1111,8 @@ OnSharedPreferenceChangeListener
|
|||||||
}
|
}
|
||||||
|
|
||||||
private class EmptyTextWatcher implements TextWatcher {
|
private class EmptyTextWatcher implements TextWatcher {
|
||||||
EditText input = null;
|
EditText input;
|
||||||
AlertDialog dialog = null;
|
AlertDialog dialog;
|
||||||
|
|
||||||
EmptyTextWatcher(EditText aInput, AlertDialog aDialog) {
|
EmptyTextWatcher(EditText aInput, AlertDialog aDialog) {
|
||||||
input = aInput;
|
input = aInput;
|
||||||
@ -1140,7 +1140,7 @@ OnSharedPreferenceChangeListener
|
|||||||
AlertDialog.Builder builder = new AlertDialog.Builder(this);
|
AlertDialog.Builder builder = new AlertDialog.Builder(this);
|
||||||
LinearLayout linearLayout = new LinearLayout(this);
|
LinearLayout linearLayout = new LinearLayout(this);
|
||||||
linearLayout.setOrientation(LinearLayout.VERTICAL);
|
linearLayout.setOrientation(LinearLayout.VERTICAL);
|
||||||
AlertDialog dialog = null;
|
AlertDialog dialog;
|
||||||
switch(id) {
|
switch(id) {
|
||||||
case DIALOG_CREATE_MASTER_PASSWORD:
|
case DIALOG_CREATE_MASTER_PASSWORD:
|
||||||
final EditText input1 = getTextBox(R.string.masterpassword_password);
|
final EditText input1 = getTextBox(R.string.masterpassword_password);
|
||||||
|
@ -12,7 +12,7 @@ import android.preference.Preference;
|
|||||||
import android.util.AttributeSet;
|
import android.util.AttributeSet;
|
||||||
|
|
||||||
class LinkPreference extends Preference {
|
class LinkPreference extends Preference {
|
||||||
private String mUrl = null;
|
private String mUrl;
|
||||||
|
|
||||||
public LinkPreference(Context context, AttributeSet attrs) {
|
public LinkPreference(Context context, AttributeSet attrs) {
|
||||||
super(context, attrs);
|
super(context, attrs);
|
||||||
|
@ -44,7 +44,7 @@ public class PanelsPreference extends CustomListPreference {
|
|||||||
private String LABEL_SHOW;
|
private String LABEL_SHOW;
|
||||||
|
|
||||||
private View preferenceView;
|
private View preferenceView;
|
||||||
protected boolean mIsHidden = false;
|
protected boolean mIsHidden;
|
||||||
private boolean mIsRemovable;
|
private boolean mIsRemovable;
|
||||||
|
|
||||||
private boolean mAnimate;
|
private boolean mAnimate;
|
||||||
|
@ -39,7 +39,7 @@ public class IconGridInput extends PromptInput implements OnItemClickListener {
|
|||||||
private static int mColumnWidth = -1; // The maximum width of columns
|
private static int mColumnWidth = -1; // The maximum width of columns
|
||||||
private static int mMaxColumns = -1; // The maximum number of columns to show
|
private static int mMaxColumns = -1; // The maximum number of columns to show
|
||||||
private static int mIconSize = -1; // Size of icons in the grid
|
private static int mIconSize = -1; // Size of icons in the grid
|
||||||
private int mSelected = 0; // Current selection
|
private int mSelected; // Current selection
|
||||||
private JSONArray mArray;
|
private JSONArray mArray;
|
||||||
|
|
||||||
public IconGridInput(JSONObject obj) {
|
public IconGridInput(JSONObject obj) {
|
||||||
|
@ -52,7 +52,7 @@ public class Prompt implements OnClickListener, OnCancelListener, OnItemClickLis
|
|||||||
private String mGuid;
|
private String mGuid;
|
||||||
private PromptListAdapter mAdapter;
|
private PromptListAdapter mAdapter;
|
||||||
|
|
||||||
private static boolean mInitialized = false;
|
private static boolean mInitialized;
|
||||||
private static int mInputPaddingSize;
|
private static int mInputPaddingSize;
|
||||||
|
|
||||||
public Prompt(Context context, PromptCallback callback) {
|
public Prompt(Context context, PromptCallback callback) {
|
||||||
|
@ -48,7 +48,7 @@ public class PromptListAdapter extends ArrayAdapter<PromptListItem> {
|
|||||||
private static int mMinRowSize;
|
private static int mMinRowSize;
|
||||||
private static int mIconTextPadding;
|
private static int mIconTextPadding;
|
||||||
private static float mTextSize;
|
private static float mTextSize;
|
||||||
private static boolean mInitialized = false;
|
private static boolean mInitialized;
|
||||||
|
|
||||||
PromptListAdapter(Context context, int textViewResourceId, PromptListItem[] objects) {
|
PromptListAdapter(Context context, int textViewResourceId, PromptListItem[] objects) {
|
||||||
super(context, textViewResourceId, objects);
|
super(context, textViewResourceId, objects);
|
||||||
|
@ -44,7 +44,7 @@ public class MatrixBlobCursor extends AbstractCursor {
|
|||||||
|
|
||||||
private final String[] columnNames;
|
private final String[] columnNames;
|
||||||
private Object[] data;
|
private Object[] data;
|
||||||
private int rowCount = 0;
|
private int rowCount;
|
||||||
private final int columnCount;
|
private final int columnCount;
|
||||||
private static final String LOGTAG = "MatrixBlobCursor";
|
private static final String LOGTAG = "MatrixBlobCursor";
|
||||||
|
|
||||||
|
@ -29,13 +29,13 @@ public class SQLiteBridge {
|
|||||||
private String mDb;
|
private String mDb;
|
||||||
|
|
||||||
// Pointer to the database if it was opened with openDatabase. 0 implies closed.
|
// Pointer to the database if it was opened with openDatabase. 0 implies closed.
|
||||||
protected volatile long mDbPointer = 0L;
|
protected volatile long mDbPointer;
|
||||||
|
|
||||||
// Values remembered after a query.
|
// Values remembered after a query.
|
||||||
private long[] mQueryResults;
|
private long[] mQueryResults;
|
||||||
|
|
||||||
private boolean mTransactionSuccess = false;
|
private boolean mTransactionSuccess;
|
||||||
private boolean mInTransaction = false;
|
private boolean mInTransaction;
|
||||||
|
|
||||||
private static final int RESULT_INSERT_ROW_ID = 0;
|
private static final int RESULT_INSERT_ROW_ID = 0;
|
||||||
private static final int RESULT_ROWS_CHANGED = 1;
|
private static final int RESULT_ROWS_CHANGED = 1;
|
||||||
|
@ -43,7 +43,7 @@ public class RemoteTabsContainerPanel extends GeckoSwipeRefreshLayout
|
|||||||
private RemoteTabsList list;
|
private RemoteTabsList list;
|
||||||
|
|
||||||
// Whether or not a sync status listener is attached.
|
// Whether or not a sync status listener is attached.
|
||||||
private boolean isListening = false;
|
private boolean isListening;
|
||||||
|
|
||||||
public RemoteTabsContainerPanel(Context context, AttributeSet attrs) {
|
public RemoteTabsContainerPanel(Context context, AttributeSet attrs) {
|
||||||
super(context, attrs);
|
super(context, attrs);
|
||||||
@ -124,7 +124,7 @@ public class RemoteTabsContainerPanel extends GeckoSwipeRefreshLayout
|
|||||||
private class RemoteTabsSyncObserver implements FirefoxAccounts.SyncStatusListener {
|
private class RemoteTabsSyncObserver implements FirefoxAccounts.SyncStatusListener {
|
||||||
// Written on the main thread, and read off the main thread, but no need
|
// Written on the main thread, and read off the main thread, but no need
|
||||||
// to synchronize.
|
// to synchronize.
|
||||||
protected volatile long lastSyncStarted = 0;
|
protected volatile long lastSyncStarted;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Context getContext() {
|
public Context getContext() {
|
||||||
|
@ -50,8 +50,8 @@ class TabsTray extends TwoWayView
|
|||||||
private TabsAdapter mTabsAdapter;
|
private TabsAdapter mTabsAdapter;
|
||||||
|
|
||||||
private List<View> mPendingClosedTabs;
|
private List<View> mPendingClosedTabs;
|
||||||
private int mCloseAnimationCount = 0;
|
private int mCloseAnimationCount;
|
||||||
private int mCloseAllAnimationCount = 0;
|
private int mCloseAllAnimationCount;
|
||||||
|
|
||||||
private TabSwipeGestureListener mSwipeListener;
|
private TabSwipeGestureListener mSwipeListener;
|
||||||
|
|
||||||
@ -61,7 +61,7 @@ class TabsTray extends TwoWayView
|
|||||||
// Time between starting successive tab animations in closeAllTabs.
|
// Time between starting successive tab animations in closeAllTabs.
|
||||||
private static final int ANIMATION_CASCADE_DELAY = 75;
|
private static final int ANIMATION_CASCADE_DELAY = 75;
|
||||||
|
|
||||||
private int mOriginalSize = 0;
|
private int mOriginalSize;
|
||||||
|
|
||||||
public TabsTray(Context context, AttributeSet attrs) {
|
public TabsTray(Context context, AttributeSet attrs) {
|
||||||
super(context, attrs);
|
super(context, attrs);
|
||||||
|
@ -143,9 +143,9 @@ public class BrowserToolbar extends ThemedRelativeLayout
|
|||||||
private final ThemedImageView editCancel;
|
private final ThemedImageView editCancel;
|
||||||
|
|
||||||
private final View[] tabletDisplayModeViews;
|
private final View[] tabletDisplayModeViews;
|
||||||
private boolean hidForwardButtonOnStartEditing = false;
|
private boolean hidForwardButtonOnStartEditing;
|
||||||
|
|
||||||
private boolean shouldShrinkURLBar = false;
|
private boolean shouldShrinkURLBar;
|
||||||
|
|
||||||
private OnActivateListener activateListener;
|
private OnActivateListener activateListener;
|
||||||
private OnFocusChangeListener focusChangeListener;
|
private OnFocusChangeListener focusChangeListener;
|
||||||
|
@ -34,7 +34,7 @@ public class TabCounter extends ThemedTextSwitcher
|
|||||||
private final AnimationSet mFlipOutBackward;
|
private final AnimationSet mFlipOutBackward;
|
||||||
private final LayoutInflater mInflater;
|
private final LayoutInflater mInflater;
|
||||||
|
|
||||||
private int mCount = 0;
|
private int mCount;
|
||||||
|
|
||||||
private enum FadeMode {
|
private enum FadeMode {
|
||||||
FADE_IN,
|
FADE_IN,
|
||||||
|
@ -8,7 +8,7 @@ import android.util.SparseArray;
|
|||||||
|
|
||||||
public final class ActivityResultHandlerMap {
|
public final class ActivityResultHandlerMap {
|
||||||
private SparseArray<ActivityResultHandler> mMap = new SparseArray<ActivityResultHandler>();
|
private SparseArray<ActivityResultHandler> mMap = new SparseArray<ActivityResultHandler>();
|
||||||
private int mCounter = 0;
|
private int mCounter;
|
||||||
|
|
||||||
public synchronized int put(ActivityResultHandler handler) {
|
public synchronized int put(ActivityResultHandler handler) {
|
||||||
mMap.put(mCounter, handler);
|
mMap.put(mCounter, handler);
|
||||||
|
@ -13,7 +13,7 @@ final class GeckoBackgroundThread extends Thread {
|
|||||||
private static final String LOOPER_NAME = "GeckoBackgroundThread";
|
private static final String LOOPER_NAME = "GeckoBackgroundThread";
|
||||||
|
|
||||||
// Guarded by 'this'.
|
// Guarded by 'this'.
|
||||||
private static Handler sHandler = null;
|
private static Handler sHandler;
|
||||||
private SynchronousQueue<Handler> mHandlerQueue = new SynchronousQueue<Handler>();
|
private SynchronousQueue<Handler> mHandlerQueue = new SynchronousQueue<Handler>();
|
||||||
|
|
||||||
// Singleton, so private constructor.
|
// Singleton, so private constructor.
|
||||||
|
@ -16,7 +16,7 @@ import java.util.Hashtable;
|
|||||||
|
|
||||||
public final class INIParser extends INISection {
|
public final class INIParser extends INISection {
|
||||||
// default file to read and write to
|
// default file to read and write to
|
||||||
private File mFile = null;
|
private File mFile;
|
||||||
|
|
||||||
// List of sections in the current iniFile. null if the file has not been parsed yet
|
// List of sections in the current iniFile. null if the file has not been parsed yet
|
||||||
private Hashtable<String, INISection> mSections = null;
|
private Hashtable<String, INISection> mSections = null;
|
||||||
|
@ -16,12 +16,12 @@ public class INISection {
|
|||||||
private static final String LOGTAG = "INIParser";
|
private static final String LOGTAG = "INIParser";
|
||||||
|
|
||||||
// default file to read and write to
|
// default file to read and write to
|
||||||
private String mName = null;
|
private String mName;
|
||||||
public String getName() { return mName; }
|
public String getName() { return mName; }
|
||||||
public void setName(String name) { mName = name; }
|
public void setName(String name) { mName = name; }
|
||||||
|
|
||||||
// show or hide debug logging
|
// show or hide debug logging
|
||||||
private boolean mDebug = false;
|
private boolean mDebug;
|
||||||
|
|
||||||
// Global properties that aren't inside a section in the file
|
// Global properties that aren't inside a section in the file
|
||||||
protected Hashtable<String, Object> mProperties = null;
|
protected Hashtable<String, Object> mProperties = null;
|
||||||
|
@ -16,7 +16,7 @@ import android.os.Looper;
|
|||||||
* tasks off the UI thread.
|
* tasks off the UI thread.
|
||||||
*/
|
*/
|
||||||
public abstract class UiAsyncTask<Params, Progress, Result> {
|
public abstract class UiAsyncTask<Params, Progress, Result> {
|
||||||
private volatile boolean mCancelled = false;
|
private volatile boolean mCancelled;
|
||||||
private final Handler mBackgroundThreadHandler;
|
private final Handler mBackgroundThreadHandler;
|
||||||
private static Handler sHandler;
|
private static Handler sHandler;
|
||||||
|
|
||||||
|
@ -31,7 +31,7 @@ public class Allocator {
|
|||||||
// The number of Webapp# and WEBAPP# activities/apps/intents
|
// The number of Webapp# and WEBAPP# activities/apps/intents
|
||||||
private final static int MAX_WEB_APPS = 100;
|
private final static int MAX_WEB_APPS = 100;
|
||||||
|
|
||||||
protected static Allocator sInstance = null;
|
protected static Allocator sInstance;
|
||||||
public static Allocator getInstance() {
|
public static Allocator getInstance() {
|
||||||
return getInstance(GeckoAppShell.getContext());
|
return getInstance(GeckoAppShell.getContext());
|
||||||
}
|
}
|
||||||
|
@ -22,9 +22,9 @@ import android.util.Log;
|
|||||||
public class InstallListener extends BroadcastReceiver {
|
public class InstallListener extends BroadcastReceiver {
|
||||||
|
|
||||||
private static String LOGTAG = "GeckoWebappInstallListener";
|
private static String LOGTAG = "GeckoWebappInstallListener";
|
||||||
private JSONObject mData = null;
|
private JSONObject mData;
|
||||||
private String mManifestUrl;
|
private String mManifestUrl;
|
||||||
private boolean mReceived = false;
|
private boolean mReceived;
|
||||||
private File mApkFile;
|
private File mApkFile;
|
||||||
|
|
||||||
public InstallListener(String manifestUrl, JSONObject data, File apkFile) {
|
public InstallListener(String manifestUrl, JSONObject data, File apkFile) {
|
||||||
|
@ -40,8 +40,8 @@ public class WebappImpl extends GeckoApp implements InstallCallback {
|
|||||||
private static final String LOGTAG = "GeckoWebappImpl";
|
private static final String LOGTAG = "GeckoWebappImpl";
|
||||||
|
|
||||||
private URI mOrigin;
|
private URI mOrigin;
|
||||||
private TextView mTitlebarText = null;
|
private TextView mTitlebarText;
|
||||||
private View mTitlebar = null;
|
private View mTitlebar;
|
||||||
|
|
||||||
private View mSplashscreen;
|
private View mSplashscreen;
|
||||||
|
|
||||||
|
@ -309,7 +309,7 @@ public class ActivityChooserModel extends DataSetObservable {
|
|||||||
* full and the file is rewritten. This is necessary since we need to
|
* full and the file is rewritten. This is necessary since we need to
|
||||||
* purge old records that are outside of the sliding window of past choices.
|
* purge old records that are outside of the sliding window of past choices.
|
||||||
*/
|
*/
|
||||||
private boolean mReadShareHistoryCalled = false;
|
private boolean mReadShareHistoryCalled;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Flag whether the choice records have changed. In general many clients can
|
* Flag whether the choice records have changed. In general many clients can
|
||||||
@ -322,7 +322,7 @@ public class ActivityChooserModel extends DataSetObservable {
|
|||||||
/**
|
/**
|
||||||
* Flag whether to reload the activities for the current intent.
|
* Flag whether to reload the activities for the current intent.
|
||||||
*/
|
*/
|
||||||
private boolean mReloadActivities = false;
|
private boolean mReloadActivities;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Policy for controlling how the model handles chosen activities.
|
* Policy for controlling how the model handles chosen activities.
|
||||||
|
@ -15,7 +15,7 @@ import android.widget.RelativeLayout;
|
|||||||
public class AnimatedHeightLayout extends RelativeLayout {
|
public class AnimatedHeightLayout extends RelativeLayout {
|
||||||
private static final String LOGTAG = "GeckoAnimatedHeightLayout";
|
private static final String LOGTAG = "GeckoAnimatedHeightLayout";
|
||||||
private static final int ANIMATION_DURATION = 100;
|
private static final int ANIMATION_DURATION = 100;
|
||||||
private boolean mAnimating = false;
|
private boolean mAnimating;
|
||||||
|
|
||||||
public AnimatedHeightLayout(Context context) {
|
public AnimatedHeightLayout(Context context) {
|
||||||
super(context, null);
|
super(context, null);
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user