Граф коммитов

31 Коммитов

Автор SHA1 Сообщение Дата
Nick Alexander 416f8c64aa Bug 1108782 - Part 2: Explode AAR files at configure time. r=glandium
This gets us a limited version of AAR support: we can consume static
AAR libraries, where here static does not refer to linking, but to
static assets that are fixed at build-backend time and not modified
(or produced) during the build.  This lets us pin our dependencies
(and move to Google's versioned Maven repository packages, away from
Google's unversioned ad-hoc packages).

By restricting to static AAR libraries, we avoid having to handle
truly complicated dependency trees, as changing parts of generated AAR
files require delicate rebuilding of the APKs (and internal libraries)
that depend on the AAR files.

It is possible that we will generate AARs in the tree at some time.
Right now, we don't do that, even for GeckoView: the AARs produced are
assembled as artifacts at package time and are intended for external
consumption.  We might want this for GeckoView and Fennec at some
time; we should consider using Gradle everywhere at that point.

The patch itself does the simplest possible thing (which has precedent
from Gradle and other build systems): it simply "explodes" the AAR
into the object directory and uses existing mechanisms to refer to the
exploded pieces.

AARs have both required and optional components.  Each component is
defined with an expected and required flag. If a component is expected
and not present, or not expected and is present, an error is raised.
If the component is expected and present, autoconf's ifelse() macro is
used to define the relevant AAR_* component variables.  If the
component is not expected and not present, no action is taken.  A
consuming build backend therefore can guard all AAR_* component
variables with just the top-level AAR variable.

Many AAR files have empty assets/ directories.  This patch doesn't
explode empty assets/ directories, protecting against trivial changes
to AAR files that don't impact the build.

There's a lot not to like in this approach, including:

* We need to manually reference internal AAR libs;
* I haven't separated the pinned version numbers out of configure.in.

However, it's closer to what we want than what we have!

--HG--
extra : commitid : 11kUhDAkCn5
extra : rebase_source : 2454c9842ab3296d53ca5fa394a5a962aa382c8d
extra : histedit_source : e2f97502d215016925e93500b8fd93f8b32fba3a
2015-09-22 10:04:26 -07:00
Nick Alexander c8ee8a09cf Bug 1108782 - Part 1: straighten out Java classpaths. r=glandium
This commit is us getting out of our own way.  We were specifying
-classpath twice, once in $(JAVAC) and once in java-build.mk.  Only
the latter of these is active.  This a problem for ANDROID_EXTRA_JARS
-- those JARs should be on the classpath and input to $(DX) -- and
JARs that should be on the classpath but *not* input to $(DX).  This
commit removes the global flags to $(JAVAC) and adds
JAVA_{BOOT}CLASSPATH_JARS.  This required some hijinkery moving
wildcards to moz.build files, but everything seems to work.

As well as clarifying some parts of the build, part 2 uses this work
to modify the classpath.

--HG--
extra : commitid : 25Ft0BFs88O
extra : rebase_source : 05e3d1da8d42fa89d06ef48baee17bb77df5bd59
extra : histedit_source : 95b82309aca15c5a3c5f5a0eafbdcf75c5e8dfc0
2015-08-31 13:35:05 -07:00
Garvan Keeley aad048ca5e Bug 1200696 - Don't use VERSION_CODE as it can break the build with older sdks. r=sebastian 2015-09-01 14:17:08 -04:00
Garvan Keeley 26d2c22b42 Bug 1195854: getNeighboringCells() is deprecated on Android M. r=sebastian 2015-08-31 00:35:53 -04:00
Nick Alexander 55ce81aeb6 Bug 1195388 - Pre: Remove Eclipse definitions. r=gps
This is just cruft; I didn't want to think about it when working on
the other parts.  Bug 1196367 tracks removing the AndroidEclipse build
backend that consumed these definitions entirely.

--HG--
extra : commitid : 6fhp66SAwrq
extra : rebase_source : bdcab113f386d1083bcf558baec44e1640382514
extra : histedit_source : 4787ba24dae382eb904a8095285c4bac8a55cf56
2015-08-10 16:33:27 -07:00
Garvan Keeley de6c7cae04 Bug 1171213 - Remove Context.MODE_MULTI_PROCESS on prefs, it is no longer used. r=sebastian 2015-08-12 13:01:09 -04:00
Michael Comella c9ea57df3e Bug 1175355 - Add BroadcastScanneredHandler to CellScanner. r=nalexander
--HG--
extra : commitid : HfTpc7ZgOD3
extra : rebase_source : ab53a7b808ec501ef28a52d2d343934f51083003
2015-06-24 17:20:42 -07:00
Michael Comella ad00a9e32b Bug 1170886 - Remove unnecessary InlinedApi suppression. r?nalexander
--HG--
extra : commitid : 5UFjNZRsZGX
extra : source : 59d47b906a85439afd2c2b41774573b392f102d1
2015-06-02 20:09:21 -07:00
Garvan Keeley 4f6a18aade Bug 1164468 - Boolean got incorrectly flipped and stumbling uploads stopped. r=rnewman 2015-05-13 14:49:04 -04:00
Garvan Keeley 9a173ea53d Bug 1155237 - Part 2, make upload service non-sticky. r=rnewman 2015-04-21 10:45:19 -04:00
Garvan Keeley e1ce654ac4 Bug 1155237 - Part 1, remove contextless access to NetworkUtils, causes NPE. r=rnewman 2015-04-21 10:45:03 -04:00
Garvan Keeley d3324dd21a Bug 1130052 - Try avoid NPE, return from onHandleIntent if null intent. r=vng 2015-02-06 13:30:31 -08:00
Garvan Keeley a28cf523eb Bug 1116810 - Part 3: Stumbler java code for telemetry. r=vng 2015-01-06 19:31:00 -05:00
Garvan Keeley 722abc4ccb Bug 1116810 - Part 2: Add files to stumbler mozbuild. r=vng 2014-12-31 11:36:00 -05:00
Garvan Keeley dc56c0508f Bug 1106584 - Part 2: for safety, make explicit prefs with context getter. r=vng
Any class that has access to a context should call Prefs.getInstance(Context) which is guaranteed to return a Prefs.
With no context, classes can call Prefs.getInstanceWithoutContext() but they must null-check the return, and handle accordingly.
Fortunately, the latter case happens in very few places, all of which require no special handling of this case.

This change:
- maintains context-less access to the Prefs
- classes internal to the service can safely call getInstanceWithoutContext(), as the service (or the MainApp in the stumbler case)
will have instantiated a Prefs so that getInstanceWithoutContext() will return a prefs
- protects against null Prefs if we have failed to consider a particular entry point to the code will require that Prefs was instatiated with a context.
2014-12-11 09:06:00 -08:00
Garvan Keeley fa5d35976f Bug 1106584, Part 1: guard against null intent. r=vng 2014-12-09 11:48:00 -08:00
Garvan Keeley 5e88160aab Bug 1095914 - Fix crash if GPS not available. r=vng
https://github.com/mozilla/MozStumbler/pull/1206
2014-11-08 09:09:00 -05:00
Garvan Keeley 5c9fd6b65d Bug 1095914 - Fix NPE from no app context. r=vng
https://github.com/mozilla/MozStumbler/pull/1195
1187 - NPE - Appears to be from no app context
2014-11-08 09:09:00 -05:00
Garvan Keeley 4e4b118fd8 Bug 1095914 - Fix NPE due to no telephony manager. r=vng
https://github.com/mozilla/MozStumbler/pull/1194
1185 NPE Reporter.startup (no telephony manager)
2014-11-08 09:08:00 -05:00
Garvan Keeley 53995c07d7 Bug 1095914 - Fix NPE in WifiScanner. r=vng
https://github.com/mozilla/MozStumbler/pull/1192
1169: ACRA Report: NPE WifiScanner.java:98
2014-11-08 09:06:00 -05:00
Garvan Keeley d2471eea6c Bug 1095914 - Copy over CellScanner from mozstumbler github. r=nalexander
This has a few important changes:
1) Null-check the TelephonyManager availability.
2) The cell scanning code was split to remove wcdma scanning on Fennec due to an older API level on Fennec. This is no longer the case. CellScannerNoWCDMA.java renamed to CellScannerImplementation.java.
3) Remove broadcastsync on the timer thread, have the timer thread message back to the owning class through a handler (guaranteed thread-safe mechanism to notify the owning class that work is done).
2014-11-13 11:54:00 -05:00
Garvan Keeley 2da9dfd0ef Bug 1036514 - Stumbler logging by setting setprop log.tag.<x> DEBUG. r=nalexander
Setting adb shell setprop log.tag.PassiveStumbler DEBUG will turn on additional
debug logging for stumbler. The Log.d messages are wrapped in conditionals for the current log level (which is a cached value).
2014-11-07 15:18:00 -05:00
Garvan Keeley a7237fecd4 Bug 1060705 - Part 2: Test stumbler setting actually triggers the service. r=nalexander
This test toggles the checkbox for the MLS setting, and listens for a special test intent to see it was received.
2014-11-05 11:42:00 -05:00
Garvan Keeley 6d39b72e2d Bug 1084423: Fix guards to limit wifi and cellular data per location. r=vng
Without these size guards in place, can result in excessively large collections for a single location.
2014-10-17 16:02:45 -07:00
Chris Kitching c2a25be10d Bug 1081593: Clean up some ternary operators. r=rnewmam 2014-10-12 01:31:08 +01:00
Chris Kitching 4340f18e97 Bug 1081597: Refactor some branches. r=rnewman
* * *
Bug 1081597: Refactor some branches. r=rnewman
2014-10-12 01:41:42 +01:00
Chris Kitching 1edb57572c Bug 1081388: Add missing @Override annotations. r=rnewman
* * *
Bug 1081388: Add missing @Override annotations. r=rnewman
* * *
Bug 1081388: Add missing @Override annotations. r=rnewman
2014-10-10 23:58:19 +01:00
Chris Kitching 214c5a4c82 Bug 1081397: Finalise large numbers of fields. r=rnewman
* * *
Bug 1081397: Finalise large numbers of fields. r=rnewman
2014-10-11 00:17:01 +01:00
Garvan Keeley abbc2d7245 Bug 1038843 - Part 1: Land initial stumbler Java code and manifest fragments. r=nalexander,rnewman
The stumbler is a geolocation data collecting and uploading service.

This code is a partial export of the MozStumbler repository hosted at
https://github.com/mozilla/MozStumbler.
2014-08-28 17:19:00 -07:00
Nick Alexander 9b362ffb5e Bug 1024708 - Part 3: Eclipse support. r=rnewman 2014-07-15 13:50:22 -07:00
Nick Alexander 29fb36a96c Bug 1024708 - Part 2: Build stumbler JAR and integrate into Fennec. r=rnewman 2014-07-15 13:50:21 -07:00