Welcome to mirror list, hosted at ThFree Co, Russian Federation.

BookingFilterParams.java « search « maps « mapswithme « com « src « android - github.com/mapsme/omim.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 6000ddbda66ccd0033efa90481e7c1ba4671bea5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
package com.mapswithme.maps.search;

import android.os.Parcel;
import android.os.Parcelable;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;

import com.mapswithme.util.ConnectionState;

public class BookingFilterParams implements Parcelable
{
  protected BookingFilterParams(Parcel in)
  {
    mCheckinMillisec = in.readLong();
    mCheckoutMillisec = in.readLong();
    mRooms = in.createTypedArray(Room.CREATOR);
  }

  public static final Creator<BookingFilterParams> CREATOR = new Creator<BookingFilterParams>()
  {
    @Override
    public BookingFilterParams createFromParcel(Parcel in)
    {
      return new BookingFilterParams(in);
    }

    @Override
    public BookingFilterParams[] newArray(int size)
    {
      return new BookingFilterParams[size];
    }
  };

  @Override
  public int describeContents()
  {
    return 0;
  }

  @Override
  public void writeToParcel(Parcel dest, int flags)
  {
    dest.writeLong(mCheckinMillisec);
    dest.writeLong(mCheckoutMillisec);
    dest.writeTypedArray(mRooms, flags);
  }

  static class Room implements Parcelable
  {
    // This value is corresponds to AvailabilityParams::Room::kNoChildren in core.
    static final int NO_CHILDREN = -1;
    static final Room DEFAULT = new Room(2);
    private int mAdultsCount;
    private int mAgeOfChild;

    Room(int adultsCount)
    {
      mAdultsCount = adultsCount;
      mAgeOfChild = NO_CHILDREN;
    }

    Room(int adultsCount, int ageOfChild)
    {
      mAdultsCount = adultsCount;
      mAgeOfChild = ageOfChild;
    }

    protected Room(Parcel in)
    {
      mAdultsCount = in.readInt();
      mAgeOfChild = in.readInt();
    }

    public static final Creator<Room> CREATOR = new Creator<Room>()
    {
      @Override
      public Room createFromParcel(Parcel in)
      {
        return new Room(in);
      }

      @Override
      public Room[] newArray(int size)
      {
        return new Room[size];
      }
    };

    @Override
    public int describeContents()
    {
      return 0;
    }

    @Override
    public void writeToParcel(Parcel dest, int flags)
    {
      dest.writeInt(mAdultsCount);
      dest.writeInt(mAgeOfChild);
    }
  }

  private long mCheckinMillisec;
  private long  mCheckoutMillisec;
  @NonNull
  private final Room[] mRooms;

  private BookingFilterParams(long checkinMillisec, long checkoutMillisec, @NonNull Room... rooms)
  {
    mCheckinMillisec = checkinMillisec;
    mCheckoutMillisec = checkoutMillisec;
    mRooms = rooms;
  }

  public long getCheckinMillisec()
  {
    return mCheckinMillisec;
  }

  public long getCheckoutMillisec()
  {
    return mCheckoutMillisec;
  }

  @NonNull
  public Room[] getRooms()
  {
    return mRooms;
  }


  public static class Factory
  {
    @Nullable
    public BookingFilterParams createParams(long checkIn, long checkOut, @NonNull Room... rooms)
    {
      return ConnectionState.isConnected() ? new BookingFilterParams(checkIn, checkOut, rooms)
                                           : null;
    }
  }
}