Cleaning up some build configurations

> Removing Launcher3Go-without-quickstep
> Removing src_ui_overrides to src_no_quickstep
> Removing unnecessary code swpa for GO builds

Bug: 330920490
Flag: None
Test: Presubmit, everything builds
Change-Id: I5746dbc7c5a37c1d99d78b55bf2a6adce1a711c9
This commit is contained in:
Sunny Goyal
2024-03-25 11:53:17 -07:00
parent 4fd3e87842
commit 77954bae4e
39 changed files with 255 additions and 554 deletions

View File

@@ -0,0 +1,137 @@
/*
* Copyright (C) 2017 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.android.launcher3.uioverrides;
import android.app.ActivityOptions;
import android.app.Person;
import android.content.Context;
import android.content.Intent;
import android.content.pm.LauncherActivityInfo;
import android.content.pm.ShortcutInfo;
import android.graphics.drawable.ColorDrawable;
import android.net.Uri;
import android.os.UserHandle;
import android.os.UserManager;
import android.util.ArrayMap;
import com.android.launcher3.Utilities;
import com.android.launcher3.util.UserIconInfo;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Map;
/**
* A wrapper for the hidden API calls
*/
public class ApiWrapper {
public static final boolean TASKBAR_DRAWN_IN_PROCESS = false;
public static Person[] getPersons(ShortcutInfo si) {
return Utilities.EMPTY_PERSON_ARRAY;
}
public static Map<String, LauncherActivityInfo> getActivityOverrides(Context context) {
return Collections.emptyMap();
}
/**
* Creates an ActivityOptions to play fade-out animation on closing targets
*/
public static ActivityOptions createFadeOutAnimOptions(Context context) {
return ActivityOptions.makeCustomAnimation(context, 0, android.R.anim.fade_out);
}
/**
* Returns a map of all users on the device to their corresponding UI properties
*/
public static Map<UserHandle, UserIconInfo> queryAllUsers(Context context) {
UserManager um = context.getSystemService(UserManager.class);
Map<UserHandle, UserIconInfo> users = new ArrayMap<>();
List<UserHandle> usersActual = um.getUserProfiles();
if (usersActual != null) {
for (UserHandle user : usersActual) {
long serial = um.getSerialNumberForUser(user);
// Simple check to check if the provided user is work profile
// TODO: Migrate to a better platform API
NoopDrawable d = new NoopDrawable();
boolean isWork = (d != context.getPackageManager().getUserBadgedIcon(d, user));
UserIconInfo info = new UserIconInfo(
user,
isWork ? UserIconInfo.TYPE_WORK : UserIconInfo.TYPE_MAIN,
serial);
users.put(user, info);
}
}
return users;
}
/**
* Returns the list of the system packages that are installed at user creation.
* An empty list denotes that all system packages are installed for that user at creation.
*/
public static List<String> getPreInstalledSystemPackages(Context context, UserHandle user) {
return new ArrayList<>();
}
/**
* Returns an intent which can be used to start the App Market activity (Installer
* Activity).
*/
public static Intent getAppMarketActivityIntent(Context context, String packageName,
UserHandle user) {
return new Intent(Intent.ACTION_VIEW)
.setData(new Uri.Builder()
.scheme("market")
.authority("details")
.appendQueryParameter("id", packageName)
.build())
.putExtra(Intent.EXTRA_REFERRER, new Uri.Builder().scheme("android-app")
.authority(context.getPackageName()).build());
}
/**
* Returns an intent which can be used to open Private Space Settings.
*/
public static Intent getPrivateSpaceSettingsIntent(Context context) {
return null;
}
/**
* Checks if an activity is flagged as non-resizeable.
*/
public static boolean isNonResizeableActivity(LauncherActivityInfo lai) {
// Overridden in quickstep
return false;
}
private static class NoopDrawable extends ColorDrawable {
@Override
public int getIntrinsicHeight() {
return 1;
}
@Override
public int getIntrinsicWidth() {
return 1;
}
}
}

View File

@@ -0,0 +1,29 @@
/*
* Copyright (C) 2020 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.android.launcher3.uioverrides;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import com.android.launcher3.model.data.WorkspaceItemInfo;
/** A util class that inflates a predicted app icon */
public class PredictedAppIconInflater {
public static View inflate(LayoutInflater inflater, ViewGroup parent, WorkspaceItemInfo info) {
return null;
}
}

