Remove hidden Icon.createWithResource API usage

Icon.createWithResource(Context, int) is public, but
Icon.createWithResource(Resources, int) is a hidden API.

Replace the former by the latter in NetworkNotificationManager, so that
it builds against stable APIs.

Original change (project moved):
Ied29d3c7fb517d0c82f40662a1e0e87186c3a89e

Bug: 182125649
Test: atest FrameworksNetTests
Merged-In: I3c2563d4ae4e3715d0c6270344ba8f7ef067872f
Change-Id: I6b18aab62fbb66bdd43cdb7add30e0c215687c3c
This commit is contained in:
Remi NGUYEN VAN 2021-03-22 10:21:48 +00:00
commit 8f72bd6401

View file

@ -84,7 +84,7 @@ public class NetworkNotificationManager {
// The context is for the current user (system server)
private final Context mContext;
private final Resources mResources;
private final ConnectivityResources mResources;
private final TelephonyManager mTelephonyManager;
// The notification manager is created from a context for User.ALL, so notifications
// will be sent to all users.
@ -99,7 +99,7 @@ public class NetworkNotificationManager {
(NotificationManager) c.createContextAsUser(UserHandle.ALL, 0 /* flags */)
.getSystemService(Context.NOTIFICATION_SERVICE);
mNotificationTypeMap = new SparseIntArray();
mResources = new ConnectivityResources(mContext).get();
mResources = new ConnectivityResources(mContext);
}
@VisibleForTesting
@ -118,11 +118,11 @@ public class NetworkNotificationManager {
}
private String getTransportName(final int transportType) {
String[] networkTypes = mResources.getStringArray(R.array.network_switch_type_name);
String[] networkTypes = mResources.get().getStringArray(R.array.network_switch_type_name);
try {
return networkTypes[transportType];
} catch (IndexOutOfBoundsException e) {
return mResources.getString(R.string.network_switch_type_name_unknown);
return mResources.get().getString(R.string.network_switch_type_name_unknown);
}
}
@ -197,10 +197,11 @@ public class NetworkNotificationManager {
tag, nameOf(eventId), getTransportName(transportType), name, highPriority));
}
final Resources r = mResources;
final Resources r = mResources.get();
final CharSequence title;
final CharSequence details;
Icon icon = Icon.createWithResource(r, getIcon(transportType));
Icon icon = Icon.createWithResource(
mResources.getResourcesContext(), getIcon(transportType));
if (notifyType == NotificationType.NO_INTERNET && transportType == TRANSPORT_WIFI) {
title = r.getString(R.string.wifi_no_internet, name);
details = r.getString(R.string.wifi_no_internet_detailed);
@ -355,7 +356,7 @@ public class NetworkNotificationManager {
public void showToast(NetworkAgentInfo fromNai, NetworkAgentInfo toNai) {
String fromTransport = getTransportName(approximateTransportType(fromNai));
String toTransport = getTransportName(approximateTransportType(toNai));
String text = mResources.getString(
String text = mResources.get().getString(
R.string.network_switch_metered_toast, fromTransport, toTransport);
Toast.makeText(mContext, text, Toast.LENGTH_LONG).show();
}