summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAnjali Koppal <akoppal@google.com>2014-03-17 23:47:21 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2014-03-17 23:47:21 +0000
commitef3784cf698cd1455f762f66ad6eec32cc8f2fa3 (patch)
tree0b0cebaa8315901f30e2c47614dbb9097cc7301c
parentaf63581cb6e6db0e58e292905b69b7a04383211f (diff)
parent67e7cae5ad97ec5702bbd739c4272e3cfa17556d (diff)
downloadandroid_packages_apps_Trebuchet-ef3784cf698cd1455f762f66ad6eec32cc8f2fa3.tar.gz
android_packages_apps_Trebuchet-ef3784cf698cd1455f762f66ad6eec32cc8f2fa3.tar.bz2
android_packages_apps_Trebuchet-ef3784cf698cd1455f762f66ad6eec32cc8f2fa3.zip
Merge "Add LauncherProviderChangeListener" into ub-now-mister-ugly
-rw-r--r--src/com/android/launcher3/Launcher.java7
-rw-r--r--src/com/android/launcher3/LauncherProvider.java9
-rw-r--r--src/com/android/launcher3/LauncherProviderChangeListener.java11
3 files changed, 25 insertions, 2 deletions
diff --git a/src/com/android/launcher3/Launcher.java b/src/com/android/launcher3/Launcher.java
index c18574ad5..2d1d2f6ed 100644
--- a/src/com/android/launcher3/Launcher.java
+++ b/src/com/android/launcher3/Launcher.java
@@ -120,7 +120,7 @@ import java.util.concurrent.atomic.AtomicInteger;
*/
public class Launcher extends Activity
implements View.OnClickListener, OnLongClickListener, LauncherModel.Callbacks,
- View.OnTouchListener, PageSwitchListener {
+ View.OnTouchListener, PageSwitchListener, LauncherProviderChangeListener {
static final String TAG = "Launcher";
static final boolean LOGD = false;
@@ -394,7 +394,7 @@ public class Launcher extends Activity
LauncherAppState.setApplicationContext(getApplicationContext());
LauncherAppState app = LauncherAppState.getInstance();
-
+ LauncherAppState.getLauncherProvider().setLauncherProviderChangeListener(this);
// Determine the dynamic grid properties
Point smallestSize = new Point();
Point largestSize = new Point();
@@ -496,6 +496,9 @@ public class Launcher extends Activity
}
}
+ @Override
+ public void onLauncherProviderChange() { }
+
protected void onUserLeaveHint() {
super.onUserLeaveHint();
sPausedFromUserAction = true;
diff --git a/src/com/android/launcher3/LauncherProvider.java b/src/com/android/launcher3/LauncherProvider.java
index e9e35958a..2a645255c 100644
--- a/src/com/android/launcher3/LauncherProvider.java
+++ b/src/com/android/launcher3/LauncherProvider.java
@@ -95,6 +95,8 @@ public class LauncherProvider extends ContentProvider {
private static final String ACTION_APPWIDGET_DEFAULT_WORKSPACE_CONFIGURE =
"com.android.launcher.action.APPWIDGET_DEFAULT_WORKSPACE_CONFIGURE";
+ private LauncherProviderChangeListener mListener;
+
/**
* {@link Uri} triggered at any registered {@link android.database.ContentObserver} when
* {@link AppWidgetHost#deleteHost()} is called during database creation.
@@ -118,6 +120,10 @@ public class LauncherProvider extends ContentProvider {
return mOpenHelper.wasNewDbCreated();
}
+ public void setLauncherProviderChangeListener(LauncherProviderChangeListener listener) {
+ mListener = listener;
+ }
+
@Override
public String getType(Uri uri) {
SqlArguments args = new SqlArguments(uri, null, null);
@@ -244,6 +250,9 @@ public class LauncherProvider extends ContentProvider {
// always notify the backup agent
LauncherBackupAgentHelper.dataChanged(getContext());
+ if (mListener != null) {
+ mListener.onLauncherProviderChange();
+ }
}
private void addModifiedTime(ContentValues values) {
diff --git a/src/com/android/launcher3/LauncherProviderChangeListener.java b/src/com/android/launcher3/LauncherProviderChangeListener.java
new file mode 100644
index 000000000..0de96fbc4
--- /dev/null
+++ b/src/com/android/launcher3/LauncherProviderChangeListener.java
@@ -0,0 +1,11 @@
+package com.android.launcher3;
+
+/**
+ * This class is a listener for {@link LauncherProvider} changes. It gets notified in the
+ * sendNotify method. This listener is needed because by default the Launcher suppresses
+ * standard data change callbacks.
+ */
+public interface LauncherProviderChangeListener {
+
+ public void onLauncherProviderChange();
+}