Changes for public API of Bluetooth Discoverability.

1. Apps can ask for any time between 0 and 3600 secs
2. O implies always discoverable
3. Any invalid values will default to the defaul - 120 secs.

Change-Id: Ife1bc803587ba975bb103a5ba7629d4a382cd705
This commit is contained in:
Jaikumar Ganesh
2011-02-01 19:58:29 -08:00
parent 1b0489cb3e
commit d955af8461
3 changed files with 7 additions and 17 deletions

View File

@@ -256,8 +256,8 @@
<string name="bluetooth_ask_discovery" product="default">"An application on your phone is requesting permission to make your phone discoverable by other Bluetooth devices for <xliff:g id="timeout">%1$d</xliff:g> seconds. Do you want to do this?"</string>
<!-- Strings for asking to the user whether to allow an app to enable lasting discovery mode -->
<string name="bluetooth_ask_lasting_discovery" product="tablet">"An application on your tablet is requesting permission to make your tablet always discoverable by other Bluetooth devices. Do you want to do this?"</string>
<string name="bluetooth_ask_lasting_discovery" product="default">"An application on your phone is requesting permission to make your phone always discoverable by other Bluetooth devices. Do you want to do this?"</string>
<string name="bluetooth_ask_lasting_discovery" product="tablet">"An application on your tablet is requesting permission to make your tablet \u201calways discoverable\u201d by other Bluetooth devices. Do you want to do this?"</string>
<string name="bluetooth_ask_lasting_discovery" product="default">"An application on your phone is requesting permission to make your phone \u201calways discoverable\u201d by other Bluetooth devices. Do you want to do this?"</string>
<!-- Strings for asking to the user whether to allow an app to enable bluetooth and discovery mode -->
<string name="bluetooth_ask_enablement_and_discovery" product="tablet">"An application on your tablet is requesting permission to turn on Bluetooth and to make your tablet discoverable by other devices for <xliff:g id="timeout">%1$d</xliff:g> seconds. Do you want to do this?"</string>

View File

@@ -56,8 +56,6 @@ public class BluetoothDiscoverableEnabler implements Preference.OnPreferenceChan
private static final String VALUE_DISCOVERABLE_TIMEOUT_ONE_HOUR = "onehour";
private static final String VALUE_DISCOVERABLE_TIMEOUT_NEVER = "never";
// no need for this timeout anymore since we have the listPreference default value
// leaving now temporary until requestpermissionactivity is modified..
static final int DEFAULT_DISCOVERABLE_TIMEOUT = DISCOVERABLE_TIMEOUT_TWO_MINUTES;
private final Context mContext;

View File

@@ -43,7 +43,7 @@ public class RequestPermissionActivity extends Activity implements
private static final String TAG = "RequestPermissionActivity";
private static final int MAX_DISCOVERABLE_TIMEOUT = 300;
private static final int MAX_DISCOVERABLE_TIMEOUT = 3600; // 1 hr
// Non-error return code: BT is starting or has started successfully. Used
// by this Activity and RequestPermissionHelperActivity
@@ -158,13 +158,12 @@ public class RequestPermissionActivity extends Activity implements
} else {
// Ask the user whether to turn on discovery mode or not
// For lasting discoverable mode there is a different message
// TODO(): Revisit this when public APIs for discoverable timeout are introduced.
if (mTimeout == BluetoothDiscoverableEnabler.DISCOVERABLE_TIMEOUT_NEVER) {
builder.setMessage(
getString(R.string.bluetooth_ask_enablement_and_lasting_discovery));
getString(R.string.bluetooth_ask_lasting_discovery));
} else {
builder.setMessage(
getString(R.string.bluetooth_ask_enablement_and_discovery, mTimeout));
getString(R.string.bluetooth_ask_discovery, mTimeout));
}
builder.setPositiveButton(getString(R.string.yes), this);
builder.setNegativeButton(getString(R.string.no), this);
@@ -249,16 +248,9 @@ public class RequestPermissionActivity extends Activity implements
mTimeout = intent.getIntExtra(BluetoothAdapter.EXTRA_DISCOVERABLE_DURATION,
BluetoothDiscoverableEnabler.DEFAULT_DISCOVERABLE_TIMEOUT);
Log.e(TAG, "Timeout = " + mTimeout);
Log.d(TAG, "Setting Bluetooth Discoverable Timeout = " + mTimeout);
// Right now assuming for simplicity that an app can pick any int value,
// and if equal to BluetoothDiscoverableEnabler.DISCOVERABLE_TIMEOUT_NEVER
// it will be treated as a request for lasting discoverability.
// Alternatively, a check can be added here for enforcing the specific allowed values
// as listed in BluetoothDiscoverableEnabler.
// We need to make all these value public.
if (mTimeout <= 0) {
if (mTimeout < 0 || mTimeout > MAX_DISCOVERABLE_TIMEOUT) {
mTimeout = BluetoothDiscoverableEnabler.DEFAULT_DISCOVERABLE_TIMEOUT;
}
} else {