[Network Connection] Implement dialog title for new design
Change title to contain app name from intent. Bug: 123158944 Test: atest NetworkRequestDialogFragmentTest Change-Id: If3acea5adec8a5e2bbf712735fda9e6975e71984
This commit is contained in:
@@ -30,6 +30,8 @@
|
||||
android:layout_weight="1"
|
||||
android:textSize="18sp"
|
||||
android:gravity="center_vertical"
|
||||
android:maxLines="1"
|
||||
android:ellipsize="end"
|
||||
style="@style/info_label"/>
|
||||
|
||||
<ProgressBar
|
||||
|
@@ -10447,8 +10447,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] -->
|
||||
|
@@ -20,6 +20,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;
|
||||
@@ -77,6 +78,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;
|
||||
@@ -96,7 +100,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);
|
||||
@@ -118,6 +123,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.
|
||||
|
@@ -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;
|
||||
@@ -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;
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
Reference in New Issue
Block a user