Merge "Conditionally sets OnCreateContextMenuListener" into androidx-master-dev
diff --git a/preference/src/androidTest/AndroidManifest.xml b/preference/src/androidTest/AndroidManifest.xml
index eed63b4..936508e 100644
--- a/preference/src/androidTest/AndroidManifest.xml
+++ b/preference/src/androidTest/AndroidManifest.xml
@@ -19,6 +19,6 @@
<uses-sdk android:targetSdkVersion="${target-sdk-version}"/>
<application>
<activity android:name="androidx.preference.tests.helpers.PreferenceTestHelperActivity"
- android:theme="@style/Theme.AppCompat.Light.DarkActionBar"/>
+ android:theme="@style/PreferenceTestTheme"/>
</application>
</manifest>
diff --git a/preference/src/androidTest/res/values/styles.xml b/preference/src/androidTest/res/values/styles.xml
new file mode 100644
index 0000000..6b24f56
--- /dev/null
+++ b/preference/src/androidTest/res/values/styles.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ ~ Copyright 2018 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License.
+ -->
+<resources>
+ <style name="PreferenceTestTheme" parent="@style/Theme.AppCompat.Light.NoActionBar">
+ <item name="android:windowActionBar">false</item>
+ <item name="android:windowAnimationStyle">@null</item>
+ <item name="android:windowContentOverlay">@null</item>
+ <item name="android:windowFullscreen">true</item>
+ <item name="android:windowNoTitle">true</item>
+ </style>
+</resources>
diff --git a/preference/src/main/java/androidx/preference/Preference.java b/preference/src/main/java/androidx/preference/Preference.java
index 8f5a1dc..5450708 100644
--- a/preference/src/main/java/androidx/preference/Preference.java
+++ b/preference/src/main/java/androidx/preference/Preference.java
@@ -585,7 +585,9 @@
holder.setDividerAllowedAbove(mAllowDividerAbove);
holder.setDividerAllowedBelow(mAllowDividerBelow);
- holder.itemView.setOnCreateContextMenuListener(this);
+ if (isCopyingEnabled()) {
+ holder.itemView.setOnCreateContextMenuListener(this);
+ }
}
@Override
@@ -817,8 +819,10 @@
* preference is disabled.
*/
public void setShouldDisableView(boolean shouldDisableView) {
- mShouldDisableView = shouldDisableView;
- notifyChanged();
+ if (mShouldDisableView != shouldDisableView) {
+ mShouldDisableView = shouldDisableView;
+ notifyChanged();
+ }
}
/**
@@ -1031,8 +1035,10 @@
* @attr ref R.styleable#Preference_android_iconSpaceReserved
*/
public void setIconSpaceReserved(boolean iconSpaceReserved) {
- mIconSpaceReserved = iconSpaceReserved;
- notifyChanged();
+ if (mIconSpaceReserved != iconSpaceReserved) {
+ mIconSpaceReserved = iconSpaceReserved;
+ notifyChanged();
+ }
}
/**
@@ -1056,7 +1062,10 @@
*/
@RestrictTo(LIBRARY_GROUP)
public void setCopyingEnabled(boolean enabled) {
- mCopyingEnabled = enabled;
+ if (mCopyingEnabled != enabled) {
+ mCopyingEnabled = enabled;
+ notifyChanged();
+ }
}
/**
diff --git a/preference/src/main/java/androidx/preference/PreferenceCategory.java b/preference/src/main/java/androidx/preference/PreferenceCategory.java
index 4ff6811..435c7ae 100644
--- a/preference/src/main/java/androidx/preference/PreferenceCategory.java
+++ b/preference/src/main/java/androidx/preference/PreferenceCategory.java
@@ -36,7 +36,6 @@
* </div>
*/
public class PreferenceCategory extends PreferenceGroup {
- private static final String TAG = "PreferenceCategory";
public PreferenceCategory(
Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {