cold sim clean up
- add a new field: provisioningNotificationEnabled from NetworkMisc. set to false if we want to hide "sign in" notification and placed carrier-specific notification instead. it is set on connect, once set, it is carrier-app's responsibility to post new UI to users - rework on the interaction between carrier app and framework - code cleanup - unit test support Bug: 28567303 Change-Id: Ic84db7ffbb920d15344717f104496d3cb82e1a85
This commit is contained in:
@@ -51,6 +51,15 @@ public class NetworkMisc implements Parcelable {
|
||||
*/
|
||||
public boolean acceptUnvalidated;
|
||||
|
||||
/**
|
||||
* Set to avoid surfacing the "Sign in to network" notification.
|
||||
* if carrier receivers/apps are registered to handle the carrier-specific provisioning
|
||||
* procedure, a carrier specific provisioning notification will be placed.
|
||||
* only one notification should be displayed. This field is set based on
|
||||
* which notification should be used for provisioning.
|
||||
*/
|
||||
public boolean provisioningNotificationDisabled;
|
||||
|
||||
/**
|
||||
* For mobile networks, this is the subscriber ID (such as IMSI).
|
||||
*/
|
||||
@@ -65,6 +74,7 @@ public class NetworkMisc implements Parcelable {
|
||||
explicitlySelected = nm.explicitlySelected;
|
||||
acceptUnvalidated = nm.acceptUnvalidated;
|
||||
subscriberId = nm.subscriberId;
|
||||
provisioningNotificationDisabled = nm.provisioningNotificationDisabled;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -79,6 +89,7 @@ public class NetworkMisc implements Parcelable {
|
||||
out.writeInt(explicitlySelected ? 1 : 0);
|
||||
out.writeInt(acceptUnvalidated ? 1 : 0);
|
||||
out.writeString(subscriberId);
|
||||
out.writeInt(provisioningNotificationDisabled ? 1 : 0);
|
||||
}
|
||||
|
||||
public static final Creator<NetworkMisc> CREATOR = new Creator<NetworkMisc>() {
|
||||
@@ -89,6 +100,7 @@ public class NetworkMisc implements Parcelable {
|
||||
networkMisc.explicitlySelected = in.readInt() != 0;
|
||||
networkMisc.acceptUnvalidated = in.readInt() != 0;
|
||||
networkMisc.subscriberId = in.readString();
|
||||
networkMisc.provisioningNotificationDisabled = in.readInt() != 0;
|
||||
return networkMisc;
|
||||
}
|
||||
|
||||
|
||||
@@ -2150,10 +2150,12 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
||||
loge("EVENT_PROVISIONING_NOTIFICATION from unknown NetworkMonitor");
|
||||
break;
|
||||
}
|
||||
if (!nai.networkMisc.provisioningNotificationDisabled) {
|
||||
setProvNotificationVisibleIntent(true, netId, NotificationType.SIGN_IN,
|
||||
nai.networkInfo.getType(), nai.networkInfo.getExtraInfo(),
|
||||
(PendingIntent)msg.obj, nai.networkMisc.explicitlySelected);
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -2553,6 +2555,7 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
||||
|
||||
PendingIntent pendingIntent = PendingIntent.getActivityAsUser(
|
||||
mContext, 0, intent, PendingIntent.FLAG_CANCEL_CURRENT, null, UserHandle.CURRENT);
|
||||
|
||||
setProvNotificationVisibleIntent(true, nai.network.netId, NotificationType.NO_INTERNET,
|
||||
nai.networkInfo.getType(), nai.networkInfo.getExtraInfo(), pendingIntent, true);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user