diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml
new file mode 100644
index 0000000..22bce9e
--- /dev/null
+++ b/.idea/inspectionProfiles/Project_Default.xml
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/inspectionProfiles/profiles_settings.xml b/.idea/inspectionProfiles/profiles_settings.xml
new file mode 100644
index 0000000..3b31283
--- /dev/null
+++ b/.idea/inspectionProfiles/profiles_settings.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/library/src/main/java/uk/co/alt236/bluetoothlelib/device/BluetoothLeDevice.java b/library/src/main/java/uk/co/alt236/bluetoothlelib/device/BluetoothLeDevice.java
index e8ed154..19d6e2a 100644
--- a/library/src/main/java/uk/co/alt236/bluetoothlelib/device/BluetoothLeDevice.java
+++ b/library/src/main/java/uk/co/alt236/bluetoothlelib/device/BluetoothLeDevice.java
@@ -47,11 +47,11 @@ public class BluetoothLeDevice implements Parcelable{
/** The Constant CREATOR. */
public static final Parcelable.Creator CREATOR = new Parcelable.Creator() {
- public BluetoothLeDevice createFromParcel(Parcel in) {
+ public BluetoothLeDevice createFromParcel(final Parcel in) {
return new BluetoothLeDevice(in);
}
- public BluetoothLeDevice[] newArray(int size) {
+ public BluetoothLeDevice[] newArray(final int size) {
return new BluetoothLeDevice[size];
}
};
@@ -64,7 +64,7 @@ public class BluetoothLeDevice implements Parcelable{
* @param scanRecord the scan record of the device
* @param timestamp the timestamp of the RSSI reading
*/
- public BluetoothLeDevice(BluetoothDevice device, int rssi, byte[] scanRecord, long timestamp){
+ public BluetoothLeDevice(final BluetoothDevice device, final int rssi, final byte[] scanRecord, final long timestamp){
mDevice = device;
mFirstRssi = rssi;
mFirstTimestamp = timestamp;
@@ -79,7 +79,7 @@ public class BluetoothLeDevice implements Parcelable{
*
* @param device the device
*/
- public BluetoothLeDevice(BluetoothLeDevice device) {
+ public BluetoothLeDevice(final BluetoothLeDevice device) {
mCurrentRssi = device.getRssi();
mCurrentTimestamp = device.getTimestamp();
mDevice = device.getDevice();
@@ -97,7 +97,7 @@ public class BluetoothLeDevice implements Parcelable{
* @param in the in
*/
@SuppressWarnings("unchecked")
- protected BluetoothLeDevice(Parcel in) {
+ protected BluetoothLeDevice(final Parcel in) {
final Bundle b = in.readBundle(getClass().getClassLoader());
mCurrentRssi = b.getInt(PARCEL_EXTRA_CURRENT_RSSI, 0);
@@ -116,7 +116,7 @@ public class BluetoothLeDevice implements Parcelable{
* @param timestamp the timestamp
* @param rssiReading the rssi reading
*/
- private void addToRssiLog(long timestamp, int rssiReading){
+ private void addToRssiLog(final long timestamp, final int rssiReading){
synchronized (mRssiLog) {
if(timestamp - mCurrentTimestamp > LOG_INVALIDATION_THRESHOLD){
mRssiLog.clear();
@@ -140,14 +140,14 @@ public class BluetoothLeDevice implements Parcelable{
* @see java.lang.Object#equals(java.lang.Object)
*/
@Override
- public boolean equals(Object obj) {
+ public boolean equals(final Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
- BluetoothLeDevice other = (BluetoothLeDevice) obj;
+ final BluetoothLeDevice other = (BluetoothLeDevice) obj;
if (mCurrentRssi != other.mCurrentRssi)
return false;
if (mCurrentTimestamp != other.mCurrentTimestamp)
@@ -348,7 +348,7 @@ public class BluetoothLeDevice implements Parcelable{
* @param timestamp the timestamp
* @param rssiReading the rssi reading
*/
- public void updateRssiReading(long timestamp, int rssiReading){
+ public void updateRssiReading(final long timestamp, final int rssiReading){
addToRssiLog(timestamp, rssiReading);
}
@@ -356,7 +356,7 @@ public class BluetoothLeDevice implements Parcelable{
* @see android.os.Parcelable#writeToParcel(android.os.Parcel, int)
*/
@Override
- public void writeToParcel(Parcel parcel, int arg1) {
+ public void writeToParcel(final Parcel parcel, final int arg1) {
final Bundle b = new Bundle(getClass().getClassLoader());
b.putByteArray(PARCEL_EXTRA_DEVICE_SCANRECORD, mScanRecord);
@@ -380,7 +380,7 @@ public class BluetoothLeDevice implements Parcelable{
* @param bondState the bond state
* @return the string
*/
- private static String resolveBondingState(int bondState){
+ private static String resolveBondingState(final int bondState){
switch (bondState){
case BluetoothDevice.BOND_BONDED:
return "Paired";
diff --git a/library/src/main/java/uk/co/alt236/bluetoothlelib/device/IBeaconDevice.java b/library/src/main/java/uk/co/alt236/bluetoothlelib/device/IBeaconDevice.java
index 8cd3542..149ecf9 100644
--- a/library/src/main/java/uk/co/alt236/bluetoothlelib/device/IBeaconDevice.java
+++ b/library/src/main/java/uk/co/alt236/bluetoothlelib/device/IBeaconDevice.java
@@ -19,7 +19,7 @@ public class IBeaconDevice extends BluetoothLeDevice{
* @param scanRecord the scanRecord
* @throws IllegalArgumentException if the passed device is not an iBeacon
*/
- public IBeaconDevice(BluetoothDevice device, int rssi, byte[] scanRecord) {
+ public IBeaconDevice(final BluetoothDevice device, final int rssi, final byte[] scanRecord) {
super(device, rssi, scanRecord, 0);
validate();
mIBeaconData = new IBeaconManufacturerData(this);
@@ -34,7 +34,7 @@ public class IBeaconDevice extends BluetoothLeDevice{
* @param timestamp the timestamp of the RSSI measurement
* @throws IllegalArgumentException if the passed device is not an iBeacon
*/
- public IBeaconDevice(BluetoothDevice device, int rssi, byte[] scanRecord, long timestamp){
+ public IBeaconDevice(final BluetoothDevice device, final int rssi, final byte[] scanRecord, final long timestamp){
super(device, rssi, scanRecord, timestamp);
validate();
mIBeaconData = new IBeaconManufacturerData(this);
@@ -47,13 +47,13 @@ public class IBeaconDevice extends BluetoothLeDevice{
* @param device the device
* @throws IllegalArgumentException if the passed device is not an iBeacon
*/
- public IBeaconDevice(BluetoothLeDevice device){
+ public IBeaconDevice(final BluetoothLeDevice device){
super(device);
validate();
mIBeaconData = new IBeaconManufacturerData(this);
}
- private IBeaconDevice(Parcel in) {
+ private IBeaconDevice(final Parcel in) {
super(in);
validate();
mIBeaconData = new IBeaconManufacturerData(this);
diff --git a/library/src/main/java/uk/co/alt236/bluetoothlelib/device/adrecord/AdRecord.java b/library/src/main/java/uk/co/alt236/bluetoothlelib/device/adrecord/AdRecord.java
index ac8cc0c..2db5558 100644
--- a/library/src/main/java/uk/co/alt236/bluetoothlelib/device/adrecord/AdRecord.java
+++ b/library/src/main/java/uk/co/alt236/bluetoothlelib/device/adrecord/AdRecord.java
@@ -136,22 +136,22 @@ public final class AdRecord implements Parcelable{
public static final Parcelable.Creator CREATOR = new Parcelable.Creator() {
- public AdRecord createFromParcel(Parcel in) {
+ public AdRecord createFromParcel(final Parcel in) {
return new AdRecord(in);
}
- public AdRecord[] newArray(int size) {
+ public AdRecord[] newArray(final int size) {
return new AdRecord[size];
}
};
- public AdRecord(int length, int type, byte[] data) {
+ public AdRecord(final int length, final int type, final byte[] data) {
mLength = length;
mType = type;
mData = data;
}
- public AdRecord(Parcel in) {
+ public AdRecord(final Parcel in) {
final Bundle b = in.readBundle(getClass().getClassLoader());
mLength = b.getInt(PARCEL_RECORD_LENGTH);
mType = b.getInt(PARCEL_RECORD_TYPE);
@@ -185,7 +185,7 @@ public final class AdRecord implements Parcelable{
}
@Override
- public void writeToParcel(Parcel parcel, int arg1) {
+ public void writeToParcel(final Parcel parcel, final int arg1) {
final Bundle b = new Bundle(getClass().getClassLoader());
b.putInt(PARCEL_RECORD_LENGTH, mLength);
@@ -195,7 +195,7 @@ public final class AdRecord implements Parcelable{
parcel.writeBundle(b);
}
- private static String getHumanReadableAdType(int type){
+ private static String getHumanReadableAdType(final int type){
switch(type){
case TYPE_CONNECTION_INTERVAL_RANGE:
return "Slave Connection Interval Range";
diff --git a/library/src/main/java/uk/co/alt236/bluetoothlelib/device/adrecord/AdRecordStore.java b/library/src/main/java/uk/co/alt236/bluetoothlelib/device/adrecord/AdRecordStore.java
index 21b5984..2f77d64 100644
--- a/library/src/main/java/uk/co/alt236/bluetoothlelib/device/adrecord/AdRecordStore.java
+++ b/library/src/main/java/uk/co/alt236/bluetoothlelib/device/adrecord/AdRecordStore.java
@@ -19,16 +19,16 @@ public class AdRecordStore implements Parcelable{
private final String mLocalNameShort;
public static final Parcelable.Creator CREATOR = new Parcelable.Creator() {
- public AdRecordStore createFromParcel(Parcel in) {
+ public AdRecordStore createFromParcel(final Parcel in) {
return new AdRecordStore(in);
}
- public AdRecordStore[] newArray(int size) {
+ public AdRecordStore[] newArray(final int size) {
return new AdRecordStore[size];
}
};
- public AdRecordStore(Parcel in) {
+ public AdRecordStore(final Parcel in) {
final Bundle b = in.readBundle(getClass().getClassLoader());
mAdRecords = b.getSparseParcelableArray("records_array");
mLocalNameComplete = b.getString("local_name_complete");
@@ -83,7 +83,7 @@ public class AdRecordStore implements Parcelable{
* @param record the record
* @return the record
*/
- public AdRecord getRecord(int record){
+ public AdRecord getRecord(final int record){
return mAdRecords.get(record);
}
@@ -93,7 +93,7 @@ public class AdRecordStore implements Parcelable{
* @param record the record
* @return the record data as string
*/
- public String getRecordDataAsString(int record){
+ public String getRecordDataAsString(final int record){
return AdRecordUtils.getRecordDataAsString(
mAdRecords.get(record));
}
@@ -113,7 +113,7 @@ public class AdRecordStore implements Parcelable{
* @param record the record
* @return true, if is record present
*/
- public boolean isRecordPresent(int record){
+ public boolean isRecordPresent(final int record){
return mAdRecords.indexOfKey(record) >= 0;
}
@@ -129,7 +129,7 @@ public class AdRecordStore implements Parcelable{
* @see android.os.Parcelable#writeToParcel(android.os.Parcel, int)
*/
@Override
- public void writeToParcel(Parcel parcel, int arg1) {
+ public void writeToParcel(final Parcel parcel, final int arg1) {
final Bundle b = new Bundle();
b.putString("local_name_complete", mLocalNameComplete);
b.putString("local_name_short", mLocalNameShort);
@@ -145,7 +145,7 @@ public class AdRecordStore implements Parcelable{
* @param sparseArray the sparse array
* @return the collection
*/
- public static Collection asList(SparseArray sparseArray) {
+ public static Collection asList(final SparseArray sparseArray) {
if (sparseArray == null) return null;
final Collection arrayList = new ArrayList(sparseArray.size());
diff --git a/library/src/main/java/uk/co/alt236/bluetoothlelib/device/mfdata/IBeaconManufacturerData.java b/library/src/main/java/uk/co/alt236/bluetoothlelib/device/mfdata/IBeaconManufacturerData.java
index 2bb555e..4fbd088 100644
--- a/library/src/main/java/uk/co/alt236/bluetoothlelib/device/mfdata/IBeaconManufacturerData.java
+++ b/library/src/main/java/uk/co/alt236/bluetoothlelib/device/mfdata/IBeaconManufacturerData.java
@@ -53,7 +53,7 @@ public final class IBeaconManufacturerData {
private final int mMinor;
private final String mUUID;
- public IBeaconManufacturerData(BluetoothLeDevice device){
+ public IBeaconManufacturerData(final BluetoothLeDevice device){
this(device.getAdRecordStore().getRecord(AdRecord.TYPE_MANUFACTURER_SPECIFIC_DATA).getData());
}
@@ -63,7 +63,7 @@ public final class IBeaconManufacturerData {
* @param data the {@link uk.co.alt236.bluetoothlelib.device.adrecord.AdRecord#TYPE_MANUFACTURER_SPECIFIC_DATA} data array
* @throws IndexOutOfBoundsException if the data array is shorter than expected
*/
- public IBeaconManufacturerData(byte[] data){
+ public IBeaconManufacturerData(final byte[] data){
mData = data;
mCompanyIdentidier = ByteUtils.getIntFrom2ByteArray(
diff --git a/library/src/main/java/uk/co/alt236/bluetoothlelib/resolvers/BluetoothClassResolver.java b/library/src/main/java/uk/co/alt236/bluetoothlelib/resolvers/BluetoothClassResolver.java
index 46a408d..ebe0229 100644
--- a/library/src/main/java/uk/co/alt236/bluetoothlelib/resolvers/BluetoothClassResolver.java
+++ b/library/src/main/java/uk/co/alt236/bluetoothlelib/resolvers/BluetoothClassResolver.java
@@ -4,7 +4,7 @@ import android.bluetooth.BluetoothClass;
public class BluetoothClassResolver {
- public static String resolveDeviceClass(int btClass){
+ public static String resolveDeviceClass(final int btClass){
switch (btClass){
case BluetoothClass.Device.AUDIO_VIDEO_CAMCORDER:
return "A/V, Camcorder";
diff --git a/library/src/main/java/uk/co/alt236/bluetoothlelib/resolvers/CompanyIdentifierResolver.java b/library/src/main/java/uk/co/alt236/bluetoothlelib/resolvers/CompanyIdentifierResolver.java
index 231cfad..be98d99 100644
--- a/library/src/main/java/uk/co/alt236/bluetoothlelib/resolvers/CompanyIdentifierResolver.java
+++ b/library/src/main/java/uk/co/alt236/bluetoothlelib/resolvers/CompanyIdentifierResolver.java
@@ -318,7 +318,7 @@ public class CompanyIdentifierResolver {
private static final SparseArray COMPANY_NAME_MAP = populateCompanyNameMap();
- public static String getCompanyName(int companyId, String fallback){
+ public static String getCompanyName(final int companyId, final String fallback){
final String name = COMPANY_NAME_MAP.get(companyId);
return name == null ? fallback : name;
}
diff --git a/library/src/main/java/uk/co/alt236/bluetoothlelib/resolvers/GattAttributeResolver.java b/library/src/main/java/uk/co/alt236/bluetoothlelib/resolvers/GattAttributeResolver.java
index a30cca8..d6bf34c 100644
--- a/library/src/main/java/uk/co/alt236/bluetoothlelib/resolvers/GattAttributeResolver.java
+++ b/library/src/main/java/uk/co/alt236/bluetoothlelib/resolvers/GattAttributeResolver.java
@@ -195,7 +195,7 @@ public class GattAttributeResolver {
private final static Map sGattAttributesMap = populateGattAttributesMap();
- public static String getAttributeName(String uuid, String fallback){
+ public static String getAttributeName(final String uuid, final String fallback){
final String name = sGattAttributesMap.get(uuid.toLowerCase(Locale.US));
return name == null ? fallback : name;
}
diff --git a/library/src/main/java/uk/co/alt236/bluetoothlelib/util/AdRecordUtils.java b/library/src/main/java/uk/co/alt236/bluetoothlelib/util/AdRecordUtils.java
index 2509751..c66c9f4 100644
--- a/library/src/main/java/uk/co/alt236/bluetoothlelib/util/AdRecordUtils.java
+++ b/library/src/main/java/uk/co/alt236/bluetoothlelib/util/AdRecordUtils.java
@@ -93,7 +93,7 @@ public class AdRecordUtils {
return Collections.unmodifiableMap(records);
}
- public static SparseArray parseScanRecordAsSparseArray(byte[] scanRecord) {
+ public static SparseArray parseScanRecordAsSparseArray(final byte[] scanRecord) {
final SparseArray records = new SparseArray();
int index = 0;
diff --git a/library/src/main/java/uk/co/alt236/bluetoothlelib/util/ByteUtils.java b/library/src/main/java/uk/co/alt236/bluetoothlelib/util/ByteUtils.java
index 7745688..226d11e 100644
--- a/library/src/main/java/uk/co/alt236/bluetoothlelib/util/ByteUtils.java
+++ b/library/src/main/java/uk/co/alt236/bluetoothlelib/util/ByteUtils.java
@@ -40,7 +40,7 @@ public class ByteUtils {
* @param prefix the prefix
* @return true, if successful
*/
- public static boolean doesArrayBeginWith(byte[] array, byte[] prefix){
+ public static boolean doesArrayBeginWith(final byte[] array, final byte[] prefix){
if(array.length < prefix.length){return false;}
for(int i = 0; i < prefix.length; i++){
@@ -58,7 +58,7 @@ public class ByteUtils {
* @param input the input
* @return the int from the array
*/
- public static int getIntFrom2ByteArray(byte[] input){
+ public static int getIntFrom2ByteArray(final byte[] input){
final byte[] result = new byte[4];
result[0] = 0;
@@ -108,7 +108,7 @@ public class ByteUtils {
* @param array the array
* @return the byte[]
*/
- public static byte[] invertArray(byte[] array){
+ public static byte[] invertArray(final byte[] array){
final int size = array.length;
byte temp;
diff --git a/library/src/main/java/uk/co/alt236/bluetoothlelib/util/IBeaconUtils.java b/library/src/main/java/uk/co/alt236/bluetoothlelib/util/IBeaconUtils.java
index 92cc185..7343809 100644
--- a/library/src/main/java/uk/co/alt236/bluetoothlelib/util/IBeaconUtils.java
+++ b/library/src/main/java/uk/co/alt236/bluetoothlelib/util/IBeaconUtils.java
@@ -10,7 +10,7 @@ public class IBeaconUtils {
private static final byte[] MANUFACTURER_DATA_IBEACON_PREFIX = new byte[]{0x4C, 0x00, 0x02, 0x15};
- public static IBeaconDistanceDescriptor getDistanceDescriptor(double accuracy){
+ public static IBeaconDistanceDescriptor getDistanceDescriptor(final double accuracy){
if(accuracy < DISTANCE_THRESHOLD_WTF){
return IBeaconDistanceDescriptor.UNKNOWN;
}
@@ -35,12 +35,12 @@ public class IBeaconUtils {
* @param rssi the RSSI value of the iBeacon
* @return the calculated Accuracy
*/
- public static double calculateAccuracy(int txPower, double rssi) {
+ public static double calculateAccuracy(final int txPower, final double rssi) {
if (rssi == 0) {
return -1.0; // if we cannot determine accuracy, return -1.
}
- double ratio = rssi*1.0/txPower;
+ final double ratio = rssi*1.0/txPower;
if (ratio < 1.0) {
return Math.pow(ratio,10);
}
@@ -56,7 +56,7 @@ public class IBeaconUtils {
* @param device a {@link uk.co.alt236.bluetoothlelib.device.BluetoothLeDevice} device.
* @return true if the device is an iBeacon, false otherwise
*/
- public static boolean isThisAnIBeacon(BluetoothLeDevice device){
+ public static boolean isThisAnIBeacon(final BluetoothLeDevice device){
return isThisAnIBeacon(
device.getAdRecordStore().getRecordDataAsString(AdRecord.TYPE_MANUFACTURER_SPECIFIC_DATA).getBytes());
}
@@ -67,7 +67,7 @@ public class IBeaconUtils {
* @param manufacturerData a Bluetooth LE device's raw manufacturerData.
* @return
*/
- public static boolean isThisAnIBeacon(byte[] manufacturerData){
+ public static boolean isThisAnIBeacon(final byte[] manufacturerData){
if(manufacturerData == null){return false;}
// An iBeacon record must be at least 25 chars long
diff --git a/library/src/main/java/uk/co/alt236/bluetoothlelib/util/LimitedLinkHashMap.java b/library/src/main/java/uk/co/alt236/bluetoothlelib/util/LimitedLinkHashMap.java
index a95cc35..251b812 100644
--- a/library/src/main/java/uk/co/alt236/bluetoothlelib/util/LimitedLinkHashMap.java
+++ b/library/src/main/java/uk/co/alt236/bluetoothlelib/util/LimitedLinkHashMap.java
@@ -8,13 +8,13 @@ public class LimitedLinkHashMap extends LinkedHashMap{
private final int mMaxSize;
- public LimitedLinkHashMap(int maxSize){
+ public LimitedLinkHashMap(final int maxSize){
super(maxSize + 1, 1, false);
mMaxSize = maxSize;
}
@Override
- protected boolean removeEldestEntry(Map.Entry eldest) {
+ protected boolean removeEldestEntry(final Map.Entry eldest) {
return this.size() > mMaxSize;
}
}
diff --git a/sample_app/src/main/java/uk/co/alt236/btlescan/activities/DeviceControlActivity.java b/sample_app/src/main/java/uk/co/alt236/btlescan/activities/DeviceControlActivity.java
index 314f41e..bd0063b 100644
--- a/sample_app/src/main/java/uk/co/alt236/btlescan/activities/DeviceControlActivity.java
+++ b/sample_app/src/main/java/uk/co/alt236/btlescan/activities/DeviceControlActivity.java
@@ -81,7 +81,7 @@ public class DeviceControlActivity extends Activity {
// Code to manage Service lifecycle.
private final ServiceConnection mServiceConnection = new ServiceConnection() {
@Override
- public void onServiceConnected(ComponentName componentName, IBinder service) {
+ public void onServiceConnected(final ComponentName componentName, final IBinder service) {
mBluetoothLeService = ((BluetoothLeService.LocalBinder) service).getService();
if (!mBluetoothLeService.initialize()) {
Log.e(TAG, "Unable to initialize Bluetooth");
@@ -92,7 +92,7 @@ public class DeviceControlActivity extends Activity {
}
@Override
- public void onServiceDisconnected(ComponentName componentName) {
+ public void onServiceDisconnected(final ComponentName componentName) {
mBluetoothLeService = null;
}
};
@@ -105,7 +105,7 @@ public class DeviceControlActivity extends Activity {
// this can be a result of read or notification operations.
private final BroadcastReceiver mGattUpdateReceiver = new BroadcastReceiver() {
@Override
- public void onReceive(Context context, Intent intent) {
+ public void onReceive(final Context context, final Intent intent) {
final String action = intent.getAction();
if (BluetoothLeService.ACTION_GATT_CONNECTED.equals(action)) {
mConnected = true;
@@ -138,7 +138,7 @@ public class DeviceControlActivity extends Activity {
// list of supported characteristic features.
private final ExpandableListView.OnChildClickListener servicesListClickListner = new ExpandableListView.OnChildClickListener() {
@Override
- public boolean onChildClick(ExpandableListView parent, View v, int groupPosition, int childPosition, long id) {
+ public boolean onChildClick(final ExpandableListView parent, final View v, final int groupPosition, final int childPosition, final long id) {
if (mGattCharacteristics != null) {
final BluetoothGattCharacteristic characteristic = mGattCharacteristics.get(groupPosition).get(childPosition);
final int charaProp = characteristic.getProperties();
@@ -169,7 +169,7 @@ public class DeviceControlActivity extends Activity {
mDataAsString.setText(R.string.no_data);
}
- private void generateExportString(List gattServices){
+ private void generateExportString(final List gattServices){
final String unknownServiceString = getResources().getString(R.string.unknown_service);
final String unknownCharaString = getResources().getString(R.string.unknown_characteristic);
final StringBuilder exportBuilder = new StringBuilder();
@@ -187,7 +187,7 @@ public class DeviceControlActivity extends Activity {
exportBuilder.append('\n');
String uuid = null;
- for (BluetoothGattService gattService : gattServices) {
+ for (final BluetoothGattService gattService : gattServices) {
uuid = gattService.getUuid().toString();
exportBuilder.append(GattAttributeResolver.getAttributeName(uuid, unknownServiceString));
@@ -221,7 +221,7 @@ public class DeviceControlActivity extends Activity {
// Demonstrates how to iterate through the supported GATT Services/Characteristics.
// In this sample, we populate the data structure that is bound to the ExpandableListView
// on the UI.
- private void displayGattServices(List gattServices) {
+ private void displayGattServices(final List gattServices) {
if (gattServices == null) return;
generateExportString(gattServices);
@@ -233,7 +233,7 @@ public class DeviceControlActivity extends Activity {
mGattCharacteristics = new ArrayList>();
// Loops through available GATT Services.
- for (BluetoothGattService gattService : gattServices) {
+ for (final BluetoothGattService gattService : gattServices) {
final Map currentServiceData = new HashMap();
uuid = gattService.getUuid().toString();
currentServiceData.put(LIST_NAME, GattAttributeResolver.getAttributeName(uuid, unknownServiceString));
@@ -275,7 +275,7 @@ public class DeviceControlActivity extends Activity {
}
@Override
- public void onCreate(Bundle savedInstanceState) {
+ public void onCreate(final Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_gatt_services);
@@ -298,7 +298,7 @@ public class DeviceControlActivity extends Activity {
}
@Override
- public boolean onCreateOptionsMenu(Menu menu) {
+ public boolean onCreateOptionsMenu(final Menu menu) {
getMenuInflater().inflate(R.menu.gatt_services, menu);
if (mConnected) {
menu.findItem(R.id.menu_connect).setVisible(false);
@@ -325,7 +325,7 @@ public class DeviceControlActivity extends Activity {
}
@Override
- public boolean onOptionsItemSelected(MenuItem item) {
+ public boolean onOptionsItemSelected(final MenuItem item) {
switch(item.getItemId()) {
case R.id.menu_connect:
mBluetoothLeService.connect(mDeviceAddress);
@@ -402,7 +402,7 @@ public class DeviceControlActivity extends Activity {
return intentFilter;
}
- private static String tryString(String string, String fallback){
+ private static String tryString(final String string, final String fallback){
if(string == null){
return fallback;
} else{
diff --git a/sample_app/src/main/java/uk/co/alt236/btlescan/activities/DeviceDetailsActivity.java b/sample_app/src/main/java/uk/co/alt236/btlescan/activities/DeviceDetailsActivity.java
index 6f0870b..343e113 100644
--- a/sample_app/src/main/java/uk/co/alt236/btlescan/activities/DeviceDetailsActivity.java
+++ b/sample_app/src/main/java/uk/co/alt236/btlescan/activities/DeviceDetailsActivity.java
@@ -28,7 +28,7 @@ public class DeviceDetailsActivity extends ListActivity{
private BluetoothLeDevice mDevice;
- private void appendAdRecordView(MergeAdapter adapter, String title, AdRecord record){
+ private void appendAdRecordView(final MergeAdapter adapter, final String title, final AdRecord record){
final LinearLayout lt = (LinearLayout) getLayoutInflater().inflate(R.layout.list_item_view_adrecord, null);
final TextView tvString = (TextView) lt.findViewById(R.id.data_as_string);
final TextView tvArray = (TextView) lt.findViewById(R.id.data_as_array);
@@ -41,7 +41,7 @@ public class DeviceDetailsActivity extends ListActivity{
adapter.addView(lt);
}
- private void appendDeviceInfo(MergeAdapter adapter, BluetoothLeDevice device){
+ private void appendDeviceInfo(final MergeAdapter adapter, final BluetoothLeDevice device){
final LinearLayout lt = (LinearLayout) getLayoutInflater().inflate(R.layout.list_item_view_device_info, null);
final TextView tvName = (TextView) lt.findViewById(R.id.deviceName);
final TextView tvAddress = (TextView) lt.findViewById(R.id.deviceAddress);
@@ -56,7 +56,7 @@ public class DeviceDetailsActivity extends ListActivity{
adapter.addView(lt);
}
- private void appendHeader(MergeAdapter adapter, String title){
+ private void appendHeader(final MergeAdapter adapter, final String title){
final LinearLayout lt = (LinearLayout) getLayoutInflater().inflate(R.layout.list_item_view_header, null);
final TextView tvTitle = (TextView) lt.findViewById(R.id.title);
tvTitle.setText(title);
@@ -64,7 +64,7 @@ public class DeviceDetailsActivity extends ListActivity{
adapter.addView(lt);
}
- private void appendIBeaconInfo(MergeAdapter adapter, IBeaconManufacturerData iBeaconData){
+ private void appendIBeaconInfo(final MergeAdapter adapter, final IBeaconManufacturerData iBeaconData){
final LinearLayout lt = (LinearLayout) getLayoutInflater().inflate(R.layout.list_item_view_ibeacon_details, null);
final TextView tvCompanyId = (TextView) lt.findViewById(R.id.companyId);
final TextView tvAdvert = (TextView) lt.findViewById(R.id.advertisement);
@@ -85,7 +85,7 @@ public class DeviceDetailsActivity extends ListActivity{
adapter.addView(lt);
}
- private void appendRssiInfo(MergeAdapter adapter, BluetoothLeDevice device){
+ private void appendRssiInfo(final MergeAdapter adapter, final BluetoothLeDevice device){
final LinearLayout lt = (LinearLayout) getLayoutInflater().inflate(R.layout.list_item_view_rssi_info, null);
final TextView tvFirstTimestamp = (TextView) lt.findViewById(R.id.firstTimestamp);
final TextView tvFirstRssi = (TextView) lt.findViewById(R.id.firstRssi);
@@ -102,11 +102,11 @@ public class DeviceDetailsActivity extends ListActivity{
adapter.addView(lt);
}
- private void appendSimpleText(MergeAdapter adapter, byte data[]){
+ private void appendSimpleText(final MergeAdapter adapter, final byte[] data){
appendSimpleText(adapter, ByteUtils.byteArrayToHexString(data));
}
- private void appendSimpleText(MergeAdapter adapter, String data){
+ private void appendSimpleText(final MergeAdapter adapter, final String data){
final LinearLayout lt = (LinearLayout) getLayoutInflater().inflate(R.layout.list_item_view_textview, null);
final TextView tvData = (TextView) lt.findViewById(R.id.data);
@@ -116,16 +116,16 @@ public class DeviceDetailsActivity extends ListActivity{
}
- private String formatRssi(double rssi){
+ private String formatRssi(final double rssi){
return getString(R.string.formatter_db, String.valueOf(rssi));
}
- private String formatRssi(int rssi){
+ private String formatRssi(final int rssi){
return getString(R.string.formatter_db, String.valueOf(rssi));
}
@Override
- protected void onCreate(Bundle savedInstanceState) {
+ protected void onCreate(final Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_details);
ButterKnife.inject(this);
@@ -136,13 +136,13 @@ public class DeviceDetailsActivity extends ListActivity{
}
@Override
- public boolean onCreateOptionsMenu(Menu menu) {
+ public boolean onCreateOptionsMenu(final Menu menu) {
getMenuInflater().inflate(R.menu.details, menu);
return true;
}
@Override
- public boolean onOptionsItemSelected(MenuItem item) {
+ public boolean onOptionsItemSelected(final MenuItem item) {
switch (item.getItemId()) {
case R.id.menu_connect:
@@ -156,7 +156,7 @@ public class DeviceDetailsActivity extends ListActivity{
return true;
}
- private void pupulateDetails(BluetoothLeDevice device) {
+ private void pupulateDetails(final BluetoothLeDevice device) {
final MergeAdapter adapter = new MergeAdapter();
if(device == null){
@@ -196,11 +196,11 @@ public class DeviceDetailsActivity extends ListActivity{
getListView().setAdapter(adapter);
}
- private static String formatTime(long time){
+ private static String formatTime(final long time){
return TimeFormatter.getIsoDateTime(time);
}
- private static String hexEncode(int integer){
+ private static String hexEncode(final int integer){
return "0x" + Integer.toHexString(integer).toUpperCase(Locale.US);
}
}
diff --git a/sample_app/src/main/java/uk/co/alt236/btlescan/activities/MainActivity.java b/sample_app/src/main/java/uk/co/alt236/btlescan/activities/MainActivity.java
index eb3a5cd..18b203e 100644
--- a/sample_app/src/main/java/uk/co/alt236/btlescan/activities/MainActivity.java
+++ b/sample_app/src/main/java/uk/co/alt236/btlescan/activities/MainActivity.java
@@ -37,7 +37,7 @@ public class MainActivity extends ListActivity {
private BluetoothAdapter.LeScanCallback mLeScanCallback = new BluetoothAdapter.LeScanCallback() {
@Override
- public void onLeScan(final BluetoothDevice device, int rssi, byte[] scanRecord) {
+ public void onLeScan(final BluetoothDevice device, final int rssi, final byte[] scanRecord) {
final BluetoothLeDevice deviceLe = new BluetoothLeDevice(device, rssi, scanRecord, System.currentTimeMillis());
mDeviceStore.addDevice(deviceLe);
@@ -53,7 +53,7 @@ public class MainActivity extends ListActivity {
}
};
- private void updateItemCount(int count){
+ private void updateItemCount(final int count){
mTvItemCount.setText(
getString(
R.string.formatter_item_count,
@@ -79,14 +79,14 @@ public class MainActivity extends ListActivity {
.setTitle(R.string.menu_about)
.setCancelable(false)
.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
- public void onClick(DialogInterface dialog, int id) {}
+ public void onClick(final DialogInterface dialog, final int id) {}
})
.setView(textView)
.show();
}
@Override
- protected void onCreate(Bundle savedInstanceState) {
+ protected void onCreate(final Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ButterKnife.inject(this);
@@ -98,7 +98,7 @@ public class MainActivity extends ListActivity {
}
@Override
- public boolean onCreateOptionsMenu(Menu menu) {
+ public boolean onCreateOptionsMenu(final Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
if (!mScanner.isScanning()) {
menu.findItem(R.id.menu_stop).setVisible(false);
@@ -120,7 +120,7 @@ public class MainActivity extends ListActivity {
}
@Override
- protected void onListItemClick(ListView l, View v, int position, long id) {
+ protected void onListItemClick(final ListView l, final View v, final int position, final long id) {
final BluetoothLeDevice device = (BluetoothLeDevice) mLeDeviceListAdapter.getItem(position);
if (device == null) return;
@@ -132,7 +132,7 @@ public class MainActivity extends ListActivity {
}
@Override
- public boolean onOptionsItemSelected(MenuItem item) {
+ public boolean onOptionsItemSelected(final MenuItem item) {
switch (item.getItemId()) {
case R.id.menu_scan:
startScan();
diff --git a/sample_app/src/main/java/uk/co/alt236/btlescan/adapters/LeDeviceListAdapter.java b/sample_app/src/main/java/uk/co/alt236/btlescan/adapters/LeDeviceListAdapter.java
index 38d3892..b8b415f 100644
--- a/sample_app/src/main/java/uk/co/alt236/btlescan/adapters/LeDeviceListAdapter.java
+++ b/sample_app/src/main/java/uk/co/alt236/btlescan/adapters/LeDeviceListAdapter.java
@@ -18,7 +18,7 @@ public class LeDeviceListAdapter extends SimpleCursorAdapter {
private final LayoutInflater mInflator;
private final Activity mActivity;
- public LeDeviceListAdapter(Activity activity, EasyObjectCursor cursor) {
+ public LeDeviceListAdapter(final Activity activity, final EasyObjectCursor cursor) {
super(activity, R.layout.list_item_device, cursor, new String[0], new int[0], 0);
mInflator = activity.getLayoutInflater();
mActivity = activity;
@@ -31,18 +31,18 @@ public class LeDeviceListAdapter extends SimpleCursorAdapter {
}
@Override
- public BluetoothLeDevice getItem(int i){
+ public BluetoothLeDevice getItem(final int i){
return getCursor().getItem(i);
}
@Override
- public long getItemId(int i) {
+ public long getItemId(final int i) {
return i;
}
@Override
- public View getView(int i, View view, ViewGroup viewGroup) {
- ViewHolder viewHolder;
+ public View getView(final int i, View view, final ViewGroup viewGroup) {
+ final ViewHolder viewHolder;
// General ListView optimization code.
if (view == null) {
view = mInflator.inflate(R.layout.list_item_device, null);
diff --git a/sample_app/src/main/java/uk/co/alt236/btlescan/containers/BluetoothLeDeviceStore.java b/sample_app/src/main/java/uk/co/alt236/btlescan/containers/BluetoothLeDeviceStore.java
index 147ca27..9263187 100644
--- a/sample_app/src/main/java/uk/co/alt236/btlescan/containers/BluetoothLeDeviceStore.java
+++ b/sample_app/src/main/java/uk/co/alt236/btlescan/containers/BluetoothLeDeviceStore.java
@@ -31,7 +31,7 @@ public class BluetoothLeDeviceStore {
mDeviceMap = new HashMap();
}
- public void addDevice(BluetoothLeDevice device){
+ public void addDevice(final BluetoothLeDevice device){
if(mDeviceMap.containsKey(device.getAddress())){
mDeviceMap.get(device.getAddress()).updateRssiReading(device.getTimestamp(), device.getRssi());
} else {
@@ -44,19 +44,19 @@ public class BluetoothLeDeviceStore {
}
- private FileWriter generateFile(File file, String contents){
+ private FileWriter generateFile(final File file, final String contents){
FileWriter writer = null;
try {
writer = new FileWriter(file);
writer.append(contents);
writer.flush();
- } catch (IOException e) {
+ } catch (final IOException e) {
e.printStackTrace();
}finally{
try {
writer.close();
- } catch (IOException e) {
+ } catch (final IOException e) {
e.printStackTrace();
}
}
@@ -76,7 +76,7 @@ public class BluetoothLeDeviceStore {
Collections.sort(methodResult, new Comparator() {
@Override
- public int compare(BluetoothLeDevice arg0, BluetoothLeDevice arg1) {
+ public int compare(final BluetoothLeDevice arg0, final BluetoothLeDevice arg1) {
return arg0.getAddress().compareToIgnoreCase(arg1.getAddress());
}
});
@@ -104,7 +104,7 @@ public class BluetoothLeDeviceStore {
sb.append(CsvWriterHelper.addStuff("accuracy"));
sb.append('\n');
- for(BluetoothLeDevice device : list){
+ for(final BluetoothLeDevice device : list){
sb.append(CsvWriterHelper.addStuff(device.getAddress()));
sb.append(CsvWriterHelper.addStuff(device.getName()));
sb.append(CsvWriterHelper.addStuff(TimeFormatter.getIsoDateTime(device.getFirstTimestamp())));
@@ -152,7 +152,7 @@ public class BluetoothLeDeviceStore {
}
- public void shareDataAsEmail(Context context){
+ public void shareDataAsEmail(final Context context){
final long timeInMillis = System.currentTimeMillis();
final String to = null;
@@ -175,7 +175,7 @@ public class BluetoothLeDeviceStore {
i.putExtra(Intent.EXTRA_TEXT, message);
context.startActivity(Intent.createChooser(i, context.getString(R.string.exporter_email_device_list_picker_text)));
- } catch (IOException e) {
+ } catch (final IOException e) {
e.printStackTrace();
}
}
diff --git a/sample_app/src/main/java/uk/co/alt236/btlescan/services/BluetoothLeService.java b/sample_app/src/main/java/uk/co/alt236/btlescan/services/BluetoothLeService.java
index 03f7539..c5a2bfa 100644
--- a/sample_app/src/main/java/uk/co/alt236/btlescan/services/BluetoothLeService.java
+++ b/sample_app/src/main/java/uk/co/alt236/btlescan/services/BluetoothLeService.java
@@ -61,8 +61,8 @@ public class BluetoothLeService extends Service {
// connection change and services discovered.
private final BluetoothGattCallback mGattCallback = new BluetoothGattCallback() {
@Override
- public void onConnectionStateChange(BluetoothGatt gatt, int status, int newState) {
- String intentAction;
+ public void onConnectionStateChange(final BluetoothGatt gatt, final int status, final int newState) {
+ final String intentAction;
if (newState == BluetoothProfile.STATE_CONNECTED) {
intentAction = ACTION_GATT_CONNECTED;
mConnectionState = STATE_CONNECTED;
@@ -80,7 +80,7 @@ public class BluetoothLeService extends Service {
}
@Override
- public void onServicesDiscovered(BluetoothGatt gatt, int status) {
+ public void onServicesDiscovered(final BluetoothGatt gatt, final int status) {
if (status == BluetoothGatt.GATT_SUCCESS) {
broadcastUpdate(ACTION_GATT_SERVICES_DISCOVERED);
} else {
@@ -89,14 +89,14 @@ public class BluetoothLeService extends Service {
}
@Override
- public void onCharacteristicRead(BluetoothGatt gatt, BluetoothGattCharacteristic characteristic, int status) {
+ public void onCharacteristicRead(final BluetoothGatt gatt, final BluetoothGattCharacteristic characteristic, final int status) {
if (status == BluetoothGatt.GATT_SUCCESS) {
broadcastUpdate(ACTION_DATA_AVAILABLE, characteristic);
}
}
@Override
- public void onCharacteristicChanged(BluetoothGatt gatt, BluetoothGattCharacteristic characteristic) {
+ public void onCharacteristicChanged(final BluetoothGatt gatt, final BluetoothGattCharacteristic characteristic) {
broadcastUpdate(ACTION_DATA_AVAILABLE, characteristic);
}
};
@@ -126,12 +126,12 @@ public class BluetoothLeService extends Service {
}
@Override
- public IBinder onBind(Intent intent) {
+ public IBinder onBind(final Intent intent) {
return mBinder;
}
@Override
- public boolean onUnbind(Intent intent) {
+ public boolean onUnbind(final Intent intent) {
// After using a given device, you should make sure that BluetoothGatt.close() is called
// such that resources are cleaned up properly. In this particular example, close() is
// invoked when the UI is disconnected from the Service.
@@ -243,7 +243,7 @@ public class BluetoothLeService extends Service {
*
* @param characteristic The characteristic to read from.
*/
- public void readCharacteristic(BluetoothGattCharacteristic characteristic) {
+ public void readCharacteristic(final BluetoothGattCharacteristic characteristic) {
if (mBluetoothAdapter == null || mBluetoothGatt == null) {
Log.w(TAG, "BluetoothAdapter not initialized");
return;
@@ -257,7 +257,7 @@ public class BluetoothLeService extends Service {
* @param characteristic Characteristic to act on.
* @param enabled If true, enable notification. False otherwise.
*/
- public void setCharacteristicNotification(BluetoothGattCharacteristic characteristic, boolean enabled) {
+ public void setCharacteristicNotification(final BluetoothGattCharacteristic characteristic, final boolean enabled) {
if (mBluetoothAdapter == null || mBluetoothGatt == null) {
Log.w(TAG, "BluetoothAdapter not initialized");
return;
diff --git a/sample_app/src/main/java/uk/co/alt236/btlescan/util/BluetoothLeScanner.java b/sample_app/src/main/java/uk/co/alt236/btlescan/util/BluetoothLeScanner.java
index 38d1f79..05c3bc7 100644
--- a/sample_app/src/main/java/uk/co/alt236/btlescan/util/BluetoothLeScanner.java
+++ b/sample_app/src/main/java/uk/co/alt236/btlescan/util/BluetoothLeScanner.java
@@ -10,7 +10,7 @@ public class BluetoothLeScanner {
private final BluetoothUtils mBluetoothUtils;
private boolean mScanning;
- public BluetoothLeScanner(BluetoothAdapter.LeScanCallback leScanCallback, BluetoothUtils bluetoothUtils){
+ public BluetoothLeScanner(final BluetoothAdapter.LeScanCallback leScanCallback, final BluetoothUtils bluetoothUtils){
mHandler = new Handler();
mLeScanCallback = leScanCallback;
mBluetoothUtils = bluetoothUtils;
diff --git a/sample_app/src/main/java/uk/co/alt236/btlescan/util/BluetoothUtils.java b/sample_app/src/main/java/uk/co/alt236/btlescan/util/BluetoothUtils.java
index 3bf7dd6..ac1a586 100644
--- a/sample_app/src/main/java/uk/co/alt236/btlescan/util/BluetoothUtils.java
+++ b/sample_app/src/main/java/uk/co/alt236/btlescan/util/BluetoothUtils.java
@@ -14,7 +14,7 @@ public final class BluetoothUtils {
public final static int REQUEST_ENABLE_BT = 2001;
- public BluetoothUtils(Activity activity){
+ public BluetoothUtils(final Activity activity){
mActivity = activity;
mBluetoothManager = (BluetoothManager) mActivity.getSystemService(Context.BLUETOOTH_SERVICE);
mBluetoothAdapter = mBluetoothManager.getAdapter();
diff --git a/sample_app/src/main/java/uk/co/alt236/btlescan/util/CsvWriterHelper.java b/sample_app/src/main/java/uk/co/alt236/btlescan/util/CsvWriterHelper.java
index b827126..f312f08 100644
--- a/sample_app/src/main/java/uk/co/alt236/btlescan/util/CsvWriterHelper.java
+++ b/sample_app/src/main/java/uk/co/alt236/btlescan/util/CsvWriterHelper.java
@@ -2,15 +2,15 @@ package uk.co.alt236.btlescan.util;
public class CsvWriterHelper {
private static final String QUOTE = "\"";
- public static String addStuff(Integer text){
+ public static String addStuff(final Integer text){
return QUOTE + text + QUOTE + ",";
}
- public static String addStuff(Long text){
+ public static String addStuff(final Long text){
return QUOTE + text + QUOTE + ",";
}
- public static String addStuff(boolean value){
+ public static String addStuff(final boolean value){
return QUOTE + value + QUOTE + ",";
}
diff --git a/sample_app/src/main/java/uk/co/alt236/btlescan/util/TimeFormatter.java b/sample_app/src/main/java/uk/co/alt236/btlescan/util/TimeFormatter.java
index 8c7f925..38def8d 100644
--- a/sample_app/src/main/java/uk/co/alt236/btlescan/util/TimeFormatter.java
+++ b/sample_app/src/main/java/uk/co/alt236/btlescan/util/TimeFormatter.java
@@ -8,11 +8,11 @@ public class TimeFormatter {
private final static String ISO_FORMAT = "yyyy-MM-dd'T'HH:mm:ss.SSS zzz";
private final static SimpleDateFormat ISO_FORMATTER = new UtcDateFormatter(ISO_FORMAT, Locale.US);
- public static String getIsoDateTime(Date date){
+ public static String getIsoDateTime(final Date date){
return ISO_FORMATTER.format(date);
}
- public static String getIsoDateTime(long millis){
+ public static String getIsoDateTime(final long millis){
return getIsoDateTime(new Date(millis));
}
}
diff --git a/sample_app/src/main/java/uk/co/alt236/btlescan/util/UtcDateFormatter.java b/sample_app/src/main/java/uk/co/alt236/btlescan/util/UtcDateFormatter.java
index f0dca69..28da5f3 100644
--- a/sample_app/src/main/java/uk/co/alt236/btlescan/util/UtcDateFormatter.java
+++ b/sample_app/src/main/java/uk/co/alt236/btlescan/util/UtcDateFormatter.java
@@ -42,18 +42,18 @@ public class UtcDateFormatter extends java.text.SimpleDateFormat{
private static final TimeZone TIME_ZONE_UTC = TimeZone.getTimeZone(TIME_ZONE_STRING);
@SuppressLint("SimpleDateFormat")
- public UtcDateFormatter(String template){
+ public UtcDateFormatter(final String template){
super(template);
super.setTimeZone(TIME_ZONE_UTC);
}
@SuppressLint("SimpleDateFormat")
- public UtcDateFormatter(String template, DateFormatSymbols symbols){
+ public UtcDateFormatter(final String template, final DateFormatSymbols symbols){
super(template, symbols);
super.setTimeZone(TIME_ZONE_UTC);
}
- public UtcDateFormatter(String template, Locale locale){
+ public UtcDateFormatter(final String template, final Locale locale){
super(template, locale);
super.setTimeZone(TIME_ZONE_UTC);
}
@@ -66,7 +66,7 @@ public class UtcDateFormatter extends java.text.SimpleDateFormat{
* @see java.text.DateFormat#setTimeZone(java.util.TimeZone)
*/
@Override
- public void setTimeZone(TimeZone timezone){
+ public void setTimeZone(final TimeZone timezone){
throw new UnsupportedOperationException("This SimpleDateFormat can only be in " + TIME_ZONE_STRING);
}
}