Merge "Introduce new Disconnect functionality for Wifi networks in Internet Panel only" into sc-dev am: 3d904eba71

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/14622856

Change-Id: I94d660df34cf3873eab89b7cf2f7ff28b8f6ade3
This commit is contained in:
Weng Su
2021-05-19 04:35:36 +00:00
committed by Automerger Merge Worker
4 changed files with 70 additions and 4 deletions

View File

@@ -34,6 +34,7 @@ import androidx.annotation.VisibleForTesting;
import androidx.core.graphics.drawable.IconCompat;
import androidx.slice.Slice;
import androidx.slice.builders.ListBuilder;
import androidx.slice.builders.SliceAction;
import com.android.settings.R;
import com.android.settings.SubSettings;
@@ -59,6 +60,8 @@ import java.util.stream.Collectors;
public class ProviderModelSlice extends WifiSlice {
private static final String TAG = "ProviderModelSlice";
protected static final String ACTION_TITLE_CONNECT_TO_CARRIER = "Connect_To_Carrier";
private final ProviderModelSliceHelper mHelper;
public ProviderModelSlice(Context context) {
@@ -249,6 +252,31 @@ public class ProviderModelSlice extends WifiSlice {
.setSubtitle(mContext.getText(R.string.to_switch_networks_disconnect_ethernet));
}
@Override
protected ListBuilder.RowBuilder getWifiSliceItemRow(WifiSliceItem wifiSliceItem) {
final CharSequence title = wifiSliceItem.getTitle();
final IconCompat levelIcon = getWifiSliceItemLevelIcon(wifiSliceItem);
final ListBuilder.RowBuilder rowBuilder = new ListBuilder.RowBuilder()
.setTitleItem(levelIcon, ListBuilder.ICON_IMAGE)
.setTitle(title)
.setSubtitle(wifiSliceItem.getSummary())
.setContentDescription(wifiSliceItem.getContentDescription());
final IconCompat endIcon;
if (wifiSliceItem.hasInternetAccess()) {
rowBuilder.setPrimaryAction(SliceAction.create(getBroadcastIntent(mContext),
levelIcon, ListBuilder.ICON_IMAGE, ACTION_TITLE_CONNECT_TO_CARRIER));
endIcon = IconCompat.createWithResource(mContext, R.drawable.ic_settings_close);
} else {
rowBuilder.setPrimaryAction(getWifiEntryAction(wifiSliceItem, levelIcon, title));
endIcon = getEndIcon(wifiSliceItem);
}
if (endIcon != null) {
rowBuilder.addEndItem(endIcon, ListBuilder.ICON_IMAGE);
}
return rowBuilder;
}
@Override
protected IconCompat getWifiSliceItemLevelIcon(WifiSliceItem wifiSliceItem) {
if (wifiSliceItem.getConnectedState() == WifiEntry.CONNECTED_STATE_CONNECTED