Add more Wi-Fi DPP UI features.

1. Update strings and icons.
2. Add more UI features in WifiDppAddDeviceFragment &
   WifiDppChooseSavedWifiNetworkFragment.

Bug: 118794978
Test: manual test
Change-Id: I2bee3f66732a1083fb13c113695899272e98c23e
diff --git a/res/layout/wifi_dialog.xml b/res/layout/wifi_dialog.xml
index 2a395b6..df676fc 100644
--- a/res/layout/wifi_dialog.xml
+++ b/res/layout/wifi_dialog.xml
@@ -68,7 +68,7 @@
                         android:layout_centerVertical="true"
                         android:layout_margin="5dp"
                         android:background="@null"
-                        android:src="@drawable/ic_qrcode_24dp"
+                        android:src="@drawable/ic_scan_24dp"
                         android:visibility="gone"
                         android:contentDescription="@string/wifi_add_network" />
                 </RelativeLayout>
@@ -303,7 +303,7 @@
                         android:layout_centerVertical="true"
                         android:layout_margin="5dp"
                         android:background="@null"
-                        android:src="@drawable/ic_qrcode_24dp"
+                        android:src="@drawable/ic_scan_24dp"
                         android:visibility="gone"
                         android:contentDescription="@string/wifi_add_network" />
                 </RelativeLayout>
diff --git a/res/layout/wifi_dpp_add_device_fragment.xml b/res/layout/wifi_dpp_add_device_fragment.xml
index 03add62..5e70396 100644
--- a/res/layout/wifi_dpp_add_device_fragment.xml
+++ b/res/layout/wifi_dpp_add_device_fragment.xml
@@ -24,22 +24,19 @@
 
     <include layout="@layout/wifi_dpp_fragment_header"/>
 
-    <ProgressBar
-      android:id="@+id/progress_bar"
-      android:layout_width="match_parent"
-      android:layout_height="wrap_content"
-      android:indeterminate="true"/>
-
     <ImageView
         android:id="@+id/wifi_ap_picture_view"
         android:layout_width="match_parent"
         android:layout_height="match_parent"
         android:layout_gravity="center"/>
 
-    <TextView android:id="@+id/choose_different_network"
+    <TextView
+        android:id="@+id/choose_different_network"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
-        android:layout_gravity="center"/>
+        android:layout_gravity="center"
+        android:layout_marginTop="8dp"
+        android:text="@string/wifi_dpp_choose_different_network"/>
 
     <include layout="@layout/wifi_dpp_fragment_footer"
         android:gravity="center|bottom"/>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index a45be06..2597ece 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -2077,13 +2077,13 @@
     <!-- Label for the spinner to show Wifi MAC randomization [CHAR LIMIT=25] -->
     <string name="wifi_privacy_settings">Privacy</string>
     <!-- Title for the fragment to add a device into the wifi network [CHAR LIMIT=50]  -->
-    <string name="wifi_dpp_add_device_to_network">Add a device to this network</string>
+    <string name="wifi_dpp_add_device_to_network">Add a device</string>
     <!-- Hint for the user to center another device's QR code in the below camera window [CHAR LIMIT=120] -->
-    <string name="wifi_dpp_center_qr_code">Center the device\u2019s QR code below to add device to \u201c<xliff:g id="ssid" example="OfficeWifi">%1$s</xliff:g>\u201d</string>
+    <string name="wifi_dpp_center_qr_code">Center the QR code below to add the device to \u201c<xliff:g id="ssid" example="OfficeWifi">%1$s</xliff:g>\u201d</string>
     <!-- Title for the fragment to scan QR code [CHAR LIMIT=50]  -->
     <string name="wifi_dpp_scan_qr_code">Scan QR code</string>
     <!-- Hint for the user to center another device's QR code in the below camera window [CHAR LIMIT=NONE] -->
-    <string name="wifi_dpp_scan_qr_code_join_network">Join \u201c<xliff:g id="ssid" example="OfficeWifi">%1$s</xliff:g>\u201d by scanning a QR code</string>
+    <string name="wifi_dpp_scan_qr_code_join_network">Center the QR code below to connect to \u201c<xliff:g id="ssid" example="OfficeWifi">%1$s</xliff:g>\u201d</string>
     <!-- Hint for the user to center another device's QR code in the below camera window [CHAR LIMIT=NONE] -->
     <string name="wifi_dpp_scan_qr_code_join_unknown_network">Join Wi\u2011Fi by scanning a QR code</string>
     <!-- Title for the fragment to share Wi-Fi [CHAR LIMIT=50]  -->
