Loading res/layout/network_request_dialog_title.xml +2 −0 Original line number Diff line number Diff line Loading @@ -31,6 +31,8 @@ android:layout_weight="1" android:textSize="18sp" android:gravity="center_vertical" android:maxLines="1" android:ellipsize="end" style="@style/info_label"/> <ProgressBar Loading res/values/strings.xml +2 −2 Original line number Diff line number Diff line Loading @@ -10473,8 +10473,8 @@ <!-- See less items in contextual homepage [CHAR LIMIT=30]--> <string name="see_less">See less</string> <!-- Title for Network connection request Dialog [CHAR LIMIT=30] --> <string name="network_connection_request_dialog_title">Choose a device</string> <!-- Title for Network connection request Dialog [CHAR LIMIT=60] --> <string name="network_connection_request_dialog_title">Device to use with <xliff:g id="appName" example="ThirdPartyAppName">%1$s</xliff:g></string> <!-- Message for Network connection timeout Dialog [CHAR LIMIT=NONE] --> <string name="network_connection_timeout_dialog_message">No devices found. Make sure devices are turned on and available to connect.</string> <!-- OK button for Network connection timeout Dialog [CHAR LIMIT=30] --> src/com/android/settings/wifi/NetworkRequestDialogFragment.java +16 −1 Original line number Diff line number Diff line Loading @@ -21,6 +21,7 @@ import android.app.Dialog; import android.app.settings.SettingsEnums; import android.content.Context; import android.content.DialogInterface; import android.content.Intent; import android.graphics.drawable.Drawable; import android.net.wifi.ScanResult; import android.net.wifi.WifiConfiguration; Loading Loading @@ -74,6 +75,9 @@ public class NetworkRequestDialogFragment extends InstrumentedDialogFragment imp /** Delayed time to stop scanning wifi. */ private static final int DELAY_TIME_STOP_SCAN_MS = 30 * 1000; @VisibleForTesting final static String EXTRA_APP_NAME = "com.android.settings.wifi.extra.APP_NAME"; private List<AccessPoint> mAccessPointList; private FilterWifiTracker mFilterWifiTracker; private AccessPointAdapter mDialogAdapter; Loading @@ -93,7 +97,8 @@ public class NetworkRequestDialogFragment extends InstrumentedDialogFragment imp final View customTitle = inflater.inflate(R.layout.network_request_dialog_title, null); final TextView title = customTitle.findViewById(R.id.network_request_title_text); title.setText(R.string.network_connection_request_dialog_title); title.setText(getTitle()); final ProgressBar progressBar = customTitle.findViewById( R.id.network_request_title_progress); progressBar.setVisibility(View.VISIBLE); Loading @@ -115,6 +120,16 @@ public class NetworkRequestDialogFragment extends InstrumentedDialogFragment imp return dialog; } private String getTitle() { final Intent intent = getActivity().getIntent(); String appName = ""; if (intent != null) { appName = intent.getStringExtra(EXTRA_APP_NAME); } return getString(R.string.network_connection_request_dialog_title, appName); } @NonNull List<AccessPoint> getAccessPointList() { // Initials list for adapter, in case of display crashing. Loading tests/robotests/src/com/android/settings/wifi/NetworkRequestDialogFragmentTest.java +18 −1 Original line number Diff line number Diff line Loading @@ -27,16 +27,19 @@ import static org.mockito.Mockito.when; import android.content.Context; import android.content.DialogInterface; import android.content.Intent; import android.net.wifi.ScanResult; import android.net.wifi.WifiConfiguration; import android.net.wifi.WifiManager; import android.net.wifi.WifiManager.NetworkRequestUserSelectionCallback; import android.os.Bundle; import android.widget.Button; import android.widget.TextView; import androidx.appcompat.app.AlertDialog; import androidx.fragment.app.FragmentActivity; import com.android.settings.R; import com.android.settings.testutils.shadow.ShadowAlertDialogCompat; import com.android.settings.wifi.NetworkRequestErrorDialogFragment.ERROR_DIALOG_TYPE; import com.android.settingslib.wifi.AccessPoint; Loading @@ -63,6 +66,7 @@ public class NetworkRequestDialogFragmentTest { private static final String KEY_SSID = "key_ssid"; private static final String KEY_SECURITY = "key_security"; private static final String TEST_APP_NAME = "TestAppName"; private FragmentActivity mActivity; private NetworkRequestDialogFragment networkRequestDialogFragment; Loading @@ -71,7 +75,9 @@ public class NetworkRequestDialogFragmentTest { @Before public void setUp() { mActivity = Robolectric.setupActivity(FragmentActivity.class); mActivity = Robolectric.buildActivity(FragmentActivity.class, new Intent().putExtra(NetworkRequestDialogFragment.EXTRA_APP_NAME, TEST_APP_NAME)).setup().get(); networkRequestDialogFragment = spy(NetworkRequestDialogFragment.newInstance()); mContext = spy(RuntimeEnvironment.application); Loading @@ -87,6 +93,17 @@ public class NetworkRequestDialogFragmentTest { assertThat(alertDialog.isShowing()).isTrue(); } @Test public void display_shouldShowTitleWithAppName() { networkRequestDialogFragment.show(mActivity.getSupportFragmentManager(), /* tag */ null); final AlertDialog alertDialog = ShadowAlertDialogCompat.getLatestAlertDialog(); final String targetTitle = mContext.getString( R.string.network_connection_request_dialog_title, TEST_APP_NAME); final TextView view = alertDialog.findViewById(R.id.network_request_title_text); assertThat(view.getText()).isEqualTo(targetTitle); } @Test public void clickPositiveButton_shouldCloseTheDialog() { networkRequestDialogFragment.show(mActivity.getSupportFragmentManager(), null); Loading Loading
res/layout/network_request_dialog_title.xml +2 −0 Original line number Diff line number Diff line Loading @@ -31,6 +31,8 @@ android:layout_weight="1" android:textSize="18sp" android:gravity="center_vertical" android:maxLines="1" android:ellipsize="end" style="@style/info_label"/> <ProgressBar Loading
res/values/strings.xml +2 −2 Original line number Diff line number Diff line Loading @@ -10473,8 +10473,8 @@ <!-- See less items in contextual homepage [CHAR LIMIT=30]--> <string name="see_less">See less</string> <!-- Title for Network connection request Dialog [CHAR LIMIT=30] --> <string name="network_connection_request_dialog_title">Choose a device</string> <!-- Title for Network connection request Dialog [CHAR LIMIT=60] --> <string name="network_connection_request_dialog_title">Device to use with <xliff:g id="appName" example="ThirdPartyAppName">%1$s</xliff:g></string> <!-- Message for Network connection timeout Dialog [CHAR LIMIT=NONE] --> <string name="network_connection_timeout_dialog_message">No devices found. Make sure devices are turned on and available to connect.</string> <!-- OK button for Network connection timeout Dialog [CHAR LIMIT=30] -->
src/com/android/settings/wifi/NetworkRequestDialogFragment.java +16 −1 Original line number Diff line number Diff line Loading @@ -21,6 +21,7 @@ import android.app.Dialog; import android.app.settings.SettingsEnums; import android.content.Context; import android.content.DialogInterface; import android.content.Intent; import android.graphics.drawable.Drawable; import android.net.wifi.ScanResult; import android.net.wifi.WifiConfiguration; Loading Loading @@ -74,6 +75,9 @@ public class NetworkRequestDialogFragment extends InstrumentedDialogFragment imp /** Delayed time to stop scanning wifi. */ private static final int DELAY_TIME_STOP_SCAN_MS = 30 * 1000; @VisibleForTesting final static String EXTRA_APP_NAME = "com.android.settings.wifi.extra.APP_NAME"; private List<AccessPoint> mAccessPointList; private FilterWifiTracker mFilterWifiTracker; private AccessPointAdapter mDialogAdapter; Loading @@ -93,7 +97,8 @@ public class NetworkRequestDialogFragment extends InstrumentedDialogFragment imp final View customTitle = inflater.inflate(R.layout.network_request_dialog_title, null); final TextView title = customTitle.findViewById(R.id.network_request_title_text); title.setText(R.string.network_connection_request_dialog_title); title.setText(getTitle()); final ProgressBar progressBar = customTitle.findViewById( R.id.network_request_title_progress); progressBar.setVisibility(View.VISIBLE); Loading @@ -115,6 +120,16 @@ public class NetworkRequestDialogFragment extends InstrumentedDialogFragment imp return dialog; } private String getTitle() { final Intent intent = getActivity().getIntent(); String appName = ""; if (intent != null) { appName = intent.getStringExtra(EXTRA_APP_NAME); } return getString(R.string.network_connection_request_dialog_title, appName); } @NonNull List<AccessPoint> getAccessPointList() { // Initials list for adapter, in case of display crashing. Loading
tests/robotests/src/com/android/settings/wifi/NetworkRequestDialogFragmentTest.java +18 −1 Original line number Diff line number Diff line Loading @@ -27,16 +27,19 @@ import static org.mockito.Mockito.when; import android.content.Context; import android.content.DialogInterface; import android.content.Intent; import android.net.wifi.ScanResult; import android.net.wifi.WifiConfiguration; import android.net.wifi.WifiManager; import android.net.wifi.WifiManager.NetworkRequestUserSelectionCallback; import android.os.Bundle; import android.widget.Button; import android.widget.TextView; import androidx.appcompat.app.AlertDialog; import androidx.fragment.app.FragmentActivity; import com.android.settings.R; import com.android.settings.testutils.shadow.ShadowAlertDialogCompat; import com.android.settings.wifi.NetworkRequestErrorDialogFragment.ERROR_DIALOG_TYPE; import com.android.settingslib.wifi.AccessPoint; Loading @@ -63,6 +66,7 @@ public class NetworkRequestDialogFragmentTest { private static final String KEY_SSID = "key_ssid"; private static final String KEY_SECURITY = "key_security"; private static final String TEST_APP_NAME = "TestAppName"; private FragmentActivity mActivity; private NetworkRequestDialogFragment networkRequestDialogFragment; Loading @@ -71,7 +75,9 @@ public class NetworkRequestDialogFragmentTest { @Before public void setUp() { mActivity = Robolectric.setupActivity(FragmentActivity.class); mActivity = Robolectric.buildActivity(FragmentActivity.class, new Intent().putExtra(NetworkRequestDialogFragment.EXTRA_APP_NAME, TEST_APP_NAME)).setup().get(); networkRequestDialogFragment = spy(NetworkRequestDialogFragment.newInstance()); mContext = spy(RuntimeEnvironment.application); Loading @@ -87,6 +93,17 @@ public class NetworkRequestDialogFragmentTest { assertThat(alertDialog.isShowing()).isTrue(); } @Test public void display_shouldShowTitleWithAppName() { networkRequestDialogFragment.show(mActivity.getSupportFragmentManager(), /* tag */ null); final AlertDialog alertDialog = ShadowAlertDialogCompat.getLatestAlertDialog(); final String targetTitle = mContext.getString( R.string.network_connection_request_dialog_title, TEST_APP_NAME); final TextView view = alertDialog.findViewById(R.id.network_request_title_text); assertThat(view.getText()).isEqualTo(targetTitle); } @Test public void clickPositiveButton_shouldCloseTheDialog() { networkRequestDialogFragment.show(mActivity.getSupportFragmentManager(), null); Loading