Merge "Give Wi-Fi Display settings split actionbar."
diff --git a/src/com/android/settings/LocationSettings.java b/src/com/android/settings/LocationSettings.java
index cfbbe26..0e50188 100644
--- a/src/com/android/settings/LocationSettings.java
+++ b/src/com/android/settings/LocationSettings.java
@@ -76,6 +76,7 @@
if (mSettingsObserver != null) {
mContentQueryMap.deleteObserver(mSettingsObserver);
}
+ mContentQueryMap.close();
}
private PreferenceScreen createPreferenceHierarchy() {
diff --git a/src/com/android/settings/NotificationStation.java b/src/com/android/settings/NotificationStation.java
index 62f1c30..ea0c8b6 100644
--- a/src/com/android/settings/NotificationStation.java
+++ b/src/com/android/settings/NotificationStation.java
@@ -18,42 +18,32 @@
import android.app.Activity;
import android.app.ActivityManager;
+import android.app.INotificationListener;
import android.app.INotificationManager;
import android.app.Notification;
-import android.app.NotificationManager;
-import android.app.TaskStackBuilder;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.content.pm.PackageManager;
import android.content.res.Resources;
-import android.database.Cursor;
-import android.database.sqlite.SQLiteDatabase;
-import android.database.sqlite.SQLiteException;
import android.graphics.drawable.Drawable;
import android.net.Uri;
import android.os.Bundle;
import android.os.RemoteException;
import android.os.ServiceManager;
import android.os.UserHandle;
-import android.provider.*;
import android.util.Log;
-import android.util.Slog;
import android.view.LayoutInflater;
-import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnClickListener;
-import android.view.View.OnTouchListener;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.DateTimeView;
import android.widget.ImageView;
import android.widget.ListView;
-import android.widget.RadioButton;
import android.widget.TextView;
import com.android.internal.statusbar.StatusBarNotification;
-import com.android.settings.DreamBackend.DreamInfo;
import java.util.ArrayList;
import java.util.List;
@@ -65,6 +55,18 @@
private final PackageReceiver mPackageReceiver = new PackageReceiver();
private INotificationManager mNoMan;
+ private INotificationListener.Stub mListener = new INotificationListener.Stub() {
+ @Override
+ public void onNotificationPosted(StatusBarNotification notification) throws RemoteException {
+ Log.v(TAG, "onNotificationPosted: " + notification);
+ getListView().post(new Runnable() { public void run() { refreshList(); }});
+ }
+
+ @Override
+ public void onNotificationRemoved(StatusBarNotification notification) throws RemoteException {
+ // no-op; we're just showing new notifications
+ }
+ };
private NotificationHistoryAdapter mAdapter;
private Context mContext;
@@ -76,6 +78,11 @@
mContext = activity;
mNoMan = INotificationManager.Stub.asInterface(
ServiceManager.getService(Context.NOTIFICATION_SERVICE));
+ try {
+ mNoMan.registerListener(mListener, UserHandle.USER_ALL);
+ } catch (RemoteException e) {
+ // well, that didn't work out
+ }
}
@Override
@@ -116,7 +123,7 @@
public void onResume() {
logd("onResume()");
super.onResume();
- refreshFromBackend();
+ refreshList();
// listen for package changes
IntentFilter filter = new IntentFilter();
@@ -128,7 +135,7 @@
mContext.registerReceiver(mPackageReceiver , filter);
}
- private void refreshFromBackend() {
+ private void refreshList() {
List<HistoricalNotificationInfo> infos = loadNotifications();
if (infos != null) {
logd("adding %d infos", infos.size());
@@ -315,7 +322,7 @@
@Override
public void onReceive(Context context, Intent intent) {
logd("PackageReceiver.onReceive");
- //refreshFromBackend();
+ //refreshList();
}
}
}