summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorTreeHugger Robot <treehugger-gerrit@google.com>2017-07-19 20:30:44 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2017-07-19 20:30:44 +0000
commit4dd5a5d19dd74c10694a04a28077efedb16b9bd1 (patch)
treeb721f5cfc06e3445c4f0f556195e4b729cebbe9d /src
parent7c085bf7df645987ef53559c30a0e3f9d06711cb (diff)
parentd3e669b9ae89345ef94d828a39f638717df39456 (diff)
downloadandroid_packages_apps_Trebuchet-4dd5a5d19dd74c10694a04a28077efedb16b9bd1.tar.gz
android_packages_apps_Trebuchet-4dd5a5d19dd74c10694a04a28077efedb16b9bd1.tar.bz2
android_packages_apps_Trebuchet-4dd5a5d19dd74c10694a04a28077efedb16b9bd1.zip
Merge changes from topic 'am-948a617f-f892-4399-bd5c-3dd472692cca' into ub-launcher3-dorval-polish2
* changes: Merge commit 'refs/changes/98/2553198/2' of sso://googleplex-android/platform/packages/apps/Launcher3 into am-948a617f-f892-4399-bd5c-3dd472692cca Updating UserEventDispatcher to make some methods accessible.
Diffstat (limited to 'src')
-rw-r--r--src/com/android/launcher3/Launcher.java1
-rw-r--r--src/com/android/launcher3/allapps/AllAppsContainerView.java2
-rw-r--r--src/com/android/launcher3/allapps/AllAppsRecyclerView.java16
-rw-r--r--src/com/android/launcher3/logging/UserEventDispatcher.java68
4 files changed, 38 insertions, 49 deletions
diff --git a/src/com/android/launcher3/Launcher.java b/src/com/android/launcher3/Launcher.java
index fe459bb0d..c2bddd533 100644
--- a/src/com/android/launcher3/Launcher.java
+++ b/src/com/android/launcher3/Launcher.java
@@ -3049,7 +3049,6 @@ public class Launcher extends BaseActivity
List<ComponentKey> apps = mLauncherCallbacks.getPredictedApps();
if (apps != null) {
mAppsView.setPredictedApps(apps);
- getUserEventDispatcher().setPredictedApps(apps);
}
}
}
diff --git a/src/com/android/launcher3/allapps/AllAppsContainerView.java b/src/com/android/launcher3/allapps/AllAppsContainerView.java
index ccef4f2f5..20951921c 100644
--- a/src/com/android/launcher3/allapps/AllAppsContainerView.java
+++ b/src/com/android/launcher3/allapps/AllAppsContainerView.java
@@ -359,7 +359,7 @@ public class AllAppsContainerView extends BaseContainerView implements DragSourc
@Override
public void fillInLogContainerData(View v, ItemInfo info, Target target, Target targetParent) {
- targetParent.containerType = mAppsRecyclerView.getContainerType(v);
+ // This is filled in {@link AllAppsRecyclerView}
}
@Override
diff --git a/src/com/android/launcher3/allapps/AllAppsRecyclerView.java b/src/com/android/launcher3/allapps/AllAppsRecyclerView.java
index 75dd76098..2abb766e8 100644
--- a/src/com/android/launcher3/allapps/AllAppsRecyclerView.java
+++ b/src/com/android/launcher3/allapps/AllAppsRecyclerView.java
@@ -30,19 +30,22 @@ import android.view.View;
import com.android.launcher3.BaseRecyclerView;
import com.android.launcher3.BubbleTextView;
import com.android.launcher3.DeviceProfile;
+import com.android.launcher3.ItemInfo;
import com.android.launcher3.R;
import com.android.launcher3.anim.SpringAnimationHandler;
import com.android.launcher3.config.FeatureFlags;
import com.android.launcher3.graphics.DrawableFactory;
+import com.android.launcher3.logging.UserEventDispatcher.LogContainerProvider;
import com.android.launcher3.touch.SwipeDetector;
import com.android.launcher3.userevent.nano.LauncherLogProto.ContainerType;
+import com.android.launcher3.userevent.nano.LauncherLogProto.Target;
import java.util.List;
/**
* A RecyclerView with custom fast scroll support for the all apps view.
*/
-public class AllAppsRecyclerView extends BaseRecyclerView {
+public class AllAppsRecyclerView extends BaseRecyclerView implements LogContainerProvider {
private AlphabeticalAppsList mApps;
private AllAppsFastScrollHelper mFastScrollHelper;
@@ -232,9 +235,10 @@ public class AllAppsRecyclerView extends BaseRecyclerView {
updateEmptySearchBackgroundBounds();
}
- public int getContainerType(View v) {
+ @Override
+ public void fillInLogContainerData(View v, ItemInfo info, Target target, Target targetParent) {
if (mApps.hasFilter()) {
- return ContainerType.SEARCHRESULT;
+ targetParent.containerType = ContainerType.SEARCHRESULT;
} else {
if (v instanceof BubbleTextView) {
BubbleTextView icon = (BubbleTextView) v;
@@ -243,11 +247,13 @@ public class AllAppsRecyclerView extends BaseRecyclerView {
List<AlphabeticalAppsList.AdapterItem> items = mApps.getAdapterItems();
AlphabeticalAppsList.AdapterItem item = items.get(position);
if (item.viewType == AllAppsGridAdapter.VIEW_TYPE_PREDICTION_ICON) {
- return ContainerType.PREDICTION;
+ targetParent.containerType = ContainerType.PREDICTION;
+ target.predictedRank = item.rowAppIndex;
+ return;
}
}
}
- return ContainerType.ALLAPPS;
+ targetParent.containerType = ContainerType.ALLAPPS;
}
}
diff --git a/src/com/android/launcher3/logging/UserEventDispatcher.java b/src/com/android/launcher3/logging/UserEventDispatcher.java
index e28a97ad8..d5c6515c0 100644
--- a/src/com/android/launcher3/logging/UserEventDispatcher.java
+++ b/src/com/android/launcher3/logging/UserEventDispatcher.java
@@ -36,10 +36,8 @@ import com.android.launcher3.userevent.nano.LauncherLogProto.Action;
import com.android.launcher3.userevent.nano.LauncherLogProto.ContainerType;
import com.android.launcher3.userevent.nano.LauncherLogProto.LauncherEvent;
import com.android.launcher3.userevent.nano.LauncherLogProto.Target;
-import com.android.launcher3.util.ComponentKey;
import com.android.launcher3.util.LogConfig;
-import java.util.List;
import java.util.Locale;
import java.util.UUID;
@@ -128,9 +126,6 @@ public class UserEventDispatcher {
private boolean mIsInLandscapeMode;
private String mUuidStr;
- // Used for filling in predictedRank on {@link Target}s.
- private List<ComponentKey> mPredictedApps;
-
// APP_ICON SHORTCUT WIDGET
// --------------------------------------------------------------
// packageNameHash required optional required
@@ -138,32 +133,11 @@ public class UserEventDispatcher {
// intentHash required
// --------------------------------------------------------------
- protected LauncherEvent createLauncherEvent(View v, int intentHashCode, ComponentName cn) {
- LauncherEvent event = newLauncherEvent(newTouchAction(Action.Touch.TAP),
- newItemTarget(v), newTarget(Target.Type.CONTAINER));
-
- // TODO: make idx percolate up the view hierarchy if needed.
- int idx = 0;
- if (fillInLogContainerData(event, v)) {
- ItemInfo itemInfo = (ItemInfo) v.getTag();
- event.srcTarget[idx].intentHash = intentHashCode;
- if (cn != null) {
- event.srcTarget[idx].packageNameHash = (mUuidStr + cn.getPackageName()).hashCode();
- event.srcTarget[idx].componentHash = (mUuidStr + cn.flattenToString()).hashCode();
- if (mPredictedApps != null) {
- event.srcTarget[idx].predictedRank = mPredictedApps.indexOf(
- new ComponentKey(cn, itemInfo.user));
- }
- }
- }
- return event;
- }
-
/**
* Fills in the container data on the given event if the given view is not null.
* @return whether container data was added.
*/
- private boolean fillInLogContainerData(LauncherEvent event, @Nullable View v) {
+ protected boolean fillInLogContainerData(LauncherEvent event, @Nullable View v) {
// Fill in grid(x,y), pageIndex of the child and container type of the parent
LogContainerProvider provider = getLaunchProviderRecursive(v);
if (v == null || !(v.getTag() instanceof ItemInfo) || provider == null) {
@@ -175,20 +149,31 @@ public class UserEventDispatcher {
}
public void logAppLaunch(View v, Intent intent) {
- LauncherEvent ev = createLauncherEvent(v, intent.hashCode(), intent.getComponent());
- if (ev == null) {
- return;
+ LauncherEvent event = newLauncherEvent(newTouchAction(Action.Touch.TAP),
+ newItemTarget(v), newTarget(Target.Type.CONTAINER));
+
+ if (fillInLogContainerData(event, v)) {
+ fillIntentInfo(event.srcTarget[0], intent);
+ }
+ dispatchUserEvent(event, intent);
+ }
+
+ protected void fillIntentInfo(Target target, Intent intent) {
+ target.intentHash = intent.hashCode();
+ ComponentName cn = intent.getComponent();
+ if (cn != null) {
+ target.packageNameHash = (mUuidStr + cn.getPackageName()).hashCode();
+ target.componentHash = (mUuidStr + cn.flattenToString()).hashCode();
}
- dispatchUserEvent(ev, intent);
}
public void logNotificationLaunch(View v, PendingIntent intent) {
- ComponentName dummyComponent = new ComponentName(intent.getCreatorPackage(), "--dummy--");
- LauncherEvent ev = createLauncherEvent(v, intent.hashCode(), dummyComponent);
- if (ev == null) {
- return;
+ LauncherEvent event = newLauncherEvent(newTouchAction(Action.Touch.TAP),
+ newItemTarget(v), newTarget(Target.Type.CONTAINER));
+ if (fillInLogContainerData(event, v)) {
+ event.srcTarget[0].packageNameHash = (mUuidStr + intent.getCreatorPackage()).hashCode();
}
- dispatchUserEvent(ev, null);
+ dispatchUserEvent(event, null);
}
public void logActionCommand(int command, int containerType) {
@@ -273,10 +258,6 @@ public class UserEventDispatcher {
resetElapsedContainerMillis();
}
- public void setPredictedApps(List<ComponentKey> predictedApps) {
- mPredictedApps = predictedApps;
- }
-
/* Currently we are only interested in whether this event happens or not and don't
* care about which screen moves to where. */
public void logOverviewReorder() {
@@ -348,7 +329,10 @@ public class UserEventDispatcher {
}
private static String getTargetsStr(Target[] targets) {
- return "child:" + LoggerUtils.getTargetStr(targets[0]) +
- (targets.length > 1 ? "\tparent:" + LoggerUtils.getTargetStr(targets[1]) : "");
+ String result = "child:" + LoggerUtils.getTargetStr(targets[0]);
+ for (int i = 1; i < targets.length; i++) {
+ result += "\tparent:" + LoggerUtils.getTargetStr(targets[i]);
+ }
+ return result;
}
}