Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 846cacbd authored by Cosmo Hsieh's avatar Cosmo Hsieh Committed by Android (Google) Code Review
Browse files

Merge "[Network Connection] Implement dialog title for new design"

parents 7e19cfbb 6897c553
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -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
+2 −2
Original line number Diff line number Diff line
@@ -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] -->
+16 −1
Original line number Diff line number Diff line
@@ -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;
@@ -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;
@@ -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);
@@ -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.
+18 −1
Original line number Diff line number Diff line
@@ -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);