Merge "[Provider Model] Add Ethernet network to Internet Panel" into sc-qpr1-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
01841cf819
@@ -39,7 +39,7 @@
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="32dp"
|
||||
android:textColor="?android:attr/textColorPrimary"
|
||||
android:fontFamily="google-sans"
|
||||
android:fontFamily="@*android:string/config_headlineFontFamily"
|
||||
android:textSize="24sp"/>
|
||||
|
||||
<TextView
|
||||
@@ -50,7 +50,7 @@
|
||||
android:layout_marginTop="4dp"
|
||||
android:ellipsize="end"
|
||||
android:maxLines="1"
|
||||
android:fontFamily="google-sans"
|
||||
android:fontFamily="@*android:string/config_headlineFontFamily"
|
||||
android:textSize="14sp"/>
|
||||
</LinearLayout>
|
||||
|
||||
@@ -87,24 +87,49 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical">
|
||||
<LinearLayout
|
||||
android:id="@+id/internet_list"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical">
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/ethernet_layout"
|
||||
style="@style/InternetDialog.Network"
|
||||
android:background="@drawable/settingslib_switch_bar_bg_on"
|
||||
android:visibility="gone">
|
||||
|
||||
<FrameLayout
|
||||
android:layout_width="24dp"
|
||||
android:layout_height="24dp"
|
||||
android:layout_gravity="center_vertical|start"
|
||||
android:clickable="false">
|
||||
<ImageView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center"
|
||||
android:autoMirrored="true"
|
||||
android:src="@drawable/stat_sys_ethernet_fully"
|
||||
android:tint="@color/connected_network_primary_color"/>
|
||||
</FrameLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_weight="1"
|
||||
android:gravity="start|center_vertical"
|
||||
android:orientation="vertical"
|
||||
android:clickable="false">
|
||||
<TextView
|
||||
android:text="@string/ethernet_label"
|
||||
style="@style/InternetDialog.NetworkTitle.Active"/>
|
||||
<TextView
|
||||
android:text="@string/to_switch_networks_disconnect_ethernet"
|
||||
style="@style/InternetDialog.NetworkSummary.Active"/>
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/mobile_network_layout"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="88dp"
|
||||
android:clickable="true"
|
||||
android:focusable="true"
|
||||
android:background="?android:attr/selectableItemBackground"
|
||||
android:layout_gravity="center_vertical|start"
|
||||
android:orientation="horizontal"
|
||||
android:layout_marginEnd="@dimen/internet_dialog_network_layout_margin"
|
||||
android:layout_marginStart="@dimen/internet_dialog_network_layout_margin"
|
||||
android:paddingStart="22dp"
|
||||
android:paddingEnd="22dp">
|
||||
style="@style/InternetDialog.Network">
|
||||
|
||||
<FrameLayout
|
||||
android:layout_width="24dp"
|
||||
@@ -121,7 +146,6 @@
|
||||
|
||||
<LinearLayout
|
||||
android:layout_weight="1"
|
||||
android:id="@+id/mobile_network_list"
|
||||
android:orientation="vertical"
|
||||
android:clickable="false"
|
||||
android:layout_width="wrap_content"
|
||||
@@ -129,28 +153,10 @@
|
||||
android:gravity="start|center_vertical">
|
||||
<TextView
|
||||
android:id="@+id/mobile_title"
|
||||
android:textDirection="locale"
|
||||
android:layout_marginStart="@dimen/internet_dialog_network_layout_margin"
|
||||
android:layout_marginEnd="7dp"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_vertical|start"
|
||||
android:ellipsize="end"
|
||||
android:textColor="?android:attr/textColorPrimary"
|
||||
android:textSize="16sp"
|
||||
android:fontFamily="google-sans"/>
|
||||
style="@style/InternetDialog.NetworkTitle"/>
|
||||
<TextView
|
||||
android:id="@+id/mobile_summary"
|
||||
android:textDirection="locale"
|
||||
android:layout_marginStart="@dimen/internet_dialog_network_layout_margin"
|
||||
android:layout_marginEnd="34dp"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_vertical|start"
|
||||
android:ellipsize="end"
|
||||
android:textColor="?android:attr/textColorTertiary"
|
||||
android:textSize="14sp"
|
||||
android:fontFamily="google-sans"/>
|
||||
style="@style/InternetDialog.NetworkSummary"/>
|
||||
</LinearLayout>
|
||||
|
||||
<FrameLayout
|
||||
@@ -172,17 +178,9 @@
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/turn_on_wifi_layout"
|
||||
android:layout_width="match_parent"
|
||||
style="@style/InternetDialog.Network"
|
||||
android:layout_height="72dp"
|
||||
android:clickable="true"
|
||||
android:focusable="true"
|
||||
android:background="?android:attr/selectableItemBackground"
|
||||
android:gravity="center"
|
||||
android:orientation="horizontal"
|
||||
android:layout_marginEnd="@dimen/internet_dialog_network_layout_margin"
|
||||
android:layout_marginStart="@dimen/internet_dialog_network_layout_margin"
|
||||
android:paddingStart="22dp"
|
||||
android:paddingEnd="22dp">
|
||||
android:gravity="center">
|
||||
|
||||
<FrameLayout
|
||||
android:layout_weight="1"
|
||||
@@ -193,13 +191,10 @@
|
||||
<TextView
|
||||
android:id="@+id/wifi_toggle_title"
|
||||
android:text="@string/turn_on_wifi"
|
||||
android:textDirection="locale"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="match_parent"
|
||||
android:gravity="start|center_vertical"
|
||||
android:textColor="?android:attr/textColorPrimary"
|
||||
android:textSize="16sp"
|
||||
android:fontFamily="google-sans"/>
|
||||
android:textAppearance="@style/TextAppearance.InternetDialog"/>
|
||||
</FrameLayout>
|
||||
|
||||
<FrameLayout
|
||||
@@ -222,18 +217,12 @@
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/wifi_connected_layout"
|
||||
android:layout_width="match_parent"
|
||||
style="@style/InternetDialog.Network"
|
||||
android:layout_height="72dp"
|
||||
android:layout_gravity="center_vertical|start"
|
||||
android:clickable="true"
|
||||
android:focusable="true"
|
||||
android:visibility="gone"
|
||||
android:background="?android:attr/selectableItemBackground"
|
||||
android:orientation="horizontal"
|
||||
android:layout_marginStart="@dimen/internet_dialog_network_layout_margin"
|
||||
android:layout_marginEnd="@dimen/internet_dialog_network_layout_margin"
|
||||
android:paddingStart="20dp"
|
||||
android:paddingEnd="24dp">
|
||||
android:paddingEnd="24dp"
|
||||
android:background="@drawable/settingslib_switch_bar_bg_on"
|
||||
android:visibility="gone">
|
||||
|
||||
<FrameLayout
|
||||
android:layout_width="24dp"
|
||||
@@ -248,7 +237,6 @@
|
||||
</FrameLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/wifi_connected_list"
|
||||
android:orientation="vertical"
|
||||
android:clickable="false"
|
||||
android:layout_width="wrap_content"
|
||||
@@ -258,26 +246,11 @@
|
||||
android:gravity="start|center_vertical">
|
||||
<TextView
|
||||
android:id="@+id/wifi_connected_title"
|
||||
android:textDirection="locale"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_vertical|start"
|
||||
android:layout_marginStart="@dimen/internet_dialog_network_layout_margin"
|
||||
android:ellipsize="end"
|
||||
android:textColor="?android:attr/textColorPrimary"
|
||||
android:textSize="14sp"
|
||||
android:fontFamily="google-sans"/>
|
||||
style="@style/InternetDialog.NetworkTitle.Active"
|
||||
android:textSize="14sp"/>
|
||||
<TextView
|
||||
android:id="@+id/wifi_connected_summary"
|
||||
android:textDirection="locale"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_vertical|start"
|
||||
android:layout_marginStart="@dimen/internet_dialog_network_layout_margin"
|
||||
android:ellipsize="end"
|
||||
android:textColor="?android:attr/textColorTertiary"
|
||||
android:textSize="14sp"
|
||||
android:fontFamily="google-sans"/>
|
||||
style="@style/InternetDialog.NetworkSummary.Active"/>
|
||||
</LinearLayout>
|
||||
|
||||
<FrameLayout
|
||||
@@ -340,13 +313,11 @@
|
||||
android:layout_marginStart="@dimen/internet_dialog_network_layout_margin">
|
||||
<TextView
|
||||
android:text="@string/see_all_networks"
|
||||
android:textDirection="locale"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="match_parent"
|
||||
android:gravity="start|center_vertical"
|
||||
android:textColor="?android:attr/textColorPrimary"
|
||||
android:textSize="14sp"
|
||||
android:fontFamily="google-sans"/>
|
||||
android:textAppearance="@style/TextAppearance.InternetDialog"
|
||||
android:textSize="14sp"/>
|
||||
</FrameLayout>
|
||||
|
||||
</LinearLayout>
|
||||
@@ -366,7 +337,7 @@
|
||||
android:textColor="?android:attr/textColorPrimary"
|
||||
android:text="@string/inline_done_button"
|
||||
android:textSize="14sp"
|
||||
android:fontFamily="google-sans"/>
|
||||
android:fontFamily="@*android:string/config_headlineFontFamily"/>
|
||||
</FrameLayout>
|
||||
</LinearLayout>
|
||||
</androidx.core.widget.NestedScrollView>
|
||||
|
||||
@@ -24,21 +24,15 @@
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/wifi_list"
|
||||
android:layout_width="match_parent"
|
||||
style="@style/InternetDialog.Network"
|
||||
android:layout_height="72dp"
|
||||
android:layout_gravity="center_vertical|start"
|
||||
android:clickable="true"
|
||||
android:focusable="true"
|
||||
android:background="?android:attr/selectableItemBackground"
|
||||
android:orientation="horizontal"
|
||||
android:paddingStart="20dp"
|
||||
android:paddingEnd="40dp">
|
||||
android:paddingEnd="24dp">
|
||||
<FrameLayout
|
||||
android:layout_width="24dp"
|
||||
android:layout_height="24dp"
|
||||
android:clickable="false"
|
||||
android:layout_gravity="center_vertical|start"
|
||||
android:layout_marginStart="@dimen/internet_dialog_network_layout_margin">
|
||||
android:layout_gravity="center_vertical|start">
|
||||
<ImageView
|
||||
android:id="@+id/wifi_icon"
|
||||
android:layout_width="wrap_content"
|
||||
@@ -52,31 +46,16 @@
|
||||
android:clickable="false"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="72dp"
|
||||
android:layout_marginEnd="30dp"
|
||||
android:layout_weight="1"
|
||||
android:gravity="start|center_vertical"
|
||||
android:layout_marginStart="@dimen/internet_dialog_network_layout_margin">
|
||||
android:gravity="start|center_vertical">
|
||||
<TextView
|
||||
android:id="@+id/wifi_title"
|
||||
android:textDirection="locale"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="20dp"
|
||||
android:gravity="start|center_vertical"
|
||||
android:ellipsize="end"
|
||||
android:textColor="?android:attr/textColorPrimary"
|
||||
android:textSize="14sp"
|
||||
android:fontFamily="google-sans"
|
||||
android:layout_marginEnd="18dp"/>
|
||||
style="@style/InternetDialog.NetworkTitle"
|
||||
android:textSize="14sp"/>
|
||||
<TextView
|
||||
android:id="@+id/wifi_summary"
|
||||
android:textDirection="locale"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="start|center_vertical"
|
||||
android:ellipsize="end"
|
||||
android:textColor="?android:attr/textColorSecondary"
|
||||
android:textSize="14sp"
|
||||
android:fontFamily="google-sans"
|
||||
android:layout_marginEnd="18dp"/>
|
||||
style="@style/InternetDialog.NetworkSummary"/>
|
||||
</LinearLayout>
|
||||
|
||||
<FrameLayout
|
||||
|
||||
@@ -48,4 +48,16 @@
|
||||
<item name="android:windowLightStatusBar">false</item>
|
||||
</style>
|
||||
|
||||
<style name="TextAppearance.InternetDialog.Active">
|
||||
<item name="android:fontFamily">@*android:string/config_headlineFontFamily</item>
|
||||
<item name="android:textSize">16sp</item>
|
||||
<item name="android:textColor">@color/connected_network_primary_color</item>
|
||||
<item name="android:textDirection">locale</item>
|
||||
</style>
|
||||
|
||||
<style name="TextAppearance.InternetDialog.Secondary.Active">
|
||||
<item name="android:textSize">14sp</item>
|
||||
<item name="android:textColor">@color/connected_network_secondary_color</item>
|
||||
</style>
|
||||
|
||||
</resources>
|
||||
|
||||
@@ -3027,4 +3027,6 @@
|
||||
<string name="wifi_failed_connect_message">Failed to connect to network</string>
|
||||
<!-- Provider Model: Title to see all the networks [CHAR LIMIT=50] -->
|
||||
<string name="see_all_networks">See all</string>
|
||||
<!-- Summary for warning to disconnect ethernet first then switch to other networks. [CHAR LIMIT=60] -->
|
||||
<string name="to_switch_networks_disconnect_ethernet">To switch networks, disconnect ethernet</string>
|
||||
</resources>
|
||||
|
||||
@@ -951,4 +951,60 @@
|
||||
<item name="android:maxHeight">4dp</item>
|
||||
</style>
|
||||
|
||||
<!-- Internet Dialog -->
|
||||
<style name="InternetDialog">
|
||||
<item name="android:layout_width">wrap_content</item>
|
||||
<item name="android:layout_height">wrap_content</item>
|
||||
<item name="android:layout_gravity">center_vertical|start</item>
|
||||
<item name="android:layout_marginStart">@dimen/internet_dialog_network_layout_margin</item>
|
||||
</style>
|
||||
|
||||
<style name="InternetDialog.Network">
|
||||
<item name="android:layout_width">match_parent</item>
|
||||
<item name="android:layout_height">88dp</item>
|
||||
<item name="android:layout_marginEnd">@dimen/internet_dialog_network_layout_margin</item>
|
||||
<item name="android:paddingStart">22dp</item>
|
||||
<item name="android:paddingEnd">22dp</item>
|
||||
<item name="android:orientation">horizontal</item>
|
||||
<item name="android:focusable">true</item>
|
||||
<item name="android:clickable">true</item>
|
||||
</style>
|
||||
|
||||
<style name="InternetDialog.NetworkTitle">
|
||||
<item name="android:layout_marginEnd">7dp</item>
|
||||
<item name="android:ellipsize">end</item>
|
||||
<item name="android:textAppearance">@style/TextAppearance.InternetDialog</item>
|
||||
</style>
|
||||
|
||||
<style name="InternetDialog.NetworkTitle.Active">
|
||||
<item name="android:textAppearance">@style/TextAppearance.InternetDialog.Active</item>
|
||||
</style>
|
||||
|
||||
<style name="InternetDialog.NetworkSummary">
|
||||
<item name="android:layout_marginEnd">34dp</item>
|
||||
<item name="android:ellipsize">end</item>
|
||||
<item name="android:textAppearance">@style/TextAppearance.InternetDialog.Secondary</item>
|
||||
</style>
|
||||
|
||||
<style name="InternetDialog.NetworkSummary.Active">
|
||||
<item name="android:textAppearance">@style/TextAppearance.InternetDialog.Secondary.Active
|
||||
</item>
|
||||
</style>
|
||||
|
||||
<style name="TextAppearance.InternetDialog">
|
||||
<item name="android:fontFamily">@*android:string/config_headlineFontFamily</item>
|
||||
<item name="android:textSize">16sp</item>
|
||||
<item name="android:textColor">?android:attr/textColorPrimary</item>
|
||||
<item name="android:textDirection">locale</item>
|
||||
</style>
|
||||
|
||||
<style name="TextAppearance.InternetDialog.Secondary">
|
||||
<item name="android:textSize">14sp</item>
|
||||
<item name="android:textColor">?android:attr/textColorTertiary</item>
|
||||
</style>
|
||||
|
||||
<style name="TextAppearance.InternetDialog.Active"/>
|
||||
|
||||
<style name="TextAppearance.InternetDialog.Secondary.Active"/>
|
||||
|
||||
</resources>
|
||||
|
||||
@@ -52,6 +52,7 @@ import android.widget.ProgressBar;
|
||||
import android.widget.Switch;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.MainThread;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.annotation.VisibleForTesting;
|
||||
import androidx.annotation.WorkerThread;
|
||||
@@ -60,7 +61,6 @@ import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.android.internal.logging.UiEvent;
|
||||
import com.android.internal.logging.UiEventLogger;
|
||||
import com.android.settingslib.Utils;
|
||||
import com.android.systemui.Prefs;
|
||||
import com.android.systemui.R;
|
||||
import com.android.systemui.dagger.SysUISingleton;
|
||||
@@ -105,12 +105,10 @@ public class InternetDialog extends SystemUIDialog implements
|
||||
private View mDivider;
|
||||
private ProgressBar mProgressBar;
|
||||
private LinearLayout mInternetDialogLayout;
|
||||
private LinearLayout mInternetListLayout;
|
||||
private LinearLayout mConnectedWifListLayout;
|
||||
private LinearLayout mConnectedWifList;
|
||||
private LinearLayout mMobileNetworkLayout;
|
||||
private LinearLayout mMobileNetworkList;
|
||||
private LinearLayout mTurnWifiOnLayout;
|
||||
private LinearLayout mEthernetLayout;
|
||||
private TextView mWifiToggleTitleText;
|
||||
private LinearLayout mSeeAllLayout;
|
||||
private RecyclerView mWifiRecyclerView;
|
||||
@@ -126,7 +124,6 @@ public class InternetDialog extends SystemUIDialog implements
|
||||
private Button mDoneButton;
|
||||
private Drawable mBackgroundOn;
|
||||
private int mListMaxHeight;
|
||||
private int mLayoutWidth;
|
||||
private int mDefaultDataSubId = SubscriptionManager.INVALID_SUBSCRIPTION_ID;
|
||||
private boolean mCanConfigMobileData;
|
||||
|
||||
@@ -181,8 +178,6 @@ public class InternetDialog extends SystemUIDialog implements
|
||||
};
|
||||
mListMaxHeight = context.getResources().getDimensionPixelSize(
|
||||
R.dimen.internet_dialog_list_max_height);
|
||||
mLayoutWidth = context.getResources().getDimensionPixelSize(
|
||||
R.dimen.internet_dialog_list_max_width);
|
||||
mUiEventLogger = uiEventLogger;
|
||||
mAdapter = new InternetAdapter(mInternetDialogController);
|
||||
if (!aboveStatusBar) {
|
||||
@@ -221,13 +216,11 @@ public class InternetDialog extends SystemUIDialog implements
|
||||
mInternetDialogSubTitle = mDialogView.requireViewById(R.id.internet_dialog_subtitle);
|
||||
mDivider = mDialogView.requireViewById(R.id.divider);
|
||||
mProgressBar = mDialogView.requireViewById(R.id.wifi_searching_progress);
|
||||
mInternetListLayout = mDialogView.requireViewById(R.id.internet_list);
|
||||
mEthernetLayout = mDialogView.requireViewById(R.id.ethernet_layout);
|
||||
mMobileNetworkLayout = mDialogView.requireViewById(R.id.mobile_network_layout);
|
||||
mMobileNetworkList = mDialogView.requireViewById(R.id.mobile_network_list);
|
||||
mTurnWifiOnLayout = mDialogView.requireViewById(R.id.turn_on_wifi_layout);
|
||||
mWifiToggleTitleText = mDialogView.requireViewById(R.id.wifi_toggle_title);
|
||||
mConnectedWifListLayout = mDialogView.requireViewById(R.id.wifi_connected_layout);
|
||||
mConnectedWifList = mDialogView.requireViewById(R.id.wifi_connected_list);
|
||||
mConnectedWifiIcon = mDialogView.requireViewById(R.id.wifi_connected_icon);
|
||||
mConnectedWifiTitleText = mDialogView.requireViewById(R.id.wifi_connected_title);
|
||||
mConnectedWifiSummaryText = mDialogView.requireViewById(R.id.wifi_connected_summary);
|
||||
@@ -309,6 +302,7 @@ public class InternetDialog extends SystemUIDialog implements
|
||||
} else {
|
||||
mInternetDialogSubTitle.setText(getSubtitleText());
|
||||
}
|
||||
updateEthernet();
|
||||
setMobileDataLayout(mInternetDialogController.activeNetworkIsCellular());
|
||||
|
||||
if (!mCanConfigWifi) {
|
||||
@@ -355,6 +349,12 @@ public class InternetDialog extends SystemUIDialog implements
|
||||
mDoneButton.setOnClickListener(v -> dismiss());
|
||||
}
|
||||
|
||||
@MainThread
|
||||
private void updateEthernet() {
|
||||
mEthernetLayout.setVisibility(
|
||||
mInternetDialogController.hasEthernet() ? View.VISIBLE : View.GONE);
|
||||
}
|
||||
|
||||
private void setMobileDataLayout(boolean isCellularNetwork) {
|
||||
if (mInternetDialogController.isAirplaneModeEnabled()
|
||||
|| !mInternetDialogController.hasCarrier()) {
|
||||
@@ -371,38 +371,33 @@ public class InternetDialog extends SystemUIDialog implements
|
||||
mMobileSummaryText.setVisibility(View.GONE);
|
||||
}
|
||||
mSignalIcon.setImageDrawable(getSignalStrengthDrawable());
|
||||
if (mInternetDialogController.isNightMode()) {
|
||||
int titleColor = isCellularNetwork ? mContext.getColor(
|
||||
R.color.connected_network_primary_color) : Utils.getColorAttrDefaultColor(
|
||||
mContext, android.R.attr.textColorPrimary);
|
||||
int summaryColor = isCellularNetwork ? mContext.getColor(
|
||||
R.color.connected_network_secondary_color) : Utils.getColorAttrDefaultColor(
|
||||
mContext, android.R.attr.textColorSecondary);
|
||||
|
||||
mMobileTitleText.setTextColor(titleColor);
|
||||
mMobileSummaryText.setTextColor(summaryColor);
|
||||
}
|
||||
mMobileTitleText.setTextAppearance(isCellularNetwork
|
||||
? R.style.TextAppearance_InternetDialog_Active
|
||||
: R.style.TextAppearance_InternetDialog);
|
||||
mMobileSummaryText.setTextAppearance(isCellularNetwork
|
||||
? R.style.TextAppearance_InternetDialog_Secondary_Active
|
||||
: R.style.TextAppearance_InternetDialog_Secondary);
|
||||
mMobileNetworkLayout.setBackground(isCellularNetwork ? mBackgroundOn : null);
|
||||
|
||||
mMobileDataToggle.setVisibility(mCanConfigMobileData ? View.VISIBLE : View.INVISIBLE);
|
||||
}
|
||||
}
|
||||
|
||||
@MainThread
|
||||
private void updateWifiToggle(boolean isWifiEnabled, boolean isDeviceLocked) {
|
||||
mWiFiToggle.setChecked(isWifiEnabled);
|
||||
if (isDeviceLocked && mInternetDialogController.isNightMode()) {
|
||||
int titleColor = mConnectedWifiEntry != null ? mContext.getColor(
|
||||
R.color.connected_network_primary_color) : Utils.getColorAttrDefaultColor(
|
||||
mContext, android.R.attr.textColorPrimary);
|
||||
mWifiToggleTitleText.setTextColor(titleColor);
|
||||
if (isDeviceLocked) {
|
||||
mWifiToggleTitleText.setTextAppearance((mConnectedWifiEntry != null)
|
||||
? R.style.TextAppearance_InternetDialog_Active
|
||||
: R.style.TextAppearance_InternetDialog);
|
||||
}
|
||||
mTurnWifiOnLayout.setBackground(
|
||||
(isDeviceLocked && mConnectedWifiEntry != null) ? mBackgroundOn : null);
|
||||
}
|
||||
|
||||
@MainThread
|
||||
private void updateConnectedWifi(boolean isWifiEnabled, boolean isDeviceLocked) {
|
||||
if (!isWifiEnabled || mConnectedWifiEntry == null || isDeviceLocked) {
|
||||
mConnectedWifListLayout.setBackground(null);
|
||||
mConnectedWifListLayout.setVisibility(View.GONE);
|
||||
return;
|
||||
}
|
||||
@@ -411,15 +406,8 @@ public class InternetDialog extends SystemUIDialog implements
|
||||
mConnectedWifiSummaryText.setText(mConnectedWifiEntry.getSummary(false));
|
||||
mConnectedWifiIcon.setImageDrawable(
|
||||
mInternetDialogController.getInternetWifiDrawable(mConnectedWifiEntry));
|
||||
if (mInternetDialogController.isNightMode()) {
|
||||
mConnectedWifiTitleText.setTextColor(
|
||||
mContext.getColor(R.color.connected_network_primary_color));
|
||||
mConnectedWifiSummaryText.setTextColor(
|
||||
mContext.getColor(R.color.connected_network_secondary_color));
|
||||
}
|
||||
mWifiSettingsIcon.setColorFilter(
|
||||
mContext.getColor(R.color.connected_network_primary_color));
|
||||
mConnectedWifListLayout.setBackground(mBackgroundOn);
|
||||
}
|
||||
|
||||
void onClickConnectedWifi() {
|
||||
@@ -528,10 +516,17 @@ public class InternetDialog extends SystemUIDialog implements
|
||||
}
|
||||
|
||||
@Override
|
||||
@WorkerThread
|
||||
public void onCapabilitiesChanged(Network network, NetworkCapabilities networkCapabilities) {
|
||||
mHandler.post(() -> updateDialog());
|
||||
}
|
||||
|
||||
@Override
|
||||
@WorkerThread
|
||||
public void onLost(Network network) {
|
||||
mHandler.post(() -> updateDialog());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSubscriptionsChanged(int defaultDataSubId) {
|
||||
mDefaultDataSubId = defaultDataSubId;
|
||||
|
||||
@@ -23,7 +23,6 @@ import android.content.BroadcastReceiver;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.IntentFilter;
|
||||
import android.content.res.Configuration;
|
||||
import android.graphics.Color;
|
||||
import android.graphics.drawable.ColorDrawable;
|
||||
import android.graphics.drawable.Drawable;
|
||||
@@ -31,7 +30,6 @@ import android.graphics.drawable.LayerDrawable;
|
||||
import android.net.ConnectivityManager;
|
||||
import android.net.Network;
|
||||
import android.net.NetworkCapabilities;
|
||||
import android.net.NetworkRequest;
|
||||
import android.net.wifi.WifiManager;
|
||||
import android.os.Handler;
|
||||
import android.provider.Settings;
|
||||
@@ -49,6 +47,7 @@ import android.util.Log;
|
||||
import android.view.Gravity;
|
||||
import android.widget.Toast;
|
||||
|
||||
import androidx.annotation.MainThread;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.annotation.VisibleForTesting;
|
||||
@@ -133,6 +132,7 @@ public class InternetDialogController implements WifiEntry.DisconnectCallback,
|
||||
private KeyguardUpdateMonitor mKeyguardUpdateMonitor;
|
||||
private GlobalSettings mGlobalSettings;
|
||||
private int mDefaultDataSubId = SubscriptionManager.INVALID_SUBSCRIPTION_ID;
|
||||
private ConnectivityManager.NetworkCallback mConnectivityManagerNetworkCallback;
|
||||
|
||||
@VisibleForTesting
|
||||
protected ActivityStarter mActivityStarter;
|
||||
@@ -146,6 +146,8 @@ public class InternetDialogController implements WifiEntry.DisconnectCallback,
|
||||
protected boolean mCanConfigWifi;
|
||||
@VisibleForTesting
|
||||
protected KeyguardStateController mKeyguardStateController;
|
||||
@VisibleForTesting
|
||||
protected boolean mHasEthernet = false;
|
||||
|
||||
private final KeyguardUpdateMonitorCallback mKeyguardUpdateCallback =
|
||||
new KeyguardUpdateMonitorCallback() {
|
||||
@@ -193,6 +195,7 @@ public class InternetDialogController implements WifiEntry.DisconnectCallback,
|
||||
mAccessPointController = accessPointController;
|
||||
mConfig = MobileMappings.Config.readConfig(mContext);
|
||||
mWifiIconInjector = new WifiUtils.InternetIconInjector(mContext);
|
||||
mConnectivityManagerNetworkCallback = new DataConnectivityListener();
|
||||
}
|
||||
|
||||
void onStart(@NonNull InternetDialogCallback callback, boolean canConfigWifi) {
|
||||
@@ -216,9 +219,7 @@ public class InternetDialogController implements WifiEntry.DisconnectCallback,
|
||||
mInternetTelephonyCallback = new InternetTelephonyCallback();
|
||||
mTelephonyManager.registerTelephonyCallback(mExecutor, mInternetTelephonyCallback);
|
||||
// Listen the connectivity changes
|
||||
mConnectivityManager.registerNetworkCallback(new NetworkRequest.Builder()
|
||||
.addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET)
|
||||
.build(), new DataConnectivityListener(), mHandler);
|
||||
mConnectivityManager.registerDefaultNetworkCallback(mConnectivityManagerNetworkCallback);
|
||||
mCanConfigWifi = canConfigWifi;
|
||||
scanWifiAccessPoints();
|
||||
}
|
||||
@@ -233,6 +234,7 @@ public class InternetDialogController implements WifiEntry.DisconnectCallback,
|
||||
mOnSubscriptionsChangedListener);
|
||||
mAccessPointController.removeAccessPointCallback(this);
|
||||
mKeyguardUpdateMonitor.removeCallback(mKeyguardUpdateCallback);
|
||||
mConnectivityManager.unregisterNetworkCallback(mConnectivityManagerNetworkCallback);
|
||||
}
|
||||
|
||||
@VisibleForTesting
|
||||
@@ -351,11 +353,6 @@ public class InternetDialogController implements WifiEntry.DisconnectCallback,
|
||||
return drawable;
|
||||
}
|
||||
|
||||
boolean isNightMode() {
|
||||
return (mContext.getResources().getConfiguration().uiMode
|
||||
& Configuration.UI_MODE_NIGHT_MASK) == Configuration.UI_MODE_NIGHT_YES;
|
||||
}
|
||||
|
||||
Drawable getSignalStrengthDrawable() {
|
||||
Drawable drawable = mContext.getDrawable(
|
||||
R.drawable.ic_signal_strength_zero_bar_no_internet);
|
||||
@@ -800,6 +797,9 @@ public class InternetDialogController implements WifiEntry.DisconnectCallback,
|
||||
}
|
||||
|
||||
int count = MAX_WIFI_ENTRY_COUNT;
|
||||
if (mHasEthernet) {
|
||||
count -= 1;
|
||||
}
|
||||
if (hasCarrier()) {
|
||||
count -= 1;
|
||||
}
|
||||
@@ -870,21 +870,30 @@ public class InternetDialogController implements WifiEntry.DisconnectCallback,
|
||||
@Override
|
||||
@WorkerThread
|
||||
public void onCapabilitiesChanged(@NonNull Network network,
|
||||
@NonNull NetworkCapabilities networkCapabilities) {
|
||||
if (mCanConfigWifi) {
|
||||
for (int transport : networkCapabilities.getTransportTypes()) {
|
||||
if (transport == NetworkCapabilities.TRANSPORT_WIFI) {
|
||||
scanWifiAccessPoints();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
final Network activeNetwork = mConnectivityManager.getActiveNetwork();
|
||||
if (activeNetwork != null && activeNetwork.equals(network)) {
|
||||
// update UI
|
||||
mCallback.onCapabilitiesChanged(network, networkCapabilities);
|
||||
@NonNull NetworkCapabilities capabilities) {
|
||||
mHasEthernet = capabilities.hasTransport(NetworkCapabilities.TRANSPORT_ETHERNET);
|
||||
if (mCanConfigWifi && (mHasEthernet || capabilities.hasTransport(
|
||||
NetworkCapabilities.TRANSPORT_WIFI))) {
|
||||
scanWifiAccessPoints();
|
||||
}
|
||||
// update UI
|
||||
mCallback.onCapabilitiesChanged(network, capabilities);
|
||||
}
|
||||
|
||||
@Override
|
||||
@WorkerThread
|
||||
public void onLost(@NonNull Network network) {
|
||||
mHasEthernet = false;
|
||||
mCallback.onLost(network);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Return {@code true} If the Ethernet exists
|
||||
*/
|
||||
@MainThread
|
||||
public boolean hasEthernet() {
|
||||
return mHasEthernet;
|
||||
}
|
||||
|
||||
private final BroadcastReceiver mConnectionStateReceiver = new BroadcastReceiver() {
|
||||
@@ -934,6 +943,8 @@ public class InternetDialogController implements WifiEntry.DisconnectCallback,
|
||||
|
||||
void onCapabilitiesChanged(Network network, NetworkCapabilities networkCapabilities);
|
||||
|
||||
void onLost(@NonNull Network network);
|
||||
|
||||
void onSubscriptionsChanged(int defaultDataSubId);
|
||||
|
||||
void onServiceStateChanged(ServiceState serviceState);
|
||||
|
||||
@@ -444,6 +444,47 @@ public class InternetDialogControllerTest extends SysuiTestCase {
|
||||
verify(mInternetDialogCallback).onAccessPointsChanged(mWifiEntries, mConnectedEntry);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void onAccessPointsChanged_fourWifiEntries_callbackCutMore() {
|
||||
reset(mInternetDialogCallback);
|
||||
mInternetDialogController.setAirplaneModeEnabled(true);
|
||||
mAccessPoints.clear();
|
||||
mAccessPoints.add(mWifiEntry1);
|
||||
mAccessPoints.add(mWifiEntry2);
|
||||
mAccessPoints.add(mWifiEntry3);
|
||||
mAccessPoints.add(mWifiEntry4);
|
||||
|
||||
mInternetDialogController.onAccessPointsChanged(mAccessPoints);
|
||||
|
||||
mWifiEntries.clear();
|
||||
mWifiEntries.add(mWifiEntry1);
|
||||
mWifiEntries.add(mWifiEntry2);
|
||||
mWifiEntries.add(mWifiEntry3);
|
||||
mWifiEntries.add(mWifiEntry4);
|
||||
verify(mInternetDialogCallback)
|
||||
.onAccessPointsChanged(mWifiEntries, null /* connectedEntry */);
|
||||
|
||||
// If the Ethernet exists, then Wi-Fi entries will cut last one.
|
||||
reset(mInternetDialogCallback);
|
||||
mInternetDialogController.mHasEthernet = true;
|
||||
|
||||
mInternetDialogController.onAccessPointsChanged(mAccessPoints);
|
||||
|
||||
mWifiEntries.remove(mWifiEntry4);
|
||||
verify(mInternetDialogCallback)
|
||||
.onAccessPointsChanged(mWifiEntries, null /* connectedEntry */);
|
||||
|
||||
// Turn off airplane mode to has carrier network, then Wi-Fi entries will cut last one.
|
||||
reset(mInternetDialogCallback);
|
||||
mInternetDialogController.setAirplaneModeEnabled(false);
|
||||
|
||||
mInternetDialogController.onAccessPointsChanged(mAccessPoints);
|
||||
|
||||
mWifiEntries.remove(mWifiEntry3);
|
||||
verify(mInternetDialogCallback)
|
||||
.onAccessPointsChanged(mWifiEntries, null /* connectedEntry */);
|
||||
}
|
||||
|
||||
private String getResourcesString(String name) {
|
||||
return mContext.getResources().getString(getResourcesId(name));
|
||||
}
|
||||
|
||||
@@ -67,6 +67,7 @@ public class InternetDialogTest extends SysuiTestCase {
|
||||
private InternetDialog mInternetDialog;
|
||||
private View mDialogView;
|
||||
private View mSubTitle;
|
||||
private LinearLayout mEthernet;
|
||||
private LinearLayout mMobileDataToggle;
|
||||
private LinearLayout mWifiToggle;
|
||||
private LinearLayout mConnectedWifi;
|
||||
@@ -97,6 +98,7 @@ public class InternetDialogTest extends SysuiTestCase {
|
||||
|
||||
mDialogView = mInternetDialog.mDialogView;
|
||||
mSubTitle = mDialogView.requireViewById(R.id.internet_dialog_subtitle);
|
||||
mEthernet = mDialogView.requireViewById(R.id.ethernet_layout);
|
||||
mMobileDataToggle = mDialogView.requireViewById(R.id.mobile_network_layout);
|
||||
mWifiToggle = mDialogView.requireViewById(R.id.turn_on_wifi_layout);
|
||||
mConnectedWifi = mDialogView.requireViewById(R.id.wifi_connected_layout);
|
||||
@@ -138,6 +140,46 @@ public class InternetDialogTest extends SysuiTestCase {
|
||||
assertThat(mSubTitle.getVisibility()).isEqualTo(View.VISIBLE);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void updateDialog_apmOffAndHasEthernet_showEthernet() {
|
||||
when(mInternetDialogController.isAirplaneModeEnabled()).thenReturn(false);
|
||||
when(mInternetDialogController.hasEthernet()).thenReturn(true);
|
||||
|
||||
mInternetDialog.updateDialog();
|
||||
|
||||
assertThat(mEthernet.getVisibility()).isEqualTo(View.VISIBLE);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void updateDialog_apmOffAndNoEthernet_hideEthernet() {
|
||||
when(mInternetDialogController.isAirplaneModeEnabled()).thenReturn(false);
|
||||
when(mInternetDialogController.hasEthernet()).thenReturn(false);
|
||||
|
||||
mInternetDialog.updateDialog();
|
||||
|
||||
assertThat(mEthernet.getVisibility()).isEqualTo(View.GONE);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void updateDialog_apmOnAndHasEthernet_showEthernet() {
|
||||
when(mInternetDialogController.isAirplaneModeEnabled()).thenReturn(true);
|
||||
when(mInternetDialogController.hasEthernet()).thenReturn(true);
|
||||
|
||||
mInternetDialog.updateDialog();
|
||||
|
||||
assertThat(mEthernet.getVisibility()).isEqualTo(View.VISIBLE);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void updateDialog_apmOnAndNoEthernet_hideEthernet() {
|
||||
when(mInternetDialogController.isAirplaneModeEnabled()).thenReturn(true);
|
||||
when(mInternetDialogController.hasEthernet()).thenReturn(false);
|
||||
|
||||
mInternetDialog.updateDialog();
|
||||
|
||||
assertThat(mEthernet.getVisibility()).isEqualTo(View.GONE);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void updateDialog_withApmOn_mobileDataLayoutGone() {
|
||||
when(mInternetDialogController.isAirplaneModeEnabled()).thenReturn(true);
|
||||
|
||||
Reference in New Issue
Block a user