@@ -2091,7 +2091,19 @@
     <!-- Hint for the user to use another device to scan QR code on screen to join Wi-Fi [CHAR LIMIT=NONE] -->
     <string name="wifi_dpp_scan_qr_code_with_another_device">Scan this QR code with another device to join \u201c<xliff:g id="ssid" example="OfficeWifi">%1$s</xliff:g>\u201d</string>
     <!-- Hint for QR code detection [CHAR LIMIT=NONE]  -->
-    <string name="wifi_dpp_could_not_detect_valid_qr_code">Could not detect valid QR code</string>
+    <string name="wifi_dpp_could_not_detect_valid_qr_code">Couldn\u2019t read QR code</string>
+    <!-- Title for the fragment choose network [CHAR LIMIT=50]  -->
+    <string name="wifi_dpp_choose_network">Choose network</string>
+    <!-- Hint for the user to center another device's QR code in the below camera window [CHAR LIMIT=NONE] -->
+    <string name="wifi_dpp_choose_network_to_connect_device">To connect your device, choose a network</string>
+    <!-- Hint for the user to add the device to a Wi-Fi network [CHAR LIMIT=NONE] -->
+    <string name="wifi_dpp_add_device_to_wifi">Add this device to \u201c<xliff:g id="ssid" example="OfficeWifi">%1$s</xliff:g>\u201d?</string>
+    <!-- Title for the fragment to tell the user that Wi-Fi shared with device successfully [CHAR LIMIT=50]  -->
+    <string name="wifi_dpp_wifi_shared_with_device">Wi\u2011Fi shared with device</string>
+    <!-- Button label to add another device to Wi-Fi [CHAR LIMIT=50]  -->
+    <string name="wifi_dpp_add_another_device">Add another device</string>
+    <!-- Button label to choose different Wi-Fi network [CHAR LIMIT=80]  -->
+    <string name="wifi_dpp_choose_different_network">Choose different network</string>
     <!-- Label for the check box to share a network with other users on the same device -->
     <string name="wifi_shared">Share with other device users</string>
     <!-- Hint for unchanged fields -->
