From f2819e0eada8af3835141857b5d499bca90774a6 Mon Sep 17 00:00:00 2001 From: Jason Monk Date: Tue, 2 Jun 2015 13:03:24 -0400 Subject: [PATCH] Fix battery usage screen issues Tint icons properly Bug: 21077770 Show better icons for wifi and bt (remove the old ones) Bug: 21172936 Also add a way to show fake items in power list for testing. Change-Id: I6b6804673a68190ebc3f2ea32802e30811a7f5b2 --- .../ic_settings_bluetooth2_alpha.png | Bin 523 -> 0 bytes .../ic_settings_bluetooth_alpha.png | Bin 2183 -> 523 bytes res/drawable-hdpi/ic_settings_wifi_alpha.png | Bin 2183 -> 0 bytes .../ic_settings_bluetooth2_alpha.png | Bin 419 -> 0 bytes .../ic_settings_bluetooth_alpha.png | Bin 1500 -> 419 bytes res/drawable-mdpi/ic_settings_wifi_alpha.png | Bin 1500 -> 0 bytes .../ic_settings_bluetooth2_alpha.png | Bin 582 -> 0 bytes .../ic_settings_bluetooth_alpha.png | Bin 3494 -> 582 bytes res/drawable-xhdpi/ic_settings_wifi_alpha.png | Bin 3494 -> 0 bytes ...ha.png => ic_settings_bluetooth_alpha.png} | Bin ...ha.png => ic_settings_bluetooth_alpha.png} | Bin res/drawable/ic_settings_bluetooth2.xml | 21 -------- res/drawable/ic_settings_wifi.xml | 21 -------- res/xml/dashboard_categories.xml | 2 +- .../android/settings/TintablePreference.java | 47 ++++++++++++++++++ .../bluetooth/BluetoothDevicePreference.java | 4 +- .../settings/bluetooth/BluetoothSettings.java | 2 +- .../settings/fuelgauge/BatteryEntry.java | 2 +- .../fuelgauge/PowerGaugePreference.java | 5 +- .../settings/fuelgauge/PowerUsageSummary.java | 36 ++++++++++++-- .../search/SearchIndexableResources.java | 2 +- 21 files changed, 88 insertions(+), 54 deletions(-) delete mode 100644 res/drawable-hdpi/ic_settings_bluetooth2_alpha.png delete mode 100644 res/drawable-hdpi/ic_settings_wifi_alpha.png delete mode 100644 res/drawable-mdpi/ic_settings_bluetooth2_alpha.png delete mode 100644 res/drawable-mdpi/ic_settings_wifi_alpha.png delete mode 100644 res/drawable-xhdpi/ic_settings_bluetooth2_alpha.png delete mode 100644 res/drawable-xhdpi/ic_settings_wifi_alpha.png rename res/drawable-xxhdpi/{ic_settings_bluetooth2_alpha.png => ic_settings_bluetooth_alpha.png} (100%) rename res/drawable-xxxhdpi/{ic_settings_bluetooth2_alpha.png => ic_settings_bluetooth_alpha.png} (100%) delete mode 100644 res/drawable/ic_settings_bluetooth2.xml delete mode 100644 res/drawable/ic_settings_wifi.xml create mode 100644 src/com/android/settings/TintablePreference.java diff --git a/res/drawable-hdpi/ic_settings_bluetooth2_alpha.png b/res/drawable-hdpi/ic_settings_bluetooth2_alpha.png deleted file mode 100644 index 9dbc509d3162bc4165ed080d34576ac72af9c3ea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 523 zcmeAS@N?(olHy`uVBq!ia0vp^Dj>|k0wldT1B8JTOS+@4BLidG0>c;6;(>goByV>Y z28LC=%0@sQXMsm#F_88EW4Dvpb_@)Rww^AIAs)w{UODS^*g@dH$NEbRcA>QlwLI|- z0?xK4xI|yEdt?V{X;w_An`86a%&t*=eW{Iw@8nr2>Dl^^*qmLd0$$4b}$^|%eUGjFLiZ}O1qHSE$bDUZSAj=IAYUo6{n}4 z;;zxZ(^`1o+;73Fuef@a^-1L&TN5mIZ2KeEqrnB;lGCS6YgOOXb#q4=|J0}Z`MoO+ zndtv0O8>q!-AQ|nq`=dFBWu6;eJ%g?Ozrc(E$q`Wo>}c&e>1{q_nucLCaTWc_C3LR zbJ~iZD@qkjwdMb<+t7c`dB)dmO?|VM-7J5_X@0vQXx(h}8w$s-=5P9Z{Il&C_85np9KXFIV ckei>9nO2EggN0wrZ=ePSPgg&ebxsLQ0HadMG5`Po diff --git a/res/drawable-hdpi/ic_settings_bluetooth_alpha.png b/res/drawable-hdpi/ic_settings_bluetooth_alpha.png index a21982e94243abb7639bbbecdf4bd763b410f45d..9dbc509d3162bc4165ed080d34576ac72af9c3ea 100644 GIT binary patch delta 385 zcmV-{0e=365sL&NiBL{Q4GJ0x0000DNk~Le0000a0000a2m}BC080r_6Okb`e*ry7 zL_t(Y$K}+`O2a@9!0~_5fId}y0DTN!KoCPc$O;we2S{sCDk*r7ew;k}Ha>wTuXQ{) zO_Q2rXKOFw213}~{4zVUS@_4zA*B9ku?g$Z+YSV&kFr8ustRfo)lePtXMsaL85Jmp zAbcPQVyE_4APA3ntl!WDFG`)-f1rq=zAz&xK#msAI&x{FVxIJcjJN>74sSZL9~#x1 zB!?0v+B>KzhKK4R2wi5{b7yDD3w$r!g>k^n`w`XZ3XG_B>CiDKZNe7l_<~q5r z*;qomyz0o2C7!nTU^}yBsQIXMAvG%>{;sf(&O?~>wt|kErrCGu2{+q-Qm&gP*dWK% fZ?f~p+ZQ@q)vPnE38Rzr2W1HWNkvXXu0mjf+uExh delta 2058 zcmV+l2=(`i1cwnJiBL{Q4GJ0x0000DNk~Le0000;0000;2m}BC0RQBB%#k5Ae+QIF zL_t(&-tF4SZ=81>$MM%Qo5vH|*_@@cY0?rUX`7a%Ev?kD2vDiSA}**b>aqUKuB#4NFb2f6gBFh6siQMlO|1^#9KV}c(!L&4$m{5u|0NdXT}JL?@u0&JkRr+ zw?E&{Z-4lI{EtO2q7Jd#7-_0}7CkkX$VZXY3Q8ZPp#l zp3>S0)=q&ss-&c(rM=|qo^sZSHCGi(`NW6*WLiT#2HO_Y&VT}eq?EJ~U-nbqckn)U zT=JH;&8Wp#58$qTFezCRj(W|d*dd+LQc+XaP*Y#`SZ+^uU0)hKpA^06j01AgJ@$V9oRqBn9`XyNRZXg!fUMW9^KQlu9Wx&5^nj_# zIpi7d#Z@GybI`AyLqo8|)jN&TN?x8QX5!0x4r2^4%Du zJYbx*wtqQq(&*Z>B{#tdq>b9|R~|*h=)jT{MO$D}=tB)nt=`1+e~+Y$oL9Vvw#&w4wRIVaR$`(1Sl&h z(OIwc14`TH6xvFA0@T_ZsIyRhLIz8Fq)?UadUm}+QKOG6f4!ixCqNZFEB>|3I*5TH z2h9q#hB~xHagQ$2+OJE*n=DU&X%*ofC^V<374IUg0qShF9B~{~ca;?O0O&^V>SLoq znb<+MtSFcpDoT{5f2*zTv#kS4N=nDW>UBkV*Lx@61CIa&*VHvMHv&b2M#@t?K(n#s zh8I^<YhJ?}<;5`*#KZSx=p;L00Gp8tT&J`;|0tzti zva(REV~w>bOG$eMOsOhaGV8X>L(&KStf;ISZ~v`RC~{CV&RA6p!fK6&pd zsHkadRH!q~p9B9?Rk0#(#%Dgz9EwU8~q4Ts_Sm4D!A#QuQ@sp z9Nuxse?55x)!u}4fg%TG;>AzkN6xRV$rfF3)w0jL<2k1uVAH!ZnR(v@a~3Qquhpls z5DcV@nsCPJs5t4d9=nfvM#~)q6$MQ0a*ouF@4MtJcgK#|ey@2J4HN6C z3Y>J)j3s47D<7STJwif+a`)yC!N%>I#ZhESfXvkZBXfWQ`eatr3mMvP8kB5rdW;k7-==kWe zb8NEonNrk9ZYiX)^*AJxo z;wUQ|Qi(B|tLO9`m@Yz8q9yV+ zbXgB1KK&VY*fB>P^*K*?%rRMIe+zD#@~Nt-n#MYe?(asdM(25t9X<2WiEiKA6vnQp z3l-gs5B;0*WVR9m)i%IH7?B=L?RfUL%PDVfKh#h~OI_KrF*z9tt=Onl;RbIsVntf9 zA_I7`BUtl3DQQGjPEJlnMi6%i9hWrLf$TCd+XL#1X(<^Q8EGj&tX;FmEgv041`5(2 zsP|E&Xy-T)pVzkro0#nbb^n%#A6|-d7?K_v<3Hj~XKnkJT=SEi0c9>3bVXQnQ*UN; ocVTj606}DLVr3vnZDD6+Qe|Oed2z{QJOBUy07*qoM6N<$g7LiJVE_OC diff --git a/res/drawable-hdpi/ic_settings_wifi_alpha.png b/res/drawable-hdpi/ic_settings_wifi_alpha.png deleted file mode 100644 index a21982e94243abb7639bbbecdf4bd763b410f45d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2183 zcmV;22zd92P)$MM%Qo5vH|*_@@cY0?rUX`7a%Ev?kD2vDiSA}**b>aqUKuB#4 zNFb2f6gBFh6siQMlO|1^#9KV}c(!L&4$m{5u|0NdXT}JL?@u0&JkRr+w?E&{Z-4lI z{EtO2q=U4E)*a2B(%K2uPJueA zq@<*!z2xhja@L78R~1b8#E1T5T0=bs+ZNQ$fC7P}l(Z3F_EXYf0NN=a@Gl$4Tj2GsThC@U$^S+Dg2O55iY+Ddx@ z)Y=@Vvrv9Q21|RSP?hd_cD+JTqmL}Tpt2`G6+J8dwaq$+fg%UZ3blqhv_^4{F4Ees zOT?QjPk?C^;T|Y7r>Pb1BCP@HY_=S6994If6!rkViel%{{H zt?sj}14>Ft$HVG%MS0hIC*T8*00r07H8eK@MT17lQ$0YlvE_yrS5)KuwKi*8S=1?J z<2H6hQNx%iM}~yb7T`SV_N7vvR{h28qQK#_ySoJ7r(x~htzd!}9Sx9x74Y%8L=u6p0H6&3YP!n#16 zQS7_~ZmMfbNNB5AaMRyi8z4@A&~N1}DaH~q4Ts_Sm4D!A#QuQ@sp9NuxsJ$VJy-h_35A_ryS z#ZTZz&abY?7F}@Fvd_HZIj0_A)4Ma7dEW(d7Az^R)u*!%45W;jaK`JXIO(w-yN`NC z%N+$31x)U8j?|9tyW}l*%~-IkyjGtsP+HD@uXz>?6YHu9oOIKSC1ph`CggUkO%QwM zqPN|3*SsYqVQ0u#o3bEI*vlZ>r^1w%O<7P-QZVmvXN_-LnT|Fk7kp@D6{ohbe~W+; zv87MMc>UsGBdV4aEXiAN)8kH=xKH|8x`&@P{NA)#v*sMV0RO)h}hy`DtN`?YkywO6m%V zRxFw`>5yp?#$=5dlQU{Wwg&_jz3(G=ix%9oXjw_vAE&n;3Iy_7bbTu-szPOfnwn5m z$+Bg~jGJ`Sp$+#eyXvxA3YINel#hps+GaRipy>GMvU6;*^qErBh_9>(Rh;y^FFI>- z!?i^-rrmT`SxG^`k|hNz%BrhpCN>9ZYiX)^*AJxo;wbfbj0<<*M)rCT#>grET zDAZ8b(sJKp@*sXq+vlL;PWZexoZ9l98$NN>HTl(KH#F4M)z*}HTpBxhx}gJ3d z_P5I^Z*M=;P(@2!*|IS?840b}s8!(xZ!}^>TCpMnc(Nl{^FAqQL{?5tPDVx$cL^Pr zG}eLaGBMi&>WpbA85tRADM74Vv&SDDMFtAeAE@_HrD*3k5uew$2Ai1e19ktFh#y{x zbQqEz8{E!d~&g*?8=X}@>zhrPci@i?hH(Kapr&dh4Z zetje3W{-Cdvv}UNNuAN0{ki(5TjA!arB{08^9~gWG^;$_e?|EHqcnb#a3v9-2USa4 zBT7;dOH!?pi&B9UgOP!usjh*EuAxDQp@EgLsg<#@u7SCgfq|#+6L%C1x%nxXX_dG& USop>K25MmNboFyt=akR{04i6IssI20 diff --git a/res/drawable-mdpi/ic_settings_bluetooth_alpha.png b/res/drawable-mdpi/ic_settings_bluetooth_alpha.png index 31be00432cd054b66256de5db893c0f78638ed37..f51e5caa38aa55c5a9a8d58d13f4599ea2c5c808 100644 GIT binary patch delta 280 zcmV+z0q6eQ3!?)eiBL{Q4GJ0x0000DNk~Le0000O0000O2m}BC07`!KbCDr6e*o1< zL_t(I%e9hA4go{jHpN!4EQvC>3ukE>$=OmM&D| z*$F?rqwu}^k_VUI6q88>WeEUDMNUMnLSTZYgK*~n delta 1372 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 n;|Y!b7954c4CDAe${Duz>^t;-}~_F_63@ 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 JPDHLkV1mvZdvpK* diff --git a/res/drawable-xhdpi/ic_settings_wifi_alpha.png b/res/drawable-xhdpi/ic_settings_wifi_alpha.png deleted file mode 100644 index cee4e67ad6fb57bfd57e9b7b9c42d5da72e591c9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3494 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 - - - - diff --git a/res/drawable/ic_settings_wifi.xml b/res/drawable/ic_settings_wifi.xml deleted file mode 100644 index 9b58909047f..00000000000 --- a/res/drawable/ic_settings_wifi.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - - - diff --git a/res/xml/dashboard_categories.xml b/res/xml/dashboard_categories.xml index 5b8c243a33a..ebddd789ec0 100644 --- a/res/xml/dashboard_categories.xml +++ b/res/xml/dashboard_categories.xml @@ -36,7 +36,7 @@ android:id="@+id/bluetooth_settings" android:title="@string/bluetooth_settings_title" android:fragment="com.android.settings.bluetooth.BluetoothSettings" - android:icon="@drawable/ic_settings_bluetooth2" + android:icon="@drawable/ic_settings_bluetooth" /> diff --git a/src/com/android/settings/TintablePreference.java b/src/com/android/settings/TintablePreference.java new file mode 100644 index 00000000000..3c56b1e12c4 --- /dev/null +++ b/src/com/android/settings/TintablePreference.java @@ -0,0 +1,47 @@ +/* + * Copyright (C) 2015 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.android.settings; + +import android.content.Context; +import android.content.res.ColorStateList; +import android.preference.Preference; +import android.util.AttributeSet; +import android.view.View; +import android.widget.ImageView; + +public class TintablePreference extends Preference { + + private int mTintColor; + + public TintablePreference(Context context, AttributeSet attrs) { + super(context, attrs); + } + + public void setTint(int color) { + mTintColor = color; + notifyChanged(); + } + + @Override + protected void onBindView(View view) { + super.onBindView(view); + + if (mTintColor != 0) { + ((ImageView) view.findViewById(R.id.icon)).setImageTintList( + ColorStateList.valueOf(mTintColor)); + } + } +} diff --git a/src/com/android/settings/bluetooth/BluetoothDevicePreference.java b/src/com/android/settings/bluetooth/BluetoothDevicePreference.java index 7bdc1a69d0b..b36d2ea77f4 100644 --- a/src/com/android/settings/bluetooth/BluetoothDevicePreference.java +++ b/src/com/android/settings/bluetooth/BluetoothDevicePreference.java @@ -222,7 +222,7 @@ public final class BluetoothDevicePreference extends Preference implements data.className = BluetoothSettings.class.getName(); data.title = mCachedDevice.getName(); data.screenTitle = context.getResources().getString(R.string.bluetooth_settings); - data.iconResId = R.drawable.ic_settings_bluetooth2; + data.iconResId = R.drawable.ic_settings_bluetooth; data.enabled = true; Index.getInstance(context).updateFromSearchIndexableData(data); @@ -268,6 +268,6 @@ public final class BluetoothDevicePreference extends Preference implements return R.drawable.ic_bt_headset_hfp; } } - return R.drawable.ic_settings_bluetooth2; + return R.drawable.ic_settings_bluetooth; } } diff --git a/src/com/android/settings/bluetooth/BluetoothSettings.java b/src/com/android/settings/bluetooth/BluetoothSettings.java index cf06fe79ba4..4113b9ec23e 100755 --- a/src/com/android/settings/bluetooth/BluetoothSettings.java +++ b/src/com/android/settings/bluetooth/BluetoothSettings.java @@ -488,7 +488,7 @@ public final class BluetoothSettings extends DeviceListPreferenceFragment implem com.android.settings.bluetooth.Utils.updateSearchIndex(activity, BluetoothSettings.class.getName(), device.getName(), context.getResources().getString(R.string.bluetooth_settings), - R.drawable.ic_settings_bluetooth2, false); + R.drawable.ic_settings_bluetooth, false); } }); diff --git a/src/com/android/settings/fuelgauge/BatteryEntry.java b/src/com/android/settings/fuelgauge/BatteryEntry.java index be7c657001d..bfae5785bc9 100644 --- a/src/com/android/settings/fuelgauge/BatteryEntry.java +++ b/src/com/android/settings/fuelgauge/BatteryEntry.java @@ -146,7 +146,7 @@ public class BatteryEntry { break; case WIFI: name = context.getResources().getString(R.string.power_wifi); - iconId = R.drawable.ic_settings_wifi; + iconId = R.drawable.ic_settings_wireless; break; case BLUETOOTH: name = context.getResources().getString(R.string.power_bluetooth); diff --git a/src/com/android/settings/fuelgauge/PowerGaugePreference.java b/src/com/android/settings/fuelgauge/PowerGaugePreference.java index 97012e483ec..e80f4924227 100644 --- a/src/com/android/settings/fuelgauge/PowerGaugePreference.java +++ b/src/com/android/settings/fuelgauge/PowerGaugePreference.java @@ -25,13 +25,14 @@ import android.widget.ProgressBar; import android.widget.TextView; import com.android.settings.R; +import com.android.settings.TintablePreference; import com.android.settings.Utils; /** * Custom preference for displaying power consumption as a bar and an icon on * the left for the subsystem/app type. */ -public class PowerGaugePreference extends Preference { +public class PowerGaugePreference extends TintablePreference { private BatteryEntry mInfo; private int mProgress; private CharSequence mProgressText; @@ -39,7 +40,7 @@ public class PowerGaugePreference extends Preference { public PowerGaugePreference(Context context, Drawable icon, CharSequence contentDescription, BatteryEntry info) { - super(context); + super(context, null); setLayoutResource(R.layout.preference_app_percentage); setIcon(icon != null ? icon : new ColorDrawable(0)); mInfo = info; diff --git a/src/com/android/settings/fuelgauge/PowerUsageSummary.java b/src/com/android/settings/fuelgauge/PowerUsageSummary.java index 3576ee2475d..1fe59e909ab 100644 --- a/src/com/android/settings/fuelgauge/PowerUsageSummary.java +++ b/src/com/android/settings/fuelgauge/PowerUsageSummary.java @@ -28,6 +28,7 @@ import android.preference.Preference; import android.preference.PreferenceGroup; import android.preference.PreferenceScreen; import android.text.TextUtils; +import android.util.TypedValue; import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; @@ -35,12 +36,14 @@ import android.view.MenuItem; import com.android.internal.logging.MetricsLogger; import com.android.internal.os.BatterySipper; import com.android.internal.os.PowerProfile; +import com.android.internal.os.BatterySipper.DrainType; import com.android.settings.HelpUtils; import com.android.settings.R; import com.android.settings.Settings.HighPowerApplicationsActivity; import com.android.settings.SettingsActivity; import com.android.settings.applications.ManageApplications; +import java.util.ArrayList; import java.util.List; /** @@ -51,6 +54,8 @@ public class PowerUsageSummary extends PowerUsageBase { private static final boolean DEBUG = false; + private static final boolean USE_FAKE_DATA = false; + static final String TAG = "PowerUsageSummary"; private static final String KEY_APP_LIST = "app_list"; @@ -184,18 +189,25 @@ public class PowerUsageSummary extends PowerUsageBase { final BatteryStats stats = mStatsHelper.getStats(); final double averagePower = powerProfile.getAveragePower(PowerProfile.POWER_SCREEN_FULL); - if (averagePower >= MIN_AVERAGE_POWER_THRESHOLD_MILLI_AMP) { - final List usageList = mStatsHelper.getUsageList(); + TypedValue value = new TypedValue(); + getContext().getTheme().resolveAttribute(android.R.attr.colorControlNormal, value, true); + int colorControl = getContext().getColor(value.resourceId); - final int dischargeAmount = stats != null ? stats.getDischargeAmount(mStatsType) : 0; + if (averagePower >= MIN_AVERAGE_POWER_THRESHOLD_MILLI_AMP || USE_FAKE_DATA) { + final List usageList = USE_FAKE_DATA ? getFakeStats() + : mStatsHelper.getUsageList(); + + final int dischargeAmount = USE_FAKE_DATA ? 5000 + : stats != null ? stats.getDischargeAmount(mStatsType) : 0; final int numSippers = usageList.size(); for (int i = 0; i < numSippers; i++) { final BatterySipper sipper = usageList.get(i); if ((sipper.totalPowerMah * SECONDS_IN_HOUR) < MIN_POWER_THRESHOLD_MILLI_AMP) { continue; } + double totalPower = USE_FAKE_DATA ? 4000 : mStatsHelper.getTotalPower(); final double percentOfTotal = - ((sipper.totalPowerMah / mStatsHelper.getTotalPower()) * dischargeAmount); + ((sipper.totalPowerMah / totalPower) * dischargeAmount); if (((int) (percentOfTotal + .5)) < 1) { continue; } @@ -243,6 +255,9 @@ public class PowerUsageSummary extends PowerUsageBase { if (sipper.uidObj != null) { pref.setKey(Integer.toString(sipper.uidObj.getUid())); } + if (sipper.drainType != DrainType.APP && sipper.drainType != DrainType.USER) { + pref.setTint(colorControl); + } addedSome = true; mAppListGroup.addPreference(pref); if (mAppListGroup.getPreferenceCount() > (MAX_ITEMS_TO_LIST + 1)) { @@ -257,6 +272,19 @@ public class PowerUsageSummary extends PowerUsageBase { BatteryEntry.startRequestQueue(); } + private static List getFakeStats() { + ArrayList stats = new ArrayList<>(); + float use = 5; + for (DrainType type : DrainType.values()) { + if (type == DrainType.APP) { + continue; + } + stats.add(new BatterySipper(type, null, use)); + use += 5; + } + return stats; + } + Handler mHandler = new Handler() { @Override diff --git a/src/com/android/settings/search/SearchIndexableResources.java b/src/com/android/settings/search/SearchIndexableResources.java index 8aba2038331..6a324ac74df 100644 --- a/src/com/android/settings/search/SearchIndexableResources.java +++ b/src/com/android/settings/search/SearchIndexableResources.java @@ -91,7 +91,7 @@ public final class SearchIndexableResources { Ranking.getRankForClassName(BluetoothSettings.class.getName()), NO_DATA_RES_ID, BluetoothSettings.class.getName(), - R.drawable.ic_settings_bluetooth2)); + R.drawable.ic_settings_bluetooth)); sResMap.put(SimSettings.class.getName(), new SearchIndexableResource(