summaryrefslogtreecommitdiffstats
path: root/src/com/android/launcher3/compat
diff options
context:
space:
mode:
authorAdam Cohen <adamcohen@google.com>2014-03-05 18:07:04 -0800
committerAdam Cohen <adamcohen@google.com>2014-12-05 16:18:41 -0800
commit5940042d39b576553c2499bcf3d0641281e6ad52 (patch)
tree45eb331399dc9f0fd86f4a3dc58dada50fb9ec46 /src/com/android/launcher3/compat
parente64b0dfcd0d4113e9259b6270cff734089f4cd3f (diff)
downloadandroid_packages_apps_Trebuchet-5940042d39b576553c2499bcf3d0641281e6ad52.tar.gz
android_packages_apps_Trebuchet-5940042d39b576553c2499bcf3d0641281e6ad52.tar.bz2
android_packages_apps_Trebuchet-5940042d39b576553c2499bcf3d0641281e6ad52.zip
Supporting custom widgets provided by launcher
-> This change provides integration for widgets provided by the launcher package which can run arbitrary code. Change-Id: I6052da5c4afed7ee72e3b44d045b9c46f2d84c42
Diffstat (limited to 'src/com/android/launcher3/compat')
-rw-r--r--src/com/android/launcher3/compat/AppWidgetManagerCompat.java9
-rw-r--r--src/com/android/launcher3/compat/AppWidgetManagerCompatV16.java9
-rw-r--r--src/com/android/launcher3/compat/AppWidgetManagerCompatVL.java18
3 files changed, 21 insertions, 15 deletions
diff --git a/src/com/android/launcher3/compat/AppWidgetManagerCompat.java b/src/com/android/launcher3/compat/AppWidgetManagerCompat.java
index 6512d427e..e41a66fb4 100644
--- a/src/com/android/launcher3/compat/AppWidgetManagerCompat.java
+++ b/src/com/android/launcher3/compat/AppWidgetManagerCompat.java
@@ -26,6 +26,7 @@ import android.graphics.drawable.Drawable;
import android.os.Bundle;
import com.android.launcher3.IconCache;
+import com.android.launcher3.LauncherAppWidgetProviderInfo;
import com.android.launcher3.Utilities;
import java.util.List;
@@ -63,20 +64,20 @@ public abstract class AppWidgetManagerCompat {
public abstract List<AppWidgetProviderInfo> getAllProviders();
- public abstract String loadLabel(AppWidgetProviderInfo info);
+ public abstract String loadLabel(LauncherAppWidgetProviderInfo info);
public abstract boolean bindAppWidgetIdIfAllowed(
int appWidgetId, AppWidgetProviderInfo info, Bundle options);
- public abstract UserHandleCompat getUser(AppWidgetProviderInfo info);
+ public abstract UserHandleCompat getUser(LauncherAppWidgetProviderInfo info);
public abstract void startConfigActivity(AppWidgetProviderInfo info, int widgetId,
Activity activity, AppWidgetHost host, int requestCode);
public abstract Drawable loadPreview(AppWidgetProviderInfo info);
- public abstract Drawable loadIcon(AppWidgetProviderInfo info, IconCache cache);
+ public abstract Drawable loadIcon(LauncherAppWidgetProviderInfo info, IconCache cache);
- public abstract Bitmap getBadgeBitmap(AppWidgetProviderInfo info, Bitmap bitmap);
+ public abstract Bitmap getBadgeBitmap(LauncherAppWidgetProviderInfo info, Bitmap bitmap);
}
diff --git a/src/com/android/launcher3/compat/AppWidgetManagerCompatV16.java b/src/com/android/launcher3/compat/AppWidgetManagerCompatV16.java
index f599f4303..767f16f62 100644
--- a/src/com/android/launcher3/compat/AppWidgetManagerCompatV16.java
+++ b/src/com/android/launcher3/compat/AppWidgetManagerCompatV16.java
@@ -28,6 +28,7 @@ import android.os.Build;
import android.os.Bundle;
import com.android.launcher3.IconCache;
+import com.android.launcher3.LauncherAppWidgetProviderInfo;
import com.android.launcher3.Utilities;
import java.util.List;
@@ -44,7 +45,7 @@ class AppWidgetManagerCompatV16 extends AppWidgetManagerCompat {
}
@Override
- public String loadLabel(AppWidgetProviderInfo info) {
+ public String loadLabel(LauncherAppWidgetProviderInfo info) {
return info.label.trim();
}
@@ -59,7 +60,7 @@ class AppWidgetManagerCompatV16 extends AppWidgetManagerCompat {
}
@Override
- public UserHandleCompat getUser(AppWidgetProviderInfo info) {
+ public UserHandleCompat getUser(LauncherAppWidgetProviderInfo info) {
return UserHandleCompat.myUserHandle();
}
@@ -79,12 +80,12 @@ class AppWidgetManagerCompatV16 extends AppWidgetManagerCompat {
}
@Override
- public Drawable loadIcon(AppWidgetProviderInfo info, IconCache cache) {
+ public Drawable loadIcon(LauncherAppWidgetProviderInfo info, IconCache cache) {
return cache.getFullResIcon(info.provider.getPackageName(), info.icon);
}
@Override
- public Bitmap getBadgeBitmap(AppWidgetProviderInfo info, Bitmap bitmap) {
+ public Bitmap getBadgeBitmap(LauncherAppWidgetProviderInfo info, Bitmap bitmap) {
return bitmap;
}
}
diff --git a/src/com/android/launcher3/compat/AppWidgetManagerCompatVL.java b/src/com/android/launcher3/compat/AppWidgetManagerCompatVL.java
index c3853ab62..158607adf 100644
--- a/src/com/android/launcher3/compat/AppWidgetManagerCompatVL.java
+++ b/src/com/android/launcher3/compat/AppWidgetManagerCompatVL.java
@@ -38,6 +38,7 @@ import android.view.View;
import android.widget.Toast;
import com.android.launcher3.IconCache;
+import com.android.launcher3.LauncherAppWidgetProviderInfo;
import com.android.launcher3.R;
import java.util.ArrayList;
@@ -65,8 +66,8 @@ class AppWidgetManagerCompatVL extends AppWidgetManagerCompat {
}
@Override
- public String loadLabel(AppWidgetProviderInfo info) {
- return info.loadLabel(mPm);
+ public String loadLabel(LauncherAppWidgetProviderInfo info) {
+ return info.getLabel(mPm);
}
@Override
@@ -77,7 +78,10 @@ class AppWidgetManagerCompatVL extends AppWidgetManagerCompat {
}
@Override
- public UserHandleCompat getUser(AppWidgetProviderInfo info) {
+ public UserHandleCompat getUser(LauncherAppWidgetProviderInfo info) {
+ if (info.isCustomWidget) {
+ return UserHandleCompat.myUserHandle();
+ }
return UserHandleCompat.fromUser(info.getProfile());
}
@@ -99,13 +103,13 @@ class AppWidgetManagerCompatVL extends AppWidgetManagerCompat {
}
@Override
- public Drawable loadIcon(AppWidgetProviderInfo info, IconCache cache) {
- return info.loadIcon(mContext, cache.getFullResIconDpi());
+ public Drawable loadIcon(LauncherAppWidgetProviderInfo info, IconCache cache) {
+ return info.getIcon(mContext, cache);
}
@Override
- public Bitmap getBadgeBitmap(AppWidgetProviderInfo info, Bitmap bitmap) {
- if (info.getProfile().equals(android.os.Process.myUserHandle())) {
+ public Bitmap getBadgeBitmap(LauncherAppWidgetProviderInfo info, Bitmap bitmap) {
+ if (info.isCustomWidget || info.getProfile().equals(android.os.Process.myUserHandle())) {
return bitmap;
}