Merge "Provider model: add string for airplane mode"
diff --git a/src/com/android/settings/network/ProviderModelSlice.java b/src/com/android/settings/network/ProviderModelSlice.java
index a495e89..19c8fab 100644
--- a/src/com/android/settings/network/ProviderModelSlice.java
+++ b/src/com/android/settings/network/ProviderModelSlice.java
@@ -25,6 +25,7 @@
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 @@
// 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 @@
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 @@
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();
diff --git a/src/com/android/settings/network/ProviderModelSliceHelper.java b/src/com/android/settings/network/ProviderModelSliceHelper.java
index 3164af4..2f81a60 100644
--- a/src/com/android/settings/network/ProviderModelSliceHelper.java
+++ b/src/com/android/settings/network/ProviderModelSliceHelper.java
@@ -78,10 +78,10 @@
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 @@
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 @@
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 */);
diff --git a/tests/unit/src/com/android/settings/network/ProviderModelSliceHelperTest.java b/tests/unit/src/com/android/settings/network/ProviderModelSliceHelperTest.java
index abbc2ec..f95c698 100644
--- a/tests/unit/src/com/android/settings/network/ProviderModelSliceHelperTest.java
+++ b/tests/unit/src/com/android/settings/network/ProviderModelSliceHelperTest.java
@@ -34,6 +34,7 @@
import android.net.NetworkCapabilities;
import android.net.Uri;
import android.os.PersistableBundle;
+import android.provider.Settings;
import android.telephony.CarrierConfigManager;
import android.telephony.ServiceState;
import android.telephony.SubscriptionInfo;
@@ -116,7 +117,8 @@
CharSequence title = ResourcesUtils.getResourcesString(mContext,
"non_carrier_network_unavailable");
- GridRowBuilder testGridRow = mProviderModelSliceHelper.createMessageGridRow(messageResId);
+ GridRowBuilder testGridRow = mProviderModelSliceHelper.createMessageGridRow(messageResId,
+ Settings.ACTION_AIRPLANE_MODE_SETTINGS);
List<CellBuilder> cellItem = testGridRow.getCells();
assertThat(cellItem.get(0).getTitle()).isEqualTo(title);
diff --git a/tests/unit/src/com/android/settings/network/ProviderModelSliceTest.java b/tests/unit/src/com/android/settings/network/ProviderModelSliceTest.java
index 076ce2b..29c52f7 100644
--- a/tests/unit/src/com/android/settings/network/ProviderModelSliceTest.java
+++ b/tests/unit/src/com/android/settings/network/ProviderModelSliceTest.java
@@ -23,6 +23,8 @@
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.anyInt;
import static org.mockito.ArgumentMatchers.anyLong;
+import static org.mockito.ArgumentMatchers.anyString;
+import static org.mockito.Mockito.eq;
import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
@@ -287,15 +289,15 @@
SliceAction mockSliceAction = getPrimarySliceAction();
when(mMockHeader.getTitle()).thenReturn("mockHeader");
when(mMockHeader.getPrimaryAction()).thenReturn(mockSliceAction);
- when(mProviderModelSliceHelper.createHeader()).thenReturn(mMockHeader);
+ when(mProviderModelSliceHelper.createHeader(anyString())).thenReturn(mMockHeader);
int resId = ResourcesUtils.getResourcesId(mContext, "string",
"non_carrier_network_unavailable");
- when(mProviderModelSliceHelper.createMessageGridRow(resId)).thenReturn(
+ when(mProviderModelSliceHelper.createMessageGridRow(eq(resId), anyString())).thenReturn(
mMockGridRowBuilderNonCarrierNetworkUnavailable);
resId = ResourcesUtils.getResourcesId(mContext, "string",
"all_network_unavailable");
- when(mProviderModelSliceHelper.createMessageGridRow(resId)).thenReturn(
+ when(mProviderModelSliceHelper.createMessageGridRow(eq(resId), anyString())).thenReturn(
mMockGridRowBuilderAllNetworkUnavailable);
when(mMockCarrierRowBuild.getTitle()).thenReturn("mockRow");