1package com.android.gallery3d.ingest.data;
2
3import android.annotation.TargetApi;
4import android.os.Build;
5
6/**
7 * Date bucket for {@link MtpDeviceIndex}.
8 * See {@link MtpDeviceIndexRunnable} for implementation notes.
9 */
10@TargetApi(Build.VERSION_CODES.HONEYCOMB_MR1)
11class DateBucket implements Comparable<DateBucket> {
12  final SimpleDate date;
13  final int unifiedStartIndex;
14  final int unifiedEndIndex;
15  final int itemsStartIndex;
16  final int numItems;
17
18  public DateBucket(SimpleDate date, int unifiedStartIndex, int unifiedEndIndex,
19      int itemsStartIndex, int numItems) {
20    this.date = date;
21    this.unifiedStartIndex = unifiedStartIndex;
22    this.unifiedEndIndex = unifiedEndIndex;
23    this.itemsStartIndex = itemsStartIndex;
24    this.numItems = numItems;
25  }
26
27  @Override
28  public String toString() {
29    return date.toString();
30  }
31
32  @Override
33  public int hashCode() {
34    return date.hashCode();
35  }
36
37  @Override
38  public boolean equals(Object obj) {
39    if (this == obj) {
40      return true;
41    }
42    if (obj == null) {
43      return false;
44    }
45    if (!(obj instanceof DateBucket)) {
46      return false;
47    }
48    DateBucket other = (DateBucket) obj;
49    if (date == null) {
50      if (other.date != null) {
51        return false;
52      }
53    } else if (!date.equals(other.date)) {
54      return false;
55    }
56    return true;
57  }
58
59  @Override
60  public int compareTo(DateBucket another) {
61    return this.date.compareTo(another.date);
62  }
63}