Loading AndroidManifest-common.xml +2 −2 Original line number Diff line number Diff line Loading @@ -154,13 +154,13 @@ <!-- The content provider for exposing various launcher grid options. TODO: Enable when all apps columns are correct TODO: Add proper permissions --> <provider android:name="com.android.launcher3.graphics.GridOptionsProvider" android:authorities="${packageName}.grid_control" android:enabled="false" android:exported="true" /> --> <!-- The settings activity. To extend point settings_fragment_name to appropriate fragment class Loading AndroidManifest.xml +1 −1 Original line number Diff line number Diff line Loading @@ -20,7 +20,7 @@ <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.android.launcher3"> <uses-sdk android:targetSdkVersion="28" android:minSdkVersion="25"/> <uses-sdk android:targetSdkVersion="29" android:minSdkVersion="25"/> <!-- Manifest entries specific to Launcher3. This is merged with AndroidManifest-common.xml. Refer comments around specific entries on how to extend individual components. Loading go/quickstep/res/layout/task_item_view.xml +2 −1 Original line number Diff line number Diff line Loading @@ -18,7 +18,8 @@ xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="@dimen/task_item_height" android:orientation="horizontal"> android:orientation="horizontal" android:clipChildren="false"> <com.android.quickstep.views.TaskThumbnailIconView android:id="@+id/task_icon_and_thumbnail" android:layout_width="match_parent" Loading go/quickstep/src/com/android/quickstep/views/IconRecentsView.java +39 −3 Original line number Diff line number Diff line Loading @@ -38,6 +38,7 @@ import android.content.Context; import android.content.res.Resources; import android.graphics.Matrix; import android.graphics.Rect; import android.graphics.RectF; import android.graphics.drawable.Drawable; import android.util.ArraySet; import android.util.AttributeSet; Loading Loading @@ -768,6 +769,7 @@ public final class IconRecentsView extends FrameLayout implements Insettable { Rect endRect = new Rect(); thumbnailView.getGlobalVisibleRect(endRect); Rect appBounds = appTarget.sourceContainerBounds; RectF currentAppRect = new RectF(); SyncRtSurfaceTransactionApplierCompat surfaceApplier = new SyncRtSurfaceTransactionApplierCompat(this); Loading Loading @@ -810,17 +812,30 @@ public final class IconRecentsView extends FrameLayout implements Insettable { @Override public void onUpdate(float percent) { appMatrix.preScale(mScaleX.value, mScaleY.value, Matrix m = new Matrix(); m.preScale(mScaleX.value, mScaleY.value, appBounds.width() / 2.0f, appBounds.height() / 2.0f); appMatrix.postTranslate(mTranslationX.value, mTranslationY.value); m.postTranslate(mTranslationX.value, mTranslationY.value); appMatrix.preConcat(m); params[1] = new SurfaceParams(appTarget.leash, mAlpha.value, appMatrix, null /* windowCrop */, getLayer(appTarget, boostedMode), 0 /* cornerRadius */); surfaceApplier.scheduleApply(params); m.mapRect(currentAppRect, new RectF(appBounds)); setViewToRect(thumbnailView, new RectF(endRect), currentAppRect); appMatrix.reset(); } }); remoteAppAnim.addListener(new AnimatorListenerAdapter() { @Override public void onAnimationEnd(Animator animation) { thumbnailView.setTranslationY(0); thumbnailView.setTranslationX(0); thumbnailView.setScaleX(1); thumbnailView.setScaleY(1); } }); anim.play(remoteAppAnim); } Loading Loading @@ -886,6 +901,27 @@ public final class IconRecentsView extends FrameLayout implements Insettable { } } /** * Set view properties so that the view fits to the target rect. * * @param view view to set * @param origRect original rect that view was located * @param targetRect rect to set to */ private void setViewToRect(View view, RectF origRect, RectF targetRect) { float dX = targetRect.left - origRect.left; float dY = targetRect.top - origRect.top; view.setTranslationX(dX); view.setTranslationY(dY); float scaleX = targetRect.width() / origRect.width(); float scaleY = targetRect.height() / origRect.height(); view.setPivotX(0); view.setPivotY(0); view.setScaleX(scaleX); view.setScaleY(scaleY); } @Override public void setInsets(Rect insets) { mInsets = insets; Loading quickstep/AndroidManifest.xml +7 −0 Original line number Diff line number Diff line Loading @@ -85,6 +85,13 @@ android:name="com.android.launcher3.uioverrides.dynamicui.WallpaperManagerCompatVL$ColorExtractionService" tools:node="remove" /> <activity android:name="com.android.launcher3.proxy.ProxyActivityStarter" android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen" android:launchMode="singleTask" android:clearTaskOnLaunch="true" android:exported="false" /> </application> </manifest> Loading
AndroidManifest-common.xml +2 −2 Original line number Diff line number Diff line Loading @@ -154,13 +154,13 @@ <!-- The content provider for exposing various launcher grid options. TODO: Enable when all apps columns are correct TODO: Add proper permissions --> <provider android:name="com.android.launcher3.graphics.GridOptionsProvider" android:authorities="${packageName}.grid_control" android:enabled="false" android:exported="true" /> --> <!-- The settings activity. To extend point settings_fragment_name to appropriate fragment class Loading
AndroidManifest.xml +1 −1 Original line number Diff line number Diff line Loading @@ -20,7 +20,7 @@ <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.android.launcher3"> <uses-sdk android:targetSdkVersion="28" android:minSdkVersion="25"/> <uses-sdk android:targetSdkVersion="29" android:minSdkVersion="25"/> <!-- Manifest entries specific to Launcher3. This is merged with AndroidManifest-common.xml. Refer comments around specific entries on how to extend individual components. Loading
go/quickstep/res/layout/task_item_view.xml +2 −1 Original line number Diff line number Diff line Loading @@ -18,7 +18,8 @@ xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="@dimen/task_item_height" android:orientation="horizontal"> android:orientation="horizontal" android:clipChildren="false"> <com.android.quickstep.views.TaskThumbnailIconView android:id="@+id/task_icon_and_thumbnail" android:layout_width="match_parent" Loading
go/quickstep/src/com/android/quickstep/views/IconRecentsView.java +39 −3 Original line number Diff line number Diff line Loading @@ -38,6 +38,7 @@ import android.content.Context; import android.content.res.Resources; import android.graphics.Matrix; import android.graphics.Rect; import android.graphics.RectF; import android.graphics.drawable.Drawable; import android.util.ArraySet; import android.util.AttributeSet; Loading Loading @@ -768,6 +769,7 @@ public final class IconRecentsView extends FrameLayout implements Insettable { Rect endRect = new Rect(); thumbnailView.getGlobalVisibleRect(endRect); Rect appBounds = appTarget.sourceContainerBounds; RectF currentAppRect = new RectF(); SyncRtSurfaceTransactionApplierCompat surfaceApplier = new SyncRtSurfaceTransactionApplierCompat(this); Loading Loading @@ -810,17 +812,30 @@ public final class IconRecentsView extends FrameLayout implements Insettable { @Override public void onUpdate(float percent) { appMatrix.preScale(mScaleX.value, mScaleY.value, Matrix m = new Matrix(); m.preScale(mScaleX.value, mScaleY.value, appBounds.width() / 2.0f, appBounds.height() / 2.0f); appMatrix.postTranslate(mTranslationX.value, mTranslationY.value); m.postTranslate(mTranslationX.value, mTranslationY.value); appMatrix.preConcat(m); params[1] = new SurfaceParams(appTarget.leash, mAlpha.value, appMatrix, null /* windowCrop */, getLayer(appTarget, boostedMode), 0 /* cornerRadius */); surfaceApplier.scheduleApply(params); m.mapRect(currentAppRect, new RectF(appBounds)); setViewToRect(thumbnailView, new RectF(endRect), currentAppRect); appMatrix.reset(); } }); remoteAppAnim.addListener(new AnimatorListenerAdapter() { @Override public void onAnimationEnd(Animator animation) { thumbnailView.setTranslationY(0); thumbnailView.setTranslationX(0); thumbnailView.setScaleX(1); thumbnailView.setScaleY(1); } }); anim.play(remoteAppAnim); } Loading Loading @@ -886,6 +901,27 @@ public final class IconRecentsView extends FrameLayout implements Insettable { } } /** * Set view properties so that the view fits to the target rect. * * @param view view to set * @param origRect original rect that view was located * @param targetRect rect to set to */ private void setViewToRect(View view, RectF origRect, RectF targetRect) { float dX = targetRect.left - origRect.left; float dY = targetRect.top - origRect.top; view.setTranslationX(dX); view.setTranslationY(dY); float scaleX = targetRect.width() / origRect.width(); float scaleY = targetRect.height() / origRect.height(); view.setPivotX(0); view.setPivotY(0); view.setScaleX(scaleX); view.setScaleY(scaleY); } @Override public void setInsets(Rect insets) { mInsets = insets; Loading
quickstep/AndroidManifest.xml +7 −0 Original line number Diff line number Diff line Loading @@ -85,6 +85,13 @@ android:name="com.android.launcher3.uioverrides.dynamicui.WallpaperManagerCompatVL$ColorExtractionService" tools:node="remove" /> <activity android:name="com.android.launcher3.proxy.ProxyActivityStarter" android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen" android:launchMode="singleTask" android:clearTaskOnLaunch="true" android:exported="false" /> </application> </manifest>