mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-26 19:55:39 +00:00
Bug 1079874 - Define device configuration in inflated resources. r=sebastian
See the added code comments for motivations. Note that this is a speculative patch - I was unable to reproduce the crash and thus do not know if it fixes it, however, I did test that the appropriate toolbar configuration is created on vanilla Android for phone & tablet. MozReview-Commit-ID: 2v1Ix8X68LH --HG-- extra : rebase_source : ee32c374d9e2daf1a75975b657cb173dd1432fc3
This commit is contained in:
parent
f8fae386c0
commit
d1c8268ecb
@ -162,8 +162,9 @@ public abstract class BrowserToolbar extends ThemedRelativeLayout
|
||||
}
|
||||
|
||||
public static BrowserToolbar create(final Context context, final AttributeSet attrs) {
|
||||
final boolean isLargeResource = context.getResources().getBoolean(R.bool.is_large_resource);
|
||||
final BrowserToolbar toolbar;
|
||||
if (HardwareUtils.isTablet()) {
|
||||
if (isLargeResource) {
|
||||
toolbar = new BrowserToolbarTablet(context, attrs);
|
||||
} else {
|
||||
toolbar = new BrowserToolbarPhone(context, attrs);
|
||||
|
11
mobile/android/base/resources/values-large/bool.xml
Normal file
11
mobile/android/base/resources/values-large/bool.xml
Normal file
@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
~ This Source Code Form is subject to the terms of the Mozilla Public
|
||||
~ License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
~ file, you can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
-->
|
||||
|
||||
<resources>
|
||||
<!-- See definition in values/ for explanation. -->
|
||||
<bool name="is_large_resource">true</bool>
|
||||
</resources>
|
18
mobile/android/base/resources/values/bool.xml
Normal file
18
mobile/android/base/resources/values/bool.xml
Normal file
@ -0,0 +1,18 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
~ This Source Code Form is subject to the terms of the Mozilla Public
|
||||
~ License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
~ file, you can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
-->
|
||||
|
||||
<resources>
|
||||
<!-- Some devices use resources based on configuration (e.g. large, xlarge) that are inconsistent
|
||||
with the configuration retrieved by HardwareUtils (e.g. some custom ROMs allow the user to
|
||||
choose a phone or tablet version of the UI even though the hardware stays the same). This
|
||||
can cause crashes when we branch on the value returned by HardwareUtils.
|
||||
|
||||
In order to work around this, we define the resource size in resources with the expectation that
|
||||
we branch on that value, rather than HardwareUtils, so our code is consistent with the used resources.
|
||||
See bug 1277379 for a initiative to move all of the HardwareUtils code over. -->
|
||||
<bool name="is_large_resource">false</bool>
|
||||
</resources>
|
Loading…
Reference in New Issue
Block a user