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

Commit aca2b95f authored by Saumya Prakash's avatar Saumya Prakash
Browse files

Remove unused Sandbox Mode in the gesture navigation tutorial

Sandbox Mode for the gesture navigation tutorial is unused in both the
current and redesigned versions of the tutorial, and can therefore be
removed.

Flag: N/A
Fix: 280641779
Test: Manually went through both versions of the tutorial on handheld,
foldable, and tablet devices

Change-Id: I2f6db47df0fa39458d17221f24827eb43e2cae31
parent c4e25086
Loading
Loading
Loading
Loading
+0 −12
Original line number Diff line number Diff line
@@ -359,18 +359,6 @@ public class DeveloperOptionsFragment extends PreferenceFragmentCompat {
            return true;
        });
        sandboxCategory.addPreference(launchOverviewTutorialPreference);
        Preference launchSandboxModeTutorialPreference = new Preference(context);
        launchSandboxModeTutorialPreference.setKey("launchSandboxMode");
        launchSandboxModeTutorialPreference.setTitle("Launch Sandbox Mode");
        launchSandboxModeTutorialPreference.setSummary("Practice navigation gestures");
        launchSandboxModeTutorialPreference.setOnPreferenceClickListener(preference -> {
            startActivity(launchSandboxIntent
                    .putExtra("use_tutorial_menu", false)
                    .putExtra("tutorial_steps", new String[] {"SANDBOX_MODE"}));
            return true;
        });
        sandboxCategory.addPreference(launchSandboxModeTutorialPreference);

        Preference launchSecondaryDisplayPreference = new Preference(context);
        launchSecondaryDisplayPreference.setKey("launchSecondaryDisplay");
        launchSecondaryDisplayPreference.setTitle("Launch Secondary Display");
+0 −70
Original line number Diff line number Diff line
/*
 * 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.quickstep.interaction;

import android.graphics.PointF;

import com.android.launcher3.R;
import com.android.quickstep.interaction.EdgeBackGestureHandler.BackGestureResult;
import com.android.quickstep.interaction.NavBarGestureHandler.NavBarGestureResult;

/** A {@link TutorialController} for the Sandbox Mode. */
public class SandboxModeTutorialController extends SwipeUpGestureTutorialController {

    SandboxModeTutorialController(SandboxModeTutorialFragment fragment, TutorialType tutorialType) {
        super(fragment, tutorialType);
    }

    @Override
    public void onBackGestureAttempted(BackGestureResult result) {
        switch (result) {
            case BACK_COMPLETED_FROM_LEFT:
            case BACK_COMPLETED_FROM_RIGHT:
                showRippleEffect(null);
                showFeedback(R.string.sandbox_mode_back_gesture_feedback_successful);
                break;
            case BACK_CANCELLED_FROM_LEFT:
            case BACK_CANCELLED_FROM_RIGHT:
                showFeedback(R.string.back_gesture_feedback_cancelled);
                break;
            case BACK_NOT_STARTED_TOO_FAR_FROM_EDGE:
                showFeedback(R.string.sandbox_mode_back_gesture_feedback_swipe_too_far_from_edge);
                break;
        }
    }

    @Override
    public void onNavBarGestureAttempted(NavBarGestureResult result, PointF finalVelocity) {
        switch (result) {
            case HOME_GESTURE_COMPLETED:
                animateFakeTaskViewHome(finalVelocity, () -> {
                    showFeedback(R.string.sandbox_mode_home_gesture_feedback_successful);
                });
                break;
            case OVERVIEW_GESTURE_COMPLETED:
                fadeOutFakeTaskView(true, true, () -> {
                    showFeedback(R.string.sandbox_mode_overview_gesture_feedback_successful);
                });
                break;
            case HOME_OR_OVERVIEW_NOT_STARTED_WRONG_SWIPE_DIRECTION:
            case HOME_OR_OVERVIEW_CANCELLED:
            case HOME_NOT_STARTED_TOO_FAR_FROM_EDGE:
            case OVERVIEW_NOT_STARTED_TOO_FAR_FROM_EDGE:
                showFeedback(R.string.home_gesture_feedback_swipe_too_far_from_edge);
                break;
        }
    }
}
+0 −60
Original line number Diff line number Diff line
/*
 * 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.quickstep.interaction;

import android.view.MotionEvent;
import android.view.View;

import androidx.annotation.NonNull;

import com.android.launcher3.logging.StatsLogManager;
import com.android.quickstep.interaction.TutorialController.TutorialType;

/** Shows the general navigation gesture sandbox environment. */
public class SandboxModeTutorialFragment extends TutorialFragment {

    public SandboxModeTutorialFragment(boolean fromTutorialMenu) {
        super(fromTutorialMenu);
    }

    @Override
    TutorialController createController(TutorialType type) {
        return new SandboxModeTutorialController(this, type);
    }

    @Override
    Class<? extends TutorialController> getControllerClass() {
        return SandboxModeTutorialController.class;
    }

    @Override
    public boolean onTouch(View view, MotionEvent motionEvent) {
        if (motionEvent.getAction() == MotionEvent.ACTION_DOWN && mTutorialController != null) {
            mTutorialController.setRippleHotspot(motionEvent.getX(), motionEvent.getY());
        }
        return super.onTouch(view, motionEvent);
    }

    @Override
    void logTutorialStepShown(@NonNull StatsLogManager statsLogManager) {
        // No-Op: tutorial step not currently shown to users
    }

    @Override
    void logTutorialStepCompleted(@NonNull StatsLogManager statsLogManager) {
        // No-Op: tutorial step not currently shown to users
    }
}
+1 −4
Original line number Diff line number Diff line
@@ -829,9 +829,6 @@ abstract class TutorialController implements BackGestureAttemptCallback,
        HOME_NAVIGATION,
        HOME_NAVIGATION_COMPLETE,
        OVERVIEW_NAVIGATION,
        OVERVIEW_NAVIGATION_COMPLETE,
        ASSISTANT,
        ASSISTANT_COMPLETE,
        SANDBOX_MODE
        OVERVIEW_NAVIGATION_COMPLETE
    }
}
+0 −2
Original line number Diff line number Diff line
@@ -117,8 +117,6 @@ abstract class TutorialFragment extends GestureSandboxFragment implements OnTouc
            case OVERVIEW_NAVIGATION:
            case OVERVIEW_NAVIGATION_COMPLETE:
                return new OverviewGestureTutorialFragment(fromTutorialMenu);
            case SANDBOX_MODE:
                return new SandboxModeTutorialFragment(fromTutorialMenu);
            default:
                Log.e(LOG_TAG, "Failed to find an appropriate fragment for " + tutorialType.name());
        }