Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8ad02b8f authored by Sunny Goyal's avatar Sunny Goyal
Browse files

Removing static access to Context through LauncherAppState

Bug: 33032833
Change-Id: I09baaa6d79187b3096a2ab3a89d7dcaeaf9eee68
parent c6b833dc
Loading
Loading
Loading
Loading
+3 −5
Original line number Diff line number Diff line
@@ -18,7 +18,6 @@ package com.android.launcher3;

import android.content.ActivityNotFoundException;
import android.content.ComponentName;
import android.content.ContentResolver;
import android.content.Context;
import android.provider.Settings;
import android.util.AttributeSet;
@@ -90,13 +89,12 @@ public class InfoDropTarget extends UninstallDropTarget {

    @Override
    protected boolean supportsDrop(DragSource source, ItemInfo info) {
        return source.supportsAppInfoDropTarget() && supportsDrop(info);
        return source.supportsAppInfoDropTarget() && supportsDrop(getContext(), info);
    }

    public static boolean supportsDrop(ItemInfo info) {
    public static boolean supportsDrop(Context context, ItemInfo info) {
        // Only show the App Info drop target if developer settings are enabled.
        ContentResolver resolver = LauncherAppState.getInstance().getContext().getContentResolver();
        boolean developmentSettingsEnabled = Settings.Global.getInt(resolver,
        boolean developmentSettingsEnabled = Settings.Global.getInt(context.getContentResolver(),
                Settings.Global.DEVELOPMENT_SETTINGS_ENABLED, 0) == 1;
        return developmentSettingsEnabled
                && (info instanceof AppInfo || info instanceof ShortcutInfo
+2 −2
Original line number Diff line number Diff line
@@ -735,7 +735,7 @@ public class Launcher extends Activity
            } else if (resultCode == RESULT_OK) {
                addAppWidgetImpl(
                        appWidgetId, requestArgs, null,
                        requestArgs.getWidgetProvider(),
                        requestArgs.getWidgetProvider(this),
                        ON_ACTIVITY_RESULT_ANIMATION_DELAY);
            }
            return;
@@ -894,7 +894,7 @@ public class Launcher extends Activity
        if (resultCode == RESULT_OK) {
            animationType = Workspace.COMPLETE_TWO_STAGE_WIDGET_DROP_ANIMATION;
            final AppWidgetHostView layout = mAppWidgetHost.createView(this, appWidgetId,
                    requestArgs.getWidgetProvider());
                    requestArgs.getWidgetProvider(this));
            boundWidget = layout;
            onCompleteRunnable = new Runnable() {
                @Override
+1 −1
Original line number Diff line number Diff line
@@ -128,7 +128,7 @@ public class LauncherAppWidgetHost extends AppWidgetHost {
        super.onProviderChanged(appWidgetId, info);
        // The super method updates the dimensions of the providerInfo. Update the
        // launcher spans accordingly.
        info.initSpans();
        info.initSpans(mLauncher);
    }

    @Override
+22 −18
Original line number Diff line number Diff line
@@ -29,6 +29,10 @@ public class LauncherAppWidgetProviderInfo extends AppWidgetProviderInfo {

    public static LauncherAppWidgetProviderInfo fromProviderInfo(Context context,
            AppWidgetProviderInfo info) {
        final LauncherAppWidgetProviderInfo launcherInfo;
        if (info instanceof LauncherAppWidgetProviderInfo) {
            launcherInfo = (LauncherAppWidgetProviderInfo) info;
        } else {

            // In lieu of a public super copy constructor, we first write the AppWidgetProviderInfo
            // into a parcel, and then construct a new LauncherAppWidgetProvider info from the
@@ -37,14 +41,15 @@ public class LauncherAppWidgetProviderInfo extends AppWidgetProviderInfo {
            Parcel p = Parcel.obtain();
            info.writeToParcel(p, 0);
            p.setDataPosition(0);
        LauncherAppWidgetProviderInfo lawpi = new LauncherAppWidgetProviderInfo(p);
            launcherInfo = new LauncherAppWidgetProviderInfo(p);
            p.recycle();
        return lawpi;
        }
        launcherInfo.initSpans(context);
        return launcherInfo;
    }

    public LauncherAppWidgetProviderInfo(Parcel in) {
    private LauncherAppWidgetProviderInfo(Parcel in) {
        super(in);
        initSpans();
    }

    public LauncherAppWidgetProviderInfo(Context context, CustomAppWidget widget) {
@@ -56,12 +61,11 @@ public class LauncherAppWidgetProviderInfo extends AppWidgetProviderInfo {
        previewImage = widget.getPreviewImage();
        initialLayout = widget.getWidgetLayout();
        resizeMode = widget.getResizeMode();
        initSpans();
        initSpans(context);
    }

    public void initSpans() {
        LauncherAppState app = LauncherAppState.getInstance();
        InvariantDeviceProfile idp = app.getInvariantDeviceProfile();
    public void initSpans(Context context) {
        InvariantDeviceProfile idp = LauncherAppState.getInstance().getInvariantDeviceProfile();

        Point paddingLand = idp.landscapeProfile.getTotalWorkspacePadding();
        Point paddingPort = idp.portraitProfile.getTotalWorkspacePadding();
@@ -80,7 +84,7 @@ public class LauncherAppWidgetProviderInfo extends AppWidgetProviderInfo {
        // We want to account for the extra amount of padding that we are adding to the widget
        // to ensure that it gets the full amount of space that it has requested.
        Rect widgetPadding = AppWidgetHostView.getDefaultPaddingForWidget(
                app.getContext(), provider, null);
                context, provider, null);
        spanX = Math.max(1, (int) Math.ceil(
                        (minWidth + widgetPadding.left + widgetPadding.right) / smallestCellWidth));
        spanY = Math.max(1, (int) Math.ceil(
+1 −1
Original line number Diff line number Diff line
@@ -796,7 +796,7 @@ public class LauncherProvider extends ContentProvider {
                case 26:
                    // QSB was moved to the grid. Clear the first row on screen 0.
                    if (FeatureFlags.QSB_ON_FIRST_SCREEN &&
                            !LauncherDbUtils.prepareScreenZeroToHostQsb(db)) {
                            !LauncherDbUtils.prepareScreenZeroToHostQsb(mContext, db)) {
                        break;
                    }
                case 27: {
Loading