To prepare for enabling MissingNullability Metalava check this CL works on adding missing nullability issues that metalava flags if we tell it to flag new things since API 29. This is not a complete CL, mostly addresses public api and toString/equals for @SystemApi Exempt-From-Owner-Approval: Large scale nullability clean up Bug: 124515653 Test: make -j checkapi Merged-In: I109260842cfc25f06e40694997fcbb4afa02c867 Change-Id: I109260842cfc25f06e40694997fcbb4afa02c867
143 lines
4.0 KiB
Java
143 lines
4.0 KiB
Java
/*
|
|
* Copyright (C) 2018 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 android.telephony;
|
|
|
|
import android.annotation.IntDef;
|
|
import android.annotation.NonNull;
|
|
import android.annotation.Nullable;
|
|
import android.annotation.SystemApi;
|
|
import android.annotation.TestApi;
|
|
import android.os.Parcel;
|
|
import android.os.Parcelable;
|
|
|
|
import java.lang.annotation.Retention;
|
|
import java.lang.annotation.RetentionPolicy;
|
|
import java.util.Objects;
|
|
|
|
/**
|
|
* Class stores information related to LTE network VoPS support
|
|
* @hide
|
|
*/
|
|
@SystemApi
|
|
@TestApi
|
|
public final class LteVopsSupportInfo implements Parcelable {
|
|
|
|
/**@hide*/
|
|
@Retention(RetentionPolicy.SOURCE)
|
|
@IntDef(
|
|
value = {LTE_STATUS_NOT_AVAILABLE, LTE_STATUS_SUPPORTED,
|
|
LTE_STATUS_NOT_SUPPORTED}, prefix = "LTE_STATUS_")
|
|
public @interface LteVopsStatus {}
|
|
/**
|
|
* Indicates information not available from modem.
|
|
*/
|
|
public static final int LTE_STATUS_NOT_AVAILABLE = 1;
|
|
|
|
/**
|
|
* Indicates network support the feature.
|
|
*/
|
|
public static final int LTE_STATUS_SUPPORTED = 2;
|
|
|
|
/**
|
|
* Indicates network does not support the feature.
|
|
*/
|
|
public static final int LTE_STATUS_NOT_SUPPORTED = 3;
|
|
|
|
@LteVopsStatus
|
|
private final int mVopsSupport;
|
|
@LteVopsStatus
|
|
private final int mEmcBearerSupport;
|
|
|
|
public LteVopsSupportInfo(@LteVopsStatus int vops, @LteVopsStatus int emergency) {
|
|
mVopsSupport = vops;
|
|
mEmcBearerSupport = emergency;
|
|
}
|
|
|
|
/**
|
|
* Provides the LTE VoPS support capability as described in:
|
|
* 3GPP 24.301 EPS network feature support -> IMS VoPS
|
|
*/
|
|
public @LteVopsStatus int getVopsSupport() {
|
|
return mVopsSupport;
|
|
}
|
|
|
|
/**
|
|
* Provides the LTE Emergency bearer support capability as described in:
|
|
* 3GPP 24.301 EPS network feature support -> EMC BS
|
|
* 25.331 LTE RRC SIB1 : ims-EmergencySupport-r9
|
|
*/
|
|
public @LteVopsStatus int getEmcBearerSupport() {
|
|
return mEmcBearerSupport;
|
|
}
|
|
|
|
@Override
|
|
public int describeContents() {
|
|
return 0;
|
|
}
|
|
|
|
@Override
|
|
public void writeToParcel(Parcel out, int flags) {
|
|
out.writeInt(mVopsSupport);
|
|
out.writeInt(mEmcBearerSupport);
|
|
}
|
|
|
|
@Override
|
|
public boolean equals(@Nullable Object o) {
|
|
if (o == null || !(o instanceof LteVopsSupportInfo)) {
|
|
return false;
|
|
}
|
|
if (this == o) return true;
|
|
LteVopsSupportInfo other = (LteVopsSupportInfo) o;
|
|
return mVopsSupport == other.mVopsSupport
|
|
&& mEmcBearerSupport == other.mEmcBearerSupport;
|
|
}
|
|
|
|
@Override
|
|
public int hashCode() {
|
|
return Objects.hash(mVopsSupport, mEmcBearerSupport);
|
|
}
|
|
|
|
/**
|
|
* @return string representation.
|
|
*/
|
|
@NonNull
|
|
@Override
|
|
public String toString() {
|
|
return ("LteVopsSupportInfo : "
|
|
+ " mVopsSupport = " + mVopsSupport
|
|
+ " mEmcBearerSupport = " + mEmcBearerSupport);
|
|
}
|
|
|
|
public static final @android.annotation.NonNull Creator<LteVopsSupportInfo> CREATOR =
|
|
new Creator<LteVopsSupportInfo>() {
|
|
@Override
|
|
public LteVopsSupportInfo createFromParcel(Parcel in) {
|
|
return new LteVopsSupportInfo(in);
|
|
}
|
|
|
|
@Override
|
|
public LteVopsSupportInfo[] newArray(int size) {
|
|
return new LteVopsSupportInfo[size];
|
|
}
|
|
};
|
|
|
|
private LteVopsSupportInfo(Parcel in) {
|
|
mVopsSupport = in.readInt();
|
|
mEmcBearerSupport = in.readInt();
|
|
}
|
|
}
|