View File

@@ -0,0 +1,27 @@
/*
* Copyright (C) 2023 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.android.launcher3.uioverrides.flags;
import androidx.preference.PreferenceCategory;
import androidx.preference.PreferenceFragmentCompat;
/**
* Place holder class for developer options.
*/
public class DeveloperOptionsUI {
public DeveloperOptionsUI(PreferenceFragmentCompat fragment, PreferenceCategory flags) { }
}

View File

@@ -0,0 +1,73 @@
/*
* Copyright (C) 2023 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.android.launcher3.uioverrides.flags;
import static com.android.launcher3.config.FeatureFlags.FlagState.ENABLED;
import androidx.annotation.Nullable;
import com.android.launcher3.ConstantItem;
import com.android.launcher3.config.FeatureFlags.BooleanFlag;
import com.android.launcher3.config.FeatureFlags.FlagState;
import com.android.launcher3.config.FeatureFlags.IntFlag;
import java.io.PrintWriter;
/**
* Helper class to create various flags for launcher build. The base implementation does
* not provide any flagging system, and simply replies with the default value.
*/
public class FlagsFactory {
/**
* Creates a new debug flag
*/
public static BooleanFlag getDebugFlag(
int bugId, String key, FlagState flagState, String description) {
return new BooleanFlag(flagState == ENABLED);
}
/**
* Creates a new debug flag
*/
public static BooleanFlag getReleaseFlag(
int bugId, String key, FlagState flagState, String description) {
return new BooleanFlag(flagState == ENABLED);
}
/**
* Creates a new integer flag. Integer flags are always release flags
*/
public static IntFlag getIntFlag(
int bugId, String key, int defaultValueInCode, String description) {
return new IntFlag(defaultValueInCode);
}
/**
* Creates a new debug integer flag and it is saved in LauncherPrefs.
*/
public static IntFlag getIntFlag(
int bugId, String key, int defaultValueInCode, String description,
@Nullable ConstantItem<Integer> launcherPrefFlag) {
return new IntFlag(defaultValueInCode);
}
/**
* Dumps the current flags state to the print writer
*/
public static void dump(PrintWriter pw) { }
}

View File

@@ -0,0 +1,64 @@
/*
* Copyright (C) 2018 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software distributed under the
* License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the specific language governing
* permissions and limitations under the License.
*/
package com.android.launcher3.uioverrides.plugins;
import android.content.ComponentName;
import android.content.Context;
import com.android.launcher3.util.MainThreadInitializedObject;
import com.android.systemui.plugins.Plugin;
import com.android.systemui.plugins.PluginListener;
import java.util.Collections;
import java.util.Set;
import androidx.preference.PreferenceDataStore;
public class PluginManagerWrapper {
public static final MainThreadInitializedObject<PluginManagerWrapper> INSTANCE =
new MainThreadInitializedObject<>(PluginManagerWrapper::new);
private static final String PREFIX_PLUGIN_ENABLED = "PLUGIN_ENABLED_";
public static final String PLUGIN_CHANGED = "com.android.systemui.action.PLUGIN_CHANGED";
private PluginManagerWrapper(Context c) {
}
public void addPluginListener(PluginListener<? extends Plugin> listener, Class<?> pluginClass) {
}
public void addPluginListener(PluginListener<? extends Plugin> listener, Class<?> pluginClass,
boolean allowMultiple) {
}
public void removePluginListener(PluginListener<? extends Plugin> listener) { }
public Set<String> getPluginActions() {
return Collections.emptySet();
}
public PreferenceDataStore getPluginEnabler() {
return new PreferenceDataStore() { };
}
public static String pluginEnabledKey(ComponentName cn) {
return PREFIX_PLUGIN_ENABLED + cn.flattenToString();
}
public static boolean hasPlugins(Context context) {
return false;
}
}

View File

