Skip to content
This repository was archived by the owner on Feb 26, 2023. It is now read-only.

Commit b8c63fe

Browse files
authored
Merge pull request #2169 from dodgex/2168_fix_android_x_support
Fix the order of some Android X checks to avoid conflicts with Support v4
2 parents 9cf2f4a + 508479f commit b8c63fe

4 files changed

Lines changed: 19 additions & 21 deletions

File tree

‎AndroidAnnotations/androidannotations-core/androidannotations/src/main/java/org/androidannotations/internal/core/handler/ContextCompatAwareResHandler.java‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -45,10 +45,10 @@ abstract class ContextCompatAwareResHandler extends AbstractResHandler {
4545

4646
@Override
4747
protected IJExpression getInstanceInvocation(EComponentHolder holder, JFieldRef idRef, IJAssignmentTarget fieldRef, JBlock targetBlock) {
48-
if (hasTargetMethodInContextCompat()) {
49-
return getClasses().CONTEXT_COMPAT.staticInvoke(androidRes.getResourceMethodName()).arg(holder.getContextRef()).arg(idRef);
50-
} else if (hasTargetMethodInAndroidxContextCompat()) {
48+
if (hasTargetMethodInAndroidxContextCompat()) {
5149
return getClasses().ANDROIDX_CONTEXT_COMPAT.staticInvoke(androidRes.getResourceMethodName()).arg(holder.getContextRef()).arg(idRef);
50+
} else if (hasTargetMethodInContextCompat()) {
51+
return getClasses().CONTEXT_COMPAT.staticInvoke(androidRes.getResourceMethodName()).arg(holder.getContextRef()).arg(idRef);
5252
} else if (shouldUseContextMethod()) {
5353
return holder.getContextRef().invoke(androidRes.getResourceMethodName()).arg(idRef);
5454
} else if (!shouldUseContextMethod() && hasTargetMethodInContext()) {

‎AndroidAnnotations/androidannotations-core/androidannotations/src/main/java/org/androidannotations/internal/core/handler/PreferenceChangeHandler.java‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ protected String getSetterName() {
119119

120120
@Override
121121
protected AbstractJClass getListenerClass(HasPreferences holder) {
122-
return holder.usingSupportV7Preference() ? getClasses().SUPPORT_V7_PREFERENCE_CHANGE_LISTENER
123-
: holder.usingAndroidxPreference() ? getClasses().ANDROIDX_PREFERENCE_CHANGE_LISTENER : getClasses().PREFERENCE_CHANGE_LISTENER;
122+
return holder.usingAndroidxPreference() ? getClasses().ANDROIDX_PREFERENCE_CHANGE_LISTENER
123+
: holder.usingSupportV7Preference() ? getClasses().SUPPORT_V7_PREFERENCE_CHANGE_LISTENER : getClasses().PREFERENCE_CHANGE_LISTENER;
124124
}
125125
}

‎AndroidAnnotations/androidannotations-core/androidannotations/src/main/java/org/androidannotations/internal/core/handler/PreferenceClickHandler.java‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -92,8 +92,8 @@ protected String getSetterName() {
9292

9393
@Override
9494
protected AbstractJClass getListenerClass(HasPreferences holder) {
95-
return holder.usingSupportV7Preference() ? getClasses().SUPPORT_V7_PREFERENCE_CLICK_LISTENER
96-
: holder.usingAndroidxPreference() ? getClasses().ANDROIDX_PREFERENCE_CLICK_LISTENER : getClasses().PREFERENCE_CLICK_LISTENER;
95+
return holder.usingAndroidxPreference() ? getClasses().ANDROIDX_PREFERENCE_CLICK_LISTENER
96+
: holder.usingSupportV7Preference() ? getClasses().SUPPORT_V7_PREFERENCE_CLICK_LISTENER : getClasses().PREFERENCE_CLICK_LISTENER;
9797
}
9898

9999
}

‎AndroidAnnotations/androidannotations-core/androidannotations/src/main/java/org/androidannotations/internal/core/helper/ActivityIntentBuilder.java‎

Lines changed: 12 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -80,17 +80,16 @@ private void createAdditionalIntentMethods() {
8080
JVar fragmentParam = method.param(getClasses().FRAGMENT, "fragment");
8181
method.body()._return(_new(holder.getIntentBuilderClass()).arg(fragmentParam));
8282
}
83-
if (hasFragmentSupportInClasspath()) {
84-
// intent() with android.support.v4.app.Fragment param
85-
JMethod method = holder.getGeneratedClass().method(STATIC | PUBLIC, holder.getIntentBuilderClass(), "intent");
86-
JVar fragmentParam = method.param(getClasses().SUPPORT_V4_FRAGMENT, "supportFragment");
87-
method.body()._return(_new(holder.getIntentBuilderClass()).arg(fragmentParam));
88-
}
8983
if (hasAndroidxFragmentInClasspath()) {
9084
// intent() with androidx.fragment.app.Fragment param
9185
JMethod method = holder.getGeneratedClass().method(STATIC | PUBLIC, holder.getIntentBuilderClass(), "intent");
9286
JVar fragmentParam = method.param(getClasses().ANDROIDX_FRAGMENT, "supportFragment");
9387
method.body()._return(_new(holder.getIntentBuilderClass()).arg(fragmentParam));
88+
} else if (hasFragmentSupportInClasspath()) {
89+
// intent() with android.support.v4.app.Fragment param
90+
JMethod method = holder.getGeneratedClass().method(STATIC | PUBLIC, holder.getIntentBuilderClass(), "intent");
91+
JVar fragmentParam = method.param(getClasses().SUPPORT_V4_FRAGMENT, "supportFragment");
92+
method.body()._return(_new(holder.getIntentBuilderClass()).arg(fragmentParam));
9493
}
9594
}
9695

@@ -104,11 +103,10 @@ private void createAdditionalConstructor() {
104103
if (hasFragmentInClasspath()) {
105104
fragmentField = addFragmentConstructor(getClasses().FRAGMENT, "fragment" + generationSuffix());
106105
}
107-
if (hasFragmentSupportInClasspath()) {
108-
fragmentSupportField = addFragmentConstructor(getClasses().SUPPORT_V4_FRAGMENT, "fragmentSupport" + generationSuffix());
109-
}
110106
if (hasAndroidxFragmentInClasspath()) {
111107
fragmentSupportField = addFragmentConstructor(getClasses().ANDROIDX_FRAGMENT, "fragmentSupport" + generationSuffix());
108+
} else if (hasFragmentSupportInClasspath()) {
109+
fragmentSupportField = addFragmentConstructor(getClasses().SUPPORT_V4_FRAGMENT, "fragmentSupport" + generationSuffix());
112110
}
113111
}
114112

@@ -241,16 +239,16 @@ protected boolean hasActivityOptionsInFragment() {
241239
}
242240

243241
private AbstractJClass getActivityCompat() {
244-
TypeElement activityCompat = elementUtils.getTypeElement(CanonicalNameConstants.ACTIVITY_COMPAT);
245-
if (hasActivityOptions(activityCompat, 2)) {
246-
return getClasses().ACTIVITY_COMPAT;
247-
}
248-
249242
TypeElement androidxActivityCompat = elementUtils.getTypeElement(CanonicalNameConstants.ANDROIDX_ACTIVITY_COMPAT);
250243
if (hasActivityOptions(androidxActivityCompat, 2)) {
251244
return getClasses().ANDROIDX_ACTIVITY_COMPAT;
252245
}
253246

247+
TypeElement activityCompat = elementUtils.getTypeElement(CanonicalNameConstants.ACTIVITY_COMPAT);
248+
if (hasActivityOptions(activityCompat, 2)) {
249+
return getClasses().ACTIVITY_COMPAT;
250+
}
251+
254252
return null;
255253
}
256254

0 commit comments

Comments
 (0)