1079a071612e45353e46bde2f29eff7e6fc762f01Rich Humphreypackage com.xtremelabs.robolectric.shadows; 2079a071612e45353e46bde2f29eff7e6fc762f01Rich Humphrey 3079a071612e45353e46bde2f29eff7e6fc762f01Rich Humphreyimport android.content.Context; 48a9faa25fa0a1bdc4f7acc09ac968da63540997cadriancowhamimport android.content.Intent; 5079a071612e45353e46bde2f29eff7e6fc762f01Rich Humphreyimport android.preference.Preference; 6079a071612e45353e46bde2f29eff7e6fc762f01Rich Humphreyimport android.util.AttributeSet; 7079a071612e45353e46bde2f29eff7e6fc762f01Rich Humphrey 8079a071612e45353e46bde2f29eff7e6fc762f01Rich Humphreyimport com.xtremelabs.robolectric.internal.Implementation; 9079a071612e45353e46bde2f29eff7e6fc762f01Rich Humphreyimport com.xtremelabs.robolectric.internal.Implements; 1013c284c27d1e302a3564a8b4259922b64ca7678dRich Humphreyimport com.xtremelabs.robolectric.internal.RealObject; 11079a071612e45353e46bde2f29eff7e6fc762f01Rich Humphrey 12079a071612e45353e46bde2f29eff7e6fc762f01Rich Humphrey@Implements(Preference.class) 13079a071612e45353e46bde2f29eff7e6fc762f01Rich Humphreypublic class ShadowPreference { 14079a071612e45353e46bde2f29eff7e6fc762f01Rich Humphrey 1513c284c27d1e302a3564a8b4259922b64ca7678dRich Humphrey @RealObject private Preference realPreference; 1613c284c27d1e302a3564a8b4259922b64ca7678dRich Humphrey 1713c284c27d1e302a3564a8b4259922b64ca7678dRich Humphrey protected Context context; 18079a071612e45353e46bde2f29eff7e6fc762f01Rich Humphrey protected AttributeSet attrs; 19079a071612e45353e46bde2f29eff7e6fc762f01Rich Humphrey protected int defStyle; 205773573687f3d05e5e97816b1c5d31e6a4d7f212Rich Humphrey 2165b198f024aea2f29ce34287bbe6027a632d37b1Rich Humphrey protected String key; 22d876b7e662a061353260034129afd9605c7b8f40Rich Humphrey protected CharSequence title; 23d876b7e662a061353260034129afd9605c7b8f40Rich Humphrey protected CharSequence summary; 24395ccc7732a27c21af50ae8dad634c80a2c0f14cRich Humphrey protected Object defaultValue; 255ee82201f6e34eee062a12e1b1c57123b8cdc2f2Rich Humphrey protected int order; 265773573687f3d05e5e97816b1c5d31e6a4d7f212Rich Humphrey protected boolean enabled = true; 279d14e4b4b8e308dba6455a7e2c780c32cff6d273Michael Portuesi protected String dependencyKey; 28db942f0867e5e1f3bc97eb8facf686bdbca7c20aRich Humphrey protected boolean persistent = false; 295773573687f3d05e5e97816b1c5d31e6a4d7f212Rich Humphrey protected int persistedInt; 305773573687f3d05e5e97816b1c5d31e6a4d7f212Rich Humphrey protected Object callChangeListenerValue = null; 315773573687f3d05e5e97816b1c5d31e6a4d7f212Rich Humphrey 325773573687f3d05e5e97816b1c5d31e6a4d7f212Rich Humphrey protected Preference.OnPreferenceClickListener onClickListener; 338a9faa25fa0a1bdc4f7acc09ac968da63540997cadriancowham private Intent intent; 34860f8c39f4b14a23d103310d523c7855d40b8f58Rich Humphrey 35ca3a400d69d3b4c697d78c4013d9d78b46053272Rich Humphrey public void __constructor__(Context context) { 36ca3a400d69d3b4c697d78c4013d9d78b46053272Rich Humphrey __constructor__(context, null, 0); 37ca3a400d69d3b4c697d78c4013d9d78b46053272Rich Humphrey } 38ca3a400d69d3b4c697d78c4013d9d78b46053272Rich Humphrey 3938c6ce36d70bb518e9a2a8e1b496ce4c225e8d44Rich Humphrey public void __constructor__(Context context, AttributeSet attributeSet) { 4038c6ce36d70bb518e9a2a8e1b496ce4c225e8d44Rich Humphrey __constructor__(context, attributeSet, 0); 41079a071612e45353e46bde2f29eff7e6fc762f01Rich Humphrey } 4238c6ce36d70bb518e9a2a8e1b496ce4c225e8d44Rich Humphrey 4338c6ce36d70bb518e9a2a8e1b496ce4c225e8d44Rich Humphrey public void __constructor__(Context context, AttributeSet attributeSet, int defStyle) { 44079a071612e45353e46bde2f29eff7e6fc762f01Rich Humphrey this.context = context; 4538c6ce36d70bb518e9a2a8e1b496ce4c225e8d44Rich Humphrey this.attrs = attributeSet; 4638c6ce36d70bb518e9a2a8e1b496ce4c225e8d44Rich Humphrey this.defStyle = defStyle; 4738c6ce36d70bb518e9a2a8e1b496ce4c225e8d44Rich Humphrey 4838c6ce36d70bb518e9a2a8e1b496ce4c225e8d44Rich Humphrey if (attributeSet != null) { 4938c6ce36d70bb518e9a2a8e1b496ce4c225e8d44Rich Humphrey key = attributeSet.getAttributeValue("android", "key"); 5038c6ce36d70bb518e9a2a8e1b496ce4c225e8d44Rich Humphrey } 51079a071612e45353e46bde2f29eff7e6fc762f01Rich Humphrey } 52079a071612e45353e46bde2f29eff7e6fc762f01Rich Humphrey 53079a071612e45353e46bde2f29eff7e6fc762f01Rich Humphrey @Implementation 5438c6ce36d70bb518e9a2a8e1b496ce4c225e8d44Rich Humphrey public Context getContext() { 55079a071612e45353e46bde2f29eff7e6fc762f01Rich Humphrey return context; 56079a071612e45353e46bde2f29eff7e6fc762f01Rich Humphrey } 57079a071612e45353e46bde2f29eff7e6fc762f01Rich Humphrey 58079a071612e45353e46bde2f29eff7e6fc762f01Rich Humphrey public AttributeSet getAttrs() { 59079a071612e45353e46bde2f29eff7e6fc762f01Rich Humphrey return attrs; 60079a071612e45353e46bde2f29eff7e6fc762f01Rich Humphrey } 61079a071612e45353e46bde2f29eff7e6fc762f01Rich Humphrey 62079a071612e45353e46bde2f29eff7e6fc762f01Rich Humphrey public int getDefStyle() { 63079a071612e45353e46bde2f29eff7e6fc762f01Rich Humphrey return defStyle; 64079a071612e45353e46bde2f29eff7e6fc762f01Rich Humphrey } 65860f8c39f4b14a23d103310d523c7855d40b8f58Rich Humphrey 66860f8c39f4b14a23d103310d523c7855d40b8f58Rich Humphrey @Implementation 67860f8c39f4b14a23d103310d523c7855d40b8f58Rich Humphrey public void setEnabled(boolean enabled) { 68860f8c39f4b14a23d103310d523c7855d40b8f58Rich Humphrey this.enabled = enabled; 69860f8c39f4b14a23d103310d523c7855d40b8f58Rich Humphrey } 70860f8c39f4b14a23d103310d523c7855d40b8f58Rich Humphrey 71860f8c39f4b14a23d103310d523c7855d40b8f58Rich Humphrey @Implementation 72860f8c39f4b14a23d103310d523c7855d40b8f58Rich Humphrey public boolean isEnabled() { 73860f8c39f4b14a23d103310d523c7855d40b8f58Rich Humphrey return enabled; 74860f8c39f4b14a23d103310d523c7855d40b8f58Rich Humphrey } 75860f8c39f4b14a23d103310d523c7855d40b8f58Rich Humphrey 7697f349c4ea58c18d79083dc9a02353bbe2a56fbfRich Humphrey @Implementation 7797f349c4ea58c18d79083dc9a02353bbe2a56fbfRich Humphrey public boolean shouldPersist() { 78db942f0867e5e1f3bc97eb8facf686bdbca7c20aRich Humphrey return persistent; 7997f349c4ea58c18d79083dc9a02353bbe2a56fbfRich Humphrey } 80db942f0867e5e1f3bc97eb8facf686bdbca7c20aRich Humphrey 81db942f0867e5e1f3bc97eb8facf686bdbca7c20aRich Humphrey @Implementation 82db942f0867e5e1f3bc97eb8facf686bdbca7c20aRich Humphrey public boolean isPersistent() { 83db942f0867e5e1f3bc97eb8facf686bdbca7c20aRich Humphrey return persistent; 84db942f0867e5e1f3bc97eb8facf686bdbca7c20aRich Humphrey } 85db942f0867e5e1f3bc97eb8facf686bdbca7c20aRich Humphrey 86db942f0867e5e1f3bc97eb8facf686bdbca7c20aRich Humphrey @Implementation 87db942f0867e5e1f3bc97eb8facf686bdbca7c20aRich Humphrey public void setPersistent(boolean persistent) { 88db942f0867e5e1f3bc97eb8facf686bdbca7c20aRich Humphrey this.persistent = persistent; 8997f349c4ea58c18d79083dc9a02353bbe2a56fbfRich Humphrey } 9097f349c4ea58c18d79083dc9a02353bbe2a56fbfRich Humphrey 9197f349c4ea58c18d79083dc9a02353bbe2a56fbfRich Humphrey @Implementation 9297f349c4ea58c18d79083dc9a02353bbe2a56fbfRich Humphrey public int getPersistedInt(int defaultReturnValue) { 93db942f0867e5e1f3bc97eb8facf686bdbca7c20aRich Humphrey return persistent ? persistedInt : defaultReturnValue; 9497f349c4ea58c18d79083dc9a02353bbe2a56fbfRich Humphrey } 9597f349c4ea58c18d79083dc9a02353bbe2a56fbfRich Humphrey 96c1cb9c7b5226198b51f272c6e41d8630f123d023Rich Humphrey @Implementation 97c1cb9c7b5226198b51f272c6e41d8630f123d023Rich Humphrey public boolean persistInt(int value) { 98c1cb9c7b5226198b51f272c6e41d8630f123d023Rich Humphrey this.persistedInt = value; 99db942f0867e5e1f3bc97eb8facf686bdbca7c20aRich Humphrey return persistent; 100c1cb9c7b5226198b51f272c6e41d8630f123d023Rich Humphrey } 101c1cb9c7b5226198b51f272c6e41d8630f123d023Rich Humphrey 102c1cb9c7b5226198b51f272c6e41d8630f123d023Rich Humphrey @Implementation 103c1cb9c7b5226198b51f272c6e41d8630f123d023Rich Humphrey public boolean callChangeListener(Object newValue) { 104c1cb9c7b5226198b51f272c6e41d8630f123d023Rich Humphrey callChangeListenerValue = newValue; 105c1cb9c7b5226198b51f272c6e41d8630f123d023Rich Humphrey return true; 106c1cb9c7b5226198b51f272c6e41d8630f123d023Rich Humphrey } 107c1cb9c7b5226198b51f272c6e41d8630f123d023Rich Humphrey 108c1cb9c7b5226198b51f272c6e41d8630f123d023Rich Humphrey public Object getCallChangeListenerValue() { 109c1cb9c7b5226198b51f272c6e41d8630f123d023Rich Humphrey return callChangeListenerValue; 11097f349c4ea58c18d79083dc9a02353bbe2a56fbfRich Humphrey } 11165b198f024aea2f29ce34287bbe6027a632d37b1Rich Humphrey 11265b198f024aea2f29ce34287bbe6027a632d37b1Rich Humphrey @Implementation 113d876b7e662a061353260034129afd9605c7b8f40Rich Humphrey public void setSummary(int summaryResId) { 114d876b7e662a061353260034129afd9605c7b8f40Rich Humphrey this.summary = context.getResources().getText(summaryResId); 115d876b7e662a061353260034129afd9605c7b8f40Rich Humphrey } 116d876b7e662a061353260034129afd9605c7b8f40Rich Humphrey 117d876b7e662a061353260034129afd9605c7b8f40Rich Humphrey @Implementation 118d876b7e662a061353260034129afd9605c7b8f40Rich Humphrey public void setSummary(CharSequence summary) { 119d876b7e662a061353260034129afd9605c7b8f40Rich Humphrey this.summary = summary; 120d876b7e662a061353260034129afd9605c7b8f40Rich Humphrey } 121d876b7e662a061353260034129afd9605c7b8f40Rich Humphrey 122d876b7e662a061353260034129afd9605c7b8f40Rich Humphrey @Implementation 123d876b7e662a061353260034129afd9605c7b8f40Rich Humphrey public CharSequence getSummary() { 124d876b7e662a061353260034129afd9605c7b8f40Rich Humphrey return summary; 125d876b7e662a061353260034129afd9605c7b8f40Rich Humphrey } 126d876b7e662a061353260034129afd9605c7b8f40Rich Humphrey 127d876b7e662a061353260034129afd9605c7b8f40Rich Humphrey @Implementation 12865b198f024aea2f29ce34287bbe6027a632d37b1Rich Humphrey public void setTitle(int titleResId) { 12965b198f024aea2f29ce34287bbe6027a632d37b1Rich Humphrey this.title = context.getResources().getText(titleResId); 13065b198f024aea2f29ce34287bbe6027a632d37b1Rich Humphrey } 13165b198f024aea2f29ce34287bbe6027a632d37b1Rich Humphrey 13265b198f024aea2f29ce34287bbe6027a632d37b1Rich Humphrey @Implementation 13365b198f024aea2f29ce34287bbe6027a632d37b1Rich Humphrey public void setTitle(CharSequence title) { 13465b198f024aea2f29ce34287bbe6027a632d37b1Rich Humphrey this.title = title; 13565b198f024aea2f29ce34287bbe6027a632d37b1Rich Humphrey } 13665b198f024aea2f29ce34287bbe6027a632d37b1Rich Humphrey 13765b198f024aea2f29ce34287bbe6027a632d37b1Rich Humphrey @Implementation 13865b198f024aea2f29ce34287bbe6027a632d37b1Rich Humphrey public CharSequence getTitle() { 13965b198f024aea2f29ce34287bbe6027a632d37b1Rich Humphrey return title; 14065b198f024aea2f29ce34287bbe6027a632d37b1Rich Humphrey } 14165b198f024aea2f29ce34287bbe6027a632d37b1Rich Humphrey 14265b198f024aea2f29ce34287bbe6027a632d37b1Rich Humphrey @Implementation 14365b198f024aea2f29ce34287bbe6027a632d37b1Rich Humphrey public void setKey(String key) { 14465b198f024aea2f29ce34287bbe6027a632d37b1Rich Humphrey this.key = key; 14565b198f024aea2f29ce34287bbe6027a632d37b1Rich Humphrey } 14665b198f024aea2f29ce34287bbe6027a632d37b1Rich Humphrey 14765b198f024aea2f29ce34287bbe6027a632d37b1Rich Humphrey @Implementation 14865b198f024aea2f29ce34287bbe6027a632d37b1Rich Humphrey public String getKey() { 14965b198f024aea2f29ce34287bbe6027a632d37b1Rich Humphrey return key; 15065b198f024aea2f29ce34287bbe6027a632d37b1Rich Humphrey } 15165b198f024aea2f29ce34287bbe6027a632d37b1Rich Humphrey 152395ccc7732a27c21af50ae8dad634c80a2c0f14cRich Humphrey @Implementation 153395ccc7732a27c21af50ae8dad634c80a2c0f14cRich Humphrey public void setDefaultValue(Object defaultValue) { 154395ccc7732a27c21af50ae8dad634c80a2c0f14cRich Humphrey this.defaultValue = defaultValue; 155395ccc7732a27c21af50ae8dad634c80a2c0f14cRich Humphrey } 156395ccc7732a27c21af50ae8dad634c80a2c0f14cRich Humphrey 157395ccc7732a27c21af50ae8dad634c80a2c0f14cRich Humphrey public Object getDefaultValue() { 158395ccc7732a27c21af50ae8dad634c80a2c0f14cRich Humphrey return defaultValue; 159395ccc7732a27c21af50ae8dad634c80a2c0f14cRich Humphrey } 160395ccc7732a27c21af50ae8dad634c80a2c0f14cRich Humphrey 1615ee82201f6e34eee062a12e1b1c57123b8cdc2f2Rich Humphrey @Implementation 1625ee82201f6e34eee062a12e1b1c57123b8cdc2f2Rich Humphrey public int getOrder() { 1635ee82201f6e34eee062a12e1b1c57123b8cdc2f2Rich Humphrey return order; 1645ee82201f6e34eee062a12e1b1c57123b8cdc2f2Rich Humphrey } 1655ee82201f6e34eee062a12e1b1c57123b8cdc2f2Rich Humphrey 1665ee82201f6e34eee062a12e1b1c57123b8cdc2f2Rich Humphrey @Implementation 1675ee82201f6e34eee062a12e1b1c57123b8cdc2f2Rich Humphrey public void setOrder(int order) { 1685ee82201f6e34eee062a12e1b1c57123b8cdc2f2Rich Humphrey this.order = order; 1695ee82201f6e34eee062a12e1b1c57123b8cdc2f2Rich Humphrey } 1705ee82201f6e34eee062a12e1b1c57123b8cdc2f2Rich Humphrey 1715773573687f3d05e5e97816b1c5d31e6a4d7f212Rich Humphrey @Implementation 1725773573687f3d05e5e97816b1c5d31e6a4d7f212Rich Humphrey public void setOnPreferenceClickListener( Preference.OnPreferenceClickListener onPreferenceClickListener ) { 1735773573687f3d05e5e97816b1c5d31e6a4d7f212Rich Humphrey this.onClickListener = onPreferenceClickListener; 1745773573687f3d05e5e97816b1c5d31e6a4d7f212Rich Humphrey } 1755773573687f3d05e5e97816b1c5d31e6a4d7f212Rich Humphrey 176ecf727a38f7d70cf2e39ddcf757bfcb859e0809dadriancowham @Implementation 1775773573687f3d05e5e97816b1c5d31e6a4d7f212Rich Humphrey public Preference.OnPreferenceClickListener getOnPreferenceClickListener() { 1785773573687f3d05e5e97816b1c5d31e6a4d7f212Rich Humphrey return onClickListener; 1795773573687f3d05e5e97816b1c5d31e6a4d7f212Rich Humphrey } 18013c284c27d1e302a3564a8b4259922b64ca7678dRich Humphrey 18113c284c27d1e302a3564a8b4259922b64ca7678dRich Humphrey public boolean click() { 18213c284c27d1e302a3564a8b4259922b64ca7678dRich Humphrey return onClickListener.onPreferenceClick(realPreference); 183ecf727a38f7d70cf2e39ddcf757bfcb859e0809dadriancowham } 1848a9faa25fa0a1bdc4f7acc09ac968da63540997cadriancowham 1858a9faa25fa0a1bdc4f7acc09ac968da63540997cadriancowham @Implementation 1868a9faa25fa0a1bdc4f7acc09ac968da63540997cadriancowham public void setIntent(Intent i) { 1878a9faa25fa0a1bdc4f7acc09ac968da63540997cadriancowham this.intent = i; 1888a9faa25fa0a1bdc4f7acc09ac968da63540997cadriancowham } 1898a9faa25fa0a1bdc4f7acc09ac968da63540997cadriancowham 1908a9faa25fa0a1bdc4f7acc09ac968da63540997cadriancowham @Implementation 1918a9faa25fa0a1bdc4f7acc09ac968da63540997cadriancowham public Intent getIntent() { 1928a9faa25fa0a1bdc4f7acc09ac968da63540997cadriancowham return this.intent; 1938a9faa25fa0a1bdc4f7acc09ac968da63540997cadriancowham 19413c284c27d1e302a3564a8b4259922b64ca7678dRich Humphrey } 1959d14e4b4b8e308dba6455a7e2c780c32cff6d273Michael Portuesi 1969d14e4b4b8e308dba6455a7e2c780c32cff6d273Michael Portuesi @Implementation 1979d14e4b4b8e308dba6455a7e2c780c32cff6d273Michael Portuesi public void setDependency(String dependencyKey) { 1989d14e4b4b8e308dba6455a7e2c780c32cff6d273Michael Portuesi this.dependencyKey = dependencyKey; 1999d14e4b4b8e308dba6455a7e2c780c32cff6d273Michael Portuesi } 2009d14e4b4b8e308dba6455a7e2c780c32cff6d273Michael Portuesi 2019d14e4b4b8e308dba6455a7e2c780c32cff6d273Michael Portuesi @Implementation 2029d14e4b4b8e308dba6455a7e2c780c32cff6d273Michael Portuesi public String getDependency() { 2039d14e4b4b8e308dba6455a7e2c780c32cff6d273Michael Portuesi return this.dependencyKey; 2049d14e4b4b8e308dba6455a7e2c780c32cff6d273Michael Portuesi } 205079a071612e45353e46bde2f29eff7e6fc762f01Rich Humphrey} 206