Skip to content
This repository was archived by the owner on Feb 26, 2023. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
dce66fb
add InjectHelper
dodgex Sep 20, 2015
077e8d5
add compile time test for InjectHelper
dodgex Oct 11, 2015
9772deb
allow to inject @EBean's into an @Bean annotated method
dodgex Sep 20, 2015
3068d53
add test for method injected beans
dodgex Sep 20, 2015
5169a33
allow to inject system services into @SystemServices annotated methods
dodgex Dec 16, 2015
d22b612
add test for method injected system services
dodgex Sep 20, 2015
dc0a2ca
allow to inject resources into @*Res annotated method
dodgex Sep 24, 2015
fca69f6
add test for method injected resources
dodgex Sep 24, 2015
0dd6534
allow to inject shared preferences into @Pref annotated method
dodgex Sep 24, 2015
d91e71d
add test for method injected shared preferences
dodgex Sep 24, 2015
2137099
allow to inject application class into @App annotated method
dodgex Sep 25, 2015
81e5da4
add test for method injected application class
dodgex Sep 25, 2015
a97b8ad
allow to inject https client into @HttpsClient annotated method
dodgex Sep 25, 2015
73b994d
add test for method injected https clients
dodgex Sep 25, 2015
4801b0d
allow to inject extras into @Extra annotated method
dodgex Sep 26, 2015
4d9d2fc
add test for method injected extras
dodgex Sep 26, 2015
804bff7
allow to inject fragment arguments into @FragmentArg annotated method
dodgex Sep 26, 2015
bd8f4c1
add test for method injected fragment args
dodgex Sep 26, 2015
dc0c5f7
allow to inject context into @RootContext annotated method
dodgex Sep 26, 2015
dfec37e
add test for method injected context
dodgex Sep 26, 2015
6c2765d
allow to inject menu into @InjectMenu annotated method
dodgex Sep 26, 2015
a7affe7
add test for method injected menus
dodgex Sep 26, 2015
85197fd
allow to inject menu items into @OptionsMenuItem annotated method
dodgex Sep 26, 2015
8813c6b
add test for method injected menu items
dodgex Sep 26, 2015
63343c7
allow to inject fragments into @FragmentById or @FragmentByTag annota…
dodgex Sep 26, 2015
9d796cd
add test for method injected fragments
dodgex Sep 26, 2015
cade871
allow to inject views into @ViewById annotated methods
dodgex Oct 11, 2015
bbda8a1
add test for method injected views
dodgex Oct 11, 2015
161f128
allow to inject lists of views into @ViewsById annotated methods
dodgex Oct 11, 2015
4e1ba9d
add test for method injected lists of views
dodgex Oct 11, 2015
27ea853
allow to inject preferences into @PreferenceByKey annotated methods
dodgex Oct 11, 2015
9121bfc
add test for method injected preferences
dodgex Oct 11, 2015
7d0c59e
allow to inject ormlite daos into @OrmLiteDao annotated methods
dodgex Oct 11, 2015
a3256f4
add test for method injected ormlite daos
dodgex Dec 18, 2015
40b6f7d
allow to inject rest service into @RestService annotated methods
dodgex Oct 11, 2015
4396b44
add test for method injected rest services
dodgex Dec 18, 2015
c7d182d
update javadocs for method injection
dodgex Dec 14, 2015
a2f3bfd
generate only one method in Fragment-/IntentBuilder for methods with …
dodgex Dec 20, 2015
1c2575c
use the view field for FoundViewHolder
dodgex Dec 20, 2015
03bf6bb
use the preference field for FoundPreferenceHolder
dodgex Dec 20, 2015
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
use the preference field for FoundPreferenceHolder
  • Loading branch information
dodgex committed Dec 20, 2015
commit 03bf6bbdb32b8bd2decf8613cb10a7039a21e271
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@

import com.helger.jcodemodel.AbstractJClass;
import com.helger.jcodemodel.AbstractJType;
import com.helger.jcodemodel.IJAssignmentTarget;
import com.helger.jcodemodel.IJExpression;
import com.helger.jcodemodel.JBlock;
import com.helger.jcodemodel.JClassAlreadyExistsException;
Expand Down Expand Up @@ -745,6 +746,11 @@ public FoundPreferenceHolder getFoundPreferenceHolder(JFieldRef idRef, AbstractJ
return preferencesHolder.getFoundPreferenceHolder(idRef, preferenceClass);
}

@Override
public FoundPreferenceHolder getFoundPreferenceHolder(JFieldRef idRef, AbstractJClass preferenceClass, IJAssignmentTarget fieldRef) {
return preferencesHolder.getFoundPreferenceHolder(idRef, preferenceClass, fieldRef);
}

