field public static final int RESULT_SUCCESS = 0; // 0x0
}
- public class PhoneStateListener {
- method public void onRadioPowerStateChanged(int);
- field public static final int LISTEN_RADIO_POWER_STATE_CHANGED = 8388608; // 0x800000
- }
-
public class ServiceState implements android.os.Parcelable {
method public android.telephony.NetworkRegistrationState getNetworkRegistrationState(int, int);
method public java.util.List<android.telephony.NetworkRegistrationState> getNetworkRegistrationStates();
method public boolean getEmergencyCallbackMode();
method public java.lang.String getIsimDomain();
method public int getPreferredNetworkType(int);
- method public int getRadioPowerState();
method public int getSimApplicationState();
method public int getSimCardState();
method public java.util.List<android.telephony.TelephonyHistogram> getTelephonyHistograms();
field public static final int NETWORK_MODE_TDSCDMA_WCDMA = 14; // 0xe
field public static final int NETWORK_MODE_WCDMA_ONLY = 2; // 0x2
field public static final int NETWORK_MODE_WCDMA_PREF = 0; // 0x0
- field public static final int RADIO_POWER_OFF = 0; // 0x0
- field public static final int RADIO_POWER_ON = 1; // 0x1
- field public static final int RADIO_POWER_UNAVAILABLE = 2; // 0x2
field public static final int SIM_ACTIVATION_STATE_ACTIVATED = 2; // 0x2
field public static final int SIM_ACTIVATION_STATE_ACTIVATING = 1; // 0x1
field public static final int SIM_ACTIVATION_STATE_DEACTIVATED = 3; // 0x3
private int mPreferredDataSubId = SubscriptionManager.INVALID_SUBSCRIPTION_ID;
- @TelephonyManager.RadioPowerState
- private int mRadioPowerState = TelephonyManager.RADIO_POWER_UNAVAILABLE;
-
private final LocalLog mLocalLog = new LocalLog(100);
private PreciseDataConnectionState mPreciseDataConnectionState =
remove(r.binder);
}
}
- if ((events & PhoneStateListener.LISTEN_RADIO_POWER_STATE_CHANGED) != 0) {
- try {
- r.callback.onRadioPowerStateChanged(mRadioPowerState);
- } catch (RemoteException ex) {
- remove(r.binder);
- }
- }
}
}
} else {
}
}
- public void notifyRadioPowerStateChanged(@TelephonyManager.RadioPowerState int state) {
- if (!checkNotifyPermission("notifyRadioPowerStateChanged()")) {
- return;
- }
-
- if (VDBG) {
- log("notifyRadioPowerStateChanged: state= " + state);
- }
-
- synchronized (mRecords) {
- mRadioPowerState = state;
-
- for (Record r : mRecords) {
- if (r.matchPhoneStateListenerEvent(
- PhoneStateListener.LISTEN_RADIO_POWER_STATE_CHANGED)) {
- try {
- r.callback.onRadioPowerStateChanged(state);
- } catch (RemoteException ex) {
- mRemoveList.add(r.binder);
- }
- }
- }
- handleRemoveListLocked();
- }
- }
-
@Override
public void dump(FileDescriptor fd, PrintWriter writer, String[] args) {
final IndentingPrintWriter pw = new IndentingPrintWriter(writer, " ");
pw.println("mVoLteServiceState=" + mVoLteServiceState);
pw.println("mPhoneCapability=" + mPhoneCapability);
pw.println("mPreferredDataSubId=" + mPreferredDataSubId);
- pw.println("mRadioPowerState=" + mRadioPowerState);
pw.decreaseIndent();
package android.telephony;
import android.annotation.NonNull;
-import android.annotation.SystemApi;
import android.annotation.UnsupportedAppUsage;
import android.os.Bundle;
import android.os.Handler;
*/
public static final int LISTEN_PREFERRED_DATA_SUBID_CHANGE = 0x00400000;
- /**
- * Listen for changes to the radio power state.
- *
- * @see #onRadioPowerStateChanged
- * @hide
- */
- @SystemApi
- public static final int LISTEN_RADIO_POWER_STATE_CHANGED = 0x00800000;
-
/*
* Subscription used to listen to the phone state changes
* @hide
case LISTEN_PREFERRED_DATA_SUBID_CHANGE:
PhoneStateListener.this.onPreferredDataSubIdChanged((int) msg.obj);
break;
- case LISTEN_RADIO_POWER_STATE_CHANGED:
- PhoneStateListener.this.onRadioPowerStateChanged((int) msg.obj);
- break;
}
}
};
}
/**
- * Callback invoked when modem radio power state changes. Requires
- * the READ_PRIVILEGED_PHONE_STATE permission.
- * @param state the modem radio power state
- * @hide
- */
- @SystemApi
- public void onRadioPowerStateChanged(@TelephonyManager.RadioPowerState int state) {
- // default implementation empty
- }
-
- /**
* Callback invoked when telephony has received notice from a carrier
* app that a network action that could result in connectivity loss
* has been requested by an app using
send(LISTEN_PREFERRED_DATA_SUBID_CHANGE, 0, 0, subId);
}
- public void onRadioPowerStateChanged(@TelephonyManager.RadioPowerState int state) {
- send(LISTEN_RADIO_POWER_STATE_CHANGED, 0, 0, state);
- }
-
}
/**
}
/** @hide */
- @Retention(RetentionPolicy.SOURCE)
- @IntDef(prefix = {"RADIO_POWER_"},
- value = {RADIO_POWER_OFF,
- RADIO_POWER_ON,
- RADIO_POWER_UNAVAILABLE,
- })
- public @interface RadioPowerState {}
-
- /**
- * Radio explicitly powered off (e.g, airplane mode).
- * @hide
- */
- @SystemApi
- public static final int RADIO_POWER_OFF = 0;
-
- /**
- * Radio power is on.
- * @hide
- */
- @SystemApi
- public static final int RADIO_POWER_ON = 1;
-
- /**
- * Radio power unavailable (eg, modem resetting or not booted).
- * @hide
- */
- @SystemApi
- public static final int RADIO_POWER_UNAVAILABLE = 2;
-
- /**
- * @return current modem radio state.
- *
- * <p>Requires permission: {@link android.Manifest.permission#READ_PRIVILEGED_PHONE_STATE} or
- * {@link android.Manifest.permission#READ_PHONE_STATE} or that the calling
- * app has carrier privileges (see {@link #hasCarrierPrivileges}).
- *
- * @hide
- */
- @SystemApi
- @RequiresPermission(anyOf = {android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE,
- android.Manifest.permission.READ_PHONE_STATE})
- public @RadioPowerState int getRadioPowerState() {
- try {
- ITelephony telephony = getITelephony();
- if (telephony != null) {
- return telephony.getRadioPowerState(getSlotIndex(), mContext.getOpPackageName());
- }
- } catch (RemoteException ex) {
- // This could happen if binder process crashes.
- }
- return RADIO_POWER_UNAVAILABLE;
- }
-
- /** @hide */
@SystemApi
@SuppressLint("Doclava125")
public void updateServiceLocation() {
void onUserMobileDataStateChanged(in boolean enabled);
void onPhoneCapabilityChanged(in PhoneCapability capability);
void onPreferredDataSubIdChanged(in int subId);
- void onRadioPowerStateChanged(in int state);
}
* Set the default SMS app to a given package on a given user.
*/
void setDefaultSmsApp(int userId, String packageName);
-
- /**
- * Return the modem radio power state for slot index.
- *
- */
- int getRadioPowerState(int slotIndex, String callingPackage);
}
void notifyUserMobileDataStateChangedForPhoneId(in int phoneId, in int subId, in boolean state);
void notifyPhoneCapabilityChanged(in PhoneCapability capability);
void notifyPreferredDataSubIdChanged(int preferredSubId);
- void notifyRadioPowerStateChanged(in int state);
}