Findbug fixes in Settings app

	modified:   src/com/android/settings/ApnPreference.java
	modified:   src/com/android/settings/ApnSettings.java
	modified:   src/com/android/settings/BandMode.java
	modified:   src/com/android/settings/BatteryInfo.java
	modified:   src/com/android/settings/LanguageSettings.java
	modified:   src/com/android/settings/ManageApplications.java
	modified:   src/com/android/settings/RadioInfo.java
	modified:   src/com/android/settings/SdCardSettings.java
	modified:   src/com/android/settings/UsageStats.java
	modified:   src/com/android/settings/ZoneList.java
	modified:   src/com/android/settings/bluetooth/LocalBluetoothDevice.java
	modified:   src/com/android/settings/deviceinfo/Status.java
	modified:   src/com/android/settings/quicklaunch/QuickLaunchSettings.java
	modified:   src/com/android/settings/wifi/AccessPointDialog.java
	modified:   src/com/android/settings/wifi/AccessPointPreference.java
	modified:   src/com/android/settings/wifi/WifiLayer.java
	modified:   src/com/android/settings/wifi/WifiSettings.java
diff --git a/src/com/android/settings/ApnPreference.java b/src/com/android/settings/ApnPreference.java
index 74fb902..710eda2 100644
--- a/src/com/android/settings/ApnPreference.java
+++ b/src/com/android/settings/ApnPreference.java
@@ -107,7 +107,7 @@
         return getKey().equals(mSelectedKey);
     }
 
-    public void setChecked(boolean checked) {
+    public void setChecked() {
         mSelectedKey = getKey();
     }
 
diff --git a/src/com/android/settings/ApnSettings.java b/src/com/android/settings/ApnSettings.java
index 2624990..00ef3a7 100644
--- a/src/com/android/settings/ApnSettings.java
+++ b/src/com/android/settings/ApnSettings.java
@@ -178,7 +178,7 @@
             pref.setSelectable(selectable);
             if (selectable) {
                 if ((mSelectedKey != null) && mSelectedKey.equals(key)) {
-                    pref.setChecked(true);
+                    pref.setChecked();
                 }
                 apnList.addPreference(pref);
             } else {
diff --git a/src/com/android/settings/BandMode.java b/src/com/android/settings/BandMode.java
index 1297cad..a8c7833 100644
--- a/src/com/android/settings/BandMode.java
+++ b/src/com/android/settings/BandMode.java
@@ -97,7 +97,7 @@
                 }
             };
 
