Merge "Provider model: add string for airplane mode"

This commit is contained in:
SongFerng Wang
2021-01-15 02:15:49 +00:00
committed by Android (Google) Code Review
4 changed files with 27 additions and 20 deletions

View File

@@ -25,6 +25,7 @@ import android.app.settings.SettingsEnums;
import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import android.provider.Settings;
import android.telephony.SubscriptionManager;
import android.util.Log;
@@ -81,11 +82,13 @@ public class ProviderModelSlice extends WifiSlice {
// Second section: Add a carrier item.
// Third section: Add the Wi-Fi items which are not connected.
// Fourth section: If device has connection problem, this row show the message for user.
final ListBuilder listBuilder = mHelper.createListBuilder(getUri());
if (mHelper.isAirplaneModeEnabled() && !mWifiManager.isWifiEnabled()) {
log("Airplane mode is enabled.");
// ToDo Next CL will add the Airplane mode Message.
return mHelper.createListBuilder(getUri()).build();
listBuilder.setHeader(mHelper.createHeader(Settings.ACTION_AIRPLANE_MODE_SETTINGS));
listBuilder.addGridRow(mHelper.createMessageGridRow(R.string.condition_airplane_title,
Settings.ACTION_AIRPLANE_MODE_SETTINGS));
return listBuilder.build();
}
int maxListSize = 0;
@@ -102,9 +105,6 @@ public class ProviderModelSlice extends WifiSlice {
final boolean hasCarrier = mHelper.hasCarrier();
log("hasCarrier: " + hasCarrier);
final ListBuilder listBuilder = mHelper.createListBuilder(getUri());
// First section: Add a Wi-Fi item which state is connected.
final WifiSliceItem connectedWifiItem = mHelper.getConnectedWifiItem(wifiList);
if (connectedWifiItem != null) {
@@ -148,9 +148,12 @@ public class ProviderModelSlice extends WifiSlice {
if (!hasCarrier) {
// If there is no item in ProviderModelItem, slice needs a header.
listBuilder.setHeader(mHelper.createHeader());
listBuilder.setHeader(mHelper.createHeader(
NetworkProviderSettings.ACTION_NETWORK_PROVIDER_SETTINGS));
}
listBuilder.addGridRow(mHelper.createMessageGridRow(resId));
listBuilder.addGridRow(
mHelper.createMessageGridRow(resId,
NetworkProviderSettings.ACTION_NETWORK_PROVIDER_SETTINGS));
}
return listBuilder.build();

View File

@@ -78,10 +78,10 @@ public class ProviderModelSliceHelper {
Log.d(TAG, s);
}
protected ListBuilder.HeaderBuilder createHeader() {
protected ListBuilder.HeaderBuilder createHeader(String intentAction) {
return new ListBuilder.HeaderBuilder()
.setTitle(mContext.getText(R.string.summary_placeholder))
.setPrimaryAction(getPrimarySliceAction());
.setPrimaryAction(getPrimarySliceAction(intentAction));
}
protected ListBuilder createListBuilder(Uri uri) {
@@ -91,12 +91,12 @@ public class ProviderModelSliceHelper {
return builder;
}
protected GridRowBuilder createMessageGridRow(int messageResId) {
protected GridRowBuilder createMessageGridRow(int messageResId, String intentAction) {
final CharSequence title = mContext.getText(messageResId);
return new GridRowBuilder()
// Add cells to the grid row.
.addCell(new GridRowBuilder.CellBuilder().addTitleText(title))
.setPrimaryAction(getPrimarySliceAction());
.setPrimaryAction(getPrimarySliceAction(intentAction));
}
@Nullable
@@ -145,15 +145,15 @@ public class ProviderModelSliceHelper {
return rowBuilder;
}
protected SliceAction getPrimarySliceAction() {
protected SliceAction getPrimarySliceAction(String intentAction) {
return SliceAction.createDeeplink(
getPrimaryAction(),
getPrimaryAction(intentAction),
Utils.createIconWithDrawable(new ColorDrawable(Color.TRANSPARENT)),
ListBuilder.ICON_IMAGE, mContext.getText(R.string.summary_placeholder));
}
private PendingIntent getPrimaryAction() {
final Intent intent = new Intent("android.settings.NETWORK_PROVIDER_SETTINGS")
private PendingIntent getPrimaryAction(String intentAction) {
final Intent intent = new Intent(intentAction)
.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
return PendingIntent.getActivity(mContext, 0 /* requestCode */,
intent, PendingIntent.FLAG_IMMUTABLE /* flags */);