OSDN Git Service

Add progress bar for Wi-Fi DPP handshaking
authorArc Wang <arcwang@google.com>
Wed, 20 Feb 2019 09:17:59 +0000 (17:17 +0800)
committerArc Wang <arcwang@google.com>
Fri, 22 Feb 2019 03:42:08 +0000 (11:42 +0800)
Bug: 124127483
Test: manual test
Change-Id: I1c3da5bab98da57ca8cf10509f339e99b01ebdbf

res/layout-land/wifi_dpp_qrcode_scanner_fragment.xml
res/layout/wifi_dpp_add_device_fragment.xml
res/layout/wifi_dpp_qrcode_scanner_fragment.xml
src/com/android/settings/wifi/dpp/WifiDppAddDeviceFragment.java
src/com/android/settings/wifi/dpp/WifiDppQrCodeScannerFragment.java

index 0069e93..3a0e659 100644 (file)
 
             <include layout="@layout/wifi_dpp_fragment_header"/>
 
+            <ProgressBar
+                android:id="@+id/indeterminate_bar"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:indeterminate="true"
+                android:paddingStart="16dp"
+                android:paddingEnd="16dp"
+                android:layout_marginBottom="8dp"
+                style="?android:attr/progressBarStyleHorizontal"/>
+
             <com.android.settings.wifi.qrcode.QrPreviewLayout
                 android:layout_width="@dimen/qrcode_preview_size"
                 android:layout_height="@dimen/qrcode_preview_size">
index 479e626..3ffdeef 100644 (file)
 
             <include layout="@layout/wifi_dpp_fragment_header"/>
 
+            <ProgressBar
+                android:id="@+id/indeterminate_bar"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:indeterminate="true"
+                android:paddingStart="16dp"
+                android:paddingEnd="16dp"
+                android:layout_marginBottom="8dp"
+                style="?android:attr/progressBarStyleHorizontal"
+                android:visibility="invisible"/>
+
             <ImageView
                 android:id="@+id/wifi_ap_picture_view"
                 android:layout_width="wrap_content"
index 9bd066b..4fa8e8b 100644 (file)
 
             <include layout="@layout/wifi_dpp_fragment_header"/>
 
+            <ProgressBar
+                android:id="@+id/indeterminate_bar"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:indeterminate="true"
+                android:paddingStart="16dp"
+                android:paddingEnd="16dp"
+                android:layout_marginBottom="8dp"
+                style="?android:attr/progressBarStyleHorizontal"/>
+
             <com.android.settings.wifi.qrcode.QrPreviewLayout
                 android:layout_width="match_parent"
                 android:layout_height="match_parent">
index 536924d..97b2ebe 100644 (file)
@@ -31,6 +31,7 @@ import android.view.View;
 import android.view.ViewGroup;
 import android.widget.Button;
 import android.widget.ImageView;
+import android.widget.ProgressBar;
 
 import androidx.lifecycle.ViewModelProviders;
 
