Merge "Fix launcher flicker when unlocking on seascape." into sc-dev
diff --git a/quickstep/src/com/android/launcher3/search/SearchResultThumbnailView.java b/quickstep/src/com/android/launcher3/search/SearchResultThumbnailView.java
index b1cbe7d..dd95461 100644
--- a/quickstep/src/com/android/launcher3/search/SearchResultThumbnailView.java
+++ b/quickstep/src/com/android/launcher3/search/SearchResultThumbnailView.java
@@ -23,6 +23,7 @@
import android.graphics.drawable.BitmapDrawable;
import android.util.AttributeSet;
import android.view.View;
+import android.view.ViewGroup;
import androidx.core.graphics.drawable.RoundedBitmapDrawable;
import androidx.core.graphics.drawable.RoundedBitmapDrawableFactory;
@@ -56,6 +57,14 @@
}
@Override
+ protected void onFinishInflate() {
+ super.onFinishInflate();
+ setOnFocusChangeListener(Launcher.getLauncher(getContext()).getFocusHandler());
+ setOnClickListener(this);
+ setOnLongClickListener(this);
+ }
+
+ @Override
public void apply(SearchTarget parentTarget, List<SearchTarget> children) {
mSearchTarget = parentTarget;
Bitmap bitmap;
@@ -65,6 +74,9 @@
parentTarget.getPackageName(),
parentTarget.getUserHandle(),
parentTarget.getSearchAction().getTitle());
+ itemInfo.setIntent(parentTarget.getSearchAction().getIntent());
+ itemInfo.setPendingIntent(parentTarget.getSearchAction().getPendingIntent());
+
bitmap = ((BitmapDrawable) itemInfo.getIcon()
.loadDrawable(getContext())).getBitmap();
// crop
diff --git a/quickstep/src/com/android/launcher3/search/SearchTargetUtil.java b/quickstep/src/com/android/launcher3/search/SearchTargetUtil.java
index ceef429..95f4f58 100644
--- a/quickstep/src/com/android/launcher3/search/SearchTargetUtil.java
+++ b/quickstep/src/com/android/launcher3/search/SearchTargetUtil.java
@@ -112,6 +112,7 @@
Intent intent = new Intent(Intent.ACTION_VIEW)
.setData(Uri.parse("uri blah blah"))
.setType("image/*")
+ .addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION)
.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
Bitmap bitmap = Bitmap.createBitmap(1000, 500, Bitmap.Config.ARGB_8888);
diff --git a/quickstep/src/com/android/quickstep/AbsSwipeUpHandler.java b/quickstep/src/com/android/quickstep/AbsSwipeUpHandler.java
index 5a2d6da..39a3a7c 100644
--- a/quickstep/src/com/android/quickstep/AbsSwipeUpHandler.java
+++ b/quickstep/src/com/android/quickstep/AbsSwipeUpHandler.java
@@ -1451,7 +1451,10 @@
private void finishCurrentTransitionToRecents() {
if (ENABLE_QUICKSTEP_LIVE_TILE.get()) {
mStateCallback.setStateOnUiThread(STATE_CURRENT_TASK_FINISHED);
- mRecentsView.getRunningTaskView().setIsClickableAsLiveTile(true);
+ final TaskView runningTaskView = mRecentsView.getRunningTaskView();
+ if (runningTaskView != null) {
+ runningTaskView.setIsClickableAsLiveTile(true);
+ }
} else if (!hasTargets() || mRecentsAnimationController == null) {
// If there are no targets or the animation not started, then there is nothing to finish
mStateCallback.setStateOnUiThread(STATE_CURRENT_TASK_FINISHED);