Merge "Add return after NULL check in JetPlayer"
diff --git a/core/java/android/widget/AbsListView.java b/core/java/android/widget/AbsListView.java
index a6b7dba..57bf0d3 100644
--- a/core/java/android/widget/AbsListView.java
+++ b/core/java/android/widget/AbsListView.java
@@ -3416,13 +3416,13 @@
                             mTouchModeReset = new Runnable() {
                                 @Override
                                 public void run() {
+                                    mTouchModeReset = null;
                                     mTouchMode = TOUCH_MODE_REST;
                                     child.setPressed(false);
                                     setPressed(false);
                                     if (!mDataChanged) {
                                         performClick.run();
                                     }
-                                    mTouchModeReset = null;
                                 }
                             };
                             postDelayed(mTouchModeReset,
diff --git a/core/java/android/widget/HeaderViewListAdapter.java b/core/java/android/widget/HeaderViewListAdapter.java
index e2a269e..0685e61 100644
--- a/core/java/android/widget/HeaderViewListAdapter.java
+++ b/core/java/android/widget/HeaderViewListAdapter.java
@@ -79,7 +79,8 @@
     }
 
     public boolean isEmpty() {
-        return mAdapter == null || mAdapter.isEmpty();
+        return (mAdapter == null || mAdapter.isEmpty())
+	        && getFootersCount() + getHeadersCount() == 0;
     }
 
     private boolean areAllListInfosSelectable(ArrayList<ListView.FixedViewInfo> infos) {
diff --git a/policy/src/com/android/internal/policy/impl/GlobalActions.java b/policy/src/com/android/internal/policy/impl/GlobalActions.java
old mode 100644
new mode 100755
index d1f8ef1..3dc77d4
--- a/policy/src/com/android/internal/policy/impl/GlobalActions.java
+++ b/policy/src/com/android/internal/policy/impl/GlobalActions.java
@@ -408,7 +408,12 @@
     /** {@inheritDoc} */
     public void onDismiss(DialogInterface dialog) {
         if (SHOW_SILENT_TOGGLE) {
-            mContext.unregisterReceiver(mRingerModeReceiver);
+            try {
+                mContext.unregisterReceiver(mRingerModeReceiver);
+            } catch (IllegalArgumentException ie) {
+                // ignore this
+                Log.w(TAG, ie);
+            }
         }
     }
 
diff --git a/services/java/com/android/server/NativeDaemonEvent.java b/services/java/com/android/server/NativeDaemonEvent.java
index f11ae1d..2095152 100644
--- a/services/java/com/android/server/NativeDaemonEvent.java
+++ b/services/java/com/android/server/NativeDaemonEvent.java
@@ -223,8 +223,8 @@
                 current++;  // skip the trailing quote
             }
             // unescape stuff within the word
-            word.replace("\\\\", "\\");
-            word.replace("\\\"", "\"");
+            word = word.replace("\\\\", "\\");
+            word = word.replace("\\\"", "\"");
 
             if (DEBUG_ROUTINE) Slog.e(LOGTAG, "found '" + word + "'");
             parsed.add(word);
diff --git a/services/java/com/android/server/net/NetworkPolicyManagerService.java b/services/java/com/android/server/net/NetworkPolicyManagerService.java
index 43ddf8d..18fefda 100644
--- a/services/java/com/android/server/net/NetworkPolicyManagerService.java
+++ b/services/java/com/android/server/net/NetworkPolicyManagerService.java
@@ -423,11 +423,9 @@
     private BroadcastReceiver mScreenReceiver = new BroadcastReceiver() {
         @Override
         public void onReceive(Context context, Intent intent) {
-            synchronized (mRulesLock) {
-                // screen-related broadcasts are protected by system, no need
-                // for permissions check.
-                mHandler.obtainMessage(MSG_SCREEN_ON_CHANGED).sendToTarget();
-            }
+            // screen-related broadcasts are protected by system, no need
+            // for permissions check.
+            mHandler.obtainMessage(MSG_SCREEN_ON_CHANGED).sendToTarget();
         }
     };