diff --git a/src/com/android/settings/wifi/WifiSettings.java b/src/com/android/settings/wifi/WifiSettings.java
index 95e912d..eddae06 100644
--- a/src/com/android/settings/wifi/WifiSettings.java
+++ b/src/com/android/settings/wifi/WifiSettings.java
@@ -240,7 +240,7 @@
         mAddPreference.setIcon(R.drawable.ic_menu_add);
         mAddPreference.setTitle(R.string.wifi_add_network);
         if (WifiDppUtils.isSharingNetworkEnabled(getContext())) {
-            mAddPreference.setButtonIcon(R.drawable.ic_qrcode_24dp);
+            mAddPreference.setButtonIcon(R.drawable.ic_scan_24dp);
             mAddPreference.setButtonOnClickListener((View v) -> {
                 // Launch QR code scanner to join a network.
                 getContext().startActivity(
diff --git a/src/com/android/settings/wifi/dpp/WifiDppAddDeviceFragment.java b/src/com/android/settings/wifi/dpp/WifiDppAddDeviceFragment.java
index 90fb850..12814f8 100644
--- a/src/com/android/settings/wifi/dpp/WifiDppAddDeviceFragment.java
+++ b/src/com/android/settings/wifi/dpp/WifiDppAddDeviceFragment.java
@@ -16,6 +16,8 @@
 
 package com.android.settings.wifi.dpp;
 
+import android.app.ActionBar;
+import android.app.Activity;
 import android.os.Bundle;
 import android.view.LayoutInflater;
 import android.view.View;
@@ -33,7 +35,6 @@
  * to the Wi-Fi network.
  */
 public class WifiDppAddDeviceFragment extends WifiDppQrCodeBaseFragment {
-    private ProgressBar mProgressBar;
     private ImageView mWifiApPictureView;
     private TextView mChooseDifferentNetwork;
     private Button mButtonLeft;
@@ -45,6 +46,16 @@
     }
 
     @Override
+    public void onActivityCreated(Bundle savedInstanceState) {
+        super.onActivityCreated(savedInstanceState);
+
+        final ActionBar actionBar = getActivity().getActionBar();
+        if (actionBar != null) {
+            actionBar.hide();
+        }
+    }
+
+    @Override
     public final View onCreateView(LayoutInflater inflater, ViewGroup container,
             Bundle savedInstanceState) {
         return inflater.inflate(R.layout.wifi_dpp_add_device_fragment, container,
@@ -55,10 +66,26 @@
     public void onViewCreated(View view, Bundle savedInstanceState) {
         super.onViewCreated(view, savedInstanceState);
 
-        mProgressBar = view.findViewById(R.id.progress_bar);
+        final WifiNetworkConfig wifiNetworkConfig = ((WifiDppConfiguratorActivity) getActivity())
+                .getWifiNetworkConfig();
+        if (!WifiNetworkConfig.isValidConfig(wifiNetworkConfig)) {
+            throw new IllegalStateException("Invalid Wi-Fi network for configuring");
+        }
+        mSummary.setText(getString(R.string.wifi_dpp_add_device_to_wifi,
+                wifiNetworkConfig.getSsid()));
+
         mWifiApPictureView = view.findViewById(R.id.wifi_ap_picture_view);
         mChooseDifferentNetwork = view.findViewById(R.id.choose_different_network);
         mButtonLeft = view.findViewById(R.id.button_left);
+        mButtonLeft.setText(R.string.cancel);
+        mButtonLeft.setOnClickListener(v -> getFragmentManager().popBackStack());
+
         mButtonRight = view.findViewById(R.id.button_right);
+        mButtonRight.setText(R.string.wifi_dpp_share_wifi);
+        mButtonRight.setOnClickListener(v -> startWifiDppInitiator());
+    }
+
+    private void startWifiDppInitiator() {
+        //TODO(b/122331217): starts Wi-Fi DPP initiator handshake here
     }
 }
diff --git a/src/com/android/settings/wifi/dpp/WifiDppChooseSavedWifiNetworkFragment.java b/src/com/android/settings/wifi/dpp/WifiDppChooseSavedWifiNetworkFragment.java
index a3e6db3..8037e23 100644
--- a/src/com/android/settings/wifi/dpp/WifiDppChooseSavedWifiNetworkFragment.java
+++ b/src/com/android/settings/wifi/dpp/WifiDppChooseSavedWifiNetworkFragment.java
@@ -16,6 +16,8 @@
 
 package com.android.settings.wifi.dpp;
 
+import android.app.ActionBar;
+import android.app.Activity;
 import android.os.Bundle;
 import android.view.LayoutInflater;
 import android.view.View;
@@ -41,6 +43,16 @@
     }
 
     @Override
+    public void onActivityCreated(Bundle savedInstanceState) {
+        super.onActivityCreated(savedInstanceState);
+
+        final ActionBar actionBar = getActivity().getActionBar();
+        if (actionBar != null) {
+            actionBar.hide();
+        }
+    }
+
+    @Override
     public final View onCreateView(LayoutInflater inflater, ViewGroup container,
             Bundle savedInstanceState) {
         return inflater.inflate(R.layout.wifi_dpp_choose_saved_wifi_network_fragment, container,
@@ -51,8 +63,18 @@
     public void onViewCreated(View view, Bundle savedInstanceState) {
         super.onViewCreated(view, savedInstanceState);
 
-        mSavedWifiNetworkList = view.findViewById(R.id.saved_wifi_network_list);
+        mTitle.setText(R.string.wifi_dpp_choose_network);
+        mSummary.setText(R.string.wifi_dpp_choose_network_to_connect_device);
+
         mButtonLeft = view.findViewById(R.id.button_left);
+        mButtonLeft.setText(R.string.cancel);
+        mButtonLeft.setOnClickListener(v -> {
+            Activity activity = getActivity();
+            activity.setResult(Activity.RESULT_CANCELED);
+            activity.finish();
+        });
+
         mButtonRight = view.findViewById(R.id.button_right);
+        mButtonRight.setVisibility(View.GONE);
     }
 }
diff --git a/src/com/android/settings/wifi/dpp/WifiDppConfiguratorActivity.java b/src/com/android/settings/wifi/dpp/WifiDppConfiguratorActivity.java
index c34bfd3..9c65d10 100644
--- a/src/com/android/settings/wifi/dpp/WifiDppConfiguratorActivity.java
+++ b/src/com/android/settings/wifi/dpp/WifiDppConfiguratorActivity.java
@@ -273,7 +273,6 @@
     public void onScanWifiDppSuccess(String publicKey, String information) {
         mPublicKey = publicKey;
         mInformation = information;
-        mWifiNetworkConfig = null;
 
         showAddDeviceFragment(/* addToBackStack */ true);
     }