@@ -45,6 +46,7 @@ import java.util.concurrent.Executor;
 public class WifiDppAddDeviceFragment extends WifiDppQrCodeBaseFragment {
     private static final String TAG = "WifiDppAddDeviceFragment";
 
+    private ProgressBar mProgressBar;
     private ImageView mWifiApPictureView;
     private Button mChooseDifferentNetwork;
     private Button mButtonLeft;
@@ -82,6 +84,7 @@ public class WifiDppAddDeviceFragment extends WifiDppQrCodeBaseFragment {
     private void showSuccessUi(boolean isConfigurationChange) {
         setHeaderIconImageResource(R.drawable.ic_devices_check_circle_green);
         mTitle.setText(R.string.wifi_dpp_wifi_shared_with_device);
+        mProgressBar.setVisibility(isGoingInitiator() ? View.VISIBLE : View.INVISIBLE);
         mSummary.setVisibility(View.INVISIBLE);
         mWifiApPictureView.setImageResource(R.drawable.wifi_dpp_success);
         mChooseDifferentNetwork.setVisibility(View.INVISIBLE);
@@ -169,6 +172,7 @@ public class WifiDppAddDeviceFragment extends WifiDppQrCodeBaseFragment {
             mLatestStatusCode = code;
         }
 
+        mProgressBar.setVisibility(isGoingInitiator() ? View.VISIBLE : View.INVISIBLE);
         mButtonRight.setVisibility(isGoingInitiator() ? View.INVISIBLE : View.VISIBLE);
     }
 
@@ -240,6 +244,8 @@ public class WifiDppAddDeviceFragment extends WifiDppQrCodeBaseFragment {
 
         setHeaderIconImageResource(R.drawable.ic_devices_other_opaque_black);
 
+        mProgressBar = view.findViewById(R.id.indeterminate_bar);
+
         final WifiQrCode wifiQrCode = ((WifiDppConfiguratorActivity) getActivity())
                 .getWifiDppQrCode();
         final String information = wifiQrCode.getInformation();
@@ -264,6 +270,7 @@ public class WifiDppAddDeviceFragment extends WifiDppQrCodeBaseFragment {
         mButtonRight = view.findViewById(R.id.button_right);
         mButtonRight.setText(R.string.wifi_dpp_share_wifi);
         mButtonRight.setOnClickListener(v -> {
+            mProgressBar.setVisibility(View.VISIBLE);
             mButtonRight.setVisibility(View.INVISIBLE);
             startWifiDppConfiguratorInitiator();
         });
@@ -272,6 +279,7 @@ public class WifiDppAddDeviceFragment extends WifiDppQrCodeBaseFragment {
             if (mLatestStatusCode == WifiDppUtils.EASY_CONNECT_EVENT_SUCCESS) {
                 showSuccessUi(/* isConfigurationChange */ true);
             } else if (mLatestStatusCode == WifiDppUtils.EASY_CONNECT_EVENT_FAILURE_NONE) {
+                mProgressBar.setVisibility(isGoingInitiator() ? View.VISIBLE : View.INVISIBLE);
                 mButtonRight.setVisibility(isGoingInitiator() ? View.INVISIBLE : View.VISIBLE);
             } else {
                 showErrorUi(mLatestStatusCode, /* isConfigurationChange */ true);
index c88313b..e664a05 100644 (file)
@@ -42,6 +42,7 @@ import android.view.TextureView;
 import android.view.TextureView.SurfaceTextureListener;
 import android.view.View;
 import android.view.ViewGroup;
+import android.widget.ProgressBar;
 import android.widget.TextView;
 
 import androidx.lifecycle.ViewModelProviders;
@@ -77,6 +78,7 @@ public class WifiDppQrCodeScannerFragment extends WifiDppQrCodeBaseFragment impl
     private static final String KEY_IS_CONFIGURATOR_MODE = "key_is_configurator_mode";
     private static final String KEY_LATEST_ERROR_CODE = "key_latest_error_code";
 
+    private ProgressBar mProgressBar;
     private QrCamera mCamera;
     private TextureView mTextureView;
     private QrDecorateView mDecorateView;
@@ -205,6 +207,10 @@ public class WifiDppQrCodeScannerFragment extends WifiDppQrCodeBaseFragment impl
         mDecorateView = (QrDecorateView) view.findViewById(R.id.decorate_view);
 
         setHeaderIconImageResource(R.drawable.ic_scan_24dp);
+
+        mProgressBar = view.findViewById(R.id.indeterminate_bar);
+        mProgressBar.setVisibility(isGoingInitiator() ? View.VISIBLE : View.INVISIBLE);
+
         if (mIsConfiguratorMode) {
             mTitle.setText(R.string.wifi_dpp_add_device_to_network);
 
@@ -402,6 +408,7 @@ public class WifiDppQrCodeScannerFragment extends WifiDppQrCodeBaseFragment impl
                     mScanWifiDppSuccessListener.onScanWifiDppSuccess((WifiQrCode)msg.obj);
 
                     if (!mIsConfiguratorMode) {
+                        mProgressBar.setVisibility(View.VISIBLE);
                         startWifiDppEnrolleeInitiator((WifiQrCode)msg.obj);
                     }
                     break;
@@ -446,6 +453,7 @@ public class WifiDppQrCodeScannerFragment extends WifiDppQrCodeBaseFragment impl
 
             Log.e(TAG, "Invalid networkId " + newNetworkId);
             mLatestStatusCode = EasyConnectStatusCallback.EASY_CONNECT_EVENT_FAILURE_GENERIC;
+            mProgressBar.setVisibility(View.INVISIBLE);
             showErrorMessage(getString(R.string.wifi_dpp_check_connection_try_again));
             restartCamera();
         }
@@ -512,6 +520,7 @@ public class WifiDppQrCodeScannerFragment extends WifiDppQrCodeBaseFragment impl
             }
 
             mLatestStatusCode = code;
+            mProgressBar.setVisibility(View.INVISIBLE);
             restartCamera();
         }
 
@@ -540,6 +549,7 @@ public class WifiDppQrCodeScannerFragment extends WifiDppQrCodeBaseFragment impl
     public void onFailure(int reason) {
         Log.d(TAG, "Wi-Fi connect onFailure reason - " + reason);
 
+        mProgressBar.setVisibility(View.INVISIBLE);
         showErrorMessage(getString(R.string.wifi_dpp_check_connection_try_again));
         restartCamera();
     }