Snap for 7125381 from 638927eaad to sc-v2-release
Change-Id: I5a0a70371e4a3d7a14db4990a15d6d265803759a
This commit is contained in:
@@ -48,11 +48,13 @@
|
|||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
|
android:id="@+id/header_layout"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginStart="16dp"
|
android:layout_marginStart="16dp"
|
||||||
android:layout_marginEnd="16dp"
|
android:layout_marginEnd="16dp"
|
||||||
android:orientation="vertical">
|
android:orientation="vertical">
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/header_title"
|
android:id="@+id/header_title"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
@@ -67,8 +69,7 @@
|
|||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:ellipsize="end"
|
android:ellipsize="end"
|
||||||
android:maxLines="1" />
|
android:maxLines="1"/>
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
|
|||||||
@@ -177,6 +177,7 @@ public class InternetPreferenceController extends AbstractPreferenceController i
|
|||||||
if (subInfo == null) {
|
if (subInfo == null) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
mPreference.setSummary(subInfo.getDisplayName());
|
mPreference.setSummary(SubscriptionUtil.getUniqueSubscriptionDisplayName(
|
||||||
|
subInfo, mContext));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,5 +6,6 @@ goldmanj@google.com
|
|||||||
leechou@google.com
|
leechou@google.com
|
||||||
songferngwang@google.com
|
songferngwang@google.com
|
||||||
tomhsu@google.com
|
tomhsu@google.com
|
||||||
|
zoeychen@google.com
|
||||||
|
|
||||||
# Emergency approvers in case the above are not available
|
# Emergency approvers in case the above are not available
|
||||||
|
|||||||
@@ -26,7 +26,6 @@ import android.content.Context;
|
|||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.graphics.drawable.Drawable;
|
import android.graphics.drawable.Drawable;
|
||||||
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;
|
||||||
|
|
||||||
@@ -87,9 +86,6 @@ public class ProviderModelSlice extends WifiSlice {
|
|||||||
final ListBuilder listBuilder = mHelper.createListBuilder(getUri());
|
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.");
|
||||||
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();
|
return listBuilder.build();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -182,8 +178,9 @@ public class ProviderModelSlice extends WifiSlice {
|
|||||||
}
|
}
|
||||||
final int defaultSubId = subscriptionManager.getDefaultDataSubscriptionId();
|
final int defaultSubId = subscriptionManager.getDefaultDataSubscriptionId();
|
||||||
log("defaultSubId:" + defaultSubId);
|
log("defaultSubId:" + defaultSubId);
|
||||||
if (!SubscriptionManager.isUsableSubscriptionId(defaultSubId)) {
|
|
||||||
return; // No subscription - do nothing.
|
if (!defaultSubscriptionIsUsable(defaultSubId)) {
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
boolean isToggleAction = intent.hasExtra(EXTRA_TOGGLE_STATE);
|
boolean isToggleAction = intent.hasExtra(EXTRA_TOGGLE_STATE);
|
||||||
@@ -194,10 +191,14 @@ public class ProviderModelSlice extends WifiSlice {
|
|||||||
MobileNetworkUtils.setMobileDataEnabled(mContext, defaultSubId, newState,
|
MobileNetworkUtils.setMobileDataEnabled(mContext, defaultSubId, newState,
|
||||||
false /* disableOtherSubscriptions */);
|
false /* disableOtherSubscriptions */);
|
||||||
}
|
}
|
||||||
doCarrierNetworkAction(isToggleAction, newState);
|
|
||||||
|
final boolean isDataEnabled =
|
||||||
|
isToggleAction ? newState : MobileNetworkUtils.isMobileDataEnabled(mContext);
|
||||||
|
doCarrierNetworkAction(isToggleAction, isDataEnabled);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void doCarrierNetworkAction(boolean isToggleAction, boolean isDataEnabled) {
|
@VisibleForTesting
|
||||||
|
void doCarrierNetworkAction(boolean isToggleAction, boolean isDataEnabled) {
|
||||||
final NetworkProviderWorker worker = getWorker();
|
final NetworkProviderWorker worker = getWorker();
|
||||||
if (worker == null) {
|
if (worker == null) {
|
||||||
return;
|
return;
|
||||||
@@ -208,7 +209,7 @@ public class ProviderModelSlice extends WifiSlice {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (MobileNetworkUtils.isMobileDataEnabled(mContext)) {
|
if (isDataEnabled) {
|
||||||
worker.connectCarrierNetwork();
|
worker.connectCarrierNetwork();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -258,4 +259,12 @@ public class ProviderModelSlice extends WifiSlice {
|
|||||||
.setTitle(mContext.getText(R.string.ethernet))
|
.setTitle(mContext.getText(R.string.ethernet))
|
||||||
.setSubtitle(mContext.getText(R.string.cannot_switch_networks_while_connected));
|
.setSubtitle(mContext.getText(R.string.cannot_switch_networks_while_connected));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Wrap the subscriptionManager call for test mocking.
|
||||||
|
*/
|
||||||
|
@VisibleForTesting
|
||||||
|
protected boolean defaultSubscriptionIsUsable(int defaultSubId) {
|
||||||
|
return SubscriptionManager.isUsableSubscriptionId(defaultSubId);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -242,12 +242,14 @@ public class SubscriptionUtil {
|
|||||||
public CharSequence uniqueName;
|
public CharSequence uniqueName;
|
||||||
}
|
}
|
||||||
|
|
||||||
final SubscriptionManager subscriptionManager =
|
|
||||||
context.getSystemService(SubscriptionManager.class);
|
|
||||||
// Map of SubscriptionId to DisplayName
|
// Map of SubscriptionId to DisplayName
|
||||||
final Supplier<Stream<DisplayInfo>> originalInfos =
|
final Supplier<Stream<DisplayInfo>> originalInfos =
|
||||||
() -> getActiveSubscriptions(subscriptionManager)
|
() -> getAvailableSubscriptions(context)
|
||||||
.stream()
|
.stream()
|
||||||
|
.filter(i -> {
|
||||||
|
// Filter out null values.
|
||||||
|
return (i != null && i.getDisplayName() != null);
|
||||||
|
})
|
||||||
.map(i -> {
|
.map(i -> {
|
||||||
DisplayInfo info = new DisplayInfo();
|
DisplayInfo info = new DisplayInfo();
|
||||||
info.subscriptionInfo = i;
|
info.subscriptionInfo = i;
|
||||||
|
|||||||
@@ -30,6 +30,7 @@ import androidx.preference.Preference;
|
|||||||
import androidx.preference.SwitchPreference;
|
import androidx.preference.SwitchPreference;
|
||||||
|
|
||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
|
import com.android.settings.network.SubscriptionUtil;
|
||||||
|
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
|
||||||
@@ -119,7 +120,8 @@ public class BackupCallingPreferenceController extends TelephonyTogglePreference
|
|||||||
|
|
||||||
private String getLatestSummary() {
|
private String getLatestSummary() {
|
||||||
SubscriptionInfo subInfo = getSubscriptionInfo();
|
SubscriptionInfo subInfo = getSubscriptionInfo();
|
||||||
return Objects.toString((subInfo == null) ? null : subInfo.getDisplayName(), "");
|
return Objects.toString((subInfo == null) ? null
|
||||||
|
: SubscriptionUtil.getUniqueSubscriptionDisplayName(subInfo, mContext), "");
|
||||||
}
|
}
|
||||||
|
|
||||||
private void updateSummary(String displayName) {
|
private void updateSummary(String displayName) {
|
||||||
|
|||||||
@@ -104,7 +104,7 @@ public class NetworkProviderBackupCallingPreferenceController extends
|
|||||||
}
|
}
|
||||||
SwitchPreference pref = new SwitchPreference(mContext);
|
SwitchPreference pref = new SwitchPreference(mContext);
|
||||||
prefCtrl.updateState(pref);
|
prefCtrl.updateState(pref);
|
||||||
pref.setTitle(subInfo.getDisplayName());
|
pref.setTitle(SubscriptionUtil.getUniqueSubscriptionDisplayName(subInfo, mContext));
|
||||||
return pref;
|
return pref;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ package com.android.settings.panel;
|
|||||||
import static androidx.lifecycle.Lifecycle.Event.ON_PAUSE;
|
import static androidx.lifecycle.Lifecycle.Event.ON_PAUSE;
|
||||||
import static androidx.lifecycle.Lifecycle.Event.ON_RESUME;
|
import static androidx.lifecycle.Lifecycle.Event.ON_RESUME;
|
||||||
|
|
||||||
|
import static com.android.settings.network.InternetUpdater.INTERNET_APM;
|
||||||
import static com.android.settings.network.InternetUpdater.INTERNET_APM_NETWORKS;
|
import static com.android.settings.network.InternetUpdater.INTERNET_APM_NETWORKS;
|
||||||
import static com.android.settings.network.NetworkProviderSettings.ACTION_NETWORK_PROVIDER_SETTINGS;
|
import static com.android.settings.network.NetworkProviderSettings.ACTION_NETWORK_PROVIDER_SETTINGS;
|
||||||
|
|
||||||
@@ -83,6 +84,9 @@ public class InternetConnectivityPanel implements PanelContent, LifecycleObserve
|
|||||||
mInternetUpdater.onPause();
|
mInternetUpdater.onPause();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return a string for the title of the Panel.
|
||||||
|
*/
|
||||||
@Override
|
@Override
|
||||||
public CharSequence getTitle() {
|
public CharSequence getTitle() {
|
||||||
if (mIsProviderModelEnabled) {
|
if (mIsProviderModelEnabled) {
|
||||||
@@ -93,10 +97,21 @@ public class InternetConnectivityPanel implements PanelContent, LifecycleObserve
|
|||||||
return mContext.getText(R.string.internet_connectivity_panel_title);
|
return mContext.getText(R.string.internet_connectivity_panel_title);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return a string for the subtitle of the Panel.
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public CharSequence getSubTitle() {
|
||||||
|
if (mIsProviderModelEnabled && mInternetType == INTERNET_APM) {
|
||||||
|
return mContext.getText(R.string.condition_airplane_title);
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<Uri> getSlices() {
|
public List<Uri> getSlices() {
|
||||||
final List<Uri> uris = new ArrayList<>();
|
final List<Uri> uris = new ArrayList<>();
|
||||||
if (Utils.isProviderModelEnabled(mContext)) {
|
if (mIsProviderModelEnabled) {
|
||||||
uris.add(CustomSliceRegistry.PROVIDER_MODEL_SLICE_URI);
|
uris.add(CustomSliceRegistry.PROVIDER_MODEL_SLICE_URI);
|
||||||
uris.add(CustomSliceRegistry.AIRPLANE_SAFE_NETWORKS_SLICE_URI);
|
uris.add(CustomSliceRegistry.AIRPLANE_SAFE_NETWORKS_SLICE_URI);
|
||||||
} else {
|
} else {
|
||||||
@@ -109,18 +124,21 @@ public class InternetConnectivityPanel implements PanelContent, LifecycleObserve
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Intent getSeeMoreIntent() {
|
public Intent getSeeMoreIntent() {
|
||||||
return new Intent(Utils.isProviderModelEnabled(mContext)
|
return new Intent(mIsProviderModelEnabled
|
||||||
? ACTION_NETWORK_PROVIDER_SETTINGS : Settings.ACTION_WIRELESS_SETTINGS)
|
? ACTION_NETWORK_PROVIDER_SETTINGS : Settings.ACTION_WIRELESS_SETTINGS)
|
||||||
.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
|
.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean isCustomizedButtonUsed() {
|
public boolean isCustomizedButtonUsed() {
|
||||||
return Utils.isProviderModelEnabled(mContext);
|
return mIsProviderModelEnabled;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public CharSequence getCustomizedButtonTitle() {
|
public CharSequence getCustomizedButtonTitle() {
|
||||||
|
if (mInternetType == INTERNET_APM) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
return mContext.getText(R.string.settings_button);
|
return mContext.getText(R.string.settings_button);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -145,18 +163,35 @@ public class InternetConnectivityPanel implements PanelContent, LifecycleObserve
|
|||||||
* @param internetType the internet type
|
* @param internetType the internet type
|
||||||
*/
|
*/
|
||||||
public void onInternetTypeChanged(@InternetUpdater.InternetType int internetType) {
|
public void onInternetTypeChanged(@InternetUpdater.InternetType int internetType) {
|
||||||
final boolean needRefresh = internetType != mInternetType
|
if (internetType == mInternetType) {
|
||||||
&& (internetType == INTERNET_APM_NETWORKS
|
return;
|
||||||
|| mInternetType == INTERNET_APM_NETWORKS);
|
|
||||||
mInternetType = internetType;
|
|
||||||
if (needRefresh) {
|
|
||||||
refresh();
|
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
private void refresh() {
|
final boolean changeToApm = (internetType == INTERNET_APM);
|
||||||
|
final boolean changeFromApm = (mInternetType == INTERNET_APM);
|
||||||
|
final boolean changeWithApmNetworks =
|
||||||
|
(internetType == INTERNET_APM_NETWORKS || mInternetType == INTERNET_APM_NETWORKS);
|
||||||
|
mInternetType = internetType;
|
||||||
|
|
||||||
if (mCallback != null) {
|
if (mCallback != null) {
|
||||||
mCallback.onTitleChanged();
|
if (changeToApm) {
|
||||||
|
// The internet type is changed to the airplane mode.
|
||||||
|
// Title: Internet
|
||||||
|
// Sub-Title: Airplane mode is on
|
||||||
|
// Settings button: Hide
|
||||||
|
mCallback.onHeaderChanged();
|
||||||
|
mCallback.onCustomizedButtonStateChanged();
|
||||||
|
} else if (changeFromApm) {
|
||||||
|
// The internet type is changed from the airplane mode.
|
||||||
|
// Title: Internet
|
||||||
|
// Settings button: Show
|
||||||
|
mCallback.onTitleChanged();
|
||||||
|
mCallback.onCustomizedButtonStateChanged();
|
||||||
|
} else if (changeWithApmNetworks) {
|
||||||
|
// The internet type is changed with the airplane mode networks.
|
||||||
|
// Title: Airplane mode networks / Internet
|
||||||
|
mCallback.onTitleChanged();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -26,6 +26,7 @@ import android.net.Uri;
|
|||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.os.Handler;
|
import android.os.Handler;
|
||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
|
import android.view.Gravity;
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
@@ -94,6 +95,7 @@ public class PanelFragment extends Fragment {
|
|||||||
private LinearLayout mPanelHeader;
|
private LinearLayout mPanelHeader;
|
||||||
private ImageView mTitleIcon;
|
private ImageView mTitleIcon;
|
||||||
private LinearLayout mTitleGroup;
|
private LinearLayout mTitleGroup;
|
||||||
|
private LinearLayout mHeaderLayout;
|
||||||
private TextView mHeaderTitle;
|
private TextView mHeaderTitle;
|
||||||
private TextView mHeaderSubtitle;
|
private TextView mHeaderSubtitle;
|
||||||
private int mMaxHeight;
|
private int mMaxHeight;
|
||||||
@@ -202,6 +204,7 @@ public class PanelFragment extends Fragment {
|
|||||||
mPanelHeader = mLayoutView.findViewById(R.id.panel_header);
|
mPanelHeader = mLayoutView.findViewById(R.id.panel_header);
|
||||||
mTitleIcon = mLayoutView.findViewById(R.id.title_icon);
|
mTitleIcon = mLayoutView.findViewById(R.id.title_icon);
|
||||||
mTitleGroup = mLayoutView.findViewById(R.id.title_group);
|
mTitleGroup = mLayoutView.findViewById(R.id.title_group);
|
||||||
|
mHeaderLayout = mLayoutView.findViewById(R.id.header_layout);
|
||||||
mHeaderTitle = mLayoutView.findViewById(R.id.header_title);
|
mHeaderTitle = mLayoutView.findViewById(R.id.header_title);
|
||||||
mHeaderSubtitle = mLayoutView.findViewById(R.id.header_subtitle);
|
mHeaderSubtitle = mLayoutView.findViewById(R.id.header_subtitle);
|
||||||
mFooterDivider = mLayoutView.findViewById(R.id.footer_divider);
|
mFooterDivider = mLayoutView.findViewById(R.id.footer_divider);
|
||||||
@@ -239,13 +242,12 @@ public class PanelFragment extends Fragment {
|
|||||||
|
|
||||||
final IconCompat icon = mPanel.getIcon();
|
final IconCompat icon = mPanel.getIcon();
|
||||||
final CharSequence title = mPanel.getTitle();
|
final CharSequence title = mPanel.getTitle();
|
||||||
|
final CharSequence subtitle = mPanel.getSubTitle();
|
||||||
|
|
||||||
if (icon != null) {
|
if (icon != null || (subtitle != null && subtitle.length() > 0)) {
|
||||||
enablePanelHeader(icon, title);
|
enablePanelHeader(icon, title, subtitle);
|
||||||
} else {
|
} else {
|
||||||
mTitleView.setVisibility(View.VISIBLE);
|
enableTitle(title);
|
||||||
mPanelHeader.setVisibility(View.GONE);
|
|
||||||
mTitleView.setText(title);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
mFooterDivider.setVisibility(View.GONE);
|
mFooterDivider.setVisibility(View.GONE);
|
||||||
@@ -254,13 +256,7 @@ public class PanelFragment extends Fragment {
|
|||||||
mDoneButton.setOnClickListener(getCloseListener());
|
mDoneButton.setOnClickListener(getCloseListener());
|
||||||
|
|
||||||
if (mPanel.isCustomizedButtonUsed()) {
|
if (mPanel.isCustomizedButtonUsed()) {
|
||||||
final CharSequence customTitle = mPanel.getCustomizedButtonTitle();
|
enableCustomizedButton();
|
||||||
if (TextUtils.isEmpty(customTitle)) {
|
|
||||||
mSeeMoreButton.setVisibility(View.GONE);
|
|
||||||
} else {
|
|
||||||
mSeeMoreButton.setVisibility(View.VISIBLE);
|
|
||||||
mSeeMoreButton.setText(customTitle);
|
|
||||||
}
|
|
||||||
} else if (mPanel.getSeeMoreIntent() == null) {
|
} else if (mPanel.getSeeMoreIntent() == null) {
|
||||||
// If getSeeMoreIntent() is null hide the mSeeMoreButton.
|
// If getSeeMoreIntent() is null hide the mSeeMoreButton.
|
||||||
mSeeMoreButton.setVisibility(View.GONE);
|
mSeeMoreButton.setVisibility(View.GONE);
|
||||||
@@ -275,14 +271,16 @@ public class PanelFragment extends Fragment {
|
|||||||
0 /* value */);
|
0 /* value */);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void enablePanelHeader(IconCompat icon, CharSequence title) {
|
private void enablePanelHeader(IconCompat icon, CharSequence title, CharSequence subtitle) {
|
||||||
mTitleView.setVisibility(View.GONE);
|
mTitleView.setVisibility(View.GONE);
|
||||||
mPanelHeader.setVisibility(View.VISIBLE);
|
mPanelHeader.setVisibility(View.VISIBLE);
|
||||||
mPanelHeader.setAccessibilityPaneTitle(title);
|
mPanelHeader.setAccessibilityPaneTitle(title);
|
||||||
mHeaderTitle.setText(title);
|
mHeaderTitle.setText(title);
|
||||||
mHeaderSubtitle.setText(mPanel.getSubTitle());
|
mHeaderSubtitle.setText(subtitle);
|
||||||
|
mHeaderSubtitle.setAccessibilityPaneTitle(subtitle);
|
||||||
if (icon != null) {
|
if (icon != null) {
|
||||||
mTitleGroup.setVisibility(View.VISIBLE);
|
mTitleGroup.setVisibility(View.VISIBLE);
|
||||||
|
mHeaderLayout.setGravity(Gravity.LEFT);
|
||||||
mTitleIcon.setImageIcon(icon.toIcon(getContext()));
|
mTitleIcon.setImageIcon(icon.toIcon(getContext()));
|
||||||
if (mPanel.getHeaderIconIntent() != null) {
|
if (mPanel.getHeaderIconIntent() != null) {
|
||||||
mTitleIcon.setOnClickListener(getHeaderIconListener());
|
mTitleIcon.setOnClickListener(getHeaderIconListener());
|
||||||
@@ -295,6 +293,24 @@ public class PanelFragment extends Fragment {
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
mTitleGroup.setVisibility(View.GONE);
|
mTitleGroup.setVisibility(View.GONE);
|
||||||
|
mHeaderLayout.setGravity(Gravity.CENTER_HORIZONTAL);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void enableTitle(CharSequence title) {
|
||||||
|
mPanelHeader.setVisibility(View.GONE);
|
||||||
|
mTitleView.setVisibility(View.VISIBLE);
|
||||||
|
mTitleView.setAccessibilityPaneTitle(title);
|
||||||
|
mTitleView.setText(title);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void enableCustomizedButton() {
|
||||||
|
final CharSequence customTitle = mPanel.getCustomizedButtonTitle();
|
||||||
|
if (TextUtils.isEmpty(customTitle)) {
|
||||||
|
mSeeMoreButton.setVisibility(View.GONE);
|
||||||
|
} else {
|
||||||
|
mSeeMoreButton.setVisibility(View.VISIBLE);
|
||||||
|
mSeeMoreButton.setText(customTitle);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -487,24 +503,14 @@ public class PanelFragment extends Fragment {
|
|||||||
@Override
|
@Override
|
||||||
public void onCustomizedButtonStateChanged() {
|
public void onCustomizedButtonStateChanged() {
|
||||||
ThreadUtils.postOnMainThread(() -> {
|
ThreadUtils.postOnMainThread(() -> {
|
||||||
mSeeMoreButton.setVisibility(
|
enableCustomizedButton();
|
||||||
mPanel.isCustomizedButtonUsed() ? View.VISIBLE : View.GONE);
|
|
||||||
mSeeMoreButton.setText(mPanel.getCustomizedButtonTitle());
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onHeaderChanged() {
|
public void onHeaderChanged() {
|
||||||
ThreadUtils.postOnMainThread(() -> {
|
ThreadUtils.postOnMainThread(() -> {
|
||||||
final IconCompat icon = mPanel.getIcon();
|
enablePanelHeader(mPanel.getIcon(), mPanel.getTitle(), mPanel.getSubTitle());
|
||||||
if (icon != null) {
|
|
||||||
mTitleIcon.setImageIcon(icon.toIcon(getContext()));
|
|
||||||
mTitleGroup.setVisibility(View.VISIBLE);
|
|
||||||
} else {
|
|
||||||
mTitleGroup.setVisibility(View.GONE);
|
|
||||||
}
|
|
||||||
mHeaderTitle.setText(mPanel.getTitle());
|
|
||||||
mHeaderSubtitle.setText(mPanel.getSubTitle());
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -517,7 +523,7 @@ public class PanelFragment extends Fragment {
|
|||||||
@Override
|
@Override
|
||||||
public void onTitleChanged() {
|
public void onTitleChanged() {
|
||||||
ThreadUtils.postOnMainThread(() -> {
|
ThreadUtils.postOnMainThread(() -> {
|
||||||
mTitleView.setText(mPanel.getTitle());
|
enableTitle(mPanel.getTitle());
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -104,6 +104,7 @@ public class MobileNetworkSummaryControllerTest {
|
|||||||
|
|
||||||
@After
|
@After
|
||||||
public void tearDown() {
|
public void tearDown() {
|
||||||
|
SubscriptionUtil.setActiveSubscriptionsForTesting(null);
|
||||||
SubscriptionUtil.setAvailableSubscriptionsForTesting(null);
|
SubscriptionUtil.setAvailableSubscriptionsForTesting(null);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -269,7 +270,8 @@ public class MobileNetworkSummaryControllerTest {
|
|||||||
when(sub1.getDisplayName()).thenReturn("sub1");
|
when(sub1.getDisplayName()).thenReturn("sub1");
|
||||||
when(sub2.getDisplayName()).thenReturn("sub2");
|
when(sub2.getDisplayName()).thenReturn("sub2");
|
||||||
|
|
||||||
SubscriptionUtil.setAvailableSubscriptionsForTesting(Arrays.asList(sub1));
|
when(mSubscriptionManager.getAvailableSubscriptionInfoList()).thenReturn(
|
||||||
|
Arrays.asList(sub1));
|
||||||
SubscriptionUtil.setActiveSubscriptionsForTesting(Arrays.asList(sub1));
|
SubscriptionUtil.setActiveSubscriptionsForTesting(Arrays.asList(sub1));
|
||||||
mController.displayPreference(mPreferenceScreen);
|
mController.displayPreference(mPreferenceScreen);
|
||||||
mController.onResume();
|
mController.onResume();
|
||||||
|
|||||||
@@ -45,8 +45,10 @@ import androidx.appcompat.app.AlertDialog;
|
|||||||
import androidx.fragment.app.FragmentActivity;
|
import androidx.fragment.app.FragmentActivity;
|
||||||
|
|
||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
|
import com.android.settings.network.SubscriptionUtil;
|
||||||
import com.android.settings.testutils.shadow.ShadowAlertDialogCompat;
|
import com.android.settings.testutils.shadow.ShadowAlertDialogCompat;
|
||||||
|
|
||||||
|
import org.junit.After;
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
import org.junit.Ignore;
|
import org.junit.Ignore;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
@@ -109,8 +111,15 @@ public class RenameMobileNetworkDialogFragmentTest {
|
|||||||
mSubscriptionInfoList.add(mSubscriptionInfo);
|
mSubscriptionInfoList.add(mSubscriptionInfo);
|
||||||
when(mSubscriptionMgr.getAvailableSubscriptionInfoList()).thenReturn(
|
when(mSubscriptionMgr.getAvailableSubscriptionInfoList()).thenReturn(
|
||||||
mSubscriptionInfoList);
|
mSubscriptionInfoList);
|
||||||
|
SubscriptionUtil.setAvailableSubscriptionsForTesting(mSubscriptionInfoList);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@After
|
||||||
|
public void tearDown() {
|
||||||
|
SubscriptionUtil.setAvailableSubscriptionsForTesting(null);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@Ignore
|
@Ignore
|
||||||
public void dialog_subscriptionMissing_noCrash() {
|
public void dialog_subscriptionMissing_noCrash() {
|
||||||
|
|||||||
@@ -1,83 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (C) 2018 The Android Open Source Project
|
|
||||||
*
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
* you may not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
package com.android.settings.panel;
|
|
||||||
|
|
||||||
import static com.google.common.truth.Truth.assertThat;
|
|
||||||
|
|
||||||
import android.net.Uri;
|
|
||||||
import android.os.SystemProperties;
|
|
||||||
|
|
||||||
import com.android.settings.network.AirplaneModePreferenceController;
|
|
||||||
import com.android.settings.slices.CustomSliceRegistry;
|
|
||||||
|
|
||||||
import org.junit.After;
|
|
||||||
import org.junit.Before;
|
|
||||||
import org.junit.Test;
|
|
||||||
import org.junit.runner.RunWith;
|
|
||||||
import org.robolectric.RobolectricTestRunner;
|
|
||||||
import org.robolectric.RuntimeEnvironment;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
@RunWith(RobolectricTestRunner.class)
|
|
||||||
|
|
||||||
public class InternetConnectivityPanelTest {
|
|
||||||
|
|
||||||
private InternetConnectivityPanel mPanel;
|
|
||||||
private static final String SETTINGS_PROVIDER_MODEL =
|
|
||||||
"persist.sys.fflag.override.settings_provider_model";
|
|
||||||
private boolean mSettingsProviderModelState;
|
|
||||||
|
|
||||||
@Before
|
|
||||||
public void setUp() {
|
|
||||||
mPanel = InternetConnectivityPanel.create(RuntimeEnvironment.application);
|
|
||||||
mSettingsProviderModelState = SystemProperties.getBoolean(SETTINGS_PROVIDER_MODEL, false);
|
|
||||||
}
|
|
||||||
|
|
||||||
@After
|
|
||||||
public void tearDown() {
|
|
||||||
SystemProperties.set(SETTINGS_PROVIDER_MODEL,
|
|
||||||
mSettingsProviderModelState ? "true" : "false");
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
public void getSlices_providerModelDisabled_containsNecessarySlices() {
|
|
||||||
SystemProperties.set(SETTINGS_PROVIDER_MODEL, "false");
|
|
||||||
final List<Uri> uris = mPanel.getSlices();
|
|
||||||
|
|
||||||
assertThat(uris).containsExactly(
|
|
||||||
AirplaneModePreferenceController.SLICE_URI,
|
|
||||||
CustomSliceRegistry.MOBILE_DATA_SLICE_URI,
|
|
||||||
CustomSliceRegistry.WIFI_SLICE_URI);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
public void getSlices_providerModelEnabled_containsNecessarySlices() {
|
|
||||||
SystemProperties.set(SETTINGS_PROVIDER_MODEL, "true");
|
|
||||||
final List<Uri> uris = mPanel.getSlices();
|
|
||||||
|
|
||||||
assertThat(uris).containsExactly(
|
|
||||||
CustomSliceRegistry.PROVIDER_MODEL_SLICE_URI,
|
|
||||||
CustomSliceRegistry.AIRPLANE_SAFE_NETWORKS_SLICE_URI);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
public void getSeeMoreIntent_notNull() {
|
|
||||||
assertThat(mPanel.getSeeMoreIntent()).isNotNull();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -75,6 +75,7 @@ public class PreferredSimDialogFragmentTest extends
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void onCreateDialog_twoSimsSelectFirst_correctMessage() {
|
public void onCreateDialog_twoSimsSelectFirst_correctMessage() {
|
||||||
|
SubscriptionUtil.setAvailableSubscriptionsForTesting(Arrays.asList(mSim1, mSim2));
|
||||||
SubscriptionUtil.setActiveSubscriptionsForTesting(Arrays.asList(mSim1, mSim2));
|
SubscriptionUtil.setActiveSubscriptionsForTesting(Arrays.asList(mSim1, mSim2));
|
||||||
mIntent.putExtra(PREFERRED_SIM, 0);
|
mIntent.putExtra(PREFERRED_SIM, 0);
|
||||||
|
|
||||||
@@ -87,6 +88,7 @@ public class PreferredSimDialogFragmentTest extends
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void onCreateDialog_twoSimsSelectSecond_correctMessage() {
|
public void onCreateDialog_twoSimsSelectSecond_correctMessage() {
|
||||||
|
SubscriptionUtil.setAvailableSubscriptionsForTesting(Arrays.asList(mSim1, mSim2));
|
||||||
SubscriptionUtil.setActiveSubscriptionsForTesting(Arrays.asList(mSim1, mSim2));
|
SubscriptionUtil.setActiveSubscriptionsForTesting(Arrays.asList(mSim1, mSim2));
|
||||||
mIntent.putExtra(PREFERRED_SIM, 1);
|
mIntent.putExtra(PREFERRED_SIM, 1);
|
||||||
|
|
||||||
@@ -99,6 +101,7 @@ public class PreferredSimDialogFragmentTest extends
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void onClick_yesClicked_callsOnSubscriptionSelected() {
|
public void onClick_yesClicked_callsOnSubscriptionSelected() {
|
||||||
|
SubscriptionUtil.setAvailableSubscriptionsForTesting(Arrays.asList(mSim1, mSim2));
|
||||||
mIntent.putExtra(PREFERRED_SIM, 0);
|
mIntent.putExtra(PREFERRED_SIM, 0);
|
||||||
|
|
||||||
final AlertDialog alertDialog = startDialog();
|
final AlertDialog alertDialog = startDialog();
|
||||||
@@ -113,6 +116,7 @@ public class PreferredSimDialogFragmentTest extends
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void onClick_noClicked_doesNotCallOnSubscriptionSelected() {
|
public void onClick_noClicked_doesNotCallOnSubscriptionSelected() {
|
||||||
|
SubscriptionUtil.setAvailableSubscriptionsForTesting(Arrays.asList(mSim1, mSim2));
|
||||||
mIntent.putExtra(PREFERRED_SIM, 0);
|
mIntent.putExtra(PREFERRED_SIM, 0);
|
||||||
|
|
||||||
final AlertDialog alertDialog = startDialog();
|
final AlertDialog alertDialog = startDialog();
|
||||||
|
|||||||
@@ -130,6 +130,7 @@ public class SimSelectNotificationTest {
|
|||||||
|
|
||||||
when(mTelephonyManager.createForSubscriptionId(anyInt())).thenReturn(mTelephonyManager);
|
when(mTelephonyManager.createForSubscriptionId(anyInt())).thenReturn(mTelephonyManager);
|
||||||
when(mTelephonyManager.isDataEnabledForApn(TYPE_MMS)).thenReturn(false);
|
when(mTelephonyManager.isDataEnabledForApn(TYPE_MMS)).thenReturn(false);
|
||||||
|
SubscriptionUtil.setAvailableSubscriptionsForTesting(Arrays.asList(mSubInfo));
|
||||||
SubscriptionUtil.setActiveSubscriptionsForTesting(Arrays.asList(mSubInfo));
|
SubscriptionUtil.setActiveSubscriptionsForTesting(Arrays.asList(mSubInfo));
|
||||||
when(mSubscriptionManager.isActiveSubscriptionId(mSubId)).thenReturn(true);
|
when(mSubscriptionManager.isActiveSubscriptionId(mSubId)).thenReturn(true);
|
||||||
when(mSubscriptionManager.getActiveSubscriptionInfo(mSubId)).thenReturn(mSubInfo);
|
when(mSubscriptionManager.getActiveSubscriptionInfo(mSubId)).thenReturn(mSubInfo);
|
||||||
|
|||||||
@@ -49,6 +49,7 @@ import android.widget.Spinner;
|
|||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
|
|
||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
|
import com.android.settings.network.SubscriptionUtil;
|
||||||
import com.android.settings.testutils.shadow.ShadowConnectivityManager;
|
import com.android.settings.testutils.shadow.ShadowConnectivityManager;
|
||||||
import com.android.settings.wifi.details2.WifiPrivacyPreferenceController2;
|
import com.android.settings.wifi.details2.WifiPrivacyPreferenceController2;
|
||||||
import com.android.wifitrackerlib.WifiEntry;
|
import com.android.wifitrackerlib.WifiEntry;
|
||||||
@@ -834,6 +835,7 @@ public class WifiConfigController2Test {
|
|||||||
when(subscriptionInfo.getDisplayName()).thenReturn("FAKE-CARRIER");
|
when(subscriptionInfo.getDisplayName()).thenReturn("FAKE-CARRIER");
|
||||||
when(subscriptionInfo.getCarrierId()).thenReturn(carrierId);
|
when(subscriptionInfo.getCarrierId()).thenReturn(carrierId);
|
||||||
when(subscriptionInfo.getCarrierName()).thenReturn("FAKE-CARRIER");
|
when(subscriptionInfo.getCarrierName()).thenReturn("FAKE-CARRIER");
|
||||||
|
SubscriptionUtil.setAvailableSubscriptionsForTesting(Arrays.asList(subscriptionInfo));
|
||||||
mShadowSubscriptionManager.setActiveSubscriptionInfoList(Arrays.asList(subscriptionInfo));
|
mShadowSubscriptionManager.setActiveSubscriptionInfoList(Arrays.asList(subscriptionInfo));
|
||||||
mController = new TestWifiConfigController2(mConfigUiBase, mView, mWifiEntry,
|
mController = new TestWifiConfigController2(mConfigUiBase, mView, mWifiEntry,
|
||||||
WifiConfigUiBase2.MODE_CONNECT);
|
WifiConfigUiBase2.MODE_CONNECT);
|
||||||
|
|||||||
@@ -49,6 +49,7 @@ import android.widget.Spinner;
|
|||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
|
|
||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
|
import com.android.settings.network.SubscriptionUtil;
|
||||||
import com.android.settings.testutils.shadow.ShadowConnectivityManager;
|
import com.android.settings.testutils.shadow.ShadowConnectivityManager;
|
||||||
import com.android.settingslib.wifi.AccessPoint;
|
import com.android.settingslib.wifi.AccessPoint;
|
||||||
|
|
||||||
@@ -629,6 +630,7 @@ public class WifiConfigControllerTest {
|
|||||||
when(subscriptionInfo.getDisplayName()).thenReturn("FAKE-CARRIER");
|
when(subscriptionInfo.getDisplayName()).thenReturn("FAKE-CARRIER");
|
||||||
when(subscriptionInfo.getCarrierId()).thenReturn(carrierId);
|
when(subscriptionInfo.getCarrierId()).thenReturn(carrierId);
|
||||||
when(subscriptionInfo.getCarrierName()).thenReturn("FAKE-CARRIER");
|
when(subscriptionInfo.getCarrierName()).thenReturn("FAKE-CARRIER");
|
||||||
|
SubscriptionUtil.setAvailableSubscriptionsForTesting(Arrays.asList(subscriptionInfo));
|
||||||
mShadowSubscriptionManager.setActiveSubscriptionInfoList(Arrays.asList(subscriptionInfo));
|
mShadowSubscriptionManager.setActiveSubscriptionInfoList(Arrays.asList(subscriptionInfo));
|
||||||
mController = new TestWifiConfigController(mConfigUiBase, mView, mAccessPoint,
|
mController = new TestWifiConfigController(mConfigUiBase, mView, mAccessPoint,
|
||||||
WifiConfigUiBase.MODE_CONNECT);
|
WifiConfigUiBase.MODE_CONNECT);
|
||||||
|
|||||||
@@ -125,6 +125,8 @@ public class WifiCallingSettingsTest {
|
|||||||
when(info1.getDisplayName()).thenReturn(DISPLAY_NAME1);
|
when(info1.getDisplayName()).thenReturn(DISPLAY_NAME1);
|
||||||
when(info2.getDisplayName()).thenReturn(DISPLAY_NAME2);
|
when(info2.getDisplayName()).thenReturn(DISPLAY_NAME2);
|
||||||
|
|
||||||
|
SubscriptionUtil.setAvailableSubscriptionsForTesting(new ArrayList<>(
|
||||||
|
Arrays.asList(info1, info2)));
|
||||||
SubscriptionUtil.setActiveSubscriptionsForTesting(new ArrayList<>(
|
SubscriptionUtil.setActiveSubscriptionsForTesting(new ArrayList<>(
|
||||||
Arrays.asList(info1, info2)));
|
Arrays.asList(info1, info2)));
|
||||||
|
|
||||||
|
|||||||
@@ -17,9 +17,13 @@
|
|||||||
package com.android.settings.network;
|
package com.android.settings.network;
|
||||||
|
|
||||||
import static androidx.lifecycle.Lifecycle.Event;
|
import static androidx.lifecycle.Lifecycle.Event;
|
||||||
|
|
||||||
import static com.google.common.truth.Truth.assertThat;
|
import static com.google.common.truth.Truth.assertThat;
|
||||||
|
|
||||||
import static org.junit.Assert.assertTrue;
|
import static org.junit.Assert.assertTrue;
|
||||||
|
import static org.mockito.Mockito.doReturn;
|
||||||
|
import static org.mockito.Mockito.spy;
|
||||||
|
import static org.mockito.Mockito.when;
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.os.Looper;
|
import android.os.Looper;
|
||||||
@@ -27,19 +31,17 @@ import android.telephony.SubscriptionInfo;
|
|||||||
import android.telephony.SubscriptionManager;
|
import android.telephony.SubscriptionManager;
|
||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
|
|
||||||
import com.android.settings.testutils.ResourcesUtils;
|
|
||||||
import com.android.settingslib.core.lifecycle.Lifecycle;
|
|
||||||
import com.android.settingslib.RestrictedPreference;
|
|
||||||
|
|
||||||
import androidx.lifecycle.LifecycleOwner;
|
import androidx.lifecycle.LifecycleOwner;
|
||||||
import androidx.lifecycle.LifecycleRegistry;
|
import androidx.lifecycle.LifecycleRegistry;
|
||||||
import androidx.preference.PreferenceCategory;
|
|
||||||
import androidx.preference.PreferenceManager;
|
import androidx.preference.PreferenceManager;
|
||||||
import androidx.preference.PreferenceScreen;
|
import androidx.preference.PreferenceScreen;
|
||||||
import androidx.test.annotation.UiThreadTest;
|
import androidx.test.annotation.UiThreadTest;
|
||||||
import androidx.test.core.app.ApplicationProvider;
|
import androidx.test.core.app.ApplicationProvider;
|
||||||
import androidx.test.ext.junit.runners.AndroidJUnit4;
|
import androidx.test.ext.junit.runners.AndroidJUnit4;
|
||||||
import androidx.test.InstrumentationRegistry;
|
|
||||||
|
import com.android.settings.testutils.ResourcesUtils;
|
||||||
|
import com.android.settingslib.RestrictedPreference;
|
||||||
|
import com.android.settingslib.core.lifecycle.Lifecycle;
|
||||||
|
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
@@ -50,9 +52,6 @@ import org.mockito.MockitoAnnotations;
|
|||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
|
|
||||||
import static org.mockito.Mockito.doReturn;
|
|
||||||
import static org.mockito.Mockito.spy;
|
|
||||||
import static org.mockito.Mockito.when;
|
|
||||||
|
|
||||||
@RunWith(AndroidJUnit4.class)
|
@RunWith(AndroidJUnit4.class)
|
||||||
public class NetworkProviderCallsSmsControllerTest {
|
public class NetworkProviderCallsSmsControllerTest {
|
||||||
@@ -156,6 +155,7 @@ public class NetworkProviderCallsSmsControllerTest {
|
|||||||
@UiThreadTest
|
@UiThreadTest
|
||||||
public void getSummary_noSim_returnNoSim() {
|
public void getSummary_noSim_returnNoSim() {
|
||||||
when(mSubscriptionManager.getActiveSubscriptionInfoList()).thenReturn(new ArrayList<>());
|
when(mSubscriptionManager.getActiveSubscriptionInfoList()).thenReturn(new ArrayList<>());
|
||||||
|
when(mSubscriptionManager.getAvailableSubscriptionInfoList()).thenReturn(new ArrayList<>());
|
||||||
displayPreferenceWithLifecycle();
|
displayPreferenceWithLifecycle();
|
||||||
|
|
||||||
assertTrue(TextUtils.equals(mController.getSummary(),
|
assertTrue(TextUtils.equals(mController.getSummary(),
|
||||||
@@ -169,6 +169,8 @@ public class NetworkProviderCallsSmsControllerTest {
|
|||||||
mSubscriptionInfo1);
|
mSubscriptionInfo1);
|
||||||
when(mSubscriptionManager.getActiveSubscriptionInfoList()).thenReturn(
|
when(mSubscriptionManager.getActiveSubscriptionInfoList()).thenReturn(
|
||||||
Arrays.asList(mSubscriptionInfo1));
|
Arrays.asList(mSubscriptionInfo1));
|
||||||
|
when(mSubscriptionManager.getAvailableSubscriptionInfoList()).thenReturn(
|
||||||
|
Arrays.asList(mSubscriptionInfo1));
|
||||||
displayPreferenceWithLifecycle();
|
displayPreferenceWithLifecycle();
|
||||||
|
|
||||||
final StringBuilder summary = new StringBuilder();
|
final StringBuilder summary = new StringBuilder();
|
||||||
@@ -188,6 +190,8 @@ public class NetworkProviderCallsSmsControllerTest {
|
|||||||
setupSubscriptionInfoList(SUB_ID_2, DISPLAY_NAME_2, mSubscriptionInfo2);
|
setupSubscriptionInfoList(SUB_ID_2, DISPLAY_NAME_2, mSubscriptionInfo2);
|
||||||
when(mSubscriptionManager.getActiveSubscriptionInfoList()).thenReturn(
|
when(mSubscriptionManager.getActiveSubscriptionInfoList()).thenReturn(
|
||||||
Arrays.asList(mSubscriptionInfo1, mSubscriptionInfo2));
|
Arrays.asList(mSubscriptionInfo1, mSubscriptionInfo2));
|
||||||
|
when(mSubscriptionManager.getAvailableSubscriptionInfoList()).thenReturn(
|
||||||
|
Arrays.asList(mSubscriptionInfo1, mSubscriptionInfo2));
|
||||||
displayPreferenceWithLifecycle();
|
displayPreferenceWithLifecycle();
|
||||||
|
|
||||||
final StringBuilder summary = new StringBuilder();
|
final StringBuilder summary = new StringBuilder();
|
||||||
@@ -209,6 +213,8 @@ public class NetworkProviderCallsSmsControllerTest {
|
|||||||
setupSubscriptionInfoList(SUB_ID_1, DISPLAY_NAME_1, mSubscriptionInfo1);
|
setupSubscriptionInfoList(SUB_ID_1, DISPLAY_NAME_1, mSubscriptionInfo1);
|
||||||
when(mSubscriptionManager.getActiveSubscriptionInfoList()).thenReturn(
|
when(mSubscriptionManager.getActiveSubscriptionInfoList()).thenReturn(
|
||||||
Arrays.asList(mSubscriptionInfo1));
|
Arrays.asList(mSubscriptionInfo1));
|
||||||
|
when(mSubscriptionManager.getAvailableSubscriptionInfoList()).thenReturn(
|
||||||
|
Arrays.asList(mSubscriptionInfo1));
|
||||||
displayPreferenceWithLifecycle();
|
displayPreferenceWithLifecycle();
|
||||||
|
|
||||||
assertThat(mPreference.getSummary()).isEqualTo(DISPLAY_NAME_1);
|
assertThat(mPreference.getSummary()).isEqualTo(DISPLAY_NAME_1);
|
||||||
@@ -221,6 +227,8 @@ public class NetworkProviderCallsSmsControllerTest {
|
|||||||
setupSubscriptionInfoList(SUB_ID_2, DISPLAY_NAME_2, mSubscriptionInfo2);
|
setupSubscriptionInfoList(SUB_ID_2, DISPLAY_NAME_2, mSubscriptionInfo2);
|
||||||
when(mSubscriptionManager.getActiveSubscriptionInfoList()).thenReturn(
|
when(mSubscriptionManager.getActiveSubscriptionInfoList()).thenReturn(
|
||||||
Arrays.asList(mSubscriptionInfo1, mSubscriptionInfo2));
|
Arrays.asList(mSubscriptionInfo1, mSubscriptionInfo2));
|
||||||
|
when(mSubscriptionManager.getAvailableSubscriptionInfoList()).thenReturn(
|
||||||
|
Arrays.asList(mSubscriptionInfo1, mSubscriptionInfo2));
|
||||||
displayPreferenceWithLifecycle();
|
displayPreferenceWithLifecycle();
|
||||||
|
|
||||||
final StringBuilder summary = new StringBuilder();
|
final StringBuilder summary = new StringBuilder();
|
||||||
@@ -240,6 +248,8 @@ public class NetworkProviderCallsSmsControllerTest {
|
|||||||
setupSubscriptionInfoList(SUB_ID_2, DISPLAY_NAME_2, mSubscriptionInfo2);
|
setupSubscriptionInfoList(SUB_ID_2, DISPLAY_NAME_2, mSubscriptionInfo2);
|
||||||
when(mSubscriptionManager.getActiveSubscriptionInfoList()).thenReturn(
|
when(mSubscriptionManager.getActiveSubscriptionInfoList()).thenReturn(
|
||||||
Arrays.asList(mSubscriptionInfo1, mSubscriptionInfo2));
|
Arrays.asList(mSubscriptionInfo1, mSubscriptionInfo2));
|
||||||
|
when(mSubscriptionManager.getAvailableSubscriptionInfoList()).thenReturn(
|
||||||
|
Arrays.asList(mSubscriptionInfo1, mSubscriptionInfo2));
|
||||||
displayPreferenceWithLifecycle();
|
displayPreferenceWithLifecycle();
|
||||||
|
|
||||||
final StringBuilder summary = new StringBuilder();
|
final StringBuilder summary = new StringBuilder();
|
||||||
@@ -267,6 +277,8 @@ public class NetworkProviderCallsSmsControllerTest {
|
|||||||
setupSubscriptionInfoList(SUB_ID_2, DISPLAY_NAME_2, mSubscriptionInfo2);
|
setupSubscriptionInfoList(SUB_ID_2, DISPLAY_NAME_2, mSubscriptionInfo2);
|
||||||
when(mSubscriptionManager.getActiveSubscriptionInfoList()).thenReturn(
|
when(mSubscriptionManager.getActiveSubscriptionInfoList()).thenReturn(
|
||||||
Arrays.asList(mSubscriptionInfo1, mSubscriptionInfo2));
|
Arrays.asList(mSubscriptionInfo1, mSubscriptionInfo2));
|
||||||
|
when(mSubscriptionManager.getAvailableSubscriptionInfoList()).thenReturn(
|
||||||
|
Arrays.asList(mSubscriptionInfo1, mSubscriptionInfo2));
|
||||||
displayPreferenceWithLifecycle();
|
displayPreferenceWithLifecycle();
|
||||||
|
|
||||||
final StringBuilder summary = new StringBuilder();
|
final StringBuilder summary = new StringBuilder();
|
||||||
@@ -294,6 +306,8 @@ public class NetworkProviderCallsSmsControllerTest {
|
|||||||
setupSubscriptionInfoList(SUB_ID_2, DISPLAY_NAME_2, mSubscriptionInfo2);
|
setupSubscriptionInfoList(SUB_ID_2, DISPLAY_NAME_2, mSubscriptionInfo2);
|
||||||
when(mSubscriptionManager.getActiveSubscriptionInfoList()).thenReturn(
|
when(mSubscriptionManager.getActiveSubscriptionInfoList()).thenReturn(
|
||||||
Arrays.asList(mSubscriptionInfo1, mSubscriptionInfo2));
|
Arrays.asList(mSubscriptionInfo1, mSubscriptionInfo2));
|
||||||
|
when(mSubscriptionManager.getAvailableSubscriptionInfoList()).thenReturn(
|
||||||
|
Arrays.asList(mSubscriptionInfo1, mSubscriptionInfo2));
|
||||||
displayPreferenceWithLifecycle();
|
displayPreferenceWithLifecycle();
|
||||||
|
|
||||||
final StringBuilder summary = new StringBuilder();
|
final StringBuilder summary = new StringBuilder();
|
||||||
|
|||||||
@@ -177,7 +177,7 @@ public class ProviderModelSliceHelperTest {
|
|||||||
when(mDefaultDataSubscriptionInfo.getDisplayName()).thenReturn(expectDisplayName);
|
when(mDefaultDataSubscriptionInfo.getDisplayName()).thenReturn(expectDisplayName);
|
||||||
when(mSubscriptionManager.getActiveSubscriptionInfo(defaultDataSubId)).thenReturn(
|
when(mSubscriptionManager.getActiveSubscriptionInfo(defaultDataSubId)).thenReturn(
|
||||||
mDefaultDataSubscriptionInfo);
|
mDefaultDataSubscriptionInfo);
|
||||||
when(mSubscriptionManager.getActiveSubscriptionInfoList()).thenReturn(
|
when(mSubscriptionManager.getAvailableSubscriptionInfoList()).thenReturn(
|
||||||
Arrays.asList(mDefaultDataSubscriptionInfo));
|
Arrays.asList(mDefaultDataSubscriptionInfo));
|
||||||
|
|
||||||
when(mServiceState.getState()).thenReturn(ServiceState.STATE_IN_SERVICE);
|
when(mServiceState.getState()).thenReturn(ServiceState.STATE_IN_SERVICE);
|
||||||
@@ -207,7 +207,7 @@ public class ProviderModelSliceHelperTest {
|
|||||||
when(mDefaultDataSubscriptionInfo.getDisplayName()).thenReturn(expectDisplayName);
|
when(mDefaultDataSubscriptionInfo.getDisplayName()).thenReturn(expectDisplayName);
|
||||||
when(mSubscriptionManager.getActiveSubscriptionInfo(defaultDataSubId)).thenReturn(
|
when(mSubscriptionManager.getActiveSubscriptionInfo(defaultDataSubId)).thenReturn(
|
||||||
mDefaultDataSubscriptionInfo);
|
mDefaultDataSubscriptionInfo);
|
||||||
when(mSubscriptionManager.getActiveSubscriptionInfoList()).thenReturn(
|
when(mSubscriptionManager.getAvailableSubscriptionInfoList()).thenReturn(
|
||||||
Arrays.asList(mDefaultDataSubscriptionInfo));
|
Arrays.asList(mDefaultDataSubscriptionInfo));
|
||||||
when(mServiceState.getState()).thenReturn(ServiceState.STATE_IN_SERVICE);
|
when(mServiceState.getState()).thenReturn(ServiceState.STATE_IN_SERVICE);
|
||||||
mBundle.putBoolean(CarrierConfigManager.KEY_INFLATE_SIGNAL_STRENGTH_BOOL, false);
|
mBundle.putBoolean(CarrierConfigManager.KEY_INFLATE_SIGNAL_STRENGTH_BOOL, false);
|
||||||
|
|||||||
@@ -16,8 +16,6 @@
|
|||||||
|
|
||||||
package com.android.settings.network;
|
package com.android.settings.network;
|
||||||
|
|
||||||
import static android.app.slice.Slice.EXTRA_TOGGLE_STATE;
|
|
||||||
|
|
||||||
import static com.google.common.truth.Truth.assertThat;
|
import static com.google.common.truth.Truth.assertThat;
|
||||||
|
|
||||||
import static org.mockito.ArgumentMatchers.any;
|
import static org.mockito.ArgumentMatchers.any;
|
||||||
@@ -25,6 +23,7 @@ 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.ArgumentMatchers.anyString;
|
||||||
import static org.mockito.Mockito.eq;
|
import static org.mockito.Mockito.eq;
|
||||||
|
import static org.mockito.Mockito.never;
|
||||||
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;
|
||||||
@@ -132,7 +131,8 @@ public class ProviderModelSliceTest {
|
|||||||
SliceProvider.setSpecs(SliceLiveData.SUPPORTED_SPECS);
|
SliceProvider.setSpecs(SliceLiveData.SUPPORTED_SPECS);
|
||||||
mMockNetworkProviderWorker = spy(new MockNetworkProviderWorker(mContext,
|
mMockNetworkProviderWorker = spy(new MockNetworkProviderWorker(mContext,
|
||||||
PROVIDER_MODEL_SLICE_URI));
|
PROVIDER_MODEL_SLICE_URI));
|
||||||
mMockProviderModelSlice = new MockProviderModelSlice(mContext, mMockNetworkProviderWorker);
|
mMockProviderModelSlice = spy(new MockProviderModelSlice(
|
||||||
|
mContext, mMockNetworkProviderWorker));
|
||||||
mListBuilder = spy(new ListBuilder(mContext, PROVIDER_MODEL_SLICE_URI,
|
mListBuilder = spy(new ListBuilder(mContext, PROVIDER_MODEL_SLICE_URI,
|
||||||
ListBuilder.INFINITY).setAccentColor(-1));
|
ListBuilder.INFINITY).setAccentColor(-1));
|
||||||
when(mProviderModelSliceHelper.createListBuilder(PROVIDER_MODEL_SLICE_URI)).thenReturn(
|
when(mProviderModelSliceHelper.createListBuilder(PROVIDER_MODEL_SLICE_URI)).thenReturn(
|
||||||
@@ -386,32 +386,34 @@ public class ProviderModelSliceTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void onNotifyChange_intentToggleActionOn_shouldSetCarrierNetworkEnabledTrue() {
|
public void doCarrierNetworkAction_toggleActionSetDataEnabled_setCarrierNetworkEnabledTrue() {
|
||||||
Intent intent = mMockProviderModelSlice.getBroadcastIntent(mContext).getIntent();
|
mMockProviderModelSlice.doCarrierNetworkAction(true /* isToggleAction */,
|
||||||
intent.putExtra(EXTRA_TOGGLE_STATE, true);
|
true /* isDataEnabled */);
|
||||||
|
|
||||||
mMockProviderModelSlice.onNotifyChange(intent);
|
|
||||||
|
|
||||||
verify(mMockNetworkProviderWorker).setCarrierNetworkEnabled(true);
|
verify(mMockNetworkProviderWorker).setCarrierNetworkEnabled(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void onNotifyChange_intentToggleActionOff_shouldSetCarrierNetworkEnabledFalse() {
|
public void doCarrierNetworkAction_toggleActionSetDataDisabled_setCarrierNetworkEnabledFalse() {
|
||||||
Intent intent = mMockProviderModelSlice.getBroadcastIntent(mContext).getIntent();
|
mMockProviderModelSlice.doCarrierNetworkAction(true /* isToggleAction */,
|
||||||
intent.putExtra(EXTRA_TOGGLE_STATE, false);
|
false /* isDataEnabled */);
|
||||||
|
|
||||||
mMockProviderModelSlice.onNotifyChange(intent);
|
|
||||||
|
|
||||||
verify(mMockNetworkProviderWorker).setCarrierNetworkEnabled(false);
|
verify(mMockNetworkProviderWorker).setCarrierNetworkEnabled(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void onNotifyChange_intentPrimaryAction_shouldConnectCarrierNetwork() {
|
public void doCarrierNetworkAction_primaryActionAndDataEnabled_connectCarrierNetwork() {
|
||||||
when(mTelephonyManager.isDataEnabled()).thenReturn(true);
|
mMockProviderModelSlice.doCarrierNetworkAction(false /* isToggleAction */,
|
||||||
Intent intent = mMockProviderModelSlice.getBroadcastIntent(mContext).getIntent();
|
true /* isDataEnabled */);
|
||||||
|
|
||||||
mMockProviderModelSlice.onNotifyChange(intent);
|
|
||||||
|
|
||||||
verify(mMockNetworkProviderWorker).connectCarrierNetwork();
|
verify(mMockNetworkProviderWorker).connectCarrierNetwork();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void doCarrierNetworkAction_primaryActionAndDataDisabled_notConnectCarrierNetwork() {
|
||||||
|
mMockProviderModelSlice.doCarrierNetworkAction(false /* isToggleAction */,
|
||||||
|
false /* isDataEnabled */);
|
||||||
|
|
||||||
|
verify(mMockNetworkProviderWorker, never()).connectCarrierNetwork();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -48,7 +48,7 @@ public class SubscriptionUtilTest {
|
|||||||
private static final int SUBID_1 = 1;
|
private static final int SUBID_1 = 1;
|
||||||
private static final int SUBID_2 = 2;
|
private static final int SUBID_2 = 2;
|
||||||
private static final int SUBID_3 = 3;
|
private static final int SUBID_3 = 3;
|
||||||
private static final CharSequence CARRIER_1 = "carrier1";
|
private static final CharSequence CARRIER_1 = "carrier1111111";
|
||||||
private static final CharSequence CARRIER_2 = "carrier2";
|
private static final CharSequence CARRIER_2 = "carrier2";
|
||||||
|
|
||||||
private Context mContext;
|
private Context mContext;
|
||||||
@@ -94,6 +94,8 @@ public class SubscriptionUtilTest {
|
|||||||
final SubscriptionInfo info2 = mock(SubscriptionInfo.class);
|
final SubscriptionInfo info2 = mock(SubscriptionInfo.class);
|
||||||
when(mSubMgr.getAvailableSubscriptionInfoList()).thenReturn(Arrays.asList(info1, info2));
|
when(mSubMgr.getAvailableSubscriptionInfoList()).thenReturn(Arrays.asList(info1, info2));
|
||||||
|
|
||||||
|
// // TODO remove this line.
|
||||||
|
// when(mSubMgr.getAvailableSubscriptionInfoList()).thenReturn(Arrays.asList(info1, info2));
|
||||||
final List<SubscriptionInfo> subs = SubscriptionUtil.getAvailableSubscriptions(mContext);
|
final List<SubscriptionInfo> subs = SubscriptionUtil.getAvailableSubscriptions(mContext);
|
||||||
|
|
||||||
assertThat(subs).isNotNull();
|
assertThat(subs).isNotNull();
|
||||||
@@ -143,8 +145,9 @@ public class SubscriptionUtilTest {
|
|||||||
when(info2.getSubscriptionId()).thenReturn(SUBID_2);
|
when(info2.getSubscriptionId()).thenReturn(SUBID_2);
|
||||||
when(info1.getDisplayName()).thenReturn(CARRIER_1);
|
when(info1.getDisplayName()).thenReturn(CARRIER_1);
|
||||||
when(info2.getDisplayName()).thenReturn(CARRIER_2);
|
when(info2.getDisplayName()).thenReturn(CARRIER_2);
|
||||||
when(mSubMgr.getActiveSubscriptionInfoList()).thenReturn(
|
when(mSubMgr.getAvailableSubscriptionInfoList()).thenReturn(
|
||||||
Arrays.asList(info1, info2));
|
Arrays.asList(info1, info2));
|
||||||
|
// Arrays.asList(info2));
|
||||||
|
|
||||||
// Each subscription has a unique last 4 digits of the phone number.
|
// Each subscription has a unique last 4 digits of the phone number.
|
||||||
TelephonyManager sub1Telmgr = mock(TelephonyManager.class);
|
TelephonyManager sub1Telmgr = mock(TelephonyManager.class);
|
||||||
@@ -172,7 +175,7 @@ public class SubscriptionUtilTest {
|
|||||||
when(info2.getSubscriptionId()).thenReturn(SUBID_2);
|
when(info2.getSubscriptionId()).thenReturn(SUBID_2);
|
||||||
when(info1.getDisplayName()).thenReturn(CARRIER_1);
|
when(info1.getDisplayName()).thenReturn(CARRIER_1);
|
||||||
when(info2.getDisplayName()).thenReturn(CARRIER_1);
|
when(info2.getDisplayName()).thenReturn(CARRIER_1);
|
||||||
when(mSubMgr.getActiveSubscriptionInfoList()).thenReturn(
|
when(mSubMgr.getAvailableSubscriptionInfoList()).thenReturn(
|
||||||
Arrays.asList(info1, info2));
|
Arrays.asList(info1, info2));
|
||||||
|
|
||||||
// Each subscription has a unique last 4 digits of the phone number.
|
// Each subscription has a unique last 4 digits of the phone number.
|
||||||
@@ -201,8 +204,7 @@ public class SubscriptionUtilTest {
|
|||||||
when(info2.getSubscriptionId()).thenReturn(SUBID_2);
|
when(info2.getSubscriptionId()).thenReturn(SUBID_2);
|
||||||
when(info1.getDisplayName()).thenReturn(CARRIER_1);
|
when(info1.getDisplayName()).thenReturn(CARRIER_1);
|
||||||
when(info2.getDisplayName()).thenReturn(CARRIER_1);
|
when(info2.getDisplayName()).thenReturn(CARRIER_1);
|
||||||
when(mSubMgr.getActiveSubscriptionInfoList()).thenReturn(
|
when(mSubMgr.getAvailableSubscriptionInfoList()).thenReturn(Arrays.asList(info1, info2));
|
||||||
Arrays.asList(info1, info2));
|
|
||||||
|
|
||||||
// The subscriptions' phone numbers cannot be revealed to the user.
|
// The subscriptions' phone numbers cannot be revealed to the user.
|
||||||
TelephonyManager sub1Telmgr = mock(TelephonyManager.class);
|
TelephonyManager sub1Telmgr = mock(TelephonyManager.class);
|
||||||
@@ -234,7 +236,7 @@ public class SubscriptionUtilTest {
|
|||||||
when(info1.getDisplayName()).thenReturn(CARRIER_1);
|
when(info1.getDisplayName()).thenReturn(CARRIER_1);
|
||||||
when(info2.getDisplayName()).thenReturn(CARRIER_1);
|
when(info2.getDisplayName()).thenReturn(CARRIER_1);
|
||||||
when(info3.getDisplayName()).thenReturn(CARRIER_1);
|
when(info3.getDisplayName()).thenReturn(CARRIER_1);
|
||||||
when(mSubMgr.getActiveSubscriptionInfoList()).thenReturn(
|
when(mSubMgr.getAvailableSubscriptionInfoList()).thenReturn(
|
||||||
Arrays.asList(info1, info2, info3));
|
Arrays.asList(info1, info2, info3));
|
||||||
|
|
||||||
// Subscription 1 has a unique phone number, but subscriptions 2 and 3 share the same
|
// Subscription 1 has a unique phone number, but subscriptions 2 and 3 share the same
|
||||||
@@ -265,8 +267,7 @@ public class SubscriptionUtilTest {
|
|||||||
final SubscriptionInfo info1 = mock(SubscriptionInfo.class);
|
final SubscriptionInfo info1 = mock(SubscriptionInfo.class);
|
||||||
when(info1.getSubscriptionId()).thenReturn(SUBID_1);
|
when(info1.getSubscriptionId()).thenReturn(SUBID_1);
|
||||||
when(info1.getDisplayName()).thenReturn(CARRIER_1);
|
when(info1.getDisplayName()).thenReturn(CARRIER_1);
|
||||||
when(mSubMgr.getActiveSubscriptionInfoList()).thenReturn(
|
when(mSubMgr.getAvailableSubscriptionInfoList()).thenReturn(Arrays.asList(info1));
|
||||||
Arrays.asList(info1));
|
|
||||||
|
|
||||||
TelephonyManager sub1Telmgr = mock(TelephonyManager.class);
|
TelephonyManager sub1Telmgr = mock(TelephonyManager.class);
|
||||||
when(sub1Telmgr.getLine1Number()).thenReturn("1112223333");
|
when(sub1Telmgr.getLine1Number()).thenReturn("1112223333");
|
||||||
@@ -288,8 +289,7 @@ public class SubscriptionUtilTest {
|
|||||||
when(info2.getSubscriptionId()).thenReturn(SUBID_2);
|
when(info2.getSubscriptionId()).thenReturn(SUBID_2);
|
||||||
when(info1.getDisplayName()).thenReturn(CARRIER_1);
|
when(info1.getDisplayName()).thenReturn(CARRIER_1);
|
||||||
when(info2.getDisplayName()).thenReturn(CARRIER_1);
|
when(info2.getDisplayName()).thenReturn(CARRIER_1);
|
||||||
when(mSubMgr.getActiveSubscriptionInfoList()).thenReturn(
|
when(mSubMgr.getAvailableSubscriptionInfoList()).thenReturn(Arrays.asList(info1, info2));
|
||||||
Arrays.asList(info1, info2));
|
|
||||||
|
|
||||||
// Each subscription has a unique last 4 digits of the phone number.
|
// Each subscription has a unique last 4 digits of the phone number.
|
||||||
TelephonyManager sub1Telmgr = mock(TelephonyManager.class);
|
TelephonyManager sub1Telmgr = mock(TelephonyManager.class);
|
||||||
@@ -318,8 +318,7 @@ public class SubscriptionUtilTest {
|
|||||||
when(info2.getSubscriptionId()).thenReturn(SUBID_2);
|
when(info2.getSubscriptionId()).thenReturn(SUBID_2);
|
||||||
when(info1.getDisplayName()).thenReturn(CARRIER_1);
|
when(info1.getDisplayName()).thenReturn(CARRIER_1);
|
||||||
when(info2.getDisplayName()).thenReturn(CARRIER_1);
|
when(info2.getDisplayName()).thenReturn(CARRIER_1);
|
||||||
when(mSubMgr.getActiveSubscriptionInfoList()).thenReturn(
|
when(mSubMgr.getAvailableSubscriptionInfoList()).thenReturn(Arrays.asList(info1, info2));
|
||||||
Arrays.asList(info1, info2));
|
|
||||||
|
|
||||||
// Both subscriptions have a the same 4 digits of the phone number.
|
// Both subscriptions have a the same 4 digits of the phone number.
|
||||||
TelephonyManager sub1Telmgr = mock(TelephonyManager.class);
|
TelephonyManager sub1Telmgr = mock(TelephonyManager.class);
|
||||||
@@ -345,8 +344,7 @@ public class SubscriptionUtilTest {
|
|||||||
final SubscriptionInfo info1 = mock(SubscriptionInfo.class);
|
final SubscriptionInfo info1 = mock(SubscriptionInfo.class);
|
||||||
when(info1.getSubscriptionId()).thenReturn(SUBID_1);
|
when(info1.getSubscriptionId()).thenReturn(SUBID_1);
|
||||||
when(info1.getDisplayName()).thenReturn(CARRIER_1);
|
when(info1.getDisplayName()).thenReturn(CARRIER_1);
|
||||||
when(mSubMgr.getActiveSubscriptionInfoList()).thenReturn(
|
when(mSubMgr.getAvailableSubscriptionInfoList()).thenReturn(Arrays.asList(info1));
|
||||||
Arrays.asList(info1));
|
|
||||||
|
|
||||||
TelephonyManager sub1Telmgr = mock(TelephonyManager.class);
|
TelephonyManager sub1Telmgr = mock(TelephonyManager.class);
|
||||||
when(sub1Telmgr.getLine1Number()).thenReturn("1112223333");
|
when(sub1Telmgr.getLine1Number()).thenReturn("1112223333");
|
||||||
@@ -366,8 +364,7 @@ public class SubscriptionUtilTest {
|
|||||||
final SubscriptionInfo info1 = mock(SubscriptionInfo.class);
|
final SubscriptionInfo info1 = mock(SubscriptionInfo.class);
|
||||||
when(info1.getSubscriptionId()).thenReturn(SUBID_1);
|
when(info1.getSubscriptionId()).thenReturn(SUBID_1);
|
||||||
when(info1.getDisplayName()).thenReturn(CARRIER_1);
|
when(info1.getDisplayName()).thenReturn(CARRIER_1);
|
||||||
when(mSubMgr.getActiveSubscriptionInfoList()).thenReturn(
|
when(mSubMgr.getAvailableSubscriptionInfoList()).thenReturn(Arrays.asList(info1));
|
||||||
Arrays.asList(info1));
|
|
||||||
|
|
||||||
TelephonyManager sub1Telmgr = mock(TelephonyManager.class);
|
TelephonyManager sub1Telmgr = mock(TelephonyManager.class);
|
||||||
when(sub1Telmgr.getLine1Number()).thenReturn("1112223333");
|
when(sub1Telmgr.getLine1Number()).thenReturn("1112223333");
|
||||||
|
|||||||
@@ -272,6 +272,7 @@ public class SubscriptionsPreferenceControllerTest {
|
|||||||
@UiThreadTest
|
@UiThreadTest
|
||||||
public void onSubscriptionsChanged_subscriptionReplaced_preferencesChanged() {
|
public void onSubscriptionsChanged_subscriptionReplaced_preferencesChanged() {
|
||||||
final List<SubscriptionInfo> subs = setupMockSubscriptions(3);
|
final List<SubscriptionInfo> subs = setupMockSubscriptions(3);
|
||||||
|
doReturn(subs).when(mSubscriptionManager).getAvailableSubscriptionInfoList();
|
||||||
|
|
||||||
// Start out with only sub1 and sub2.
|
// Start out with only sub1 and sub2.
|
||||||
SubscriptionUtil.setActiveSubscriptionsForTesting(subs.subList(0, 2));
|
SubscriptionUtil.setActiveSubscriptionsForTesting(subs.subList(0, 2));
|
||||||
@@ -388,6 +389,7 @@ public class SubscriptionsPreferenceControllerTest {
|
|||||||
final List<SubscriptionInfo> sub = setupMockSubscriptions(1);
|
final List<SubscriptionInfo> sub = setupMockSubscriptions(1);
|
||||||
doReturn(true).when(sInjector).isProviderModelEnabled(mContext);
|
doReturn(true).when(sInjector).isProviderModelEnabled(mContext);
|
||||||
doReturn(sub.get(0)).when(mSubscriptionManager).getDefaultDataSubscriptionInfo();
|
doReturn(sub.get(0)).when(mSubscriptionManager).getDefaultDataSubscriptionInfo();
|
||||||
|
doReturn(sub).when(mSubscriptionManager).getAvailableSubscriptionInfoList();
|
||||||
|
|
||||||
mController.onResume();
|
mController.onResume();
|
||||||
mController.displayPreference(mPreferenceScreen);
|
mController.displayPreference(mPreferenceScreen);
|
||||||
@@ -402,6 +404,7 @@ public class SubscriptionsPreferenceControllerTest {
|
|||||||
final List<SubscriptionInfo> sub = setupMockSubscriptions(2);
|
final List<SubscriptionInfo> sub = setupMockSubscriptions(2);
|
||||||
doReturn(true).when(sInjector).isProviderModelEnabled(mContext);
|
doReturn(true).when(sInjector).isProviderModelEnabled(mContext);
|
||||||
doReturn(sub.get(0)).when(mSubscriptionManager).getDefaultDataSubscriptionInfo();
|
doReturn(sub.get(0)).when(mSubscriptionManager).getDefaultDataSubscriptionInfo();
|
||||||
|
doReturn(sub).when(mSubscriptionManager).getAvailableSubscriptionInfoList();
|
||||||
|
|
||||||
mController.onResume();
|
mController.onResume();
|
||||||
mController.displayPreference(mPreferenceScreen);
|
mController.displayPreference(mPreferenceScreen);
|
||||||
@@ -530,6 +533,7 @@ public class SubscriptionsPreferenceControllerTest {
|
|||||||
final List<SubscriptionInfo> sub = setupMockSubscriptions(2);
|
final List<SubscriptionInfo> sub = setupMockSubscriptions(2);
|
||||||
doReturn(true).when(sInjector).isProviderModelEnabled(mContext);
|
doReturn(true).when(sInjector).isProviderModelEnabled(mContext);
|
||||||
doReturn(sub.get(0)).when(mSubscriptionManager).getDefaultDataSubscriptionInfo();
|
doReturn(sub.get(0)).when(mSubscriptionManager).getDefaultDataSubscriptionInfo();
|
||||||
|
doReturn(sub).when(mSubscriptionManager).getAvailableSubscriptionInfoList();
|
||||||
Intent intent = new Intent(TelephonyManager.ACTION_DEFAULT_DATA_SUBSCRIPTION_CHANGED);
|
Intent intent = new Intent(TelephonyManager.ACTION_DEFAULT_DATA_SUBSCRIPTION_CHANGED);
|
||||||
|
|
||||||
mController.onResume();
|
mController.onResume();
|
||||||
@@ -548,6 +552,7 @@ public class SubscriptionsPreferenceControllerTest {
|
|||||||
final int subId = sub.get(0).getSubscriptionId();
|
final int subId = sub.get(0).getSubscriptionId();
|
||||||
doReturn(true).when(sInjector).isProviderModelEnabled(mContext);
|
doReturn(true).when(sInjector).isProviderModelEnabled(mContext);
|
||||||
doReturn(sub.get(0)).when(mSubscriptionManager).getDefaultDataSubscriptionInfo();
|
doReturn(sub.get(0)).when(mSubscriptionManager).getDefaultDataSubscriptionInfo();
|
||||||
|
doReturn(sub).when(mSubscriptionManager).getAvailableSubscriptionInfoList();
|
||||||
Intent intent = new Intent(TelephonyManager.ACTION_DEFAULT_DATA_SUBSCRIPTION_CHANGED);
|
Intent intent = new Intent(TelephonyManager.ACTION_DEFAULT_DATA_SUBSCRIPTION_CHANGED);
|
||||||
|
|
||||||
mController.onResume();
|
mController.onResume();
|
||||||
|
|||||||
@@ -54,7 +54,7 @@ import java.util.Arrays;
|
|||||||
@RunWith(AndroidJUnit4.class)
|
@RunWith(AndroidJUnit4.class)
|
||||||
public class DefaultSubscriptionControllerTest {
|
public class DefaultSubscriptionControllerTest {
|
||||||
@Mock
|
@Mock
|
||||||
private SubscriptionManager mManager;
|
private SubscriptionManager mSubMgr;
|
||||||
@Mock
|
@Mock
|
||||||
private TelecomManager mTelecomManager;
|
private TelecomManager mTelecomManager;
|
||||||
|
|
||||||
@@ -68,7 +68,7 @@ public class DefaultSubscriptionControllerTest {
|
|||||||
public void setUp() {
|
public void setUp() {
|
||||||
MockitoAnnotations.initMocks(this);
|
MockitoAnnotations.initMocks(this);
|
||||||
mContext = spy(ApplicationProvider.getApplicationContext());
|
mContext = spy(ApplicationProvider.getApplicationContext());
|
||||||
when(mContext.getSystemService(SubscriptionManager.class)).thenReturn(mManager);
|
when(mContext.getSystemService(SubscriptionManager.class)).thenReturn(mSubMgr);
|
||||||
when(mContext.getSystemService(TelecomManager.class)).thenReturn(mTelecomManager);
|
when(mContext.getSystemService(TelecomManager.class)).thenReturn(mTelecomManager);
|
||||||
|
|
||||||
final String key = "prefkey";
|
final String key = "prefkey";
|
||||||
@@ -123,6 +123,7 @@ public class DefaultSubscriptionControllerTest {
|
|||||||
final SubscriptionInfo sub1 = createMockSub(111, "sub1");
|
final SubscriptionInfo sub1 = createMockSub(111, "sub1");
|
||||||
final SubscriptionInfo sub2 = createMockSub(222, "sub2");
|
final SubscriptionInfo sub2 = createMockSub(222, "sub2");
|
||||||
SubscriptionUtil.setActiveSubscriptionsForTesting(Arrays.asList(sub1, sub2));
|
SubscriptionUtil.setActiveSubscriptionsForTesting(Arrays.asList(sub1, sub2));
|
||||||
|
when(mSubMgr.getAvailableSubscriptionInfoList()).thenReturn(Arrays.asList(sub1, sub2));
|
||||||
mController.setDefaultSubscription(sub1.getSubscriptionId());
|
mController.setDefaultSubscription(sub1.getSubscriptionId());
|
||||||
|
|
||||||
mController.displayPreference(mScreen);
|
mController.displayPreference(mScreen);
|
||||||
@@ -152,6 +153,7 @@ public class DefaultSubscriptionControllerTest {
|
|||||||
final SubscriptionInfo sub1 = createMockSub(111, "sub1");
|
final SubscriptionInfo sub1 = createMockSub(111, "sub1");
|
||||||
final SubscriptionInfo sub2 = createMockSub(222, "sub2");
|
final SubscriptionInfo sub2 = createMockSub(222, "sub2");
|
||||||
SubscriptionUtil.setActiveSubscriptionsForTesting(Arrays.asList(sub1, sub2));
|
SubscriptionUtil.setActiveSubscriptionsForTesting(Arrays.asList(sub1, sub2));
|
||||||
|
when(mSubMgr.getAvailableSubscriptionInfoList()).thenReturn(Arrays.asList(sub1, sub2));
|
||||||
mController.setDefaultSubscription(sub2.getSubscriptionId());
|
mController.setDefaultSubscription(sub2.getSubscriptionId());
|
||||||
|
|
||||||
mController.displayPreference(mScreen);
|
mController.displayPreference(mScreen);
|
||||||
@@ -186,6 +188,8 @@ public class DefaultSubscriptionControllerTest {
|
|||||||
when(sub2.isOpportunistic()).thenReturn(true);
|
when(sub2.isOpportunistic()).thenReturn(true);
|
||||||
|
|
||||||
SubscriptionUtil.setActiveSubscriptionsForTesting(Arrays.asList(sub1, sub2, sub3));
|
SubscriptionUtil.setActiveSubscriptionsForTesting(Arrays.asList(sub1, sub2, sub3));
|
||||||
|
when(mSubMgr.getAvailableSubscriptionInfoList()).thenReturn(
|
||||||
|
Arrays.asList(sub1, sub2, sub3));
|
||||||
mController.setDefaultSubscription(sub1.getSubscriptionId());
|
mController.setDefaultSubscription(sub1.getSubscriptionId());
|
||||||
|
|
||||||
mController.displayPreference(mScreen);
|
mController.displayPreference(mScreen);
|
||||||
@@ -240,6 +244,7 @@ public class DefaultSubscriptionControllerTest {
|
|||||||
|
|
||||||
// Start with only one sub active, so the pref is not available
|
// Start with only one sub active, so the pref is not available
|
||||||
SubscriptionUtil.setActiveSubscriptionsForTesting(Arrays.asList(sub1));
|
SubscriptionUtil.setActiveSubscriptionsForTesting(Arrays.asList(sub1));
|
||||||
|
when(mSubMgr.getAvailableSubscriptionInfoList()).thenReturn(Arrays.asList(sub1));
|
||||||
mController.setDefaultSubscription(sub1.getSubscriptionId());
|
mController.setDefaultSubscription(sub1.getSubscriptionId());
|
||||||
|
|
||||||
mController.displayPreference(mScreen);
|
mController.displayPreference(mScreen);
|
||||||
@@ -261,6 +266,7 @@ public class DefaultSubscriptionControllerTest {
|
|||||||
final SubscriptionInfo sub1 = createMockSub(111, "sub1");
|
final SubscriptionInfo sub1 = createMockSub(111, "sub1");
|
||||||
final SubscriptionInfo sub2 = createMockSub(222, "sub2");
|
final SubscriptionInfo sub2 = createMockSub(222, "sub2");
|
||||||
SubscriptionUtil.setActiveSubscriptionsForTesting(Arrays.asList(sub1, sub2));
|
SubscriptionUtil.setActiveSubscriptionsForTesting(Arrays.asList(sub1, sub2));
|
||||||
|
when(mSubMgr.getAvailableSubscriptionInfoList()).thenReturn(Arrays.asList(sub1, sub2));
|
||||||
mController.setDefaultSubscription(sub1.getSubscriptionId());
|
mController.setDefaultSubscription(sub1.getSubscriptionId());
|
||||||
|
|
||||||
mController.displayPreference(mScreen);
|
mController.displayPreference(mScreen);
|
||||||
@@ -296,6 +302,7 @@ public class DefaultSubscriptionControllerTest {
|
|||||||
final SubscriptionInfo sub1 = createMockSub(111, "sub1");
|
final SubscriptionInfo sub1 = createMockSub(111, "sub1");
|
||||||
final SubscriptionInfo sub2 = createMockSub(222, "sub2");
|
final SubscriptionInfo sub2 = createMockSub(222, "sub2");
|
||||||
SubscriptionUtil.setActiveSubscriptionsForTesting(Arrays.asList(sub1));
|
SubscriptionUtil.setActiveSubscriptionsForTesting(Arrays.asList(sub1));
|
||||||
|
when(mSubMgr.getAvailableSubscriptionInfoList()).thenReturn(Arrays.asList(sub1));
|
||||||
mController.setDefaultSubscription(sub1.getSubscriptionId());
|
mController.setDefaultSubscription(sub1.getSubscriptionId());
|
||||||
|
|
||||||
mController.displayPreference(mScreen);
|
mController.displayPreference(mScreen);
|
||||||
@@ -303,6 +310,7 @@ public class DefaultSubscriptionControllerTest {
|
|||||||
assertThat(mListPreference.isVisible()).isFalse();
|
assertThat(mListPreference.isVisible()).isFalse();
|
||||||
|
|
||||||
SubscriptionUtil.setActiveSubscriptionsForTesting(Arrays.asList(sub1, sub2));
|
SubscriptionUtil.setActiveSubscriptionsForTesting(Arrays.asList(sub1, sub2));
|
||||||
|
when(mSubMgr.getAvailableSubscriptionInfoList()).thenReturn(Arrays.asList(sub1, sub2));
|
||||||
mController.onSubscriptionsChanged();
|
mController.onSubscriptionsChanged();
|
||||||
|
|
||||||
assertThat(mController.isAvailable()).isTrue();
|
assertThat(mController.isAvailable()).isTrue();
|
||||||
@@ -315,12 +323,15 @@ public class DefaultSubscriptionControllerTest {
|
|||||||
final SubscriptionInfo sub2 = createMockSub(222, "sub2");
|
final SubscriptionInfo sub2 = createMockSub(222, "sub2");
|
||||||
final SubscriptionInfo sub3 = createMockSub(333, "sub3");
|
final SubscriptionInfo sub3 = createMockSub(333, "sub3");
|
||||||
SubscriptionUtil.setActiveSubscriptionsForTesting(Arrays.asList(sub1, sub2));
|
SubscriptionUtil.setActiveSubscriptionsForTesting(Arrays.asList(sub1, sub2));
|
||||||
|
when(mSubMgr.getAvailableSubscriptionInfoList()).thenReturn(Arrays.asList(sub1, sub2));
|
||||||
mController.setDefaultSubscription(sub1.getSubscriptionId());
|
mController.setDefaultSubscription(sub1.getSubscriptionId());
|
||||||
|
|
||||||
mController.displayPreference(mScreen);
|
mController.displayPreference(mScreen);
|
||||||
assertThat(mListPreference.getEntries().length).isEqualTo(3);
|
assertThat(mListPreference.getEntries().length).isEqualTo(3);
|
||||||
|
|
||||||
SubscriptionUtil.setActiveSubscriptionsForTesting(Arrays.asList(sub1, sub2, sub3));
|
SubscriptionUtil.setActiveSubscriptionsForTesting(Arrays.asList(sub1, sub2, sub3));
|
||||||
|
when(mSubMgr.getAvailableSubscriptionInfoList()).thenReturn(
|
||||||
|
Arrays.asList(sub1, sub2, sub3));
|
||||||
mController.onSubscriptionsChanged();
|
mController.onSubscriptionsChanged();
|
||||||
|
|
||||||
assertThat(mController.isAvailable()).isTrue();
|
assertThat(mController.isAvailable()).isTrue();
|
||||||
|
|||||||
@@ -39,15 +39,15 @@ import android.telephony.SubscriptionManager;
|
|||||||
import android.telephony.TelephonyManager;
|
import android.telephony.TelephonyManager;
|
||||||
import android.util.FeatureFlagUtils;
|
import android.util.FeatureFlagUtils;
|
||||||
|
|
||||||
import com.android.settings.network.ims.MockWfcQueryImsState;
|
|
||||||
import com.android.settingslib.core.lifecycle.Lifecycle;
|
|
||||||
|
|
||||||
import androidx.preference.PreferenceCategory;
|
import androidx.preference.PreferenceCategory;
|
||||||
import androidx.preference.PreferenceManager;
|
import androidx.preference.PreferenceManager;
|
||||||
import androidx.preference.PreferenceScreen;
|
import androidx.preference.PreferenceScreen;
|
||||||
import androidx.test.core.app.ApplicationProvider;
|
import androidx.test.core.app.ApplicationProvider;
|
||||||
import androidx.test.ext.junit.runners.AndroidJUnit4;
|
import androidx.test.ext.junit.runners.AndroidJUnit4;
|
||||||
|
|
||||||
|
import com.android.settings.network.ims.MockWfcQueryImsState;
|
||||||
|
import com.android.settingslib.core.lifecycle.Lifecycle;
|
||||||
|
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import org.junit.runner.RunWith;
|
import org.junit.runner.RunWith;
|
||||||
@@ -132,10 +132,8 @@ public class NetworkProviderWifiCallingGroupTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void shouldShowWifiCallingForSub_invalidSubId_returnFalse() {
|
public void shouldShowWifiCallingForSub_invalidSubId_returnFalse() {
|
||||||
when(mSubscriptionManager.getActiveSubscriptionInfo(SUB_ID)).thenReturn(null);
|
assertThat(mNetworkProviderWifiCallingGroup.shouldShowWifiCallingForSub(
|
||||||
|
SubscriptionManager.INVALID_SUBSCRIPTION_ID)).isEqualTo(false);
|
||||||
assertThat(mNetworkProviderWifiCallingGroup.shouldShowWifiCallingForSub(SUB_ID))
|
|
||||||
.isEqualTo(false);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
|||||||
@@ -18,6 +18,9 @@ package com.android.settings.panel;
|
|||||||
|
|
||||||
import static com.android.settings.network.InternetUpdater.INTERNET_APM;
|
import static com.android.settings.network.InternetUpdater.INTERNET_APM;
|
||||||
import static com.android.settings.network.InternetUpdater.INTERNET_APM_NETWORKS;
|
import static com.android.settings.network.InternetUpdater.INTERNET_APM_NETWORKS;
|
||||||
|
import static com.android.settings.network.InternetUpdater.INTERNET_CELLULAR;
|
||||||
|
import static com.android.settings.network.InternetUpdater.INTERNET_ETHERNET;
|
||||||
|
import static com.android.settings.network.InternetUpdater.INTERNET_WIFI;
|
||||||
|
|
||||||
import static com.google.common.truth.Truth.assertThat;
|
import static com.google.common.truth.Truth.assertThat;
|
||||||
|
|
||||||
@@ -26,10 +29,13 @@ import static org.mockito.Mockito.spy;
|
|||||||
import static org.mockito.Mockito.verify;
|
import static org.mockito.Mockito.verify;
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
|
import android.net.Uri;
|
||||||
|
|
||||||
import androidx.test.core.app.ApplicationProvider;
|
import androidx.test.core.app.ApplicationProvider;
|
||||||
import androidx.test.ext.junit.runners.AndroidJUnit4;
|
import androidx.test.ext.junit.runners.AndroidJUnit4;
|
||||||
|
|
||||||
|
import com.android.settings.network.AirplaneModePreferenceController;
|
||||||
|
import com.android.settings.slices.CustomSliceRegistry;
|
||||||
import com.android.settings.testutils.ResourcesUtils;
|
import com.android.settings.testutils.ResourcesUtils;
|
||||||
|
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
@@ -40,6 +46,8 @@ import org.mockito.Mock;
|
|||||||
import org.mockito.junit.MockitoJUnit;
|
import org.mockito.junit.MockitoJUnit;
|
||||||
import org.mockito.junit.MockitoRule;
|
import org.mockito.junit.MockitoRule;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
@RunWith(AndroidJUnit4.class)
|
@RunWith(AndroidJUnit4.class)
|
||||||
public class InternetConnectivityPanelTest {
|
public class InternetConnectivityPanelTest {
|
||||||
|
|
||||||
@@ -47,6 +55,10 @@ public class InternetConnectivityPanelTest {
|
|||||||
ApplicationProvider.getApplicationContext(), "provider_internet_settings");
|
ApplicationProvider.getApplicationContext(), "provider_internet_settings");
|
||||||
public static final String TITLE_APM_NETWORKS = ResourcesUtils.getResourcesString(
|
public static final String TITLE_APM_NETWORKS = ResourcesUtils.getResourcesString(
|
||||||
ApplicationProvider.getApplicationContext(), "airplane_mode_network_panel_title");
|
ApplicationProvider.getApplicationContext(), "airplane_mode_network_panel_title");
|
||||||
|
public static final String SUBTITLE_APM_IS_ON = ResourcesUtils.getResourcesString(
|
||||||
|
ApplicationProvider.getApplicationContext(), "condition_airplane_title");
|
||||||
|
public static final String BUTTON_SETTINGS = ResourcesUtils.getResourcesString(
|
||||||
|
ApplicationProvider.getApplicationContext(), "settings_button");
|
||||||
|
|
||||||
@Rule
|
@Rule
|
||||||
public final MockitoRule mMocks = MockitoJUnit.rule();
|
public final MockitoRule mMocks = MockitoJUnit.rule();
|
||||||
@@ -66,30 +78,147 @@ public class InternetConnectivityPanelTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void getTitle_internetTypeChangedFromApmToApmNetworks_verifyTitleChanged() {
|
public void getTitle_internetApmNetworks_shouldBeApmNetworks() {
|
||||||
|
mPanel.onInternetTypeChanged(INTERNET_APM_NETWORKS);
|
||||||
|
|
||||||
|
assertThat(mPanel.getTitle()).isEqualTo(TITLE_APM_NETWORKS);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void getTitle_notInternetApmNetworks_shouldBeInternet() {
|
||||||
mPanel.onInternetTypeChanged(INTERNET_APM);
|
mPanel.onInternetTypeChanged(INTERNET_APM);
|
||||||
|
|
||||||
assertThat(mPanel.getTitle()).isEqualTo(TITLE_INTERNET);
|
assertThat(mPanel.getTitle()).isEqualTo(TITLE_INTERNET);
|
||||||
|
|
||||||
|
mPanel.onInternetTypeChanged(INTERNET_WIFI);
|
||||||
|
|
||||||
|
assertThat(mPanel.getTitle()).isEqualTo(TITLE_INTERNET);
|
||||||
|
|
||||||
|
mPanel.onInternetTypeChanged(INTERNET_CELLULAR);
|
||||||
|
|
||||||
|
assertThat(mPanel.getTitle()).isEqualTo(TITLE_INTERNET);
|
||||||
|
|
||||||
|
mPanel.onInternetTypeChanged(INTERNET_ETHERNET);
|
||||||
|
|
||||||
|
assertThat(mPanel.getTitle()).isEqualTo(TITLE_INTERNET);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void getSubTitle_internetApm_shouldBeApmIsOn() {
|
||||||
|
mPanel.onInternetTypeChanged(INTERNET_APM);
|
||||||
|
|
||||||
|
assertThat(mPanel.getSubTitle()).isEqualTo(SUBTITLE_APM_IS_ON);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void getSubTitle_notinternetApm_shouldBeNull() {
|
||||||
|
mPanel.onInternetTypeChanged(INTERNET_APM_NETWORKS);
|
||||||
|
|
||||||
|
assertThat(mPanel.getSubTitle()).isNull();
|
||||||
|
|
||||||
|
mPanel.onInternetTypeChanged(INTERNET_WIFI);
|
||||||
|
|
||||||
|
assertThat(mPanel.getSubTitle()).isNull();
|
||||||
|
|
||||||
|
mPanel.onInternetTypeChanged(INTERNET_CELLULAR);
|
||||||
|
|
||||||
|
assertThat(mPanel.getSubTitle()).isNull();
|
||||||
|
|
||||||
|
mPanel.onInternetTypeChanged(INTERNET_ETHERNET);
|
||||||
|
|
||||||
|
assertThat(mPanel.getSubTitle()).isNull();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void getCustomizedButtonTitle_internetApm_shouldBeNull() {
|
||||||
|
mPanel.onInternetTypeChanged(INTERNET_APM);
|
||||||
|
|
||||||
|
assertThat(mPanel.getCustomizedButtonTitle()).isNull();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void getCustomizedButtonTitle_notInternetApm_shouldBeSettings() {
|
||||||
|
mPanel.onInternetTypeChanged(INTERNET_APM_NETWORKS);
|
||||||
|
|
||||||
|
assertThat(mPanel.getCustomizedButtonTitle()).isEqualTo(BUTTON_SETTINGS);
|
||||||
|
|
||||||
|
mPanel.onInternetTypeChanged(INTERNET_WIFI);
|
||||||
|
|
||||||
|
assertThat(mPanel.getCustomizedButtonTitle()).isEqualTo(BUTTON_SETTINGS);
|
||||||
|
|
||||||
|
mPanel.onInternetTypeChanged(INTERNET_CELLULAR);
|
||||||
|
|
||||||
|
assertThat(mPanel.getCustomizedButtonTitle()).isEqualTo(BUTTON_SETTINGS);
|
||||||
|
|
||||||
|
mPanel.onInternetTypeChanged(INTERNET_ETHERNET);
|
||||||
|
|
||||||
|
assertThat(mPanel.getCustomizedButtonTitle()).isEqualTo(BUTTON_SETTINGS);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void getSlices_providerModelDisabled_containsNecessarySlices() {
|
||||||
|
mPanel.mIsProviderModelEnabled = false;
|
||||||
|
final List<Uri> uris = mPanel.getSlices();
|
||||||
|
|
||||||
|
assertThat(uris).containsExactly(
|
||||||
|
AirplaneModePreferenceController.SLICE_URI,
|
||||||
|
CustomSliceRegistry.MOBILE_DATA_SLICE_URI,
|
||||||
|
CustomSliceRegistry.WIFI_SLICE_URI);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void getSlices_providerModelEnabled_containsNecessarySlices() {
|
||||||
|
final List<Uri> uris = mPanel.getSlices();
|
||||||
|
|
||||||
|
assertThat(uris).containsExactly(
|
||||||
|
CustomSliceRegistry.PROVIDER_MODEL_SLICE_URI,
|
||||||
|
CustomSliceRegistry.AIRPLANE_SAFE_NETWORKS_SLICE_URI);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void getSeeMoreIntent_notNull() {
|
||||||
|
assertThat(mPanel.getSeeMoreIntent()).isNotNull();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void onInternetTypeChanged_internetTypeChangedToApm_changeHeaderAndHideSettings() {
|
||||||
|
mPanel.onInternetTypeChanged(INTERNET_APM_NETWORKS);
|
||||||
|
clearInvocations(mPanelContentCallback);
|
||||||
|
|
||||||
|
mPanel.onInternetTypeChanged(INTERNET_APM);
|
||||||
|
|
||||||
|
verify(mPanelContentCallback).onHeaderChanged();
|
||||||
|
verify(mPanelContentCallback).onCustomizedButtonStateChanged();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void onInternetTypeChanged_internetTypeChangedFomApm_changeTitleAndShowSettings() {
|
||||||
|
mPanel.onInternetTypeChanged(INTERNET_APM);
|
||||||
|
clearInvocations(mPanelContentCallback);
|
||||||
|
|
||||||
|
mPanel.onInternetTypeChanged(INTERNET_APM_NETWORKS);
|
||||||
|
|
||||||
|
verify(mPanelContentCallback).onTitleChanged();
|
||||||
|
verify(mPanelContentCallback).onCustomizedButtonStateChanged();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void onInternetTypeChanged_internetTypeChangedToApmNetworks_changeTitle() {
|
||||||
|
mPanel.onInternetTypeChanged(INTERNET_WIFI);
|
||||||
clearInvocations(mPanelContentCallback);
|
clearInvocations(mPanelContentCallback);
|
||||||
|
|
||||||
mPanel.onInternetTypeChanged(INTERNET_APM_NETWORKS);
|
mPanel.onInternetTypeChanged(INTERNET_APM_NETWORKS);
|
||||||
|
|
||||||
assertThat(mPanel.getTitle()).isEqualTo(TITLE_APM_NETWORKS);
|
|
||||||
verify(mPanelContentCallback).onTitleChanged();
|
verify(mPanelContentCallback).onTitleChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void getTitle_internetTypeChangedFromApmNetworksToApm_verifyTitleChanged() {
|
public void onInternetTypeChanged_internetTypeChangedFromApmNetworks_changeTitle() {
|
||||||
mPanel.onInternetTypeChanged(INTERNET_APM_NETWORKS);
|
mPanel.onInternetTypeChanged(INTERNET_APM_NETWORKS);
|
||||||
|
|
||||||
assertThat(mPanel.getTitle()).isEqualTo(TITLE_APM_NETWORKS);
|
|
||||||
|
|
||||||
clearInvocations(mPanelContentCallback);
|
clearInvocations(mPanelContentCallback);
|
||||||
|
|
||||||
mPanel.onInternetTypeChanged(INTERNET_APM);
|
mPanel.onInternetTypeChanged(INTERNET_WIFI);
|
||||||
|
|
||||||
assertThat(mPanel.getTitle()).isEqualTo(TITLE_INTERNET);
|
|
||||||
verify(mPanelContentCallback).onTitleChanged();
|
verify(mPanelContentCallback).onTitleChanged();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user