summaryrefslogtreecommitdiffstats
path: root/src/com/android/launcher3
diff options
context:
space:
mode:
authorTony Wickham <twickham@google.com>2017-05-03 11:17:13 -0700
committerTony Wickham <twickham@google.com>2017-05-03 11:17:13 -0700
commitdebc046b898c4a3e62e3eddd26c89a732dd99b8b (patch)
tree1f75365fc8cdd5b2546e7125111b118f05307bb0 /src/com/android/launcher3
parent0bc04a984147869bf27ed4047c0951a061fcbd42 (diff)
parente3c59256794448c67e01333a9f5036559b1bd502 (diff)
downloadandroid_packages_apps_Trebuchet-debc046b898c4a3e62e3eddd26c89a732dd99b8b.tar.gz
android_packages_apps_Trebuchet-debc046b898c4a3e62e3eddd26c89a732dd99b8b.tar.bz2
android_packages_apps_Trebuchet-debc046b898c4a3e62e3eddd26c89a732dd99b8b.zip
Merge commit 'e3c59256794448c67e01333a9f5036559b1bd502' into am-58d0617b-47f2-44b7-ac1f-c278ee055d1e
* commit 'e3c59256794448c67e01333a9f5036559b1bd502': Use source bounds/activity options for App Info System Shortcut Change-Id: Ic7e89e1f2de44198ab95308095b17447d27f0c0d
Diffstat (limited to 'src/com/android/launcher3')
-rw-r--r--src/com/android/launcher3/InfoDropTarget.java10
-rw-r--r--src/com/android/launcher3/Launcher.java4
-rw-r--r--src/com/android/launcher3/compat/LauncherAppsCompat.java7
-rw-r--r--src/com/android/launcher3/compat/LauncherAppsCompatVL.java5
-rw-r--r--src/com/android/launcher3/popup/SystemShortcut.java6
5 files changed, 24 insertions, 8 deletions
diff --git a/src/com/android/launcher3/InfoDropTarget.java b/src/com/android/launcher3/InfoDropTarget.java
index 7b3bded17..f088d1176 100644
--- a/src/com/android/launcher3/InfoDropTarget.java
+++ b/src/com/android/launcher3/InfoDropTarget.java
@@ -19,6 +19,8 @@ package com.android.launcher3;
import android.content.ActivityNotFoundException;
import android.content.ComponentName;
import android.content.Context;
+import android.graphics.Rect;
+import android.os.Bundle;
import android.provider.Settings;
import android.util.AttributeSet;
import android.util.Log;
@@ -58,12 +60,16 @@ public class InfoDropTarget extends UninstallDropTarget {
*/
public static boolean startDetailsActivityForInfo(
ItemInfo info, Launcher launcher, DropTargetResultCallback callback) {
+ return startDetailsActivityForInfo(info, launcher, callback, null, null);
+ }
+
+ public static boolean startDetailsActivityForInfo(ItemInfo info, Launcher launcher,
+ DropTargetResultCallback callback, Rect sourceBounds, Bundle opts) {
if (info instanceof PromiseAppInfo) {
PromiseAppInfo promiseAppInfo = (PromiseAppInfo) info;
launcher.startActivity(promiseAppInfo.getMarketIntent());
return true;
}
-
boolean result = false;
ComponentName componentName = null;
if (info instanceof AppInfo) {
@@ -78,7 +84,7 @@ public class InfoDropTarget extends UninstallDropTarget {
if (componentName != null) {
try {
LauncherAppsCompat.getInstance(launcher)
- .showAppDetailsForProfile(componentName, info.user);
+ .showAppDetailsForProfile(componentName, info.user, sourceBounds, opts);
result = true;
} catch (SecurityException | ActivityNotFoundException e) {
Toast.makeText(launcher, R.string.activity_not_found, Toast.LENGTH_SHORT).show();
diff --git a/src/com/android/launcher3/Launcher.java b/src/com/android/launcher3/Launcher.java
index a61e05af1..6a0344f50 100644
--- a/src/com/android/launcher3/Launcher.java
+++ b/src/com/android/launcher3/Launcher.java
@@ -2682,7 +2682,7 @@ public class Launcher extends BaseActivity
}
@TargetApi(Build.VERSION_CODES.M)
- private Bundle getActivityLaunchOptions(View v) {
+ public Bundle getActivityLaunchOptions(View v) {
if (Utilities.ATLEAST_MARSHMALLOW) {
int left = 0, top = 0;
int width = v.getMeasuredWidth(), height = v.getMeasuredHeight();
@@ -2708,7 +2708,7 @@ public class Launcher extends BaseActivity
return null;
}
- private Rect getViewBounds(View v) {
+ public Rect getViewBounds(View v) {
int[] pos = new int[2];
v.getLocationOnScreen(pos);
return new Rect(pos[0], pos[1], pos[0] + v.getWidth(), pos[1] + v.getHeight());
diff --git a/src/com/android/launcher3/compat/LauncherAppsCompat.java b/src/com/android/launcher3/compat/LauncherAppsCompat.java
index 01d0e1784..472cfc9ec 100644
--- a/src/com/android/launcher3/compat/LauncherAppsCompat.java
+++ b/src/com/android/launcher3/compat/LauncherAppsCompat.java
@@ -78,7 +78,8 @@ public abstract class LauncherAppsCompat {
Rect sourceBounds, Bundle opts);
public abstract ApplicationInfo getApplicationInfo(
String packageName, int flags, UserHandle user);
- public abstract void showAppDetailsForProfile(ComponentName component, UserHandle user);
+ public abstract void showAppDetailsForProfile(ComponentName component, UserHandle user,
+ Rect sourceBounds, Bundle opts);
public abstract void addOnAppsChangedCallback(OnAppsChangedCallbackCompat listener);
public abstract void removeOnAppsChangedCallback(OnAppsChangedCallbackCompat listener);
public abstract boolean isPackageEnabledForProfile(String packageName, UserHandle user);
@@ -142,4 +143,8 @@ public abstract class LauncherAppsCompat {
return null;
}
}
+
+ public void showAppDetailsForProfile(ComponentName component, UserHandle user) {
+ showAppDetailsForProfile(component, user, null, null);
+ }
}
diff --git a/src/com/android/launcher3/compat/LauncherAppsCompatVL.java b/src/com/android/launcher3/compat/LauncherAppsCompatVL.java
index 58683db75..647c31593 100644
--- a/src/com/android/launcher3/compat/LauncherAppsCompatVL.java
+++ b/src/com/android/launcher3/compat/LauncherAppsCompatVL.java
@@ -95,8 +95,9 @@ public class LauncherAppsCompatVL extends LauncherAppsCompat {
}
@Override
- public void showAppDetailsForProfile(ComponentName component, UserHandle user) {
- mLauncherApps.startAppDetailsActivity(component, user, null, null);
+ public void showAppDetailsForProfile(ComponentName component, UserHandle user,
+ Rect sourceBounds, Bundle opts) {
+ mLauncherApps.startAppDetailsActivity(component, user, sourceBounds, opts);
}
@Override
diff --git a/src/com/android/launcher3/popup/SystemShortcut.java b/src/com/android/launcher3/popup/SystemShortcut.java
index 6747540eb..a52d1d49b 100644
--- a/src/com/android/launcher3/popup/SystemShortcut.java
+++ b/src/com/android/launcher3/popup/SystemShortcut.java
@@ -1,7 +1,9 @@
package com.android.launcher3.popup;
import android.content.Context;
+import android.graphics.Rect;
import android.graphics.drawable.Drawable;
+import android.os.Bundle;
import android.view.View;
import com.android.launcher3.AbstractFloatingView;
@@ -80,7 +82,9 @@ public abstract class SystemShortcut {
return new View.OnClickListener() {
@Override
public void onClick(View view) {
- InfoDropTarget.startDetailsActivityForInfo(itemInfo, launcher, null);
+ Rect sourceBounds = launcher.getViewBounds(view);
+ Bundle opts = launcher.getActivityLaunchOptions(view);
+ InfoDropTarget.startDetailsActivityForInfo(itemInfo, launcher, null, sourceBounds, opts);
}
};
}