Loading api/current.txt +1 −1 Original line number Diff line number Diff line Loading @@ -28959,9 +28959,9 @@ package android.telephony { method public boolean isVoiceCapable(); method public void listen(android.telephony.PhoneStateListener, int); method public java.lang.String sendEnvelopeWithStatus(java.lang.String); method public boolean setGlobalPreferredNetworkType(); method public boolean setLine1NumberForDisplay(java.lang.String, java.lang.String); method public boolean setOperatorBrandOverride(java.lang.String); method public boolean setPreferredNetworkTypeToGlobal(); method public boolean setVoiceMailNumber(java.lang.String, java.lang.String); field public static final java.lang.String ACTION_PHONE_STATE_CHANGED = "android.intent.action.PHONE_STATE"; field public static final java.lang.String ACTION_RESPOND_VIA_MESSAGE = "android.intent.action.RESPOND_VIA_MESSAGE"; core/java/android/app/admin/DevicePolicyManager.java +10 −10 Original line number Diff line number Diff line Loading @@ -469,20 +469,20 @@ public class DevicePolicyManager { = "android.app.action.SET_NEW_PASSWORD"; /** * Flag used by {@link #addCrossProfileIntentFilter} to allow access * <em>from</em> a managed profile <em>to</em> its parent. That is, any * matching activities in the parent profile are included in the * disambiguation list shown when an app in the managed profile calls * {@link Activity#startActivity(Intent)}. * Flag used by {@link #addCrossProfileIntentFilter} to allow activities in * the parent profile to access intents sent from the managed profile. * That is, when an app in the managed profile calls * {@link Activity#startActivity(Intent)}, the intent can be resolved by a * matching activity in the parent profile. */ public static final int FLAG_PARENT_CAN_ACCESS_MANAGED = 0x0001; /** * Flag used by {@link #addCrossProfileIntentFilter} to allow access * <em>from</em> a parent <em>to</em> its managed profile. That is, any * matching activities in the managed profile are included in the * disambiguation list shown when an app in the parent profile calls * {@link Activity#startActivity(Intent)}. * Flag used by {@link #addCrossProfileIntentFilter} to allow activities in * the managed profile to access intents sent from the parent profile. * That is, when an app in the parent profile calls * {@link Activity#startActivity(Intent)}, the intent can be resolved by a * matching activity in the managed profile. */ public static final int FLAG_MANAGED_CAN_ACCESS_PARENT = 0x0002; Loading core/java/com/android/internal/util/StateMachine.java +16 −9 Original line number Diff line number Diff line Loading @@ -25,6 +25,7 @@ import android.util.Log; import java.io.FileDescriptor; import java.io.PrintWriter; import java.io.StringWriter; import java.util.ArrayList; import java.util.Calendar; import java.util.Collection; Loading Loading @@ -1940,19 +1941,25 @@ public class StateMachine { * @param args */ public void dump(FileDescriptor fd, PrintWriter pw, String[] args) { pw.println(this.toString()); // Cannot just invoke pw.println(this.toString()) because if the // resulting string is to long it won't be displayed. pw.println(getName() + ":"); pw.println(" total records=" + getLogRecCount()); for (int i = 0; i < getLogRecSize(); i++) { pw.println(" rec[" + i + "]: " + getLogRec(i).toString()); pw.flush(); } pw.println("curState=" + getCurrentState().getName()); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append(getName() + ":\n"); sb.append(" total records=" + getLogRecCount() + "\n"); for (int i = 0; i < getLogRecSize(); i++) { sb.append(" rec[" + i + "]: " + getLogRec(i).toString() + "\n"); } sb.append("curState=" + getCurrentState().getName()); return sb.toString(); StringWriter sr = new StringWriter(); PrintWriter pr = new PrintWriter(sr); dump(null, pr, null); pr.flush(); pr.close(); return sr.toString(); } /** Loading packages/CaptivePortalLogin/src/com/android/captiveportallogin/CaptivePortalLoginActivity.java +1 −1 Original line number Diff line number Diff line Loading @@ -55,7 +55,7 @@ import java.lang.reflect.Method; public class CaptivePortalLoginActivity extends Activity { private static final String TAG = "CaptivePortalLogin"; private static final String DEFAULT_SERVER = "clients3.google.com"; private static final String DEFAULT_SERVER = "connectivitycheck.android.com"; private static final int SOCKET_TIMEOUT_MS = 10000; // Keep this in sync with NetworkMonitor. Loading packages/Keyguard/src/com/android/keyguard/KeyguardUpdateMonitor.java +22 −5 Original line number Diff line number Diff line Loading @@ -264,12 +264,16 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener { // Hack level over 9000: Because the subscription id is not yet valid when we see the // first update in handleSimStateChange, we need to force refresh all all SIM states // so the subscription id for them is consistent. ArrayList<SubscriptionInfo> changedSubscriptions = new ArrayList<>(); for (int i = 0; i < subscriptionInfos.size(); i++) { SubscriptionInfo info = subscriptionInfos.get(i); refreshSimState(info.getSubscriptionId(), info.getSimSlotIndex()); boolean changed = refreshSimState(info.getSubscriptionId(), info.getSimSlotIndex()); if (changed) { changedSubscriptions.add(info); } for (int i = 0; i < subscriptionInfos.size(); i++) { SimData data = mSimDatas.get(mSubscriptionInfo.get(i).getSubscriptionId()); } for (int i = 0; i < changedSubscriptions.size(); i++) { SimData data = mSimDatas.get(changedSubscriptions.get(i).getSubscriptionId()); for (int j = 0; j < mCallbacks.size(); j++) { KeyguardUpdateMonitorCallback cb = mCallbacks.get(j).get(); if (cb != null) { Loading Loading @@ -1199,7 +1203,10 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener { } } private void refreshSimState(int subId, int slotId) { /** * @return true if and only if the state has changed for the specified {@code slotId} */ private boolean refreshSimState(int subId, int slotId) { // This is awful. It exists because there are two APIs for getting the SIM status // that don't return the complete set of values and have different types. In Keyguard we Loading @@ -1214,7 +1221,17 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener { Log.w(TAG, "Unknown sim state: " + simState); state = State.UNKNOWN; } mSimDatas.put(subId, new SimData(state, slotId, subId)); SimData data = mSimDatas.get(subId); final boolean changed; if (data == null) { data = new SimData(state, slotId, subId); mSimDatas.put(subId, data); changed = true; // no data yet; force update } else { changed = data.simState != state; data.simState = state; } return changed; } public static boolean isSimPinSecure(IccCardConstants.State state) { Loading Loading
api/current.txt +1 −1 Original line number Diff line number Diff line Loading @@ -28959,9 +28959,9 @@ package android.telephony { method public boolean isVoiceCapable(); method public void listen(android.telephony.PhoneStateListener, int); method public java.lang.String sendEnvelopeWithStatus(java.lang.String); method public boolean setGlobalPreferredNetworkType(); method public boolean setLine1NumberForDisplay(java.lang.String, java.lang.String); method public boolean setOperatorBrandOverride(java.lang.String); method public boolean setPreferredNetworkTypeToGlobal(); method public boolean setVoiceMailNumber(java.lang.String, java.lang.String); field public static final java.lang.String ACTION_PHONE_STATE_CHANGED = "android.intent.action.PHONE_STATE"; field public static final java.lang.String ACTION_RESPOND_VIA_MESSAGE = "android.intent.action.RESPOND_VIA_MESSAGE";
core/java/android/app/admin/DevicePolicyManager.java +10 −10 Original line number Diff line number Diff line Loading @@ -469,20 +469,20 @@ public class DevicePolicyManager { = "android.app.action.SET_NEW_PASSWORD"; /** * Flag used by {@link #addCrossProfileIntentFilter} to allow access * <em>from</em> a managed profile <em>to</em> its parent. That is, any * matching activities in the parent profile are included in the * disambiguation list shown when an app in the managed profile calls * {@link Activity#startActivity(Intent)}. * Flag used by {@link #addCrossProfileIntentFilter} to allow activities in * the parent profile to access intents sent from the managed profile. * That is, when an app in the managed profile calls * {@link Activity#startActivity(Intent)}, the intent can be resolved by a * matching activity in the parent profile. */ public static final int FLAG_PARENT_CAN_ACCESS_MANAGED = 0x0001; /** * Flag used by {@link #addCrossProfileIntentFilter} to allow access * <em>from</em> a parent <em>to</em> its managed profile. That is, any * matching activities in the managed profile are included in the * disambiguation list shown when an app in the parent profile calls * {@link Activity#startActivity(Intent)}. * Flag used by {@link #addCrossProfileIntentFilter} to allow activities in * the managed profile to access intents sent from the parent profile. * That is, when an app in the parent profile calls * {@link Activity#startActivity(Intent)}, the intent can be resolved by a * matching activity in the managed profile. */ public static final int FLAG_MANAGED_CAN_ACCESS_PARENT = 0x0002; Loading
core/java/com/android/internal/util/StateMachine.java +16 −9 Original line number Diff line number Diff line Loading @@ -25,6 +25,7 @@ import android.util.Log; import java.io.FileDescriptor; import java.io.PrintWriter; import java.io.StringWriter; import java.util.ArrayList; import java.util.Calendar; import java.util.Collection; Loading Loading @@ -1940,19 +1941,25 @@ public class StateMachine { * @param args */ public void dump(FileDescriptor fd, PrintWriter pw, String[] args) { pw.println(this.toString()); // Cannot just invoke pw.println(this.toString()) because if the // resulting string is to long it won't be displayed. pw.println(getName() + ":"); pw.println(" total records=" + getLogRecCount()); for (int i = 0; i < getLogRecSize(); i++) { pw.println(" rec[" + i + "]: " + getLogRec(i).toString()); pw.flush(); } pw.println("curState=" + getCurrentState().getName()); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append(getName() + ":\n"); sb.append(" total records=" + getLogRecCount() + "\n"); for (int i = 0; i < getLogRecSize(); i++) { sb.append(" rec[" + i + "]: " + getLogRec(i).toString() + "\n"); } sb.append("curState=" + getCurrentState().getName()); return sb.toString(); StringWriter sr = new StringWriter(); PrintWriter pr = new PrintWriter(sr); dump(null, pr, null); pr.flush(); pr.close(); return sr.toString(); } /** Loading
packages/CaptivePortalLogin/src/com/android/captiveportallogin/CaptivePortalLoginActivity.java +1 −1 Original line number Diff line number Diff line Loading @@ -55,7 +55,7 @@ import java.lang.reflect.Method; public class CaptivePortalLoginActivity extends Activity { private static final String TAG = "CaptivePortalLogin"; private static final String DEFAULT_SERVER = "clients3.google.com"; private static final String DEFAULT_SERVER = "connectivitycheck.android.com"; private static final int SOCKET_TIMEOUT_MS = 10000; // Keep this in sync with NetworkMonitor. Loading
packages/Keyguard/src/com/android/keyguard/KeyguardUpdateMonitor.java +22 −5 Original line number Diff line number Diff line Loading @@ -264,12 +264,16 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener { // Hack level over 9000: Because the subscription id is not yet valid when we see the // first update in handleSimStateChange, we need to force refresh all all SIM states // so the subscription id for them is consistent. ArrayList<SubscriptionInfo> changedSubscriptions = new ArrayList<>(); for (int i = 0; i < subscriptionInfos.size(); i++) { SubscriptionInfo info = subscriptionInfos.get(i); refreshSimState(info.getSubscriptionId(), info.getSimSlotIndex()); boolean changed = refreshSimState(info.getSubscriptionId(), info.getSimSlotIndex()); if (changed) { changedSubscriptions.add(info); } for (int i = 0; i < subscriptionInfos.size(); i++) { SimData data = mSimDatas.get(mSubscriptionInfo.get(i).getSubscriptionId()); } for (int i = 0; i < changedSubscriptions.size(); i++) { SimData data = mSimDatas.get(changedSubscriptions.get(i).getSubscriptionId()); for (int j = 0; j < mCallbacks.size(); j++) { KeyguardUpdateMonitorCallback cb = mCallbacks.get(j).get(); if (cb != null) { Loading Loading @@ -1199,7 +1203,10 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener { } } private void refreshSimState(int subId, int slotId) { /** * @return true if and only if the state has changed for the specified {@code slotId} */ private boolean refreshSimState(int subId, int slotId) { // This is awful. It exists because there are two APIs for getting the SIM status // that don't return the complete set of values and have different types. In Keyguard we Loading @@ -1214,7 +1221,17 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener { Log.w(TAG, "Unknown sim state: " + simState); state = State.UNKNOWN; } mSimDatas.put(subId, new SimData(state, slotId, subId)); SimData data = mSimDatas.get(subId); final boolean changed; if (data == null) { data = new SimData(state, slotId, subId); mSimDatas.put(subId, data); changed = true; // no data yet; force update } else { changed = data.simState != state; data.simState = state; } return changed; } public static boolean isSimPinSecure(IccCardConstants.State state) { Loading