From e8a80b5db3418ee9824e457420c3536f0eb71139 Mon Sep 17 00:00:00 2001 From: Russell Brenner Date: Thu, 22 Aug 2013 11:22:35 -0700 Subject: [PATCH 1/2] Support Holo Light theme for wifi during setup Adds programmatic support for holo light theme, activated by setting EXTRA_THEME to "holo_light". Light-themed graphics are still pending. Bug: 10407819 Change-Id: I81b6bf3fdf7ca3ee72b0f921b8adf6d858415887 --- AndroidManifest.xml | 2 +- res/values/styles.xml | 5 ---- res/values/themes.xml | 15 ++++++++++++ src/com/android/settings/wifi/WifiDialog.java | 2 +- .../settings/wifi/WifiSetupActivity.java | 24 ++++++++++++++++--- 5 files changed, 38 insertions(+), 10 deletions(-) diff --git a/AndroidManifest.xml b/AndroidManifest.xml index b2e5179889f..b5c46250001 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -171,7 +171,7 @@ diff --git a/res/values/styles.xml b/res/values/styles.xml index 96dcf21f60a..adf406bbec9 100644 --- a/res/values/styles.xml +++ b/res/values/styles.xml @@ -82,11 +82,6 @@ - - + + + + + @drawable/ic_menu_add_light + @*android:drawable/ic_menu_moreoverflow_holo_light + @drawable/ic_wps_light + @drawable/wifi_signal_light + diff --git a/res/xml/settings_headers.xml b/res/xml/settings_headers.xml index 65c42efbbbb..1d27a35af9d 100644 --- a/res/xml/settings_headers.xml +++ b/res/xml/settings_headers.xml @@ -158,7 +158,7 @@
+ android:icon="@drawable/ic_menu_add_dark">
diff --git a/res/xml/user_settings.xml b/res/xml/user_settings.xml index cf393b35df6..3a0ab742d27 100644 --- a/res/xml/user_settings.xml +++ b/res/xml/user_settings.xml @@ -26,6 +26,6 @@ + android:icon="@drawable/ic_menu_add_dark" /> diff --git a/src/com/android/settings/UserDictionarySettings.java b/src/com/android/settings/UserDictionarySettings.java index 9f6df5072b9..da120048d5a 100644 --- a/src/com/android/settings/UserDictionarySettings.java +++ b/src/com/android/settings/UserDictionarySettings.java @@ -16,6 +16,9 @@ package com.android.settings; +import com.android.settings.inputmethod.UserDictionaryAddWordContents; +import com.android.settings.inputmethod.UserDictionarySettingsUtils; + import android.app.ListFragment; import android.content.ContentResolver; import android.content.Context; @@ -37,9 +40,6 @@ import android.widget.SectionIndexer; import android.widget.SimpleCursorAdapter; import android.widget.TextView; -import com.android.settings.inputmethod.UserDictionaryAddWordContents; -import com.android.settings.inputmethod.UserDictionarySettingsUtils; - import java.util.Locale; public class UserDictionarySettings extends ListFragment { @@ -165,7 +165,7 @@ public class UserDictionarySettings extends ListFragment { public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { MenuItem actionItem = menu.add(0, OPTIONS_MENU_ADD, 0, R.string.user_dict_settings_add_menu_title) - .setIcon(R.drawable.ic_menu_add); + .setIcon(R.drawable.ic_menu_add_dark); actionItem.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM | MenuItem.SHOW_AS_ACTION_WITH_TEXT); } @@ -236,8 +236,9 @@ public class UserDictionarySettings extends ListFragment { private AlphabetIndexer mIndexer; - private ViewBinder mViewBinder = new ViewBinder() { + private final ViewBinder mViewBinder = new ViewBinder() { + @Override public boolean setViewValue(View v, Cursor c, int columnIndex) { if (columnIndex == INDEX_SHORTCUT) { final String shortcut = c.getString(INDEX_SHORTCUT); @@ -268,14 +269,17 @@ public class UserDictionarySettings extends ListFragment { setViewBinder(mViewBinder); } + @Override public int getPositionForSection(int section) { return null == mIndexer ? 0 : mIndexer.getPositionForSection(section); } + @Override public int getSectionForPosition(int position) { return null == mIndexer ? 0 : mIndexer.getSectionForPosition(position); } + @Override public Object[] getSections() { return null == mIndexer ? null : mIndexer.getSections(); } diff --git a/src/com/android/settings/wifi/AccessPoint.java b/src/com/android/settings/wifi/AccessPoint.java index 20146eb27ae..c4d1f7c65fd 100644 --- a/src/com/android/settings/wifi/AccessPoint.java +++ b/src/com/android/settings/wifi/AccessPoint.java @@ -16,6 +16,8 @@ package com.android.settings.wifi; +import com.android.settings.R; + import android.content.Context; import android.net.NetworkInfo.DetailedState; import android.net.wifi.ScanResult; @@ -29,8 +31,6 @@ import android.util.Log; import android.view.View; import android.widget.ImageView; -import com.android.settings.R; - class AccessPoint extends Preference { static final String TAG = "Settings.AccessPoint"; @@ -211,7 +211,8 @@ class AccessPoint extends Preference { signal.setImageDrawable(null); } else { signal.setImageLevel(getLevel()); - signal.setImageResource(R.drawable.wifi_signal); + signal.setImageDrawable(getContext().getTheme().obtainStyledAttributes( + new int[] {R.attr.wifi_signal}).getDrawable(0)); signal.setImageState((security != SECURITY_NONE) ? STATE_SECURED : STATE_NONE, true); } diff --git a/src/com/android/settings/wifi/WifiSettings.java b/src/com/android/settings/wifi/WifiSettings.java index 9fc10107048..1caf58bcd1c 100644 --- a/src/com/android/settings/wifi/WifiSettings.java +++ b/src/com/android/settings/wifi/WifiSettings.java @@ -19,12 +19,9 @@ package com.android.settings.wifi; import static android.net.wifi.WifiConfiguration.INVALID_NETWORK_ID; import static android.os.UserManager.DISALLOW_CONFIG_WIFI; -import java.util.ArrayList; -import java.util.Collection; -import java.util.Collections; -import java.util.HashMap; -import java.util.List; -import java.util.concurrent.atomic.AtomicBoolean; +import com.android.settings.R; +import com.android.settings.RestrictedSettingsFragment; +import com.android.settings.wifi.p2p.WifiP2pSettings; import android.app.ActionBar; import android.app.Activity; @@ -37,6 +34,7 @@ import android.content.Intent; import android.content.IntentFilter; import android.content.pm.PackageManager; import android.content.res.Resources; +import android.content.res.TypedArray; import android.location.LocationManager; import android.net.ConnectivityManager; import android.net.NetworkInfo; @@ -76,9 +74,12 @@ import android.widget.Switch; import android.widget.TextView; import android.widget.Toast; -import com.android.settings.R; -import com.android.settings.RestrictedSettingsFragment; -import com.android.settings.wifi.p2p.WifiP2pSettings; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.concurrent.atomic.AtomicBoolean; /** * Two types of UI are provided here. @@ -134,7 +135,7 @@ public class WifiSettings extends RestrictedSettingsFragment private DetailedState mLastState; private WifiInfo mLastInfo; - private AtomicBoolean mConnected = new AtomicBoolean(false); + private final AtomicBoolean mConnected = new AtomicBoolean(false); private WifiDialog mDialog; @@ -447,10 +448,11 @@ public class WifiSettings extends RestrictedSettingsFragment if (isRestrictedAndNotPinProtected()) return; final boolean wifiIsEnabled = mWifiManager.isWifiEnabled(); + TypedArray ta = getActivity().getTheme().obtainStyledAttributes( + new int[] {R.attr.ic_menu_add, R.attr.ic_wps}); if (mSetupWizardMode) { - // FIXME: add setIcon() when graphics are available menu.add(Menu.NONE, MENU_ID_WPS_PBC, 0, R.string.wifi_menu_wps_pbc) - .setIcon(R.drawable.ic_wps) + .setIcon(ta.getDrawable(1)) .setEnabled(wifiIsEnabled) .setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS); menu.add(Menu.NONE, MENU_ID_ADD_NETWORK, 0, R.string.wifi_add_network) @@ -458,11 +460,11 @@ public class WifiSettings extends RestrictedSettingsFragment .setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS); } else { menu.add(Menu.NONE, MENU_ID_WPS_PBC, 0, R.string.wifi_menu_wps_pbc) - .setIcon(R.drawable.ic_wps) + .setIcon(ta.getDrawable(1)) .setEnabled(wifiIsEnabled) .setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM); menu.add(Menu.NONE, MENU_ID_ADD_NETWORK, 0, R.string.wifi_add_network) - .setIcon(R.drawable.ic_menu_add) + .setIcon(ta.getDrawable(0)) .setEnabled(wifiIsEnabled) .setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM); menu.add(Menu.NONE, MENU_ID_SCAN, 0, R.string.wifi_menu_scan) @@ -481,6 +483,7 @@ public class WifiSettings extends RestrictedSettingsFragment //.setIcon(android.R.drawable.ic_menu_manage) .setShowAsAction(MenuItem.SHOW_AS_ACTION_NEVER); } + ta.recycle(); super.onCreateOptionsMenu(menu, inflater); } @@ -808,7 +811,7 @@ public class WifiSettings extends RestrictedSettingsFragment /** A restricted multimap for use in constructAccessPoints */ private class Multimap { - private HashMap> store = new HashMap>(); + private final HashMap> store = new HashMap>(); /** retrieve a non-null list of values with key K */ List getAll(K key) { List values = store.get(key); diff --git a/src/com/android/settings/wifi/p2p/WifiP2pPeer.java b/src/com/android/settings/wifi/p2p/WifiP2pPeer.java index 1eb810eb68e..a364021dd5f 100644 --- a/src/com/android/settings/wifi/p2p/WifiP2pPeer.java +++ b/src/com/android/settings/wifi/p2p/WifiP2pPeer.java @@ -20,21 +20,18 @@ import com.android.settings.R; import android.content.Context; import android.net.wifi.WifiManager; -import android.net.wifi.p2p.WifiP2pManager; import android.net.wifi.p2p.WifiP2pDevice; import android.preference.Preference; import android.text.TextUtils; import android.view.View; import android.widget.ImageView; -import java.util.Comparator; - public class WifiP2pPeer extends Preference { private static final int[] STATE_SECURED = {R.attr.state_encrypted}; public WifiP2pDevice device; - private int mRssi; + private final int mRssi; private ImageView mSignal; private static final int SIGNAL_LEVELS = 4; @@ -57,7 +54,7 @@ public class WifiP2pPeer extends Preference { if (mRssi == Integer.MAX_VALUE) { mSignal.setImageDrawable(null); } else { - mSignal.setImageResource(R.drawable.wifi_signal); + mSignal.setImageResource(R.drawable.wifi_signal_dark); mSignal.setImageState(STATE_SECURED, true); } refresh();