Commit 0ad6a0b8 authored by Robbie McElrath's avatar Robbie McElrath Committed by Commit Bot

Replace AndroidX Preference[Dialog]FragmentCompat with the version from master

This CL replaces the PreferenceFragmentCompat and
PreferenceDialogFragmentCompat classes in the AndroidX preference
library with the version from master, which has a change needed for
WebLayer. The preference library maintainers say they won't create a new
release just for this fix, so to get it we'll have to pull it in
ourselves.

Bug: 1092986
Change-Id: I0e1c936f6372cb541cabfa29c2aea0d0ee7225fb
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2253029
Commit-Queue: Robbie McElrath <rmcelrath@chromium.org>
Reviewed-by: default avatarAndrew Grieve <agrieve@chromium.org>
Reviewed-by: default avatarPeter Wen <wnwen@chromium.org>
Cr-Commit-Position: refs/heads/master@{#802334}
parent 901ccf64
......@@ -527,6 +527,15 @@ android_aar_prebuilt("androidx_preference_preference_java") {
":androidx_fragment_fragment_java",
":androidx_recyclerview_recyclerview_java",
]
deps += [ "//third_party/android_deps/local_modifications/androidx_preference_preference:androidx_preference_preference_prebuilt_java" ]
# Omit these files since we use our own copy from AndroidX master, included above.
# We can remove this once we migrate to AndroidX master for all libraries.
jar_excluded_patterns = [
"androidx/preference/PreferenceDialogFragmentCompat*",
"androidx/preference/PreferenceFragmentCompat*",
]
ignore_proguard_configs = true
}
......
......@@ -433,6 +433,17 @@ class BuildConfigGenerator extends DefaultTask {
sb.append(' jar_excluded_patterns = [ "*xmlpull*" ]\n')
break
case 'androidx_preference_preference':
sb.append("""\
| deps += [ "//third_party/android_deps/local_modifications/androidx_preference_preference:androidx_preference_preference_prebuilt_java" ]
| # Omit these files since we use our own copy from AndroidX master, included above.
| # We can remove this once we migrate to AndroidX master for all libraries.
| jar_excluded_patterns = [
| "androidx/preference/PreferenceDialogFragmentCompat*",
| "androidx/preference/PreferenceFragmentCompat*",
| ]
|
|""".stripMargin())
// fallthrough
case 'com_android_support_preference_v7':
// Replace broad library -keep rules with a more limited set in
// chrome/android/java/proguard.flags instead.
......
# Copyright 2020 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import("//build/config/android/rules.gni")
# This rule contains the jar file produced by building
# :androidx_preference_preference_partial_java. After building the
# aforementioned target, the jar file can be found in:
# out/<dir>/lib.java/third_party/android_deps/local_modifications/androidx_preference_preference/androidx_preference_preference_partial_java.jar
android_java_prebuilt("androidx_preference_preference_prebuilt_java") {
jar_path = "androidx_preference_preference_java.jar"
# Normally this would depend on //third_party/android_deps:androidx_preference_preference_java,
# but the dependency is reversed to keep the .class file customization
# transparent to dependents. Disable bytecode checks, which would otherwise
# complain about this.
enable_bytecode_checks = false
}
android_library("androidx_preference_preference_partial_java") {
sources = [
"java/androidx/preference/PreferenceDialogFragmentCompat.java",
"java/androidx/preference/PreferenceFragmentCompat.java",
]
deps = [
"//third_party/android_deps:androidx_annotation_annotation_java",
"//third_party/android_deps:androidx_appcompat_appcompat_java",
"//third_party/android_deps:androidx_fragment_fragment_java",
"//third_party/android_deps:androidx_preference_preference_java",
"//third_party/android_deps:androidx_recyclerview_recyclerview_java",
]
}
This directory contains PreferenceFragmentCompat.java and
PreferenceDialogFragmentCompat.java, copied without changes from the AndroidX
preference library at commit beeb6fb. These files contain two changes (commits
72c0381 and beeb6fb) that we want in Chromium, but are not yet in an official
preference library release.
To pull in these changes, we exclude PreferenceFragmentCompat and
PreferenceDialogFragmentCompat from the androidx_preference_preference library
in CIPD (which is from an official release), and add a dependency from that
library to a prebuilt jar file containing the two classes we want to update.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment