1a075f94a84c6dd3493700d0c752fc545642e44d5Mike Grafton & Tyler Schultzpackage com.xtremelabs.robolectric.shadows;
2a075f94a84c6dd3493700d0c752fc545642e44d5Mike Grafton & Tyler Schultz
3a075f94a84c6dd3493700d0c752fc545642e44d5Mike Grafton & Tyler Schultz
4a075f94a84c6dd3493700d0c752fc545642e44d5Mike Grafton & Tyler Schultzimport android.graphics.drawable.ColorDrawable;
5a075f94a84c6dd3493700d0c752fc545642e44d5Mike Grafton & Tyler Schultzimport com.xtremelabs.robolectric.internal.Implementation;
6a075f94a84c6dd3493700d0c752fc545642e44d5Mike Grafton & Tyler Schultzimport com.xtremelabs.robolectric.internal.Implements;
7a075f94a84c6dd3493700d0c752fc545642e44d5Mike Grafton & Tyler Schultz
8a075f94a84c6dd3493700d0c752fc545642e44d5Mike Grafton & Tyler Schultzimport static com.xtremelabs.robolectric.Robolectric.shadowOf;
9a075f94a84c6dd3493700d0c752fc545642e44d5Mike Grafton & Tyler Schultz
10a075f94a84c6dd3493700d0c752fc545642e44d5Mike Grafton & Tyler Schultz@Implements(ColorDrawable.class)
11a075f94a84c6dd3493700d0c752fc545642e44d5Mike Grafton & Tyler Schultzpublic class ShadowColorDrawable extends ShadowDrawable {
12a075f94a84c6dd3493700d0c752fc545642e44d5Mike Grafton & Tyler Schultz
13a075f94a84c6dd3493700d0c752fc545642e44d5Mike Grafton & Tyler Schultz    int colorResourceId;
14a075f94a84c6dd3493700d0c752fc545642e44d5Mike Grafton & Tyler Schultz
15a075f94a84c6dd3493700d0c752fc545642e44d5Mike Grafton & Tyler Schultz    public void __constructor__(int color) {
16a075f94a84c6dd3493700d0c752fc545642e44d5Mike Grafton & Tyler Schultz      colorResourceId = color;
17a075f94a84c6dd3493700d0c752fc545642e44d5Mike Grafton & Tyler Schultz    }
18a075f94a84c6dd3493700d0c752fc545642e44d5Mike Grafton & Tyler Schultz
19a075f94a84c6dd3493700d0c752fc545642e44d5Mike Grafton & Tyler Schultz    @Override @Implementation
20a075f94a84c6dd3493700d0c752fc545642e44d5Mike Grafton & Tyler Schultz    public boolean equals(Object o) {
21a075f94a84c6dd3493700d0c752fc545642e44d5Mike Grafton & Tyler Schultz      if (realObject == o) return true;
22a075f94a84c6dd3493700d0c752fc545642e44d5Mike Grafton & Tyler Schultz      if (o == null || realObject.getClass() != o.getClass()) return false;
23a075f94a84c6dd3493700d0c752fc545642e44d5Mike Grafton & Tyler Schultz
24a075f94a84c6dd3493700d0c752fc545642e44d5Mike Grafton & Tyler Schultz      if (!super.equals(o)) return false;
25a075f94a84c6dd3493700d0c752fc545642e44d5Mike Grafton & Tyler Schultz
26a075f94a84c6dd3493700d0c752fc545642e44d5Mike Grafton & Tyler Schultz      ShadowColorDrawable that = shadowOf((ColorDrawable)o);
27a075f94a84c6dd3493700d0c752fc545642e44d5Mike Grafton & Tyler Schultz
28a075f94a84c6dd3493700d0c752fc545642e44d5Mike Grafton & Tyler Schultz      if (colorResourceId != that.colorResourceId) return false;
29a075f94a84c6dd3493700d0c752fc545642e44d5Mike Grafton & Tyler Schultz
30a075f94a84c6dd3493700d0c752fc545642e44d5Mike Grafton & Tyler Schultz      return true;
31a075f94a84c6dd3493700d0c752fc545642e44d5Mike Grafton & Tyler Schultz    }
32a075f94a84c6dd3493700d0c752fc545642e44d5Mike Grafton & Tyler Schultz
33a075f94a84c6dd3493700d0c752fc545642e44d5Mike Grafton & Tyler Schultz    @Override @Implementation
34a075f94a84c6dd3493700d0c752fc545642e44d5Mike Grafton & Tyler Schultz    public int hashCode() {
35a075f94a84c6dd3493700d0c752fc545642e44d5Mike Grafton & Tyler Schultz      int result = super.hashCode();
36a075f94a84c6dd3493700d0c752fc545642e44d5Mike Grafton & Tyler Schultz      result = 31 * result + colorResourceId;
37a075f94a84c6dd3493700d0c752fc545642e44d5Mike Grafton & Tyler Schultz      return result;
38a075f94a84c6dd3493700d0c752fc545642e44d5Mike Grafton & Tyler Schultz    }
39a075f94a84c6dd3493700d0c752fc545642e44d5Mike Grafton & Tyler Schultz}
40