ShadowPreference.java revision 5773573687f3d05e5e97816b1c5d31e6a4d7f212
1079a071612e45353e46bde2f29eff7e6fc762f01Rich Humphreypackage com.xtremelabs.robolectric.shadows; 2079a071612e45353e46bde2f29eff7e6fc762f01Rich Humphrey 3079a071612e45353e46bde2f29eff7e6fc762f01Rich Humphreyimport android.content.Context; 4079a071612e45353e46bde2f29eff7e6fc762f01Rich Humphreyimport android.preference.Preference; 5079a071612e45353e46bde2f29eff7e6fc762f01Rich Humphreyimport android.util.AttributeSet; 6079a071612e45353e46bde2f29eff7e6fc762f01Rich Humphrey 7079a071612e45353e46bde2f29eff7e6fc762f01Rich Humphreyimport com.xtremelabs.robolectric.internal.Implementation; 8079a071612e45353e46bde2f29eff7e6fc762f01Rich Humphreyimport com.xtremelabs.robolectric.internal.Implements; 9079a071612e45353e46bde2f29eff7e6fc762f01Rich Humphrey 10079a071612e45353e46bde2f29eff7e6fc762f01Rich Humphrey@Implements(Preference.class) 11079a071612e45353e46bde2f29eff7e6fc762f01Rich Humphreypublic class ShadowPreference { 12079a071612e45353e46bde2f29eff7e6fc762f01Rich Humphrey 13079a071612e45353e46bde2f29eff7e6fc762f01Rich Humphrey protected Context context; 14079a071612e45353e46bde2f29eff7e6fc762f01Rich Humphrey protected AttributeSet attrs; 15079a071612e45353e46bde2f29eff7e6fc762f01Rich Humphrey protected int defStyle; 165773573687f3d05e5e97816b1c5d31e6a4d7f212Rich Humphrey 1765b198f024aea2f29ce34287bbe6027a632d37b1Rich Humphrey protected String key; 18d876b7e662a061353260034129afd9605c7b8f40Rich Humphrey protected CharSequence title; 19d876b7e662a061353260034129afd9605c7b8f40Rich Humphrey protected CharSequence summary; 20395ccc7732a27c21af50ae8dad634c80a2c0f14cRich Humphrey protected Object defaultValue; 215ee82201f6e34eee062a12e1b1c57123b8cdc2f2Rich Humphrey protected int order; 225773573687f3d05e5e97816b1c5d31e6a4d7f212Rich Humphrey protected boolean enabled = true; 235773573687f3d05e5e97816b1c5d31e6a4d7f212Rich Humphrey 245773573687f3d05e5e97816b1c5d31e6a4d7f212Rich Humphrey protected boolean shouldPersist = false; 255773573687f3d05e5e97816b1c5d31e6a4d7f212Rich Humphrey protected int persistedInt; 265773573687f3d05e5e97816b1c5d31e6a4d7f212Rich Humphrey protected Object callChangeListenerValue = null; 275773573687f3d05e5e97816b1c5d31e6a4d7f212Rich Humphrey 285773573687f3d05e5e97816b1c5d31e6a4d7f212Rich Humphrey protected Preference.OnPreferenceClickListener onClickListener; 29860f8c39f4b14a23d103310d523c7855d40b8f58Rich Humphrey 30ca3a400d69d3b4c697d78c4013d9d78b46053272Rich Humphrey public void __constructor__(Context context) { 31ca3a400d69d3b4c697d78c4013d9d78b46053272Rich Humphrey __constructor__(context, null, 0); 32ca3a400d69d3b4c697d78c4013d9d78b46053272Rich Humphrey } 33ca3a400d69d3b4c697d78c4013d9d78b46053272Rich Humphrey 3438c6ce36d70bb518e9a2a8e1b496ce4c225e8d44Rich Humphrey public void __constructor__(Context context, AttributeSet attributeSet) { 3538c6ce36d70bb518e9a2a8e1b496ce4c225e8d44Rich Humphrey __constructor__(context, attributeSet, 0); 36079a071612e45353e46bde2f29eff7e6fc762f01Rich Humphrey } 3738c6ce36d70bb518e9a2a8e1b496ce4c225e8d44Rich Humphrey 3838c6ce36d70bb518e9a2a8e1b496ce4c225e8d44Rich Humphrey public void __constructor__(Context context, AttributeSet attributeSet, int defStyle) { 39079a071612e45353e46bde2f29eff7e6fc762f01Rich Humphrey this.context = context; 4038c6ce36d70bb518e9a2a8e1b496ce4c225e8d44Rich Humphrey this.attrs = attributeSet; 4138c6ce36d70bb518e9a2a8e1b496ce4c225e8d44Rich Humphrey this.defStyle = defStyle; 4238c6ce36d70bb518e9a2a8e1b496ce4c225e8d44Rich Humphrey 4338c6ce36d70bb518e9a2a8e1b496ce4c225e8d44Rich Humphrey if (attributeSet != null) { 4438c6ce36d70bb518e9a2a8e1b496ce4c225e8d44Rich Humphrey key = attributeSet.getAttributeValue("android", "key"); 4538c6ce36d70bb518e9a2a8e1b496ce4c225e8d44Rich Humphrey } 46079a071612e45353e46bde2f29eff7e6fc762f01Rich Humphrey } 47079a071612e45353e46bde2f29eff7e6fc762f01Rich Humphrey 48079a071612e45353e46bde2f29eff7e6fc762f01Rich Humphrey @Implementation 4938c6ce36d70bb518e9a2a8e1b496ce4c225e8d44Rich Humphrey public Context getContext() { 50079a071612e45353e46bde2f29eff7e6fc762f01Rich Humphrey return context; 51079a071612e45353e46bde2f29eff7e6fc762f01Rich Humphrey } 52079a071612e45353e46bde2f29eff7e6fc762f01Rich Humphrey 53079a071612e45353e46bde2f29eff7e6fc762f01Rich Humphrey public AttributeSet getAttrs() { 54079a071612e45353e46bde2f29eff7e6fc762f01Rich Humphrey return attrs; 55079a071612e45353e46bde2f29eff7e6fc762f01Rich Humphrey } 56079a071612e45353e46bde2f29eff7e6fc762f01Rich Humphrey 57079a071612e45353e46bde2f29eff7e6fc762f01Rich Humphrey public int getDefStyle() { 58079a071612e45353e46bde2f29eff7e6fc762f01Rich Humphrey return defStyle; 59079a071612e45353e46bde2f29eff7e6fc762f01Rich Humphrey } 60860f8c39f4b14a23d103310d523c7855d40b8f58Rich Humphrey 61860f8c39f4b14a23d103310d523c7855d40b8f58Rich Humphrey @Implementation 62860f8c39f4b14a23d103310d523c7855d40b8f58Rich Humphrey public void setEnabled(boolean enabled) { 63860f8c39f4b14a23d103310d523c7855d40b8f58Rich Humphrey this.enabled = enabled; 64860f8c39f4b14a23d103310d523c7855d40b8f58Rich Humphrey } 65860f8c39f4b14a23d103310d523c7855d40b8f58Rich Humphrey 66860f8c39f4b14a23d103310d523c7855d40b8f58Rich Humphrey @Implementation 67860f8c39f4b14a23d103310d523c7855d40b8f58Rich Humphrey public boolean isEnabled() { 68860f8c39f4b14a23d103310d523c7855d40b8f58Rich Humphrey return enabled; 69860f8c39f4b14a23d103310d523c7855d40b8f58Rich Humphrey } 70860f8c39f4b14a23d103310d523c7855d40b8f58Rich Humphrey 7197f349c4ea58c18d79083dc9a02353bbe2a56fbfRich Humphrey @Implementation 7297f349c4ea58c18d79083dc9a02353bbe2a56fbfRich Humphrey public boolean shouldPersist() { 7397f349c4ea58c18d79083dc9a02353bbe2a56fbfRich Humphrey return shouldPersist; 7497f349c4ea58c18d79083dc9a02353bbe2a56fbfRich Humphrey } 7597f349c4ea58c18d79083dc9a02353bbe2a56fbfRich Humphrey 7697f349c4ea58c18d79083dc9a02353bbe2a56fbfRich Humphrey public void setShouldPersist(boolean shouldPersist) { 7797f349c4ea58c18d79083dc9a02353bbe2a56fbfRich Humphrey this.shouldPersist = shouldPersist; 7897f349c4ea58c18d79083dc9a02353bbe2a56fbfRich Humphrey } 7997f349c4ea58c18d79083dc9a02353bbe2a56fbfRich Humphrey 8097f349c4ea58c18d79083dc9a02353bbe2a56fbfRich Humphrey @Implementation 8197f349c4ea58c18d79083dc9a02353bbe2a56fbfRich Humphrey public int getPersistedInt(int defaultReturnValue) { 8297f349c4ea58c18d79083dc9a02353bbe2a56fbfRich Humphrey return shouldPersist ? persistedInt : defaultReturnValue; 8397f349c4ea58c18d79083dc9a02353bbe2a56fbfRich Humphrey } 8497f349c4ea58c18d79083dc9a02353bbe2a56fbfRich Humphrey 85c1cb9c7b5226198b51f272c6e41d8630f123d023Rich Humphrey @Implementation 86c1cb9c7b5226198b51f272c6e41d8630f123d023Rich Humphrey public boolean persistInt(int value) { 87c1cb9c7b5226198b51f272c6e41d8630f123d023Rich Humphrey this.persistedInt = value; 88c1cb9c7b5226198b51f272c6e41d8630f123d023Rich Humphrey return shouldPersist; 89c1cb9c7b5226198b51f272c6e41d8630f123d023Rich Humphrey } 90c1cb9c7b5226198b51f272c6e41d8630f123d023Rich Humphrey 91c1cb9c7b5226198b51f272c6e41d8630f123d023Rich Humphrey @Implementation 92c1cb9c7b5226198b51f272c6e41d8630f123d023Rich Humphrey public boolean callChangeListener(Object newValue) { 93c1cb9c7b5226198b51f272c6e41d8630f123d023Rich Humphrey callChangeListenerValue = newValue; 94c1cb9c7b5226198b51f272c6e41d8630f123d023Rich Humphrey return true; 95c1cb9c7b5226198b51f272c6e41d8630f123d023Rich Humphrey } 96c1cb9c7b5226198b51f272c6e41d8630f123d023Rich Humphrey 97c1cb9c7b5226198b51f272c6e41d8630f123d023Rich Humphrey public Object getCallChangeListenerValue() { 98c1cb9c7b5226198b51f272c6e41d8630f123d023Rich Humphrey return callChangeListenerValue; 9997f349c4ea58c18d79083dc9a02353bbe2a56fbfRich Humphrey } 10065b198f024aea2f29ce34287bbe6027a632d37b1Rich Humphrey 10165b198f024aea2f29ce34287bbe6027a632d37b1Rich Humphrey @Implementation 102d876b7e662a061353260034129afd9605c7b8f40Rich Humphrey public void setSummary(int summaryResId) { 103d876b7e662a061353260034129afd9605c7b8f40Rich Humphrey this.summary = context.getResources().getText(summaryResId); 104d876b7e662a061353260034129afd9605c7b8f40Rich Humphrey } 105d876b7e662a061353260034129afd9605c7b8f40Rich Humphrey 106d876b7e662a061353260034129afd9605c7b8f40Rich Humphrey @Implementation 107d876b7e662a061353260034129afd9605c7b8f40Rich Humphrey public void setSummary(CharSequence summary) { 108d876b7e662a061353260034129afd9605c7b8f40Rich Humphrey this.summary = summary; 109d876b7e662a061353260034129afd9605c7b8f40Rich Humphrey } 110d876b7e662a061353260034129afd9605c7b8f40Rich Humphrey 111d876b7e662a061353260034129afd9605c7b8f40Rich Humphrey @Implementation 112d876b7e662a061353260034129afd9605c7b8f40Rich Humphrey public CharSequence getSummary() { 113d876b7e662a061353260034129afd9605c7b8f40Rich Humphrey return summary; 114d876b7e662a061353260034129afd9605c7b8f40Rich Humphrey } 115d876b7e662a061353260034129afd9605c7b8f40Rich Humphrey 116d876b7e662a061353260034129afd9605c7b8f40Rich Humphrey @Implementation 11765b198f024aea2f29ce34287bbe6027a632d37b1Rich Humphrey public void setTitle(int titleResId) { 11865b198f024aea2f29ce34287bbe6027a632d37b1Rich Humphrey this.title = context.getResources().getText(titleResId); 11965b198f024aea2f29ce34287bbe6027a632d37b1Rich Humphrey } 12065b198f024aea2f29ce34287bbe6027a632d37b1Rich Humphrey 12165b198f024aea2f29ce34287bbe6027a632d37b1Rich Humphrey @Implementation 12265b198f024aea2f29ce34287bbe6027a632d37b1Rich Humphrey public void setTitle(CharSequence title) { 12365b198f024aea2f29ce34287bbe6027a632d37b1Rich Humphrey this.title = title; 12465b198f024aea2f29ce34287bbe6027a632d37b1Rich Humphrey } 12565b198f024aea2f29ce34287bbe6027a632d37b1Rich Humphrey 12665b198f024aea2f29ce34287bbe6027a632d37b1Rich Humphrey @Implementation 12765b198f024aea2f29ce34287bbe6027a632d37b1Rich Humphrey public CharSequence getTitle() { 12865b198f024aea2f29ce34287bbe6027a632d37b1Rich Humphrey return title; 12965b198f024aea2f29ce34287bbe6027a632d37b1Rich Humphrey } 13065b198f024aea2f29ce34287bbe6027a632d37b1Rich Humphrey 13165b198f024aea2f29ce34287bbe6027a632d37b1Rich Humphrey @Implementation 13265b198f024aea2f29ce34287bbe6027a632d37b1Rich Humphrey public void setKey(String key) { 13365b198f024aea2f29ce34287bbe6027a632d37b1Rich Humphrey this.key = key; 13465b198f024aea2f29ce34287bbe6027a632d37b1Rich Humphrey } 13565b198f024aea2f29ce34287bbe6027a632d37b1Rich Humphrey 13665b198f024aea2f29ce34287bbe6027a632d37b1Rich Humphrey @Implementation 13765b198f024aea2f29ce34287bbe6027a632d37b1Rich Humphrey public String getKey() { 13865b198f024aea2f29ce34287bbe6027a632d37b1Rich Humphrey return key; 13965b198f024aea2f29ce34287bbe6027a632d37b1Rich Humphrey } 14065b198f024aea2f29ce34287bbe6027a632d37b1Rich Humphrey 141395ccc7732a27c21af50ae8dad634c80a2c0f14cRich Humphrey @Implementation 142395ccc7732a27c21af50ae8dad634c80a2c0f14cRich Humphrey public void setDefaultValue(Object defaultValue) { 143395ccc7732a27c21af50ae8dad634c80a2c0f14cRich Humphrey this.defaultValue = defaultValue; 144395ccc7732a27c21af50ae8dad634c80a2c0f14cRich Humphrey } 145395ccc7732a27c21af50ae8dad634c80a2c0f14cRich Humphrey 146395ccc7732a27c21af50ae8dad634c80a2c0f14cRich Humphrey public Object getDefaultValue() { 147395ccc7732a27c21af50ae8dad634c80a2c0f14cRich Humphrey return defaultValue; 148395ccc7732a27c21af50ae8dad634c80a2c0f14cRich Humphrey } 149395ccc7732a27c21af50ae8dad634c80a2c0f14cRich Humphrey 1505ee82201f6e34eee062a12e1b1c57123b8cdc2f2Rich Humphrey @Implementation 1515ee82201f6e34eee062a12e1b1c57123b8cdc2f2Rich Humphrey public int getOrder() { 1525ee82201f6e34eee062a12e1b1c57123b8cdc2f2Rich Humphrey return order; 1535ee82201f6e34eee062a12e1b1c57123b8cdc2f2Rich Humphrey } 1545ee82201f6e34eee062a12e1b1c57123b8cdc2f2Rich Humphrey 1555ee82201f6e34eee062a12e1b1c57123b8cdc2f2Rich Humphrey @Implementation 1565ee82201f6e34eee062a12e1b1c57123b8cdc2f2Rich Humphrey public void setOrder(int order) { 1575ee82201f6e34eee062a12e1b1c57123b8cdc2f2Rich Humphrey this.order = order; 1585ee82201f6e34eee062a12e1b1c57123b8cdc2f2Rich Humphrey } 1595ee82201f6e34eee062a12e1b1c57123b8cdc2f2Rich Humphrey 1605773573687f3d05e5e97816b1c5d31e6a4d7f212Rich Humphrey @Implementation 1615773573687f3d05e5e97816b1c5d31e6a4d7f212Rich Humphrey public void setOnPreferenceClickListener( Preference.OnPreferenceClickListener onPreferenceClickListener ) { 1625773573687f3d05e5e97816b1c5d31e6a4d7f212Rich Humphrey this.onClickListener = onPreferenceClickListener; 1635773573687f3d05e5e97816b1c5d31e6a4d7f212Rich Humphrey } 1645773573687f3d05e5e97816b1c5d31e6a4d7f212Rich Humphrey 1655773573687f3d05e5e97816b1c5d31e6a4d7f212Rich Humphrey public Preference.OnPreferenceClickListener getOnPreferenceClickListener() { 1665773573687f3d05e5e97816b1c5d31e6a4d7f212Rich Humphrey return onClickListener; 1675773573687f3d05e5e97816b1c5d31e6a4d7f212Rich Humphrey } 168079a071612e45353e46bde2f29eff7e6fc762f01Rich Humphrey} 169