mirror of
https://github.com/LawnchairLauncher/lawnchair.git
synced 2026-02-20 11:18:21 +00:00
Refreshin App Market Intent on Plus Icon Click
Currently the App Market intent is loaded statically into Launcher, once during start. Sometimes, this causes the app market activity start to be blocked, resulting in no action from button tap. To fix this, we hot-reload the intent when the plus button is clicked. Bug: 323189130 Test: Launcher3 test. Flag: ACONFIG com.android.launcher3.Flags.enable_private_space TRUNKFOOD Change-Id: I563d29838a43644ba8e0830b39d4f4ef8c60aeb6
This commit is contained in:
@@ -41,6 +41,7 @@ import android.view.View.OnClickListener;
|
||||
import android.widget.Toast;
|
||||
|
||||
import com.android.launcher3.BubbleTextView;
|
||||
import com.android.launcher3.BuildConfig;
|
||||
import com.android.launcher3.Launcher;
|
||||
import com.android.launcher3.LauncherSettings;
|
||||
import com.android.launcher3.R;
|
||||
@@ -353,18 +354,18 @@ public class ItemClickHandler {
|
||||
private static void startAppShortcutOrInfoActivity(View v, ItemInfo item, Launcher launcher) {
|
||||
TestLogging.recordEvent(
|
||||
TestProtocol.SEQUENCE_MAIN, "start: startAppShortcutOrInfoActivity");
|
||||
Intent intent;
|
||||
if (item instanceof ItemInfoWithIcon
|
||||
&& (((ItemInfoWithIcon) item).runtimeStatusFlags
|
||||
& ItemInfoWithIcon.FLAG_INSTALL_SESSION_ACTIVE) != 0) {
|
||||
ItemInfoWithIcon appInfo = (ItemInfoWithIcon) item;
|
||||
intent = ApiWrapper.getAppMarketActivityIntent(launcher,
|
||||
appInfo.getTargetComponent().getPackageName(), Process.myUserHandle());
|
||||
} else {
|
||||
intent = item.getIntent();
|
||||
if (item instanceof AppInfo
|
||||
&& (((ItemInfoWithIcon) item).runtimeStatusFlags
|
||||
Intent intent = item.getIntent();
|
||||
if (item instanceof ItemInfoWithIcon itemInfoWithIcon) {
|
||||
if ((itemInfoWithIcon.runtimeStatusFlags
|
||||
& ItemInfoWithIcon.FLAG_INSTALL_SESSION_ACTIVE) != 0) {
|
||||
intent = ApiWrapper.getAppMarketActivityIntent(launcher,
|
||||
itemInfoWithIcon.getTargetComponent().getPackageName(),
|
||||
Process.myUserHandle());
|
||||
} else if ((itemInfoWithIcon.runtimeStatusFlags
|
||||
& ItemInfoWithIcon.FLAG_PRIVATE_SPACE_INSTALL_APP) != 0) {
|
||||
intent = ApiWrapper.getAppMarketActivityIntent(launcher,
|
||||
BuildConfig.APPLICATION_ID,
|
||||
launcher.getAppsView().getPrivateProfileManager().getProfileUser());
|
||||
launcher.getStatsLogManager().logger().log(
|
||||
LAUNCHER_PRIVATE_SPACE_INSTALL_APP_BUTTON_TAP);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user