@Override
public boolean usingSupportV7Preference() {
return preferencesHolder.usingSupportV7Preference();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@
import org.androidannotations.holder.ReceiverRegistrationDelegate.IntentFilterData;

import com.helger.jcodemodel.AbstractJClass;
import com.helger.jcodemodel.IJAssignmentTarget;
import com.helger.jcodemodel.JBlock;
import com.helger.jcodemodel.JClassAlreadyExistsException;
import com.helger.jcodemodel.JDefinedClass;
Expand Down Expand Up @@ -569,6 +570,11 @@ public FoundPreferenceHolder getFoundPreferenceHolder(JFieldRef idRef, AbstractJ
return preferencesDelegate.getFoundPreferenceHolder(idRef, preferenceClass);
}

@Override
public FoundPreferenceHolder getFoundPreferenceHolder(JFieldRef idRef, AbstractJClass preferenceClass, IJAssignmentTarget fieldRef) {
return preferencesDelegate.getFoundPreferenceHolder(idRef, preferenceClass, fieldRef);
}

@Override
public boolean usingSupportV7Preference() {
return preferencesDelegate.usingSupportV7Preference();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
package org.androidannotations.holder;

import com.helger.jcodemodel.AbstractJClass;
import com.helger.jcodemodel.IJAssignmentTarget;
import com.helger.jcodemodel.JBlock;
import com.helger.jcodemodel.JFieldRef;

Expand All @@ -29,6 +30,8 @@ public interface HasPreferences extends GeneratedClassHolder {

FoundPreferenceHolder getFoundPreferenceHolder(JFieldRef idRef, AbstractJClass preferenceClass);

FoundPreferenceHolder getFoundPreferenceHolder(JFieldRef idRef, AbstractJClass preferenceClass, IJAssignmentTarget fieldRef);

boolean usingSupportV7Preference();

AbstractJClass getBasePreferenceClass();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@
import org.androidannotations.helper.CanonicalNameConstants;

import com.helger.jcodemodel.AbstractJClass;
import com.helger.jcodemodel.IJAssignmentTarget;
import com.helger.jcodemodel.IJExpression;
import com.helger.jcodemodel.JBlock;
import com.helger.jcodemodel.JExpr;
Expand All @@ -36,7 +37,7 @@
import com.helger.jcodemodel.JMethod;
import com.helger.jcodemodel.JVar;

public class PreferencesDelegate extends GeneratedClassHolderDelegate<EComponentWithViewSupportHolder> implements HasPreferences {
public class PreferencesDelegate extends GeneratedClassHolderDelegate<EComponentWithViewSupportHolder>implements HasPreferences {

protected JBlock addPreferencesFromResourceInjectionBlock;
protected JBlock addPreferencesFromResourceAfterInjectionBlock;
Expand Down Expand Up @@ -97,10 +98,15 @@ private JInvocation findPreferenceByKey(JFieldRef idRef) {

@Override
public FoundPreferenceHolder getFoundPreferenceHolder(JFieldRef idRef, AbstractJClass preferenceClass) {
return getFoundPreferenceHolder(idRef, preferenceClass, null);
}

@Override
public FoundPreferenceHolder getFoundPreferenceHolder(JFieldRef idRef, AbstractJClass preferenceClass, IJAssignmentTarget fieldRef) {
String idRefString = idRef.name();
FoundPreferenceHolder foundPreferenceHolder = (FoundPreferenceHolder) holder.foundHolders.get(idRefString);
if (foundPreferenceHolder == null) {
foundPreferenceHolder = createFoundPreferenceAndIfNotNullBlock(idRef, preferenceClass);
foundPreferenceHolder = createFoundPreferenceAndIfNotNullBlock(idRef, preferenceClass, fieldRef);
holder.foundHolders.put(idRefString, foundPreferenceHolder);
}
return foundPreferenceHolder;
Expand All @@ -116,7 +122,7 @@ public AbstractJClass getBasePreferenceClass() {
return basePreferenceClass;
}

private FoundPreferenceHolder createFoundPreferenceAndIfNotNullBlock(JFieldRef idRef, AbstractJClass preferenceClass) {
private FoundPreferenceHolder createFoundPreferenceAndIfNotNullBlock(JFieldRef idRef, AbstractJClass preferenceClass, IJAssignmentTarget fieldRef) {
IJExpression findPreferenceExpression = findPreferenceByKey(idRef);
JBlock block = getAddPreferencesFromResourceInjectionBlock();

Expand All @@ -126,8 +132,13 @@ private FoundPreferenceHolder createFoundPreferenceAndIfNotNullBlock(JFieldRef i
findPreferenceExpression = cast(preferenceClass, findPreferenceExpression);
}

JVar preference = block.decl(preferenceClass, "preference_" + idRef.name(), findPreferenceExpression);
return new FoundPreferenceHolder(this, preferenceClass, preference, block);
IJAssignmentTarget foundPref = fieldRef;
if (foundPref == null) {
foundPref = block.decl(preferenceClass, "preference_" + idRef.name(), findPreferenceExpression);
} else {
block.add(foundPref.assign(findPreferenceExpression));
}
return new FoundPreferenceHolder(this, preferenceClass, foundPref, block);
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@
import org.androidannotations.handler.MethodInjectionHandler;
import org.androidannotations.helper.IdValidatorHelper;
import org.androidannotations.helper.InjectHelper;
import org.androidannotations.holder.FoundPreferenceHolder;
import org.androidannotations.holder.HasPreferences;
import org.androidannotations.rclass.IRClass;

Expand Down Expand Up @@ -81,7 +82,14 @@ public void assignValue(JBlock targetBlock, IJAssignmentTarget fieldRef, HasPref
JFieldRef idRef = annotationHelper.extractOneAnnotationFieldRef(element, IRClass.Res.STRING, true);
AbstractJClass preferenceClass = getJClass(typeQualifiedName);

targetBlock.add(fieldRef.assign(holder.getFoundPreferenceHolder(idRef, preferenceClass).getOrCastRef(preferenceClass)));
IJAssignmentTarget preferenceHolderTarget = null;
if (element.getKind() == ElementKind.FIELD) {
preferenceHolderTarget = fieldRef;
}
FoundPreferenceHolder preferenceHolder = holder.getFoundPreferenceHolder(idRef, preferenceClass, preferenceHolderTarget);
if (!preferenceHolder.getRef().equals(preferenceHolderTarget)) {
targetBlock.add(fieldRef.assign(preferenceHolder.getOrCastRef(preferenceClass)));
}
}

@Override
Expand Down