[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:layout_weight="1"
|
||||||
android:textSize="18sp"
|
android:textSize="18sp"
|
||||||
android:gravity="center_vertical"
|
android:gravity="center_vertical"
|
||||||
|
android:maxLines="1"
|
||||||
|
android:ellipsize="end"
|
||||||
style="@style/info_label"/>
|
style="@style/info_label"/>
|
||||||
|
|
||||||
<ProgressBar
|
<ProgressBar
|
||||||
|
@@ -10447,8 +10447,8 @@
|
|||||||
<!-- See less items in contextual homepage [CHAR LIMIT=30]-->
|
<!-- See less items in contextual homepage [CHAR LIMIT=30]-->
|
||||||
<string name="see_less">See less</string>
|
<string name="see_less">See less</string>
|
||||||
|
|
||||||
<!-- Title for Network connection request Dialog [CHAR LIMIT=30] -->
|
<!-- Title for Network connection request Dialog [CHAR LIMIT=60] -->
|
||||||
<string name="network_connection_request_dialog_title">Choose a device</string>
|
<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] -->
|
<!-- 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>
|
<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] -->
|
<!-- 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.app.settings.SettingsEnums;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.DialogInterface;
|
import android.content.DialogInterface;
|
||||||
|
import android.content.Intent;
|
||||||
import android.graphics.drawable.Drawable;
|
import android.graphics.drawable.Drawable;
|
||||||
import android.net.wifi.ScanResult;
|
import android.net.wifi.ScanResult;
|
||||||
import android.net.wifi.WifiConfiguration;
|
import android.net.wifi.WifiConfiguration;
|
||||||
@@ -77,6 +78,9 @@ public class NetworkRequestDialogFragment extends InstrumentedDialogFragment imp
|
|||||||
/** Delayed time to stop scanning wifi. */
|
/** Delayed time to stop scanning wifi. */
|
||||||
private static final int DELAY_TIME_STOP_SCAN_MS = 30 * 1000;
|
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 List<AccessPoint> mAccessPointList;
|
||||||
private FilterWifiTracker mFilterWifiTracker;
|
private FilterWifiTracker mFilterWifiTracker;
|
||||||
private AccessPointAdapter mDialogAdapter;
|
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 View customTitle = inflater.inflate(R.layout.network_request_dialog_title, null);
|
||||||
|
|
||||||
final TextView title = customTitle.findViewById(R.id.network_request_title_text);
|
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(
|
final ProgressBar progressBar = customTitle.findViewById(
|
||||||
R.id.network_request_title_progress);
|
R.id.network_request_title_progress);
|
||||||
progressBar.setVisibility(View.VISIBLE);
|
progressBar.setVisibility(View.VISIBLE);
|
||||||
@@ -118,6 +123,16 @@ public class NetworkRequestDialogFragment extends InstrumentedDialogFragment imp
|
|||||||
return dialog;
|
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
|
@NonNull
|
||||||
List<AccessPoint> getAccessPointList() {
|
List<AccessPoint> getAccessPointList() {
|
||||||
// Initials list for adapter, in case of display crashing.
|
// 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.Context;
|
||||||
import android.content.DialogInterface;
|
import android.content.DialogInterface;
|
||||||
|
import android.content.Intent;
|
||||||
import android.net.wifi.ScanResult;
|
import android.net.wifi.ScanResult;
|
||||||
import android.net.wifi.WifiConfiguration;
|
import android.net.wifi.WifiConfiguration;
|
||||||
import android.net.wifi.WifiManager;
|
import android.net.wifi.WifiManager;
|
||||||
import android.net.wifi.WifiManager.NetworkRequestUserSelectionCallback;
|
import android.net.wifi.WifiManager.NetworkRequestUserSelectionCallback;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.widget.Button;
|
import android.widget.Button;
|
||||||
|
import android.widget.TextView;
|
||||||
|
|
||||||
import androidx.appcompat.app.AlertDialog;
|
import androidx.appcompat.app.AlertDialog;
|
||||||
import androidx.fragment.app.FragmentActivity;
|
import androidx.fragment.app.FragmentActivity;
|
||||||
|
|
||||||
|
import com.android.settings.R;
|
||||||
import com.android.settings.testutils.shadow.ShadowAlertDialogCompat;
|
import com.android.settings.testutils.shadow.ShadowAlertDialogCompat;
|
||||||
import com.android.settings.wifi.NetworkRequestErrorDialogFragment.ERROR_DIALOG_TYPE;
|
import com.android.settings.wifi.NetworkRequestErrorDialogFragment.ERROR_DIALOG_TYPE;
|
||||||
import com.android.settingslib.wifi.AccessPoint;
|
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_SSID = "key_ssid";
|
||||||
private static final String KEY_SECURITY = "key_security";
|
private static final String KEY_SECURITY = "key_security";
|
||||||
|
private static final String TEST_APP_NAME = "TestAppName";
|
||||||
|
|
||||||
private FragmentActivity mActivity;
|
private FragmentActivity mActivity;
|
||||||
private NetworkRequestDialogFragment networkRequestDialogFragment;
|
private NetworkRequestDialogFragment networkRequestDialogFragment;
|
||||||
@@ -71,7 +75,9 @@ public class NetworkRequestDialogFragmentTest {
|
|||||||
|
|
||||||
@Before
|
@Before
|
||||||
public void setUp() {
|
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());
|
networkRequestDialogFragment = spy(NetworkRequestDialogFragment.newInstance());
|
||||||
mContext = spy(RuntimeEnvironment.application);
|
mContext = spy(RuntimeEnvironment.application);
|
||||||
|
|
||||||
@@ -87,6 +93,17 @@ public class NetworkRequestDialogFragmentTest {
|
|||||||
assertThat(alertDialog.isShowing()).isTrue();
|
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
|
@Test
|
||||||
public void clickPositiveButton_shouldCloseTheDialog() {
|
public void clickPositiveButton_shouldCloseTheDialog() {
|
||||||
networkRequestDialogFragment.show(mActivity.getSupportFragmentManager(), null);
|
networkRequestDialogFragment.show(mActivity.getSupportFragmentManager(), null);
|
||||||
|
Reference in New Issue
Block a user