[Wi-Fi DPP] Refine Wi-Fi DPP UI layouts with SUW library

1. Use GlifLayout in all fragments
2. Fragments use 32dp icon instead of 48 dp
3. Replace ScrollView & ProgressBar & Header & Footer of original layout with GlifLayout design
4. Remove ActionBar (no more back button on screen top)

Bug: 129021867
Test: manual
Change-Id: I2fda48cb7f7819b2c8dd85c10d39e1f187463bd8
This commit is contained in:
Arc Wang
2019-05-03 17:38:48 +08:00
parent 0d1dc2bd59
commit 8e3c49123d
24 changed files with 334 additions and 455 deletions

View File

@@ -16,7 +16,6 @@
package com.android.settings.wifi.dpp;
import android.app.ActionBar;
import android.app.Activity;
import android.app.settings.SettingsEnums;
import android.content.Context;
@@ -32,7 +31,6 @@ import android.view.ViewGroup;
import android.view.accessibility.AccessibilityEvent;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.ProgressBar;
import androidx.lifecycle.ViewModelProviders;
@@ -47,11 +45,8 @@ 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;
private Button mButtonRight;
private int mLatestStatusCode = WifiDppUtils.EASY_CONNECT_EVENT_FAILURE_NONE;
@@ -83,16 +78,16 @@ 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);
setHeaderIconImageResource(R.drawable.ic_devices_check_circle_green_32dp);
setHeaderTitle(R.string.wifi_dpp_wifi_shared_with_device);
setProgressBarShown(isGoingInitiator());
mSummary.setVisibility(View.INVISIBLE);
mWifiApPictureView.setImageResource(R.drawable.wifi_dpp_success);
mChooseDifferentNetwork.setVisibility(View.INVISIBLE);
mButtonLeft.setText(R.string.wifi_dpp_add_another_device);
mButtonLeft.setOnClickListener(v -> getFragmentManager().popBackStack());
mButtonRight.setText(R.string.done);
mButtonRight.setOnClickListener(v -> {
mLeftButton.setText(getContext(), R.string.wifi_dpp_add_another_device);
mLeftButton.setOnClickListener(v -> getFragmentManager().popBackStack());
mRightButton.setText(getContext(), R.string.done);
mRightButton.setOnClickListener(v -> {
final Activity activity = getActivity();
activity.setResult(Activity.RESULT_OK);
activity.finish();
@@ -100,7 +95,6 @@ public class WifiDppAddDeviceFragment extends WifiDppQrCodeBaseFragment {
if (!isConfigurationChange) {
mLatestStatusCode = WifiDppUtils.EASY_CONNECT_EVENT_SUCCESS;
changeFocusAndAnnounceChange(mButtonRight, mTitle);
}
}
@@ -159,27 +153,26 @@ public class WifiDppAddDeviceFragment extends WifiDppQrCodeBaseFragment {
throw(new IllegalStateException("Unexpected Wi-Fi DPP error"));
}
mTitle.setText(R.string.wifi_dpp_could_not_add_device);
setHeaderTitle(R.string.wifi_dpp_could_not_add_device);
mWifiApPictureView.setImageResource(R.drawable.wifi_dpp_error);
mChooseDifferentNetwork.setVisibility(View.INVISIBLE);
if (hasRetryButton(code)) {
mButtonRight.setText(R.string.retry);
mRightButton.setText(getContext(), R.string.retry);
} else {
mButtonRight.setText(R.string.done);
mButtonRight.setOnClickListener(v -> getActivity().finish());
mButtonLeft.setVisibility(View.INVISIBLE);
mRightButton.setText(getContext(), R.string.done);
mRightButton.setOnClickListener(v -> getActivity().finish());
mLeftButton.setVisibility(View.INVISIBLE);
}
if (isGoingInitiator()) {
mSummary.setText(R.string.wifi_dpp_sharing_wifi_with_this_device);
}
mProgressBar.setVisibility(isGoingInitiator() ? View.VISIBLE : View.INVISIBLE);
mButtonRight.setVisibility(isGoingInitiator() ? View.INVISIBLE : View.VISIBLE);
setProgressBarShown(isGoingInitiator());
mRightButton.setVisibility(isGoingInitiator() ? View.INVISIBLE : View.VISIBLE);
if (!isConfigurationChange) {
mLatestStatusCode = code;
changeFocusAndAnnounceChange(mButtonRight, mSummary);
}
}
@@ -228,16 +221,6 @@ public class WifiDppAddDeviceFragment extends WifiDppQrCodeBaseFragment {
});
}
@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) {
@@ -249,17 +232,15 @@ public class WifiDppAddDeviceFragment extends WifiDppQrCodeBaseFragment {
public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
setHeaderIconImageResource(R.drawable.ic_devices_other_opaque_black);
mProgressBar = view.findViewById(R.id.indeterminate_bar);
setHeaderIconImageResource(R.drawable.ic_devices_other_32dp);
final WifiQrCode wifiQrCode = ((WifiDppConfiguratorActivity) getActivity())
.getWifiDppQrCode();
final String information = wifiQrCode.getInformation();
if (TextUtils.isEmpty(information)) {
mTitle.setText(R.string.wifi_dpp_device_found);
setHeaderTitle(R.string.wifi_dpp_device_found);
} else {
mTitle.setText(information);
setHeaderTitle(information);
}
updateSummary();
@@ -270,31 +251,26 @@ public class WifiDppAddDeviceFragment extends WifiDppQrCodeBaseFragment {
mClickChooseDifferentNetworkListener.onClickChooseDifferentNetwork()
);
mButtonLeft = view.findViewById(R.id.button_left);
mButtonLeft.setText(R.string.cancel);
mButtonLeft.setOnClickListener(v -> getActivity().finish());
mLeftButton.setText(getContext(), R.string.cancel);
mLeftButton.setOnClickListener(v -> getActivity().finish());
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);
mRightButton.setText(getContext(), R.string.wifi_dpp_share_wifi);
mRightButton.setOnClickListener(v -> {
setProgressBarShown(true);
mRightButton.setVisibility(View.INVISIBLE);
startWifiDppConfiguratorInitiator();
updateSummary();
mTitleSummaryContainer.sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_FOCUSED);
});
if (savedInstanceState != null) {
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);
setProgressBarShown(isGoingInitiator());
mRightButton.setVisibility(isGoingInitiator() ? View.INVISIBLE : View.VISIBLE);
} else {
showErrorUi(mLatestStatusCode, /* isConfigurationChange */ true);
}
} else {
changeFocusAndAnnounceChange(mButtonRight, mTitleSummaryContainer);
}
}
@@ -374,4 +350,9 @@ public class WifiDppAddDeviceFragment extends WifiDppQrCodeBaseFragment {
focusView.sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_FOCUSED);
announceView.sendAccessibilityEvent(AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED);
}
@Override
protected boolean isFooterAvailable() {
return true;
}
}