summaryrefslogtreecommitdiff
path: root/sdklib/src/main/java/com/android/sdklib/devices/Hinge.java
blob: 9912663d5759b8c923e57f74d6c1ee47ea9b7782 (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
/*
 * Copyright (C) 2023 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package com.android.sdklib.devices;

import java.util.OptionalInt;

final class Hinge {
    private int mCount;
    private int mType;
    private int mSubtype;
    private String mRanges;
    private int mDefaults;
    private String mAreas;
    private int mFoldAtPosture = -1;
    private String mPostureList;
    private String mHingeAnglePostureDefinitions;

    int getCount() {
        return mCount;
    }

    void setCount(int count) {
        this.mCount = count;
    }

    int getType() {
        return mType;
    }

    void setType(int type) {
        this.mType = type;
    }

    int getSubtype() {
        return mSubtype;
    }

    void setSubtype(int subtype) {
        this.mSubtype = subtype;
    }

    String getRanges() {
        return mRanges;
    }

    void setRanges(String ranges) {
        this.mRanges = ranges;
    }

    int getDefaults() {
        return mDefaults;
    }

    void setDefaults(int defaults) {
        this.mDefaults = defaults;
    }

    String getAreas() {
        return mAreas;
    }

    void setAreas(String areas) {
        this.mAreas = areas;
    }

    OptionalInt getFoldAtPosture() {
        return mFoldAtPosture == -1 ? OptionalInt.empty() : OptionalInt.of(mFoldAtPosture);
    }

    void setFoldAtPosture(int foldAtPosture) {
        this.mFoldAtPosture = foldAtPosture;
    }

    String getPostureList() {
        return mPostureList;
    }

    void setPostureList(String postureList) {
        this.mPostureList = postureList;
    }

    String getHingeAnglePostureDefinitions() {
        return mHingeAnglePostureDefinitions;
    }

    void setHingeAnglePostureDefinitions(String hingeAnglePostureDefinitions) {
        this.mHingeAnglePostureDefinitions = hingeAnglePostureDefinitions;
    }

    /**
     * Returns a copy of the object that shares no state with it, but is initialized to equivalent
     * values.
     *
     * @return A copy of the object.
     */
    Hinge deepCopy() {
        Hinge h = new Hinge();
        h.mCount = mCount;
        h.mType = mType;
        h.mSubtype = mSubtype;
        h.mRanges = mRanges;
        h.mDefaults = mDefaults;
        h.mAreas = mAreas;
        h.mFoldAtPosture = mFoldAtPosture;
        h.mPostureList = mPostureList;
        h.mHingeAnglePostureDefinitions = mHingeAnglePostureDefinitions;
        return h;
    }
}