In certain configurations, in particular when installing the Android SDK
using HomeBrew, one sees a configuration with symlinks like:
[brian@brian-macbook git]$ ls -l /usr/local/Cellar/android-sdk/23.0.2/
total 72
...
lrwxr-xr-x 1 brian admin 38 Nov 14 16:39 platforms -> ../../../var/lib/android-sdk/platforms
...
drwxr-xr-x 26 brian admin 884 Nov 14 17:43 tools
In this case, we have
ANDROID_SDK=/usr/local/Cellar/android-sdk/23.0.2/platforms/android-21.
It is an anti-pattern to use ANDORID_SDK/.. to find other paths in the
tree. This pattern is used in at least two places:
1) When we try to find
/usr/local/Cellar/android-sdk/23.0.2/platforms/android-21/../../tools,
we end up in the /usr/local/var/lib subtree. This patch works around
that by exporting and using ANDROID_TOOLS; ANDROID_TOOLS itself is
extracted using path matching, rather than following .. through the
filesystem.
2) We also need to use ANDROID_SDK_ROOT rather than
ANDROID_SDK/../.. through-out.
--HG--
extra : rebase_source : 5e0323a94f2b80550f17a624e16f338cdeec406d
For all applications, MOZ_DATA_REPORTING is set in configure if any of
MOZ_TELEMETRY_REPORTING, MOZ_SERVICES_HEALTHREPORT, or MOZ_CRASHREPORTER
is set. For mobile/android, we *also* set MOZ_DATA_REPORTING when we're
not in a release (Beta/Release) build.
Geo/stumbler data is build-time enabled by MOZ_ANDROID_MLS_STUMBLER but
does not automatically upload data: the user must manually enable
uploading geo/stumbler data. That is, this is an explicit opt-in rather
than an explicit opt-out; and geo/stumbler data should not be covered by
the data reporting notification at this time.
In the past, I believe that geo/stumbler data was uploaded based on the
feature being build time enabled, which corresponded to !RELEASE_BUILD,
so the logic being removed was reasonable.
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).
Notes:
* The Classycle definition file was built by hand via a process of trial
and error.
* The Classycle JAR file is used only at build time. I don't want to
land it near code because it shouldn't be included in any build. In
particular, landing in mobile/android/base can foul up IDE
configurations.
* The Classycle license requires redistributing the README.txt with the
binary assets.
* Even when Proguard is "disabled", the target still runs, so this is a
good place to put a build step that the built JARs, as a collective,
are healthy.
--HG--
extra : rebase_source : 7df8aa0fd0537ec7cb32eb02259797523f5ba97d