From 01f172366c86623cc45a1b9a810dda86c595eb19 Mon Sep 17 00:00:00 2001 From: The Android Open Source Project Date: Tue, 20 Jan 2009 14:04:01 -0800 Subject: [PATCH] auto import from //branches/cupcake/...@127101 --- res/drawable/ic_menu_archive.png | Bin 1354 -> 0 bytes res/drawable/ic_menu_goto.png | Bin 1636 -> 0 bytes .../settings/bluetooth/BluetoothSettings.java | 2 +- .../ConnectSpecificProfilesActivity.java | 8 +- .../bluetooth/LocalBluetoothDevice.java | 8 +- .../LocalBluetoothProfileManager.java | 87 ++++++------------ .../settings/quicklaunch/BookmarkPicker.java | 4 +- 7 files changed, 43 insertions(+), 66 deletions(-) delete mode 100644 res/drawable/ic_menu_archive.png delete mode 100644 res/drawable/ic_menu_goto.png diff --git a/res/drawable/ic_menu_archive.png b/res/drawable/ic_menu_archive.png deleted file mode 100644 index a4599e37a063394c74fd83c3d255918431941641..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1354 zcmV-Q1-1H#P)`6pHRCwC#S>EU5HO5hL&7%XpV*!5}StB>BVvHg(m$M3MHE!3Wc0{XfHkWl8|29Lklsu zhb;-L3<-GYww0WfSA8>j($2~neb~u{P>npy+mUAUe(!r^EeHa5m0Jy7@m2w-08{`f z057-cig}H|=``j6<;i4>-KTNe&pD1W z-~Fch-rAM5pU9ko63mau^n5bO@ks#8u?7R%w1JOk9^f(;EWFU9z|f7*Z2WMZH_NwR zP#?hF-rk$tuex&xaD-hj!SM2gLew;}eR$)u8$ToU4}l*Q5kOWH3MGuq#Y->?A@c$R z2c=KuIn5Y@-s9e8uh#?Db7Sp@5%THv57+yhw>xVapKjbIEgT*fKxo@|F_?ge9hMma zTm+EOWu3F2eXb4O-=S1FP;&5ieHtB&gQtUe=ZW(<-nvMZZ~_4Skth@T0!rCznA`Ys zJIR1BG5*^$rT`ai3&2hA0I5^N!JHJ)QX^ZY2E-N-kcMEs-+rUL)p@J4OZKTf=cpLv zlP2Y%L-K_KResS6$0`J3+qPi-))%){G2*=QqGG#nY%l)#SF6>!d-Kbichj_xX+mNn zKX&FHmd`KmZf$ODI!~R|$PZ#?l*f}aKlCa7$3ry_2E9Lf7x?=nE#w1`na2dh?fO@` zb;&+!gY}vf-jf_XqSNMz(rImf$n&D`i&{A!pe)NTlbL;bS<|*`;mjfuNeo9!#B)BI zfGk1-OBI3$Afdl$#mi~gfytb(KAIOVWNZq$EXk=ky(FD7^7}{+Rb@u4kV7GW%kN*_ z#sp=HGJ+%*-HS#UEZ1DLJ_4qsNy}+#$**=PA_e6V8E$0aHSh-$=KP6@W#*Hh#4~<& z`7lK*)=D{PTuKA+2B9N!3BbcY9xe)dl{ZgnE1|jMUa9k0Yq?+=Y+F^}WUL;>AhgjKmpR4&ut#!8bsJstIo1+Sa2Cz(C#Gq8%5A>90l4k@zd%Zhy zVddSGN2(KAEieA>yZhXfhEaWQ>gH6boLM&e1?c<$FqEW!j6^o@VCVOp#p|D3|A^N_ zLV8qAap{P&z{rh%3qT{H<#`nyJrC3K@j0Y!D3e$*6T&C3`V`Dt4QnF#1oIInV}x^c zHy-2XR5XDQ&%^XQ)WiK$(l3^YO_QI%Qj=GjDajIzHI+qY?8TpBO?47enNT1W=rC2{ z%4gtGQAb5*`GPc$nvXtN21Nnz1#g6i zK2_=p{O-zym1}7G-{HxtIrC4>6L8?5F7Kz${xpQupX1 z*MaI2i>CNDYc274U4z-TvGj3E8HKd!|HKu53P1&*0`R{E@Sgw!0E4eF`dICuasU7T M07*qoM6N<$g28)?i~s-t diff --git a/res/drawable/ic_menu_goto.png b/res/drawable/ic_menu_goto.png deleted file mode 100644 index 40183ebc2f7a3018fb837329bd39d776f523fece..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1636 zcmV-q2AlbbP)p>*+n zj)Lat+$xa=4*(VR0r91R=Vu^hkaKT=P`apm;Q08srl+Sze|~-*lbxMiRasd%0lyz0 zn3|dzhaj4po4w`(O!**_$&{qm>t9(cmJfV&Ky_)7Wd z>FK1-&d#49Z)j6fQ%PoKCW(xU6ecDn3;^OIDG1Chw&D!{*Oc$*=omodQ&Lh$XlN)A z1c9WbrICn;2w`$^@*0SimKNUI7I3J1NJt3r^YbG-&l9CmNs^P3iCV4xk0tDYz-KC` z-zn(1$AhzD-YbU%j*GN`xfT@-3kwsKS11&ODwupiNlai8% z)oK;S#>Ncr-!Do_OaC$$4DXMOjOc@cf&_4Sw4{bwcIJhgoFeF77ziTRVDS*-B?4T8#Kg~GRS$6WoV5Z9`VA_M7Q`c-)76i; zYXH|kKv+Z&I#j?N5NHh+1dv{mcXOVCxGf4?fyl|pF+x;&&Zq#6=#dN$4{PLzLe4zk z3Pe#+Q4b`vI<$hTmauj5jg1YB95ixv1u$Elg6!qz=j*`|b!Y{5Eg>cvj^pnW0I8^` zu+Z*nub`ly7c9|$bV6|z07fMUuW|PZfQC;-r<20M!e7m1^NZu-W49;-|Bdwq0FLGk z6_m~yP%eDBxw%Q8Lvxuzk_`e*?nGvHU~R|BZ0HZNhK7b-1P2ETSfQd)tk832AcX*Q zv>ahn>7un%O-)TtjYgv(ARs`1mQthxT1T?7PSs1eDR8eAU>()c($ZIu)C7Aawkvd` zJ;l8OKn*R>jQkF(9|F}S2g)N2Vi>oXFW`~QvC+Y~^oSOK8Yx=R%&<0-m*gIcGn;0d z3oFOkLO&`#l9%!`Gc%gq-Cayh94HxbbaeFIKjEGuPy{}~BMMy8V!r_Qnjkb6(9q0F zp2^WJ?v!3TqhKyQ0#H&?Li+prS@KcX)H2d7N8ZjBr0q2eRT7V?hK7cZXJ==10Qw1n z0}KC|nwr|z*x2|R?XAtUe|8^0ad9!rpd#-X_wgJ;Dkt$1M?!4oVnliR>3-$CvfZL^}xVD72LN=L0CNoa3dcj%|4s6V_#pNZQmVKUteEfGMQfDh5;&% zr3u?K*x%nL>+9(4I-Ty1sHmu)(2;Ss8>xhXb97>ePOsq}!%bU|-lEVYYg4PLs=gi^9Grq^^CdX2 zmTt+sfn?SXEi5X(NAIkbW0000 { Context context = mLocalManager.getContext(); boolean hasAtLeastOnePreferredProfile = false; for (Profile profile : mProfiles) { - if (LocalBluetoothProfileManager.isPreferredProfile(context, mAddress, profile)) { + LocalBluetoothProfileManager profileManager = + LocalBluetoothProfileManager.getProfileManager(mLocalManager, profile); + if (profileManager.isPreferred(mAddress)) { hasAtLeastOnePreferredProfile = true; connect(profile); } @@ -163,7 +165,9 @@ public class LocalBluetoothDevice implements Comparable { Context context = mLocalManager.getContext(); for (Profile profile : mProfiles) { - LocalBluetoothProfileManager.setPreferredProfile(context, mAddress, profile, true); + LocalBluetoothProfileManager profileManager = + LocalBluetoothProfileManager.getProfileManager(mLocalManager, profile); + profileManager.setPreferred(mAddress, true); connect(profile); } } diff --git a/src/com/android/settings/bluetooth/LocalBluetoothProfileManager.java b/src/com/android/settings/bluetooth/LocalBluetoothProfileManager.java index f9b51d67d11..a1a2af60c09 100644 --- a/src/com/android/settings/bluetooth/LocalBluetoothProfileManager.java +++ b/src/com/android/settings/bluetooth/LocalBluetoothProfileManager.java @@ -69,26 +69,6 @@ public abstract class LocalBluetoothProfileManager { return profileManager; } - // TODO: remove once the framework has this API - public static boolean isPreferredProfile(Context context, String address, Profile profile) { - return getPreferredProfileSharedPreferences(context).getBoolean( - getPreferredProfileKey(address, profile), true); - } - - public static void setPreferredProfile(Context context, String address, Profile profile, - boolean preferred) { - getPreferredProfileSharedPreferences(context).edit().putBoolean( - getPreferredProfileKey(address, profile), preferred).commit(); - } - - private static SharedPreferences getPreferredProfileSharedPreferences(Context context) { - return context.getSharedPreferences("bluetooth_preferred_profiles", Context.MODE_PRIVATE); - } - - private static String getPreferredProfileKey(String address, Profile profile) { - return address + "_" + profile.toString(); - } - /** * Temporary method to fill profiles based on a device's class. * @@ -98,11 +78,11 @@ public abstract class LocalBluetoothProfileManager { public static void fill(int btClass, List profiles) { profiles.clear(); - if (A2dpProfileManager.doesClassMatch(btClass)) { + if (BluetoothA2dp.doesClassMatchSink(btClass)) { profiles.add(Profile.A2DP); } - if (HeadsetProfileManager.doesClassMatch(btClass)) { + if (BluetoothHeadset.doesClassMatch(btClass)) { profiles.add(Profile.HEADSET); } } @@ -119,6 +99,10 @@ public abstract class LocalBluetoothProfileManager { public abstract int getSummary(String address); + public abstract boolean isPreferred(String address); + + public abstract void setPreferred(String address, boolean preferred); + public boolean isConnected(String address) { return SettingsBtStatus.isConnectionStatusConnected(getConnectionStatus(address)); } @@ -156,26 +140,6 @@ public abstract class LocalBluetoothProfileManager { return mService.disconnectSink(address); } - static boolean doesClassMatch(int btClass) { - if (BluetoothClass.Service.hasService(btClass, BluetoothClass.Service.RENDER)) { - return true; - } - - // By the specification A2DP sinks must indicate the RENDER service - // class, but some do not (Chordette). So match on a few more to be - // safe - switch (BluetoothClass.Device.getDevice(btClass)) { - case BluetoothClass.Device.AUDIO_VIDEO_HIFI_AUDIO: - case BluetoothClass.Device.AUDIO_VIDEO_HEADPHONES: - case BluetoothClass.Device.AUDIO_VIDEO_LOUDSPEAKER: - case BluetoothClass.Device.AUDIO_VIDEO_CAR_AUDIO: - return true; - - default: - return false; - } - } - @Override public int getConnectionStatus(String address) { return convertState(mService.getSinkState(address)); @@ -184,7 +148,7 @@ public abstract class LocalBluetoothProfileManager { @Override public int getSummary(String address) { int connectionStatus = getConnectionStatus(address); - + if (SettingsBtStatus.isConnectionStatusConnected(connectionStatus)) { return R.string.bluetooth_a2dp_profile_summary_connected; } else { @@ -192,6 +156,17 @@ public abstract class LocalBluetoothProfileManager { } } + @Override + public boolean isPreferred(String address) { + return mService.getSinkPriority(address) > BluetoothA2dp.PRIORITY_OFF; + } + + @Override + public void setPreferred(String address, boolean preferred) { + mService.setSinkPriority(address, + preferred ? BluetoothA2dp.PRIORITY_AUTO : BluetoothA2dp.PRIORITY_OFF); + } + private static int convertState(int a2dpState) { switch (a2dpState) { case BluetoothA2dp.STATE_CONNECTED: @@ -246,7 +221,7 @@ public abstract class LocalBluetoothProfileManager { // Since connectHeadset fails if already connected to a headset, we // disconnect from any headset first mService.disconnectHeadset(); - return mService.connectHeadset(address, null) + return mService.connectHeadset(address) ? BluetoothError.SUCCESS : BluetoothError.ERROR; } @@ -259,18 +234,6 @@ public abstract class LocalBluetoothProfileManager { } } - static boolean doesClassMatch(int btClass) { - switch (BluetoothClass.Device.getDevice(btClass)) { - case BluetoothClass.Device.AUDIO_VIDEO_HANDSFREE: - case BluetoothClass.Device.AUDIO_VIDEO_WEARABLE_HEADSET: - case BluetoothClass.Device.AUDIO_VIDEO_CAR_AUDIO: - return true; - - default: - return false; - } - } - @Override public int getConnectionStatus(String address) { String headsetAddress = mService.getHeadsetAddress(); @@ -290,6 +253,17 @@ public abstract class LocalBluetoothProfileManager { } } + @Override + public boolean isPreferred(String address) { + return mService.getPriority(address) > BluetoothHeadset.PRIORITY_OFF; + } + + @Override + public void setPreferred(String address, boolean preferred) { + mService.setPriority(address, + preferred ? BluetoothHeadset.PRIORITY_AUTO : BluetoothHeadset.PRIORITY_OFF); + } + private static int convertState(int headsetState) { switch (headsetState) { case BluetoothHeadset.STATE_CONNECTED: @@ -303,5 +277,4 @@ public abstract class LocalBluetoothProfileManager { } } } - } diff --git a/src/com/android/settings/quicklaunch/BookmarkPicker.java b/src/com/android/settings/quicklaunch/BookmarkPicker.java index 5c5ab404593..7152abbaa61 100644 --- a/src/com/android/settings/quicklaunch/BookmarkPicker.java +++ b/src/com/android/settings/quicklaunch/BookmarkPicker.java @@ -101,9 +101,9 @@ public class BookmarkPicker extends ListActivity implements SimpleAdapter.ViewBi @Override public boolean onCreateOptionsMenu(Menu menu) { menu.add(0, DISPLAY_MODE_LAUNCH, 0, R.string.quick_launch_display_mode_applications) - .setIcon(R.drawable.ic_menu_archive); + .setIcon(com.android.internal.R.drawable.ic_menu_archive); menu.add(0, DISPLAY_MODE_SHORTCUT, 0, R.string.quick_launch_display_mode_shortcuts) - .setIcon(R.drawable.ic_menu_goto); + .setIcon(com.android.internal.R.drawable.ic_menu_goto); return true; }