From 4ab826ac5b68d05ad5a1d495b81822fc1978e6af Mon Sep 17 00:00:00 2001 From: Arc Wang Date: Thu, 24 Jan 2019 15:19:23 +0800 Subject: [PATCH] Set Wi-Fi DPP fragment icons. 1. set fragment icon for WifiDppChooseSavedWifiNetworkFragment 2. set fragment icon of success for WifiDppAddDeviceFragment All Wi-Fi DPP fragment icons are VectorDrawable of instinct size 24dp draw on a 48dp canvas. Except for ic_devices_check_circle_green, it's a LayerDrawable of different size. I dynamically change ImageView layout width & height between these 2 different kind of drawable. Bug: 122982132 Test: manual test Change-Id: Idab8cd8b0798363e447da00dc6bc68a86498b8be --- .../ic_devices_check_circle_green.xml | 30 +++++++++++++++++++ res/layout/wifi_dpp_fragment_header.xml | 12 ++++++-- res/values/dimens.xml | 3 ++ .../wifi/dpp/WifiDppAddDeviceFragment.java | 4 +-- ...WifiDppChooseSavedWifiNetworkFragment.java | 2 ++ .../wifi/dpp/WifiDppQrCodeBaseFragment.java | 19 +++++++++++- .../dpp/WifiDppQrCodeGeneratorFragment.java | 3 +- .../dpp/WifiDppQrCodeScannerFragment.java | 2 +- 8 files changed, 68 insertions(+), 7 deletions(-) create mode 100644 res/drawable/ic_devices_check_circle_green.xml diff --git a/res/drawable/ic_devices_check_circle_green.xml b/res/drawable/ic_devices_check_circle_green.xml new file mode 100644 index 00000000000..71c683b3021 --- /dev/null +++ b/res/drawable/ic_devices_check_circle_green.xml @@ -0,0 +1,30 @@ + + + + + + + diff --git a/res/layout/wifi_dpp_fragment_header.xml b/res/layout/wifi_dpp_fragment_header.xml index 20bcd7d77c3..e8e71d12b84 100644 --- a/res/layout/wifi_dpp_fragment_header.xml +++ b/res/layout/wifi_dpp_fragment_header.xml @@ -28,8 +28,16 @@ + + + 264dp 360dp + + 48dp + 360dp diff --git a/src/com/android/settings/wifi/dpp/WifiDppAddDeviceFragment.java b/src/com/android/settings/wifi/dpp/WifiDppAddDeviceFragment.java index 52243d4b7cf..c5b570ff747 100644 --- a/src/com/android/settings/wifi/dpp/WifiDppAddDeviceFragment.java +++ b/src/com/android/settings/wifi/dpp/WifiDppAddDeviceFragment.java @@ -55,7 +55,7 @@ public class WifiDppAddDeviceFragment extends WifiDppQrCodeBaseFragment { @Override public void onConfiguratorSuccess(int code) { // Update success UI. - mHeaderIcon.setImageResource(R.drawable.ic_check_circle_green); + setHeaderIconImageResource(R.drawable.ic_devices_check_circle_green); mTitle.setText(R.string.wifi_dpp_wifi_shared_with_device); mSummary.setVisibility(View.INVISIBLE); mWifiApPictureView.setImageResource(R.drawable.wifi_dpp_success); @@ -110,7 +110,7 @@ public class WifiDppAddDeviceFragment extends WifiDppQrCodeBaseFragment { public void onViewCreated(View view, Bundle savedInstanceState) { super.onViewCreated(view, savedInstanceState); - mHeaderIcon.setImageResource(R.drawable.ic_devices_other_opaque_black); + setHeaderIconImageResource(R.drawable.ic_devices_other_opaque_black); final WifiQrCode wifiQrCode = ((WifiDppConfiguratorActivity) getActivity()) .getWifiDppQrCode(); diff --git a/src/com/android/settings/wifi/dpp/WifiDppChooseSavedWifiNetworkFragment.java b/src/com/android/settings/wifi/dpp/WifiDppChooseSavedWifiNetworkFragment.java index 6a229a14468..682ebd45eb8 100644 --- a/src/com/android/settings/wifi/dpp/WifiDppChooseSavedWifiNetworkFragment.java +++ b/src/com/android/settings/wifi/dpp/WifiDppChooseSavedWifiNetworkFragment.java @@ -82,6 +82,8 @@ public class WifiDppChooseSavedWifiNetworkFragment extends WifiDppQrCodeBaseFrag public void onViewCreated(View view, Bundle savedInstanceState) { super.onViewCreated(view, savedInstanceState); + setHeaderIconImageResource(R.drawable.ic_wifi_signal_4); + mTitle.setText(R.string.wifi_dpp_choose_network); mSummary.setText(R.string.wifi_dpp_choose_network_to_connect_device); diff --git a/src/com/android/settings/wifi/dpp/WifiDppQrCodeBaseFragment.java b/src/com/android/settings/wifi/dpp/WifiDppQrCodeBaseFragment.java index cd0db62e75e..fab495d6e8f 100644 --- a/src/com/android/settings/wifi/dpp/WifiDppQrCodeBaseFragment.java +++ b/src/com/android/settings/wifi/dpp/WifiDppQrCodeBaseFragment.java @@ -21,6 +21,7 @@ import android.view.View; import android.widget.ImageView; import android.widget.TextView; +import com.android.settings.R; import com.android.settings.core.InstrumentedFragment; /** @@ -33,7 +34,8 @@ import com.android.settings.core.InstrumentedFragment; * {@code WifiDppAddDeviceFragment} */ public abstract class WifiDppQrCodeBaseFragment extends InstrumentedFragment { - protected ImageView mHeaderIcon; + private ImageView mHeaderIcon; + private ImageView mDevicesCheckCircleGreenHeaderIcon; protected TextView mTitle; protected TextView mSummary; @@ -42,7 +44,22 @@ public abstract class WifiDppQrCodeBaseFragment extends InstrumentedFragment { super.onViewCreated(view, savedInstanceState); mHeaderIcon = view.findViewById(android.R.id.icon); + mDevicesCheckCircleGreenHeaderIcon = + view.findViewById(R.id.devices_check_circle_green_icon); mTitle = view.findViewById(android.R.id.title); mSummary = view.findViewById(android.R.id.summary); } + + protected void setHeaderIconImageResource(int resId) { + // ic_devices_check_circle_green is a LayerDrawable, + // it has different size from other VectorDrawable icons + if (resId == R.drawable.ic_devices_check_circle_green) { + mHeaderIcon.setVisibility(View.GONE); + mDevicesCheckCircleGreenHeaderIcon.setVisibility(View.VISIBLE); + } else { + mDevicesCheckCircleGreenHeaderIcon.setVisibility(View.GONE); + mHeaderIcon.setImageResource(resId); + mHeaderIcon.setVisibility(View.VISIBLE); + } + } } diff --git a/src/com/android/settings/wifi/dpp/WifiDppQrCodeGeneratorFragment.java b/src/com/android/settings/wifi/dpp/WifiDppQrCodeGeneratorFragment.java index d0a96384d7c..2264ba6a1b9 100644 --- a/src/com/android/settings/wifi/dpp/WifiDppQrCodeGeneratorFragment.java +++ b/src/com/android/settings/wifi/dpp/WifiDppQrCodeGeneratorFragment.java @@ -124,7 +124,8 @@ public class WifiDppQrCodeGeneratorFragment extends WifiDppQrCodeBaseFragment { mQrCodeView = view.findViewById(R.id.qrcode_view); - mHeaderIcon.setImageResource(R.drawable.ic_qrcode_24dp); + setHeaderIconImageResource(R.drawable.ic_qrcode_24dp); + final WifiNetworkConfig wifiNetworkConfig = getWifiNetworkConfigFromHostActivity(); mTitle.setText(R.string.wifi_dpp_share_wifi); mSummary.setText(getString(R.string.wifi_dpp_scan_qr_code_with_another_device, diff --git a/src/com/android/settings/wifi/dpp/WifiDppQrCodeScannerFragment.java b/src/com/android/settings/wifi/dpp/WifiDppQrCodeScannerFragment.java index 7beeeb2c870..9524fee9051 100644 --- a/src/com/android/settings/wifi/dpp/WifiDppQrCodeScannerFragment.java +++ b/src/com/android/settings/wifi/dpp/WifiDppQrCodeScannerFragment.java @@ -171,7 +171,7 @@ public class WifiDppQrCodeScannerFragment extends WifiDppQrCodeBaseFragment impl mDecorateView = (QrDecorateView) view.findViewById(R.id.decorate_view); - mHeaderIcon.setImageResource(R.drawable.ic_scan_24dp); + setHeaderIconImageResource(R.drawable.ic_scan_24dp); if (mIsConfiguratorMode) { mTitle.setText(R.string.wifi_dpp_add_device_to_network);