Merge "Do not filter out the size configs if no configuration buckets" into tm-qpr-dev
This commit is contained in:
@@ -104,24 +104,15 @@ public final class SizeConfigurationBuckets implements Parcelable {
|
|||||||
/**
|
/**
|
||||||
* Get the changes between two configurations but don't count changes in sizes if they don't
|
* Get the changes between two configurations but don't count changes in sizes if they don't
|
||||||
* cross boundaries that are important to the app.
|
* cross boundaries that are important to the app.
|
||||||
*
|
|
||||||
* This is a static helper to deal with null `buckets`. When no buckets have been specified,
|
|
||||||
* this actually filters out all 3 size-configs. This is legacy behavior.
|
|
||||||
*/
|
*/
|
||||||
public static int filterDiff(int diff, @NonNull Configuration oldConfig,
|
public static int filterDiff(int diff, @NonNull Configuration oldConfig,
|
||||||
@NonNull Configuration newConfig, @Nullable SizeConfigurationBuckets buckets) {
|
@NonNull Configuration newConfig, @Nullable SizeConfigurationBuckets buckets) {
|
||||||
|
if (buckets == null) {
|
||||||
|
return diff;
|
||||||
|
}
|
||||||
|
|
||||||
final boolean nonSizeLayoutFieldsUnchanged =
|
final boolean nonSizeLayoutFieldsUnchanged =
|
||||||
areNonSizeLayoutFieldsUnchanged(oldConfig.screenLayout, newConfig.screenLayout);
|
areNonSizeLayoutFieldsUnchanged(oldConfig.screenLayout, newConfig.screenLayout);
|
||||||
if (buckets == null) {
|
|
||||||
// Only unflip CONFIG_SCREEN_LAYOUT if non-size-related attributes of screen layout do
|
|
||||||
// not change.
|
|
||||||
if (nonSizeLayoutFieldsUnchanged) {
|
|
||||||
return diff & ~(CONFIG_SCREEN_SIZE | CONFIG_SMALLEST_SCREEN_SIZE
|
|
||||||
| CONFIG_SCREEN_LAYOUT);
|
|
||||||
} else {
|
|
||||||
return diff & ~(CONFIG_SCREEN_SIZE | CONFIG_SMALLEST_SCREEN_SIZE);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if ((diff & CONFIG_SCREEN_SIZE) != 0) {
|
if ((diff & CONFIG_SCREEN_SIZE) != 0) {
|
||||||
final boolean crosses = buckets.crossesHorizontalSizeThreshold(oldConfig.screenWidthDp,
|
final boolean crosses = buckets.crossesHorizontalSizeThreshold(oldConfig.screenWidthDp,
|
||||||
newConfig.screenWidthDp)
|
newConfig.screenWidthDp)
|
||||||
|
|||||||
Reference in New Issue
Block a user