[Provider model] Add "See all" text link to Internet Panel
- Add "See all" text link at the bottom of the network providers list - Don't show "See all" text link if the Wi-Fi network is empty Bug: 188710392 Test: manual test atest -c ProviderModelSliceTest Change-Id: If99c1e6597b4d2ef6a916fbdab3df9cfad8b464e
This commit is contained in:
@@ -22,9 +22,12 @@ import static android.app.slice.Slice.EXTRA_TOGGLE_STATE;
|
||||
import static com.android.settings.slices.CustomSliceRegistry.PROVIDER_MODEL_SLICE_URI;
|
||||
|
||||
import android.annotation.ColorInt;
|
||||
import android.app.PendingIntent;
|
||||
import android.app.settings.SettingsEnums;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.graphics.Color;
|
||||
import android.graphics.drawable.ColorDrawable;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.net.Uri;
|
||||
import android.telephony.SubscriptionManager;
|
||||
@@ -150,11 +153,12 @@ public class ProviderModelSlice extends WifiSlice {
|
||||
final List<WifiSliceItem> disconnectedWifiList = wifiList.stream()
|
||||
.filter(wifiSliceItem -> wifiSliceItem.getConnectedState()
|
||||
!= WifiEntry.CONNECTED_STATE_CONNECTED)
|
||||
.limit(maxListSize)
|
||||
.limit(maxListSize - 1)
|
||||
.collect(Collectors.toList());
|
||||
for (WifiSliceItem item : disconnectedWifiList) {
|
||||
listBuilder.addRow(getWifiSliceItemRow(item));
|
||||
}
|
||||
listBuilder.addRow(getSeeAllRow());
|
||||
}
|
||||
return listBuilder.build();
|
||||
}
|
||||
@@ -252,6 +256,31 @@ public class ProviderModelSlice extends WifiSlice {
|
||||
.setSubtitle(mContext.getText(R.string.to_switch_networks_disconnect_ethernet));
|
||||
}
|
||||
|
||||
protected ListBuilder.RowBuilder getSeeAllRow() {
|
||||
final CharSequence title = mContext.getText(R.string.previous_connected_see_all);
|
||||
final IconCompat icon = getSeeAllIcon();
|
||||
return new ListBuilder.RowBuilder()
|
||||
.setTitleItem(icon, ListBuilder.ICON_IMAGE)
|
||||
.setTitle(title)
|
||||
.setPrimaryAction(getPrimaryAction(icon, title));
|
||||
}
|
||||
|
||||
protected IconCompat getSeeAllIcon() {
|
||||
final Drawable drawable = mContext.getDrawable(R.drawable.ic_arrow_forward);
|
||||
if (drawable != null) {
|
||||
drawable.setTint(
|
||||
Utils.getColorAttrDefaultColor(mContext, android.R.attr.colorControlNormal));
|
||||
return Utils.createIconWithDrawable(drawable);
|
||||
}
|
||||
return Utils.createIconWithDrawable(new ColorDrawable(Color.TRANSPARENT));
|
||||
}
|
||||
|
||||
protected SliceAction getPrimaryAction(IconCompat icon, CharSequence title) {
|
||||
final PendingIntent intent = PendingIntent.getActivity(mContext, 0 /* requestCode */,
|
||||
getIntent(), PendingIntent.FLAG_IMMUTABLE /* flags */);
|
||||
return SliceAction.createDeeplink(intent, icon, ListBuilder.ICON_IMAGE, title);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected ListBuilder.RowBuilder getWifiSliceItemRow(WifiSliceItem wifiSliceItem) {
|
||||
final CharSequence title = wifiSliceItem.getTitle();
|
||||
|
Reference in New Issue
Block a user