@@ -0,0 +1,104 @@
/*
* Copyright (C) 2017 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.android.launcher3.uioverrides.states;
import static com.android.app.animation.Interpolators.DECELERATE;
import static com.android.launcher3.logging.StatsLogManager.LAUNCHER_STATE_ALLAPPS;
import android.content.Context;
import com.android.launcher3.Launcher;
import com.android.launcher3.LauncherState;
import com.android.launcher3.R;
import com.android.launcher3.util.Themes;
import com.android.launcher3.views.ActivityContext;
/**
* Definition for AllApps state
*/
public class AllAppsState extends LauncherState {
private static final float PARALLAX_COEFFICIENT = .125f;
private static final int STATE_FLAGS = FLAG_WORKSPACE_INACCESSIBLE;
public AllAppsState(int id) {
super(id, LAUNCHER_STATE_ALLAPPS, STATE_FLAGS);
}
@Override
public <DEVICE_PROFILE_CONTEXT extends Context & ActivityContext>
int getTransitionDuration(DEVICE_PROFILE_CONTEXT context, boolean isToState) {
return isToState
? context.getDeviceProfile().allAppsOpenDuration
: context.getDeviceProfile().allAppsCloseDuration;
}
@Override
public String getDescription(Launcher launcher) {
return launcher.getString(R.string.all_apps_button_label);
}
@Override
public int getVisibleElements(Launcher launcher) {
return ALL_APPS_CONTENT;
}
@Override
public ScaleAndTranslation getWorkspaceScaleAndTranslation(Launcher launcher) {
return new ScaleAndTranslation(launcher.getDeviceProfile().workspaceContentScale, NO_OFFSET,
NO_OFFSET);
}
@Override
public ScaleAndTranslation getHotseatScaleAndTranslation(Launcher launcher) {
if (launcher.getDeviceProfile().isTablet) {
return getWorkspaceScaleAndTranslation(launcher);
} else {
ScaleAndTranslation overviewScaleAndTranslation = LauncherState.OVERVIEW
.getWorkspaceScaleAndTranslation(launcher);
return new ScaleAndTranslation(
launcher.getDeviceProfile().workspaceContentScale,
overviewScaleAndTranslation.translationX,
overviewScaleAndTranslation.translationY);
}
}
@Override
public PageAlphaProvider getWorkspacePageAlphaProvider(Launcher launcher) {
PageAlphaProvider superPageAlphaProvider = super.getWorkspacePageAlphaProvider(launcher);
return new PageAlphaProvider(DECELERATE) {
@Override
public float getPageAlpha(int pageIndex) {
return launcher.getDeviceProfile().isTablet
? superPageAlphaProvider.getPageAlpha(pageIndex)
: 0;
}
};
}
@Override
public float getVerticalProgress(Launcher launcher) {
return 0f;
}
@Override
public int getWorkspaceScrimColor(Launcher launcher) {
return launcher.getDeviceProfile().isTablet
? launcher.getResources().getColor(R.color.widgets_picker_scrim)
: Themes.getAttrColor(launcher, R.attr.allAppsScrimColor);
}
}

View File

@@ -0,0 +1,67 @@
/*
* Copyright (C) 2017 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.android.launcher3.uioverrides.states;
import static com.android.launcher3.logging.StatsLogManager.LAUNCHER_STATE_OVERVIEW;
import android.content.Context;
import com.android.launcher3.Launcher;
import com.android.launcher3.LauncherState;
import com.android.launcher3.R;
import com.android.launcher3.util.Themes;
/**
* Definition for overview state
*/
public class OverviewState extends LauncherState {
public OverviewState(int id) {
super(id, LAUNCHER_STATE_OVERVIEW, FLAG_DISABLE_RESTORE);
}
@Override
public int getTransitionDuration(Context context, boolean isToState) {
return 250;
}
public static OverviewState newBackgroundState(int id) {
return new OverviewState(id);
}
public static OverviewState newSwitchState(int id) {
return new OverviewState(id);
}
/**
* New Overview substate that represents the overview in modal mode (one task shown on its own)
*/
public static OverviewState newModalTaskState(int id) {
return new OverviewState(id);
}
/**
* New Overview substate that represents the overview in modal mode (one task shown on its own)
*/
public static OverviewState newSplitSelectState(int id) {
return new OverviewState(id);
}
@Override
public int getWorkspaceScrimColor(Launcher launcher) {
return Themes.getAttrColor(launcher, R.attr.overviewScrimColor);
}
}