Provider model: add string for airplane mode
Bug: 177399563 Test: build PASS and verify the slice's airplane screen. (PASS)atest NetworkProviderWorkerTest (PASS)atest ProviderModelSliceTest (PASS)atest ProviderModelSliceHelperTest Change-Id: I9f212b8c2c66bf8af32936fca92c46fe86a9b3ef
This commit is contained in:
committed by
SongFerng Wang
parent
3c3ce5ea66
commit
b114e490d5
@@ -25,6 +25,7 @@ import android.app.settings.SettingsEnums;
|
|||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
|
import android.provider.Settings;
|
||||||
import android.telephony.SubscriptionManager;
|
import android.telephony.SubscriptionManager;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
|
|
||||||
@@ -81,11 +82,13 @@ public class ProviderModelSlice extends WifiSlice {
|
|||||||
// Second section: Add a carrier item.
|
// Second section: Add a carrier item.
|
||||||
// Third section: Add the Wi-Fi items which are not connected.
|
// 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.
|
// 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()) {
|
if (mHelper.isAirplaneModeEnabled() && !mWifiManager.isWifiEnabled()) {
|
||||||
log("Airplane mode is enabled.");
|
log("Airplane mode is enabled.");
|
||||||
// ToDo Next CL will add the Airplane mode Message.
|
listBuilder.setHeader(mHelper.createHeader(Settings.ACTION_AIRPLANE_MODE_SETTINGS));
|
||||||
return mHelper.createListBuilder(getUri()).build();
|
listBuilder.addGridRow(mHelper.createMessageGridRow(R.string.condition_airplane_title,
|
||||||
|
Settings.ACTION_AIRPLANE_MODE_SETTINGS));
|
||||||
|
return listBuilder.build();
|
||||||
}
|
}
|
||||||
|
|
||||||
int maxListSize = 0;
|
int maxListSize = 0;
|
||||||
@@ -102,9 +105,6 @@ public class ProviderModelSlice extends WifiSlice {
|
|||||||
final boolean hasCarrier = mHelper.hasCarrier();
|
final boolean hasCarrier = mHelper.hasCarrier();
|
||||||
log("hasCarrier: " + hasCarrier);
|
log("hasCarrier: " + hasCarrier);
|
||||||
|
|
||||||
|
|
||||||
final ListBuilder listBuilder = mHelper.createListBuilder(getUri());
|
|
||||||
|
|
||||||
// First section: Add a Wi-Fi item which state is connected.
|
// First section: Add a Wi-Fi item which state is connected.
|
||||||
final WifiSliceItem connectedWifiItem = mHelper.getConnectedWifiItem(wifiList);
|
final WifiSliceItem connectedWifiItem = mHelper.getConnectedWifiItem(wifiList);
|
||||||
if (connectedWifiItem != null) {
|
if (connectedWifiItem != null) {
|
||||||
@@ -148,9 +148,12 @@ public class ProviderModelSlice extends WifiSlice {
|
|||||||
|
|
||||||
if (!hasCarrier) {
|
if (!hasCarrier) {
|
||||||
// If there is no item in ProviderModelItem, slice needs a header.
|
// 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();
|
return listBuilder.build();
|
||||||
|
@@ -78,10 +78,10 @@ public class ProviderModelSliceHelper {
|
|||||||
Log.d(TAG, s);
|
Log.d(TAG, s);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected ListBuilder.HeaderBuilder createHeader() {
|
protected ListBuilder.HeaderBuilder createHeader(String intentAction) {
|
||||||
return new ListBuilder.HeaderBuilder()
|
return new ListBuilder.HeaderBuilder()
|
||||||
.setTitle(mContext.getText(R.string.summary_placeholder))
|
.setTitle(mContext.getText(R.string.summary_placeholder))
|
||||||
.setPrimaryAction(getPrimarySliceAction());
|
.setPrimaryAction(getPrimarySliceAction(intentAction));
|
||||||
}
|
}
|
||||||
|
|
||||||
protected ListBuilder createListBuilder(Uri uri) {
|
protected ListBuilder createListBuilder(Uri uri) {
|
||||||
@@ -91,12 +91,12 @@ public class ProviderModelSliceHelper {
|
|||||||
return builder;
|
return builder;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected GridRowBuilder createMessageGridRow(int messageResId) {
|
protected GridRowBuilder createMessageGridRow(int messageResId, String intentAction) {
|
||||||
final CharSequence title = mContext.getText(messageResId);
|
final CharSequence title = mContext.getText(messageResId);
|
||||||
return new GridRowBuilder()
|
return new GridRowBuilder()
|
||||||
// Add cells to the grid row.
|
// Add cells to the grid row.
|
||||||
.addCell(new GridRowBuilder.CellBuilder().addTitleText(title))
|
.addCell(new GridRowBuilder.CellBuilder().addTitleText(title))
|
||||||
.setPrimaryAction(getPrimarySliceAction());
|
.setPrimaryAction(getPrimarySliceAction(intentAction));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Nullable
|
@Nullable
|
||||||
@@ -145,15 +145,15 @@ public class ProviderModelSliceHelper {
|
|||||||
return rowBuilder;
|
return rowBuilder;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected SliceAction getPrimarySliceAction() {
|
protected SliceAction getPrimarySliceAction(String intentAction) {
|
||||||
return SliceAction.createDeeplink(
|
return SliceAction.createDeeplink(
|
||||||
getPrimaryAction(),
|
getPrimaryAction(intentAction),
|
||||||
Utils.createIconWithDrawable(new ColorDrawable(Color.TRANSPARENT)),
|
Utils.createIconWithDrawable(new ColorDrawable(Color.TRANSPARENT)),
|
||||||
ListBuilder.ICON_IMAGE, mContext.getText(R.string.summary_placeholder));
|
ListBuilder.ICON_IMAGE, mContext.getText(R.string.summary_placeholder));
|
||||||
}
|
}
|
||||||
|
|
||||||
private PendingIntent getPrimaryAction() {
|
private PendingIntent getPrimaryAction(String intentAction) {
|
||||||
final Intent intent = new Intent("android.settings.NETWORK_PROVIDER_SETTINGS")
|
final Intent intent = new Intent(intentAction)
|
||||||
.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
|
.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
|
||||||
return PendingIntent.getActivity(mContext, 0 /* requestCode */,
|
return PendingIntent.getActivity(mContext, 0 /* requestCode */,
|
||||||
intent, PendingIntent.FLAG_IMMUTABLE /* flags */);
|
intent, PendingIntent.FLAG_IMMUTABLE /* flags */);
|
||||||
|
@@ -34,6 +34,7 @@ import android.net.Network;
|
|||||||
import android.net.NetworkCapabilities;
|
import android.net.NetworkCapabilities;
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
import android.os.PersistableBundle;
|
import android.os.PersistableBundle;
|
||||||
|
import android.provider.Settings;
|
||||||
import android.telephony.CarrierConfigManager;
|
import android.telephony.CarrierConfigManager;
|
||||||
import android.telephony.ServiceState;
|
import android.telephony.ServiceState;
|
||||||
import android.telephony.SubscriptionInfo;
|
import android.telephony.SubscriptionInfo;
|
||||||
@@ -116,7 +117,8 @@ public class ProviderModelSliceHelperTest {
|
|||||||
CharSequence title = ResourcesUtils.getResourcesString(mContext,
|
CharSequence title = ResourcesUtils.getResourcesString(mContext,
|
||||||
"non_carrier_network_unavailable");
|
"non_carrier_network_unavailable");
|
||||||
|
|
||||||
GridRowBuilder testGridRow = mProviderModelSliceHelper.createMessageGridRow(messageResId);
|
GridRowBuilder testGridRow = mProviderModelSliceHelper.createMessageGridRow(messageResId,
|
||||||
|
Settings.ACTION_AIRPLANE_MODE_SETTINGS);
|
||||||
List<CellBuilder> cellItem = testGridRow.getCells();
|
List<CellBuilder> cellItem = testGridRow.getCells();
|
||||||
|
|
||||||
assertThat(cellItem.get(0).getTitle()).isEqualTo(title);
|
assertThat(cellItem.get(0).getTitle()).isEqualTo(title);
|
||||||
|
@@ -23,6 +23,8 @@ import static com.google.common.truth.Truth.assertThat;
|
|||||||
import static org.mockito.ArgumentMatchers.any;
|
import static org.mockito.ArgumentMatchers.any;
|
||||||
import static org.mockito.ArgumentMatchers.anyInt;
|
import static org.mockito.ArgumentMatchers.anyInt;
|
||||||
import static org.mockito.ArgumentMatchers.anyLong;
|
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.spy;
|
||||||
import static org.mockito.Mockito.times;
|
import static org.mockito.Mockito.times;
|
||||||
import static org.mockito.Mockito.verify;
|
import static org.mockito.Mockito.verify;
|
||||||
@@ -287,15 +289,15 @@ public class ProviderModelSliceTest {
|
|||||||
SliceAction mockSliceAction = getPrimarySliceAction();
|
SliceAction mockSliceAction = getPrimarySliceAction();
|
||||||
when(mMockHeader.getTitle()).thenReturn("mockHeader");
|
when(mMockHeader.getTitle()).thenReturn("mockHeader");
|
||||||
when(mMockHeader.getPrimaryAction()).thenReturn(mockSliceAction);
|
when(mMockHeader.getPrimaryAction()).thenReturn(mockSliceAction);
|
||||||
when(mProviderModelSliceHelper.createHeader()).thenReturn(mMockHeader);
|
when(mProviderModelSliceHelper.createHeader(anyString())).thenReturn(mMockHeader);
|
||||||
|
|
||||||
int resId = ResourcesUtils.getResourcesId(mContext, "string",
|
int resId = ResourcesUtils.getResourcesId(mContext, "string",
|
||||||
"non_carrier_network_unavailable");
|
"non_carrier_network_unavailable");
|
||||||
when(mProviderModelSliceHelper.createMessageGridRow(resId)).thenReturn(
|
when(mProviderModelSliceHelper.createMessageGridRow(eq(resId), anyString())).thenReturn(
|
||||||
mMockGridRowBuilderNonCarrierNetworkUnavailable);
|
mMockGridRowBuilderNonCarrierNetworkUnavailable);
|
||||||
resId = ResourcesUtils.getResourcesId(mContext, "string",
|
resId = ResourcesUtils.getResourcesId(mContext, "string",
|
||||||
"all_network_unavailable");
|
"all_network_unavailable");
|
||||||
when(mProviderModelSliceHelper.createMessageGridRow(resId)).thenReturn(
|
when(mProviderModelSliceHelper.createMessageGridRow(eq(resId), anyString())).thenReturn(
|
||||||
mMockGridRowBuilderAllNetworkUnavailable);
|
mMockGridRowBuilderAllNetworkUnavailable);
|
||||||
|
|
||||||
when(mMockCarrierRowBuild.getTitle()).thenReturn("mockRow");
|
when(mMockCarrierRowBuild.getTitle()).thenReturn("mockRow");
|
||||||
|
Reference in New Issue
Block a user