-    private class BandListItem {
+    static private class BandListItem {
         private int mBandMode = Phone.BM_UNSPECIFIED;
 
         public BandListItem(int bm) {
diff --git a/src/com/android/settings/BatteryInfo.java b/src/com/android/settings/BatteryInfo.java
index eb7ddb4..4c25570 100644
--- a/src/com/android/settings/BatteryInfo.java
+++ b/src/com/android/settings/BatteryInfo.java
@@ -67,7 +67,7 @@
      */
     private final String tenthsToFixedString(int x) {
         int tens = x / 10;
-        return new String("" + tens + "." + (x - 10*tens));
+        return Integer.toString(tens) + "." + (x - 10 * tens);
     }
 
    /**
diff --git a/src/com/android/settings/LanguageSettings.java b/src/com/android/settings/LanguageSettings.java
index cbab390..4b805ed 100644
--- a/src/com/android/settings/LanguageSettings.java
+++ b/src/com/android/settings/LanguageSettings.java
@@ -54,8 +54,6 @@
     private String mLastInputMethodId;
     private String mLastTickedInputMethodId;
     
-    private String mRootDirectory;
-
     static public String getInputMethodIdFromKey(String key) {
         return key;
     }
diff --git a/src/com/android/settings/ManageApplications.java b/src/com/android/settings/ManageApplications.java
index 1595de1..e5b2134 100644
--- a/src/com/android/settings/ManageApplications.java
+++ b/src/com/android/settings/ManageApplications.java
@@ -426,15 +426,20 @@
         public void onGetStatsCompleted(PackageStats pStats, boolean pSucceeded) {
             AppInfo appInfo = null;
             Bundle data = new Bundle();
-            data.putString(ATTR_PKG_NAME, pStats.packageName);
-            if(pSucceeded && pStats != null) {
-                if (localLOGV) Log.i(TAG, "onGetStatsCompleted::"+pStats.packageName+", ("+
-                        pStats.cacheSize+","+
-                        pStats.codeSize+", "+pStats.dataSize);
-                data.putParcelable(ATTR_APP_PKG_STATS, pStats);
-            } else {
+            if (pStats != null) {
+                data.putString(ATTR_PKG_NAME, pStats.packageName);
+                if(pSucceeded) {
+                    if (localLOGV) Log.i(TAG, "onGetStatsCompleted::"+pStats.packageName+", ("+
+                            pStats.cacheSize+","+
+                            pStats.codeSize+", "+pStats.dataSize);
+                    data.putParcelable(ATTR_APP_PKG_STATS, pStats);
+                }
+            }
+
+            if(!pSucceeded || pStats == null) {
                 Log.w(TAG, "Invalid package stats from PackageManager");
             }
+
             //post message to Handler
             Message msg = mHandler.obtainMessage(mMsgId, data);
             msg.setData(data);
@@ -705,7 +710,7 @@
     
     // internal structure used to track added and deleted packages when
     // the activity has focus
-    class AddRemoveInfo {
+    static class AddRemoveInfo {
         String pkgName;
         boolean add;
         public AddRemoveInfo(String pPkgName, boolean pAdd) {
diff --git a/src/com/android/settings/RadioInfo.java b/src/com/android/settings/RadioInfo.java
index 521c3c8..2e41db5 100644
--- a/src/com/android/settings/RadioInfo.java
+++ b/src/com/android/settings/RadioInfo.java
@@ -257,24 +257,24 @@
         }
     };
 
-    private class OemCommands {
+    static private class OemCommands {
 
-        public  final int OEM_QXDM_SDLOG_DEFAULT_FILE_SIZE = 32;
-        public  final int OEM_QXDM_SDLOG_DEFAULT_MASK = 0;
-        public  final int OEM_QXDM_SDLOG_DEFAULT_MAX_INDEX = 8;
+        public static final int OEM_QXDM_SDLOG_DEFAULT_FILE_SIZE = 32;
+        public static final int OEM_QXDM_SDLOG_DEFAULT_MASK = 0;
+        public static final int OEM_QXDM_SDLOG_DEFAULT_MAX_INDEX = 8;
 
-        final int SIZE_OF_INT = 4;
-        final int OEM_FEATURE_ENABLE = 1;
-        final int OEM_FEATURE_DISABLE = 0;
-        final int OEM_SIMPE_FEAUTURE_LEN = 1;
+        static final int SIZE_OF_INT = 4;
+        static final int OEM_FEATURE_ENABLE = 1;
+        static final int OEM_FEATURE_DISABLE = 0;
+        static final int OEM_SIMPE_FEAUTURE_LEN = 1;
 
-        final int OEM_QXDM_SDLOG_FUNCTAG = 0x00010000;
-        final int OEM_QXDM_SDLOG_LEN = 4;
-        final int OEM_PS_AUTO_ATTACH_FUNCTAG = 0x00020000;
-        final int OEM_CIPHERING_FUNCTAG = 0x00020001;
-        final int OEM_SMSC_UPDATE_FUNCTAG = 0x00020002;
-        final int OEM_SMSC_QUERY_FUNCTAG = 0x00020003;
-        final int OEM_SMSC_QUERY_LEN = 0;
+        static final int OEM_QXDM_SDLOG_FUNCTAG = 0x00010000;
+        static final int OEM_QXDM_SDLOG_LEN = 4;
+        static final int OEM_PS_AUTO_ATTACH_FUNCTAG = 0x00020000;
+        static final int OEM_CIPHERING_FUNCTAG = 0x00020001;
+        static final int OEM_SMSC_UPDATE_FUNCTAG = 0x00020002;
+        static final int OEM_SMSC_QUERY_FUNCTAG = 0x00020003;
+        static final int OEM_SMSC_QUERY_LEN = 0;
         
         /**
          * The OEM interface to store QXDM to SD.
@@ -990,8 +990,7 @@
     private void displayQxdmEnableResult() {
         String status = mQxdmLogEnabled ? "Start QXDM Log" : "Stop QXDM Log";
 
-        DialogInterface mProgressPanel = new AlertDialog.
-                Builder(this).setMessage(status).show();
+        new AlertDialog.Builder(this).setMessage(status).show();
 
         mHandler.postDelayed(
                 new Runnable() {
diff --git a/src/com/android/settings/SdCardSettings.java b/src/com/android/settings/SdCardSettings.java
index b6935a2..6033c42 100644
--- a/src/com/android/settings/SdCardSettings.java
+++ b/src/com/android/settings/SdCardSettings.java
@@ -107,48 +107,41 @@
         } catch (RemoteException ex) {
         }
 
-        String scanVolume = null; // this no longer exists: SystemProperties.get(MediaScanner.CURRENT_VOLUME_PROPERTY, "");
-        boolean scanning = "external".equals(scanVolume);
+        String status = Environment.getExternalStorageState();
+        boolean readOnly = false;
 
-        if (scanning) {
-            setLayout(mScanningLayout);
-        } else {
-            String status = Environment.getExternalStorageState();
-            boolean readOnly = false;
+        if (status.equals(Environment.MEDIA_MOUNTED_READ_ONLY)) {
+            status = Environment.MEDIA_MOUNTED;
+            readOnly = true;
+        }
 
-            if (status.equals(Environment.MEDIA_MOUNTED_READ_ONLY)) {
-                status = Environment.MEDIA_MOUNTED;
-                readOnly = true;
+        if (status.equals(Environment.MEDIA_MOUNTED)) {
+            try {
+                File path = Environment.getExternalStorageDirectory();
+                StatFs stat = new StatFs(path.getPath());
+                long blockSize = stat.getBlockSize();
+                long totalBlocks = stat.getBlockCount();
+                long availableBlocks = stat.getAvailableBlocks();
+
+                mTotalSize.setText(formatSize(totalBlocks * blockSize));
+                mUsedSize.setText(formatSize((totalBlocks - availableBlocks) * blockSize));
+                mAvailableSize.setText(formatSize(availableBlocks * blockSize));
+            } catch (IllegalArgumentException e) {
+                // this can occur if the SD card is removed, but we haven't received the
+                // ACTION_MEDIA_REMOVED Intent yet.
+                status = Environment.MEDIA_REMOVED;
             }
 
-            if (status.equals(Environment.MEDIA_MOUNTED)) {
-                try {
-                    File path = Environment.getExternalStorageDirectory();
-                    StatFs stat = new StatFs(path.getPath());
-                    long blockSize = stat.getBlockSize();
-                    long totalBlocks = stat.getBlockCount();
-                    long availableBlocks = stat.getAvailableBlocks();
-
-                    mTotalSize.setText(formatSize(totalBlocks * blockSize));
-                    mUsedSize.setText(formatSize((totalBlocks - availableBlocks) * blockSize));
-                    mAvailableSize.setText(formatSize(availableBlocks * blockSize));
-                } catch (IllegalArgumentException e) {
-                    // this can occur if the SD card is removed, but we haven't received the
-                    // ACTION_MEDIA_REMOVED Intent yet.
-                    status = Environment.MEDIA_REMOVED;
-                }
-
-                mReadOnlyStatus.setVisibility(readOnly ? View.VISIBLE : View.GONE);
-                setLayout(mMountedLayout);
-            } else if (status.equals(Environment.MEDIA_UNMOUNTED)) {
-                setLayout(mUnmountedLayout);
-            } else if (status.equals(Environment.MEDIA_REMOVED)) {
-                setLayout(mRemovedLayout);
-            } else if (status.equals(Environment.MEDIA_SHARED)) {
-                setLayout(mSharedLayout);
-            } else if (status.equals(Environment.MEDIA_BAD_REMOVAL)) {
-                setLayout(mBadRemovalLayout);
-            }
+            mReadOnlyStatus.setVisibility(readOnly ? View.VISIBLE : View.GONE);
+            setLayout(mMountedLayout);
+        } else if (status.equals(Environment.MEDIA_UNMOUNTED)) {
+            setLayout(mUnmountedLayout);
+        } else if (status.equals(Environment.MEDIA_REMOVED)) {
+            setLayout(mRemovedLayout);
+        } else if (status.equals(Environment.MEDIA_SHARED)) {
+            setLayout(mSharedLayout);
+        } else if (status.equals(Environment.MEDIA_BAD_REMOVAL)) {
+            setLayout(mBadRemovalLayout);
         }
     }
 
@@ -212,8 +205,6 @@
         }
     };
 
-
-    private int         mStatus;
     private IMountService   mMountService;
 
     private CheckBox    mMassStorage;
diff --git a/src/com/android/settings/UsageStats.java b/src/com/android/settings/UsageStats.java
index 89caa54..fcb6990 100755
--- a/src/com/android/settings/UsageStats.java
+++ b/src/com/android/settings/UsageStats.java
@@ -187,7 +187,7 @@
                 holder.launchCount.setText(String.valueOf(pkgStats.launchCount));
                 holder.usageTime.setText(String.valueOf(pkgStats.usageTime)+" ms");
             } else {
-                Log.w(TAG, "No usage stats info for package:"+pkgStats.packageName);
+                Log.w(TAG, "No usage stats info for package:" + position);
             }
             return convertView;
         }
diff --git a/src/com/android/settings/ZoneList.java b/src/com/android/settings/ZoneList.java
index 2877f00..aaaf989 100644
--- a/src/com/android/settings/ZoneList.java
+++ b/src/com/android/settings/ZoneList.java
@@ -160,7 +160,7 @@
         try {
             XmlResourceParser xrp = getResources().getXml(R.xml.timezones);
             while (xrp.next() != XmlResourceParser.START_TAG)
-                ;
+                continue;
             xrp.next();
             while (xrp.getEventType() != XmlResourceParser.END_TAG) {
                 while (xrp.getEventType() != XmlResourceParser.START_TAG) {
diff --git a/src/com/android/settings/bluetooth/LocalBluetoothDevice.java b/src/com/android/settings/bluetooth/LocalBluetoothDevice.java
index 5259d7b..d47977d 100644
--- a/src/com/android/settings/bluetooth/LocalBluetoothDevice.java
+++ b/src/com/android/settings/bluetooth/LocalBluetoothDevice.java
@@ -82,7 +82,7 @@
         CONNECT, DISCONNECT,
     }
 
-    class BluetoothJob {
+    static class BluetoothJob {
         final BluetoothCommand command; // CONNECT, DISCONNECT
         final LocalBluetoothDevice device;
         final Profile profile; // HEADSET, A2DP, etc
@@ -349,7 +349,7 @@
             }
         };
 
-        AlertDialog ad = new AlertDialog.Builder(context)
+        new AlertDialog.Builder(context)
                 .setTitle(getName())
                 .setMessage(message)
                 .setPositiveButton(android.R.string.ok, disconnectListener)
@@ -363,7 +363,6 @@
         // Reset the only-show-one-error-dialog tracking variable
         mIsConnectingErrorPossible = true;
 
-        Context context = mLocalManager.getContext();
         boolean hasAtLeastOnePreferredProfile = false;
         for (Profile profile : mProfiles) {
             LocalBluetoothProfileManager profileManager =
@@ -385,7 +384,6 @@
         // Reset the only-show-one-error-dialog tracking variable
         mIsConnectingErrorPossible = true;
 
-        Context context = mLocalManager.getContext();
         for (Profile profile : mProfiles) {
             LocalBluetoothProfileManager profileManager =
                     LocalBluetoothProfileManager.getProfileManager(mLocalManager, profile);
@@ -480,8 +478,6 @@
     }
 
     private void fillData() {
-        BluetoothDevice manager = mLocalManager.getBluetoothManager();
-
         fetchName();
         fetchBtClass();
 
diff --git a/src/com/android/settings/deviceinfo/Status.java b/src/com/android/settings/deviceinfo/Status.java
index 839e712..63ce3d3 100644
--- a/src/com/android/settings/deviceinfo/Status.java
+++ b/src/com/android/settings/deviceinfo/Status.java
@@ -356,7 +356,6 @@
     void updateTimes() {
         long at = SystemClock.uptimeMillis() / 1000;
         long ut = SystemClock.elapsedRealtime() / 1000;
-        long st = ut - at;
 
         if (ut == 0) {
             ut = 1;
diff --git a/src/com/android/settings/quicklaunch/QuickLaunchSettings.java b/src/com/android/settings/quicklaunch/QuickLaunchSettings.java
index 4d44524..2cbe9f7 100644
--- a/src/com/android/settings/quicklaunch/QuickLaunchSettings.java
+++ b/src/com/android/settings/quicklaunch/QuickLaunchSettings.java
@@ -222,8 +222,7 @@
                 Log.w(TAG, "Result from bookmark picker does not have an intent.");
                 return;
             }
-            
-            String title = data.getStringExtra(BookmarkPicker.EXTRA_TITLE);
+
             char shortcut = data.getCharExtra(BookmarkPicker.EXTRA_SHORTCUT, (char) 0);
             updateShortcut(shortcut, data);
             
diff --git a/src/com/android/settings/wifi/AccessPointDialog.java b/src/com/android/settings/wifi/AccessPointDialog.java
index 919f7fc..86eb7b3 100644
--- a/src/com/android/settings/wifi/AccessPointDialog.java
+++ b/src/com/android/settings/wifi/AccessPointDialog.java
@@ -321,12 +321,12 @@
     }
 
     private void updatePasswordCaption(String security) {
-        
-        if (mPasswordText != null && security != null
-                && security.equals(AccessPointState.WEP)) {
-            mPasswordText.setText(R.string.please_type_hex_key);
-        } else {
-            mPasswordText.setText(R.string.please_type_passphrase);
+        if (mPasswordText != null) {
+            if (security != null && security.equals(AccessPointState.WEP)) {
+                mPasswordText.setText(R.string.please_type_hex_key);
+            } else {
+                mPasswordText.setText(R.string.please_type_passphrase);
+            }
         }
     }
     
diff --git a/src/com/android/settings/wifi/AccessPointPreference.java b/src/com/android/settings/wifi/AccessPointPreference.java
index 10e0947..6dd5492 100644
--- a/src/com/android/settings/wifi/AccessPointPreference.java
+++ b/src/com/android/settings/wifi/AccessPointPreference.java
@@ -33,14 +33,11 @@
     // Signal strength indicator
     private static final int UI_SIGNAL_LEVELS = 4;
 
-    private WifiSettings mWifiSettings;
-    
     private AccessPointState mState;
 
     public AccessPointPreference(WifiSettings wifiSettings, AccessPointState state) {
         super(wifiSettings, null);
         
-        mWifiSettings = wifiSettings;
         mState = state;
         
         setWidgetLayoutResource(R.layout.preference_widget_wifi_signal);
diff --git a/src/com/android/settings/wifi/WifiLayer.java b/src/com/android/settings/wifi/WifiLayer.java
index b0857d2..32bf0ff 100644
--- a/src/com/android/settings/wifi/WifiLayer.java
+++ b/src/com/android/settings/wifi/WifiLayer.java
@@ -763,7 +763,9 @@
              * We pass null for security since we have a network ID (i.e., it's
              * not a wildcard), and rely on it matching.
              */
-            return findApLocked(wifiInfo.getNetworkId(), wifiInfo.getBSSID(), ssid, null);
+            synchronized (this) {
+                return findApLocked(wifiInfo.getNetworkId(), wifiInfo.getBSSID(), ssid, null);
+            }
         } else {
             return null;
         }
@@ -1002,8 +1004,10 @@
              * We pass null for security since we have a network ID (i.e., it's
              * not a wildcard), and rely on it matching.
              */
-            ap = findApLocked(wifiInfo.getNetworkId(), wifiInfo.getBSSID(), wifiInfo
-                    .getSSID(), null);
+            synchronized (this) {
+                ap = findApLocked(wifiInfo.getNetworkId(), wifiInfo.getBSSID(), wifiInfo
+                        .getSSID(), null);
+            }
         }
 
         if (ap != null) {
diff --git a/src/com/android/settings/wifi/WifiSettings.java b/src/com/android/settings/wifi/WifiSettings.java
index d2683c0..213f5d8 100644
--- a/src/com/android/settings/wifi/WifiSettings.java
+++ b/src/com/android/settings/wifi/WifiSettings.java
@@ -365,8 +365,8 @@
         }
         
         mDialog = dialog;
-        dialog.setOnDismissListener(this);
         if (dialog != null) {
+            dialog.setOnDismissListener(this);
             dialog.show();
         }
     }